some data mods, generated programmatically, so they can be recreated automagically for every new patch
If you are looking for the legacy C++ version of auto-mods, check out the master
branch.
We just do everything auto!« - MbL, 2020
- Community Games Mod
- Exploding Kings
- Exploding Kings with Rewarding Snipes
- Exploding Nomad Kings
- Exploding Villagers
- Exploding Villagers Extreme
- Exploding Villagers with Flying Dutchman
- Exploding Villagers with Kidnap Mod
- Flying Dutchman
- Kidnap Mod
- Matryoshka Mod
- No Wall Mod
- Nomad King
- Pocket Horse Mod
- Random Costs
- Random Costs Light
- Random Tech Costs
- Random Unit Costs
- Relic Monk Boom
- Rewarding Snipes
- Teamwork Mod
- 3x Tech Mod
- 9x Tech Mod
256x Tech Moddiscontinued
Create a Python3 virtualenv and install the requirements:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Execute the executable without parameters to get usage instructions.
$ ./auto-mod.py --help
usage: auto-mod [-h] --mods
{community-games,x3,x9,exploding-kings,exploding-relic-monks,exploding-villagers,exploding-villagers-extreme,flying-dutchman,kidnap,matryoshka,no-wall,nomad-king,pocket-horse,random-costs,random-costs-light,random-tech-costs,random-unit-costs,rewarding-snipes,teamwork}
[{community-games,x3,x9,exploding-kings,exploding-relic-monks,exploding-villagers,exploding-villagers-extreme,flying-dutchman,kidnap,matryoshka,no-wall,nomad-king,pocket-horse,random-costs,random-costs-light,random-tech-costs,random-unit-costs,rewarding-snipes,teamwork} ...]
[--logfile LOGFILE]
input_filename output_filename
Programmatically mod Genie engine dat files (mainly for Age of Empires II Definitive Edition)
positional arguments:
input_filename The dat file to modify
output_filename Where the modified dat file shall be written to
options:
-h, --help show this help message and exit
--mods {community-games,x3,x9,exploding-kings,exploding-relic-monks,exploding-villagers,exploding-villagers-extreme,flying-dutchman,kidnap,matryoshka,no-wall,nomad-king,pocket-horse,random-costs,random-costs-light,random-tech-costs,random-unit-costs,rewarding-snipes,teamwork} [{community-games,x3,x9,exploding-kings,exploding-relic-monks,exploding-villagers,exploding-villagers-extreme,flying-dutchman,kidnap,matryoshka,no-wall,nomad-king,pocket-horse,random-costs,random-costs-light,random-tech-costs,random-unit-costs,rewarding-snipes,teamwork} ...]
--logfile LOGFILE
For example, in order to patch the current dat file with the Flying Dutchman modifications, one might execute
./auto-mod.py ~/aoe/Aoe2DE\ proton/resources/_common/dat/empires2_x2_p1.dat ./empires2_x2_p1.dat --mods flying-dutchman
And then use the resulting empires2_x2_p1.dat
in the current directory for whatever.
In order to patch the current dat file with the Flying Dutchman modifications AND the Exploding Villagers, execute
./auto-mod.py ~/aoe/Aoe2DE\ proton/resources/_common/dat/empires2_x2_p1.dat ./empires2_x2_p1.dat --mods exploding-villagers flying-dutchman
And then use the resulting empires2_x2_p1.dat
in the current directory for whatever.
To build all available auto-mods, activate the virtualenv and run ./create-mods.sh
.
Your base dat file must be available at ~/aoe/Aoe2DE\ proton/resources/_common/dat/empires2_x2_p1.dat
.
If it is not, replace the path in the .sh file beforehand.
The mods will be zipped and placed in the build
folder.
If your output looks somewhat like this:
$ ./auto-mod.py
Traceback (most recent call last):
File "/home/user/git/auto-mods/./auto-mod.py", line 8, in <module>
from genieutils.datfile import DatFile
ModuleNotFoundError: No module named 'genieutils'
Then you forgot to activate the virtualenv.
Fix this by running source venv/bin/activate
, then run your command again.