Skip to content
Gustas edited this page Jul 4, 2020 · 9 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 damage, armour, speed, reload, 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).

Players ๐ŸŽฒ

Modders โœ๏ธ

Developers ๐Ÿ”ง

Clone this wiki locally