Modding XGM

I make XGM to suit my own tastes, but I also try to accomodate requests as much as possible, and where I can't do both I try to provide easy to use options. But sometimes it just isn't possible to give people what they want in an easy to use package, so for those cases I will try to provide instructions for DIY modding. Don't forget the number one rule for pain free modding: make a copy of any file you are going to modify. If things go bad you can revert to the copy.

General Information

Modding XGM is much like modding vanilla RTW or any other mod with a few exceptions resulting from the way in which the -mod switch works.

1. Your game folder is probably something like C:\Program Files\Activision\Rome - Total War\
2. Modified files should go into the xgm\data folder not in the original data folder.
3. You do not need to unpack the .pak files to change UI cards. Just put new UI cards in xgm/data/UI.
4. The engine will usually check the mod folder to see if a file is located there, but it will not do this for .CAS files (models), or .SPR files (sprites). You need to specify the location of these files in the relevant text files (for units the file is descr_model_battle.txt).

Preferences

Preference settings for XGM are stored in xgm\preferences\preferences.txt. There are several settings that you might want to change manually to suit your own tastes. You can use notepad to make the changes.

1. Fatigue is turned off by default. If you want it back on change the fatigue line to: FATIGUE:TRUE
2. Green arrow markers are switched off by default. You can switch them on with: DISABLE_ARROW_MARKERS:FALSE
3. I usually switch off unit banners: SHOW_BANNERS:FALSE

Most of the other possible changes are self-explanatory.

Spartan Royal Guard

Quite a few peole have asked how to reduce the recruitment time for the Spartan Royal Guard. The short answer is you shouldn't do it. Historically there were only 300 men in the Royal Guard, and if you make it easy to recruit an uber-unit like this you will make the game too easy. Wait until you have an army barracks and recruit Spartan Perioici instead. :)

OK, so if you really must change the recruiting time, you need to edit export_descr_units.txt. Find the first entry for spartan hoplites (not the one with xgm on the end), and change the first number on the cost line. The second number is the price. Here is the entry with the recruiting time in red:

type             greek hoplite spartan
dictionary       greek_hoplite_spartan      ; Spartan Hoplites/Royal Guard
category         infantry
class            heavy
voice_type       Medium_1
soldier          greek_spartan_hoplite, 50, 0, 1.5, 0.3
mount_effect     horse +4, camel +4
attributes       sea_faring, hide_forest, can_sap, very_hardy
formation        1, 1, 2, 2, 5, square, shield_wall
stat_health      3, 0
stat_pri         12, 6, no, 0, 0, melee, blade, piercing, spear, 25 ,1.0  ; Hoplite
stat_pri_attr    no
stat_sec         0, 0, no, 0, 0, no, no, no, none, 25 ,1.0  ; no weapon
stat_sec_attr    no
stat_pri_armour  9, 8, 5, metal
stat_sec_armour  0, 0, flesh
stat_heat        2
stat_ground      -1, 0, -2, 0
stat_mental      30, disciplined, highly_trained
stat_charge_dist 30 ; Foot
stat_fire_delay  0
stat_food        60, 300
stat_cost        30, 8000, 520, 90, 130, 2400
ownership        greek_cities, romans_brutii

If you do change the recruiting time it might be a good idea to edit export_descr_buildings.txt as well and move the recruiting line to the Royal Barracks (don't forget to delete it from the government buildings).

Battlemap Movement Rates

Battlefield movement rates are controlled by xgm\Data\descr_battle_map_movement_modifiers.txt . You can change the movement rates back to the vanilla speeds just by deleting this file from the xgm folder, or you can modify the rates to suit your own tastes by changing the numbers for each terrain type.

Ranged Accuracy Settings

Units with ranged weapons all have reduced accuracy. To return them to the original settings open [Rome]\xgm\data\descr_projectile_new.txt and remove the 'accuracy_vs_units' lines from the appropriate projectile entries. For increased or decreased accuracy higher numbers are less accurate, lower numbers are more accurate, with 0 being the original default value.