From 8c7a28b492d0a761858ecb671ebd93dec662748a Mon Sep 17 00:00:00 2001 From: EgorDinamit Date: Mon, 12 Feb 2024 09:51:52 +0300 Subject: [PATCH] SMG tweaks --- code/__defines/guns.dm | 4 + code/_global_vars/sound.dm | 5 ++ code/game/sound.dm | 1 + .../designs/general/designs_arms_ammo.dm | 8 +- code/modules/projectiles/ammunition/boxes.dm | 66 +++++++++++------ .../modules/projectiles/ammunition/bullets.dm | 69 ++++++++++++++---- .../projectiles/guns/projectile/automatic.dm | 14 ++-- .../modules/projectiles/projectile/bullets.dm | 62 +++++++++++++--- code/modules/psionics/equipment/null_ammo.dm | 6 +- icons/obj/ammo.dmi | Bin 27656 -> 27661 bytes sound/weapons/gunshot/mp19.ogg | Bin 0 -> 16764 bytes 11 files changed, 174 insertions(+), 61 deletions(-) create mode 100644 sound/weapons/gunshot/mp19.ogg diff --git a/code/__defines/guns.dm b/code/__defines/guns.dm index c8f2eb0ebb8..2825cc2fd54 100644 --- a/code/__defines/guns.dm +++ b/code/__defines/guns.dm @@ -9,6 +9,10 @@ #define CALIBER_REVOLVER_MEDIUM ".357 Special" #define CALIBER_REVOLVER_HEAVY ".454 Casull" +#define CALIBER_SMG "10mmS" +#define CALIBER_SMG_SMALL "7mmS" +#define CALIBER_SMG_FLECHETTE "4mmS" + #define CALIBER_RIFLE "5mmR" #define CALIBER_RIFLE_MILITARY "7mmR" #define CALIBER_T12 "10x24mmR" diff --git a/code/_global_vars/sound.dm b/code/_global_vars/sound.dm index eed5570cadf..97b8eb7c8be 100644 --- a/code/_global_vars/sound.dm +++ b/code/_global_vars/sound.dm @@ -131,3 +131,8 @@ GLOBAL_LIST_INIT(t12_sound,\ 'sound/weapons/gunshot/autorifle-1.ogg',\ 'sound/weapons/gunshot/autorifle-2.ogg',\ 'sound/weapons/gunshot/autorifle-3.ogg')) + +GLOBAL_LIST_INIT(mp38_sound,\ + list(\ + 'sound/weapons/gunshot/mp38_1.ogg', + 'sound/weapons/gunshot/mp38_2.ogg')) diff --git a/code/game/sound.dm b/code/game/sound.dm index 6975eaf07ed..bbd54881dce 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -162,6 +162,7 @@ var/const/FALLOFF_SOUNDS = 0.5 if ("glasscrack") soundin = pick(GLOB.glasscrack_sound) if ("tray_hit") soundin = pick(GLOB.tray_hit_sound) if ("gun_t12") soundin = pick(GLOB.t12_sound) + if ("gun_mp38") soundin = pick(GLOB.mp38_sound) return soundin /client/verb/stop_sounds() diff --git a/code/modules/fabrication/designs/general/designs_arms_ammo.dm b/code/modules/fabrication/designs/general/designs_arms_ammo.dm index a246033c288..397bd99b04f 100644 --- a/code/modules/fabrication/designs/general/designs_arms_ammo.dm +++ b/code/modules/fabrication/designs/general/designs_arms_ammo.dm @@ -25,10 +25,6 @@ name = "ammunition (shotgun, flash)" path = /obj/item/ammo_casing/shotgun/flash -/datum/fabricator_recipe/arms_ammo/hidden/magazine_smg_rubber - name = "ammunition (SMG rubber) top mounted" - path = /obj/item/ammo_magazine/smg_top/rubber - /datum/fabricator_recipe/arms_ammo/hidden/flamethrower path = /obj/item/flamethrower/full @@ -72,6 +68,10 @@ name = "ammunition (submachine gun)" path = /obj/item/ammo_magazine/smg +/datum/fabricator_recipe/arms_ammo/hidden/magazine_smg_rubber + name = "ammunition (SMG rubber) top mounted" + path = /obj/item/ammo_magazine/smg_top/rubber + /datum/fabricator_recipe/arms_ammo/hidden/magazine_uzi name = "ammunition (machine pistol)" path = /obj/item/ammo_magazine/machine_pistol diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index ade08d97cc6..53bd80e9476 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -118,12 +118,16 @@ name = "stick magazine" icon_state = "machine_pistol" mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/pistol + ammo_type = /obj/item/ammo_casing/smg matter = list(MATERIAL_STEEL = 1200) - caliber = CALIBER_PISTOL + caliber = CALIBER_SMG max_ammo = 16 multiple_sprites = 1 +/obj/item/ammo_magazine/machine_pistol/rubber + labels = list("rubber") + ammo_type = /obj/item/projectile/bullet/smg/rubber + /obj/item/ammo_magazine/machine_pistol/empty initial_ammo = 0 @@ -131,9 +135,9 @@ name = "top mounted magazine" icon_state = "smg_top" mag_type = MAGAZINE - ammo_type = /obj/item/ammo_casing/pistol/small + ammo_type = /obj/item/projectile/bullet/smg/small matter = list(MATERIAL_STEEL = 1200) - caliber = CALIBER_PISTOL_SMALL + caliber = CALIBER_SMG_SMALL max_ammo = 20 multiple_sprites = 1 @@ -142,26 +146,45 @@ /obj/item/ammo_magazine/smg_top/rubber labels = list("rubber") - ammo_type = /obj/item/ammo_casing/pistol/small/rubber + ammo_type = /obj/item/ammo_casing/smg/small/rubber /obj/item/ammo_magazine/smg_top/practice labels = list("practice") - ammo_type = /obj/item/ammo_casing/pistol/small/practice + ammo_type = /obj/item/ammo_casing/smg/small/practice /obj/item/ammo_magazine/smg - name = "box magazine" + name = "smg magazine" icon_state = "smg" origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE - caliber = CALIBER_PISTOL + caliber = CALIBER_SMG matter = list(MATERIAL_STEEL = 1500) - ammo_type = /obj/item/ammo_casing/pistol + ammo_type = /obj/item/ammo_casing/smg max_ammo = 20 multiple_sprites = 1 /obj/item/ammo_magazine/smg/empty initial_ammo = 0 +/obj/item/ammo_magazine/smg/flame + name = "submachine gun magazine (incendiary)" + ammo_type = /obj/item/ammo_casing/smg/flame + +/obj/item/ammo_magazine/proto_smg + name = "submachine gun magazine" + icon_state = CALIBER_SMG_FLECHETTE + origin_tech = list(TECH_COMBAT = 4) + mag_type = MAGAZINE + caliber = CALIBER_SMG_FLECHETTE + matter = list(MATERIAL_STEEL = 2000) + ammo_type = /obj/item/projectile/bullet/smg/flechette + max_ammo = 40 + multiple_sprites = 1 + +/obj/item/ammo_magazine/proto_smg/hp + name = "submachine gun magazine (HP)" + ammo_type = /obj/item/projectile/bullet/smg/flechette/hp + /obj/item/ammo_magazine/pistol name = "pistol magazine" icon_state = "pistol_mag" @@ -272,20 +295,19 @@ caliber = CALIBER_PISTOL_SMALL max_ammo = 8 -/obj/item/ammo_magazine/proto_smg - name = "submachine gun magazine" - icon_state = CALIBER_PISTOL_FLECHETTE - origin_tech = list(TECH_COMBAT = 4) - mag_type = MAGAZINE - caliber = CALIBER_PISTOL_FLECHETTE - matter = list(MATERIAL_STEEL = 2000) - ammo_type = /obj/item/ammo_casing/flechette - max_ammo = 40 - multiple_sprites = 1 +// SMG boxes +/obj/item/ammo_magazine/box/smg + name = "ammunition box" + icon_state = "smallpistol" + origin_tech = list(TECH_COMBAT = 2) + caliber = CALIBER_SMG + matter = list(MATERIAL_STEEL = 4500) + ammo_type = /obj/item/ammo_casing/smg + max_ammo = 60 -/obj/item/ammo_magazine/proto_smg/hp - name = "submachine gun magazine (HP)" - ammo_type = /obj/item/ammo_casing/flechette/hp +/obj/item/ammo_magazine/box/smg/small + caliber = CALIBER_SMG_SMALL + ammo_type = /obj/item/ammo_casing/smg/small /obj/item/ammo_magazine/gyrojet name = "microrocket magazine" diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 1289f1d9068..07e9feec749 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -1,3 +1,4 @@ +// Pistol /obj/item/ammo_casing/pistol desc = "A pistol bullet casing." caliber = CALIBER_PISTOL @@ -48,6 +49,7 @@ desc = "An antique pistol bullet casing. Somewhere between 9 and 11 mm in caliber." caliber = CALIBER_PISTOL_ANTIQUE +// Revolver /obj/item/ammo_casing/revolver desc = "A revolver bullet casing." icon_state = "magnumcasing" @@ -74,6 +76,51 @@ caliber = CALIBER_REVOLVER_HEAVY projectile_type = /obj/item/projectile/bullet/revolver/heavy +// SMG +/obj/item/ammo_casing/smg + desc = "An SMG bullet casing." + caliber = CALIBER_SMG + projectile_type = /obj/item/projectile/bullet/smg + icon_state = "pistolcasing" + spent_icon = "pistolcasing-spent" + +/obj/item/ammo_casing/smg/rubber + desc = "A rubber SMG bullet casing." + projectile_type = /obj/item/projectile/bullet/smg/rubber + icon_state = "pistolcasing_r" + +/obj/item/ammo_casing/smg/flame + desc = "An incendiary SMG bullet casing." + projectile_type = /obj/item/projectile/bullet/smg/flame + icon_state = "pistolcasing_fi" + +/obj/item/ammo_casing/smg/small + desc = "A small SMG bullet casing." + caliber = CALIBER_SMG_SMALL + projectile_type = /obj/item/projectile/bullet/smg/small + +/obj/item/ammo_casing/smg/small/rubber + desc = "A small rubber SMG bullet casing." + projectile_type = /obj/item/projectile/bullet/smg/small/rubber + icon_state = "pistolcasing_r" + +/obj/item/ammo_casing/smg/small/practice + desc = "A small practice SMG bullet casing." + projectile_type = /obj/item/projectile/bullet/smg/small/practice + icon_state = "pistolcasing_p" + +/obj/item/ammo_casing/smg/flechette + desc = "An SMG flechette casing." + caliber = CALIBER_SMG_FLECHETTE + projectile_type = /obj/item/projectile/bullet/smg/flechette + icon_state = "flechette-casing" + spent_icon = "flechette-casing-spent" + +/obj/item/ammo_casing/smg/flechette/hp + desc = "An SMG flechette (HP) casing." + projectile_type = /obj/item/projectile/bullet/smg/flechette/hp + +// Special /obj/item/ammo_casing/gyrojet desc = "A minirocket casing." caliber = CALIBER_GYROJET @@ -81,16 +128,7 @@ icon_state = "lcasing" spent_icon = "lcasing-spent" -/obj/item/ammo_casing/flechette - desc = "A flechette casing." - caliber = CALIBER_PISTOL_FLECHETTE - projectile_type = /obj/item/projectile/bullet/flechette - icon_state = "flechette-casing" - spent_icon = "flechette-casing-spent" - -/obj/item/ammo_casing/flechette/hp - projectile_type = /obj/item/projectile/bullet/flechette/hp - +// Shotgun /obj/item/ammo_casing/shotgun name = "shotgun slug" desc = "A shotgun slug." @@ -139,8 +177,8 @@ projectile_type = /obj/item/projectile/bullet/shotgun/beanbag matter = list(MATERIAL_STEEL = 180) -//Can stun in one hit if aimed at the head, but -//is blocked by clothing that stops tasers and is vulnerable to EMP +// Can stun in one hit if aimed at the head, but +// is blocked by clothing that stops tasers and is vulnerable to EMP /obj/item/ammo_casing/shotgun/stunshell name = "stun shell" desc = "An energy stun cartridge." @@ -154,7 +192,7 @@ if(prob(100/severity)) BB = null update_icon() -//Does not stun, only blinds, but has area of effect. +// Does not stun, only blinds, but has area of effect. /obj/item/ammo_casing/shotgun/flash name = "flash shell" desc = "A chemical shell used to signal distress or provide illumination." @@ -163,6 +201,7 @@ projectile_type = /obj/item/projectile/energy/flash/flare matter = list(MATERIAL_STEEL = 90, MATERIAL_GLASS = 90) +// Rifle /obj/item/ammo_casing/rifle desc = "A rifle bullet casing." caliber = CALIBER_RIFLE @@ -175,6 +214,7 @@ projectile_type = /obj/item/projectile/bullet/rifle/flame icon_state = "riflecasing_fi" +// Antimatter rifle /obj/item/ammo_casing/shell name = "shell casing" desc = "An antimaterial shell casing." @@ -194,6 +234,7 @@ desc = "An explosive antimaterial shell." projectile_type = /obj/item/projectile/bullet/rifle/shell/explosive +// "Military" rifle /obj/item/ammo_casing/rifle/military desc = "A military rifle bullet casing." caliber = CALIBER_RIFLE_MILITARY @@ -226,6 +267,7 @@ projectile_type = /obj/item/projectile/bullet/rifle/ak47/flame icon_state = "riflecasing_fi" +// Rocket launcher /obj/item/ammo_casing/rocket name = "rocket shell" desc = "An explosive designed to be fired from a launcher." @@ -243,6 +285,7 @@ desc = "A high explosive designed to be fired from a launcher." projectile_type = /obj/item/projectile/bullet/rocket/heavy +// The other stuff /obj/item/ammo_casing/cap name = "cap" desc = "A cap for children toys." diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 0ace66753e3..cdd394026d4 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -7,10 +7,10 @@ w_class = ITEM_SIZE_NORMAL bulk = -1 load_method = MAGAZINE - caliber = CALIBER_PISTOL_FLECHETTE + caliber = CALIBER_SMG_FLECHETTE origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 3) slot_flags = SLOT_BELT - ammo_type = /obj/item/ammo_casing/flechette + ammo_type = /obj/item/ammo_casing/smg/flechette magazine_type = /obj/item/ammo_magazine/proto_smg allowed_magazines = /obj/item/ammo_magazine/proto_smg multi_aim = 1 @@ -32,9 +32,9 @@ icon_state = "mpistolen" safety_icon = "safety" item_state = "mpistolen" - caliber = CALIBER_PISTOL + caliber = CALIBER_SMG origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ESOTERIC = 3) - ammo_type = /obj/item/ammo_casing/pistol + ammo_type = /obj/item/ammo_casing/smg magazine_type = /obj/item/ammo_magazine/machine_pistol allowed_magazines = /obj/item/ammo_magazine/machine_pistol //more damage compared to the wt550, smaller mag size one_hand_penalty = 2 @@ -70,7 +70,7 @@ safety_icon = "safety" w_class = ITEM_SIZE_LARGE force = 10 - caliber = CALIBER_PISTOL + caliber = CALIBER_SMG origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ESOTERIC = 8) slot_flags = SLOT_BELT|SLOT_BACK magazine_type = /obj/item/ammo_magazine/smg @@ -143,10 +143,10 @@ item_state = "wt550" safety_icon = "safety" w_class = ITEM_SIZE_NORMAL - caliber = CALIBER_PISTOL_SMALL + caliber = CALIBER_SMG_SMALL origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2) slot_flags = SLOT_BELT - ammo_type = /obj/item/ammo_casing/pistol/small + ammo_type = /obj/item/ammo_casing/smg/small load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/smg_top/rubber allowed_magazines = /obj/item/ammo_magazine/smg_top diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index ea84abb92f9..0a733b48150 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -118,7 +118,7 @@ if(Bump(M)) //Bump will make sure we don't hit a mob multiple times return -/* short-casing projectiles, like the kind used in pistols or SMGs */ +/* Short-casing projectiles, like the kind used in pistols or SMGs */ /obj/item/projectile/bullet/pistol fire_sound = 'sound/weapons/gunshot/gunshot_pistol.ogg' @@ -127,7 +127,7 @@ /obj/item/projectile/bullet/pistol/flame name = "incendiary bullet" - damage = 5 + damage = 25 /obj/item/projectile/bullet/pistol/flame/attack_mob(mob/living/target_mob, distance, miss_modifier) . = ..() @@ -186,22 +186,57 @@ distance_falloff = 2.5 armor_penetration = 15 +/* SMG bullets */ +/obj/item/projectile/bullet/smg + fire_sound = "gun_mp38" + damage = 25 + distance_falloff = 3 + armor_penetration = 10 + +/obj/item/projectile/bullet/smg/rubber + name = "rubber bullet" + damage_flags = 0 + damage = 5 + agony = 25 + embed = FALSE + +/obj/item/projectile/bullet/smg/flame + name = "incendiary bullet" + damage = 15 + +/obj/item/projectile/bullet/smg/flame/attack_mob(mob/living/target_mob, distance, miss_modifier) + . = ..() + if(target_mob.fire_stacks < 5) + target_mob.adjust_fire_stacks(1) + target_mob.IgniteMob() + +/obj/item/projectile/bullet/smg/small + damage = 18 + penetration_modifier = 1.2 + distance_falloff = 4 + +/obj/item/projectile/bullet/smg/small/rubber + name = "rubber bullet" + damage_flags = 0 + damage = 5 + agony = 15 + embed = FALSE + //4mm. Tiny, very low damage, does not embed, but has very high penetration. Only to be used for the experimental SMG. -/obj/item/projectile/bullet/flechette - fire_sound = 'sound/weapons/gunshot/mp38_1.ogg' - damage = 20 +/obj/item/projectile/bullet/smg/flechette + fire_sound = 'sound/weapons/gunshot/mp19.ogg' + damage = 12 penetrating = 1 armor_penetration = 70 embed = FALSE distance_falloff = 2 -// Higher damage, less AP -/obj/item/projectile/bullet/flechette/hp - fire_sound = 'sound/weapons/gunshot/mp38_2.ogg' - damage = 36 - armor_penetration = 20 +// Higher damage, no AP +/obj/item/projectile/bullet/smg/flechette/hp + damage = 30 + armor_penetration = 0 -/* shotgun projectiles */ +/* Shotgun projectiles */ /obj/item/projectile/bullet/shotgun name = "slug" @@ -276,7 +311,7 @@ /obj/item/projectile/bullet/rifle/t12 fire_sound = "gun_t12" - damage = 14 + damage = 18 armor_penetration = 85 /obj/item/projectile/bullet/rifle/t18 @@ -343,6 +378,9 @@ /obj/item/projectile/bullet/pistol/practice damage = 5 +/obj/item/projectile/bullet/smg/small/practice + damage = 5 + /obj/item/projectile/bullet/rifle/military/practice damage = 5 diff --git a/code/modules/psionics/equipment/null_ammo.dm b/code/modules/psionics/equipment/null_ammo.dm index fe812bd409a..07c069524b2 100644 --- a/code/modules/psionics/equipment/null_ammo.dm +++ b/code/modules/psionics/equipment/null_ammo.dm @@ -1,8 +1,8 @@ -/obj/item/projectile/revolver/medium/nullglass +/obj/item/projectile/bullet/revolver/medium/nullglass name = "nullglass bullet" shrapnel_type = /obj/item/material/shard/nullglass -/obj/item/projectile/revolver/medium/nullglass/on_hit(atom/target, blocked = 0, def_zone = null) +/obj/item/projectile/bullet/revolver/medium/nullglass/on_hit(atom/target, blocked = 0, def_zone = null) . = ..() var/mob/living/L = target if(L.psi) @@ -11,7 +11,7 @@ /obj/item/ammo_casing/revolver/medium/nullglass desc = "A revolver bullet casing with a nullglass coating." - projectile_type = /obj/item/projectile/revolver/medium/nullglass + projectile_type = /obj/item/projectile/bullet/revolver/medium/nullglass /obj/item/ammo_casing/revolver/medium/nullglass/disrupts_psionics() return src diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 067b9e5df4e9d5c42d55492d4ac1a3d983d3da22..672f84bfa31908e650b85de84f8c5e3f33895547 100644 GIT binary patch delta 1030 zcmV+h1o``j*a3~$0gxnrEP7N}bVOxyV{&P5bZKvH004NLm6^ekn>Y}L&*P_{k~3Su z5`sPWlA2U%4#~y7Q!>b)wFH!qH<`EJ12E%ZC)0l)srtG>e|Jmj=5zA(+xMrR$>Wcw z-M=PGcIcBsBLDibd-!FW*d>QV>~{~Hv27RUhbii4l0))o^4hr=T2HobKkXhG8>Zxt zl)HyZ(B4eRA<5olk+~}cgVW)CgOTYWf4{KcSD>lL3uHIAX1LvP*@s;EH%xvZ$vN+u z2?o<_kF)6eE3aDynr0lwX~}^L4xDpf$$y^t!XX zspfkC6GxQTTF@WAwV);3T5y*Qe`vokV6U6KZ1$?5{6!eB6u>e7O8`rMEcF2?r1wV% zN+sqj74$Nt_s4WkFF|^LMAVhu9|7H@_eVgI^Ub*%y5AJ z;n7I0zBPdNhW6Go&@|^bMzZRT7AzW&b1{d_{Y!#j)em%e|jZ>6rMT* zG<`F+9oYQo?U>J& zevJopSV2^Y=V1HRq_qw)*rqk<#o4yIGnDTeHabLlJlNJ`tu8~lV3{Euwak$2TxLk8 zFEeCnATwkFAv0u}Av0t$A~X7?tds&YRZ0PxDy0BTl~RDFN-027f29-AL&&jV~+B4sj z*cf`qrL&#R9@mh$Xv*1^tsmKdtH@IfF-ErBwT>2R%Kau2|cg+NY zX?DO_^!=6BEdxz6j^niCzy$}+Ik4owf&-%wnYH7Nf0 zF`=5gc8<%Zifuus#nyt(jjaVO(AI*^lC1@uDq9P7G^&ncgOi-7apJ{^6eoX1oak`k z!ior3%Uc6hg)AnV5?M?*H3IJ<|Cn&9WHI5C3A}5a1bu9sL<#JuCs6_sI*Aep%1M+! z98RJHq(6xgQ2QiGK;V-okxch(6^9Y!(gW-=&43zMQ6R+@lum(_1d3xJkt4nCY;UUh z9>ByACAJpy$8RlY3AYy9WdncOZw%P$W-pt)YAAmZ1}p`z48Rh=(jQBGKnm&UqfdID zO2}0z=rv03(*yna(tAW$={=yB^vLORzBzZJH_91HGy33INczosn)J=ZD%guNJQ_*T z*9P#W(B66mn&uqGNJ8Dwf<*(8+|l?h+1`3Uz4j>#KMg(ESU8}RR}z0n;i)q~w>M+k zNzMPg9rM|8d|oW(bm2g+lf%3&9O(57dOfqej+oPtwf=bPK?PP4^xT_>IbK1~ukoM` zD~Kxb6l~v`wALX8+q5RVINNr2hVpI0Mu$kx1sfgW1auBFM;G|a(cQz$(P!+;(H+Fh z(c4O+1FdwDf-&7wV?98i+Irh`az+DDnc(OXLNhzQ_w8mLe~J%n*42I~(mKoBP%M5ApWrmCk zWQL3$WQL3}WQL4HWJX_&Od zZiwCBz!~NX477{SFvl;@)V{#LF!2Qjn$j28>u`PbTM<3VNsHQ9x{Dhjs&;lnet3ag z?JP328bPjhc0_)ffn4qEi2POqx!Tzg`SAvFwX^TE(z{@O+rD|rHP0pjW15&9kZw0- z2c-AEN_wBsS6NUXO|ZU7rzRUKW*GYHH?R*#xqQv}Yz vn3ag!5xRn$M|iy}>huI`>hE{vACs>?9+HRekNdyJV&EnvJLLMaSp>9apm70U diff --git a/sound/weapons/gunshot/mp19.ogg b/sound/weapons/gunshot/mp19.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6820c70a4b1985e65cc622c3473545da350cff97 GIT binary patch literal 16764 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 literal 0 HcmV?d00001