Veterancy

abcdefg30 edited this page Sep 20, 2018 · 8 revisions

The veterancy system is built out of two key traits: GainsExperience, which implements the actual level system for an Actor, and GivesExperience, which is attached to Actors which may be killed to gain experience.

Gains Experience

XP requirements are expressed in terms of the units cost. A $300 Rocket Soldier requires 600XP -- which by default is equivalent to killing $600 worth of enemies -- in order to gain its first level. The next level is at 1200XP/$1200, 2400XP/$2400, etc.

Once a unit gained the amount of XP defined on the GainsExperience trait, all conditions requiring equal or less XP will be applied. The default upgrades affect firepower, damage, speed, reload, inaccuracy, rank, self-healing and the ability to switch weapons. The default values for all upgrades can be found in the defaults.yaml file for each game.

The sequence-set 'rank' (defined in sequences/misc.yaml) is used to show overlays for each level. The sequence-set 'crate-effects' is used to show the ranking up animation.

LevelUpCrateAction implements a crate action to give one level to the collecting unit. It should be attached to the Crate actor, and has the standard crate action properties: The crate gives the remaining XP to the next level threshold. Its "value" is therefore dependent on how close the unit otherwise is to this threshold, and the cost of the unit.

Gives Experience

If an actor with the GainsExperience trait delivers the killing blow to a character with the GivesExperience trait, the killing actor gains experience equal to the 'Experience' property of GivesExperience. By default, the experience value is set to -1, which means it will grant experience equal to its cost upon dying.

The ValidStances property ensures actors killed by actors on the same team will not grant any experience as long as it is set to 'Neutral, Enemy' (the default).

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.