Abilities

Back to the Main page

Abilities:

Must be manually added to the .txt files, somewhere after name, type, hp and level setups.

Explanation:

Correct syntax is:

special=<trigger type (stage 1)>:[<params>:]<subability (stage 2 or 3)>:<params>[:<final subtype (stage 3)>[:<params>]]

Easy form: trigger:subability:final ability

Sounds complicated, but isn't. Stages 1-3 mean: Any ability can execute another of a higher stage or one of the own stage, but never one of a lower stage.

The trigger type cannot stand alone for itself, it always starts another ability and is stage 1.

The subability usually specifies which kind of entities are affected and is stage 2.

The final ability (stage 3) is the one that actually does what you want for the given stage 1 and 2 parameter.

In case you don't have or want to specify a subability, you can directly add a final ability: trigger:final ability

Example

In the example of the immolation ability: It triggers periodically, so the triggertype is onTimed. This eventtype needs 2 params: periodicTicks and a second ability to be fired. In the case of immolation, it is fired every 2 seconds, means 40 ticks.

As a line this is: special=onTimed:40:<subability (Stage 2)>

The ability affects enemy units in an area, so the subability is AOEDebuff. AOEDebuff needs to know the radius in which mobs are picked and what ability should be used on them. In case of Immolation the radius is 6.

We are now at: special=onTimed:40:AOEDebuff:6:<final ability (Stage 3)>

Finally, we add the ability that would be used on the mobs. In case of immolation this is setting them on fire for 1 second. For this, we use the (Stage 3) ability incinerate. It requires one param which is the added burning duration in ticks. 1 second means 20 ticks.

The final look would be: special=onTimed:40:AOEDebuff:6:incinerate:20

IDs that work as a stand-alone:

  • special=0 >>>>IMMOLATION (Periodically sets nearby players on fire)
  • special=1 >>>>HEALING AURA (Periodically heals nearby Monsters)

Triggertypes

  • onAttack:<Stage 2 or 3 ability>
  • onTimed:periodicTicks:<Stage 2 or 3 ability> (care for compatibility)
  • onDeath:<Stage 2 or 3 ability>
  • onDamage:<Stage 2 or 3 ability>

Subabilities

  • AOEBuff:<radius>:<Stage 2 or 3 ability>
  • AOEDebuff:<radius>:<Stage 2 or 3 ability>
  • flip:<Stage 2 or 3 ability>
  • chance:<chance in %>:<Stage 2 or 3 ability>
  • playerinrange:<range>:<Stage 2 or 3 ability>
  • rangecheck:<minrange>:<maxrange>:<Stage 2 or 3 ability>
  • insight:<Stage 2 or 3 ability>
  • copy:<Stage 2 or 3 ability>

Final abilities

  • applyBuff:<buff type name, e.g. POISON>:<duration>:<amplifier>
  • incinerate:<added fire ticks>
  • heal:<amount>
  • lightning
  • tptotarget
  • spawnmob:<mobtype or setupname>:<amount>
  • jumpto:<max jumping height>

What they do and compatibility of abilities

This should show you what the abilities make up and what the following abilities will actually use. "Nothing" means they don't actually use that param.

Triggers:

  • onAttack: gives to next ability: (attacking entity, target)
  • onDamage: gives to next ability: (attacked entity, damager if exists)
  • onTimed: gives to next ability: (dedicated entity, nothing)
  • onDeath: gives to next ability: (dieing entity, killing entity if found)

Stage 2 abilities:

  • AOEBuff: (dedicated entity, nothing), gives to next ability: (dedicated entity, monster entities in range)
  • AOEDebuff: (dedicated entity, nothing), gives to next ability: (dedicated entity, player entities in range)
  • flip: (entity a, entity b), gives to next ability: (entity b, entity a)
  • chance: (entity a, entity b), gives to next ability: (entity a, entity b) if chance triggers
  • playerinrange: (dedicated entity, nothing), gives to next ability: (dedicated entity, one random player entity in range)
  • rangecheck: (entity a, entity b), gives to next ability: (entity a, entity b) if a is within specified range of b
  • insight: (entity a, entity b), gives to next ability: (entity a, entity b) if b is within sight of a
  • copy: (entity a, entity b), gives to next ability: (entity a, entity a)

Stage 3 abilities:

  • applyBuff: (nothing, target)
  • heal: (nothing, target)
  • incinerate: (nothing, target)
  • tptotarget: (teleporting unit, target)
  • lightning: (nothing, target)
  • spawnmob: (entity at which the mobs spawn, nothing)
  • jumpto: (jumping entity, targeted entity)