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 00000000000..1bfc9050e92
Binary files /dev/null and b/sound/weapons/gun/general/bolt_rack.ogg differ
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 00000000000..bbf63134676
Binary files /dev/null and b/sound/weapons/gun/general/heavy_shot_suppressed.ogg differ
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 00000000000..e6c1a9abe95
Binary files /dev/null and b/sound/weapons/gun/l6/shot.ogg differ
diff --git a/sound/weapons/gun/pistol/drop_small.ogg b/sound/weapons/gun/pistol/drop_small.ogg
new file mode 100644
index 00000000000..4395c5bb5b5
Binary files /dev/null and b/sound/weapons/gun/pistol/drop_small.ogg differ
diff --git a/sound/weapons/gun/pistol/dry_fire.ogg b/sound/weapons/gun/pistol/dry_fire.ogg
new file mode 100644
index 00000000000..d74dc7ca096
Binary files /dev/null and b/sound/weapons/gun/pistol/dry_fire.ogg differ
diff --git a/sound/weapons/gun/pistol/lock_small.ogg b/sound/weapons/gun/pistol/lock_small.ogg
new file mode 100644
index 00000000000..fc89a8ba643
Binary files /dev/null and b/sound/weapons/gun/pistol/lock_small.ogg differ
diff --git a/sound/weapons/gun/pistol/mag_insert.ogg b/sound/weapons/gun/pistol/mag_insert.ogg
new file mode 100644
index 00000000000..42a05ebc483
Binary files /dev/null and b/sound/weapons/gun/pistol/mag_insert.ogg differ
diff --git a/sound/weapons/gun/pistol/mag_release.ogg b/sound/weapons/gun/pistol/mag_release.ogg
new file mode 100644
index 00000000000..cccbf5f9d91
Binary files /dev/null and b/sound/weapons/gun/pistol/mag_release.ogg differ
diff --git a/sound/weapons/gun/pistol/rack.ogg b/sound/weapons/gun/pistol/rack.ogg
new file mode 100644
index 00000000000..fd0408d8ff2
Binary files /dev/null and b/sound/weapons/gun/pistol/rack.ogg differ
diff --git a/sound/weapons/gun/pistol/rack_small.ogg b/sound/weapons/gun/pistol/rack_small.ogg
new file mode 100644
index 00000000000..f33db717db8
Binary files /dev/null and b/sound/weapons/gun/pistol/rack_small.ogg differ
diff --git a/sound/weapons/gun/pistol/shot.ogg b/sound/weapons/gun/pistol/shot.ogg
new file mode 100644
index 00000000000..fcf8ad62346
Binary files /dev/null and b/sound/weapons/gun/pistol/shot.ogg differ
diff --git a/sound/weapons/gun/pistol/shot_alt.ogg b/sound/weapons/gun/pistol/shot_alt.ogg
new file mode 100644
index 00000000000..583c3f36034
Binary files /dev/null and b/sound/weapons/gun/pistol/shot_alt.ogg differ
diff --git a/sound/weapons/gun/pistol/shot_suppressed.ogg b/sound/weapons/gun/pistol/shot_suppressed.ogg
new file mode 100644
index 00000000000..aa12e8477c7
Binary files /dev/null and b/sound/weapons/gun/pistol/shot_suppressed.ogg differ
diff --git a/sound/weapons/gun/pistol/slide_drop.ogg b/sound/weapons/gun/pistol/slide_drop.ogg
new file mode 100644
index 00000000000..1ca0aac35d3
Binary files /dev/null and b/sound/weapons/gun/pistol/slide_drop.ogg differ
diff --git a/sound/weapons/gun/pistol/slide_lock.ogg b/sound/weapons/gun/pistol/slide_lock.ogg
new file mode 100644
index 00000000000..9fbc13f7c34
Binary files /dev/null and b/sound/weapons/gun/pistol/slide_lock.ogg differ
diff --git a/sound/weapons/revolverdry.ogg b/sound/weapons/gun/revolver/dry_fire.ogg
similarity index 100%
rename from sound/weapons/revolverdry.ogg
rename to sound/weapons/gun/revolver/dry_fire.ogg
diff --git a/sound/weapons/revolverempty.ogg b/sound/weapons/gun/revolver/empty.ogg
similarity index 100%
rename from sound/weapons/revolverempty.ogg
rename to sound/weapons/gun/revolver/empty.ogg
diff --git a/sound/weapons/revolverload.ogg b/sound/weapons/gun/revolver/load_bullet.ogg
similarity index 100%
rename from sound/weapons/revolverload.ogg
rename to sound/weapons/gun/revolver/load_bullet.ogg
diff --git a/sound/weapons/gun/revolver/shot.ogg b/sound/weapons/gun/revolver/shot.ogg
new file mode 100644
index 00000000000..6c574829732
Binary files /dev/null and b/sound/weapons/gun/revolver/shot.ogg differ
diff --git a/sound/weapons/gun/revolver/shot_alt.ogg b/sound/weapons/gun/revolver/shot_alt.ogg
new file mode 100644
index 00000000000..fcd3b99ff80
Binary files /dev/null and b/sound/weapons/gun/revolver/shot_alt.ogg differ
diff --git a/sound/weapons/revolverspin1.ogg b/sound/weapons/gun/revolver/spin1.ogg
similarity index 100%
rename from sound/weapons/revolverspin1.ogg
rename to sound/weapons/gun/revolver/spin1.ogg
diff --git a/sound/weapons/revolverspin2.ogg b/sound/weapons/gun/revolver/spin2.ogg
similarity index 100%
rename from sound/weapons/revolverspin2.ogg
rename to sound/weapons/gun/revolver/spin2.ogg
diff --git a/sound/weapons/revolverspin3.ogg b/sound/weapons/gun/revolver/spin3.ogg
similarity index 100%
rename from sound/weapons/revolverspin3.ogg
rename to sound/weapons/gun/revolver/spin3.ogg
diff --git a/sound/weapons/gun/rifle/bolt_in.ogg b/sound/weapons/gun/rifle/bolt_in.ogg
new file mode 100644
index 00000000000..1e351fd092a
Binary files /dev/null and b/sound/weapons/gun/rifle/bolt_in.ogg differ
diff --git a/sound/weapons/gun/rifle/bolt_out.ogg b/sound/weapons/gun/rifle/bolt_out.ogg
new file mode 100644
index 00000000000..03e11ee70fa
Binary files /dev/null and b/sound/weapons/gun/rifle/bolt_out.ogg differ
diff --git a/sound/weapons/gun/rifle/shot.ogg b/sound/weapons/gun/rifle/shot.ogg
new file mode 100644
index 00000000000..acdb447ca8f
Binary files /dev/null and b/sound/weapons/gun/rifle/shot.ogg differ
diff --git a/sound/weapons/shotguninsert.ogg b/sound/weapons/gun/shotgun/insert_shell.ogg
similarity index 100%
rename from sound/weapons/shotguninsert.ogg
rename to sound/weapons/gun/shotgun/insert_shell.ogg
diff --git a/sound/weapons/gun/shotgun/rack.ogg b/sound/weapons/gun/shotgun/rack.ogg
new file mode 100644
index 00000000000..c25a10ffa49
Binary files /dev/null and b/sound/weapons/gun/shotgun/rack.ogg differ
diff --git a/sound/weapons/gun/shotgun/shot.ogg b/sound/weapons/gun/shotgun/shot.ogg
new file mode 100644
index 00000000000..e999bb9bb7f
Binary files /dev/null and b/sound/weapons/gun/shotgun/shot.ogg differ
diff --git a/sound/weapons/gun/shotgun/shot_alt.ogg b/sound/weapons/gun/shotgun/shot_alt.ogg
new file mode 100644
index 00000000000..48bea46d5cb
Binary files /dev/null and b/sound/weapons/gun/shotgun/shot_alt.ogg differ
diff --git a/sound/weapons/gun/smg/shot.ogg b/sound/weapons/gun/smg/shot.ogg
new file mode 100644
index 00000000000..cb3c1a49b56
Binary files /dev/null and b/sound/weapons/gun/smg/shot.ogg differ
diff --git a/sound/weapons/gun/smg/shot_alt.ogg b/sound/weapons/gun/smg/shot_alt.ogg
new file mode 100644
index 00000000000..3dabedba1a4
Binary files /dev/null and b/sound/weapons/gun/smg/shot_alt.ogg differ
diff --git a/sound/weapons/gun/smg/shot_suppressed.ogg b/sound/weapons/gun/smg/shot_suppressed.ogg
new file mode 100644
index 00000000000..f7b3be370bf
Binary files /dev/null and b/sound/weapons/gun/smg/shot_suppressed.ogg differ
diff --git a/sound/weapons/smgrack.ogg b/sound/weapons/gun/smg/smgrack.ogg
similarity index 100%
rename from sound/weapons/smgrack.ogg
rename to sound/weapons/gun/smg/smgrack.ogg
diff --git a/sound/weapons/sniper_mag_insert.ogg b/sound/weapons/gun/sniper/mag_insert.ogg
similarity index 100%
rename from sound/weapons/sniper_mag_insert.ogg
rename to sound/weapons/gun/sniper/mag_insert.ogg
diff --git a/sound/weapons/sniper_rack.ogg b/sound/weapons/gun/sniper/rack.ogg
similarity index 100%
rename from sound/weapons/sniper_rack.ogg
rename to sound/weapons/gun/sniper/rack.ogg
diff --git a/sound/weapons/gun/sniper/shot.ogg b/sound/weapons/gun/sniper/shot.ogg
new file mode 100644
index 00000000000..4c23868da15
Binary files /dev/null and b/sound/weapons/gun/sniper/shot.ogg differ
diff --git a/sound/weapons/gun_magazine_insert_empty_2.ogg b/sound/weapons/gun_magazine_insert_empty_2.ogg
deleted file mode 100644
index f5dcd01a590..00000000000
Binary files a/sound/weapons/gun_magazine_insert_empty_2.ogg and /dev/null differ
diff --git a/sound/weapons/gun_magazine_insert_empty_3.ogg b/sound/weapons/gun_magazine_insert_empty_3.ogg
deleted file mode 100644
index 7fee38fc239..00000000000
Binary files a/sound/weapons/gun_magazine_insert_empty_3.ogg and /dev/null differ
diff --git a/sound/weapons/gun_magazine_insert_empty_4.ogg b/sound/weapons/gun_magazine_insert_empty_4.ogg
deleted file mode 100644
index 72289934d8e..00000000000
Binary files a/sound/weapons/gun_magazine_insert_empty_4.ogg and /dev/null differ
diff --git a/sound/weapons/gun_magazine_insert_full_2.ogg b/sound/weapons/gun_magazine_insert_full_2.ogg
deleted file mode 100644
index bf8db8abbbc..00000000000
Binary files a/sound/weapons/gun_magazine_insert_full_2.ogg and /dev/null differ
diff --git a/sound/weapons/gun_magazine_insert_full_3.ogg b/sound/weapons/gun_magazine_insert_full_3.ogg
deleted file mode 100644
index 2f6fc2159c8..00000000000
Binary files a/sound/weapons/gun_magazine_insert_full_3.ogg and /dev/null differ
diff --git a/sound/weapons/gun_magazine_insert_full_4.ogg b/sound/weapons/gun_magazine_insert_full_4.ogg
deleted file mode 100644
index b2e5d34334f..00000000000
Binary files a/sound/weapons/gun_magazine_insert_full_4.ogg and /dev/null differ
diff --git a/sound/weapons/gun_magazine_insert_full_5.ogg b/sound/weapons/gun_magazine_insert_full_5.ogg
deleted file mode 100644
index 1e7b0eb1b9b..00000000000
Binary files a/sound/weapons/gun_magazine_insert_full_5.ogg and /dev/null differ
diff --git a/sound/weapons/gun_magazine_remove_empty_2.ogg b/sound/weapons/gun_magazine_remove_empty_2.ogg
deleted file mode 100644
index 0d3f0a14871..00000000000
Binary files a/sound/weapons/gun_magazine_remove_empty_2.ogg and /dev/null differ
diff --git a/sound/weapons/gun_magazine_remove_empty_3.ogg b/sound/weapons/gun_magazine_remove_empty_3.ogg
deleted file mode 100644
index 2e9b092694d..00000000000
Binary files a/sound/weapons/gun_magazine_remove_empty_3.ogg and /dev/null differ
diff --git a/sound/weapons/gun_magazine_remove_empty_4.ogg b/sound/weapons/gun_magazine_remove_empty_4.ogg
deleted file mode 100644
index b799b681e39..00000000000
Binary files a/sound/weapons/gun_magazine_remove_empty_4.ogg and /dev/null differ
diff --git a/sound/weapons/gun_slide_lock_2.ogg b/sound/weapons/gun_slide_lock_2.ogg
deleted file mode 100644
index 4bb846061d7..00000000000
Binary files a/sound/weapons/gun_slide_lock_2.ogg and /dev/null differ
diff --git a/sound/weapons/gun_slide_lock_3.ogg b/sound/weapons/gun_slide_lock_3.ogg
deleted file mode 100644
index 1296a05a382..00000000000
Binary files a/sound/weapons/gun_slide_lock_3.ogg and /dev/null differ
diff --git a/sound/weapons/gun_slide_lock_4.ogg b/sound/weapons/gun_slide_lock_4.ogg
deleted file mode 100644
index 9c9d2724900..00000000000
Binary files a/sound/weapons/gun_slide_lock_4.ogg and /dev/null differ
diff --git a/sound/weapons/gun_slide_lock_5.ogg b/sound/weapons/gun_slide_lock_5.ogg
deleted file mode 100644
index 1557a88ece1..00000000000
Binary files a/sound/weapons/gun_slide_lock_5.ogg and /dev/null differ
diff --git a/sound/weapons/gunshot.ogg b/sound/weapons/gunshot.ogg
deleted file mode 100644
index 2fd1edff536..00000000000
Binary files a/sound/weapons/gunshot.ogg and /dev/null differ
diff --git a/sound/weapons/gunshot_silenced.ogg b/sound/weapons/gunshot_silenced.ogg
deleted file mode 100644
index 04cefa2b71e..00000000000
Binary files a/sound/weapons/gunshot_silenced.ogg and /dev/null differ
diff --git a/sound/weapons/gunshot_smg.ogg b/sound/weapons/gunshot_smg.ogg
deleted file mode 100644
index 59d4ce9aee4..00000000000
Binary files a/sound/weapons/gunshot_smg.ogg and /dev/null differ
diff --git a/sound/weapons/mosinboltin.ogg b/sound/weapons/mosinboltin.ogg
deleted file mode 100644
index 0a9cff6281f..00000000000
Binary files a/sound/weapons/mosinboltin.ogg and /dev/null differ
diff --git a/sound/weapons/mosinboltout.ogg b/sound/weapons/mosinboltout.ogg
deleted file mode 100644
index 2a801c9b72f..00000000000
Binary files a/sound/weapons/mosinboltout.ogg and /dev/null differ
diff --git a/sound/weapons/pistollock.ogg b/sound/weapons/pistollock.ogg
deleted file mode 100644
index 0645c40df21..00000000000
Binary files a/sound/weapons/pistollock.ogg and /dev/null differ
diff --git a/sound/weapons/pistolrack.ogg b/sound/weapons/pistolrack.ogg
deleted file mode 100644
index 410c23b19c9..00000000000
Binary files a/sound/weapons/pistolrack.ogg and /dev/null differ
diff --git a/sound/weapons/pistolslidedrop.ogg b/sound/weapons/pistolslidedrop.ogg
deleted file mode 100644
index 6c1329bdac6..00000000000
Binary files a/sound/weapons/pistolslidedrop.ogg and /dev/null differ
diff --git a/sound/weapons/revolver357shot.ogg b/sound/weapons/revolver357shot.ogg
deleted file mode 100644
index bfecb623cba..00000000000
Binary files a/sound/weapons/revolver357shot.ogg and /dev/null differ
diff --git a/sound/weapons/revolver38shot.ogg b/sound/weapons/revolver38shot.ogg
deleted file mode 100644
index 0cf3d40f5c5..00000000000
Binary files a/sound/weapons/revolver38shot.ogg and /dev/null differ
diff --git a/sound/weapons/rifleshot.ogg b/sound/weapons/rifleshot.ogg
deleted file mode 100644
index 98d38369bbc..00000000000
Binary files a/sound/weapons/rifleshot.ogg and /dev/null differ
diff --git a/sound/weapons/shotgunpump.ogg b/sound/weapons/shotgunpump.ogg
deleted file mode 100644
index 8c6aec60336..00000000000
Binary files a/sound/weapons/shotgunpump.ogg and /dev/null differ
diff --git a/sound/weapons/shotgunshot.ogg b/sound/weapons/shotgunshot.ogg
deleted file mode 100644
index 703e693d804..00000000000
Binary files a/sound/weapons/shotgunshot.ogg and /dev/null differ
diff --git a/sound/weapons/smgshot.ogg b/sound/weapons/smgshot.ogg
deleted file mode 100644
index 71c60bca1b2..00000000000
Binary files a/sound/weapons/smgshot.ogg and /dev/null differ
diff --git a/sound/weapons/sniper_shot.ogg b/sound/weapons/sniper_shot.ogg
deleted file mode 100644
index b038a15bcec..00000000000
Binary files a/sound/weapons/sniper_shot.ogg and /dev/null differ