Also thanks for the link but let me make sure i understand this right because he's using a lot of unfamiliar terminology:
There is about four situations when you mod
Using a known InternalName creates a blank slate as far as xml is concerned, effectively resetting the Core xml
By far the largest category, could be divided in subcategories. For a known InternalName, some/most xml is preserved or valid, but you can overwrite some/most
For a known InternalName, xml is preserved, but you can add to it (e.g. TechDef)
Cannot modify the xml of a known InternalName (e.g. UnitGroupingType)
- Note that "ArtDef InternalName" act as standalone element although they usually show up attached to the GameItemType in the xml. Meaning unless you intend to change the display of a GameItemType, you don't need to reproduce the ArtDef xml as long as you keep the ArtDef reference... You'll see when you mod one!
ImprovementType / AbilityBonusOption:
- GameModifiers can only be added, you can never remove/edit a Core GameModifier (Preserved)
- Core GameModifiers follow the blank slate rule
- SpellDef are by far my preferred xml because using a known InternalName resets the Core GameModifiers but all the other xml is still valid but overwritable (Except Prereq and SpellResourceCost (which should not be repeated)).
- SelectedAbilityBonus tag is preserved
- Essentially, you can copy+paste the xml of a UnitType since SelectedAbilityBonus are never applied twice and then change whatever you want as you see fit. The only limitation is you can never remove/edit a Core SelectedAbilityBonus unless you create an ability that does the opposite. Even then, that might not work (e.g. Veteran gives +1 Level, you can never remove that level and you can never remove that ability if it's in the Core UnitType xml).
LH Mods by Primal