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:
<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" />
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).