gemwarrior 0.14.4 → 0.14.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2116e67dae88fd5d7ed8aaf66aa3893c4f400ea9
4
- data.tar.gz: 028aaabc8fffe0f2732abf2d8103dd6e0c0c5cab
3
+ metadata.gz: 9eed4c481dd9b8c403851ed62c05ea92757f56d7
4
+ data.tar.gz: b2d8cbfee1c8dac0daed910d8436970e8cdab12a
5
5
  SHA512:
6
- metadata.gz: baa12d9a3195ea0c9ea48e025d0f6bf89028eab69e7eb174d5c04b520a8bfe216732bde1acaf0df750f5f1ea1f23fd128db92e7becf543a65ab8487a7d1cebac
7
- data.tar.gz: bf58ddec9f4cbca65ad6230ebdc6c96a25b9b0ac0e7ce54aaf63c15f428d2154e8253cc75ecb0725c89943387daaf196d8b207c33b70248eab617d60e067cd2c
6
+ metadata.gz: 2c9168749c94929d96c7175698a90f44c393846d45d7d5d9d2000ac20fe077adf1305ddecbe46b6b7a24a47f5a552363720c7f4ee7d8c306e9c2f98396a70110
7
+ data.tar.gz: 7c7e3eb9aab5d32d8f20ef14577935ba3d4aa69666fbb6c28a64262b0fc6baf77f6e3d91e7a08764e8fa924651c010d5bb6a2ca97c57cf9f63ad239b5492d76c
data/bin/gemwarrior CHANGED
@@ -117,7 +117,7 @@ end
117
117
  def init_config
118
118
  Dir.mkdir(GW_HOME) unless Dir.exist?(GW_HOME)
119
119
 
120
- sound_system_default = OS.windows? ? 'win32-sound' : 'feep'
120
+ sound_system_default = OS.windows? ? 'win32-sound' : 'bloops'
121
121
 
122
122
  GameOptions.add 'sound_system', sound_system_default
123
123
  GameOptions.add 'save_file_mode', 'Y'
data/gemwarrior.gemspec CHANGED
@@ -25,19 +25,16 @@ Gem::Specification.new do |spec|
25
25
  spec.add_runtime_dependency 'colorize', '~> 0.7.7'
26
26
  spec.add_runtime_dependency 'matrext', '~> 0.4.10'
27
27
  spec.add_runtime_dependency 'clocker', '~> 0.1.6'
28
- spec.add_runtime_dependency 'win32-sound', '~> 0.6.0'
29
- spec.add_runtime_dependency 'feep', '~> 0.1.3'
30
28
  spec.add_runtime_dependency 'gems', '~> 0.8.3'
31
-
32
- # gems for future features
33
- # spec.add_runtime_dependency 'hr', '~> 0.0.2'
34
- # spec.add_runtime_dependency 'github_api', '~> 0.12.4'
29
+
30
+ # sound systems
31
+ #spec.add_runtime_dependency 'feep', '~> 0.1.3'
32
+ #spec.add_runtime_dependency 'win32-sound', '~> 0.6.0'
33
+ #spec.add_runtime_dependency 'bloopsaphone', '>= 0.4'
35
34
 
36
35
  spec.add_development_dependency 'bundler', '~> 1.8'
37
36
  spec.add_development_dependency 'rake', '~> 10.0'
38
-
39
37
  spec.add_development_dependency 'rubocop', '~> 0.29'
40
-
41
38
  spec.add_development_dependency 'rspec'
42
39
  spec.add_development_dependency 'rspec-nc'
43
40
  spec.add_development_dependency 'guard'
@@ -541,7 +541,6 @@ module Gemwarrior
541
541
  end
542
542
 
543
543
  def monster_death
544
- Audio.play_synth(:battle_win)
545
544
  puts " YOU HAVE DEFEATED #{monster.name.upcase}!\n".colorize(:green)
546
545
 
547
546
  if monster.is_boss
@@ -557,6 +556,8 @@ module Gemwarrior
557
556
  # game ending: initiate
558
557
  return monster.initiate_ending(world)
559
558
  elsif monster.name.eql?('jaspern')
559
+ Audio.play_synth(:battle_win_boss)
560
+
560
561
  puts ' You just beat a MINIBOSS! Fantastic!'
561
562
  puts
562
563
 
@@ -565,11 +566,15 @@ module Gemwarrior
565
566
  # river bridge boss: initiate
566
567
  return monster.river_bridge_success(world)
567
568
  else
569
+ Audio.play_synth(:battle_win_boss)
570
+
568
571
  reward_player(monster)
569
572
 
570
573
  world.location_by_coords(player.cur_coords).remove_monster(monster.name)
571
574
  end
572
575
  else
576
+ Audio.play_synth(:battle_win_monster)
577
+
573
578
  # stats
574
579
  world.player.monsters_killed += 1
575
580
 
@@ -33,6 +33,7 @@ module Gemwarrior
33
33
 
34
34
  case answer
35
35
  when 'mineral'
36
+ Audio.play_synth(:uncover_secret)
36
37
  forest_southwest.paths[:west] = true
37
38
  puts
38
39
  Animation.run(phrase: OPEN_TEXT)
@@ -16,6 +16,7 @@ module Gemwarrior
16
16
  def use(world)
17
17
  puts 'You attempt to open the seriously massive door that separates you from Emerald himself.'
18
18
  if world.player.inventory.contains_item?('keystone')
19
+ Audio.play_synth(:uncover_secret)
19
20
  puts 'The keystone in your inventory glows as you approach the incredibly titanic-sized door, so you naturally pull it out and thrust it into the stone-shaped depression within the cloudy obstruction. The door "opens" in a way and you can now pass through.'
20
21
  { type: 'move', data: 'Sky Tower (Throne Room)' }
21
22
  else
@@ -93,6 +93,7 @@ module Gemwarrior
93
93
  end
94
94
 
95
95
  if pedestal_configured
96
+ Audio.play_synth(:uncover_secret)
96
97
  puts 'You push the large gem into the pedestal and it descends without a hitch, almost as if it were meant to be. The pedestal begins to violently shake and a strong gust of wind picks you up off the ground. You feel completely taken aback and unsettled, but you have no choice: you are being whisked away somewhere into the sky, destination unknown.'.colorize(:yellow)
97
98
 
98
99
  # stats
@@ -20,6 +20,7 @@ module Gemwarrior
20
20
  puts 'You gently place your fingers on the pond\'s rippling surface.'
21
21
 
22
22
  if (NEEDED_ITEMS - world.player.inventory.items.map(&:name)).empty?
23
+ Audio.play_synth(:uncover_secret)
23
24
  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!'
24
25
  self.description = 'A barren depression in the ground is all that is left of the pond.'
25
26
  return { type: 'item', data: 'Opalaser' }
@@ -17,6 +17,7 @@ module Gemwarrior
17
17
  if !self.used
18
18
  self.used = true
19
19
 
20
+ Audio.play_synth(:uncover_secret)
20
21
  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 speaks:'
21
22
  Person.new.speak('Hello. I\'m Rockney, of Rockney\'s Hole in the Wall. Pleasure!')
22
23
 
@@ -20,7 +20,9 @@ module Gemwarrior
20
20
  return { type: nil, data: nil }
21
21
  elsif self.used
22
22
  self.used_again = true
23
-
23
+
24
+ Audio.play_synth(:uncover_secret)
25
+
24
26
  puts 'Looking further into the small opening in the trunk your eye catches the light glinting off a few small metallic objects.'
25
27
 
26
28
  cur_loc = world.location_by_name('forest-southeast')
@@ -88,6 +88,11 @@ module Gemwarrior
88
88
  # create options file if not existing
89
89
  update_options_file
90
90
 
91
+ # require needed files for selected sound_system if sound_enabled
92
+ if GameOptions.data['sound_enabled']
93
+ Audio.init
94
+ end
95
+
91
96
  # create the console
92
97
  self.evaluator = Evaluator.new(world)
93
98
  self.repl = Repl.new(self, world, evaluator)
@@ -1,25 +1,40 @@
1
1
  # lib/gemwarrior/misc/audio.rb
2
2
  # Audio cues using either synth or samples
3
- # Synth: win32-sound or feep, depending on platform
3
+ # Synth: win32-sound, feep, or bloopsaphone depending on platform/choice
4
4
  # Samples: small wav files
5
5
 
6
6
  require_relative '../game_options'
7
- require_relative 'audio_cues'
8
- require_relative 'musical_notes'
9
7
 
10
8
  module Gemwarrior
11
9
  module Audio
12
- def self.play_sample(audio_cue_symbol)
13
- # future use
10
+ def self.init
11
+ if GameOptions.data['sound_system'].eql?('win32-sound')
12
+ begin
13
+ require 'win32/sound'
14
+ rescue LoadError => e
15
+ GameOptions.data['errors'] = "#{GameOptions.data['sound_system']} could not be loaded. You may need to run 'gem install #{GameOptions.data['sound_system']}'. Gem Warrior will be silent for now."
16
+ end
17
+ elsif GameOptions.data['sound_system'].eql?('feep')
18
+ begin
19
+ require 'feep'
20
+ rescue LoadError => e
21
+ GameOptions.data['errors'] = "#{GameOptions.data['sound_system']} could not be loaded. You may need to run 'gem install #{GameOptions.data['sound_system']}'. Gem Warrior will be silent for now."
22
+ end
23
+ elsif GameOptions.data['sound_system'].eql?('bloops')
24
+ begin
25
+ require 'bloops'
26
+ rescue LoadError => e
27
+ GameOptions.data['errors'] = "#{GameOptions.data['sound_system']} could not be loaded. You may need to run 'gem install #{GameOptions.data['sound_system']}aphone'. Gem Warrior will be silent for now."
28
+ end
29
+ end
14
30
  end
15
31
 
16
32
  def self.play_synth(audio_cue_symbol)
17
33
  if GameOptions.data['sound_enabled']
18
- # if Windows, use superior win32-sound library
19
- if GameOptions.data['sound_system'].eql?('win32-sound')
20
- require 'win32/sound'
34
+ case GameOptions.data['sound_system']
35
+ when 'win32-sound'
36
+ require_relative 'audio_cues'
21
37
  require_relative 'musical_notes'
22
-
23
38
  Thread.start do
24
39
  AudioCues.cues[audio_cue_symbol][:synth].each do |seq|
25
40
  threads = []
@@ -31,10 +46,8 @@ module Gemwarrior
31
46
  threads.each { |th| th.join }
32
47
  end
33
48
  end
34
- # otherwise, use inferior feep library
35
- elsif GameOptions.data['sound_system'].eql?('feep')
36
- require 'feep'
37
-
49
+ when 'feep'
50
+ require_relative 'audio_cues'
38
51
  feep_defaults = {
39
52
  frequencies: '440',
40
53
  waveform: 'sine',
@@ -42,7 +55,7 @@ module Gemwarrior
42
55
  duration: 500,
43
56
  notext: true
44
57
  }
45
-
58
+
46
59
  Thread.start do
47
60
  AudioCues.cues[audio_cue_symbol][:synth].each do |seq|
48
61
  seq = feep_defaults.merge(seq)
@@ -56,8 +69,35 @@ module Gemwarrior
56
69
  })
57
70
  end
58
71
  end
72
+ when 'bloops'
73
+ require_relative 'bloops_cues'
74
+ Thread.start do
75
+ BloopsCues.cues[audio_cue_symbol][:synth].each do |seq|
76
+ threads = []
77
+
78
+ seq.each do |note|
79
+ threads << Thread.new do
80
+ b = Bloops.new
81
+ b.tempo = 240
82
+ snd = b.sound Bloops::SQUARE
83
+ snd.punch = GameOptions.data['sound_volume']/2
84
+ snd.sustain = 0.7
85
+ snd.decay = 0.2
86
+ b.tune snd, note[1]
87
+ b.play
88
+ sleep 0.1 while !b.stopped?
89
+ end
90
+ end
91
+
92
+ threads.each { |th| th.join }
93
+ end
94
+ end
59
95
  end
60
96
  end
61
97
  end
98
+
99
+ def self.play_sample(audio_cue_symbol)
100
+ # future use
101
+ end
62
102
  end
63
103
  end
@@ -93,13 +93,11 @@ module Gemwarrior
93
93
 
94
94
  self.add :intro, {
95
95
  synth: [
96
- { frequencies: 'A3,E5', duration: 50 },
97
- { frequencies: 'B3,F5', duration: 50 },
98
- { frequencies: 'C4,G5', duration: 50 },
99
- { frequencies: 'D4,A5', duration: 50 },
100
- { frequencies: 'E4,B5', duration: 50 },
101
- { frequencies: 'F4,C6', duration: 50 },
102
- { frequencies: 'G4,B5,D6', duration: 500 }
96
+ { frequencies: 'C3,G4', duration: 50 },
97
+ { frequencies: 'D3,A4', duration: 50 },
98
+ { frequencies: 'E3,B4', duration: 50 },
99
+ { frequencies: 'F3,C5', duration: 50 },
100
+ { frequencies: 'G3,B4,D5', duration: 350 }
103
101
  ],
104
102
  sample: 'intro.wav'
105
103
  }
@@ -131,6 +129,19 @@ module Gemwarrior
131
129
  sample: 'player_travel.wav'
132
130
  }
133
131
 
132
+ self.add :uncover_secret, {
133
+ synth: [
134
+ { frequencies: 'F5', duration: 150 },
135
+ { frequencies: 'E5', duration: 150 },
136
+ { frequencies: 'C#4', duration: 150 },
137
+ { frequencies: 'C4', duration: 150 },
138
+ { frequencies: 'D#5', duration: 150 },
139
+ { frequencies: 'F#5', duration: 150 },
140
+ { frequencies: 'A5', duration: 150 }
141
+ ],
142
+ sample: 'uncover_secret.wav'
143
+ }
144
+
134
145
  self.add :win_game, {
135
146
  synth: [
136
147
  { frequencies: 'G3', duration: 250 },
@@ -0,0 +1,166 @@
1
+ # lib/gemwarrior/misc/bloops_cues.rb
2
+ # Bloops cue symbol -> notes/wav_file
3
+
4
+ module Gemwarrior
5
+ module BloopsCues
6
+ def self.add key, val
7
+ @@cues ||= {}
8
+ @@cues[key] = val
9
+ end
10
+
11
+ def self.cues
12
+ @@cues ||= {}
13
+ end
14
+
15
+ self.add :bg1, {
16
+ synth: [
17
+ { s1: '2:C4' },
18
+ { s1: '2:C5' },
19
+ { s1: '2:C4' },
20
+ { s1: '2:C5' },
21
+ { s1: '2:C4' },
22
+ { s1: '2:C5' },
23
+ { s1: '2:G4' },
24
+ { s1: '2:A4' },
25
+ { s1: '2:C4' },
26
+ { s1: '2:C5' },
27
+ { s1: '2:C4' },
28
+ { s1: '2:C5' },
29
+ { s1: '2:C4' },
30
+ { s1: '2:C5' },
31
+ { s1: '2:B4' },
32
+ { s1: '2:A4' },
33
+ ],
34
+ sample: 'bg1.wav'
35
+ }
36
+
37
+ self.add :battle_start, {
38
+ synth: [
39
+ { s1: '16:G4' },
40
+ { s1: '16:G#4' },
41
+ { s1: '16:G4' },
42
+ { s1: '16:G#4' },
43
+ { s1: '16:G4' },
44
+ { s1: '16:G#4' }
45
+ ],
46
+ sample: 'battle_start.wav'
47
+ }
48
+
49
+ self.add :battle_player_attack, {
50
+ synth: [{ s1: '16:A4', s2: '16:E4', s3: '16:B5' }],
51
+ sample: 'battle_player_attack.wav'
52
+ }
53
+
54
+ self.add :battle_player_miss, {
55
+ synth: [{ s1: '8:A4' }],
56
+ sample: 'battle_player_miss.wav'
57
+ }
58
+
59
+ self.add :battle_monster_attack, {
60
+ synth: [{ s1: '16:B4', s2: '16:E#5', s3: '16:A5' }],
61
+ sample: 'battle_monster_attack.wav'
62
+ }
63
+
64
+ self.add :battle_monster_miss, {
65
+ synth: [{ s1: '8:B4' }],
66
+ sample: 'battle_monster_miss.wav'
67
+ }
68
+
69
+ self.add :battle_win_boss, {
70
+ synth: [
71
+ { s1: '16:E5' },
72
+ { s1: '16:F5' },
73
+ { s1: '8:E5' },
74
+ { s1: '16:E5' },
75
+ { s1: '16:F5' },
76
+ { s1: '8:E5' },
77
+ { s1: '16:E4', s2: '16:A4' },
78
+ { s1: '4:E4', s2: '4:A4' }
79
+ ],
80
+ sample: 'battle_win_boss.wav'
81
+ }
82
+
83
+ self.add :battle_win_monster, {
84
+ synth: [
85
+ { s1: '16:D5' },
86
+ { s1: '16:E5' },
87
+ { s1: '8:D5' },
88
+ { s1: '16:D4' },
89
+ { s1: '4:D4' }
90
+ ],
91
+ sample: 'battle_win_monster.wav'
92
+ }
93
+
94
+ self.add :intro, {
95
+ synth: [
96
+ { s1: '16:C3', s2: '16:G4' },
97
+ { s1: '16:D3', s2: '16:A4' },
98
+ { s1: '16:E3', s2: '16:B4' },
99
+ { s1: '16:F3', s2: '16:C5' },
100
+ { s1: '4:G3', s2: '4:B4', s3: '4:D5' }
101
+ ],
102
+ sample: 'intro.wav'
103
+ }
104
+
105
+ self.add :player_level_up, {
106
+ synth: [
107
+ { s1: '8:D4', s2: '8:A4', s3: '8:D5', s4: '8:A5', s5: '8:D6' },
108
+ { s1: '4:D4', s2: '4:A4', s3: '4:D5', s4: '4:A5', s5: '4:D6' },
109
+ { s1: '1:E4', s2: '1:B4', s3: '1:E5', s4: '1:B5', s5: '1:E6' }
110
+ ]
111
+ }
112
+
113
+ self.add :player_resurrection, {
114
+ synth: [
115
+ { s1: '16:D#5' },
116
+ { s1: '14:A4' },
117
+ { s1: '12:F#4' },
118
+ { s1: '2:F4' }
119
+ ],
120
+ sample: 'player_resurrection.wav'
121
+ }
122
+
123
+ self.add :player_travel, {
124
+ synth: [
125
+ { s1: '16:C4' },
126
+ { s1: '16:D4' },
127
+ { s1: '16:E4' }
128
+ ],
129
+ sample: 'player_travel.wav'
130
+ }
131
+
132
+ self.add :uncover_secret, {
133
+ synth: [
134
+ { s1: '8:F5' },
135
+ { s1: '8:E5' },
136
+ { s1: '8:C#4' },
137
+ { s1: '8:C4' },
138
+ { s1: '8:D#5' },
139
+ { s1: '8:F#5' },
140
+ { s1: '8:A5' }
141
+ ],
142
+ sample: 'uncover_secret.wav'
143
+ }
144
+
145
+ self.add :win_game, {
146
+ synth: [
147
+ { s1: '4:G3' },
148
+ { s1: '16:A3' },
149
+ { s1: '16:B3' },
150
+ { s1: '16:C4' },
151
+ { s1: '4:D4' },
152
+ { s1: '16:E4' },
153
+ { s1: '16:F#4' },
154
+ { s1: '16:G4' },
155
+ { s1: '4:A4' },
156
+ { s1: '16:B4' },
157
+ { s1: '16:C5' },
158
+ { s1: '16:D5' },
159
+ { s1: '16:E5' },
160
+ { s1: '16:F#5' },
161
+ { s1: '1:G5' }
162
+ ],
163
+ sample: 'win_game.wav'
164
+ }
165
+ end
166
+ end
@@ -203,9 +203,17 @@ module Gemwarrior
203
203
  print ' (2) FEEP '
204
204
  print '(SELECTED)'.colorize(:yellow) if GameOptions.data['sound_system'].eql?('feep')
205
205
  print "\n"
206
+ print ' (3) BLOOPS '
207
+ print '(SELECTED)'.colorize(:yellow) if GameOptions.data['sound_system'].eql?('bloops')
208
+ print "\n"
209
+ puts
210
+ puts ' WIN32-SOUND : good quality; Windows-only'
211
+ puts ' FEEP : cross-platform; VERY SLOW and BUGGY'
212
+ puts ' BLOOPS : cross-platform; requires portaudio'
206
213
  puts
207
- puts 'Note: WIN32-SOUND is Windows-only, and will break the game if sound is enabled on non-Windows machines.'
208
- puts 'Note: FEEP is cross-platform, but VERY SLOW and BUGGY, so use at your discretion!'
214
+ puts ' NOTE: none of these are required dependencies anymore, as sound is optional.'
215
+ puts ' If you do not have the one selected installed on your machine, you will get '
216
+ puts ' an error on game load, and no sound will be heard.'
209
217
  puts
210
218
  puts '================================='.colorize(:yellow)
211
219
  puts
@@ -221,6 +229,9 @@ module Gemwarrior
221
229
  when '2'
222
230
  GameOptions.add 'sound_system', 'feep'
223
231
  print_options_sound_sytem
232
+ when '3'
233
+ GameOptions.add 'sound_system', 'bloops'
234
+ print_options_sound_sytem
224
235
  else
225
236
  return
226
237
  end
@@ -493,6 +504,7 @@ module Gemwarrior
493
504
 
494
505
  # main menu loop until new game or exit
495
506
  if new_skip
507
+ print_errors
496
508
  play_intro_tune
497
509
  print_splash_message
498
510
  print_fortune
@@ -501,6 +513,7 @@ module Gemwarrior
501
513
  if result.nil?
502
514
  run_main_menu
503
515
  else
516
+ print_errors
504
517
  self.world = result
505
518
  self.evaluator = Evaluator.new(self.world)
506
519
  end
@@ -513,6 +526,12 @@ module Gemwarrior
513
526
  puts evaluator.parse(extra_command) unless extra_command.nil?
514
527
  end
515
528
 
529
+ def print_errors
530
+ if GameOptions.data['errors']
531
+ puts GameOptions.data['errors'].colorize(:red)
532
+ end
533
+ end
534
+
516
535
  def play_intro_tune
517
536
  Audio.play_synth(:intro)
518
537
  end
@@ -2,5 +2,5 @@
2
2
  # Version of Gem Warrior
3
3
 
4
4
  module Gemwarrior
5
- VERSION = '0.14.4'
5
+ VERSION = '0.14.5'
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.14.4
4
+ version: 0.14.5
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-09-26 00:00:00.000000000 Z
11
+ date: 2015-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: os
@@ -100,34 +100,6 @@ dependencies:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
102
  version: 0.1.6
103
- - !ruby/object:Gem::Dependency
104
- name: win32-sound
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: 0.6.0
110
- type: :runtime
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - "~>"
115
- - !ruby/object:Gem::Version
116
- version: 0.6.0
117
- - !ruby/object:Gem::Dependency
118
- name: feep
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "~>"
122
- - !ruby/object:Gem::Version
123
- version: 0.1.3
124
- type: :runtime
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "~>"
129
- - !ruby/object:Gem::Version
130
- version: 0.1.3
131
103
  - !ruby/object:Gem::Dependency
132
104
  name: gems
133
105
  requirement: !ruby/object:Gem::Requirement
@@ -354,6 +326,7 @@ files:
354
326
  - lib/gemwarrior/misc/animation.rb
355
327
  - lib/gemwarrior/misc/audio.rb
356
328
  - lib/gemwarrior/misc/audio_cues.rb
329
+ - lib/gemwarrior/misc/bloops_cues.rb
357
330
  - lib/gemwarrior/misc/formatting.rb
358
331
  - lib/gemwarrior/misc/hr.rb
359
332
  - lib/gemwarrior/misc/musical_notes.rb