Cast arguments - TheComputerGeek2/MagicSpells GitHub Wiki

Basics:

When a spell is cast by another spell, then it's called a subspell.

spells:
    - subSpell
spell: subSpell

Subspells have cast arguments which control how they are cast.

subSpell(key1=value1; key2=value2)

Example:

Every sub-spell cast without specified cast arguments is cast with these default cast arguments.

subSpell(mode=partial; power=1; delay=-1; chance=-1)

Cast arguments:

mode:

  • full or f - Casts like a main spell, like the first spell in a cast chain.
  • hard or h - Same as full, but even if the main spell casting the sub-spell had targets, the sub-spell cast in hard mode is cast without targets, looking for targets on the line of sight instead.
  • partial or p - Default subspell cast mode. Cast without setting cooldown, removing reagents, adding experience, displaying cast time, or sending str-<type> messages.
  • direct or d - No plugin, spell, or such is notified that the sub-spell was cast to trigger their logic otherwise. No general spell processing is done. The sub-spell's spell-class effect is executed directly.

targeting:

Warning

Added in Beta 13.

  • The option changes how a sub-spell is cast regarding targeting an entity and/or location.
  • The possible values are: normal, entity_from_location, entity, location, and none (without target).
  • normal is the default value where targeting is determined automatically, with priority: entity_from_location -> entity -> location -> none, depending on whether the targeting option applies to the spell used in the sub-spell.

invert:

Warning

Added in Beta 13.

It can be true or false (default). When enabled, the following takes place:

  • If a caster is present, it becomes an entity target.
  • If an entity target is present, it becomes the caster.
  • If both a caster and an entity target exist, invert: true swap them.

pass-power:

Warning

Added in Beta 13.

It can be true (default) or false.

pass-targeting:

Warning

Added in Beta 13.

It can be true or false, or a string expression with those values. The default depends on the spell which casts the sub-spell.

args:

Warning

Added in Beta 13.

Create spell arguments passed to the sub-spell. Arguments can be fetched with the %arg placeholder. The value should be a JSON array of strings (e.g. args=[1, 2.5, "text"]). Each element may be a string expression.

power:

  • Default: 1. Define with how much spell power should the spell be cast.
  • Since 4.0 Beta 13 the value may be a function expression.

delay:

  • Delay in server ticks after which to cast the spell.
  • Since 4.0 Beta 13 the value may be a function expression.

chance:

  • Chance for the spell to cast, 0-100.
  • Since 4.0 Beta 13 the value may be a function expression.
⚠️ **GitHub.com Fallback** ⚠️