Enum Class SpellBook.Ancient

java.lang.Object
java.lang.Enum<SpellBook.Ancient>
net.storm.api.magic.SpellBook.Ancient
All Implemented Interfaces:
Serializable, Comparable<SpellBook.Ancient>, Constable, Spell
Enclosing class:
SpellBook

public static enum SpellBook.Ancient extends Enum<SpellBook.Ancient> implements Spell
The Ancient Magicks spellbook containing powerful Zarosian spells.

This spellbook is unlocked by completing the Desert Treasure quest. It includes:

  • Rush spells - Single-target combat spells
  • Burst spells - Multi-target combat spells (3x3 area)
  • Blitz spells - Stronger single-target combat spells
  • Barrage spells - Strongest multi-target combat spells (3x3 area)
  • Ancient teleports to Wilderness and other locations

Combat spells are divided into four elements with special effects:

  • Smoke - Poisons the target
  • Shadow - Reduces target's damage
  • Blood - Heals the caster for a portion of damage dealt
  • Ice - Freezes the target in place

  • Enum Constant Details

  • Method Details

    • values

      public static SpellBook.Ancient[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static SpellBook.Ancient valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getSpellBook

      public SpellBook getSpellBook()
      Gets the spellbook that contains this spell.
      Specified by:
      getSpellBook in interface Spell
      Returns:
      SpellBook.ANCIENT
    • canCast

      public boolean canCast()
      Checks whether this spell can currently be cast.

      This method verifies all requirements including:

      • The correct spellbook is active
      • The player has the required Magic level
      • The player has all required runes
      • The player meets any quest requirements
      • The player is in a members world (if required)
      • Any special equipment requirements are met

      For Ancient spells, this checks:

      • The Ancient spellbook is active
      • Player is in a members world
      • Home Teleport cooldown (for Edgeville Home Teleport only)
      • Magic level requirement
      • Rune requirements

      Specified by:
      canCast in interface Spell
      Returns:
      true if the spell can be cast, false otherwise
    • haveRunesAvailable

      public boolean haveRunesAvailable()
      Checks if the player has all required runes to cast this spell.
      Returns:
      true if all rune requirements are met, false otherwise