gemwarrior 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 802e8eb109de45ef2c968edc3fb59a7cf7653ff5
4
- data.tar.gz: fb8400dcd4e0fc1e877702c529ecc4e3ee3dd220
3
+ metadata.gz: 877ec35a557a565c6297fd1254125da52bd0f994
4
+ data.tar.gz: 3e81dde82503f12558cab8de01604342e1794512
5
5
  SHA512:
6
- metadata.gz: e1c9a822d15ff61e3867d2829be1bfd8127603201e69396afca0fb68deded08e11d32ade379a9d07ba5a90ce363c2dccb34420bbcf733294c26cf1be38e5da80
7
- data.tar.gz: d15377a5acae4b68cf4518b8290fd0ce5e5664d02d581026c4be30d81cdc404db9ed4fc6d7eda3254177c5245ef2c8295d7bf671c6865523c0392b35a95533af
6
+ metadata.gz: 57f4c3245515b5af14ab08c55247340fe6aba4c1f9ec68ba7863d4c44478c4e76f6a78c8fde8bcd31daf5b2bde0cb5f87ea208871793fd88bbe21ee3b8576463
7
+ data.tar.gz: b9aaa6b225669244a13d2e9405cf1961fd868b1ad150a997c33e2c9cb35024a93d4a3836bfd2233c5ba6f3a20a66f7c9ec9c34e657c941f80d3c1e2c80404e51
@@ -16,14 +16,18 @@ module Gemwarrior
16
16
  def start
17
17
  print_arena_intro
18
18
 
19
- monsters_vanquished = 0
19
+ arena_monsters_vanquished = 0
20
20
 
21
21
  loop do
22
22
  monster = generate_monster
23
23
  battle = Battle.new({:world => self.world, :player => self.player, :monster => monster})
24
- battle.start(is_arena = true)
24
+ result = battle.start(is_arena = true)
25
+
26
+ if result.eql?('death')
27
+ return 'exit'
28
+ end
25
29
 
26
- monsters_vanquished += 1
30
+ arena_monsters_vanquished += 1
27
31
 
28
32
  puts 'Do you wish to continue fighting in the Arena? (Y/N)'
29
33
  answer = gets.chomp.downcase
@@ -32,11 +36,12 @@ module Gemwarrior
32
36
  when 'yes', 'y'
33
37
  next
34
38
  else
35
- bonus_rox = monsters_vanquished * 25
36
- bonus_xp = monsters_vanquished * 10
39
+ bonus_rox = arena_monsters_vanquished * 25
40
+ bonus_xp = arena_monsters_vanquished * 10
37
41
  player.rox = player.rox + bonus_rox
38
42
  player.xp = player.xp + bonus_xp
39
43
  puts 'You decided you\'ve had enough of the exhausting Arena for one day and exit the main stage.'
44
+ puts "You defeated #{arena_monsters_vanquished} monsters!"
40
45
  puts "You have gained #{bonus_rox} rox and #{bonus_xp} XP!"
41
46
 
42
47
  return print_arena_outro
@@ -5,8 +5,6 @@ require_relative 'misc/player_levels'
5
5
 
6
6
  module Gemwarrior
7
7
  class Battle
8
- include PlayerLevels
9
-
10
8
  # CONSTANTS
11
9
  ## ERRORS
12
10
  ERROR_ATTACK_OPTION_INVALID = 'That will not do anything against the monster.'
@@ -15,13 +13,13 @@ module Gemwarrior
15
13
  ## MESSAGES
16
14
  TEXT_ESCAPE = 'POOF'
17
15
 
18
- attr_accessor :world, :player, :monster, :player_defending
16
+ attr_accessor :world, :player, :monster, :player_is_defending
19
17
 
20
18
  def initialize(options)
21
- self.world = options.fetch(:world)
22
- self.player = options.fetch(:player)
23
- self.monster = options.fetch(:monster)
24
- self.player_defending = false
19
+ self.world = options.fetch(:world)
20
+ self.player = options.fetch(:player)
21
+ self.monster = options.fetch(:monster)
22
+ self.player_is_defending = false
25
23
  end
26
24
 
27
25
  def start(is_arena = nil, is_event = nil)
@@ -53,8 +51,10 @@ module Gemwarrior
53
51
  return
54
52
  elsif player_dead?
55
53
  player_death
54
+ return 'death'
56
55
  end
57
56
 
57
+ # check for near death
58
58
  if player_near_death?
59
59
  puts "You are almost dead!\n".colorize(:yellow)
60
60
  end
@@ -63,14 +63,16 @@ module Gemwarrior
63
63
  end
64
64
 
65
65
  puts
66
- print "PLAYER :: #{player.hp_cur.to_s.rjust(3)} HP"
66
+
67
+ # print health info
68
+ print "#{player.name.upcase.ljust(12)} :: #{player.hp_cur.to_s.rjust(3)} HP"
67
69
  if world.debug_mode
68
70
  print " (LVL: #{player.level})"
69
71
  end
70
72
  print "\n"
71
73
 
72
- print "MONSTER :: "
73
- if world.debug_mode || PlayerLevels::get_level_stats(player.level)[:special_abilities].include?(:rocking_vision)
74
+ print "#{monster.name.upcase.ljust(12)} :: "
75
+ if world.debug_mode || player.special_abilities.include?(:rocking_vision)
74
76
  print "#{monster.hp_cur.to_s.rjust(3)}"
75
77
  else
76
78
  print "???"
@@ -82,8 +84,9 @@ module Gemwarrior
82
84
  print "\n"
83
85
  puts
84
86
 
85
- self.player_defending = false
87
+ self.player_is_defending = false
86
88
 
89
+ # battle options prompt
87
90
  puts 'What do you do?'
88
91
  print '['.colorize(:yellow)
89
92
  print 'F'.colorize(:green)
@@ -94,14 +97,16 @@ module Gemwarrior
94
97
  print 'efend]['.colorize(:yellow)
95
98
  print 'L'.colorize(:green)
96
99
  print 'ook]['.colorize(:yellow)
100
+ print 'P'.colorize(:green)
101
+ print 'ass]['.colorize(:yellow)
97
102
  print 'R'.colorize(:green)
98
103
  print 'un]'.colorize(:yellow)
99
104
  print "\n"
100
105
 
101
- cmd = STDIN.gets.chomp.downcase
106
+ player_action = STDIN.gets.chomp.downcase
102
107
 
103
108
  # player action
104
- case cmd
109
+ case player_action
105
110
  when 'fight', 'f', 'attack', 'a'
106
111
  puts "You attack #{monster.name}#{player.cur_weapon_name}!"
107
112
  dmg = calculate_damage_to(monster)
@@ -116,7 +121,9 @@ module Gemwarrior
116
121
  end
117
122
  when 'defend', 'd'
118
123
  puts 'You dig in and defend this round.'
119
- self.player_defending = true
124
+ self.player_is_defending = true
125
+ when 'pass', 'p'
126
+ puts 'You decide to pass your turn for some reason. Brave!'
120
127
  when 'look', 'l'
121
128
  print "#{monster.name}".colorize(:white)
122
129
  print " (#{monster.hp_cur}/#{monster.hp_max} HP): #{monster.description}\n"
@@ -164,7 +171,7 @@ module Gemwarrior
164
171
  rand(atk_range)
165
172
  else
166
173
  dmg = rand(monster.atk_lo..monster.atk_hi)
167
- dmg = dmg - (entity.defense / 2) if player_defending
174
+ dmg = dmg - (entity.defense / 2) if player_is_defending
168
175
  return dmg
169
176
  end
170
177
  end
@@ -205,9 +212,6 @@ module Gemwarrior
205
212
  dmg = calculate_damage_to(player)
206
213
  if dmg > 0
207
214
  take_damage(player, dmg)
208
- if player_dead?
209
- player_death
210
- end
211
215
  else
212
216
  puts "#{monster.name} misses entirely!".colorize(:yellow)
213
217
  end
@@ -242,13 +246,13 @@ module Gemwarrior
242
246
  ])
243
247
  puts monster.defeated_text
244
248
  gets
245
- exit(0)
249
+ return 'exit'
246
250
  else
247
251
  puts 'You just beat a boss monster. Way to go!'
248
252
  puts " XP : #{monster.xp}".colorize(:green)
249
253
  puts " ROX: #{monster.rox}".colorize(:green)
250
254
  print_battle_line
251
- update_player_stats
255
+ player.update_stats(monster)
252
256
  world.location_by_coords(player.cur_coords).remove_monster(monster.name)
253
257
  end
254
258
  else
@@ -259,47 +263,12 @@ module Gemwarrior
259
263
  puts " ITEMS: #{monster.inventory.list_contents}".colorize(:green) unless monster.inventory.items.empty?
260
264
  end
261
265
  print_battle_line
262
- update_player_stats
266
+ player.update_stats(monster)
263
267
  world.location_by_coords(player.cur_coords).remove_monster(monster.name)
264
268
  end
265
269
  end
266
270
 
267
271
  # PLAYER
268
- def update_player_stats
269
- old_player_level = PlayerLevels::check_level(player.xp)
270
-
271
- player.xp = player.xp + monster.xp
272
- player.rox = player.rox + monster.rox
273
-
274
- monster_items = monster.inventory.items
275
- unless monster_items.nil?
276
- player.inventory.items.concat monster_items unless monster_items.empty?
277
- end
278
-
279
- new_player_level = PlayerLevels::check_level(player.xp)
280
-
281
- if new_player_level > old_player_level
282
- Animation::run({:phrase => '** LEVEL UP! **'})
283
- new_stats = PlayerLevels::get_level_stats(new_player_level)
284
-
285
- player.level = new_stats[:level]
286
- puts "You are now level #{player.level}!"
287
- player.hp_cur = new_stats[:hp_max]
288
- player.hp_max = new_stats[:hp_max]
289
- puts "You now have #{player.hp_max} hit points!"
290
- player.stam_cur = new_stats[:stam_max]
291
- player.stam_max = new_stats[:stam_max]
292
- puts "You now have #{player.stam_max} stamina points!"
293
- player.atk_lo = new_stats[:atk_lo]
294
- player.atk_hi = new_stats[:atk_hi]
295
- puts "You now have an attack of #{player.atk_lo}-#{player.atk_hi}!"
296
- player.defense = new_stats[:defense]
297
- puts "You now have #{player.defense} defensive points!"
298
- player.dexterity = new_stats[:dexterity]
299
- puts "You now have #{player.dexterity} dexterity points!"
300
- end
301
- end
302
-
303
272
  def player_near_death?
304
273
  ((player.hp_cur.to_f / player.hp_max.to_f) < 0.10 && !player.god_mode)
305
274
  end
@@ -312,7 +281,6 @@ module Gemwarrior
312
281
  puts "You are dead, slain by the #{monster.name}!".colorize(:red)
313
282
  puts 'Your adventure ends here. Try again next time!'.colorize(:red)
314
283
  print_battle_line
315
- return 'exit'
316
284
  end
317
285
 
318
286
  def player_escape?
@@ -11,6 +11,7 @@ module Gemwarrior
11
11
  :useable,
12
12
  :equippable,
13
13
  :equipped,
14
+ :consumable,
14
15
  :use,
15
16
  :reuse
16
17
 
@@ -12,6 +12,7 @@ module Gemwarrior
12
12
  self.atk_hi = nil
13
13
  self.takeable = true
14
14
  self.useable = true
15
+ self.consumable = true
15
16
  self.equippable = false
16
17
  self.equipped = false
17
18
  end
@@ -21,7 +21,7 @@ module Gemwarrior
21
21
 
22
22
  def use(player = nil)
23
23
  puts 'You gently place your fingers on the pond\'s rippling surface.'
24
- binding.pry
24
+
25
25
  if (NEEDED_ITEMS - player.inventory.items.map(&:name)).empty?
26
26
  puts 'The pond water explodes with a force that knocks you back onto the ground. When you come to, you notice the depression in the ground where the pond once was now has a new curious object!'
27
27
  self.description = 'A barren depression in the ground is all that is left of the pond.'
@@ -12,37 +12,39 @@ module Gemwarrior
12
12
  include PlayerLevels
13
13
 
14
14
  attr_accessor :stam_cur, :stam_max, :cur_coords,
15
- :god_mode, :beast_mode, :use_wordnik,
15
+ :god_mode, :beast_mode, :use_wordnik, :special_abilities,
16
16
  :monsters_killed, :items_taken, :movements_made, :rests_taken
17
17
 
18
18
  def initialize(options)
19
- self.name = generate_name
20
- self.description = options.fetch(:description)
21
- self.use_wordnik = options.fetch(:use_wordnik)
19
+ self.name = generate_name
20
+ self.description = options.fetch(:description)
21
+ self.use_wordnik = options.fetch(:use_wordnik)
22
22
 
23
- self.face = generate_face(use_wordnik)
24
- self.hands = generate_hands(use_wordnik)
25
- self.mood = generate_mood(use_wordnik)
23
+ self.face = generate_face(use_wordnik)
24
+ self.hands = generate_hands(use_wordnik)
25
+ self.mood = generate_mood(use_wordnik)
26
26
 
27
- self.level = options.fetch(:level)
28
- self.xp = options.fetch(:xp)
29
- self.hp_cur = options.fetch(:hp_cur)
30
- self.hp_max = options.fetch(:hp_max)
31
- self.atk_lo = options.fetch(:atk_lo)
32
- self.atk_hi = options.fetch(:atk_hi)
27
+ self.level = options.fetch(:level)
28
+ self.xp = options.fetch(:xp)
29
+ self.hp_cur = options.fetch(:hp_cur)
30
+ self.hp_max = options.fetch(:hp_max)
31
+ self.atk_lo = options.fetch(:atk_lo)
32
+ self.atk_hi = options.fetch(:atk_hi)
33
33
 
34
- self.defense = options.fetch(:defense)
35
- self.dexterity = options.fetch(:dexterity)
34
+ self.defense = options.fetch(:defense)
35
+ self.dexterity = options.fetch(:dexterity)
36
36
 
37
- self.inventory = Inventory.new
38
- self.rox = options.fetch(:rox)
37
+ self.inventory = Inventory.new([Herb.new])
38
+ self.rox = options.fetch(:rox)
39
39
 
40
- self.stam_cur = options.fetch(:stam_cur)
41
- self.stam_max = options.fetch(:stam_max)
42
- self.cur_coords = options.fetch(:cur_coords)
40
+ self.stam_cur = options.fetch(:stam_cur)
41
+ self.stam_max = options.fetch(:stam_max)
42
+ self.cur_coords = options.fetch(:cur_coords)
43
43
 
44
- self.god_mode = options.fetch(:god_mode)
45
- self.beast_mode = options.fetch(:beast_mode)
44
+ self.god_mode = options.fetch(:god_mode)
45
+ self.beast_mode = options.fetch(:beast_mode)
46
+
47
+ self.special_abilities = []
46
48
 
47
49
  self.monsters_killed = 0
48
50
  self.items_taken = 0
@@ -63,6 +65,13 @@ module Gemwarrior
63
65
  else
64
66
  weapon_slot = '(unarmed)'
65
67
  end
68
+
69
+ abilities = ''
70
+ if special_abilities.empty?
71
+ abilities = 'none'
72
+ else
73
+ abilities = special_abilities.join(', ')
74
+ end
66
75
 
67
76
  self_text = "NAME : #{self.name}\n"
68
77
  self_text << "POSITION : #{self.cur_coords.values.to_a}\n"
@@ -73,6 +82,7 @@ module Gemwarrior
73
82
  self_text << "ATTACK : #{self.atk_lo}-#{self.atk_hi}\n"
74
83
  self_text << "DEXTERITY : #{self.dexterity}\n"
75
84
  self_text << "DEFENSE : #{self.defense}\n"
85
+ self_text << "ABILITIES : #{abilities}\n"
76
86
  if debug_mode
77
87
  self_text << "GOD_MODE : #{self.god_mode}\n"
78
88
  self_text << "BEAST_MODE: #{self.beast_mode}\n"
@@ -185,7 +195,10 @@ module Gemwarrior
185
195
 
186
196
  def attack(world, monster)
187
197
  battle = Battle.new({:world => world, :player => self, :monster => monster})
188
- battle.start
198
+ result = battle.start
199
+ if result.eql?('death')
200
+ return 'exit'
201
+ end
189
202
  end
190
203
 
191
204
  def has_weapon_equipped?
@@ -214,13 +227,54 @@ module Gemwarrior
214
227
  self.hp_cur = self.hp_max
215
228
  end
216
229
  end
230
+
231
+ def update_stats(monster)
232
+ old_player_level = PlayerLevels::check_level(self.xp)
233
+
234
+ self.xp = self.xp + monster.xp
235
+ self.rox = self.rox + monster.rox
236
+
237
+ monster_items = monster.inventory.items
238
+ unless monster_items.nil?
239
+ self.inventory.items.concat monster_items unless monster_items.empty?
240
+ end
241
+
242
+ new_player_level = PlayerLevels::check_level(self.xp)
243
+
244
+ if new_player_level > old_player_level
245
+ Animation::run({:phrase => '** LEVEL UP! **'})
246
+ new_stats = PlayerLevels::get_level_stats(new_player_level)
247
+
248
+ self.level = new_stats[:level]
249
+ puts "You are now level #{self.level}!"
250
+ self.hp_cur = new_stats[:hp_max]
251
+ self.hp_max = new_stats[:hp_max]
252
+ puts "You now have #{self.hp_max} hit points!"
253
+ self.stam_cur = new_stats[:stam_max]
254
+ self.stam_max = new_stats[:stam_max]
255
+ puts "You now have #{self.stam_max} stamina points!"
256
+ self.atk_lo = new_stats[:atk_lo]
257
+ self.atk_hi = new_stats[:atk_hi]
258
+ puts "You now have an attack of #{self.atk_lo}-#{self.atk_hi}!"
259
+ self.defense = new_stats[:defense]
260
+ puts "You now have #{self.defense} defensive points!"
261
+ self.dexterity = new_stats[:dexterity]
262
+ puts "You now have #{self.dexterity} dexterity points!"
263
+ unless new_stats[:special_abilities].nil?
264
+ unless self.special_abilities.include?(new_stats[:special_abilities])
265
+ self.special_abilities.push(new_stats[:special_abilities])
266
+ puts "You learned a new ability: #{new_stats[:special_abilities]}!"
267
+ end
268
+ end
269
+ end
270
+ end
217
271
 
218
272
  private
219
273
 
220
274
  def player_death
221
275
  puts 'Your actions have reduced you to death.'.colorize(:red)
222
276
  puts 'Your adventure ends here. Try again next time!'.colorize(:red)
223
- exit(0)
277
+ return 'exit'
224
278
  end
225
279
 
226
280
  # TRAVEL
@@ -127,7 +127,7 @@ module Gemwarrior
127
127
  return DEBUG_STAT_PARAMS
128
128
  else
129
129
  case param1
130
- when 'hp_cur'
130
+ when 'hp_cur', 'hp'
131
131
  unless param2.nil?
132
132
  param2 = param2.to_i
133
133
  if param2.is_a? Numeric
@@ -182,6 +182,19 @@ module Gemwarrior
182
182
  end
183
183
  end
184
184
  end
185
+ when 'experience', 'xp'
186
+ unless param2.nil?
187
+ param2 = param2.to_i
188
+ if param2.is_a? Numeric
189
+ if param2 >= 0
190
+ world.player.xp = param2
191
+ end
192
+ end
193
+ end
194
+ when 'inventory', 'inv'
195
+ unless param2.nil?
196
+ world.player.inventory.items.push(eval(param2).new)
197
+ end
185
198
  else
186
199
  return ERROR_DEBUG_STAT_PARAM_INVALID
187
200
  end
@@ -266,28 +279,39 @@ module Gemwarrior
266
279
  else
267
280
  item_name = param1
268
281
  result = nil
269
- location_inventory = world.location_by_coords(world.player.cur_coords).items
270
282
 
271
- if location_inventory.map(&:name).include?(item_name)
272
- location_inventory.each do |i|
283
+ player_inventory = world.player.inventory.items
284
+ location_inventory = world.location_by_coords(world.player.cur_coords).items
285
+
286
+ if player_inventory.map(&:name).include?(item_name)
287
+ player_inventory.each do |i|
273
288
  if i.name.eql?(item_name)
274
289
  if i.useable
275
290
  result = i.use(world.player)
291
+ if i.consumable
292
+ world.player.inventory.remove_item(i.name)
293
+ return
294
+ else
295
+ return
296
+ end
276
297
  else
277
298
  return ERROR_USE_PARAM_UNUSEABLE
278
299
  end
279
300
  end
280
301
  end
281
- elsif
282
- player_inventory = world.player.inventory.items
283
- if player_inventory.map(&:name).include?(item_name)
284
- player_inventory.each do |i|
285
- if i.name.eql?(item_name)
286
- if i.useable
287
- result = i.use(world.player)
302
+ elsif location_inventory.map(&:name).include?(item_name)
303
+ location_inventory.each do |i|
304
+ if i.name.eql?(item_name)
305
+ if i.useable
306
+ result = i.use(world.player)
307
+ if i.consumable
308
+ world.location_by_coords(world.player.cur_coords).remove_item(i)
309
+ return
288
310
  else
289
- return ERROR_USE_PARAM_UNUSEABLE
311
+ return
290
312
  end
313
+ else
314
+ return ERROR_USE_PARAM_UNUSEABLE
291
315
  end
292
316
  end
293
317
  end
@@ -319,7 +343,11 @@ module Gemwarrior
319
343
  end
320
344
  when 'arena'
321
345
  arena = Arena.new({:world => world, :player => world.player})
322
- arena.start
346
+ result = arena.start
347
+
348
+ if result.eql?('exit')
349
+ return 'exit'
350
+ end
323
351
  when 'item'
324
352
  world.location_by_coords(world.player.cur_coords).add_item(result[:data])
325
353
  return
@@ -102,9 +102,11 @@ module Gemwarrior
102
102
 
103
103
  def remove_item(item_name)
104
104
  if contains_item?(item_name)
105
- items.reject! { |item| item.name == item_name }
105
+ items.delete_at(items.map(&:name).index(item_name) || items.length)
106
106
 
107
- self.weapon = nil if self.weapon.name.eql?(item_name)
107
+ unless self.weapon.nil?
108
+ self.weapon = nil if self.weapon.name.eql?(item_name)
109
+ end
108
110
 
109
111
  return "The #{item_name} has been thrown on the ground, but far out of reach, and you're much too lazy to go get it now, so it's as good as gone."
110
112
  else
@@ -7,59 +7,59 @@ module Gemwarrior
7
7
  case level
8
8
  when 1
9
9
  {
10
- :level => 1, :xp_start => 0,
11
- :hp_max => 30, :stam_max => 20,
12
- :atk_lo => 1, :atk_hi => 2,
13
- :defense => 5, :dexterity => 5,
14
- :special_abilities => []
10
+ :level => 1, :xp_start => 0,
11
+ :hp_max => 30, :stam_max => 20,
12
+ :atk_lo => 1, :atk_hi => 2,
13
+ :defense => 5, :dexterity => 5,
14
+ :special_abilities => nil
15
15
  }
16
16
  when 2
17
17
  {
18
- :level => 2, :xp_start => 50,
19
- :hp_max => 35, :stam_max => 25,
20
- :atk_lo => 2, :atk_hi => 3,
21
- :defense => 6, :dexterity => 6,
22
- :special_abilities => [:rocking_vision]
18
+ :level => 2, :xp_start => 50,
19
+ :hp_max => 35, :stam_max => 25,
20
+ :atk_lo => 2, :atk_hi => 3,
21
+ :defense => 6, :dexterity => 6,
22
+ :special_abilities => :rocking_vision
23
23
  }
24
24
  when 3
25
25
  {
26
- :level => 3, :xp_start => 120,
27
- :hp_max => 45, :stam_max => 30,
28
- :atk_lo => 3, :atk_hi => 5,
29
- :defense => 7, :dexterity => 8,
30
- :special_abilities => [:rocking_vision]
26
+ :level => 3, :xp_start => 120,
27
+ :hp_max => 45, :stam_max => 30,
28
+ :atk_lo => 3, :atk_hi => 5,
29
+ :defense => 7, :dexterity => 8,
30
+ :special_abilities => :rock_slide
31
31
  }
32
32
  when 4
33
33
  {
34
- :level => 4, :xp_start => 250,
35
- :hp_max => 55, :stam_max => 35,
36
- :atk_lo => 5, :atk_hi => 6,
37
- :defense => 8, :dexterity => 9,
38
- :special_abilities => [:rocking_vision]
34
+ :level => 4, :xp_start => 250,
35
+ :hp_max => 55, :stam_max => 35,
36
+ :atk_lo => 5, :atk_hi => 6,
37
+ :defense => 8, :dexterity => 9,
38
+ :special_abilities => :stone_face
39
39
  }
40
40
  when 5
41
41
  {
42
- :level => 5, :xp_start => 600,
43
- :hp_max => 70, :stam_max => 45,
44
- :atk_lo => 7, :atk_hi => 8,
45
- :defense => 10, :dexterity => 11,
46
- :special_abilities => [:rocking_vision]
42
+ :level => 5, :xp_start => 600,
43
+ :hp_max => 70, :stam_max => 45,
44
+ :atk_lo => 7, :atk_hi => 8,
45
+ :defense => 10, :dexterity => 11,
46
+ :special_abilities => :graniton
47
47
  }
48
48
  when 6
49
49
  {
50
- :level => 6, :xp_start => 1000,
51
- :hp_max => 85, :stam_max => 60,
52
- :atk_lo => 8, :atk_hi => 10,
53
- :defense => 13, :dexterity => 13,
54
- :special_abilities => [:rocking_vision]
50
+ :level => 6, :xp_start => 1000,
51
+ :hp_max => 85, :stam_max => 60,
52
+ :atk_lo => 8, :atk_hi => 10,
53
+ :defense => 13, :dexterity => 13,
54
+ :special_abilities => :gleam
55
55
  }
56
56
  when 7
57
57
  {
58
- :level => 7, :xp_start => 1500,
59
- :hp_max => 100, :stam_max => 80,
60
- :atk_lo => 10, :atk_hi => 12,
61
- :defense => 15, :dexterity => 16,
62
- :special_abilities => [:rocking_vision]
58
+ :level => 7, :xp_start => 1500,
59
+ :hp_max => 100, :stam_max => 80,
60
+ :atk_lo => 10, :atk_hi => 12,
61
+ :defense => 15, :dexterity => 16,
62
+ :special_abilities => :break_through
63
63
  }
64
64
  end
65
65
  end
@@ -100,7 +100,6 @@ module Gemwarrior
100
100
 
101
101
  def print_stats(duration, pl)
102
102
  puts '######################################################################'
103
- puts
104
103
  print 'Gem Warrior'.colorize(:color => :white, :background => :black)
105
104
  print " played for #{duration[:mins].to_s.colorize(:color => :white, :background => :black)} minutes, #{duration[:secs].to_s.colorize(:color => :white, :background => :black)} seconds, and #{duration[:ms].to_s.colorize(:color => :white, :background => :black)} milliseconds\n"
106
105
  puts '----------------------------------------------------------------------'
@@ -111,7 +110,7 @@ module Gemwarrior
111
110
  print "traveled #{pl.movements_made.to_s.colorize(:color => :white, :background => :black)} time(s)"
112
111
  print "\n".ljust(8)
113
112
  print "rested #{pl.rests_taken.to_s.colorize(:color => :white, :background => :black)} time(s)"
114
- puts
113
+ print "\n"
115
114
  puts '######################################################################'
116
115
  end
117
116
 
@@ -2,5 +2,5 @@
2
2
  # Version of Gem Warrior
3
3
 
4
4
  module Gemwarrior
5
- VERSION = "0.9.1"
5
+ VERSION = "0.9.2"
6
6
  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.9.1
4
+ version: 0.9.2
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-07-07 00:00:00.000000000 Z
11
+ date: 2015-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: os