Description
Creates an aura that, after each mechanic of its onStart metaskill, checks if a set of conditions is met: If so, the execution of the onStart skill is immediately cancelled. This effectively adds a conditional cancel mechanic after each line of the cascading meta skill.
Attributes
Attribute | Aliases | Description | Default |
---|---|---|---|
terminateconditions | conditions, cond, c | The conditions to check against | null |
deep | Whether the terminable aura, once its conditions have been met, should also stop the execution of the metaskill it has been called from | false | |
onterminate | ox | The metaskill to execute once the onStart is terminated |
This mechanic inherits every attribute of the aura mechanic
Deep Attribute
The deep attribute is quite peculiar: when enabled, other than the onStart metaskill, it makes the terminate aura also affect the metaskill it was originally called from. So, if we had a situation like the following
ExampleSkill:
Skills:
- terminable{deep=true;...}
- skill:test1
- delay 100
- mechanic2
SecondarySkill:
Skills:
- mechanic1
- delay 200
- mechanic3
Then the ExampleSkill
and the subsequently called SecondarySkill
metaskill would be stopped if the terminable aura had its conditions met: so, for example, if the terminable aura stopped the execution after 10 ticks, neither mechanic2
or mechanic3
could be triggered
Examples
Skills:
- terminable{
auraName=exampleAura;
d=2000;
conditions=[
- health{h=<50} true
];
onStart=[
- state{s=charged_attack}
- delay 20
- skill{s=ChargedAttackDamage}
];
onTerminate=[
- state{s=charged_attack;remove=true}
- state{s=stunned}
]} @self
Aliases
- stoppable
- cancelable
- exit
- terminatable