= How to port your A24 mod to A25 =
This lists (most) of the template-changing commits, and how to fix them.
=== 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'`
=== 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.