Skip to content
chrisforbes edited this page May 3, 2011 · 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.

GivesExperience:
  Experience: -1      # the amount of experience to give. if -1, use the value of the unit (from Valued)
GainsExperience:
  CostThreshold: 2,4,8,16    # the XP requirements for each level, as multiples of our own cost.
  FirepowerModifier: 110%,115%,120%,150%
  ArmorModifier: 110%,120%,130%,150%
  SpeedModifier: 110%,115%,120%,150%

Note that XP requirements are expressed in terms of our cost. So if we're a $300 Rocket Soldier, to gain our first level, we need 600XP (which by default is equivalent to killing $600 worth of enemies). The next level is at 1200XP / $1200, 2400XP / $2400 etc.

The sequence-set 'rank' (defined in sequences.yaml) is used to show overlays for each level. The sequence-set 'crate' (specifically, its animation 'levelup') is used to show the "+1 RANK" text.

Future directions:

  • Allow switching of weapons based on level. This is used in the later C&C and RA games.
  • Allow switching self-healing based on level.
  • Allow actors to specify a custom set of rank art.
  • Possibly use a CashTick-like method instead of baked-in "+1 RANK" art.

Players ๐ŸŽฒ

Modders โœ๏ธ

Developers ๐Ÿ”ง

Clone this wiki locally