Mechanic: SetVariable

Sets a variable. Variables can be permanent or temporary, and can be used in conjunction with conditions or placeholders to store data.

Attributes

Attribute Aliases Description Default Value
variable var The name of the variable. Can optionally be prefixed with scope.
value val The value to set the variable to. Must be applicable for type or the mechanic will fail. Should be surrounded in double-quotes if using spaces. Value can also include placeholders, even from PlaceholderAPI.
scope s The scope of the variable, e.g. where the variable will be located. SKILL
type t The type of the variable. INTEGER
save Whether the variable should save between reloads. Does not apply to SKILL-scoped variables. false
duration d How long (in ticks) the variable should last. Does not apply to SKILL-scoped variables. Infinite


Examples

In this example, the target players would only hear growling from any number of nearby bears once every 10 minutes.

BearMob:
  Skills:
  - skill{s=BearGrowl} @PlayersInRadius{r=40} ~onTimer:60
BearGrowl:
  TargetConditions:
  - variableEquals{var=target.heardbear;value="yes"} cancel
  Skills:
  - message{m="&7You hear a growling noise..."}
  - setvariable{var=target.heardbear;value="yes";duration=6000}

In this example, the extra “IgnitionDamage” skill would only fire if the “do_ignite” variable were set on the skill tree.

Strike:
  Skills:
  - setvariable{var=skill.do_ignite;type=STRING;value="yes"} 0.5
  - damage{amount=20}
  - skill{s=IgnitionDamage}
IgnitionDamage:
  Conditions:
  - varEquals{var=skill.do_ignite;value="yes"}
  Skills:
  - ignite{ticks=20}
  - effects:particles{}

skills/mechanics/setvariable.txt · Last modified: 2020/06/30 21:13 (external edit)