Module: Lich::Common::GameLoader

Defined in:
lib/common/game-loader.rb

Class Method Summary collapse

Class Method Details

.common_aftervoid

Note:

This method is currently a no-op.

This method returns an undefined value.

Placeholder for any actions that need to be taken after loading common dependencies.



77
78
79
# File 'lib/common/game-loader.rb', line 77

def self.common_after
  # nil
end

.common_beforevoid

This method returns an undefined value.

Loads common dependencies required before loading game-specific modules.

Examples:

Lich::Common::GameLoader.common_before


12
13
14
15
16
17
# File 'lib/common/game-loader.rb', line 12

def self.common_before
  require File.join(LIB_DIR, 'common', 'log.rb')
  require File.join(LIB_DIR, 'common', 'spell.rb')
  require File.join(LIB_DIR, 'util', 'util.rb')
  require File.join(LIB_DIR, 'common', 'hmr.rb')
end

.dragon_realmsvoid

This method returns an undefined value.

Loads all necessary modules and dependencies for the Dragon Realms game.

Examples:

Lich::Common::GameLoader.dragon_realms


63
64
65
66
67
68
69
70
# File 'lib/common/game-loader.rb', line 63

def self.dragon_realms
  self.common_before
  require File.join(LIB_DIR, 'common', 'map', 'map_dr.rb')
  require File.join(LIB_DIR, 'attributes', 'char.rb')
  require File.join(LIB_DIR, 'dragonrealms', 'drinfomon.rb')
  require File.join(LIB_DIR, 'dragonrealms', 'commons.rb')
  self.common_after
end

.gemstonevoid

This method returns an undefined value.

Loads all necessary modules and dependencies for the Gemstone game.

Examples:

Lich::Common::GameLoader.gemstone


25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/common/game-loader.rb', line 25

def self.gemstone
  self.common_before
  require File.join(LIB_DIR, 'gemstone', 'sk.rb')
  require File.join(LIB_DIR, 'common', 'map', 'map_gs.rb')
  require File.join(LIB_DIR, 'gemstone', 'effects.rb')
  require File.join(LIB_DIR, 'gemstone', 'bounty.rb')
  require File.join(LIB_DIR, 'gemstone', 'claim.rb')
  require File.join(LIB_DIR, 'gemstone', 'infomon.rb')
  require File.join(LIB_DIR, 'attributes', 'resources.rb')
  require File.join(LIB_DIR, 'attributes', 'stats.rb')
  require File.join(LIB_DIR, 'attributes', 'spells.rb')
  require File.join(LIB_DIR, 'attributes', 'skills.rb')
  require File.join(LIB_DIR, 'attributes', 'society.rb')
  require File.join(LIB_DIR, 'gemstone', 'infomon', 'status.rb')
  require File.join(LIB_DIR, 'gemstone', 'experience.rb')
  require File.join(LIB_DIR, 'attributes', 'spellsong.rb')
  require File.join(LIB_DIR, 'gemstone', 'infomon', 'activespell.rb')
  require File.join(LIB_DIR, 'gemstone', 'psms.rb')
  require File.join(LIB_DIR, 'attributes', 'char.rb')
  require File.join(LIB_DIR, 'gemstone', 'infomon', 'currency.rb')
  # require File.join(LIB_DIR, 'gemstone', 'character', 'disk.rb') # dup
  require File.join(LIB_DIR, 'gemstone', 'group.rb')
  require File.join(LIB_DIR, 'gemstone', 'critranks')
  require File.join(LIB_DIR, 'gemstone', 'wounds.rb')
  require File.join(LIB_DIR, 'gemstone', 'scars.rb')
  require File.join(LIB_DIR, 'gemstone', 'gift.rb')
  require File.join(LIB_DIR, 'gemstone', 'readylist.rb')
  require File.join(LIB_DIR, 'gemstone', 'stowlist.rb')
  ActiveSpell.watch!
  self.common_after
end

.load!void

This method returns an undefined value.

Loads the appropriate game-specific modules based on the current game setting.

Examples:

Lich::Common::GameLoader.load!

Raises:

  • (RuntimeError)

    If the game cannot be loaded due to an unknown game type.



89
90
91
92
93
94
# File 'lib/common/game-loader.rb', line 89

def self.load!
  sleep 0.1 while XMLData.game.nil? or XMLData.game.empty?
  return self.dragon_realms if XMLData.game =~ /DR/
  return self.gemstone if XMLData.game =~ /GS/
  echo "could not load game specifics for %s" % XMLData.game
end