diff --git a/audio/footsteps-1.flac b/audio/footsteps-1.flac new file mode 100644 index 0000000..52762ac Binary files /dev/null and b/audio/footsteps-1.flac differ diff --git a/audio/footsteps-2.flac b/audio/footsteps-2.flac new file mode 100644 index 0000000..aef0212 Binary files /dev/null and b/audio/footsteps-2.flac differ diff --git a/audio/footsteps-3.flac b/audio/footsteps-3.flac new file mode 100644 index 0000000..6fe4e03 Binary files /dev/null and b/audio/footsteps-3.flac differ diff --git a/audio/lift-off.flac b/audio/lift-off.flac new file mode 100644 index 0000000..487e3a4 Binary files /dev/null and b/audio/lift-off.flac differ diff --git a/audio/reinforce-hull.flac b/audio/reinforce-hull.flac new file mode 100644 index 0000000..5b7f2c1 Binary files /dev/null and b/audio/reinforce-hull.flac differ diff --git a/audio/ship.flac b/audio/ship.flac new file mode 100644 index 0000000..a493d2e Binary files /dev/null and b/audio/ship.flac differ diff --git a/audio/upgrade-engine.flac b/audio/upgrade-engine.flac new file mode 100644 index 0000000..36eeb25 Binary files /dev/null and b/audio/upgrade-engine.flac differ diff --git a/audio/weapon-melee-1.flac b/audio/weapon-melee-1.flac new file mode 100644 index 0000000..762f548 Binary files /dev/null and b/audio/weapon-melee-1.flac differ diff --git a/audio/weapon-melee-2.flac b/audio/weapon-melee-2.flac new file mode 100644 index 0000000..9628cb7 Binary files /dev/null and b/audio/weapon-melee-2.flac differ diff --git a/audio/weapon-melee-3.flac b/audio/weapon-melee-3.flac new file mode 100644 index 0000000..17a8ca9 Binary files /dev/null and b/audio/weapon-melee-3.flac differ diff --git a/audio/weapon-ranged-1.flac b/audio/weapon-ranged-1.flac new file mode 100644 index 0000000..771af10 Binary files /dev/null and b/audio/weapon-ranged-1.flac differ diff --git a/audio/weapon-ranged-2.flac b/audio/weapon-ranged-2.flac new file mode 100644 index 0000000..a9555e1 Binary files /dev/null and b/audio/weapon-ranged-2.flac differ diff --git a/audio/weapon-ranged-3.flac b/audio/weapon-ranged-3.flac new file mode 100644 index 0000000..6b96381 Binary files /dev/null and b/audio/weapon-ranged-3.flac differ diff --git a/audio/weapon-unarmed-1.flac b/audio/weapon-unarmed-1.flac new file mode 100644 index 0000000..7db24ec Binary files /dev/null and b/audio/weapon-unarmed-1.flac differ diff --git a/audio/weapon-unarmed-2.flac b/audio/weapon-unarmed-2.flac new file mode 100644 index 0000000..6a44e75 Binary files /dev/null and b/audio/weapon-unarmed-2.flac differ diff --git a/audio/weapon-unarmed-3.flac b/audio/weapon-unarmed-3.flac new file mode 100644 index 0000000..ff8a581 Binary files /dev/null and b/audio/weapon-unarmed-3.flac differ diff --git a/audio/world.flac b/audio/world.flac index 72a6bc3..a264b2e 100644 Binary files a/audio/world.flac and b/audio/world.flac differ diff --git a/script/audioLibrary.js b/script/audioLibrary.js index f84cf6a..09805b2 100644 --- a/script/audioLibrary.js +++ b/script/audioLibrary.js @@ -107,20 +107,23 @@ var AudioLibrary = { EMBARK: 'audio/embark.flac', GATHER_WOOD: 'audio/gather-wood.flac', CHECK_TRAPS: 'audio/check-traps.flac', - TRIGGER_FIGHT: 'audio/trigger-fight.flac', - TRIGGER_EVENT: 'audio/trigger-event.flac', - ENEMY_HIT: 'audio/enemy-hit.flac', EAT_MEAT: 'audio/eat-meat.flac', USE_MEDS: 'audio/use-meds.flac', - WIN_FIGHT: 'audio/win-fight.flac', - LOST_FIGHT: 'audio/lose-fight.flac', LIGHT_FIRE: 'audio/light-fire.flac', STOKE_FIRE: 'audio/stoke-fire.flac', - FOOTSTEPS1: 'audio/footsteps-1.flac', - FOOTSTEPS2: 'audio/footsteps-2.flac', - FOOTSTEPS3: 'audio/footsteps-3.flac', - DEATH_STARVED: 'audio/death-starved.flac', - DEATH_DEHYDRATED: 'audio/death-dehydrated.flac', + FOOTSTEPS_1: 'audio/footsteps-1.flac', + FOOTSTEPS_2: 'audio/footsteps-2.flac', + FOOTSTEPS_3: 'audio/footsteps-3.flac', + DEATH: 'audio/death.flac', + WEAPON_UNARMED_1: 'audio/weapon-unarmed-1.flac', + WEAPON_UNARMED_2: 'audio/weapon-unarmed-2.flac', + WEAPON_UNARMED_3: 'audio/weapon-unarmed-3.flac', + WEAPON_MELEE_1: 'audio/weapon-melee-1.flac', + WEAPON_MELEE_2: 'audio/weapon-melee-2.flac', + WEAPON_MELEE_3: 'audio/weapon-melee-3.flac', + WEAPON_RANGED_1: 'audio/weapon-ranged-1.flac', + WEAPON_RANGED_2: 'audio/weapon-ranged-2.flac', + WEAPON_RANGED_3: 'audio/weapon-ranged-3.flac', ASTEROID_HIT1: 'audio/asteroid-hit-1.flac', ASTEROID_HIT2: 'audio/asteroid-hit-2.flac', ASTEROID_HIT3: 'audio/asteroid-hit-3.flac', @@ -128,12 +131,4 @@ var AudioLibrary = { REINFORCE_HULL: 'audio/reinforce-hull.flac', UPGRADE_ENGINE: 'audio/upgrade-engine.flac', LIFT_OFF: 'audio/lift-off.flac', - PUNCH: 'audio/punch.flac', - STAB: 'audio/stab.flac', - SWING: 'audio/swing.flac', - SLASH: 'audio/slash.flac', - THRUST: 'audio/thrust.flac', - SHOOT: 'audio/shoot.flac', - BLAST: 'audio/blast.flac', - TANGLE: 'audio/tangle.flac' }; \ No newline at end of file diff --git a/script/events.js b/script/events.js index 6633eec..63d482a 100644 --- a/script/events.js +++ b/script/events.js @@ -419,7 +419,21 @@ var Events = { } var attackFn = weapon.type == 'ranged' ? Events.animateRanged : Events.animateMelee; - AudioEngine.playSound(weapon.audio); + + // play variation audio for weapon type + var r = Math.floor(Math.random() * 2) + 1; + switch (weapon.type) { + case 'unarmed': + AudioEngine.playSound(AudioLibrary['WEAPON_UNARMED_' + r]); + break; + case 'melee': + AudioEngine.playSound(AudioLibrary['WEAPON_MELEE_' + r]); + break; + case 'ranged': + AudioEngine.playSound(AudioLibrary['WEAPON_RANGED_' + r]); + break; + } + attackFn($('#wanderer'), dmg, function() { if($('#enemy').data('hp') <= 0 && !Events.won) { // Success! @@ -429,7 +443,7 @@ var Events = { } }, - damage: function(fighter, enemy, dmg) { + damage: function(fighter, enemy, dmg, type) { var enemyHp = enemy.data('hp'); var msg = ""; if(typeof dmg == 'number') { @@ -446,8 +460,19 @@ var Events = { } Events.updateFighterDiv(enemy); - // play hit sound - AudioEngine.playSound(AudioLibrary.ENEMY_HIT); + // play variation audio for weapon type + var r = Math.floor(Math.random() * 2) + 1; + switch (type) { + case 'unarmed': + AudioEngine.playSound(AudioLibrary['WEAPON_UNARMED_' + r]); + break; + case 'melee': + AudioEngine.playSound(AudioLibrary['WEAPON_MELEE_' + r]); + break; + case 'ranged': + AudioEngine.playSound(AudioLibrary['WEAPON_RANGED_' + r]); + break; + } } } else { if(dmg == 'stun') { @@ -473,7 +498,7 @@ var Events = { fighter.stop(true, true).animate(start, Events._FIGHT_SPEED, function() { - Events.damage(fighter, enemy, dmg); + Events.damage(fighter, enemy, dmg, 'melee'); $(this).animate(end, Events._FIGHT_SPEED, callback); }); @@ -494,7 +519,7 @@ var Events = { $('
').css(start).addClass('bullet').text('o').appendTo('#description') .animate(end, Events._FIGHT_SPEED * 2, 'linear', function() { - Events.damage(fighter, enemy, dmg); + Events.damage(fighter, enemy, dmg, 'ranged'); $(this).remove(); if(typeof callback == 'function') { @@ -542,7 +567,7 @@ var Events = { return; } Events.endFight(); - AudioEngine.playSound(AudioLibrary.WIN_FIGHT); + // AudioEngine.playSound(AudioLibrary.WIN_FIGHT); $('#enemy').animate({opacity: 0}, 300, 'linear', function() { Engine.setTimeout(function() { var scene = Events.activeEvent().scenes[Events.activeScene]; @@ -1025,7 +1050,7 @@ var Events = { } else { var r = Math.floor(Math.random()*(possibleEvents.length)); Events.startEvent(possibleEvents[r]); - AudioEngine.playSound(AudioLibrary.TRIGGER_EVENT); + // AudioEngine.playSound(AudioLibrary.TRIGGER_EVENT); AudioEngine.playEventMusic(possibleEvents[r].audio); } } @@ -1047,7 +1072,7 @@ var Events = { // play audio only when fight is possible if (possibleFights.length > 0) { - AudioEngine.playSound(AudioLibrary.TRIGGER_FIGHT); + // AudioEngine.playSound(AudioLibrary.TRIGGER_FIGHT); AudioEngine.playEventMusic(possibleFights[r].audio); } }, diff --git a/script/world.js b/script/world.js index 51fd46f..28be68e 100644 --- a/script/world.js +++ b/script/world.js @@ -45,68 +45,59 @@ var World = { verb: _('punch'), type: 'unarmed', damage: 1, - cooldown: 2, - audio: AudioLibrary.PUNCH + cooldown: 2 }, 'bone spear': { verb: _('stab'), type: 'melee', damage: 2, - cooldown: 2, - audio: AudioLibrary.STAB + cooldown: 2 }, 'iron sword': { verb: _('swing'), type: 'melee', damage: 4, - cooldown: 2, - audio: AudioLibrary.SWING + cooldown: 2 }, 'steel sword': { verb: _('slash'), type: 'melee', damage: 6, - cooldown: 2, - audio: AudioLibrary.SLASH + cooldown: 2 }, 'bayonet': { verb: _('thrust'), type: 'melee', damage: 8, - cooldown: 2, - audio: AudioLibrary.THRUST + cooldown: 2 }, 'rifle': { verb: _('shoot'), type: 'ranged', damage: 5, cooldown: 1, - cost: { 'bullets': 1 }, - audio: AudioLibrary.SHOOT + cost: { 'bullets': 1 } }, 'laser rifle': { verb: _('blast'), type: 'ranged', damage: 8, cooldown: 1, - cost: { 'energy cell': 1 }, - audio: AudioLibrary.BLAST + cost: { 'energy cell': 1 } }, 'grenade': { verb: _('lob'), type: 'ranged', damage: 15, cooldown: 5, - cost: { 'grenade': 1 }, - audio: AudioLibrary.LOB + cost: { 'grenade': 1 } }, 'bolas': { verb: _('tangle'), type: 'ranged', damage: 'stun', cooldown: 15, - cost: { 'bolas': 1 }, - audio: AudioLibrary.TANGLE + cost: { 'bolas': 1 } } }, @@ -358,7 +349,7 @@ var World = { // play random footstep var randomFootstep = Math.floor(Math.random() * 2) + 1; - AudioEngine.playSound(AudioLibrary['FOOTSTEPS' + randomFootstep]); + AudioEngine.playSound(AudioLibrary['FOOTSTEPS_' + randomFootstep]); if(World.checkDanger()) { if(World.danger) { @@ -478,7 +469,6 @@ var World = { $SM.addPerk('slow metabolism'); } World.die(); - AudioEngine.playSound(AudioLibrary.DEATH_STARVED); return false; } } else { @@ -508,7 +498,6 @@ var World = { $SM.addPerk('desert rat'); } World.die(); - AudioEngine.playSound(AudioLibrary.DEATH_DEHYDRATED); return false; } } else { @@ -899,6 +888,7 @@ var World = { World.state = null; Path.outfit = {}; $SM.remove('outfit'); + AudioEngine.playSound(AudioLibrary.DEATH); $('#outerSlider').animate({opacity: '0'}, 600, 'linear', function() { $('#outerSlider').css('left', '0px'); $('#locationSlider').css('left', '0px');