diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index b7c09919a0a..6fe39657869 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -573,7 +573,7 @@ else if(href_list["killcrew"]) //shoot a crewmember var/sheriff = remove_crewmember() //I shot the sheriff - playsound(loc,'sound/weapons/Gunshot.ogg', 100, 1) + playsound(loc,'sound/weapons/gunshots/gunshot.ogg', 100, 1) if(settlers.len == 0 || alive == 0) atom_say("The last crewmember [sheriff], shot themselves, GAME OVER!") diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index a71081f0be1..f9d10ad3eb9 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -156,9 +156,9 @@ if("honk") deejay('sound/items/bikehorn.ogg') if("pump") - deejay('sound/weapons/shotgunpump.ogg') + deejay('sound/weapons/gun_interactions/shotgunpump.ogg') if("pop") - deejay('sound/weapons/gunshot3.ogg') + deejay('sound/weapons/gunshots/gunshot3.ogg') if("saber") deejay('sound/weapons/saberon.ogg') if("harm") diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index f417d8cc75f..e9d7f4bcb15 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -986,8 +986,8 @@ var/list/turret_icons // So, nothing, not even emagging them, makes them switch bullet type. // So, its best to always have their projectile and eprojectile settings be the same. That way, you know what they will shoot. // Otherwise, you end up with situations where one of the two bullet types will never be used. - shot_sound = 'sound/weapons/Gunshot.ogg' - eshot_sound = 'sound/weapons/Gunshot.ogg' + shot_sound = 'sound/weapons/gunshots/gunshot_mg.ogg' + eshot_sound = 'sound/weapons/gunshots/gunshot_mg.ogg' icon_state = "syndieturret0" var/icon_state_initial = "syndieturret0" diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 276c6807f4f..3d11c425a4e 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -262,6 +262,7 @@ chassis.use_power(projectile_energy_cost) send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",get_equip_info()) log_message("Rearmed [name].") + playsound(src, 'sound/weapons/gun_interactions/rearm.ogg', 50, 1) return /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/Topic(href, href_list) @@ -276,13 +277,13 @@ origin_tech = "materials=4;combat=4" equip_cooldown = 5 projectile = /obj/item/projectile/bullet/incendiary/shell/dragonsbreath - fire_sound = 'sound/weapons/Gunshot.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg' projectiles = 24 projectile_energy_cost = 15 /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine/silenced name = "\improper S.H.H. \"Quietus\" Carbine" - fire_sound = 'sound/weapons/Gunshot_silenced.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_silenced.ogg' icon_state = "mecha_mime" equip_cooldown = 15 projectile = /obj/item/projectile/bullet/mime @@ -301,7 +302,7 @@ origin_tech = "combat=4" equip_cooldown = 20 projectile = /obj/item/projectile/bullet/midbullet - fire_sound = 'sound/weapons/Gunshot.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg' projectiles = 40 projectile_energy_cost = 25 projectiles_per_shot = 4 @@ -313,7 +314,7 @@ origin_tech = "combat=4" equip_cooldown = 10 projectile = /obj/item/projectile/bullet/weakbullet3 - fire_sound = 'sound/weapons/Gunshot.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_mg.ogg' projectiles = 300 projectile_energy_cost = 20 projectiles_per_shot = 3 diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm index f56a9ba71ee..d7585608ec7 100644 --- a/code/game/objects/items/latexballoon.dm +++ b/code/game/objects/items/latexballoon.dm @@ -28,7 +28,7 @@ /obj/item/latexballon/proc/burst() if(!air_contents || icon_state != "latexballon_blow") return - playsound(src, 'sound/weapons/Gunshot.ogg', 100, 1) + playsound(src, 'sound/weapons/gunshots/gunshot.ogg', 100, 1) icon_state = "latexballon_bursted" item_state = "lgloves" if(isliving(loc)) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 04c8eeae615..b2d09e3458c 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1375,7 +1375,7 @@ obj/item/toy/cards/deck/syndicate/black /obj/item/toy/russian_revolver/suicide_act(mob/user) user.visible_message("[user] quickly loads six bullets into [src]'s cylinder and points it at [user.p_their()] head before pulling the trigger! It looks like [user.p_theyre()] trying to commit suicide.") - playsound(loc, 'sound/weapons/Gunshot.ogg', 50, 1) + playsound(loc, 'sound/weapons/gunshots/gunshot_strong.ogg', 50, 1) return (BRUTELOSS) /obj/item/toy/russian_revolver/New() @@ -1409,7 +1409,7 @@ obj/item/toy/cards/deck/syndicate/black return else bullet_position = null - playsound(src, 'sound/weapons/Gunshot.ogg', 50, 1) + playsound(src, 'sound/weapons/gunshots/gunshot_strong.ogg', 50, 1) user.visible_message("[src] goes off!") user.apply_damage(200, BRUTE, "head", sharp = 1, used_weapon = "Self-inflicted gunshot wound to the head.") user.death() diff --git a/code/game/sound.dm b/code/game/sound.dm index 66fdd2cbc39..8cd08046307 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -135,7 +135,9 @@ if("pageturn") soundin = pick('sound/effects/pageturn1.ogg', 'sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg') if("gunshot") - soundin = pick('sound/weapons/Gunshot.ogg', 'sound/weapons/Gunshot2.ogg','sound/weapons/Gunshot3.ogg','sound/weapons/Gunshot4.ogg') + soundin = pick('sound/weapons/gunshots/gunshot.ogg', 'sound/weapons/gunshots/gunshot2.ogg','sound/weapons/gunshots/gunshot3.ogg','sound/weapons/gunshots/gunshot4.ogg') + if("casingdrop") + soundin = pick('sound/weapons/gun_interactions/casingfall1.ogg', 'sound/weapons/gun_interactions/casingfall2.ogg', 'sound/weapons/gun_interactions/casingfall3.ogg') if("computer_ambience") soundin = pick('sound/goonstation/machines/ambicomp1.ogg', 'sound/goonstation/machines/ambicomp2.ogg', 'sound/goonstation/machines/ambicomp3.ogg') if("ricochet") diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 5273bcb768b..9800b5df50b 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -817,9 +817,9 @@ var/list/non_fakeattack_weapons = list(/obj/item/gun/projectile, /obj/item/ammo_ playsound_local(null, 'sound/voice/bfreeze.ogg', 35, 0) if(9) //To make it more realistic, I added two gunshots (enough to kill) - playsound_local(null, 'sound/weapons/Gunshot.ogg', 25, 1) + playsound_local(null, 'sound/weapons/gunshots/gunshot.ogg', 25, 1) var/timer_pause = rand(10,30) - addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound_local, null, 'sound/weapons/Gunshot.ogg', 25, 1), timer_pause) + addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound_local, null, 'sound/weapons/gunshots/gunshot.ogg', 25, 1), timer_pause) addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound_local, null, sound(get_sfx("bodyfall"), 25), 25, 1), timer_pause+rand(5,10)) if(10) playsound_local(null, 'sound/effects/pray_chaplain.ogg', 50) diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index 52641d70a32..68ce8a4b45c 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -34,7 +34,7 @@ ranged_message = "shoots" ranged_cooldown_time = 30 projectiletype = /obj/item/projectile/kinetic - projectilesound = 'sound/weapons/Gunshot4.ogg' + projectilesound = 'sound/weapons/gunshots/gunshot4.ogg' speak_emote = list("states") wanted_objects = list(/obj/item/stack/ore/diamond, /obj/item/stack/ore/gold, /obj/item/stack/ore/silver, /obj/item/stack/ore/plasma, /obj/item/stack/ore/uranium, /obj/item/stack/ore/iron, diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index 051f2209729..b9d65c6a14f 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -15,7 +15,7 @@ melee_damage_upper = 3 attacktext = "claws" attack_sound = 'sound/weapons/bladeslice.ogg' - projectilesound = 'sound/weapons/Gunshot.ogg' + projectilesound = 'sound/weapons/gunshots/gunshot.ogg' projectiletype = /obj/item/projectile/hivebotbullet faction = list("hivebot") check_friendly_fire = 1 diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 1e0a43e75d1..0269dd76199 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -8,6 +8,7 @@ throwforce = 1 w_class = WEIGHT_CLASS_TINY var/fire_sound = null //What sound should play when this ammo is fired + var/drop_sound = "casingdrop" //What sound should play when this ammo hits the ground var/caliber = null //Which kind of guns it can be loaded into var/projectile_type = null //The bullet type to create when New() is called var/obj/item/projectile/BB = null //The loaded bullet @@ -52,6 +53,7 @@ if(boolets > 0) box.update_icon() to_chat(user, "You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s.") + playsound(src, 'sound/weapons/gun_interactions/bulletinsert.ogg', 50, 1) else to_chat(user, "You fail to collect anything!") else @@ -129,6 +131,7 @@ if(stored_ammo.len < max_ammo) stored_ammo += R R.loc = src + playsound(src, 'sound/weapons/gun_interactions/bulletinsert.ogg', 50, 1) update_mat_value() return 1 //for accessibles magazines (e.g internal ones) when full, start replacing spent ammo @@ -140,6 +143,7 @@ stored_ammo += R R.loc = src + playsound(src, 'sound/weapons/gun_interactions/shotguninsert.ogg', 50, 1) update_mat_value() return 1 @@ -170,6 +174,7 @@ if(num_loaded) if(!silent) to_chat(user, "You load [num_loaded] shell\s into \the [src]!") + playsound(src, 'sound/weapons/gun_interactions/shotguninsert.ogg', 50, 1) A.update_icon() update_icon() @@ -179,6 +184,7 @@ var/obj/item/ammo_casing/A = get_round() if(A) user.put_in_hands(A) + playsound(src, 'sound/weapons/gun_interactions/remove_bullet.ogg', 50, 1) to_chat(user, "You remove a round from \the [src]!") update_icon() diff --git a/code/modules/projectiles/ammunition/ammo_casings.dm b/code/modules/projectiles/ammunition/ammo_casings.dm index 46d87d70755..de8fc9beac6 100644 --- a/code/modules/projectiles/ammunition/ammo_casings.dm +++ b/code/modules/projectiles/ammunition/ammo_casings.dm @@ -124,6 +124,7 @@ desc = "A 12 gauge lead slug." icon_state = "blshell" caliber = "shotgun" + drop_sound = 'sound/weapons/gun_interactions/shotgun_fall.ogg' projectile_type = /obj/item/projectile/bullet materials = list(MAT_METAL=4000) diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm index 10579471b01..8571c97d469 100644 --- a/code/modules/projectiles/ammunition/energy.dm +++ b/code/modules/projectiles/ammunition/energy.dm @@ -87,7 +87,7 @@ delay = 15 /obj/item/ammo_casing/energy/electrode/gun - fire_sound = 'sound/weapons/gunshot.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot.ogg' e_cost = 100 /obj/item/ammo_casing/energy/electrode/hos //allows balancing of HoS and blueshit guns seperately from other energy weapons @@ -218,7 +218,7 @@ /obj/item/ammo_casing/energy/clown projectile_type = /obj/item/projectile/clown - fire_sound = 'sound/weapons/Gunshot_smg.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg' select_name = "clown" /obj/item/ammo_casing/energy/sniper diff --git a/code/modules/projectiles/ammunition/special.dm b/code/modules/projectiles/ammunition/special.dm index 21a1ae76356..101c8310b8a 100644 --- a/code/modules/projectiles/ammunition/special.dm +++ b/code/modules/projectiles/ammunition/special.dm @@ -48,5 +48,5 @@ /obj/item/ammo_casing/energy/c3dbullet projectile_type = /obj/item/projectile/bullet/midbullet3 select_name = "spraydown" - fire_sound = 'sound/weapons/gunshot_smg.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_mg.ogg' e_cost = 20 diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 165e75f1875..e51dbfc21e6 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -17,6 +17,8 @@ attack_verb = list("struck", "hit", "bashed") var/fire_sound = "gunshot" + var/magin_sound = 'sound/weapons/gun_interactions/smg_magin.ogg' + var/magout_sound = 'sound/weapons/gun_interactions/smg_magout.ogg' var/fire_sound_text = "gunshot" //the fire sound that shows in chat messages: laser blast, gunshot, etc. var/suppressed = 0 //whether or not a message is displayed when fired var/can_suppress = 0 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index c1e24a9badd..c238c88a126 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -1,3 +1,4 @@ +// Ion Rifles // /obj/item/gun/energy/ionrifle name = "ion rifle" desc = "A man portable anti-armor weapon designed to disable mechanical threats" @@ -29,6 +30,7 @@ flight_x_offset = 18 flight_y_offset = 11 +// Decloner // /obj/item/gun/energy/decloner name = "biological demolecularisor" desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements." @@ -44,6 +46,7 @@ if(power_supply.charge > shot.e_cost) overlays += "decloner_spin" +// Flora Gun // /obj/item/gun/energy/floragun name = "floral somatoray" desc = "A tool that discharges controlled radiation which induces mutation in plant cells." @@ -56,12 +59,14 @@ ammo_x_offset = 1 selfcharge = 1 +// Meteor Gun // /obj/item/gun/energy/meteorgun name = "meteor gun" desc = "For the love of god, make sure you're aiming this the right way!" icon = 'icons/obj/guns/projectile.dmi' icon_state = "riotgun" item_state = "c20r" + fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg' w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/meteor) cell_type = /obj/item/stock_parts/cell/potato @@ -78,6 +83,7 @@ righthand_file = 'icons/mob/inhands/items_righthand.dmi' w_class = WEIGHT_CLASS_TINY +// Mind Flayer // /obj/item/gun/energy/mindflayer name = "\improper Mind Flayer" desc = "A prototype weapon recovered from the ruins of Research-Station Epsilon." @@ -86,6 +92,7 @@ ammo_type = list(/obj/item/ammo_casing/energy/mindflayer) ammo_x_offset = 2 +// Energy Crossbows // /obj/item/gun/energy/kinetic_accelerator/crossbow name = "mini energy crossbow" desc = "A weapon favored by syndicate stealth specialists." @@ -132,6 +139,7 @@ shoot_live_shot() return (OXYLOSS) +// Plasma Cutters // /obj/item/gun/energy/plasmacutter name = "plasma cutter" desc = "A mining tool capable of expelling concentrated plasma bursts. You could use it to cut limbs off of xenos! Or, you know, mine stuff." @@ -180,6 +188,7 @@ ammo_type = list(/obj/item/ammo_casing/energy/plasma/adv) force = 15 +// Wormhole Projectors // /obj/item/gun/energy/wormhole_projector name = "bluespace wormhole projector" desc = "A projector that emits high density quantum-coupled bluespace beams." @@ -227,7 +236,6 @@ orange.target = get_turf(blue) /* 3d printer 'pseudo guns' for borgs */ - /obj/item/gun/energy/printer name = "cyborg lmg" desc = "A machinegun that fires 3d-printed flachettes slowly regenerated using a cyborg's internal power source." @@ -247,6 +255,7 @@ ..() robocharge() +// Instakill Lasers // /obj/item/gun/energy/laser/instakill name = "instakill rifle" icon_state = "instagib" @@ -271,6 +280,7 @@ item_state = "instagibblue" ammo_type = list(/obj/item/ammo_casing/energy/instakill/blue) +// HONK Rifle // /obj/item/gun/energy/clown name = "HONK Rifle" desc = "Clown Planet's finest." @@ -291,6 +301,7 @@ ammo_type = list(/obj/item/ammo_casing/energy/toxplasma) shaded_charge = 1 +// Energy Sniper // /obj/item/gun/energy/sniperrifle name = "L.W.A.P. Sniper Rifle" desc = "A rifle constructed of lightweight materials, fitted with a SMART aiming-system scope." @@ -303,6 +314,7 @@ zoom_amt = 7 //Long range, enough to see in front of you, but no tiles behind you. shaded_charge = 1 +// Temperature Gun // /obj/item/gun/energy/temperature name = "temperature gun" icon = 'icons/obj/guns/gun_temperature.dmi' @@ -486,6 +498,7 @@ if(100 to 202) overlays += "100" if(-INFINITY to 100) overlays += "0" +// Mimic Gun // /obj/item/gun/energy/mimicgun name = "mimic gun" desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse. Why does this one have teeth?" diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 39654c96a2b..6e558dedbd1 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -8,6 +8,7 @@ var/mag_type = /obj/item/ammo_box/magazine/m10mm //Removes the need for max_ammo and caliber info var/obj/item/ammo_box/magazine/magazine + var/can_tactical = FALSE //check to see if the gun can tactically reload /obj/item/gun/projectile/New() ..() @@ -32,7 +33,7 @@ if(eject_casing) AC.loc = get_turf(src) //Eject casing onto ground. AC.SpinAnimation(10, 1) //next gen special effects - + playsound(src, chambered.drop_sound, 100, 1) if(empty_chamber) chambered = null chamber_round() @@ -51,21 +52,41 @@ return 0 return 1 +/obj/item/gun/projectile/proc/can_reload() + return !magazine + +/obj/item/gun/projectile/proc/reload(obj/item/ammo_box/magazine/AM, mob/user as mob) + user.remove_from_mob(AM) + magazine = AM + magazine.loc = src + playsound(src, magin_sound, 50, 1) + chamber_round() + AM.update_icon() + update_icon() + return + /obj/item/gun/projectile/attackby(var/obj/item/A as obj, mob/user as mob, params) ..() if(istype(A, /obj/item/ammo_box/magazine)) var/obj/item/ammo_box/magazine/AM = A - if(!magazine && istype(AM, mag_type)) - user.remove_from_mob(AM) - magazine = AM - magazine.loc = src - to_chat(user, "You load a new magazine into \the [src].") - chamber_round() - A.update_icon() - update_icon() - return 1 - else if(magazine) - to_chat(user, "There's already a magazine in \the [src].") + if(istype(AM, mag_type)) + if(can_reload()) + reload(AM, user) + to_chat(user, "You load a new magazine into \the [src].") + return TRUE + else if(!can_tactical) + to_chat(user, "There's already a magazine in \the [src].") + return TRUE + else + to_chat(user, "You perform a tactical reload on \the [src], replacing the magazine.") + magazine.loc = get_turf(loc) + magazine.update_icon() + magazine = null + reload(AM, user) + return TRUE + else + to_chat(user, "You can't put this type of ammo in \the [src].") + return TRUE if(istype(A, /obj/item/suppressor)) var/obj/item/suppressor/S = A if(can_suppress) @@ -76,7 +97,7 @@ suppressed = A S.oldsound = fire_sound S.initial_w_class = w_class - fire_sound = 'sound/weapons/Gunshot_silenced.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_silenced.ogg' w_class = WEIGHT_CLASS_NORMAL //so pistols do not fit in pockets when suppressed A.loc = src update_icon() @@ -113,11 +134,13 @@ magazine.update_icon() magazine = null to_chat(user, "You pull the magazine out of \the [src]!") + playsound(src, magout_sound, 50, 1) else if(chambered) AC.loc = get_turf(src) AC.SpinAnimation(10, 1) chambered = null to_chat(user, "You unload the round from \the [src]'s chamber.") + playsound(src, 'sound/weapons/gun_interactions/remove_bullet.ogg', 50, 1) else to_chat(user, "There's no magazine in \the [src].") update_icon() diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index ecaf8d801b2..399925d0e8a 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -2,6 +2,7 @@ w_class = WEIGHT_CLASS_NORMAL var/alarmed = 0 var/select = 1 + can_tactical = TRUE can_suppress = 1 burst_size = 3 fire_delay = 2 @@ -60,7 +61,7 @@ fire_delay = initial(fire_delay) to_chat(user, "You switch to [burst_size] round burst.") - playsound(user, 'sound/weapons/empty.ogg', 100, 1) + playsound(user, 'sound/weapons/gun_interactions/selector.ogg', 100, 1) update_icon() for(var/X in actions) var/datum/action/A = X @@ -75,13 +76,16 @@ update_icon() alarmed = 1 +//Saber SMG// /obj/item/gun/projectile/automatic/proto name = "\improper Nanotrasen Saber SMG" desc = "A prototype three-round burst 9mm submachine gun, designated 'SABR'. Has a threaded barrel for suppressors." icon_state = "saber" mag_type = /obj/item/ammo_box/magazine/smgm9mm origin_tech = "combat=4;materials=2" + fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg' +//C-20r SMG// /obj/item/gun/projectile/automatic/c20r name = "\improper C-20r SMG" desc = "A two-round burst .45 SMG, designated 'C-20r'. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp." @@ -89,7 +93,7 @@ item_state = "c20r" origin_tech = "combat=5;materials=2;syndicate=6" mag_type = /obj/item/ammo_box/magazine/smgm45 - fire_sound = 'sound/weapons/Gunshot_smg.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg' fire_delay = 2 burst_size = 2 @@ -105,12 +109,16 @@ ..() icon_state = "c20r[magazine ? "-[Ceiling(get_ammo(0)/4)*4]" : ""][chambered ? "" : "-e"][suppressed ? "-suppressed" : ""]" +//WT550// /obj/item/gun/projectile/automatic/wt550 name = "security auto rifle" desc = "An outdated personal defense weapon utilized by law enforcement. The WT-550 Automatic Rifle fires 4.6x30mm rounds." icon_state = "wt550" item_state = "arg" mag_type = /obj/item/ammo_box/magazine/wt550m9 + fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg' + magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg' + magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg' fire_delay = 2 can_suppress = 0 burst_size = 1 @@ -120,14 +128,17 @@ ..() icon_state = "wt550[magazine ? "-[Ceiling(get_ammo(0)/4)*4]" : ""]" +//Type-U3 Uzi// /obj/item/gun/projectile/automatic/mini_uzi name = "\improper 'Type U3' Uzi" desc = "A lightweight, burst-fire submachine gun, for when you really want someone dead. Uses 9mm rounds." icon_state = "mini-uzi" origin_tech = "combat=4;materials=2;syndicate=4" mag_type = /obj/item/ammo_box/magazine/uzim9mm + fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg' burst_size = 2 +//M-90gl Carbine// /obj/item/gun/projectile/automatic/m90 name = "\improper M-90gl Carbine" desc = "A three-round burst 5.56 toploading carbine, designated 'M-90gl'. Has an attached underbarrel grenade launcher which can be toggled on and off." @@ -135,7 +146,9 @@ item_state = "m90-4" origin_tech = "combat=5;materials=2;syndicate=6" mag_type = /obj/item/ammo_box/magazine/m556 - fire_sound = 'sound/weapons/Gunshot_smg.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg' + magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg' + magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg' can_suppress = 0 var/obj/item/gun/projectile/revolver/grenadelauncher/underbarrel burst_size = 3 @@ -195,9 +208,10 @@ burst_size = 1 fire_delay = 0 to_chat(user, "You switch to semi-auto.") - playsound(user, 'sound/weapons/empty.ogg', 100, 1) + playsound(user, 'sound/weapons/gun_interactions/selector.ogg', 100, 1) update_icon() +//Tommy Gun// /obj/item/gun/projectile/automatic/tommygun name = "\improper Thompson SMG" desc = "A genuine 'Chicago Typewriter'." @@ -207,11 +221,12 @@ slot_flags = 0 origin_tech = "combat=5;materials=1;syndicate=3" mag_type = /obj/item/ammo_box/magazine/tommygunm45 - fire_sound = 'sound/weapons/Gunshot_smg.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg' can_suppress = 0 burst_size = 4 fire_delay = 1 +//ARG Assault Rifle// /obj/item/gun/projectile/automatic/ar name = "ARG" desc = "A robust assault rile used by Nanotrasen fighting forces." @@ -220,7 +235,9 @@ slot_flags = 0 origin_tech = "combat=6;engineering=4" mag_type = /obj/item/ammo_box/magazine/m556 - fire_sound = 'sound/weapons/Gunshot_smg.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_mg.ogg' + magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg' + magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg' can_suppress = 0 burst_size = 3 fire_delay = 1 @@ -234,7 +251,9 @@ w_class = WEIGHT_CLASS_NORMAL origin_tech = "combat=6;materials=4;syndicate=6" mag_type = /obj/item/ammo_box/magazine/m12g - fire_sound = 'sound/weapons/Gunshot4.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg' + magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg' + magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg' can_suppress = 0 burst_size = 1 fire_delay = 0 @@ -259,6 +278,7 @@ ..() empty_alarm() +//Laser carbine// /obj/item/gun/projectile/automatic/lasercarbine name = "\improper IK-60 Laser Carbine" desc = "A short, compact carbine like rifle, relying more on battery cartridges rather than a built in power cell. Utilized by the Nanotrasen Navy for combat operations." @@ -267,7 +287,9 @@ w_class = WEIGHT_CLASS_NORMAL origin_tech = "combat=4;materials=2" mag_type = /obj/item/ammo_box/magazine/laser - fire_sound = 'sound/weapons/emitter2.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_lascarbine.ogg' + magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg' + magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg' can_suppress = 0 burst_size = 2 diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index b9fdc969a66..64d0c2d7a67 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -1,3 +1,4 @@ +//Stetchkin// /obj/item/gun/projectile/automatic/pistol name = "stechkin pistol" desc = "A small, easily concealable 10mm handgun. Has a threaded barrel for suppressors." @@ -5,6 +6,9 @@ w_class = WEIGHT_CLASS_SMALL origin_tech = "combat=3;materials=2;syndicate=4" mag_type = /obj/item/ammo_box/magazine/m10mm + fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg' + magin_sound = 'sound/weapons/gun_interactions/pistol_magin.ogg' + magout_sound = 'sound/weapons/gun_interactions/pistol_magout.ogg' can_suppress = 1 burst_size = 1 fire_delay = 0 @@ -18,6 +22,7 @@ icon_state = "[initial(icon_state)][chambered ? "" : "-e"][suppressed ? "-suppressed" : ""]" return +//M1911// /obj/item/gun/projectile/automatic/pistol/m1911 name = "\improper M1911" desc = "A classic .45 handgun with a small magazine capacity." @@ -26,6 +31,7 @@ mag_type = /obj/item/ammo_box/magazine/m45 can_suppress = 0 +//Enforcer// /obj/item/gun/projectile/automatic/pistol/enforcer name = "Enforcer" desc = "A pistol of modern design." @@ -72,12 +78,16 @@ magazine = new/obj/item/ammo_box/magazine/enforcer/lethal ..() +//Desert Eagle// /obj/item/gun/projectile/automatic/pistol/deagle name = "desert eagle" desc = "A robust .50 AE handgun." icon_state = "deagle" force = 14.0 mag_type = /obj/item/ammo_box/magazine/m50 + fire_sound = 'sound/weapons/gunshots/gunshot_pistolH.ogg' + magin_sound = 'sound/weapons/gun_interactions/hpistol_magin.ogg' + magout_sound = 'sound/weapons/gun_interactions/hpistol_magout.ogg' can_suppress = 0 /obj/item/gun/projectile/automatic/pistol/deagle/update_icon() @@ -94,6 +104,7 @@ icon_state = "deaglecamo" item_state = "deagleg" +//APS Pistol// /obj/item/gun/projectile/automatic/pistol/APS name = "stechkin APS pistol" desc = "The original russian version of a widely used Syndicate sidearm. Uses 9mm ammo." diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 8fae0a9bac1..647c690a40d 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -4,6 +4,7 @@ icon_state = "revolver" mag_type = /obj/item/ammo_box/magazine/internal/cylinder origin_tech = "combat=3;materials=2" + fire_sound = 'sound/weapons/gunshots/gunshot_strong.ogg' /obj/item/gun/projectile/revolver/New() ..() @@ -45,6 +46,7 @@ CB.loc = get_turf(loc) CB.SpinAnimation(10, 1) CB.update_icon() + playsound(get_turf(CB), "casingdrop", 60, 1) num_unloaded++ if(num_unloaded) to_chat(user, "You unload [num_unloaded] shell\s from [src].") @@ -251,6 +253,7 @@ chambered = null CB.loc = get_turf(loc) CB.update_icon() + playsound(get_turf(CB), "casingdrop", 60, 1) num_unloaded++ if(num_unloaded) to_chat(user, "You unload [num_unloaded] shell\s from [src].") @@ -316,6 +319,7 @@ flags = CONDUCT slot_flags = SLOT_BACK mag_type = /obj/item/ammo_box/magazine/internal/shot/dual + fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg' sawn_desc = "Omar's coming!" unique_rename = 1 unique_reskin = 1 @@ -348,7 +352,9 @@ CB = magazine.get_round(0) chambered = null CB.loc = get_turf(loc) + CB.SpinAnimation(10, 1) CB.update_icon() + playsound(get_turf(CB), 'sound/weapons/gun_interactions/shotgun_fall.ogg', 70, 1) num_unloaded++ if(num_unloaded) to_chat(user, "You break open \the [src] and unload [num_unloaded] shell\s.") @@ -369,6 +375,7 @@ force = 10 slot_flags = null mag_type = /obj/item/ammo_box/magazine/internal/shot/improvised + fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg' sawn_desc = "I'm just here for the gasoline." unique_rename = 0 unique_reskin = 0 @@ -420,7 +427,7 @@ mag_type = /obj/item/ammo_box/magazine/internal/shot/improvised/cane sawn_desc = "I'm sorry, but why did you saw your cane in the first place?" attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") - fire_sound = 'sound/weapons/Gunshot_silenced.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_silenced.ogg' suppressed = 1 needs_permit = 0 //its just a cane beepsky..... diff --git a/code/modules/projectiles/guns/projectile/saw.dm b/code/modules/projectiles/guns/projectile/saw.dm index cd5f5e69865..59bb2595714 100644 --- a/code/modules/projectiles/guns/projectile/saw.dm +++ b/code/modules/projectiles/guns/projectile/saw.dm @@ -8,7 +8,9 @@ origin_tech = "combat=6;engineering=3;syndicate=6" mag_type = /obj/item/ammo_box/magazine/mm556x45 weapon_weight = WEAPON_MEDIUM - fire_sound = 'sound/weapons/Gunshot3.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot_mg.ogg' + magin_sound = 'sound/weapons/gun_interactions/lmg_magin.ogg' + magout_sound = 'sound/weapons/gun_interactions/lmg_magout.ogg' var/cover_open = 0 can_suppress = 0 burst_size = 3 @@ -17,6 +19,7 @@ /obj/item/gun/projectile/automatic/l6_saw/attack_self(mob/user) cover_open = !cover_open to_chat(user, "You [cover_open ? "open" : "close"] [src]'s cover.") + playsound(src, cover_open ? 'sound/weapons/gun_interactions/sawopen.ogg' : 'sound/weapons/gun_interactions/sawclose.ogg', 50, 1) update_icon() /obj/item/gun/projectile/automatic/l6_saw/update_icon() @@ -42,17 +45,18 @@ magazine.loc = get_turf(loc) user.put_in_hands(magazine) magazine = null + playsound(src, magout_sound, 50, 1) update_icon() to_chat(user, "You remove the magazine from [src].") -/obj/item/gun/projectile/automatic/l6_saw/attackby(obj/item/A, mob/user, params) - . = ..() - if(.) - return - if(!cover_open) - to_chat(user, "[src]'s cover is closed! You can't insert a new mag.") - return +/obj/item/gun/projectile/automatic/l6_saw/attackby(obj/item/A, mob/user, params) + if(istype(A, /obj/item/ammo_box/magazine)) + var/obj/item/ammo_box/magazine/AM = A + if(istype(AM, mag_type)) + if(!cover_open) + to_chat(user, "[src]'s cover is closed! You can't insert a new mag.") + return ..() //ammo// diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 55aa5977eb2..366b9b6579f 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -9,6 +9,7 @@ slot_flags = SLOT_BACK origin_tech = "combat=4;materials=2" mag_type = /obj/item/ammo_box/magazine/internal/shot + fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg' var/recentpump = 0 // to prevent spammage /obj/item/gun/projectile/shotgun/attackby(obj/item/A, mob/user, params) @@ -44,7 +45,7 @@ /obj/item/gun/projectile/shotgun/proc/pump(mob/M) - playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1) + playsound(M, 'sound/weapons/gun_interactions/shotgunpump.ogg', 60, 1) pump_unload(M) pump_reload(M) update_icon() //I.E. fix the desc @@ -54,6 +55,7 @@ if(chambered)//We have a shell in the chamber chambered.loc = get_turf(src)//Eject casing chambered.SpinAnimation(5, 1) + playsound(src, chambered.drop_sound, 60, 1) chambered = null /obj/item/gun/projectile/shotgun/proc/pump_reload(mob/M) @@ -206,10 +208,11 @@ item_state = "moistnugget" slot_flags = 0 //no SLOT_BACK sprite, alas mag_type = /obj/item/ammo_box/magazine/internal/boltaction + fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg' var/bolt_open = 0 /obj/item/gun/projectile/shotgun/boltaction/pump(mob/M) - playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1) + playsound(M, 'sound/weapons/gun_interactions/rifle_load.ogg', 60, 1) if(bolt_open) pump_reload(M) else @@ -312,6 +315,7 @@ to_chat(user, "You switch to tube B.") else to_chat(user, "You switch to tube A.") + playsound(user, 'sound/weapons/gun_interactions/selector.ogg', 100, 1) /obj/item/gun/projectile/shotgun/automatic/dual_tube/AltClick(mob/living/user) if(user.incapacitated() || !Adjacent(user) || !istype(user)) diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index 7a610246a21..1683f109cfd 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -6,6 +6,9 @@ recoil = 2 weapon_weight = WEAPON_MEDIUM mag_type = /obj/item/ammo_box/magazine/sniper_rounds + fire_sound = 'sound/weapons/gunshots/gunshot_sniper.ogg' + magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg' + magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg' fire_delay = 40 burst_size = 1 origin_tech = "combat=7" diff --git a/code/modules/projectiles/guns/projectile/toy.dm b/code/modules/projectiles/guns/projectile/toy.dm index 1cc35d2ce38..8937fad6047 100644 --- a/code/modules/projectiles/guns/projectile/toy.dm +++ b/code/modules/projectiles/guns/projectile/toy.dm @@ -5,7 +5,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/weapons/gunshots/gunshot_smg.ogg' force = 0 throwforce = 0 burst_size = 3 @@ -22,7 +22,7 @@ icon_state = "pistol" w_class = WEIGHT_CLASS_SMALL mag_type = /obj/item/ammo_box/magazine/toy/pistol - fire_sound = 'sound/weapons/Gunshot.ogg' + fire_sound = 'sound/weapons/gunshots/gunshot.ogg' can_suppress = 0 burst_size = 1 fire_delay = 0 diff --git a/sound/weapons/gun_interactions/batrifle_magin.ogg b/sound/weapons/gun_interactions/batrifle_magin.ogg new file mode 100644 index 00000000000..6e557b892a9 Binary files /dev/null and b/sound/weapons/gun_interactions/batrifle_magin.ogg differ diff --git a/sound/weapons/gun_interactions/batrifle_magout.ogg b/sound/weapons/gun_interactions/batrifle_magout.ogg new file mode 100644 index 00000000000..591599f5233 Binary files /dev/null and b/sound/weapons/gun_interactions/batrifle_magout.ogg differ diff --git a/sound/weapons/gun_interactions/bulletinsert.ogg b/sound/weapons/gun_interactions/bulletinsert.ogg new file mode 100644 index 00000000000..789ee15b083 Binary files /dev/null and b/sound/weapons/gun_interactions/bulletinsert.ogg differ diff --git a/sound/weapons/gun_interactions/casingfall1.ogg b/sound/weapons/gun_interactions/casingfall1.ogg new file mode 100644 index 00000000000..72a04c0fca4 Binary files /dev/null and b/sound/weapons/gun_interactions/casingfall1.ogg differ diff --git a/sound/weapons/gun_interactions/casingfall2.ogg b/sound/weapons/gun_interactions/casingfall2.ogg new file mode 100644 index 00000000000..2317ff5d757 Binary files /dev/null and b/sound/weapons/gun_interactions/casingfall2.ogg differ diff --git a/sound/weapons/gun_interactions/casingfall3.ogg b/sound/weapons/gun_interactions/casingfall3.ogg new file mode 100644 index 00000000000..39639055c2b Binary files /dev/null and b/sound/weapons/gun_interactions/casingfall3.ogg differ diff --git a/sound/weapons/gun_interactions/hpistol_magin.ogg b/sound/weapons/gun_interactions/hpistol_magin.ogg new file mode 100644 index 00000000000..c74160fdb5d Binary files /dev/null and b/sound/weapons/gun_interactions/hpistol_magin.ogg differ diff --git a/sound/weapons/gun_interactions/hpistol_magout.ogg b/sound/weapons/gun_interactions/hpistol_magout.ogg new file mode 100644 index 00000000000..ddad68ed7d4 Binary files /dev/null and b/sound/weapons/gun_interactions/hpistol_magout.ogg differ diff --git a/sound/weapons/gun_interactions/lmg_magin.ogg b/sound/weapons/gun_interactions/lmg_magin.ogg new file mode 100644 index 00000000000..12a11584d5f Binary files /dev/null and b/sound/weapons/gun_interactions/lmg_magin.ogg differ diff --git a/sound/weapons/gun_interactions/lmg_magout.ogg b/sound/weapons/gun_interactions/lmg_magout.ogg new file mode 100644 index 00000000000..d5a70b20b2f Binary files /dev/null and b/sound/weapons/gun_interactions/lmg_magout.ogg differ diff --git a/sound/weapons/gun_interactions/pistol_magin.ogg b/sound/weapons/gun_interactions/pistol_magin.ogg new file mode 100644 index 00000000000..c442f8b1627 Binary files /dev/null and b/sound/weapons/gun_interactions/pistol_magin.ogg differ diff --git a/sound/weapons/gun_interactions/pistol_magout.ogg b/sound/weapons/gun_interactions/pistol_magout.ogg new file mode 100644 index 00000000000..334d1a12f29 Binary files /dev/null and b/sound/weapons/gun_interactions/pistol_magout.ogg differ diff --git a/sound/weapons/gun_interactions/rearm.ogg b/sound/weapons/gun_interactions/rearm.ogg new file mode 100644 index 00000000000..5bb57f7943a Binary files /dev/null and b/sound/weapons/gun_interactions/rearm.ogg differ diff --git a/sound/weapons/gun_interactions/remove_bullet.ogg b/sound/weapons/gun_interactions/remove_bullet.ogg new file mode 100644 index 00000000000..b30be8ab84d Binary files /dev/null and b/sound/weapons/gun_interactions/remove_bullet.ogg differ diff --git a/sound/weapons/gun_interactions/rifle_load.ogg b/sound/weapons/gun_interactions/rifle_load.ogg new file mode 100644 index 00000000000..8309e26b6dd Binary files /dev/null and b/sound/weapons/gun_interactions/rifle_load.ogg differ diff --git a/sound/weapons/gun_interactions/sawclose.ogg b/sound/weapons/gun_interactions/sawclose.ogg new file mode 100644 index 00000000000..f33a06059fd Binary files /dev/null and b/sound/weapons/gun_interactions/sawclose.ogg differ diff --git a/sound/weapons/gun_interactions/sawopen.ogg b/sound/weapons/gun_interactions/sawopen.ogg new file mode 100644 index 00000000000..c6da68e323e Binary files /dev/null and b/sound/weapons/gun_interactions/sawopen.ogg differ diff --git a/sound/weapons/gun_interactions/selector.ogg b/sound/weapons/gun_interactions/selector.ogg new file mode 100644 index 00000000000..298181609e4 Binary files /dev/null and b/sound/weapons/gun_interactions/selector.ogg differ diff --git a/sound/weapons/gun_interactions/shotgun_fall.ogg b/sound/weapons/gun_interactions/shotgun_fall.ogg new file mode 100644 index 00000000000..6a89109a12b Binary files /dev/null and b/sound/weapons/gun_interactions/shotgun_fall.ogg differ diff --git a/sound/weapons/gun_interactions/shotguninsert.ogg b/sound/weapons/gun_interactions/shotguninsert.ogg new file mode 100644 index 00000000000..189324493cf Binary files /dev/null and b/sound/weapons/gun_interactions/shotguninsert.ogg differ diff --git a/sound/weapons/shotgunpump.ogg b/sound/weapons/gun_interactions/shotgunpump.ogg similarity index 100% rename from sound/weapons/shotgunpump.ogg rename to sound/weapons/gun_interactions/shotgunpump.ogg diff --git a/sound/weapons/gun_interactions/smg_magin.ogg b/sound/weapons/gun_interactions/smg_magin.ogg new file mode 100644 index 00000000000..2bdb3c99e76 Binary files /dev/null and b/sound/weapons/gun_interactions/smg_magin.ogg differ diff --git a/sound/weapons/gun_interactions/smg_magout.ogg b/sound/weapons/gun_interactions/smg_magout.ogg new file mode 100644 index 00000000000..d85ff5a40ca Binary files /dev/null and b/sound/weapons/gun_interactions/smg_magout.ogg differ diff --git a/sound/weapons/Gunshot.ogg b/sound/weapons/gunshots/gunshot.ogg similarity index 100% rename from sound/weapons/Gunshot.ogg rename to sound/weapons/gunshots/gunshot.ogg diff --git a/sound/weapons/Gunshot2.ogg b/sound/weapons/gunshots/gunshot2.ogg similarity index 100% rename from sound/weapons/Gunshot2.ogg rename to sound/weapons/gunshots/gunshot2.ogg diff --git a/sound/weapons/Gunshot3.ogg b/sound/weapons/gunshots/gunshot3.ogg similarity index 100% rename from sound/weapons/Gunshot3.ogg rename to sound/weapons/gunshots/gunshot3.ogg diff --git a/sound/weapons/Gunshot4.ogg b/sound/weapons/gunshots/gunshot4.ogg similarity index 100% rename from sound/weapons/Gunshot4.ogg rename to sound/weapons/gunshots/gunshot4.ogg diff --git a/sound/weapons/gunshots/gunshot_lascarbine.ogg b/sound/weapons/gunshots/gunshot_lascarbine.ogg new file mode 100644 index 00000000000..3c9db8459df Binary files /dev/null and b/sound/weapons/gunshots/gunshot_lascarbine.ogg differ diff --git a/sound/weapons/gunshots/gunshot_mg.ogg b/sound/weapons/gunshots/gunshot_mg.ogg new file mode 100644 index 00000000000..49c2b0c5548 Binary files /dev/null and b/sound/weapons/gunshots/gunshot_mg.ogg differ diff --git a/sound/weapons/gunshots/gunshot_pistol.ogg b/sound/weapons/gunshots/gunshot_pistol.ogg new file mode 100644 index 00000000000..c9d63229921 Binary files /dev/null and b/sound/weapons/gunshots/gunshot_pistol.ogg differ diff --git a/sound/weapons/gunshots/gunshot_pistolH.ogg b/sound/weapons/gunshots/gunshot_pistolH.ogg new file mode 100644 index 00000000000..7bd82f183e5 Binary files /dev/null and b/sound/weapons/gunshots/gunshot_pistolH.ogg differ diff --git a/sound/weapons/gunshots/gunshot_rifle.ogg b/sound/weapons/gunshots/gunshot_rifle.ogg new file mode 100644 index 00000000000..4b26d5e7e6f Binary files /dev/null and b/sound/weapons/gunshots/gunshot_rifle.ogg differ diff --git a/sound/weapons/gunshots/gunshot_shotgun.ogg b/sound/weapons/gunshots/gunshot_shotgun.ogg new file mode 100644 index 00000000000..b546fb734f8 Binary files /dev/null and b/sound/weapons/gunshots/gunshot_shotgun.ogg differ diff --git a/sound/weapons/Gunshot_silenced.ogg b/sound/weapons/gunshots/gunshot_silenced.ogg similarity index 100% rename from sound/weapons/Gunshot_silenced.ogg rename to sound/weapons/gunshots/gunshot_silenced.ogg diff --git a/sound/weapons/Gunshot_smg.ogg b/sound/weapons/gunshots/gunshot_smg.ogg similarity index 100% rename from sound/weapons/Gunshot_smg.ogg rename to sound/weapons/gunshots/gunshot_smg.ogg diff --git a/sound/weapons/gunshots/gunshot_sniper.ogg b/sound/weapons/gunshots/gunshot_sniper.ogg new file mode 100644 index 00000000000..fc292dd255f Binary files /dev/null and b/sound/weapons/gunshots/gunshot_sniper.ogg differ diff --git a/sound/weapons/gunshots/gunshot_strong.ogg b/sound/weapons/gunshots/gunshot_strong.ogg new file mode 100644 index 00000000000..6794bfa08ec Binary files /dev/null and b/sound/weapons/gunshots/gunshot_strong.ogg differ