diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index e82f536dad..259193b177 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -182,7 +182,7 @@
src.add_fingerprint(user)
if (src.bullets < 1)
user.show_message("*click*", 2)
- playsound(src, "gun_dry_fire", 50, 1)
+ playsound(src, "gun_dry_fire", 60, 1)
return
playsound(user, 'sound/weapons/gunshot.ogg', 100, 1)
src.bullets--
diff --git a/code/game/sound.dm b/code/game/sound.dm
index 085c5eecd5..9cfa197738 100644
--- a/code/game/sound.dm
+++ b/code/game/sound.dm
@@ -182,7 +182,15 @@
if("bullet_miss")
soundin = pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg')
if("gun_dry_fire")
- soundin = pick('sound/weapons/dry_fire_1.ogg', 'sound/weapons/dry_fire_2.ogg', 'sound/weapons/dry_fire_3.ogg', 'sound/weapons/dry_fire_4.ogg')
+ soundin = pick('sound/weapons/gun_dry_fire_1.ogg', 'sound/weapons/gun_dry_fire_2.ogg', 'sound/weapons/gun_dry_fire_3.ogg', 'sound/weapons/gun_dry_fire_4.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("law")
soundin = pick('sound/voice/bgod.ogg', 'sound/voice/biamthelaw.ogg', 'sound/voice/bsecureday.ogg', 'sound/voice/bradio.ogg', 'sound/voice/binsult.ogg', 'sound/voice/bcreep.ogg')
if("honkbot_e")
diff --git a/code/modules/projectiles/box_magazine.dm b/code/modules/projectiles/box_magazine.dm
index 324470ede4..0e6ab6c23f 100644
--- a/code/modules/projectiles/box_magazine.dm
+++ b/code/modules/projectiles/box_magazine.dm
@@ -87,7 +87,7 @@
if(num_loaded)
if(!silent)
to_chat(user, "You load [num_loaded] shell\s into \the [src]!")
- playsound(user, 'sound/weapons/bulletinsert.ogg', 60, 1)
+ playsound(src, 'sound/weapons/bulletinsert.ogg', 60, 1)
A.update_icon()
update_icon()
@@ -98,7 +98,7 @@
if(A)
user.put_in_hands(A)
to_chat(user, "You remove a round from \the [src]!")
- playsound(user, 'sound/weapons/bulletremove.ogg', 60, 1)
+ playsound(A, 'sound/weapons/bulletremove.ogg', 60, 1)
update_icon()
/obj/item/ammo_box/update_icon()
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 42e1352b2d..047243cb45 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -107,7 +107,7 @@
/obj/item/gun/proc/shoot_with_empty_chamber(mob/living/user as mob|obj)
to_chat(user, "*click*")
- playsound(src, "gun_dry_fire", 50, 1)
+ playsound(src, "gun_dry_fire", 60, 1)
/obj/item/gun/proc/shoot_live_shot(mob/living/user as mob|obj, pointblank = 0, mob/pbtarget = null, message = 1)
diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm
index e75905b8c1..f5d846c912 100644
--- a/code/modules/projectiles/guns/ballistic.dm
+++ b/code/modules/projectiles/guns/ballistic.dm
@@ -30,8 +30,9 @@
var/obj/item/ammo_casing/AC = chambered //Find chambered round
if(istype(AC)) //there's a chambered round
if(casing_ejector)
- AC.forceMove(get_turf(src)) //Eject casing onto ground.
+ AC.forceMove(drop_location()) //Eject casing onto ground.
AC.SpinAnimation(10, 1) //next gen special effects
+ addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, AC, 'sound/weapons/bulletremove.ogg', 60, 1), 3)
chambered = null
else if(empty_chamber)
chambered = null
@@ -58,7 +59,13 @@
if(user.transferItemToLoc(AM, src))
magazine = AM
to_chat(user, "You load a new magazine into \the [src].")
- chamber_round()
+ if(magazine.ammo_count())
+ playsound(src, "gun_insert_full_magazine", 70, 1)
+ if(!chambered)
+ chamber_round()
+ addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, src, 'sound/weapons/gun_chamber_round.ogg', 100, 1), 3)
+ else
+ playsound(src, "gun_insert_empty_magazine", 70, 1)
A.update_icon()
update_icon()
return 1
@@ -110,13 +117,19 @@
magazine.forceMove(drop_location())
user.put_in_hands(magazine)
magazine.update_icon()
+ if(magazine.ammo_count())
+ playsound(src, "sound/weapons/gun_magazine_remove_full.ogg", 70, 1)
+ else
+ playsound(src, "gun_remove_empty_magazine", 70, 1)
magazine = null
to_chat(user, "You pull the magazine out of \the [src].")
else if(chambered)
AC.forceMove(drop_location())
AC.SpinAnimation(10, 1)
+ addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, AC, 'sound/weapons/bulletremove.ogg', 60, 1), 3)
chambered = null
to_chat(user, "You unload the round from \the [src]'s chamber.")
+ playsound(src, "gun_slide_lock", 70, 1)
else
to_chat(user, "There's no magazine in \the [src].")
update_icon()
@@ -162,7 +175,7 @@
return(OXYLOSS)
else
user.visible_message("[user] is pretending to blow [user.p_their()] brain[user.p_s()] out with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
- playsound(src, "gun_dry_fire", 50, 1)
+ playsound(src, "gun_dry_fire", 60, 1)
return (OXYLOSS)
#undef BRAINS_BLOWN_THROW_SPEED
#undef BRAINS_BLOWN_THROW_RANGE
diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm
index 4dafbc3f3c..a802ca8bbe 100644
--- a/code/modules/projectiles/guns/ballistic/revolver.dm
+++ b/code/modules/projectiles/guns/ballistic/revolver.dm
@@ -42,10 +42,10 @@
CB.forceMove(drop_location())
CB.SpinAnimation(10, 1)
CB.update_icon()
+ addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, CB, 'sound/weapons/bulletremove.ogg', 60, 1), 3)
num_unloaded++
if (num_unloaded)
to_chat(user, "You unload [num_unloaded] shell\s from [src].")
- playsound(user, 'sound/weapons/bulletremove.ogg', 60, 1)
else
to_chat(user, "[src] is empty!")
@@ -229,7 +229,7 @@
return
user.visible_message("*click*")
- playsound(src, "gun_dry_fire", 50, 1)
+ playsound(src, "gun_dry_fire", 60, 1)
/obj/item/gun/ballistic/revolver/russian/proc/shoot_self(mob/living/carbon/human/user, affecting = "head")
user.apply_damage(300, BRUTE, affecting)
diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm
index e6e06cfd68..d3b1815d0b 100644
--- a/code/modules/projectiles/guns/ballistic/shotgun.dm
+++ b/code/modules/projectiles/guns/ballistic/shotgun.dm
@@ -57,7 +57,8 @@
/obj/item/gun/ballistic/shotgun/proc/pump_unload(mob/M)
if(chambered)//We have a shell in the chamber
chambered.forceMove(drop_location())//Eject casing
- chambered.SpinAnimation(5, 1)
+ chambered.SpinAnimation(10, 1)
+ addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, chambered, 'sound/weapons/bulletremove.ogg', 60, 1), 3)
chambered = null
/obj/item/gun/ballistic/shotgun/proc/pump_reload(mob/M)
diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm
index 3adadb90eb..f556bd3f58 100644
--- a/code/modules/projectiles/guns/energy.dm
+++ b/code/modules/projectiles/guns/energy.dm
@@ -175,7 +175,7 @@
return(OXYLOSS)
else
user.visible_message("[user] is pretending to blow [user.p_their()] brains out with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
- playsound(src, "gun_dry_fire", 50, 1)
+ playsound(src, "gun_dry_fire", 60, 1)
return (OXYLOSS)
diff --git a/sound/weapons/gun_chamber_round.ogg b/sound/weapons/gun_chamber_round.ogg
new file mode 100644
index 0000000000..951b9d144d
Binary files /dev/null and b/sound/weapons/gun_chamber_round.ogg differ
diff --git a/sound/weapons/dry_fire_1.ogg b/sound/weapons/gun_dry_fire_1.ogg
similarity index 100%
rename from sound/weapons/dry_fire_1.ogg
rename to sound/weapons/gun_dry_fire_1.ogg
diff --git a/sound/weapons/dry_fire_2.ogg b/sound/weapons/gun_dry_fire_2.ogg
similarity index 100%
rename from sound/weapons/dry_fire_2.ogg
rename to sound/weapons/gun_dry_fire_2.ogg
diff --git a/sound/weapons/dry_fire_3.ogg b/sound/weapons/gun_dry_fire_3.ogg
similarity index 100%
rename from sound/weapons/dry_fire_3.ogg
rename to sound/weapons/gun_dry_fire_3.ogg
diff --git a/sound/weapons/dry_fire_4.ogg b/sound/weapons/gun_dry_fire_4.ogg
similarity index 100%
rename from sound/weapons/dry_fire_4.ogg
rename to sound/weapons/gun_dry_fire_4.ogg
diff --git a/sound/weapons/gun_magazine_insert_empty_1.ogg b/sound/weapons/gun_magazine_insert_empty_1.ogg
new file mode 100644
index 0000000000..ef34a8e358
Binary files /dev/null and b/sound/weapons/gun_magazine_insert_empty_1.ogg differ
diff --git a/sound/weapons/gun_magazine_insert_empty_2.ogg b/sound/weapons/gun_magazine_insert_empty_2.ogg
new file mode 100644
index 0000000000..4441937736
Binary files /dev/null and b/sound/weapons/gun_magazine_insert_empty_2.ogg differ
diff --git a/sound/weapons/gun_magazine_insert_empty_3.ogg b/sound/weapons/gun_magazine_insert_empty_3.ogg
new file mode 100644
index 0000000000..dda772be5d
Binary files /dev/null and b/sound/weapons/gun_magazine_insert_empty_3.ogg differ
diff --git a/sound/weapons/gun_magazine_insert_empty_4.ogg b/sound/weapons/gun_magazine_insert_empty_4.ogg
new file mode 100644
index 0000000000..8ef39d84fb
Binary files /dev/null and b/sound/weapons/gun_magazine_insert_empty_4.ogg differ
diff --git a/sound/weapons/gun_magazine_insert_full_1.ogg b/sound/weapons/gun_magazine_insert_full_1.ogg
new file mode 100644
index 0000000000..dbbede3f71
Binary files /dev/null and b/sound/weapons/gun_magazine_insert_full_1.ogg differ
diff --git a/sound/weapons/gun_magazine_insert_full_2.ogg b/sound/weapons/gun_magazine_insert_full_2.ogg
new file mode 100644
index 0000000000..7aeee89ef8
Binary files /dev/null and b/sound/weapons/gun_magazine_insert_full_2.ogg differ
diff --git a/sound/weapons/gun_magazine_insert_full_3.ogg b/sound/weapons/gun_magazine_insert_full_3.ogg
new file mode 100644
index 0000000000..95b9b891ef
Binary files /dev/null and b/sound/weapons/gun_magazine_insert_full_3.ogg differ
diff --git a/sound/weapons/gun_magazine_insert_full_4.ogg b/sound/weapons/gun_magazine_insert_full_4.ogg
new file mode 100644
index 0000000000..d63f0310e5
Binary files /dev/null and b/sound/weapons/gun_magazine_insert_full_4.ogg differ
diff --git a/sound/weapons/gun_magazine_insert_full_5.ogg b/sound/weapons/gun_magazine_insert_full_5.ogg
new file mode 100644
index 0000000000..cfd6198760
Binary files /dev/null and b/sound/weapons/gun_magazine_insert_full_5.ogg differ
diff --git a/sound/weapons/gun_magazine_remove_empty_1.ogg b/sound/weapons/gun_magazine_remove_empty_1.ogg
new file mode 100644
index 0000000000..a3ae4fa2eb
Binary files /dev/null and b/sound/weapons/gun_magazine_remove_empty_1.ogg differ
diff --git a/sound/weapons/gun_magazine_remove_empty_2.ogg b/sound/weapons/gun_magazine_remove_empty_2.ogg
new file mode 100644
index 0000000000..da73e52173
Binary files /dev/null and b/sound/weapons/gun_magazine_remove_empty_2.ogg differ
diff --git a/sound/weapons/gun_magazine_remove_empty_3.ogg b/sound/weapons/gun_magazine_remove_empty_3.ogg
new file mode 100644
index 0000000000..18689dc26b
Binary files /dev/null and b/sound/weapons/gun_magazine_remove_empty_3.ogg differ
diff --git a/sound/weapons/gun_magazine_remove_empty_4.ogg b/sound/weapons/gun_magazine_remove_empty_4.ogg
new file mode 100644
index 0000000000..1012fbf5d7
Binary files /dev/null and b/sound/weapons/gun_magazine_remove_empty_4.ogg differ
diff --git a/sound/weapons/gun_magazine_remove_full.ogg b/sound/weapons/gun_magazine_remove_full.ogg
new file mode 100644
index 0000000000..9977da3ecd
Binary files /dev/null and b/sound/weapons/gun_magazine_remove_full.ogg differ
diff --git a/sound/weapons/gun_slide_lock_1.ogg b/sound/weapons/gun_slide_lock_1.ogg
new file mode 100644
index 0000000000..65270e2b4c
Binary files /dev/null and b/sound/weapons/gun_slide_lock_1.ogg differ
diff --git a/sound/weapons/gun_slide_lock_2.ogg b/sound/weapons/gun_slide_lock_2.ogg
new file mode 100644
index 0000000000..b0f0d28119
Binary files /dev/null and b/sound/weapons/gun_slide_lock_2.ogg differ
diff --git a/sound/weapons/gun_slide_lock_3.ogg b/sound/weapons/gun_slide_lock_3.ogg
new file mode 100644
index 0000000000..b30be8ab84
Binary files /dev/null and b/sound/weapons/gun_slide_lock_3.ogg differ
diff --git a/sound/weapons/gun_slide_lock_4.ogg b/sound/weapons/gun_slide_lock_4.ogg
new file mode 100644
index 0000000000..b10b830be7
Binary files /dev/null and b/sound/weapons/gun_slide_lock_4.ogg differ
diff --git a/sound/weapons/gun_slide_lock_5.ogg b/sound/weapons/gun_slide_lock_5.ogg
new file mode 100644
index 0000000000..5a4c1fa158
Binary files /dev/null and b/sound/weapons/gun_slide_lock_5.ogg differ