Enum Class SpellBook.Lunar

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

public static enum SpellBook.Lunar extends Enum<SpellBook.Lunar> implements Spell
The Lunar spellbook containing support and utility spells.

This spellbook is unlocked by completing the Lunar Diplomacy quest. It includes:

  • Group teleports - Teleport yourself and nearby players
  • Support spells - Cure poison, heal, share potions
  • Skilling spells - Tan leather, superglass make, plank make
  • Utility spells - NPC Contact, Humidify, Spin Flax
  • Combat support - Vengeance, Energy Transfer

Most Lunar spells require Astral runes in addition to other rune types.

  • Enum Constant Details

  • Method Details

    • values

      public static SpellBook.Lunar[] 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.Lunar 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.LUNAR
    • 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 Lunar spells, this checks:

      • The Lunar spellbook is active
      • Player is in a members world
      • Home Teleport cooldown (for Lunar Home Teleport only)
      • Magic level requirement
      • Rune requirements
      • Additional requirements (e.g., Ourania Teleport unlock)

      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