Module: Lich::Gemstone::Spells
- Defined in:
- documented/attributes/spells.rb
Constant Summary collapse
- @@spell_lists =
A list of spell types available in the game.
%i(major_elemental major_spiritual minor_elemental minor_mental minor_spiritual bard cleric empath paladin ranger sorcerer wizard)
Class Method Summary collapse
-
.active ⇒ Array<Spell>
private
Returns a list of active spells.
-
.get_circle_name(num) ⇒ String
Returns the name of the spell circle corresponding to the given number.
-
.known ⇒ Array<Spell>
Returns a list of known spells.
-
.require_cooldown(spell) ⇒ Symbol
Checks if a cooldown is required for the given spell and applies it if necessary.
-
.serialize ⇒ Array<Integer>
Serializes the spell lists into an array.
Class Method Details
.active ⇒ Array<Spell>
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a list of active spells.
41 42 43 |
# File 'documented/attributes/spells.rb', line 41 def self.active Spell.active end |
.get_circle_name(num) ⇒ String
Returns the name of the spell circle corresponding to the given number.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'documented/attributes/spells.rb', line 10 def self.get_circle_name(num) case num.to_s when '1' then 'Minor Spirit' when '2' then 'Major Spirit' when '3' then 'Cleric' when '4' then 'Minor Elemental' when '5' then 'Major Elemental' when '6' then 'Ranger' when '7' then 'Sorcerer' when '8' then 'Old Healing List' when '9' then 'Wizard' when '10' then 'Bard' when '11' then 'Empath' when '12' then 'Minor Mental' when '16' then 'Paladin' when '17' then 'Arcane' when '65' then 'Imbedded Enchantment' when '66' then 'Death' when '90' then 'Micellaneous' when '95' then 'Armor Specialization' when '96' then 'Combat Maneuvers' when '97' then 'Guardians of Sunfist' when '98' then 'Order of Voln' when '99' then 'Council of Light' else 'Unknown Circle' end end |
.known ⇒ Array<Spell>
Returns a list of known spells.
47 48 49 50 51 |
# File 'documented/attributes/spells.rb', line 47 def self.known known_spells = Array.new Spell.list.each { |spell| known_spells.push(spell) if spell.known? } return known_spells end |
.require_cooldown(spell) ⇒ Symbol
Checks if a cooldown is required for the given spell and applies it if necessary.
57 58 59 60 61 62 63 64 65 66 |
# File 'documented/attributes/spells.rb', line 57 def self.require_cooldown(spell) if (spell.num.to_i > 9013) && (spell.num.to_i < 9042) # Assume Aspect: Ranger cooldown_spell = Spell[spell.num + 1] cooldown_spell.putup elsif (spell.num == 515) && (recovery = Spell[599]) # Rapid Fire: Major Elemental recovery.putup else :ok end end |
.serialize ⇒ Array<Integer>
Serializes the spell lists into an array.
70 71 72 |
# File 'documented/attributes/spells.rb', line 70 def self.serialize [self.minor_elemental, self.major_elemental, self.minor_spiritual, self.major_spiritual, self.wizard, self.sorcerer, self.ranger, self.paladin, self.empath, self.cleric, self., self.minormental] end |