From 7d7a1e72d9058251ba10ce2c03ca3a876dd5bb6c Mon Sep 17 00:00:00 2001 From: Rob Bailey Date: Tue, 24 Sep 2019 15:01:27 -0700 Subject: [PATCH] Gun sound revamp (#46689) * shitload of new sounds * dme fix * file fixes * more file fixes * more file fixes * volume tweaks + better pistol sounds * more new sounds + no through walls suppressed * better suppressed * more work * pistol handling sounds * small tweaks --- code/datums/status_effects/neutral.dm | 4 +-- .../game/gamemodes/clown_ops/clown_weapons.dm | 2 +- code/game/gamemodes/meteor/meteors.dm | 2 +- code/game/machinery/computer/arcade.dm | 2 +- .../machinery/porta_turret/portable_turret.dm | 8 ++--- code/game/mecha/equipment/weapons/weapons.dm | 10 +++--- code/game/objects/items/latexballoon.dm | 2 +- code/game/objects/items/pneumaticCannon.dm | 2 +- code/game/objects/items/stacks/rods.dm | 2 +- code/game/objects/items/toys.dm | 4 +-- code/game/objects/structures/manned_turret.dm | 2 +- code/game/objects/structures/morgue.dm | 2 +- code/game/sound.dm | 10 +----- code/game/turfs/turf.dm | 2 +- code/modules/awaymissions/capture_the_flag.dm | 2 +- .../living/simple_animal/hostile/hivebot.dm | 2 +- .../simple_animal/hostile/nanotrasen.dm | 6 ++-- .../simple_animal/hostile/netherworld.dm | 2 +- .../hostile/retaliate/spaceman.dm | 4 +-- .../living/simple_animal/hostile/russian.dm | 2 +- .../living/simple_animal/hostile/syndicate.dm | 6 ++-- .../projectiles/ammunition/_ammunition.dm | 2 +- .../projectiles/ammunition/energy/lmg.dm | 2 +- .../projectiles/ammunition/energy/stun.dm | 2 +- .../boxes_magazines/_box_magazine.dm | 4 +-- code/modules/projectiles/gun.dm | 12 +++---- code/modules/projectiles/guns/ballistic.dm | 27 +++++++--------- .../projectiles/guns/ballistic/automatic.dm | 30 ++++++++---------- .../projectiles/guns/ballistic/launchers.dm | 6 ++-- .../projectiles/guns/ballistic/pistol.dm | 27 ++++++++++++---- .../projectiles/guns/ballistic/revolver.dm | 14 ++++---- .../projectiles/guns/ballistic/rifle.dm | 8 ++--- .../projectiles/guns/ballistic/shotgun.dm | 9 +++--- .../modules/projectiles/guns/ballistic/toy.dm | 6 ++-- .../general/bolt_drop.ogg} | Bin sound/weapons/gun/general/bolt_rack.ogg | Bin 0 -> 11637 bytes .../weapons/{ => gun/general}/chunkyrack.ogg | Bin .../general/dry_fire.ogg} | Bin .../general/empty_alarm.ogg} | Bin .../general/grenade_launch.ogg} | Bin .../gun/general/heavy_shot_suppressed.ogg | Bin 0 -> 12252 bytes .../general/mag_bullet_insert.ogg} | Bin .../general/mag_bullet_remove.ogg} | Bin .../general/magazine_insert_empty.ogg} | Bin .../general/magazine_insert_full.ogg} | Bin .../general/magazine_remove_empty.ogg} | Bin .../general/magazine_remove_full.ogg} | Bin .../general/rocket_launch.ogg} | Bin .../general/slide_lock_1.ogg} | Bin .../{sawopen.ogg => gun/l6/l6_door.ogg} | Bin .../{sawclose.ogg => gun/l6/l6_rack.ogg} | Bin sound/weapons/gun/l6/shot.ogg | Bin 0 -> 12333 bytes sound/weapons/gun/pistol/drop_small.ogg | Bin 0 -> 6781 bytes sound/weapons/gun/pistol/dry_fire.ogg | Bin 0 -> 8311 bytes sound/weapons/gun/pistol/lock_small.ogg | Bin 0 -> 13734 bytes sound/weapons/gun/pistol/mag_insert.ogg | Bin 0 -> 9470 bytes sound/weapons/gun/pistol/mag_release.ogg | Bin 0 -> 9416 bytes sound/weapons/gun/pistol/rack.ogg | Bin 0 -> 8361 bytes sound/weapons/gun/pistol/rack_small.ogg | Bin 0 -> 9457 bytes sound/weapons/gun/pistol/shot.ogg | Bin 0 -> 12449 bytes sound/weapons/gun/pistol/shot_alt.ogg | Bin 0 -> 12350 bytes sound/weapons/gun/pistol/shot_suppressed.ogg | Bin 0 -> 11044 bytes sound/weapons/gun/pistol/slide_drop.ogg | Bin 0 -> 7171 bytes sound/weapons/gun/pistol/slide_lock.ogg | Bin 0 -> 9125 bytes .../revolver/dry_fire.ogg} | Bin .../revolver/empty.ogg} | Bin .../revolver/load_bullet.ogg} | Bin sound/weapons/gun/revolver/shot.ogg | Bin 0 -> 10751 bytes sound/weapons/gun/revolver/shot_alt.ogg | Bin 0 -> 10327 bytes .../revolver/spin1.ogg} | Bin .../revolver/spin2.ogg} | Bin .../revolver/spin3.ogg} | Bin sound/weapons/gun/rifle/bolt_in.ogg | Bin 0 -> 9184 bytes sound/weapons/gun/rifle/bolt_out.ogg | Bin 0 -> 8976 bytes sound/weapons/gun/rifle/shot.ogg | Bin 0 -> 13645 bytes .../shotgun/insert_shell.ogg} | Bin sound/weapons/gun/shotgun/rack.ogg | Bin 0 -> 10217 bytes sound/weapons/gun/shotgun/shot.ogg | Bin 0 -> 13103 bytes sound/weapons/gun/shotgun/shot_alt.ogg | Bin 0 -> 14808 bytes sound/weapons/gun/smg/shot.ogg | Bin 0 -> 12348 bytes sound/weapons/gun/smg/shot_alt.ogg | Bin 0 -> 11934 bytes sound/weapons/gun/smg/shot_suppressed.ogg | Bin 0 -> 12273 bytes sound/weapons/{ => gun/smg}/smgrack.ogg | Bin .../sniper/mag_insert.ogg} | Bin .../{sniper_rack.ogg => gun/sniper/rack.ogg} | Bin sound/weapons/gun/sniper/shot.ogg | Bin 0 -> 15435 bytes sound/weapons/gun_magazine_insert_empty_2.ogg | Bin 9576 -> 0 bytes sound/weapons/gun_magazine_insert_empty_3.ogg | Bin 12092 -> 0 bytes sound/weapons/gun_magazine_insert_empty_4.ogg | Bin 10042 -> 0 bytes sound/weapons/gun_magazine_insert_full_2.ogg | Bin 9024 -> 0 bytes sound/weapons/gun_magazine_insert_full_3.ogg | Bin 10662 -> 0 bytes sound/weapons/gun_magazine_insert_full_4.ogg | Bin 10474 -> 0 bytes sound/weapons/gun_magazine_insert_full_5.ogg | Bin 10833 -> 0 bytes sound/weapons/gun_magazine_remove_empty_2.ogg | Bin 7380 -> 0 bytes sound/weapons/gun_magazine_remove_empty_3.ogg | Bin 7412 -> 0 bytes sound/weapons/gun_magazine_remove_empty_4.ogg | Bin 8444 -> 0 bytes sound/weapons/gun_slide_lock_2.ogg | Bin 11018 -> 0 bytes sound/weapons/gun_slide_lock_3.ogg | Bin 11140 -> 0 bytes sound/weapons/gun_slide_lock_4.ogg | Bin 11080 -> 0 bytes sound/weapons/gun_slide_lock_5.ogg | Bin 11042 -> 0 bytes sound/weapons/gunshot.ogg | Bin 10200 -> 0 bytes sound/weapons/gunshot_silenced.ogg | Bin 11157 -> 0 bytes sound/weapons/gunshot_smg.ogg | Bin 10878 -> 0 bytes sound/weapons/mosinboltin.ogg | Bin 13617 -> 0 bytes sound/weapons/mosinboltout.ogg | Bin 11852 -> 0 bytes sound/weapons/pistollock.ogg | Bin 6901 -> 0 bytes sound/weapons/pistolrack.ogg | Bin 10500 -> 0 bytes sound/weapons/pistolslidedrop.ogg | Bin 6437 -> 0 bytes sound/weapons/revolver357shot.ogg | Bin 10894 -> 0 bytes sound/weapons/revolver38shot.ogg | Bin 10451 -> 0 bytes sound/weapons/rifleshot.ogg | Bin 10597 -> 0 bytes sound/weapons/shotgunpump.ogg | Bin 11860 -> 0 bytes sound/weapons/shotgunshot.ogg | Bin 17554 -> 0 bytes sound/weapons/smgshot.ogg | Bin 11925 -> 0 bytes sound/weapons/sniper_shot.ogg | Bin 16072 -> 0 bytes 115 files changed, 116 insertions(+), 111 deletions(-) rename sound/weapons/{gun_chamber_round.ogg => gun/general/bolt_drop.ogg} (100%) create mode 100644 sound/weapons/gun/general/bolt_rack.ogg rename sound/weapons/{ => gun/general}/chunkyrack.ogg (100%) rename sound/weapons/{gun_dry_fire.ogg => gun/general/dry_fire.ogg} (100%) rename sound/weapons/{smg_empty_alarm.ogg => gun/general/empty_alarm.ogg} (100%) rename sound/weapons/{grenadelaunch.ogg => gun/general/grenade_launch.ogg} (100%) create mode 100644 sound/weapons/gun/general/heavy_shot_suppressed.ogg rename sound/weapons/{bulletinsert.ogg => gun/general/mag_bullet_insert.ogg} (100%) rename sound/weapons/{bulletremove.ogg => gun/general/mag_bullet_remove.ogg} (100%) rename sound/weapons/{gun_magazine_insert_empty_1.ogg => gun/general/magazine_insert_empty.ogg} (100%) rename sound/weapons/{gun_magazine_insert_full_1.ogg => gun/general/magazine_insert_full.ogg} (100%) rename sound/weapons/{gun_magazine_remove_empty_1.ogg => gun/general/magazine_remove_empty.ogg} (100%) rename sound/weapons/{gun_magazine_remove_full.ogg => gun/general/magazine_remove_full.ogg} (100%) rename sound/weapons/{rocketlaunch.ogg => gun/general/rocket_launch.ogg} (100%) rename sound/weapons/{gun_slide_lock_1.ogg => gun/general/slide_lock_1.ogg} (100%) rename sound/weapons/{sawopen.ogg => gun/l6/l6_door.ogg} (100%) rename sound/weapons/{sawclose.ogg => gun/l6/l6_rack.ogg} (100%) create mode 100644 sound/weapons/gun/l6/shot.ogg create mode 100644 sound/weapons/gun/pistol/drop_small.ogg create mode 100644 sound/weapons/gun/pistol/dry_fire.ogg create mode 100644 sound/weapons/gun/pistol/lock_small.ogg create mode 100644 sound/weapons/gun/pistol/mag_insert.ogg create mode 100644 sound/weapons/gun/pistol/mag_release.ogg create mode 100644 sound/weapons/gun/pistol/rack.ogg create mode 100644 sound/weapons/gun/pistol/rack_small.ogg create mode 100644 sound/weapons/gun/pistol/shot.ogg create mode 100644 sound/weapons/gun/pistol/shot_alt.ogg create mode 100644 sound/weapons/gun/pistol/shot_suppressed.ogg create mode 100644 sound/weapons/gun/pistol/slide_drop.ogg create mode 100644 sound/weapons/gun/pistol/slide_lock.ogg rename sound/weapons/{revolverdry.ogg => gun/revolver/dry_fire.ogg} (100%) rename sound/weapons/{revolverempty.ogg => gun/revolver/empty.ogg} (100%) rename sound/weapons/{revolverload.ogg => gun/revolver/load_bullet.ogg} (100%) create mode 100644 sound/weapons/gun/revolver/shot.ogg create mode 100644 sound/weapons/gun/revolver/shot_alt.ogg rename sound/weapons/{revolverspin1.ogg => gun/revolver/spin1.ogg} (100%) rename sound/weapons/{revolverspin2.ogg => gun/revolver/spin2.ogg} (100%) rename sound/weapons/{revolverspin3.ogg => gun/revolver/spin3.ogg} (100%) create mode 100644 sound/weapons/gun/rifle/bolt_in.ogg create mode 100644 sound/weapons/gun/rifle/bolt_out.ogg create mode 100644 sound/weapons/gun/rifle/shot.ogg rename sound/weapons/{shotguninsert.ogg => gun/shotgun/insert_shell.ogg} (100%) create mode 100644 sound/weapons/gun/shotgun/rack.ogg create mode 100644 sound/weapons/gun/shotgun/shot.ogg create mode 100644 sound/weapons/gun/shotgun/shot_alt.ogg create mode 100644 sound/weapons/gun/smg/shot.ogg create mode 100644 sound/weapons/gun/smg/shot_alt.ogg create mode 100644 sound/weapons/gun/smg/shot_suppressed.ogg rename sound/weapons/{ => gun/smg}/smgrack.ogg (100%) rename sound/weapons/{sniper_mag_insert.ogg => gun/sniper/mag_insert.ogg} (100%) rename sound/weapons/{sniper_rack.ogg => gun/sniper/rack.ogg} (100%) create mode 100644 sound/weapons/gun/sniper/shot.ogg delete mode 100644 sound/weapons/gun_magazine_insert_empty_2.ogg delete mode 100644 sound/weapons/gun_magazine_insert_empty_3.ogg delete mode 100644 sound/weapons/gun_magazine_insert_empty_4.ogg delete mode 100644 sound/weapons/gun_magazine_insert_full_2.ogg delete mode 100644 sound/weapons/gun_magazine_insert_full_3.ogg delete mode 100644 sound/weapons/gun_magazine_insert_full_4.ogg delete mode 100644 sound/weapons/gun_magazine_insert_full_5.ogg delete mode 100644 sound/weapons/gun_magazine_remove_empty_2.ogg delete mode 100644 sound/weapons/gun_magazine_remove_empty_3.ogg delete mode 100644 sound/weapons/gun_magazine_remove_empty_4.ogg delete mode 100644 sound/weapons/gun_slide_lock_2.ogg delete mode 100644 sound/weapons/gun_slide_lock_3.ogg delete mode 100644 sound/weapons/gun_slide_lock_4.ogg delete mode 100644 sound/weapons/gun_slide_lock_5.ogg delete mode 100644 sound/weapons/gunshot.ogg delete mode 100644 sound/weapons/gunshot_silenced.ogg delete mode 100644 sound/weapons/gunshot_smg.ogg delete mode 100644 sound/weapons/mosinboltin.ogg delete mode 100644 sound/weapons/mosinboltout.ogg delete mode 100644 sound/weapons/pistollock.ogg delete mode 100644 sound/weapons/pistolrack.ogg delete mode 100644 sound/weapons/pistolslidedrop.ogg delete mode 100644 sound/weapons/revolver357shot.ogg delete mode 100644 sound/weapons/revolver38shot.ogg delete mode 100644 sound/weapons/rifleshot.ogg delete mode 100644 sound/weapons/shotgunpump.ogg delete mode 100644 sound/weapons/shotgunshot.ogg delete mode 100644 sound/weapons/smgshot.ogg delete mode 100644 sound/weapons/sniper_shot.ogg diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index b7374f924c8..e1d5ac7274b 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -97,7 +97,7 @@ /datum/status_effect/bounty/on_apply() to_chat(owner, "You hear something behind you talking... You have been marked for death by [rewarded]. If you die, they will be rewarded.") - playsound(owner, 'sound/weapons/shotgunpump.ogg', 75, FALSE) + playsound(owner, 'sound/weapons/gun/shotgun/rack.ogg', 75, FALSE) return ..() /datum/status_effect/bounty/tick() @@ -108,7 +108,7 @@ /datum/status_effect/bounty/proc/rewards() if(rewarded && rewarded.mind && rewarded.stat != DEAD) to_chat(owner, "You hear something behind you talking... Bounty claimed.") - playsound(owner, 'sound/weapons/shotgunshot.ogg', 75, FALSE) + playsound(owner, 'sound/weapons/gun/shotgun/shot.ogg', 75, FALSE) to_chat(rewarded, "You feel a surge of mana flow into you!") for(var/obj/effect/proc_holder/spell/spell in rewarded.mind.spell_list) spell.charge_counter = spell.charge_max diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index 82c9cec50bc..b0213027fbb 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -247,7 +247,7 @@ desc = "A weapon for combat exosuits. Launches primed tear-stache grenades." icon_state = "mecha_grenadelnchr" projectile = /obj/item/grenade/chem_grenade/teargas/moustache - fire_sound = 'sound/weapons/grenadelaunch.ogg' + fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' projectiles = 6 missile_speed = 1.5 projectile_energy_cost = 800 diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index e07d16442e5..a0bcf374895 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -212,7 +212,7 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event pass_flags = PASSTABLE | PASSGRILLE hits = 1 hitpwr = 3 - meteorsound = 'sound/weapons/gunshot_smg.ogg' + meteorsound = 'sound/weapons/gun/smg/shot.ogg' meteordrop = list(/obj/item/stack/ore/glass) threat = 1 diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 26ce78f415d..398b0f934b1 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -661,7 +661,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( else if(href_list["killcrew"]) //shoot a crewmember if(gameStatus == ORION_STATUS_NORMAL || event == ORION_TRAIL_LING) var/sheriff = remove_crewmember() //I shot the sheriff - playsound(loc,'sound/weapons/gunshot.ogg', 100, TRUE) + playsound(loc,'sound/weapons/gun/pistol/shot.ogg', 100, TRUE) if(settlers.len == 0 || alive == 0) say("The last crewmember [sheriff], shot themselves, GAME OVER!") diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 37c19687ab8..54765ccd0c1 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -662,8 +662,8 @@ mode = TURRET_LETHAL stun_projectile = /obj/item/projectile/bullet lethal_projectile = /obj/item/projectile/bullet - lethal_projectile_sound = 'sound/weapons/gunshot.ogg' - stun_projectile_sound = 'sound/weapons/gunshot.ogg' + lethal_projectile_sound = 'sound/weapons/gun/pistol/shot.ogg' + stun_projectile_sound = 'sound/weapons/gun/pistol/shot.ogg' icon_state = "syndie_off" base_icon_state = "syndie" faction = list(ROLE_SYNDICATE) @@ -714,8 +714,8 @@ shot_delay = 3 stun_projectile = /obj/item/projectile/bullet/p50/penetrator/shuttle lethal_projectile = /obj/item/projectile/bullet/p50/penetrator/shuttle - lethal_projectile_sound = 'sound/weapons/gunshot_smg.ogg' - stun_projectile_sound = 'sound/weapons/gunshot_smg.ogg' + lethal_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' + stun_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' armor = list("melee" = 50, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 80, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) /obj/machinery/porta_turret/syndicate/shuttle/target(atom/movable/target) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index a478b4f0dd0..2fdbdfa24ed 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -210,7 +210,7 @@ //Base ballistic weapon type /obj/item/mecha_parts/mecha_equipment/weapon/ballistic name = "general ballistic weapon" - fire_sound = 'sound/weapons/gunshot.ogg' + fire_sound = 'sound/weapons/gun/smg/shot.ogg' var/projectiles var/projectiles_cache //ammo to be loaded in, if possible. var/projectiles_cache_max @@ -290,7 +290,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced name = "\improper S.H.H. \"Quietus\" Carbine" desc = "A weapon for combat exosuits. A mime invention, field tests have shown that targets cannot even scream before going down." - fire_sound = 'sound/weapons/gunshot_silenced.ogg' + fire_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' icon_state = "mecha_mime" equip_cooldown = 30 projectile = /obj/item/projectile/bullet/mime @@ -333,7 +333,7 @@ desc = "A weapon for combat exosuits. Launches light explosive missiles." icon_state = "mecha_missilerack" projectile = /obj/item/projectile/bullet/a84mm_he - fire_sound = 'sound/weapons/grenadelaunch.ogg' + fire_sound = 'sound/weapons/gun/general/rocket_launch.ogg' projectiles = 8 projectiles_cache = 0 projectiles_cache_max = 0 @@ -347,7 +347,7 @@ desc = "A weapon for combat exosuits. Launches low-explosive breaching missiles designed to explode only when striking a sturdy target." icon_state = "mecha_missilerack_six" projectile = /obj/item/projectile/bullet/a84mm_br - fire_sound = 'sound/weapons/grenadelaunch.ogg' + fire_sound = 'sound/weapons/gun/general/rocket_launch.ogg' projectiles = 6 projectiles_cache = 0 projectiles_cache_max = 0 @@ -383,7 +383,7 @@ desc = "A weapon for combat exosuits. Launches primed flashbangs." icon_state = "mecha_grenadelnchr" projectile = /obj/item/grenade/flashbang - fire_sound = 'sound/weapons/grenadelaunch.ogg' + fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' projectiles = 6 projectiles_cache = 6 projectiles_cache_max = 24 diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm index e1cae56ae64..60afdc0ca90 100644 --- a/code/game/objects/items/latexballoon.dm +++ b/code/game/objects/items/latexballoon.dm @@ -23,7 +23,7 @@ /obj/item/latexballon/proc/burst() if (!air_contents || icon_state != "latexballon_blow") return - playsound(src, 'sound/weapons/gunshot.ogg', 100, TRUE) + playsound(src, 'sound/weapons/gun/pistol/shot.ogg', 100, TRUE) icon_state = "latexballon_bursted" item_state = "lgloves" if(isliving(loc)) diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index 02336800b06..8b32b09bcdc 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -312,7 +312,7 @@ item_state = "speargun" w_class = WEIGHT_CLASS_BULKY force = 10 - fire_sound = 'sound/weapons/grenadelaunch.ogg' + fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' gasPerThrow = 0 checktank = FALSE range_multiplier = 3 diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 3b3cefe9995..45a2bf51594 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -20,7 +20,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ materials = list(/datum/material/iron=1000) max_amount = 50 attack_verb = list("hit", "bludgeoned", "whacked") - hitsound = 'sound/weapons/grenadelaunch.ogg' + hitsound = 'sound/weapons/gun/general/grenade_launch.ogg' novariants = TRUE /obj/item/stack/rods/suicide_act(mob/living/carbon/user) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 3262350f25c..7f4d3eeb401 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -228,9 +228,9 @@ src.add_fingerprint(user) if (src.bullets < 1) user.show_message("*click*", MSG_AUDIBLE) - playsound(src, 'sound/weapons/gun_dry_fire.ogg', 30, TRUE) + playsound(src, 'sound/weapons/gun/revolver/dry_fire.ogg', 30, TRUE) return - playsound(user, 'sound/weapons/gunshot.ogg', 100, TRUE) + playsound(user, 'sound/weapons/gun/revolver/shot.ogg', 100, TRUE) src.bullets-- user.visible_message("[user] fires [src] at [target]!", \ "You fire [src] at [target]!", \ diff --git a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm index a8c8d6e7314..1601461b6ee 100644 --- a/code/game/objects/structures/manned_turret.dm +++ b/code/game/objects/structures/manned_turret.dm @@ -155,7 +155,7 @@ P.starting = targets_from P.firer = user P.original = target - playsound(src, 'sound/weapons/gunshot_smg.ogg', 75, TRUE) + playsound(src, 'sound/weapons/gun/smg/shot.ogg', 75, TRUE) P.xo = target.x - targets_from.x P.yo = target.y - targets_from.y P.Angle = calculated_projectile_vars[1] + rand(-9, 9) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index df5b6ac6d96..162b35b6a2e 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -192,7 +192,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an icon_state = "morgue4" // Cloneable if(mob_occupant.stat == DEAD && beeper) if(world.time > next_beep) - playsound(src, 'sound/weapons/smg_empty_alarm.ogg', 50, FALSE) //Clone them you blind fucks + playsound(src, 'sound/weapons/gun/general/empty_alarm.ogg', 50, FALSE) //Clone them you blind fucks next_beep = world.time + beep_cooldown break diff --git a/code/game/sound.dm b/code/game/sound.dm index 018258f0b38..1c48d306697 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -150,16 +150,8 @@ soundin = pick('sound/effects/can_open1.ogg', 'sound/effects/can_open2.ogg', 'sound/effects/can_open3.ogg') if("bullet_miss") soundin = pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg') - if("gun_insert_empty_magazine") - soundin = pick('sound/weapons/gun_magazine_insert_empty_1.ogg', 'sound/weapons/gun_magazine_insert_empty_2.ogg', 'sound/weapons/gun_magazine_insert_empty_3.ogg', 'sound/weapons/gun_magazine_insert_empty_4.ogg') - if("gun_insert_full_magazine") - soundin = pick('sound/weapons/gun_magazine_insert_full_1.ogg', 'sound/weapons/gun_magazine_insert_full_2.ogg', 'sound/weapons/gun_magazine_insert_full_3.ogg', 'sound/weapons/gun_magazine_insert_full_4.ogg', 'sound/weapons/gun_magazine_insert_full_5.ogg') - if("gun_remove_empty_magazine") - soundin = pick('sound/weapons/gun_magazine_remove_empty_1.ogg', 'sound/weapons/gun_magazine_remove_empty_2.ogg', 'sound/weapons/gun_magazine_remove_empty_3.ogg', 'sound/weapons/gun_magazine_remove_empty_4.ogg') - if("gun_slide_lock") - soundin = pick('sound/weapons/gun_slide_lock_1.ogg', 'sound/weapons/gun_slide_lock_2.ogg', 'sound/weapons/gun_slide_lock_3.ogg', 'sound/weapons/gun_slide_lock_4.ogg', 'sound/weapons/gun_slide_lock_5.ogg') if("revolver_spin") - soundin = pick('sound/weapons/revolverspin1.ogg', 'sound/weapons/revolverspin2.ogg', 'sound/weapons/revolverspin3.ogg') + soundin = pick('sound/weapons/gun/revolver/spin1.ogg', 'sound/weapons/gun/revolver/spin2.ogg', 'sound/weapons/gun/revolver/spin3.ogg') if("law") soundin = pick('sound/voice/beepsky/god.ogg', 'sound/voice/beepsky/iamthelaw.ogg', 'sound/voice/beepsky/secureday.ogg', 'sound/voice/beepsky/radio.ogg', 'sound/voice/beepsky/insult.ogg', 'sound/voice/beepsky/creep.ogg') if("honkbot_e") diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index d9ef67e8199..4cf74d06db4 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -27,7 +27,7 @@ var/requires_activation //add to air processing after initialize? var/changing_turf = FALSE - var/bullet_bounce_sound = 'sound/weapons/bulletremove.ogg' //sound played when a shell casing is ejected ontop of the turf. + var/bullet_bounce_sound = 'sound/weapons/gun/general/mag_bullet_remove.ogg' //sound played when a shell casing is ejected ontop of the turf. var/bullet_sizzle = FALSE //used by ammo_casing/bounce_away() to determine if the shell casing should make a sizzle sound when it's ejected over the turf //IE if the turf is supposed to be water, set TRUE. diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 9777071e81b..6934edc4c54 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -628,7 +628,7 @@ qdel(G) O.equip(M) to_chat(M, "Ammunition reloaded!") - playsound(get_turf(M), 'sound/weapons/shotgunpump.ogg', 50, TRUE, -1) + playsound(get_turf(M), 'sound/weapons/gun/shotgun/rack.ogg', 50, TRUE, -1) qdel(src) break diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index 7b83cb2289f..578ba46b114 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -18,7 +18,7 @@ melee_damage_upper = 3 attacktext = "claws" attack_sound = 'sound/weapons/bladeslice.ogg' - projectilesound = 'sound/weapons/gunshot.ogg' + projectilesound = 'sound/weapons/gun/pistol/shot.ogg' projectiletype = /obj/item/projectile/hivebotbullet faction = list("hivebot") check_friendly_fire = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm b/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm index ed2a407b8e2..8d08a6be0e5 100644 --- a/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm +++ b/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm @@ -47,7 +47,7 @@ retreat_distance = 3 minimum_distance = 5 casingtype = /obj/item/ammo_casing/c45 - projectilesound = 'sound/weapons/gunshot.ogg' + projectilesound = 'sound/weapons/gun/pistol/shot_alt.ogg' loot = list(/obj/item/gun/ballistic/automatic/pistol/m1911, /obj/effect/mob_spawn/human/corpse/nanotrasensoldier) @@ -57,6 +57,6 @@ icon_living = "nanotrasenrangedsmg" rapid = 3 casingtype = /obj/item/ammo_casing/c46x30mm - projectilesound = 'sound/weapons/gunshot_smg.ogg' + projectilesound = 'sound/weapons/gun/smg/shot.ogg' loot = list(/obj/item/gun/ballistic/automatic/wt550, - /obj/effect/mob_spawn/human/corpse/nanotrasensoldier) \ No newline at end of file + /obj/effect/mob_spawn/human/corpse/nanotrasensoldier) diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index d653f532850..e566d0175e5 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -33,7 +33,7 @@ /mob/living/simple_animal/hostile/netherworld/migo/Initialize() . = ..() - migo_sounds = list('sound/items/bubblewrap.ogg', 'sound/items/change_jaws.ogg', 'sound/items/crowbar.ogg', 'sound/items/drink.ogg', 'sound/items/deconstruct.ogg', 'sound/items/carhorn.ogg', 'sound/items/change_drill.ogg', 'sound/items/dodgeball.ogg', 'sound/items/eatfood.ogg', 'sound/items/megaphone.ogg', 'sound/items/screwdriver.ogg', 'sound/items/weeoo1.ogg', 'sound/items/wirecutter.ogg', 'sound/items/welder.ogg', 'sound/items/zip.ogg', 'sound/items/rped.ogg', 'sound/items/ratchet.ogg', 'sound/items/polaroid1.ogg', 'sound/items/pshoom.ogg', 'sound/items/airhorn.ogg', 'sound/items/geiger/high1.ogg', 'sound/items/geiger/high2.ogg', 'sound/voice/beepsky/creep.ogg', 'sound/voice/beepsky/iamthelaw.ogg', 'sound/voice/ed209_20sec.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss6.ogg', 'sound/voice/medbot/patchedup.ogg', 'sound/voice/medbot/feelbetter.ogg', 'sound/voice/human/manlaugh1.ogg', 'sound/voice/human/womanlaugh.ogg', 'sound/weapons/sear.ogg', 'sound/ambience/antag/clockcultalr.ogg', 'sound/ambience/antag/ling_aler.ogg', 'sound/ambience/antag/tatoralert.ogg', 'sound/ambience/antag/monkey.ogg', 'sound/mecha/nominal.ogg', 'sound/mecha/weapdestr.ogg', 'sound/mecha/critdestr.ogg', 'sound/mecha/imag_enh.ogg', 'sound/effects/adminhelp.ogg', 'sound/effects/alert.ogg', 'sound/effects/attackblob.ogg', 'sound/effects/bamf.ogg', 'sound/effects/blobattack.ogg', 'sound/effects/break_stone.ogg', 'sound/effects/bubbles.ogg', 'sound/effects/bubbles2.ogg', 'sound/effects/clang.ogg', 'sound/effects/clockcult_gateway_disrupted.ogg', 'sound/effects/clownstep2.ogg', 'sound/effects/curse1.ogg', 'sound/effects/dimensional_rend.ogg', 'sound/effects/doorcreaky.ogg', 'sound/effects/empulse.ogg', 'sound/effects/explosion_distant.ogg', 'sound/effects/explosionfar.ogg', 'sound/effects/explosion1.ogg', 'sound/effects/grillehit.ogg', 'sound/effects/genetics.ogg', 'sound/effects/heart_beat.ogg', 'sound/effects/hyperspace_begin.ogg', 'sound/effects/hyperspace_end.ogg', 'sound/effects/his_grace_awaken.ogg', 'sound/effects/pai_boot.ogg', 'sound/effects/phasein.ogg', 'sound/effects/picaxe1.ogg', 'sound/effects/ratvar_reveal.ogg', 'sound/effects/sparks1.ogg', 'sound/effects/smoke.ogg', 'sound/effects/splat.ogg', 'sound/effects/snap.ogg', 'sound/effects/tendril_destroyed.ogg', 'sound/effects/supermatter.ogg', 'sound/misc/desceration-01.ogg', 'sound/misc/desceration-02.ogg', 'sound/misc/desceration-03.ogg', 'sound/misc/bloblarm.ogg', 'sound/misc/airraid.ogg', 'sound/misc/bang.ogg','sound/misc/highlander.ogg', 'sound/misc/interference.ogg', 'sound/misc/notice1.ogg', 'sound/misc/notice2.ogg', 'sound/misc/sadtrombone.ogg', 'sound/misc/slip.ogg', 'sound/misc/splort.ogg', 'sound/weapons/armbomb.ogg', 'sound/weapons/beam_sniper.ogg', 'sound/weapons/chainsawhit.ogg', 'sound/weapons/emitter.ogg', 'sound/weapons/emitter2.ogg', 'sound/weapons/blade1.ogg', 'sound/weapons/bladeslice.ogg', 'sound/weapons/blastcannon.ogg', 'sound/weapons/blaster.ogg', 'sound/weapons/bulletflyby3.ogg', 'sound/weapons/circsawhit.ogg', 'sound/weapons/cqchit2.ogg', 'sound/weapons/drill.ogg', 'sound/weapons/genhit1.ogg', 'sound/weapons/gunshot_silenced.ogg', 'sound/weapons/gunshot.ogg', 'sound/weapons/handcuffs.ogg', 'sound/weapons/homerun.ogg', 'sound/weapons/kenetic_accel.ogg', 'sound/machines/clockcult/steam_whoosh.ogg', 'sound/machines/fryer/deep_fryer_emerge.ogg', 'sound/machines/airlock.ogg', 'sound/machines/airlock_alien_prying.ogg', 'sound/machines/airlockclose.ogg', 'sound/machines/airlockforced.ogg', 'sound/machines/airlockopen.ogg', 'sound/machines/alarm.ogg', 'sound/machines/blender.ogg', 'sound/machines/boltsdown.ogg', 'sound/machines/boltsup.ogg', 'sound/machines/buzz-sigh.ogg', 'sound/machines/buzz-two.ogg', 'sound/machines/chime.ogg', 'sound/machines/cryo_warning.ogg', 'sound/machines/defib_charge.ogg', 'sound/machines/defib_failed.ogg', 'sound/machines/defib_ready.ogg', 'sound/machines/defib_zap.ogg', 'sound/machines/deniedbeep.ogg', 'sound/machines/ding.ogg', 'sound/machines/disposalflush.ogg', 'sound/machines/door_close.ogg', 'sound/machines/door_open.ogg', 'sound/machines/engine_alert1.ogg', 'sound/machines/engine_alert2.ogg', 'sound/machines/hiss.ogg', 'sound/machines/honkbot_evil_laugh.ogg', 'sound/machines/juicer.ogg', 'sound/machines/ping.ogg', 'sound/ambience/signal.ogg', 'sound/machines/synth_no.ogg', 'sound/machines/synth_yes.ogg', 'sound/machines/terminal_alert.ogg', 'sound/machines/triple_beep.ogg', 'sound/machines/twobeep.ogg', 'sound/machines/ventcrawl.ogg', 'sound/machines/warning-buzzer.ogg', 'sound/ai/outbreak5.ogg', 'sound/ai/outbreak7.ogg', 'sound/ai/poweroff.ogg', 'sound/ai/radiation.ogg', 'sound/ai/shuttlecalled.ogg', 'sound/ai/shuttledock.ogg', 'sound/ai/shuttlerecalled.ogg', 'sound/ai/aimalf.ogg') //hahahaha fuck you code divers + migo_sounds = list('sound/items/bubblewrap.ogg', 'sound/items/change_jaws.ogg', 'sound/items/crowbar.ogg', 'sound/items/drink.ogg', 'sound/items/deconstruct.ogg', 'sound/items/carhorn.ogg', 'sound/items/change_drill.ogg', 'sound/items/dodgeball.ogg', 'sound/items/eatfood.ogg', 'sound/items/megaphone.ogg', 'sound/items/screwdriver.ogg', 'sound/items/weeoo1.ogg', 'sound/items/wirecutter.ogg', 'sound/items/welder.ogg', 'sound/items/zip.ogg', 'sound/items/rped.ogg', 'sound/items/ratchet.ogg', 'sound/items/polaroid1.ogg', 'sound/items/pshoom.ogg', 'sound/items/airhorn.ogg', 'sound/items/geiger/high1.ogg', 'sound/items/geiger/high2.ogg', 'sound/voice/beepsky/creep.ogg', 'sound/voice/beepsky/iamthelaw.ogg', 'sound/voice/ed209_20sec.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss6.ogg', 'sound/voice/medbot/patchedup.ogg', 'sound/voice/medbot/feelbetter.ogg', 'sound/voice/human/manlaugh1.ogg', 'sound/voice/human/womanlaugh.ogg', 'sound/weapons/sear.ogg', 'sound/ambience/antag/clockcultalr.ogg', 'sound/ambience/antag/ling_aler.ogg', 'sound/ambience/antag/tatoralert.ogg', 'sound/ambience/antag/monkey.ogg', 'sound/mecha/nominal.ogg', 'sound/mecha/weapdestr.ogg', 'sound/mecha/critdestr.ogg', 'sound/mecha/imag_enh.ogg', 'sound/effects/adminhelp.ogg', 'sound/effects/alert.ogg', 'sound/effects/attackblob.ogg', 'sound/effects/bamf.ogg', 'sound/effects/blobattack.ogg', 'sound/effects/break_stone.ogg', 'sound/effects/bubbles.ogg', 'sound/effects/bubbles2.ogg', 'sound/effects/clang.ogg', 'sound/effects/clockcult_gateway_disrupted.ogg', 'sound/effects/clownstep2.ogg', 'sound/effects/curse1.ogg', 'sound/effects/dimensional_rend.ogg', 'sound/effects/doorcreaky.ogg', 'sound/effects/empulse.ogg', 'sound/effects/explosion_distant.ogg', 'sound/effects/explosionfar.ogg', 'sound/effects/explosion1.ogg', 'sound/effects/grillehit.ogg', 'sound/effects/genetics.ogg', 'sound/effects/heart_beat.ogg', 'sound/effects/hyperspace_begin.ogg', 'sound/effects/hyperspace_end.ogg', 'sound/effects/his_grace_awaken.ogg', 'sound/effects/pai_boot.ogg', 'sound/effects/phasein.ogg', 'sound/effects/picaxe1.ogg', 'sound/effects/ratvar_reveal.ogg', 'sound/effects/sparks1.ogg', 'sound/effects/smoke.ogg', 'sound/effects/splat.ogg', 'sound/effects/snap.ogg', 'sound/effects/tendril_destroyed.ogg', 'sound/effects/supermatter.ogg', 'sound/misc/desceration-01.ogg', 'sound/misc/desceration-02.ogg', 'sound/misc/desceration-03.ogg', 'sound/misc/bloblarm.ogg', 'sound/misc/airraid.ogg', 'sound/misc/bang.ogg','sound/misc/highlander.ogg', 'sound/misc/interference.ogg', 'sound/misc/notice1.ogg', 'sound/misc/notice2.ogg', 'sound/misc/sadtrombone.ogg', 'sound/misc/slip.ogg', 'sound/misc/splort.ogg', 'sound/weapons/armbomb.ogg', 'sound/weapons/beam_sniper.ogg', 'sound/weapons/chainsawhit.ogg', 'sound/weapons/emitter.ogg', 'sound/weapons/emitter2.ogg', 'sound/weapons/blade1.ogg', 'sound/weapons/bladeslice.ogg', 'sound/weapons/blastcannon.ogg', 'sound/weapons/blaster.ogg', 'sound/weapons/bulletflyby3.ogg', 'sound/weapons/circsawhit.ogg', 'sound/weapons/cqchit2.ogg', 'sound/weapons/drill.ogg', 'sound/weapons/genhit1.ogg', 'sound/weapons/gun/pistol/shot_suppressed.ogg', 'sound/weapons/gun/pistol/shot.ogg', 'sound/weapons/handcuffs.ogg', 'sound/weapons/homerun.ogg', 'sound/weapons/kenetic_accel.ogg', 'sound/machines/clockcult/steam_whoosh.ogg', 'sound/machines/fryer/deep_fryer_emerge.ogg', 'sound/machines/airlock.ogg', 'sound/machines/airlock_alien_prying.ogg', 'sound/machines/airlockclose.ogg', 'sound/machines/airlockforced.ogg', 'sound/machines/airlockopen.ogg', 'sound/machines/alarm.ogg', 'sound/machines/blender.ogg', 'sound/machines/boltsdown.ogg', 'sound/machines/boltsup.ogg', 'sound/machines/buzz-sigh.ogg', 'sound/machines/buzz-two.ogg', 'sound/machines/chime.ogg', 'sound/machines/cryo_warning.ogg', 'sound/machines/defib_charge.ogg', 'sound/machines/defib_failed.ogg', 'sound/machines/defib_ready.ogg', 'sound/machines/defib_zap.ogg', 'sound/machines/deniedbeep.ogg', 'sound/machines/ding.ogg', 'sound/machines/disposalflush.ogg', 'sound/machines/door_close.ogg', 'sound/machines/door_open.ogg', 'sound/machines/engine_alert1.ogg', 'sound/machines/engine_alert2.ogg', 'sound/machines/hiss.ogg', 'sound/machines/honkbot_evil_laugh.ogg', 'sound/machines/juicer.ogg', 'sound/machines/ping.ogg', 'sound/ambience/signal.ogg', 'sound/machines/synth_no.ogg', 'sound/machines/synth_yes.ogg', 'sound/machines/terminal_alert.ogg', 'sound/machines/triple_beep.ogg', 'sound/machines/twobeep.ogg', 'sound/machines/ventcrawl.ogg', 'sound/machines/warning-buzzer.ogg', 'sound/ai/outbreak5.ogg', 'sound/ai/outbreak7.ogg', 'sound/ai/poweroff.ogg', 'sound/ai/radiation.ogg', 'sound/ai/shuttlecalled.ogg', 'sound/ai/shuttledock.ogg', 'sound/ai/shuttlerecalled.ogg', 'sound/ai/aimalf.ogg') //hahahaha fuck you code divers /mob/living/simple_animal/hostile/netherworld/migo/say(message, bubble_type, var/list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) ..() diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm index 29b0c0b701d..4c9059ee7af 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm @@ -71,6 +71,6 @@ retreat_distance = 3 minimum_distance = 5 casingtype = /obj/item/ammo_casing/c46x30mm - projectilesound = 'sound/weapons/gunshot_smg.ogg' + projectilesound = 'sound/weapons/gun/smg/shot.ogg' loot = list(/obj/item/gun/ballistic/automatic/wt550, - /obj/effect/mob_spawn/human/corpse/nanotrasensoldier) \ No newline at end of file + /obj/effect/mob_spawn/human/corpse/nanotrasensoldier) diff --git a/code/modules/mob/living/simple_animal/hostile/russian.dm b/code/modules/mob/living/simple_animal/hostile/russian.dm index e4b5b30960e..bdf1909a0c0 100644 --- a/code/modules/mob/living/simple_animal/hostile/russian.dm +++ b/code/modules/mob/living/simple_animal/hostile/russian.dm @@ -40,7 +40,7 @@ ranged = 1 retreat_distance = 5 minimum_distance = 5 - projectilesound = 'sound/weapons/gunshot.ogg' + projectilesound = 'sound/weapons/gun/revolver/shot.ogg' casingtype = /obj/item/ammo_casing/n762 diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index 6e884776c27..701d18f2557 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -175,13 +175,13 @@ icon_state = "syndicate_pistol" icon_living = "syndicate_pistol" casingtype = /obj/item/ammo_casing/c10mm - projectilesound = 'sound/weapons/gunshot.ogg' + projectilesound = 'sound/weapons/gun/pistol/shot.ogg' loot = list(/obj/effect/gibspawner/human) dodging = FALSE rapid_melee = 1 /mob/living/simple_animal/hostile/syndicate/ranged/infiltrator //shuttle loan event - projectilesound = 'sound/weapons/gunshot_silenced.ogg' + projectilesound = 'sound/weapons/gun/smg/shot_suppressed.ogg' loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) /mob/living/simple_animal/hostile/syndicate/ranged/space @@ -211,7 +211,7 @@ icon_state = "syndicate_smg" icon_living = "syndicate_smg" casingtype = /obj/item/ammo_casing/c45 - projectilesound = 'sound/weapons/gunshot_smg.ogg' + projectilesound = 'sound/weapons/gun/smg/shot.ogg' /mob/living/simple_animal/hostile/syndicate/ranged/smg/pilot //caravan ambush ruin name = "Syndicate Salvage Pilot" diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index 1ea4baa820b..a3ad1a43ee1 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -85,4 +85,4 @@ if(still_warm && T && T.bullet_sizzle) addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, 'sound/items/welder.ogg', 20, 1), bounce_delay) //If the turf is made of water and the shell casing is still hot, make a sizzling sound when it's ejected. else if(T && T.bullet_bounce_sound) - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, T.bullet_bounce_sound, 60, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them. + addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, T.bullet_bounce_sound, 20, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them. diff --git a/code/modules/projectiles/ammunition/energy/lmg.dm b/code/modules/projectiles/ammunition/energy/lmg.dm index 5ebe83f792b..cf894ca56dd 100644 --- a/code/modules/projectiles/ammunition/energy/lmg.dm +++ b/code/modules/projectiles/ammunition/energy/lmg.dm @@ -1,6 +1,6 @@ /obj/item/ammo_casing/energy/c3dbullet projectile_type = /obj/item/projectile/bullet/c3d select_name = "spraydown" - fire_sound = 'sound/weapons/gunshot_smg.ogg' + fire_sound = 'sound/weapons/gun/smg/shot.ogg' e_cost = 20 firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect diff --git a/code/modules/projectiles/ammunition/energy/stun.dm b/code/modules/projectiles/ammunition/energy/stun.dm index 33c55e7f752..35e12bc5293 100644 --- a/code/modules/projectiles/ammunition/energy/stun.dm +++ b/code/modules/projectiles/ammunition/energy/stun.dm @@ -9,7 +9,7 @@ e_cost = 100 /obj/item/ammo_casing/energy/electrode/gun - fire_sound = 'sound/weapons/gunshot.ogg' + fire_sound = 'sound/weapons/gun/pistol/shot.ogg' e_cost = 100 /obj/item/ammo_casing/energy/electrode/old diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index a1452eeac57..355ef66fa16 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -107,7 +107,7 @@ if(num_loaded) if(!silent) to_chat(user, "You load [num_loaded] shell\s into \the [src]!") - playsound(src, 'sound/weapons/bulletinsert.ogg', 60, TRUE) + playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) A.update_icon() update_icon() return num_loaded @@ -118,7 +118,7 @@ A.forceMove(drop_location()) if(!user.is_holding(src) || !user.put_in_hands(A)) //incase they're using TK A.bounce_away(FALSE, NONE) - playsound(src, 'sound/weapons/bulletinsert.ogg', 60, TRUE) + playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) to_chat(user, "You remove a round from [src]!") update_icon() diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 9e9aae95288..d0aa3a4d851 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -18,14 +18,14 @@ item_flags = NEEDS_PERMIT attack_verb = list("struck", "hit", "bashed") - var/fire_sound = "gunshot" + var/fire_sound = 'sound/weapons/gun/pistol/shot.ogg' var/vary_fire_sound = TRUE var/fire_sound_volume = 50 - var/dry_fire_sound = 'sound/weapons/gun_dry_fire.ogg' + var/dry_fire_sound = 'sound/weapons/gun/general/dry_fire.ogg' var/suppressed = null //whether or not a message is displayed when fired var/can_suppress = FALSE - var/suppressed_sound = 'sound/weapons/gunshot_silenced.ogg' - var/suppressed_volume = 10 + var/suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' + var/suppressed_volume = 60 var/can_unsuppress = TRUE var/recoil = 0 //boom boom shake the room var/clumsy_check = TRUE @@ -156,7 +156,7 @@ shake_camera(user, recoil + 1, recoil) if(suppressed) - playsound(user, suppressed_sound, suppressed_volume, vary_fire_sound) + playsound(user, suppressed_sound, suppressed_volume, vary_fire_sound, ignore_walls = FALSE) else playsound(user, fire_sound, fire_sound_volume, vary_fire_sound) if(message) @@ -226,7 +226,7 @@ loop_counter++ addtimer(CALLBACK(G, /obj/item/gun.proc/process_fire, target, user, TRUE, params, null, bonus_spread), loop_counter) - process_fire(target, user, TRUE, params, null, bonus_spread) + return process_fire(target, user, TRUE, params, null, bonus_spread) diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 2dd12e0db21..540a892a601 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -7,39 +7,39 @@ w_class = WEIGHT_CLASS_NORMAL ///sound when inserting magazine - var/load_sound = "gun_insert_full_magazine" + var/load_sound = 'sound/weapons/gun/general/magazine_insert_full.ogg' ///sound when inserting an empty magazine - var/load_empty_sound = "gun_insert_empty_magazine" + var/load_empty_sound = 'sound/weapons/gun/general/magazine_insert_empty.ogg' ///volume of loading sound var/load_sound_volume = 40 ///whether loading sound should vary var/load_sound_vary = TRUE ///sound of racking - var/rack_sound = "gun_slide_lock" + var/rack_sound = 'sound/weapons/gun/general/bolt_rack.ogg' ///volume of racking var/rack_sound_volume = 60 ///whether racking sound should vary var/rack_sound_vary = TRUE ///sound of when the bolt is locked back manually - var/lock_back_sound = "sound/weapons/pistollock.ogg" + var/lock_back_sound = 'sound/weapons/gun/general/slide_lock_1.ogg' ///volume of lock back var/lock_back_sound_volume = 60 ///whether lock back varies var/lock_back_sound_vary = TRUE ///Sound of ejecting a magazine - var/eject_sound = "gun_remove_empty_magazine" + var/eject_sound = 'sound/weapons/gun/general/magazine_remove_full.ogg' ///sound of ejecting an empty magazine - var/eject_empty_sound = "gun_remove_full_magazine" + var/eject_empty_sound = 'sound/weapons/gun/general/magazine_remove_empty.ogg' ///volume of ejecting a magazine var/eject_sound_volume = 40 ///whether eject sound should vary var/eject_sound_vary = TRUE ///sound of dropping the bolt or releasing a slide - var/bolt_drop_sound = 'sound/weapons/gun_chamber_round.ogg' + var/bolt_drop_sound = 'sound/weapons/gun/general/bolt_drop.ogg' ///volume of bolt drop/slide release var/bolt_drop_sound_volume = 60 ///empty alarm sound (if enabled) - var/empty_alarm_sound = 'sound/weapons/smg_empty_alarm.ogg' + var/empty_alarm_sound = 'sound/weapons/gun/general/empty_alarm.ogg' ///empty alarm volume sound var/empty_alarm_volume = 70 ///whether empty alarm sound varies @@ -59,8 +59,6 @@ var/empty_alarm = FALSE ///Whether the gun supports multiple special mag types var/special_mags = FALSE - ///Whether the gun is currently alarmed to prevent it from spamming sounds - var/alarmed = FALSE ///The bolt type of the gun, affects quite a bit of functionality, see combat.dm defines for bolt types: BOLT_TYPE_STANDARD; BOLT_TYPE_LOCKING; BOLT_TYPE_OPEN; BOLT_TYPE_NO_BOLT var/bolt_type = BOLT_TYPE_STANDARD ///Used for locking bolt and open bolt guns. Set a bit differently for the two but prevents firing when true for both. @@ -320,20 +318,19 @@ update_icon() ///postfire empty checks for bolt locking and sound alarms -/obj/item/gun/ballistic/proc/postfire_empty_checks() +/obj/item/gun/ballistic/proc/postfire_empty_checks(last_shot_succeeded) if (!chambered && !get_ammo()) - if (!alarmed && empty_alarm) + if (empty_alarm && last_shot_succeeded) playsound(src, empty_alarm_sound, empty_alarm_volume, empty_alarm_vary) - alarmed = TRUE update_icon() - if (bolt_type == BOLT_TYPE_LOCKING) + if (last_shot_succeeded && bolt_type == BOLT_TYPE_LOCKING) bolt_locked = TRUE update_icon() /obj/item/gun/ballistic/afterattack() prefire_empty_checks() . = ..() //The gun actually firing - postfire_empty_checks() + postfire_empty_checks(.) //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/gun/ballistic/attack_hand(mob/user) diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 5e59f408c74..85204db021e 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -6,10 +6,11 @@ fire_delay = 2 actions_types = list(/datum/action/item_action/toggle_firemode) semi_auto = TRUE - fire_sound = "sound/weapons/smgshot.ogg" - fire_sound_volume = 80 + fire_sound = 'sound/weapons/gun/smg/shot.ogg' + fire_sound_volume = 90 vary_fire_sound = FALSE - rack_sound = "sound/weapons/smgrack.ogg" + rack_sound = 'sound/weapons/gun/smg/smgrack.ogg' + suppressed_sound = 'sound/weapons/gun/smg/shot_suppressed.ogg' /obj/item/gun/ballistic/automatic/proto name = "\improper Nanotrasen Saber SMG" @@ -102,7 +103,7 @@ burst_size = 2 bolt_type = BOLT_TYPE_OPEN mag_display = TRUE - rack_sound = "sound/weapons/pistollock.ogg" + rack_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' /obj/item/gun/ballistic/automatic/m90 name = "\improper M-90gl Carbine" @@ -110,7 +111,6 @@ icon_state = "m90" item_state = "m90" mag_type = /obj/item/ammo_box/magazine/m556 - fire_sound = 'sound/weapons/gunshot_smg.ogg' can_suppress = FALSE var/obj/item/gun/ballistic/revolver/grenadelauncher/underbarrel burst_size = 3 @@ -118,6 +118,7 @@ pin = /obj/item/firing_pin/implant/pindicate mag_display = TRUE empty_indicator = TRUE + fire_sound = 'sound/weapons/gun/smg/shot_alt.ogg' /obj/item/gun/ballistic/automatic/m90/Initialize() . = ..() @@ -185,7 +186,6 @@ w_class = WEIGHT_CLASS_HUGE slot_flags = 0 mag_type = /obj/item/ammo_box/magazine/tommygunm45 - fire_sound = 'sound/weapons/gunshot_smg.ogg' can_suppress = FALSE burst_size = 4 fire_delay = 1 @@ -198,7 +198,6 @@ item_state = "arg" slot_flags = 0 mag_type = /obj/item/ammo_box/magazine/m556 - fire_sound = 'sound/weapons/gunshot_smg.ogg' can_suppress = FALSE burst_size = 3 fire_delay = 1 @@ -225,8 +224,9 @@ mag_display = TRUE mag_display_ammo = TRUE tac_reloads = FALSE - fire_sound = 'sound/weapons/rifleshot.ogg' - rack_sound = 'sound/weapons/chunkyrack.ogg' + fire_sound = 'sound/weapons/gun/l6/shot.ogg' + rack_sound = 'sound/weapons/gun/l6/l6_rack.ogg' + suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' /obj/item/gun/ballistic/automatic/l6_saw/unrestricted pin = /obj/item/firing_pin @@ -242,10 +242,7 @@ /obj/item/gun/ballistic/automatic/l6_saw/AltClick(mob/user) cover_open = !cover_open to_chat(user, "You [cover_open ? "open" : "close"] [src]'s cover.") - if(cover_open) - playsound(user, 'sound/weapons/sawopen.ogg', 60, TRUE) - else - playsound(user, 'sound/weapons/sawopen.ogg', 60, TRUE) + playsound(user, 'sound/weapons/gun/l6/l6_door.ogg', 60, TRUE) update_icon() @@ -287,11 +284,12 @@ desc = "A long ranged weapon that does significant damage. No, you can't quickscope." icon_state = "sniper" item_state = "sniper" - fire_sound = "sound/weapons/sniper_shot.ogg" + fire_sound = 'sound/weapons/gun/sniper/shot.ogg' fire_sound_volume = 90 vary_fire_sound = FALSE - load_sound = "sound/weapons/sniper_mag_insert.ogg" - rack_sound = "sound/weapons/sniper_rack.ogg" + load_sound = 'sound/weapons/gun/sniper/mag_insert.ogg' + rack_sound = 'sound/weapons/gun/sniper/rack.ogg' + suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' recoil = 2 weapon_weight = WEAPON_HEAVY mag_type = /obj/item/ammo_box/magazine/sniper_rounds diff --git a/code/modules/projectiles/guns/ballistic/launchers.dm b/code/modules/projectiles/guns/ballistic/launchers.dm index cf16c26ba89..afe47a92b35 100644 --- a/code/modules/projectiles/guns/ballistic/launchers.dm +++ b/code/modules/projectiles/guns/ballistic/launchers.dm @@ -7,7 +7,7 @@ icon_state = "dshotgun_sawn" item_state = "gun" mag_type = /obj/item/ammo_box/magazine/internal/grenadelauncher - fire_sound = 'sound/weapons/grenadelaunch.ogg' + fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' w_class = WEIGHT_CLASS_NORMAL pin = /obj/item/firing_pin/implant/pindicate bolt_type = BOLT_TYPE_NO_BOLT @@ -35,7 +35,7 @@ name = "gyrojet pistol" desc = "A prototype pistol designed to fire self propelled rockets." icon_state = "gyropistol" - fire_sound = 'sound/weapons/grenadelaunch.ogg' + fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' mag_type = /obj/item/ammo_box/magazine/m75 burst_size = 1 fire_delay = 0 @@ -48,7 +48,7 @@ icon_state = "rocketlauncher" item_state = "rocketlauncher" mag_type = /obj/item/ammo_box/magazine/internal/rocketlauncher - fire_sound = 'sound/weapons/rocketlaunch.ogg' + fire_sound = 'sound/weapons/gun/general/rocket_launch.ogg' w_class = WEIGHT_CLASS_BULKY can_suppress = FALSE pin = /obj/item/firing_pin/implant/pindicate diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 492f952126b..c705b9702b5 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -9,11 +9,18 @@ fire_delay = 0 actions_types = list() bolt_type = BOLT_TYPE_LOCKING - fire_sound = "sound/weapons/gunshot.ogg" + fire_sound = 'sound/weapons/gun/pistol/shot.ogg' + dry_fire_sound = 'sound/weapons/gun/pistol/dry_fire.ogg' + suppressed_sound = 'sound/weapons/gun/pistol/shot_suppressed.ogg' + load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' vary_fire_sound = FALSE - fire_sound_volume = 80 - rack_sound = "sound/weapons/pistolrack.ogg" - bolt_drop_sound = "sound/weapons/pistolslidedrop.ogg" + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + fire_sound_volume = 90 bolt_wording = "slide" /obj/item/gun/ballistic/automatic/pistol/no_mag @@ -31,7 +38,11 @@ w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/m45 can_suppress = FALSE - + fire_sound = 'sound/weapons/gun/pistol/shot_alt.ogg' + rack_sound = 'sound/weapons/gun/pistol/rack.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg' + /obj/item/gun/ballistic/automatic/pistol/m1911/no_mag spawnwithmagazine = FALSE @@ -43,7 +54,11 @@ mag_type = /obj/item/ammo_box/magazine/m50 can_suppress = FALSE mag_display = TRUE - + fire_sound = 'sound/weapons/gun/rifle/shot.ogg' + rack_sound = 'sound/weapons/gun/pistol/rack.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg' + /obj/item/gun/ballistic/automatic/pistol/deagle/gold desc = "A gold plated Desert Eagle folded over a million times by superior martian gunsmiths. Uses .50 AE ammo." icon_state = "deagleg" diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index cb36221e874..6b571b71b3b 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -3,12 +3,12 @@ desc = "A suspicious revolver. Uses .357 ammo." //usually used by syndicates icon_state = "revolver" mag_type = /obj/item/ammo_box/magazine/internal/cylinder - fire_sound = 'sound/weapons/revolver357shot.ogg' - load_sound = 'sound/weapons/revolverload.ogg' - eject_sound = 'sound/weapons/revolverempty.ogg' + fire_sound = 'sound/weapons/gun/revolver/shot_alt.ogg' + load_sound = 'sound/weapons/gun/revolver/load_bullet.ogg' + eject_sound = 'sound/weapons/gun/revolver/empty.ogg' vary_fire_sound = FALSE fire_sound_volume = 90 - dry_fire_sound = 'sound/weapons/revolverdry.ogg' + dry_fire_sound = 'sound/weapons/gun/revolver/dry_fire.ogg' casing_ejector = FALSE internal_magazine = TRUE bolt_type = BOLT_TYPE_NO_BOLT @@ -75,7 +75,7 @@ /obj/item/gun/ballistic/revolver/detective name = "\improper Colt Detective Special" desc = "A classic, if not outdated, law enforcement firearm. Uses .38-special rounds." - fire_sound = 'sound/weapons/revolver38shot.ogg' + fire_sound = 'sound/weapons/gun/revolver/shot.ogg' icon_state = "detective" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 obj_flags = UNIQUE_RENAME @@ -114,7 +114,7 @@ to_chat(user, "You can't modify it!") return TRUE magazine.caliber = "357" - fire_sound = 'sound/weapons/revolver357shot.ogg' + fire_sound = 'sound/weapons/gun/revolver/shot_alt.ogg' desc = "The barrel and chamber assembly seems to have been modified." to_chat(user, "You reinforce the barrel of [src]. Now it will fire .357 rounds.") else @@ -128,7 +128,7 @@ to_chat(user, "You can't modify it!") return magazine.caliber = "38" - fire_sound = 'sound/weapons/revolver38shot.ogg' + fire_sound = 'sound/weapons/gun/revolver/shot.ogg' desc = initial(desc) to_chat(user, "You remove the modifications on [src]. Now it will fire .38 rounds.") return TRUE diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index 8ac83067f23..19ef904ab44 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -8,11 +8,11 @@ bolt_type = BOLT_TYPE_STANDARD semi_auto = FALSE internal_magazine = TRUE - fire_sound = "sound/weapons/rifleshot.ogg" - fire_sound_volume = 80 + fire_sound = 'sound/weapons/gun/rifle/shot.ogg' + fire_sound_volume = 90 vary_fire_sound = FALSE - rack_sound = "sound/weapons/mosinboltout.ogg" - bolt_drop_sound = "sound/weapons/mosinboltin.ogg" + rack_sound = 'sound/weapons/gun/rifle/bolt_out.ogg' + bolt_drop_sound = 'sound/weapons/gun/rifle/bolt_in.ogg' tac_reloads = FALSE obj/item/gun/ballistic/rifle/update_icon() diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index a6243b1e179..29f0c73ac4b 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -7,11 +7,11 @@ item_state = "shotgun" inhand_x_dimension = 64 inhand_y_dimension = 64 - fire_sound = "sound/weapons/shotgunshot.ogg" + fire_sound = 'sound/weapons/gun/shotgun/shot.ogg' vary_fire_sound = FALSE fire_sound_volume = 90 - rack_sound = "sound/weapons/shotgunpump.ogg" - load_sound = "sound/weapons/shotguninsert.ogg" + rack_sound = "sound/weapons/gun/shotgun/rack.ogg" + load_sound = "sound/weapons/gun/shotgun/insert_shell.ogg" w_class = WEIGHT_CLASS_BULKY force = 10 flags_1 = CONDUCT_1 @@ -127,6 +127,7 @@ burst_size = 1 fire_delay = 0 pin = /obj/item/firing_pin/implant/pindicate + fire_sound = 'sound/weapons/gun/shotgun/shot_alt.ogg' actions_types = list() mag_display = TRUE empty_indicator = TRUE @@ -264,4 +265,4 @@ if(toggled) hook.afterattack(target, user, flag, params) else - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/projectiles/guns/ballistic/toy.dm b/code/modules/projectiles/guns/ballistic/toy.dm index bbf909452b7..f72cb3c6ba4 100644 --- a/code/modules/projectiles/guns/ballistic/toy.dm +++ b/code/modules/projectiles/guns/ballistic/toy.dm @@ -4,7 +4,7 @@ icon_state = "saber" item_state = "gun" mag_type = /obj/item/ammo_box/magazine/toy/smg - fire_sound = 'sound/weapons/gunshot_smg.ogg' + fire_sound = 'sound/items/syringeproj.ogg' force = 0 throwforce = 0 burst_size = 3 @@ -27,7 +27,7 @@ bolt_type = BOLT_TYPE_LOCKING w_class = WEIGHT_CLASS_SMALL mag_type = /obj/item/ammo_box/magazine/toy/pistol - fire_sound = 'sound/weapons/gunshot.ogg' + fire_sound = 'sound/items/syringeproj.ogg' burst_size = 1 fire_delay = 0 actions_types = list() @@ -51,6 +51,7 @@ force = 0 throwforce = 0 mag_type = /obj/item/ammo_box/magazine/internal/shot/toy + fire_sound = 'sound/items/syringeproj.ogg' clumsy_check = FALSE item_flags = NONE casing_ejector = FALSE @@ -102,6 +103,7 @@ /obj/item/gun/ballistic/automatic/l6_saw/toy //This is the syndicate variant with syndicate firing pin and riot darts. name = "donksoft LMG" desc = "A heavily modified toy light machine gun, designated 'L6 SAW'. Ages 8 and up." + fire_sound = 'sound/items/syringeproj.ogg' can_suppress = FALSE item_flags = NONE mag_type = /obj/item/ammo_box/magazine/toy/m762/riot diff --git a/sound/weapons/gun_chamber_round.ogg b/sound/weapons/gun/general/bolt_drop.ogg similarity index 100% rename from sound/weapons/gun_chamber_round.ogg rename to sound/weapons/gun/general/bolt_drop.ogg diff --git a/sound/weapons/gun/general/bolt_rack.ogg b/sound/weapons/gun/general/bolt_rack.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1bfc9050e928d17901235f8384b2831d45f3579e GIT binary patch literal 11637 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

s{1is8gZ?-n5yC4ZZGZM)y>H zVSi2RTruPpX`VO(r9t#x_}|)E{-QQ5DE4J{oTqgXZ7TBH+vuyCeRRml{mTW7m7cI&0@Nse!>3H6lL z>?U@uC4T!IkK3&tf%^IZ7ZpLG$29{rgZG^$MpYVJ_UdXlF4Rjc?_{EU{DBfl`R=Ur zj6NSv%U7MEK0hCBzhV1&HaA(rTp+;H;`ZK1ru1H#!{e-VbEso@OX$=FW}EUtilSUZ zqIJpF4S1r_V^HLwh0!o*7hUBLOB9`?F=+0`^NU|uOv_Fbs60V&QguErlP z^WlXg^YN3GQn?RgOc?9y`4-G2;-^E_?L*(SuwNH;(URhym|+h*#j%{tOKlk^F6p9| z)%5dQH*$uMobGeu0NNHF3DB}(kCZ%}YDxs=+Me6E{8G`kfOmu^@(isv2ANXwn0;>p zQg`TZpo|1UpR-)|eT;kR?wdev+S(#o@*ELe+iz;-a`zQBMEz8zna|OzRO#K0dnad{ z_`G9i->u@AXm75nXZVn^x8mcJn(|>k>qC-#yF^>7qK=ctdY~VTG5)YOSZ!V1Nuo z2uyR=(S_4*1(cd5Ht+kDqz_oWB695I=JDQRduW=U_G>C0pA8$5R-T@HXH}WHN?e4T z4PdaRgJ8QJ1E1%APrEG5h=uF4cF$4KvcSrVg?@ahYp<(blKPW$T7~AHK6<@m4ik_u5(vPC&pp1$++d4dnWDTwDGA(caE?75fgJP zS40_lwcsKNsd0Yax{f$`oY?E*tK>0JT){`-(7_b1FHgI*Wk*smK9@B&s_o3ME^eqf zX4Cs%vx>1Wv%*VGgsINQo11+op4w&}My3+q{)vW`l@jp3QsqyLYI>q1;nY8%i_g?V zrGypeLzlx6!c5f>bSUa5vVa@yE<)y7ty2goRa0AsZnInj^&Ou%#2xNDp0{R9;@XGI zHFDKe2MF}l+t&4%7i!?u?T`j5)sq~I+4U9IRD9=lDD2NjxV>=nAkc5tzc_R@JyYa? zLtN-#{~h&}lZjFwy0yL>C%DZu5jrNxQ2zhId-Qq&XlXW_pDLBGrB7LZTiy@Fe2)j0-FC>sNeb)s*$wQLh@|C3K(d zPHxTNvpx_?Fdcx}E5(q$?SkoLGL!I_eFl%EbDjt$%3y!9q9J#R*PLw+`-j!H$)9Po z4CT{34Oc#%FLh9gOW{=RXdKHv3sV)u$a>ze%OEFPXFcMs+X~l z^qvKMOTm;X14{)5gK#^$-quHJ93RVeePM6XQBY`CvwC69&yY1!=J_@Jsp(3SU~1cO zoXocNFP7M-qh~o=#=Vw^h)FW*2R10;WLgD7ObWY%Vgl18ePxqp2SaJ$2GuFf_3{nH zl7Kl%?>mj2Ojp_;@i(NsGb#ec-J@hB94=9Qr92bjZt0gnVPR>%`F49wmyP&49qyCw zn#bzgqkWIqYEQ&~WMlm?`y|e?mL=x?iaU34T%sQ;-qvq69LPmevrQZHWy;y-%u%t+ z@YwOVg_3zG&Z5lI!Di{tM0A#ecf4M;7h z79sr8C-c;ZxDPe)Ld2*P#gD6}h1 z<#Gw_oKH$tw8^ItGLzrO6bO<6B!eHtZcwbLvS9@u-J5VTkDQATO?Ws8Yt5x}$P~Mn zPfFnv5;{_A;Q0+{-oZirI5+u3fj3Molz5*7bbktWf)Aa*Oi6QkWb8W=#M%P{f?AKR zE07!CFXjF4!__UKyH$ZV-|x6JxAwiG;qfyyC>MSmx8&O6$H{fyz>c;e<`Y@-vgDl> z`>~)lE1eOzO~~WLuEFWT)^XgSzLy3X;bOMWdVKWtI&K*yn+}A&Wlhq7KQk0m9kAm0 z(4g17ZQWFum_Yu`sFK4wQw7p!UseVfk*}3j-9&#HNKZS7y$$6szmB zzAX)$EDpnNOXLa^XX(W0;BOaw%H2A@Q!}=4PIthevQ9 zvNo%6TlIjhhPH}TAoNC_HDmvdG2B1zEk#$TGt@E9PE7g|09;Mn+5qU#pH|>PPD|^VO}IIJmK|t3%E1FudlHu3a_YL6TX_L;#z`# IN4rY@2j*2AivR!s literal 0 HcmV?d00001 diff --git a/sound/weapons/chunkyrack.ogg b/sound/weapons/gun/general/chunkyrack.ogg similarity index 100% rename from sound/weapons/chunkyrack.ogg rename to sound/weapons/gun/general/chunkyrack.ogg diff --git a/sound/weapons/gun_dry_fire.ogg b/sound/weapons/gun/general/dry_fire.ogg similarity index 100% rename from sound/weapons/gun_dry_fire.ogg rename to sound/weapons/gun/general/dry_fire.ogg diff --git a/sound/weapons/smg_empty_alarm.ogg b/sound/weapons/gun/general/empty_alarm.ogg similarity index 100% rename from sound/weapons/smg_empty_alarm.ogg rename to sound/weapons/gun/general/empty_alarm.ogg diff --git a/sound/weapons/grenadelaunch.ogg b/sound/weapons/gun/general/grenade_launch.ogg similarity index 100% rename from sound/weapons/grenadelaunch.ogg rename to sound/weapons/gun/general/grenade_launch.ogg diff --git a/sound/weapons/gun/general/heavy_shot_suppressed.ogg b/sound/weapons/gun/general/heavy_shot_suppressed.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bbf631346764af6d881b7b4e35185b8dc6120c85 GIT binary patch literal 12252 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 F{|~I_G)4db literal 0 HcmV?d00001 diff --git a/sound/weapons/bulletinsert.ogg b/sound/weapons/gun/general/mag_bullet_insert.ogg similarity index 100% rename from sound/weapons/bulletinsert.ogg rename to sound/weapons/gun/general/mag_bullet_insert.ogg diff --git a/sound/weapons/bulletremove.ogg b/sound/weapons/gun/general/mag_bullet_remove.ogg similarity index 100% rename from sound/weapons/bulletremove.ogg rename to sound/weapons/gun/general/mag_bullet_remove.ogg diff --git a/sound/weapons/gun_magazine_insert_empty_1.ogg b/sound/weapons/gun/general/magazine_insert_empty.ogg similarity index 100% rename from sound/weapons/gun_magazine_insert_empty_1.ogg rename to sound/weapons/gun/general/magazine_insert_empty.ogg diff --git a/sound/weapons/gun_magazine_insert_full_1.ogg b/sound/weapons/gun/general/magazine_insert_full.ogg similarity index 100% rename from sound/weapons/gun_magazine_insert_full_1.ogg rename to sound/weapons/gun/general/magazine_insert_full.ogg diff --git a/sound/weapons/gun_magazine_remove_empty_1.ogg b/sound/weapons/gun/general/magazine_remove_empty.ogg similarity index 100% rename from sound/weapons/gun_magazine_remove_empty_1.ogg rename to sound/weapons/gun/general/magazine_remove_empty.ogg diff --git a/sound/weapons/gun_magazine_remove_full.ogg b/sound/weapons/gun/general/magazine_remove_full.ogg similarity index 100% rename from sound/weapons/gun_magazine_remove_full.ogg rename to sound/weapons/gun/general/magazine_remove_full.ogg diff --git a/sound/weapons/rocketlaunch.ogg b/sound/weapons/gun/general/rocket_launch.ogg similarity index 100% rename from sound/weapons/rocketlaunch.ogg rename to sound/weapons/gun/general/rocket_launch.ogg diff --git a/sound/weapons/gun_slide_lock_1.ogg b/sound/weapons/gun/general/slide_lock_1.ogg similarity index 100% rename from sound/weapons/gun_slide_lock_1.ogg rename to sound/weapons/gun/general/slide_lock_1.ogg diff --git a/sound/weapons/sawopen.ogg b/sound/weapons/gun/l6/l6_door.ogg similarity index 100% rename from sound/weapons/sawopen.ogg rename to sound/weapons/gun/l6/l6_door.ogg diff --git a/sound/weapons/sawclose.ogg b/sound/weapons/gun/l6/l6_rack.ogg similarity index 100% rename from sound/weapons/sawclose.ogg rename to sound/weapons/gun/l6/l6_rack.ogg diff --git a/sound/weapons/gun/l6/shot.ogg b/sound/weapons/gun/l6/shot.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e6c1a9abe95808b8cd75d371e644031b0691a7e1 GIT binary patch literal 12333 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 literal 0 HcmV?d00001 diff --git a/sound/weapons/gun/pistol/drop_small.ogg b/sound/weapons/gun/pistol/drop_small.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4395c5bb5b552dd8c7bfa6be241d30c9f6190933 GIT binary patch literal 6781 zcmb7Ic|6qH`~Qr6kI0r}XDnqbWyDREFu0hEU1b^j5Hphsr7R&P%a|;qkR?))5I3T% zVHlc`orF+I#ne^$eP(p;>)ziVzwh^VUT4nh`8>}#&vTx0p7%M=8T){M6960Vs~j}g zAr6#?bU@i_MXCl#9bQliGR1M+W8LDDx<_rON z03c4mRF7R?hn3Uw z+XDa`Kpd1OKXTS|rG+6YwJ72!t=`R~5>vE^Qi;Ynz0cbGJIQ_?O@6aEpJ|IiXxoUS3fc+F1;Zgc)^a5zZL52F%32E6a5`2vDR5&r*bDDL}L4 z4YD{AlB(GNKjxAYsin>v5Z+i3l!LPT&yxaD^6%v3zpcE<$La!ZDF<^l!0fryrE`RU z^I5Dmzal8V{J*Uxfj#Pg3AmQs5i&c~GE#|~wZc6BxThvarS3>gORQcu*2ofP-i@>E zB|7!id-DIa3E;Ma#Y9xo;)GFmw$Y%d{@{q-fT*3Lp54fQQBR0nX2lEWhUz zCu1ql7kQmUc|-YFinTy~*$#DncLDdk%3+WvwL})`lJW-o1r6tOSB|-YW8H@G7wa;>?wj{3 z$*#gHajLwdT37nE>q3FhWzG=IonZzjzaSA8r*=R!?`= zC<6l=TDF5Ia8u>{GLCUcvG9?U8wsMK=nCIIH}0d-pvXSzKkDGR3>eHi@yrTll*?I+ z+YS6gW1`n9{LE0fonb8ThBXI1>DhnQql#L9;c{Y+7j+MQL>ztMkk^PldIW{0okfo|pgkI6-5O$N z82_lF_% zOCbfN4)R&-#RslbKRTrAaQ z3wcq0+sVhK{tyKYex@N`)IS<`MAVl{^Mi-M8Sqyl%qQq30+>SpVIKLi45SrwksK)m zEhGC<bry^wg+16>mW!dO70J9ywk!XVGp9yU`6iij)XS=Nj=|l3_E4Z-RzS zfl?Rrm_*prp^FoY!~oW;s3?7^lh+6e589oeGgZ0Nqe0GC4ra#1Yiv{B5$8okq1|vO zH)r%1!^>?G?}&=^$U!ru49tu~(ilB<4(H{?)a>lG89OnWvp~nseYG8F03F1S;A3Yt z@d0^wudf!P8?h)-tZzN~)YrtB%B`;Tw5qDrs`q?P)%%{+@c;37vh^SlKk*ea6)@R) zeSQ9WS7yk>GuUbacCz)p=F`u*7tyX4%7Z4#SO08YZf-re+67q!+?P^J6t_{Y z1qB$`f~0RhoN1iAW1J4o#Tg7xP!(LQ5>y3+cJ{-qK~;ut)xZ(9TAkvElzX5mXk{m; zN~_b=%vy^?^wENLzVhjB>Lht^7uRPX(!l9@q`@2M!GdKSt~