Skip to main content

Skill

The Skill system is designed to support modern gameplay mechanics such as multi-state skills, different input systems, animation systems, and animation canceling. It is highly dynamic and extensible, allowing it to adapt to a wide variety of game designs.

Skills are divided into two types:

  • Normal Skill
  • Evolver Skill

The difference between them is the number of States they contain.

  • A Normal Skill consists of a single State.
  • An Evolver Skill consists of multiple States.

A State defines how a Skill behaves, including its activation conditions, casting behavior, and targeting logic. See Skill State.

The pieces​

PieceAsset / componentRole
SkillSkillModel_Normal / SkillModel_Evolver (Create › Power Demos › Skills › Types)The skill: its Skill Id, Name and its State(s). An Evolver also has a State No Stat that picks the active State.
Skill Stateinside the SkillWhen it may run, which body channels it occupies, how it is cast, how it delivers its Effects, and which Effect Packs fire at each step.
Casting ModelSkillCasting_* asset (… › Skills › Casting)How the State is cast: an animation, a direct trigger. See Casting Model.
Targeting ModelSkillTargeting_* asset (… › Skills › Targeters)How the Effects reach targets: a spawned skill object (projectile, area) or directly. See Targeting Model.
Skill ContainerSkillContainerModel (… › Skills › Skill Container)A list of Skills given to an Actor at once.
Skill ControllerActorExtension_SkillController on the ActorOwns and runs the Actor's Skills and decides which may run at the same time. See Skill Controller.
ActivatorsActorExtension_KeyMappedSkillActivator, ActorExtension_NumericalSkillActivator, SkillElementExtension_ButtonActivator, ActorExtension_RepeatSkillsTurn input (or a timer) into skill uses.
Skill objectSkillEntity prefab + Skill ExtensionsThe spawned projectile / area, with its Effectors and behaviours.

Normal Skill​

NormalSkill reference

Evolver Skill​

EvolverSkill reference

State Transitions​

State transitions are driven entirely by the value of the StateNoStat (the Evolver's State No Stat).

When the stat changes while the current State is still casting, the transition is queued and applied the moment the cast finishes, so a stat change never cuts a running animation in half (unless the Casting Model has Allow Switch State While Casting). A use pressed meanwhile goes to the State being switched to.

Since StateNoStat is just another Stat, it can be modified by any logic you create with Power. This makes Evolver Skills extremely flexible and allows you to build a wide variety of gameplay mechanics.

Examples​

Sequential State Progression​

Increment the StateNoStat after each activation to cycle through different Skill States.

See the Legion Spear sample.

Charge Skills​

Use States to represent different charge levels.

  • Deadeye String

    • Holding the input (Pointer Down) starts charging.
    • Releasing the input (Pointer Up) switches to the firing State.
  • Stormchannel

    • Charges while the input is held.
    • Transitions through multiple States as the charge value reaches predefined thresholds.

Conditional State Transitions​

Change States dynamically based on gameplay conditions.

  • Chain Hook

    • After the hook connects, clicking again transitions to either Kick or Punch depending on the distance to the target.
  • Venomfang Blade

    • If the target is far away, the Skill first performs a dash to the target.
    • If the target is already nearby, it immediately transitions to the attack State.

Skill Levels​

States can also represent Skill levels.

The StateNoStat can be used directly as the Skill level, allowing each level to execute a completely different State and behavior.