= How to port your A24 mod to A25 =
This lists (most) of the template-changing commits, and how to fix them.
=== Other notes ===
The gamesetup has been partly reworked - mods that rework it majorly should expect needing to update.
=== r24953 ===
In UnitAI, the `NaturalBehaviour` of animals was deprecated in favour of more options for `Stance`s. As a consequense of significant changes in UnitAI for animals (they can behave more like other units now), animals now need vision range to attack and chase.
=== r24960 ===
In Garrisonable, a `Size` now needs to be specified.
=== r24963 ===
In ResourceSupply, there is now an option for timers, hence `Amount` is changed to `Max` (with a possibility for `Initial`).
One can use `find . -type f | xargs sed -i 's/Amount>/Max>/g'` to fix their templates.
=== r24989 ===
Treasures now have their rewards in a seperate component. So instead of:
{{{
300
treasure.stone
}}}
one should now write:
{{{
300
1000
}}}
(yes, this means one can reward multiple resources with one treasure).
Also the people gathering those treasures don't need a rate in their `ResourceGatherer` component anymore, but they have a seperate component as well :)
{{{
1
}}}
{{{
2
}}}
Notice here that `rate` was previously unused for treasures and there is no such entry now.
=== r25053 ===
The `elephant_stables` was renamed to `elephant_stable`.
Some templates need to be moved around, but e.g. maps and referencing templates can be fixed using: `find . -type f | xargs sed -i 's/elephant_stables/elephant_stable/g'`
=== r25088 ===
`DisabledTemplates`, `DisabledTechnologies`, `StartingTechnologies` have been removed from map script settings. Instead, you should use triggers to mimic this behaviour. See the commit for examples.
=== r25089 ===
The functions to mirage are now stored in their respective components, meaning mods that introduce a component (and want it miraged) should add the functions there.
Also, mods modifying components need to include the mirage functions there from unmodded 0 A.D.
=== r25123 ===
Turret points -- a.k.a. visible garrison points -- are now internally fully seperated from a garrison holder. This means that e.g. walls do not need the GarrisonHolder component anymore. This also means that the aura for entities on walls is now a different type: `turretedUnits` instead of `garrisonedUnits` (the latter only affects entities which are //inside// the holder).
Entities which you'd like to be able to be turreted need a new component now `` in their templates.