Skip to content

Spell Configuration

Multitallented edited this page Sep 13, 2020 · 8 revisions
icon: GOLDEN_CARROT # spell icon
type: spell
is-in-shop: false # should they have to unlock it with pre-reqs or buy it from the shop
level: 1
groups:
  - chase

pre-reqs: # same system as regions, towns, classes, etc.
  - skill:potion=7 # requires potion skill level 7

allowed-actions:
  - INVISIBILITY.99 # allows the player to hold/use items that have potion effect invisibility up to level 99

exp-per-use: 15 # gives them 15 exp for this spell each time they use it

conditions:
  cooldown: 120000 # must not be on 120s cooldown in order to use
  mana: 50 # must have 50 mana to use

components:
  1: # section 1
    yield: # outcome of the section
      mana: "-50 + $level$ + $rand$ * 10" # lose 50 mana - the spell level, - a random number between 0 and 10
      cooldown: 120000 # spell goes on cooldown for 120s
      sound: BLOCK_BREWING_STAND_BREW
      item:
        item: SPLASH_POTION # gives this item
        potion:
          type: INVISIBILITY
          upgraded: false
          extended: true
  2: # section 2
    variables:
      power^1: "0" # creates a variable named $power^1#var$
    yield:
      cooldown: 55000
      mana: -30
      duration: # creates a repeating section
        ticks: 150 # lasts for 7.5s (20 ticks per second)
        period: 40 # repeats every 2s
        delay: 40 # doesn't start until after 2s
        section:
          targets: # gets targets (mobs or players) for the spell
            nearby1: # get targets nearby
              cancel-if-empty: true # if no targets found, then do not execute any of the components in this section
              radius: 9 # gets all targets other than the caster within 9 blocks
              range: 10 # targets the block you're looking at up to 10 blocks away
              max-targets: 1 # will only get 1 target
          components:
            2:
              variables:
                power^1: "$power^1#var$ + 1" # increases the power variable by 1
              yield:
                particle^1:
                  target: nearby1 # the target selected from the nearby1 section
                  pattern: waves
                  particle: REDSTONE
                  red: 115
                  green: 3
                  blue: 252
                  duration: 2000 # 2s
                particle^2: # target defaults to the caster (self)
                  pattern: falling aura
                  particle: PORTAL
                  duration: 2000
                potion^1:
                  target: nearby1
                  type: WEAKNESS
                  level: "$power^1#var$"
                  ticks: 40
                potion^2:
                  type: INCREASE_DAMAGE
                  level: "$power^1#var$"
                  ticks: 40