SkillTrees are an implicit feature of Mythic and, while they cannot directly invoked like Metaskills or otherfeatures, play just as an important of a role.
SkillTrees are created each time a mechanic is fired by a trigger, and it is the place where skill scoped variables are stored and inside which metaskills exist
SkillTree Structure
stateDiagram-v2
state SkillTree {
SkillScopedVariables
EventData
state MetaSkills {
state MetaSkill {
MetaSkillInfo: MetaSkill Info
state MetaSkillInfo {
Caster
Targers
Trigger
Origin
SkillParameters
}
state Mechanics {
Mechanic1 Mechanic2 Mechanic3
}
}
}
}
Skill Scoped Variables
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 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
Each Metaskill that is being called in the SkillTree has its own set of data regarding different elements.
Normally, the value of those elements is copied over from the calling metaskill unless overridden.
Those elements are:
-
Caster
: The entity casting the metaskill.- Can be changed via the use of the sudoskill mechanic
-
Target
: It is the Inherited Target of the metaskill -
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'scasterastrigger
attribute, which will make the called metaskill have, as theTrigger
, theCaster
of the original metaskill
- The
-
Origin
: It's the [@origin] of the metaskill. By default, it is the position of theCaster
.- Can be set via the
origin
universal attribute - It is automatically set in mechanics such as projectile
- Can be set via the
-
Skill Parameters
: The Skill Parameters of the metaskill. Please note that, contrary to Skill Scoped Variables, they do not exist on the skilltree itself.