Module: Lich::Gemstone::SK
- Defined in:
- documented/gemstone/sk.rb
Overview
SK module This module manages the spells known by the SK character class.
Class Method Summary collapse
-
.add(*numbers) ⇒ void
Adds spell numbers to the list of 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 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 spell numbers to the list of known SK spells.
86 87 88 89 |
# File 'documented/gemstone/sk.rb', line 86 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.
71 72 73 74 75 76 77 78 79 |
# File 'documented/gemstone/sk.rb', line 71 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.
53 54 55 56 |
# File 'documented/gemstone/sk.rb', line 53 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.
62 63 64 65 |
# File 'documented/gemstone/sk.rb', line 62 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.
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'documented/gemstone/sk.rb', line 107 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 spell numbers from the list of known SK spells.
96 97 98 99 |
# File 'documented/gemstone/sk.rb', line 96 def self.remove(*numbers) self.sk_known = (@sk_known - numbers).uniq self.list end |
.sk_known ⇒ Array<String>
This method initializes the known spells if they are not already set.
Retrieves the list of known SK spells.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'documented/gemstone/sk.rb', line 20 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) ⇒ Array<String>
Sets the list of known SK spells.
42 43 44 45 46 |
# File 'documented/gemstone/sk.rb', line 42 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 |