gemwarrior 0.10.8 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/gemwarrior +0 -0
- data/data/default_world.yaml +282 -436
- data/gemwarrior.gemspec +1 -1
- data/lib/gemwarrior/arena.rb +17 -17
- data/lib/gemwarrior/battle.rb +146 -77
- data/lib/gemwarrior/entities/armor.rb +34 -0
- data/lib/gemwarrior/entities/armor/iron_helmet.rb +17 -0
- data/lib/gemwarrior/entities/creature.rb +81 -4
- data/lib/gemwarrior/entities/creatures/cow.rb +24 -0
- data/lib/gemwarrior/entities/{items → creatures}/goat.rb +9 -11
- data/lib/gemwarrior/entities/creatures/pig.rb +24 -0
- data/lib/gemwarrior/entities/entity.rb +59 -5
- data/lib/gemwarrior/entities/item.rb +10 -22
- data/lib/gemwarrior/entities/items/apple.rb +2 -5
- data/lib/gemwarrior/entities/items/arena_door.rb +2 -6
- data/lib/gemwarrior/entities/items/bed.rb +7 -11
- data/lib/gemwarrior/entities/items/bookcase.rb +57 -0
- data/lib/gemwarrior/entities/items/bullet.rb +25 -0
- data/lib/gemwarrior/entities/items/couch.rb +6 -10
- data/lib/gemwarrior/entities/items/cup.rb +2 -5
- data/lib/gemwarrior/entities/items/dehumidifier.rb +3 -6
- data/lib/gemwarrior/entities/items/feather.rb +2 -5
- data/lib/gemwarrior/entities/items/floor_tile.rb +6 -10
- data/lib/gemwarrior/entities/items/flower.rb +1 -4
- data/lib/gemwarrior/entities/items/herb.rb +12 -13
- data/lib/gemwarrior/entities/items/keystone.rb +2 -5
- data/lib/gemwarrior/entities/items/ladder.rb +7 -11
- data/lib/gemwarrior/entities/items/letter.rb +20 -23
- data/lib/gemwarrior/entities/items/map.rb +3 -6
- data/lib/gemwarrior/entities/items/massive_door.rb +3 -7
- data/lib/gemwarrior/entities/items/pedestal.rb +6 -10
- data/lib/gemwarrior/entities/items/pond.rb +4 -8
- data/lib/gemwarrior/entities/items/rope.rb +4 -8
- data/lib/gemwarrior/entities/items/small_hole.rb +15 -77
- data/lib/gemwarrior/entities/items/snowman.rb +5 -9
- data/lib/gemwarrior/entities/items/sparkly_thing.rb +3 -7
- data/lib/gemwarrior/entities/items/stonemite.rb +2 -6
- data/lib/gemwarrior/entities/items/tent.rb +3 -6
- data/lib/gemwarrior/entities/items/throne.rb +7 -6
- data/lib/gemwarrior/entities/items/tree.rb +2 -6
- data/lib/gemwarrior/entities/items/waterfall.rb +9 -8
- data/lib/gemwarrior/entities/location.rb +49 -43
- data/lib/gemwarrior/entities/monster.rb +34 -28
- data/lib/gemwarrior/entities/monsters/alexandrat.rb +3 -3
- data/lib/gemwarrior/entities/monsters/amberoo.rb +3 -3
- data/lib/gemwarrior/entities/monsters/amethystle.rb +3 -3
- data/lib/gemwarrior/entities/monsters/apatiger.rb +3 -3
- data/lib/gemwarrior/entities/monsters/aquamarine.rb +3 -3
- data/lib/gemwarrior/entities/monsters/bloodstorm.rb +3 -3
- data/lib/gemwarrior/entities/monsters/bosses/emerald.rb +12 -27
- data/lib/gemwarrior/entities/monsters/bosses/garynetty.rb +17 -5
- data/lib/gemwarrior/entities/monsters/bosses/jaspern.rb +66 -0
- data/lib/gemwarrior/entities/monsters/citrinaga.rb +3 -3
- data/lib/gemwarrior/entities/monsters/coraliz.rb +3 -3
- data/lib/gemwarrior/entities/monsters/cubicat.rb +3 -3
- data/lib/gemwarrior/entities/monsters/diaman.rb +3 -3
- data/lib/gemwarrior/entities/{items → people}/arena_master.rb +8 -13
- data/lib/gemwarrior/entities/{items → people}/drunk_man.rb +14 -35
- data/lib/gemwarrior/entities/people/queen_ruby.rb +71 -0
- data/lib/gemwarrior/entities/people/rockney.rb +132 -0
- data/lib/gemwarrior/entities/{items → people}/shifty_woman.rb +7 -12
- data/lib/gemwarrior/entities/{items → people}/thin_man.rb +9 -14
- data/lib/gemwarrior/entities/people/ware_hawker.rb +153 -0
- data/lib/gemwarrior/entities/person.rb +20 -0
- data/lib/gemwarrior/entities/player.rb +102 -60
- data/lib/gemwarrior/entities/weapon.rb +38 -0
- data/lib/gemwarrior/entities/{items → weapons}/dagger.rb +5 -7
- data/lib/gemwarrior/entities/{items → weapons}/gun.rb +8 -10
- data/lib/gemwarrior/entities/{items → weapons}/mace.rb +6 -9
- data/lib/gemwarrior/entities/{items → weapons}/opalaser.rb +5 -7
- data/lib/gemwarrior/entities/weapons/spear.rb +23 -0
- data/lib/gemwarrior/entities/{items → weapons}/stalactite.rb +5 -7
- data/lib/gemwarrior/entities/weapons/stone.rb +23 -0
- data/lib/gemwarrior/evaluator.rb +111 -107
- data/lib/gemwarrior/game.rb +61 -29
- data/lib/gemwarrior/game_assets.rb +76 -0
- data/lib/gemwarrior/inventory.rb +77 -43
- data/lib/gemwarrior/misc/animation.rb +17 -13
- data/lib/gemwarrior/misc/{music.rb → audio.rb} +15 -7
- data/lib/gemwarrior/misc/audio_cues.rb +133 -0
- data/lib/gemwarrior/misc/formatting.rb +9 -9
- data/lib/gemwarrior/misc/player_levels.rb +21 -0
- data/lib/gemwarrior/repl.rb +32 -31
- data/lib/gemwarrior/version.rb +1 -1
- data/lib/gemwarrior/world.rb +155 -134
- metadata +34 -22
- data/lib/gemwarrior/entities/items/cow.rb +0 -26
- data/lib/gemwarrior/entities/items/pig.rb +0 -26
- data/lib/gemwarrior/entities/items/queen_ruby.rb +0 -62
- data/lib/gemwarrior/entities/items/spear.rb +0 -26
- data/lib/gemwarrior/entities/items/stone.rb +0 -25
- data/lib/gemwarrior/entities/items/ware_hawker.rb +0 -93
data/lib/gemwarrior/version.rb
CHANGED
data/lib/gemwarrior/world.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
# World where the locations, monsters, items, etc. exist
|
3
3
|
|
4
4
|
require_relative 'game_options'
|
5
|
+
require_relative 'game_assets'
|
5
6
|
require_relative 'inventory'
|
6
7
|
require_relative 'entities/item'
|
7
8
|
require_relative 'entities/items/herb'
|
@@ -16,138 +17,19 @@ module Gemwarrior
|
|
16
17
|
WORLD_DIM_WIDTH = 10
|
17
18
|
WORLD_DIM_HEIGHT = 10
|
18
19
|
|
19
|
-
attr_accessor :monsters, :locations, :player, :duration, :emerald_beaten
|
20
|
-
|
21
|
-
def print_vars
|
22
|
-
puts "======================\n"
|
23
|
-
puts "All Variables in World\n"
|
24
|
-
puts "======================\n"
|
25
|
-
puts "#{list('players', true)}\n"
|
26
|
-
puts "#{list('monsters', true)}\n\n"
|
27
|
-
puts "#{list('items', true)}\n\n"
|
28
|
-
puts "#{list('locations', true)}\n"
|
29
|
-
end
|
30
|
-
|
31
|
-
def print_map(floor)
|
32
|
-
0.upto(WORLD_DIM_HEIGHT - 1) do |count_y|
|
33
|
-
print ' '
|
34
|
-
0.upto(WORLD_DIM_WIDTH - 1) do
|
35
|
-
print '---'
|
36
|
-
end
|
37
|
-
print "\n"
|
38
|
-
print "#{(WORLD_DIM_HEIGHT - 1) - count_y} "
|
39
|
-
0.upto(WORLD_DIM_WIDTH - 1) do |count_x|
|
40
|
-
cur_map_coords = {
|
41
|
-
x: count_x,
|
42
|
-
y: (WORLD_DIM_HEIGHT - 1) - count_y,
|
43
|
-
z: floor.nil? ? self.player.cur_coords[:z] : floor.to_i
|
44
|
-
}
|
45
|
-
if self.player.cur_coords.eql?(cur_map_coords)
|
46
|
-
print '|O|'
|
47
|
-
elsif location_by_coords(cur_map_coords)
|
48
|
-
print '|X|'
|
49
|
-
else
|
50
|
-
print '| |'
|
51
|
-
end
|
52
|
-
end
|
53
|
-
print "\n"
|
54
|
-
end
|
55
|
-
print ' '
|
56
|
-
0.upto(WORLD_DIM_WIDTH - 1) do
|
57
|
-
print '---'
|
58
|
-
end
|
59
|
-
puts
|
60
|
-
print ' '
|
61
|
-
0.upto(WORLD_DIM_WIDTH - 1) do |count_x|
|
62
|
-
print "#{count_x} "
|
63
|
-
end
|
64
|
-
if GameOptions.data['debug_mode']
|
65
|
-
puts
|
66
|
-
puts
|
67
|
-
puts "Current level: #{player.cur_coords[:z]}"
|
68
|
-
puts '| | = invalid location'
|
69
|
-
puts '|X| = valid location'
|
70
|
-
puts '|O| = player'
|
71
|
-
end
|
72
|
-
return
|
73
|
-
end
|
74
|
-
|
75
|
-
def list(param, details = false)
|
76
|
-
case param
|
77
|
-
when 'players'
|
78
|
-
puts '[PLAYERS]'
|
79
|
-
player.check_self(false)
|
80
|
-
when 'monsters'
|
81
|
-
puts "[MONSTERS](#{monsters.length})".colorize(:yellow)
|
82
|
-
if details
|
83
|
-
monsters.map { |m| print m.describe }
|
84
|
-
return
|
85
|
-
else
|
86
|
-
">> monsters: #{monsters.map(&:name).join(', ')}"
|
87
|
-
end
|
88
|
-
when 'items'
|
89
|
-
item_count = 0
|
90
|
-
locations.each do |l|
|
91
|
-
l.items.each do
|
92
|
-
item_count += 1
|
93
|
-
end
|
94
|
-
end
|
95
|
-
puts "[ITEMS](#{item_count})".colorize(:yellow)
|
96
|
-
if details
|
97
|
-
locations.each do |l|
|
98
|
-
l.items.map { |i| print i.describe }
|
99
|
-
end
|
100
|
-
return
|
101
|
-
else
|
102
|
-
item_list = []
|
103
|
-
locations.each do |l|
|
104
|
-
l.items.map { |i| item_list << i.name }
|
105
|
-
end
|
106
|
-
">> #{item_list.sort.join(', ')}"
|
107
|
-
end
|
108
|
-
when 'locations'
|
109
|
-
puts "[LOCATIONS](#{locations.length})".colorize(:yellow)
|
110
|
-
if details
|
111
|
-
locations.map { |l| print l.status }
|
112
|
-
return
|
113
|
-
else
|
114
|
-
">> #{locations.map(&:name).join(', ')}"
|
115
|
-
end
|
116
|
-
else
|
117
|
-
ERROR_LIST_PARAM_INVALID
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
def location_by_coords(coords)
|
122
|
-
locations.each do |l|
|
123
|
-
if l.coords.eql?(coords)
|
124
|
-
return l
|
125
|
-
end
|
126
|
-
end
|
127
|
-
return nil
|
128
|
-
end
|
129
|
-
|
130
|
-
def location_coords_by_name(name)
|
131
|
-
locations.each do |l|
|
132
|
-
if l.name.downcase.eql?(name.downcase)
|
133
|
-
return l.coords
|
134
|
-
end
|
135
|
-
end
|
136
|
-
return nil
|
137
|
-
end
|
20
|
+
attr_accessor :monsters, :locations, :weapons, :player, :duration, :emerald_beaten
|
138
21
|
|
139
22
|
def describe(point)
|
140
|
-
desc_text =
|
141
|
-
desc_text << "[>>> #{point.name.upcase} <<<]".colorize(:cyan)
|
23
|
+
desc_text = "[>>> #{point.name_display.upcase} <<<]".colorize(:cyan)
|
142
24
|
|
143
25
|
if GameOptions.data['debug_mode']
|
144
26
|
desc_text << " DL[#{point.danger_level.to_s}] MLR[#{point.monster_level_range.to_s}]".colorize(:yellow)
|
145
27
|
end
|
146
28
|
|
147
29
|
desc_text << "\n"
|
148
|
-
desc_text << point.description
|
30
|
+
desc_text << point.description
|
149
31
|
|
150
|
-
point.populate_monsters(
|
32
|
+
point.populate_monsters(GameMonsters.data) unless point.checked_for_monsters?
|
151
33
|
|
152
34
|
desc_text << "\n >> Monster(s): #{point.list_monsters.join(', ')}".colorize(:yellow) unless point.list_monsters.empty?
|
153
35
|
desc_text << "\n >> Boss(es): #{point.list_bosses.join(', ')}".colorize(:red) unless point.list_bosses.empty?
|
@@ -159,19 +41,19 @@ module Gemwarrior
|
|
159
41
|
desc_text << point.list_actionable_words.colorize(color: :white, background: :grey)
|
160
42
|
end
|
161
43
|
|
162
|
-
|
44
|
+
desc_text
|
163
45
|
end
|
164
46
|
|
165
47
|
def describe_entity(point, entity_name)
|
166
48
|
entity_name.downcase!
|
167
49
|
|
168
|
-
if point.
|
50
|
+
if point.contains_item?(entity_name)
|
169
51
|
point.items.each do |i|
|
170
52
|
if i.name.downcase.eql?(entity_name)
|
171
53
|
if GameOptions.data['debug_mode']
|
172
|
-
return i.
|
54
|
+
return i.describe_detailed
|
173
55
|
else
|
174
|
-
return i.
|
56
|
+
return i.describe
|
175
57
|
end
|
176
58
|
end
|
177
59
|
end
|
@@ -179,9 +61,9 @@ module Gemwarrior
|
|
179
61
|
point.monsters_abounding.each do |m|
|
180
62
|
if m.name.downcase.eql?(entity_name)
|
181
63
|
if GameOptions.data['debug_mode']
|
182
|
-
return m.
|
64
|
+
return m.describe_detailed
|
183
65
|
else
|
184
|
-
return m.
|
66
|
+
return m.describe
|
185
67
|
end
|
186
68
|
end
|
187
69
|
end
|
@@ -189,9 +71,9 @@ module Gemwarrior
|
|
189
71
|
point.bosses_abounding.each do |b|
|
190
72
|
if b.name.downcase.eql?(entity_name)
|
191
73
|
if GameOptions.data['debug_mode']
|
192
|
-
return b.
|
74
|
+
return b.describe_detailed
|
193
75
|
else
|
194
|
-
return b.
|
76
|
+
return b.describe
|
195
77
|
end
|
196
78
|
end
|
197
79
|
end
|
@@ -202,6 +84,30 @@ module Gemwarrior
|
|
202
84
|
end
|
203
85
|
end
|
204
86
|
|
87
|
+
def location_by_coords(coords)
|
88
|
+
locations.each do |l|
|
89
|
+
return l if l.coords.eql?(coords)
|
90
|
+
end
|
91
|
+
nil
|
92
|
+
end
|
93
|
+
|
94
|
+
def location_coords_by_name(name)
|
95
|
+
locations.each do |l|
|
96
|
+
if l.name.downcase.eql?(name.downcase) or l.name_display.downcase.eql?(name.downcase)
|
97
|
+
return l.coords
|
98
|
+
end
|
99
|
+
end
|
100
|
+
nil
|
101
|
+
end
|
102
|
+
|
103
|
+
def location_by_name(location_name)
|
104
|
+
loc = locations[locations.map(&:name).index(location_name)]
|
105
|
+
if loc.nil?
|
106
|
+
loc = locations[locations.map(&:name_display).index(location_name)]
|
107
|
+
end
|
108
|
+
loc.nil? ? nil : loc
|
109
|
+
end
|
110
|
+
|
205
111
|
def can_move?(direction)
|
206
112
|
location_by_coords(player.cur_coords).has_loc_to_the?(direction)
|
207
113
|
end
|
@@ -210,12 +116,127 @@ module Gemwarrior
|
|
210
116
|
possible_combatants = location_by_coords(player.cur_coords).monsters_abounding.map(&:name) | location_by_coords(player.cur_coords).bosses_abounding.map(&:name)
|
211
117
|
|
212
118
|
possible_combatants.each do |combatant|
|
213
|
-
if combatant.downcase.eql?(monster_name.downcase)
|
214
|
-
|
119
|
+
return true if combatant.downcase.eql?(monster_name.downcase)
|
120
|
+
end
|
121
|
+
false
|
122
|
+
end
|
123
|
+
|
124
|
+
def list(param, details = false)
|
125
|
+
case param
|
126
|
+
when 'players'
|
127
|
+
puts '[PLAYERS]'.colorize(:yellow)
|
128
|
+
if details
|
129
|
+
player.check_self(false)
|
130
|
+
else
|
131
|
+
">> players: #{player.name}"
|
132
|
+
end
|
133
|
+
when 'creatures'
|
134
|
+
puts "[CREATURES](#{GameCreatures.data.length})".colorize(:yellow)
|
135
|
+
if details
|
136
|
+
GameCreatures.data.map { |c| print c.describe_detailed }
|
137
|
+
return
|
138
|
+
else
|
139
|
+
">> creatures: #{GameCreatures.data.map(&:name).join(', ')}"
|
215
140
|
end
|
141
|
+
when 'items'
|
142
|
+
puts "[ITEMS](#{GameItems.data.length})".colorize(:yellow)
|
143
|
+
if details
|
144
|
+
GameItems.data.map { |i| print i.describe_detailed }
|
145
|
+
return
|
146
|
+
else
|
147
|
+
">> items: #{GameItems.data.map(&:name).join(', ')}"
|
148
|
+
end
|
149
|
+
when 'locations'
|
150
|
+
puts "[LOCATIONS](#{locations.length})".colorize(:yellow)
|
151
|
+
if details
|
152
|
+
locations.map { |l| print l.describe_detailed }
|
153
|
+
return
|
154
|
+
else
|
155
|
+
">> locations: #{locations.map(&:name).join(', ')}"
|
156
|
+
end
|
157
|
+
when 'monsters'
|
158
|
+
puts "[MONSTERS](#{GameMonsters.data.length})".colorize(:yellow)
|
159
|
+
if details
|
160
|
+
GameMonsters.data.map { |m| print m.describe_detailed }
|
161
|
+
return
|
162
|
+
else
|
163
|
+
">> monsters: #{GameMonsters.data.map(&:name).join(', ')}"
|
164
|
+
end
|
165
|
+
when 'people'
|
166
|
+
puts "[PEOPLE](#{GamePeople.data.length})".colorize(:yellow)
|
167
|
+
if details
|
168
|
+
GamePeople.data.map { |p| print p.describe_detailed }
|
169
|
+
return
|
170
|
+
else
|
171
|
+
">> people: #{GamePeople.data.map(&:name).join(', ')}"
|
172
|
+
end
|
173
|
+
when 'weapons'
|
174
|
+
puts "[WEAPONS](#{GameWeapons.data.length})".colorize(:yellow)
|
175
|
+
if details
|
176
|
+
GameWeapons.data.map { |w| print w.describe_detailed }
|
177
|
+
return
|
178
|
+
else
|
179
|
+
">> weapons: #{GameWeapons.data.map(&:name).join(', ')}"
|
180
|
+
end
|
181
|
+
else
|
182
|
+
ERROR_LIST_PARAM_INVALID
|
216
183
|
end
|
184
|
+
end
|
217
185
|
|
218
|
-
|
186
|
+
def print_vars(show_details = false)
|
187
|
+
puts "======================\n"
|
188
|
+
puts "All Variables in World\n"
|
189
|
+
puts "======================\n"
|
190
|
+
puts "#{list('players', show_details)}\n\n"
|
191
|
+
puts "#{list('creatures', show_details)}\n\n"
|
192
|
+
puts "#{list('monsters', show_details)}\n\n"
|
193
|
+
puts "#{list('items', show_details)}\n\n"
|
194
|
+
puts "#{list('weapons', show_details)}\n\n"
|
195
|
+
puts "#{list('locations', show_details)}\n"
|
196
|
+
puts
|
197
|
+
end
|
198
|
+
|
199
|
+
def print_map(floor)
|
200
|
+
0.upto(WORLD_DIM_HEIGHT - 1) do |count_y|
|
201
|
+
print ' '
|
202
|
+
0.upto(WORLD_DIM_WIDTH - 1) do
|
203
|
+
print '---'
|
204
|
+
end
|
205
|
+
print "\n"
|
206
|
+
print "#{(WORLD_DIM_HEIGHT - 1) - count_y} "
|
207
|
+
0.upto(WORLD_DIM_WIDTH - 1) do |count_x|
|
208
|
+
cur_map_coords = {
|
209
|
+
x: count_x,
|
210
|
+
y: (WORLD_DIM_HEIGHT - 1) - count_y,
|
211
|
+
z: floor.nil? ? self.player.cur_coords[:z] : floor.to_i
|
212
|
+
}
|
213
|
+
if self.player.cur_coords.eql?(cur_map_coords)
|
214
|
+
print '|O|'
|
215
|
+
elsif location_by_coords(cur_map_coords)
|
216
|
+
print '|X|'
|
217
|
+
else
|
218
|
+
print '| |'
|
219
|
+
end
|
220
|
+
end
|
221
|
+
print "\n"
|
222
|
+
end
|
223
|
+
print ' '
|
224
|
+
0.upto(WORLD_DIM_WIDTH - 1) do
|
225
|
+
print '---'
|
226
|
+
end
|
227
|
+
puts
|
228
|
+
print ' '
|
229
|
+
0.upto(WORLD_DIM_WIDTH - 1) do |count_x|
|
230
|
+
print "#{count_x} "
|
231
|
+
end
|
232
|
+
if GameOptions.data['debug_mode']
|
233
|
+
puts
|
234
|
+
puts
|
235
|
+
puts "Current level: #{player.cur_coords[:z]}"
|
236
|
+
puts '| | = invalid location'
|
237
|
+
puts '|X| = valid location'
|
238
|
+
puts '|O| = player'
|
239
|
+
end
|
219
240
|
end
|
220
241
|
end
|
221
242
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemwarrior
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Chadwick
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: os
|
@@ -78,14 +78,14 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 0.4.
|
81
|
+
version: 0.4.10
|
82
82
|
type: :runtime
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: 0.4.
|
88
|
+
version: 0.4.10
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
90
|
name: clocker
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -274,50 +274,41 @@ files:
|
|
274
274
|
- gemwarrior.gemspec
|
275
275
|
- lib/gemwarrior/arena.rb
|
276
276
|
- lib/gemwarrior/battle.rb
|
277
|
+
- lib/gemwarrior/entities/armor.rb
|
278
|
+
- lib/gemwarrior/entities/armor/iron_helmet.rb
|
277
279
|
- lib/gemwarrior/entities/creature.rb
|
280
|
+
- lib/gemwarrior/entities/creatures/cow.rb
|
281
|
+
- lib/gemwarrior/entities/creatures/goat.rb
|
282
|
+
- lib/gemwarrior/entities/creatures/pig.rb
|
278
283
|
- lib/gemwarrior/entities/entity.rb
|
279
284
|
- lib/gemwarrior/entities/item.rb
|
280
285
|
- lib/gemwarrior/entities/items/apple.rb
|
281
286
|
- lib/gemwarrior/entities/items/arena_door.rb
|
282
|
-
- lib/gemwarrior/entities/items/arena_master.rb
|
283
287
|
- lib/gemwarrior/entities/items/bed.rb
|
288
|
+
- lib/gemwarrior/entities/items/bookcase.rb
|
289
|
+
- lib/gemwarrior/entities/items/bullet.rb
|
284
290
|
- lib/gemwarrior/entities/items/couch.rb
|
285
|
-
- lib/gemwarrior/entities/items/cow.rb
|
286
291
|
- lib/gemwarrior/entities/items/cup.rb
|
287
|
-
- lib/gemwarrior/entities/items/dagger.rb
|
288
292
|
- lib/gemwarrior/entities/items/dehumidifier.rb
|
289
|
-
- lib/gemwarrior/entities/items/drunk_man.rb
|
290
293
|
- lib/gemwarrior/entities/items/feather.rb
|
291
294
|
- lib/gemwarrior/entities/items/floor_tile.rb
|
292
295
|
- lib/gemwarrior/entities/items/flower.rb
|
293
|
-
- lib/gemwarrior/entities/items/goat.rb
|
294
|
-
- lib/gemwarrior/entities/items/gun.rb
|
295
296
|
- lib/gemwarrior/entities/items/herb.rb
|
296
297
|
- lib/gemwarrior/entities/items/keystone.rb
|
297
298
|
- lib/gemwarrior/entities/items/ladder.rb
|
298
299
|
- lib/gemwarrior/entities/items/letter.rb
|
299
|
-
- lib/gemwarrior/entities/items/mace.rb
|
300
300
|
- lib/gemwarrior/entities/items/map.rb
|
301
301
|
- lib/gemwarrior/entities/items/massive_door.rb
|
302
|
-
- lib/gemwarrior/entities/items/opalaser.rb
|
303
302
|
- lib/gemwarrior/entities/items/pedestal.rb
|
304
|
-
- lib/gemwarrior/entities/items/pig.rb
|
305
303
|
- lib/gemwarrior/entities/items/pond.rb
|
306
|
-
- lib/gemwarrior/entities/items/queen_ruby.rb
|
307
304
|
- lib/gemwarrior/entities/items/rope.rb
|
308
|
-
- lib/gemwarrior/entities/items/shifty_woman.rb
|
309
305
|
- lib/gemwarrior/entities/items/small_hole.rb
|
310
306
|
- lib/gemwarrior/entities/items/snowman.rb
|
311
307
|
- lib/gemwarrior/entities/items/sparkly_thing.rb
|
312
|
-
- lib/gemwarrior/entities/items/spear.rb
|
313
|
-
- lib/gemwarrior/entities/items/stalactite.rb
|
314
|
-
- lib/gemwarrior/entities/items/stone.rb
|
315
308
|
- lib/gemwarrior/entities/items/stonemite.rb
|
316
309
|
- lib/gemwarrior/entities/items/tent.rb
|
317
|
-
- lib/gemwarrior/entities/items/thin_man.rb
|
318
310
|
- lib/gemwarrior/entities/items/throne.rb
|
319
311
|
- lib/gemwarrior/entities/items/tree.rb
|
320
|
-
- lib/gemwarrior/entities/items/ware_hawker.rb
|
321
312
|
- lib/gemwarrior/entities/items/waterfall.rb
|
322
313
|
- lib/gemwarrior/entities/location.rb
|
323
314
|
- lib/gemwarrior/entities/monster.rb
|
@@ -329,18 +320,37 @@ files:
|
|
329
320
|
- lib/gemwarrior/entities/monsters/bloodstorm.rb
|
330
321
|
- lib/gemwarrior/entities/monsters/bosses/emerald.rb
|
331
322
|
- lib/gemwarrior/entities/monsters/bosses/garynetty.rb
|
323
|
+
- lib/gemwarrior/entities/monsters/bosses/jaspern.rb
|
332
324
|
- lib/gemwarrior/entities/monsters/citrinaga.rb
|
333
325
|
- lib/gemwarrior/entities/monsters/coraliz.rb
|
334
326
|
- lib/gemwarrior/entities/monsters/cubicat.rb
|
335
327
|
- lib/gemwarrior/entities/monsters/diaman.rb
|
328
|
+
- lib/gemwarrior/entities/people/arena_master.rb
|
329
|
+
- lib/gemwarrior/entities/people/drunk_man.rb
|
330
|
+
- lib/gemwarrior/entities/people/queen_ruby.rb
|
331
|
+
- lib/gemwarrior/entities/people/rockney.rb
|
332
|
+
- lib/gemwarrior/entities/people/shifty_woman.rb
|
333
|
+
- lib/gemwarrior/entities/people/thin_man.rb
|
334
|
+
- lib/gemwarrior/entities/people/ware_hawker.rb
|
335
|
+
- lib/gemwarrior/entities/person.rb
|
336
336
|
- lib/gemwarrior/entities/player.rb
|
337
|
+
- lib/gemwarrior/entities/weapon.rb
|
338
|
+
- lib/gemwarrior/entities/weapons/dagger.rb
|
339
|
+
- lib/gemwarrior/entities/weapons/gun.rb
|
340
|
+
- lib/gemwarrior/entities/weapons/mace.rb
|
341
|
+
- lib/gemwarrior/entities/weapons/opalaser.rb
|
342
|
+
- lib/gemwarrior/entities/weapons/spear.rb
|
343
|
+
- lib/gemwarrior/entities/weapons/stalactite.rb
|
344
|
+
- lib/gemwarrior/entities/weapons/stone.rb
|
337
345
|
- lib/gemwarrior/evaluator.rb
|
338
346
|
- lib/gemwarrior/game.rb
|
347
|
+
- lib/gemwarrior/game_assets.rb
|
339
348
|
- lib/gemwarrior/game_options.rb
|
340
349
|
- lib/gemwarrior/inventory.rb
|
341
350
|
- lib/gemwarrior/misc/animation.rb
|
351
|
+
- lib/gemwarrior/misc/audio.rb
|
352
|
+
- lib/gemwarrior/misc/audio_cues.rb
|
342
353
|
- lib/gemwarrior/misc/formatting.rb
|
343
|
-
- lib/gemwarrior/misc/music.rb
|
344
354
|
- lib/gemwarrior/misc/musical_notes.rb
|
345
355
|
- lib/gemwarrior/misc/name_generator.rb
|
346
356
|
- lib/gemwarrior/misc/player_levels.rb
|
@@ -375,4 +385,6 @@ rubygems_version: 2.4.8
|
|
375
385
|
signing_key:
|
376
386
|
specification_version: 4
|
377
387
|
summary: RubyGem text adventure
|
378
|
-
test_files:
|
388
|
+
test_files:
|
389
|
+
- spec/gemwarrior_spec.rb
|
390
|
+
- spec/spec_helper.rb
|