Module: Lich::Gemstone::SK
- Defined in:
- documented/gemstone/sk.rb
Class Method Summary collapse
-
.add(*numbers) ⇒ void
Adds one or more spell numbers to the known SK spells.
-
.help ⇒ void
Provides help information for managing SK spells.
-
.known?(spell) ⇒ Boolean
Checks if a specific spell is known.
-
.list ⇒ void
Lists the current known SK spells.
-
.main(action = help, spells = nil) ⇒ void
Main entry point for managing SK spells based on the action provided.
-
.remove(*numbers) ⇒ void
Removes one or more spell numbers from the known SK spells.
-
.sk_known ⇒ Array?
Retrieves the known SK spells.
-
.sk_known=(val) ⇒ void
Sets the known SK spells.
Class Method Details
.add(*numbers) ⇒ void
This method returns an undefined value.
Adds one or more spell numbers to the known SK spells.
66 67 68 69 |
# File 'documented/gemstone/sk.rb', line 66 def self.add(*numbers) self.sk_known = (@sk_known + numbers).uniq self.list end |
.help ⇒ void
This method returns an undefined value.
Provides help information for managing SK spells.
53 54 55 56 57 58 59 60 61 |
# File 'documented/gemstone/sk.rb', line 53 def self.help respond " Script to add SK spells to be known and used with Spell API calls." respond "" respond " ;sk add <SPELL_NUMBER> - Add spell number to saved list" respond " ;sk rm <SPELL_NUMBER> - Remove spell number from saved list" respond " ;sk list - Show all currently saved SK spell numbers" respond " ;sk help - Show this menu" respond "" end |
.known?(spell) ⇒ Boolean
Checks if a specific spell is known.
39 40 41 42 |
# File 'documented/gemstone/sk.rb', line 39 def self.known?(spell) self.sk_known if @sk_known.nil? @sk_known.include?(spell.num.to_s) end |
.list ⇒ void
This method returns an undefined value.
Lists the current known SK spells.
46 47 48 49 |
# File 'documented/gemstone/sk.rb', line 46 def self.list respond "Current SK Spells: #{@sk_known.inspect}" respond "" end |
.main(action = help, spells = nil) ⇒ void
This method returns an undefined value.
Main entry point for managing SK spells based on the action provided.
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'documented/gemstone/sk.rb', line 83 def self.main(action = help, spells = nil) self.sk_known if @sk_known.nil? action = action.to_sym spells = spells.split(" ").uniq case action when :add self.add(*spells) unless spells.empty? self.help if spells.empty? when :rm self.remove(*spells) unless spells.empty? self.help if spells.empty? when :list self.list else self.help end end |
.remove(*numbers) ⇒ void
This method returns an undefined value.
Removes one or more spell numbers from the known SK spells.
74 75 76 77 |
# File 'documented/gemstone/sk.rb', line 74 def self.remove(*numbers) self.sk_known = (@sk_known - numbers).uniq self.list end |
.sk_known ⇒ Array?
Retrieves the known SK spells. If the known spells are not set, it attempts to read from the database.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'documented/gemstone/sk.rb', line 9 def self.sk_known if @sk_known.nil? val = DB_Store.read("#{XMLData.game}:#{XMLData.name}", "sk_known") if val.nil? || (val.is_a?(Hash) && val.empty?) old_settings = DB_Store.read("#{XMLData.game}:#{XMLData.name}", "vars")["sk/known"] if old_settings.is_a?(Array) val = old_settings else val = [] end self.sk_known = val end @sk_known = val unless val.nil? end return @sk_known end |
.sk_known=(val) ⇒ void
This method returns an undefined value.
Sets the known SK spells.
29 30 31 32 33 34 |
# File 'documented/gemstone/sk.rb', line 29 def self.sk_known=(val) unless @sk_known == val DB_Store.save("#{XMLData.game}:#{XMLData.name}", "sk_known", val) @sk_known = val end end |