gemwarrior 0.8.7 → 0.8.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/data/locations.yml +19 -0
- data/lib/gemwarrior/entities/item.rb +2 -1
- data/lib/gemwarrior/entities/items/dagger.rb +19 -0
- data/lib/gemwarrior/entities/items/small_hole.rb +87 -0
- data/lib/gemwarrior/evaluator.rb +5 -2
- data/lib/gemwarrior/version.rb +1 -1
- data/lib/gemwarrior/world.rb +6 -2
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fa82fbc6782413cc8ed1c240c0ba60fb29a36d35
|
4
|
+
data.tar.gz: 796d5835605a51733e5afe922eae97e188a2c211
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c0126cfa23604ce2197888921bd0f3fbd7d93042d738782314ac3a3bafd0f91496d67adc77aa4f7bac6c1f259d8622d09ac26afb4ffd6d5ca71798a430f1308
|
7
|
+
data.tar.gz: 6a4c98268a64db8c57a8f90d6312eaae5ca551a164366a6102e02a5776bbb6777ca745676d520cacbea2df847d85fcb2f754ba0c3bf75278f304dcaf10b797ce
|
data/data/locations.yml
CHANGED
@@ -225,6 +225,25 @@
|
|
225
225
|
lo: 3
|
226
226
|
hi: 4
|
227
227
|
|
228
|
+
-
|
229
|
+
name: 'Tunnel Alcove'
|
230
|
+
description: 'A moderately-sized alcove seems to have been blown out of the side of tunnel here, almost as if an actual bomb detonated, the remainder of the wall a mix of rock and wires.'
|
231
|
+
danger_level: :moderate
|
232
|
+
coords:
|
233
|
+
x: 4
|
234
|
+
y: 5
|
235
|
+
z: -1
|
236
|
+
locs_connected:
|
237
|
+
north: false
|
238
|
+
east: true
|
239
|
+
south: false
|
240
|
+
west: false
|
241
|
+
monster_level_range:
|
242
|
+
lo: 3
|
243
|
+
hi: 4
|
244
|
+
items:
|
245
|
+
- SmallHole
|
246
|
+
|
228
247
|
-
|
229
248
|
name: 'Metal Tunnel'
|
230
249
|
description: 'The walls of this underground tunnel shine, as if some otherworldly light source emanates directly from them. It is cold and narrow and you are not sure you are a huge fan of it.'
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# lib/gemwarrior/entities/items/dagger.rb
|
2
|
+
# Item::Dagger
|
3
|
+
|
4
|
+
require_relative '../item'
|
5
|
+
|
6
|
+
module Gemwarrior
|
7
|
+
class Dagger < Item
|
8
|
+
def initialize
|
9
|
+
self.name = 'dagger'
|
10
|
+
self.description = 'Flint that has been sharpened to a point, attached to a block of smooth granite by thin rope. Truly a work of art.'
|
11
|
+
self.atk_lo = 2
|
12
|
+
self.atk_hi = 4
|
13
|
+
self.takeable = true
|
14
|
+
self.useable = false
|
15
|
+
self.equippable = true
|
16
|
+
self.equipped = false
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
# lib/gemwarrior/entities/items/small_hole.rb
|
2
|
+
# Item::SmallHole
|
3
|
+
|
4
|
+
require_relative '../item'
|
5
|
+
require_relative 'herb'
|
6
|
+
require_relative 'dagger'
|
7
|
+
|
8
|
+
module Gemwarrior
|
9
|
+
PLAYER_ROX_INSUFFICIENT = 'You do not have enough rox to purchase that item.'
|
10
|
+
|
11
|
+
class SmallHole < Item
|
12
|
+
def initialize
|
13
|
+
self.name = 'small_hole'
|
14
|
+
self.description = 'Amongst the rubble of the alcove, a small hole, barely big enough for a rodent, exists in an absently-minded way near the bottom of the wall.'
|
15
|
+
self.atk_lo = nil
|
16
|
+
self.atk_hi = nil
|
17
|
+
self.takeable = false
|
18
|
+
self.useable = true
|
19
|
+
self.equippable = false
|
20
|
+
self.equipped = false
|
21
|
+
end
|
22
|
+
|
23
|
+
def use(player = nil)
|
24
|
+
puts 'You lower yourself to the ground and attempt to peer in the hole in the wall. Just as you begin to think this is a fruitless endeavor, a pair of bright, beady eyes manifest, and an unexpectedly low voice begins speaking to you:'
|
25
|
+
|
26
|
+
rat_shop(player)
|
27
|
+
end
|
28
|
+
|
29
|
+
def reuse(player = nil)
|
30
|
+
rat_shop(player)
|
31
|
+
end
|
32
|
+
|
33
|
+
def rat_shop(player)
|
34
|
+
items_purchased = []
|
35
|
+
|
36
|
+
puts '>>"Hello, wanderer. Welcome to my establishment, as it were. Are you in need of anything?"'
|
37
|
+
puts
|
38
|
+
puts 'The creature gently shoves a small slip of paper out of his hole and towards you. You take a peek and notice it has a list of things with prices on it.'
|
39
|
+
puts
|
40
|
+
puts 'Rodney\'s Hole in the Wall'
|
41
|
+
puts '--------------------------'
|
42
|
+
puts '(1) Herb - 10 rox'
|
43
|
+
puts '(2) Dagger - 150 rox'
|
44
|
+
puts
|
45
|
+
puts '>>"What are you in need of?"'
|
46
|
+
|
47
|
+
loop do
|
48
|
+
puts " 1 - Herb"
|
49
|
+
puts " 2 - Dagger"
|
50
|
+
puts " x - leave"
|
51
|
+
|
52
|
+
choice = gets.chomp!
|
53
|
+
|
54
|
+
case choice
|
55
|
+
when '1'
|
56
|
+
if player.rox >= 10
|
57
|
+
player.rox -= 10
|
58
|
+
items_purchased.push(Herb.new)
|
59
|
+
puts '>>"Excellent choice."'
|
60
|
+
puts '>>"Anything else?"'
|
61
|
+
next
|
62
|
+
else
|
63
|
+
puts PLAYER_ROX_INSUFFICIENT
|
64
|
+
next
|
65
|
+
end
|
66
|
+
when '2'
|
67
|
+
if player.rox >= 150
|
68
|
+
player.rox -= 150
|
69
|
+
items_purchased.push(Dagger.new)
|
70
|
+
puts '>>"A fine blade, indeed."'
|
71
|
+
puts '>>"Anything else?"'
|
72
|
+
next
|
73
|
+
else
|
74
|
+
puts PLAYER_ROX_INSUFFICIENT
|
75
|
+
next
|
76
|
+
end
|
77
|
+
when 'x'
|
78
|
+
puts '>>"If you need anything further, I\'m always in this hole..."'
|
79
|
+
return {:type => 'purchase', :data => items_purchased}
|
80
|
+
else
|
81
|
+
puts '>>"Huh?"'
|
82
|
+
next
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
data/lib/gemwarrior/evaluator.rb
CHANGED
@@ -120,7 +120,7 @@ module Gemwarrior
|
|
120
120
|
return world.list(param1, param2)
|
121
121
|
end
|
122
122
|
when 'map', 'm'
|
123
|
-
world.print_map
|
123
|
+
world.print_map(param1)
|
124
124
|
when 'stat', 'st', 's'
|
125
125
|
if param1.nil?
|
126
126
|
puts ERROR_DEBUG_STAT_PARAM_MISSING
|
@@ -316,10 +316,13 @@ module Gemwarrior
|
|
316
316
|
when 'arena'
|
317
317
|
arena = Arena.new({:world => world, :player => world.player})
|
318
318
|
arena.start
|
319
|
-
#return 'You enter the arena and fight some battles. It was cool, but not as cool as if it were actually implemented.'
|
320
319
|
when 'item'
|
321
320
|
world.location_by_coords(world.player.cur_coords).add_item(result[:data])
|
322
321
|
return
|
322
|
+
when 'purchase'
|
323
|
+
result[:data].each do |i|
|
324
|
+
world.player.inventory.items.push(i)
|
325
|
+
end
|
323
326
|
else
|
324
327
|
return
|
325
328
|
end
|
data/lib/gemwarrior/version.rb
CHANGED
data/lib/gemwarrior/world.rb
CHANGED
@@ -35,7 +35,7 @@ module Gemwarrior
|
|
35
35
|
puts "#{list("locations", true)}\n"
|
36
36
|
end
|
37
37
|
|
38
|
-
def print_map
|
38
|
+
def print_map(floor)
|
39
39
|
0.upto(WORLD_DIM_HEIGHT-1) do |count_y|
|
40
40
|
print ' '
|
41
41
|
0.upto(WORLD_DIM_WIDTH-1) do
|
@@ -44,7 +44,11 @@ module Gemwarrior
|
|
44
44
|
print "\n"
|
45
45
|
print "#{(WORLD_DIM_HEIGHT-1) - count_y} "
|
46
46
|
0.upto(WORLD_DIM_WIDTH-1) do |count_x|
|
47
|
-
cur_map_coords = {
|
47
|
+
cur_map_coords = {
|
48
|
+
:x => count_x,
|
49
|
+
:y => (WORLD_DIM_HEIGHT-1) - count_y,
|
50
|
+
:z => floor.nil? ? self.player.cur_coords[:z] : floor.to_i
|
51
|
+
}
|
48
52
|
if self.player.cur_coords.eql?(cur_map_coords)
|
49
53
|
print '|O|'
|
50
54
|
elsif location_by_coords(cur_map_coords)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemwarrior
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Chadwick
|
@@ -214,6 +214,7 @@ files:
|
|
214
214
|
- lib/gemwarrior/entities/items/bed.rb
|
215
215
|
- lib/gemwarrior/entities/items/couch.rb
|
216
216
|
- lib/gemwarrior/entities/items/cup.rb
|
217
|
+
- lib/gemwarrior/entities/items/dagger.rb
|
217
218
|
- lib/gemwarrior/entities/items/dehumidifier.rb
|
218
219
|
- lib/gemwarrior/entities/items/feather.rb
|
219
220
|
- lib/gemwarrior/entities/items/floor_tile.rb
|
@@ -227,6 +228,7 @@ files:
|
|
227
228
|
- lib/gemwarrior/entities/items/opalaser.rb
|
228
229
|
- lib/gemwarrior/entities/items/pond.rb
|
229
230
|
- lib/gemwarrior/entities/items/rope.rb
|
231
|
+
- lib/gemwarrior/entities/items/small_hole.rb
|
230
232
|
- lib/gemwarrior/entities/items/snowman.rb
|
231
233
|
- lib/gemwarrior/entities/items/sparklything.rb
|
232
234
|
- lib/gemwarrior/entities/items/stalactite.rb
|