Removes Reloads trait.
This enables adding multiple AmmoPools via @ differentiators and
Name which adds the possibility to assign each armament to a specific
ammo pool.
Furthermore, this moves all Reloads functionality onto AmmoPool.
Now a combination of all three is possible on a single actor: no limited
ammo, limited ammo that can reload on its own, and limited ammo which
needs to be reloaded at a rearm actor.
Additionally moves RearmSound from Minelayer to AmmoPool.
Works around a problem in the old Lua API where a trait lookup would
not find the correct class and make the script crash.
In this instance, `Game.modData.ObjectCreator.FindType("RallyPoint")`
return `OpenRA.Mods.Common.Effects.RallyPoint` instead of the expected
`OpenRA.Mods.Common.RallyPoint`.
The other change is an oversight from the recent warhead rewrites.
Fixes#6728
Changes included:
Warhead code split out of weapon code and refactored.
Warhead functionality now split into several classes, each handling one effect/impact.
Additional custom warheads can now be defined and called via yaml.
Custom warheads inherit the abstract class Warhead,
which provides target check functions.
Custom warheads have to define their own impact functions,
and can also define their own replacement for check
functions.
The onDamaged event handler would still fire after an enemy building had
been captured. Fixed by checking the owner before starting repairs.
Thanks to Microbit for showing me that people actually did that.