I'm glad you're redoing this in a GAE supported way, as it will allow each level to have different boosts (for example, the first level could increase armour, the second might increase attack, etc).
As a potential feature, request, though, since you're looking into changing how leveling works, would it be possible to see animations based on level? One way this could be done would be to have the animation tag of the skill formatted like this:
<skill>
<type value="stop" />
<name value="stop_skill" />
<ep-cost value="0" />
<speed value="1000" />
<anim-speed value="45" />
<animation level="default" path="models/swordman_standing.g3d" />
<animation level="elite" path="models/elite_swordman_standing.g3d" />
<sound enabled="false" />
</skill>
As you can see, the
level parameter was added to the animations tag (MG already supports multiple animations, I believe). The value of the
level parameter is equal to the current level name of the unit. Perhaps the parameter could accept a comma separated list to prevent the need to have multiple animation tags if, say, the same animation is used for the first two levels, while the third level uses a different animation. If the value of
level is "default", it applies to the state of which the unit doesn't have any levels. If no
level attribute appears, the animation applies to all levels. If no "default" level animation appears, the first animation tag will be used. If there are multiple animation tags for which a level is valid for, it will continue to randomly use one of them each time.
While we're on the topic of leveling, there was some cool possibilities discussed in
this topic. I'm not saying any of them should be implemented, as they're a huge step up, but they're some cool
options to consider for the future (again, the changes discussed in that topic are all options which must be manually enabled by the modder, so no damage for those who disagree with them).