Appendix - List of Useful XML Files
The following is a list of special XML files that are powerful tools when modding, along with a description of their purpose. Note that changes to these files can break the game, so use caution when editing data in them.
ArtilleryCastAbilityGenerators.XML
This file contains all of the abilities and effect generators for all of the artillery abilities. WARNING: This is one of the most complex files in the game and not for beginners. It is suggested that only modders familiar with previous Petroglyph game modding try to make changes to this file.
Attributes.XML
This is a list of numeric modifiers that are used throughout the game. These can be used in formulas, counts or anywhere you need a numeric variable. It is suggested that only advanced modders edit this file.
CompanyEffectGenerators.XML
This file contains effect generators used on companies. This generally handles such things as trench bonuses, morale penalty or bonus effects, weather effects, etc.
CompanyObjects.XML
This file contains every company in the game for both factions, including the base templates for the multiple company types. Companies also contain the portrait, banner and flag information for each company.
CorpsObjects.XML
This file contains every corps object in the game for both factions. This includes the marker object that is moved on the world map.
DamageToAttribute.xml
This file contains a matrix of modifiers for all damage types versus all armor types. Every object in the game has an armor type (listed in the DamageableComponent as DamageGroup), and every weapon has a damage type (this will be listed either in the DamageableComponent as PrimaryDamageType or in the individual weapon ability). The matrix here modifies the incoming damage before applying it to the recipient. For example, if a Tank armor has 0.5 vs. Machine Gun damage and the base MG damage is 4, the tank will only take 2 points per shot from that machine gun. This file is for those who wish to perform a full combat rebalance for the game.
Events_SAMPLE_TEST.XML
This file contains a list of sample events of all types and includes extensive comment sections to show format and setup. Highly useful if you want to create your own events and need a detailed guide on how things need to be formatted.
Faction Files (FactionX.XML, FactionX_Strategic.XML)
The X in the file names above will be 1 for Allies and 2 for Germany. The faction files contain all of the default values for a specific faction. This includes a list of which units and structures they can build, team/GUI colors and layout, etc. The Faction file contains tactical map data, while the Faction strategic file handles world map data. If you add a new object to the game and want the faction to build it, it must be listed here.
FactionX_Structure_Voters.XML and FactionX_Unit_Voters.XML
The X in the file names above will be 1 for Allies and 2 for Germany. Voters are blocks of rules that dictate when an object can be built or placed in the game. In most cases this will include a rule for “must have enough resources” but will also contain rules for pre-requisite tech, other structures, etc.
GameConstants.XML
This file contains all static data that is universal to the game, generally applying to all game modes. Examples include the encyclopedia setup, auto-resolve data, and multiple default values for game modifiers. If there is a value that is used everywhere in the game,chances are it is in this file.
GameObjectFiles.XML
This file is a list of all files that the game uses for its data. If you want to add a new file to the game, it must be listed here. If you reference a new object from a file that is not listed here, the game will crash.
Instances.XML
This file contains the full list of every map, campaign and historic battle available in the game. If you are going to be creating your own campaigns or historic missions, you will need to add it to this file.
MovieAudioEvents_XXX.XML (Where XXX is a language)
This file contains the subtitles for the cinematics in the game. Each data block is the name of the movie, with text tags for subtitle lines and timing in seconds. If you want to add a new movie and offer subtitles, you do that here.
MusicEvents.XML
This file contains a list of the primary places in the game where music is used, and the track list for which music tracks can be played in those locations. If you want to adjust or replace music tracks, you will need this file.
ObjectStates.XML
This is a list of flags that can be used in a variety of ways including labels for unit types, checks for targeting, flags for events or scripting, etc. It is suggested that only advanced modders edit this file.
Regions_XXX.XML (Where XXX is a year or description)
These files contain the unique region data for a specific campaign. These files are references in Instances.XML to be tied to a specific world map campaign. The file contains starting units, region structures, star levels, etc. If you want to make a new campaign, copy one of these, give it a new name and then edit it as desired.
ResearchEffectGenerators.XML
This file contains effect generators tied to tech tree nodes.
Strategic_Regions.XML
This contains the BASE data for all of the regions on the world map including region names, connections, max star values and any permanent effects. This data is used for all campaigns.
Strategic_Tech_Tree_Objects.XML
This contains all of the data for the tech tree nodes including what they unlock, how many tech points they cost, etc. You also can use the names of the nodes here as research objectives in events.