... | @@ -30,23 +30,32 @@ stateDiagram-v2 |
... | @@ -30,23 +30,32 @@ stateDiagram-v2 |
|
|
|
|
|
## Skill Scoped Variables
|
|
## Skill Scoped Variables
|
|
|
|
|
|
Since they exist in the skilltree itself, skill-scoped variables can be accessed by any [metaskill] in the skilltree from the moment they are created, regardless of which [metaskill] created them
|
|
Since they exist in the skilltree itself, skill-scoped variables can be accessed and modified by any [metaskill] in the skilltree from the moment they are created, regardless of which [metaskill] created them
|
|
|
|
|
|
|
|
## Event Data
|
|
|
|
The skilltree always knows which event triggered it, and allows the [cancelevent](/Skills/Mechanics/cancelevent) mechanic to be used in any of the metaskill it calls in order to cancel it, as long as this occurs in a synched manner
|
|
|
|
|
|
## MetaSkills
|
|
## MetaSkills
|
|
Each [Metaskill] that is being called in the SkillTree has their own set of data regarding who the caster, target and trigger is:
|
|
Each [Metaskill] that is being called in the SkillTree has its own set of data regarding different elements.
|
|
- The Target is whoever has been targeted or inherited when calling the [Metaskill], and inside the metaskill itself it is the Inherited Target(s)
|
|
Normally, the value of those elements is copied over from the calling metaskill unless overridden.
|
|
```yaml
|
|
Those elements are:
|
|
Skills:
|
|
- `Caster`: The entity casting the metaskill.
|
|
- skill{s=ExampleSkill} @PIR{r=10} ~onInteract
|
|
- Can be changed via the use of the [sudoskill] mechanic
|
|
```
|
|
- `Target`: It is the [Inherited Target](/Skills/Metaskills#inheritance) of the metaskill
|
|
> The ExampleSkill metaskill that is being executed will have every player in a 10 blocks radius as the inherited target.
|
|
- `Trigger`: Is first set as the entity that triggered the SkillTree initially, and one can fetch this entity via the [@trigger] targeter or other similar targeters. Depending on the [~Trigger] used, a [@trigger] may not exist.
|
|
|
|
- The `Trigger` can be changed via the use of the [sudoskill] mechanic's `casterastrigger` attribute, which will make the called metaskill have, as the `Trigger`, the `Caster` of the original metaskill
|
|
- The Trigger is first set as the entity that triggered the SkillTree initially. Each time a new metaskill is called, it inherits the trigger of the calling metaskill, unless it has been overridden by the [sudoskill]'s mechanic `casterastrigger` attribute, in which case the trigger from that metaskill forth will become the caster of the sudoskill mechanic
|
|
- `Origin`: It's the [@origin] of the metaskill. By default, it is the position of the `Caster`.
|
|
|
|
- Can be set via the `origin` [universal attribute]
|
|
|
|
- It is automatically set in mechanics such as [projectile](/Skills/Mechanics/Projectile)
|
|
|
|
- `Skill Parameters`: The [Skill Parameters] of the metaskill. Please note that, contrary to [Skill Scoped Variables](#skill-scoped-variables), they do not exist on the skilltree itself.
|
|
|
|
|
|
|
|
|
|
<!-- LINKS -->
|
|
<!-- LINKS -->
|
|
[metaskill]: /Skills/Metaskills
|
|
[metaskill]: /Skills/Metaskills
|
|
[metaskills]: /Skills/Metaskills
|
|
[metaskills]: /Skills/Metaskills
|
|
[variables]: /Skills/Variables
|
|
[variables]: /Skills/Variables
|
|
|
|
[sudoskill]: /Skills/Mechanics/SudoSkill
|
|
|
|
[~Trigger]: /Skills/Triggers
|
|
|
|
[@trigger]: /Skills/Targeters/Trigger
|
|
|
|
[universal attribute]: /Skills/Mechanics#universal-attributes
|
|
|
|
[Skill Parameters]: /Skills/Metaskills#skill-parameters-premium-feature |
|
|
|
\ No newline at end of file |