This tool is designed to help modders of the game Prey (2017) by automating the creation of mods with customizable features. The script modifies specific XML files to adjust recycle values based on user-defined multipliers. Future expansions will include support for generating C# based mods compatible with Chairloader, allowing for easy integration and dynamic configuration within the game.
Ensure the following folder structure is present within the ModdingTemplate
directory:
ModdingTemplate
├── Database
│ └── Libs
│ └── EntityArchetypes
│ ├── ArkRobots.xml
│ ├── ArkProjectiles.xml
│ ├── ArkPickups.xml
│ ├── ArkPhysicsProps.xml
│ ├── ArkNpcs.xml
│ ├── ArkLights.xml
│ ├── ArkInteractiveProps.xml
│ ├── ArkHumans.xml
│ └── ArkGameplayArchitecture.xml
├── Patched
├── mod_creator.py
└── run_mod_creator.bat
This modding tool currently supports modifying the following XML attributes:
- RecycleData Table (Means all recycle ways either through RecycleGrenade or RecycleStation
-
Run the Script: Navigate to the
ModdingTemplate
directory and execute therun_mod_creator.bat
file to start the script using Python 3.12 from the Microsoft Store (dev pack). -
Follow the Prompts:
- Mod Name: Enter a name for your mod when prompted.
- Select Multiplier: Choose a multiplier for the recycle values from the options provided (1.5x, 2x, 3x, 5x, 20x).
-
Folder Handling:
- If a folder with the specified mod name already exists, you will be asked whether you want to replace it.
- If you choose to replace it, the existing folder will be deleted, and a new folder will be created with the same name.
- If you choose not to replace it, the operation will be aborted.
-
Patched Files:
- The script copies the original files from the
Database
folder to the new mod folder underPatched
, then modifies these copied files. - The modified files will be saved in the
Patched
folder, preserving the original structure.
- The script copies the original files from the
-
Zipping and Cleaning Up:
- After the patching process is complete, the script will zip the mod folder and save it in the same directory with the mod name.
- The unzipped mod folder will be deleted after zipping.
-
Completion:
- Once the patching and zipping processes are complete, you will be given the option to create another mod or quit the script.
Prey Modding Script
===================
This script modifies specific XML files in the Prey 2017 game.
Ensure the following folder structure is in Database:
ModdingTemplate
├── Database
│ └── Libs
│ └── EntityArchetypes
│ ├── ArkRobots.xml
│ ├── ArkProjectiles.xml
│ ├── ArkPickups.xml
│ ├── ArkPhysicsProps.xml
│ ├── ArkNpcs.xml
│ ├── ArkLights.xml
│ ├── ArkInteractiveProps.xml
│ ├── ArkHumans.xml
│ └── ArkGameplayArchitecture.xml
├── Patched
├── mod_creator.py
└── run_mod_creator.bat
Supports Currently:
- RecycleData
The modified files will be saved in the 'Patched' folder, preserving the folder structure.
Enter the name for your mod: MyCustomMod
Select the multiplier for the recycle values:
1. 1.5x
2. 2x
3. 3x
4. 5x
5. 20x
Enter your choice (1-5): 2
Created Patched folder at <path_to_Patched_folder>
Patched file saved to <path_to_Patched_folder>/Libs/EntityArchetypes/ArkPhysicsProps.xml
...
ModInfo.xml created at <path_to_Patched_folder>/ModInfo.xml
Zipping mod folder...
Mod zipped successfully at <path_to_Patched_folder>.zip
Deleted unzipped mod folder at <path_to_Patched_folder>
Patch created successfully!
Inside the 'MyCustomMod' folder you can see the finished mod. Simply put it into the mods folder and apply the patch in the mod loader.
What would you like to do next? (1: Create another mod, 2: Quit):
- Python 3.12 from Microsoft Store: Ensure you have Python 3.12 installed from the Microsoft Store (dev pack). The script is compatible with this version.
- Safety: The script never modifies the original files in the
Database
folder. - Requirements: The script uses
colorama
for colored terminal output, which you can install by typingpip install colorama
in the command line.
-
Maximize Compatibility:
- Modify only necessary XML components to ensure maximum compatibility with other mods.
- Implement functions to only include modified parts in the patch files.
- Ensure existing modded files are not overwritten unless necessary.
-
Adding Future Support:
- Expanded Database: Plan and implement support for an expanded database structure.
- Additional Python Scripts: Modularize the project to allow adding new scripts easily.
- Templates: Provide a library of templates for common modifications.
-
Generating C# Based Mods:
- Plan and implement support for generating C# based mods compatible with Chairloader.
- Ensure the generated mods are compatible with Chairloader's dynamic configuration and mod loading capabilities.
- Provide examples and templates for creating C# based mods.
- Detailed Instructions: Provide step-by-step instructions for setting up and using the project.
- Examples: Include examples for each type of modification and integration.
- Comments: Ensure all scripts and templates are thoroughly commented.
- ReadMe: Update the README.md file with the latest information and usage instructions.
- Compatibility Testing: Test the mod with other popular mods to ensure compatibility.
- Functionality Testing: Test each new feature and modification type to ensure they work as expected.
- Performance Testing: Monitor and optimize the performance of the mod, especially when multiple mods are applied.
- Community Contributions: Open the project for community contributions and feedback.
- Automation: Develop scripts to automate repetitive tasks and testing.
- UI Improvements: Enhance the user interface for better usability and accessibility.
By following the above instructions, you should be able to create and customize mods for Prey (2017) using Python 3.12 from the Microsoft Store (dev pack). If there are any Question don't hesitate to join the Prey Modding discord or start a conversation on Github.