|
|
|
## 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
|
|
|
|
```yaml
|
|
|
|
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
|
|
|
|
```yaml
|
|
|
|
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
|
|
|
|
- [x] stoppable
|
|
|
|
- [x] cancelable
|
|
|
|
- [x] exit
|
|
|
|
|
|
|
|
|
|
|
|
<!-- LINKS -->
|
|
|
|
[aura]: Skills/Mechanics/aura
|
|
|
|
[metaskill]: Skills/Metaskills |
|
|
|
\ No newline at end of file |