Module: Lich::Gemstone::SK
- Defined in:
- lib/gemstone/sk.rb
Class Method Summary collapse
-
.add(*numbers) ⇒ void
Adds one or more spell numbers to the list of known SK spells.
-
.help ⇒ void
Provides help information for SK spell commands.
-
.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 SK spell commands.
-
.remove(*numbers) ⇒ void
Removes one or more spell numbers from the list of known SK spells.
-
.sk_known ⇒ Array<String>
Retrieves the list of known SK spells.
-
.sk_known=(val) ⇒ Array<String>
Sets the list of known SK spells.
Class Method Details
.add(*numbers) ⇒ void
This method returns an undefined value.
Adds one or more spell numbers to the list of known SK spells.
85 86 87 88 |
# File 'lib/gemstone/sk.rb', line 85 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 SK spell commands.
69 70 71 72 73 74 75 76 77 |
# File 'lib/gemstone/sk.rb', line 69 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.
49 50 51 52 |
# File 'lib/gemstone/sk.rb', line 49 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.
59 60 61 62 |
# File 'lib/gemstone/sk.rb', line 59 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 SK spell commands.
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/gemstone/sk.rb', line 108 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 list of known SK spells.
96 97 98 99 |
# File 'lib/gemstone/sk.rb', line 96 def self.remove(*numbers) self.sk_known = (@sk_known - numbers).uniq self.list end |
.sk_known ⇒ Array<String>
If the known spells are not set, it attempts to read from the database.
Retrieves the list of known SK spells.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/gemstone/sk.rb', line 12 def self.sk_known if @sk_known.nil? val = DB_Store.read("#{XMLData.game}:#{XMLData.name}", "sk_known") if val.nil? || (val.class == Hash && val.empty?) old_settings = DB_Store.read("#{XMLData.game}:#{XMLData.name}", "vars")["sk/known"] if old_settings.class == 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) ⇒ Array<String>
This method saves the new list to the database.
Sets the list of known SK spells.
36 37 38 39 40 |
# File 'lib/gemstone/sk.rb', line 36 def self.sk_known=(val) return @sk_known if @sk_known == val DB_Store.save("#{XMLData.game}:#{XMLData.name}", "sk_known", val) @sk_known = val end |