diff --git a/code/__DEFINES/~skyrat_defines/sound.dm b/code/__DEFINES/~skyrat_defines/sound.dm new file mode 100644 index 00000000000..378e55d41e1 --- /dev/null +++ b/code/__DEFINES/~skyrat_defines/sound.dm @@ -0,0 +1,13 @@ + +/** + * Sound effect defines, used in get_sfx. + */ +#define SFX_KEYBOARD "keyboard" + +// Bullet impact types +#define SFX_BULLET_IMPACT_ICE "bullet_impact_ice" +#define SFX_BULLET_IMPACT_WOOD "bullet_impact_wood" +#define SFX_BULLET_IMPACT_METAL "bullet_impact_metal" +#define SFX_BULLET_IMPACT_GLASS "bullet_impact_glass" +#define SFX_BULLET_IMPACT_CONCRETE "bullet_impact_concrete" +#define SFX_BULLET_IMPACT_FLESH "bullet_impact_flesh" diff --git a/code/datums/martial/boxing.dm b/code/datums/martial/boxing.dm index 186313c3c26..f2693a8a51d 100644 --- a/code/datums/martial/boxing.dm +++ b/code/datums/martial/boxing.dm @@ -31,9 +31,14 @@ var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.zone_selected)) var/armor_block = D.run_armor_check(affecting, MELEE) - - playsound(D.loc, species.attack_sound, 25, TRUE, -1) - + // SKYRAT EDIT CHANGE + var/sound/attack_sound + if(!species.attack_sound) + attack_sound = get_sfx("punch") + else + attack_sound = species.attack_sound + playsound(D.loc, attack_sound, 25, TRUE, -1) + //SKYRAT EDIT END D.visible_message(span_danger("[A] [atk_verb]ed [D]!"), \ span_userdanger("You're [atk_verb]ed by [A]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, A) to_chat(A, span_danger("You [atk_verb]ed [D]!")) diff --git a/code/game/sound.dm b/code/game/sound.dm index 3b68359d27e..92419e892b3 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -209,15 +209,12 @@ distance_multiplier - Can be used to multiply the distance at which the sound is /proc/get_sfx(soundin) if(istext(soundin)) + soundin = get_sfx_skyrat(soundin) //SKYRAT EDIT ADDITION - This overrides the default sound effects too, so use it to modularly change a sound effect output. switch(soundin) if ("shatter") soundin = pick('sound/effects/glassbr1.ogg','sound/effects/glassbr2.ogg','sound/effects/glassbr3.ogg') if ("explosion") - soundin = pick( - 'modular_skyrat/master_files/sound/blackmesa/explosions/explode1.ogg', 'modular_skyrat/master_files/sound/blackmesa/explosions/explode2.ogg', - 'modular_skyrat/master_files/sound/blackmesa/explosions/explode3.ogg', 'modular_skyrat/master_files/sound/blackmesa/explosions/explode4.ogg', - 'modular_skyrat/master_files/sound/blackmesa/explosions/explode5.ogg', 'modular_skyrat/master_files/sound/blackmesa/explosions/explode6.ogg', - 'modular_skyrat/master_files/sound/blackmesa/explosions/explode7.ogg')//soundin = pick('sound/effects/explosion1.ogg','sound/effects/explosion2.ogg') SKYRAT EDIT CHANGE + soundin = pick('sound/effects/explosion1.ogg','sound/effects/explosion2.ogg') if ("explosion_creaking") soundin = pick('sound/effects/explosioncreak1.ogg', 'sound/effects/explosioncreak2.ogg') if ("hull_creaking") diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 2641011b16c..deb9fc4273a 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -204,7 +204,7 @@ return if(check_block()) //everybody is kung fu fighting return - playsound(loc, user.dna.species.attack_sound, 25, TRUE, -1) + playsound(loc, get_sfx("punch"), 25, TRUE, -1) //SKYRAT EDIT CHANGE visible_message(span_danger("[user] [hulk_verb]ed [src]!"), \ span_userdanger("[user] [hulk_verb]ed [src]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, user) to_chat(user, span_danger("You [hulk_verb] [src]!")) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 21d49827a70..b41b62c8f43 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -161,7 +161,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/attack_verb = "punch" /// The visual effect of the attack. var/attack_effect = ATTACK_EFFECT_PUNCH - var/sound/attack_sound = 'sound/weapons/punch1.ogg' + var/sound/attack_sound //SKYRAT EDIT CHANGE var/sound/miss_sound = 'sound/weapons/punchmiss.ogg' ///What gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm] @@ -1430,7 +1430,14 @@ GLOBAL_LIST_EMPTY(features_by_species) var/armor_block = target.run_armor_check(affecting, MELEE) - playsound(target.loc, user.dna.species.attack_sound, 25, TRUE, -1) + // SKYRAT EDIT CHANGE + var/sound/attack_sound + if(!user.dna.species.attack_sound) + attack_sound = get_sfx("punch") + else + attack_sound = user.dna.species.attack_sound + playsound(target.loc, attack_sound, 25, TRUE, -1) + // SKYRAT EDTI END target.visible_message(span_danger("[user] [atk_verb]ed [target]!"), \ span_userdanger("You're [atk_verb]ed by [user]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, user) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 6a5ca4da46f..5ee5a745d5e 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -15,7 +15,7 @@ layer = MOB_LAYER plane = GAME_PLANE_FOV_HIDDEN //The sound this plays on impact. - var/hitsound = 'sound/weapons/pierce.ogg' + var/hitsound // SKYRAT EDIT CHANGE var/hitsound_wall = "" resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF @@ -214,6 +214,7 @@ * blocked - percentage of hit blocked * pierce_hit - are we piercing through or regular hitting */ +/* SKYRAT EDIT REMOVAL - MOVED TO MASTER_FILES PROJECTILE.DM /obj/projectile/proc/on_hit(atom/target, blocked = FALSE, pierce_hit) if(fired_from) SEND_SIGNAL(fired_from, COMSIG_PROJECTILE_ON_HIT, firer, target, Angle) @@ -302,7 +303,7 @@ L.log_message("has been shot by [firer] with [src]", LOG_ATTACK, color="orange") return BULLET_ACT_HIT - +*/ /obj/projectile/proc/vol_by_damage() if(src.damage) return clamp((src.damage) * 0.67, 30, 100)// Multiply projectile damage by 0.67, then CLAMP the value between 30 and 100 diff --git a/modular_skyrat/master_files/code/game/sound.dm b/modular_skyrat/master_files/code/game/sound.dm new file mode 100644 index 00000000000..29bb6391f56 --- /dev/null +++ b/modular_skyrat/master_files/code/game/sound.dm @@ -0,0 +1,214 @@ +/proc/get_sfx_skyrat(soundin) + if(istext(soundin)) + switch(soundin) + if(SFX_KEYBOARD) + soundin = pick( + 'modular_skyrat/modules/aesthetics/computer/sound/keypress1.ogg', + 'modular_skyrat/modules/aesthetics/computer/sound/keypress2.ogg', + 'modular_skyrat/modules/aesthetics/computer/sound/keypress3.ogg', + 'modular_skyrat/modules/aesthetics/computer/sound/keypress4.ogg', + 'modular_skyrat/modules/aesthetics/computer/sound/keystroke4.ogg', + ) + if(SFX_BULLET_IMPACT_METAL) //This is the one that will be used most, it is extensive. + soundin = pick( + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_01.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_02.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_03.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_04.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_05.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_06.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_07.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_08.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_09.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_10.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_11.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_12.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_13.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_14.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_15.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_16.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_17.ogg', + ) + if(SFX_BULLET_IMPACT_FLESH) + soundin = pick( + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_01.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_02.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_03.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_04.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_05.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_06.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_07.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_08.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_09.ogg', + ) + if(SFX_BULLET_IMPACT_ICE) + soundin = pick( + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_01.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_02.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_03.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_04.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_05.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_06.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_07.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_08.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_09.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_10.ogg', + ) + if(SFX_BULLET_IMPACT_WOOD) + soundin = pick( + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_01.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_02.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_03.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_04.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_05.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_06.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_07.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_08.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_09.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_10.ogg', + ) + if(SFX_BULLET_IMPACT_CONCRETE) + soundin = pick( + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_01.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_02.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_03.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_04.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_05.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_06.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_07.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_08.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_09.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_10.ogg', + ) + if(SFX_BULLET_IMPACT_GLASS) + soundin = pick( + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_01.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_02.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_03.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_04.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_05.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_06.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_07.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_08.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_09.ogg', + 'modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_10.ogg', + ) + if("punch") + soundin = pick('modular_skyrat/master_files/sound/weapons/punch1.ogg', 'modular_skyrat/master_files/sound/weapons/punch3.ogg') + if ("explosion") + soundin = pick( + 'modular_skyrat/master_files/sound/blackmesa/explosions/explode1.ogg', + 'modular_skyrat/master_files/sound/blackmesa/explosions/explode2.ogg', + 'modular_skyrat/master_files/sound/blackmesa/explosions/explode3.ogg', + 'modular_skyrat/master_files/sound/blackmesa/explosions/explode4.ogg', + 'modular_skyrat/master_files/sound/blackmesa/explosions/explode5.ogg', + 'modular_skyrat/master_files/sound/blackmesa/explosions/explode6.ogg', + 'modular_skyrat/master_files/sound/blackmesa/explosions/explode7.ogg', + ) + return soundin + +// This is an atom level variable to prevent extensive typechecking for impacts. +/atom + // The sound we make if hit. + var/impact_sound = SFX_BULLET_IMPACT_METAL + + +// TURFS +/turf/closed/wall/ice + impact_sound = SFX_BULLET_IMPACT_ICE + +/turf/closed/wall/mineral/snow + impact_sound = SFX_BULLET_IMPACT_ICE + +/turf/closed/wall/mineral/wood + impact_sound = SFX_BULLET_IMPACT_WOOD + +/turf/closed/wall/mineral/bamboo + impact_sound = SFX_BULLET_IMPACT_WOOD + +/turf/closed/wall/mineral/sandstone + impact_sound = SFX_BULLET_IMPACT_CONCRETE + +/turf/closed/wall/vault/rock + impact_sound = SFX_BULLET_IMPACT_CONCRETE + +/turf/closed/wall/vault/sandstone + impact_sound = SFX_BULLET_IMPACT_CONCRETE + +/turf/closed/wall/rock + impact_sound = SFX_BULLET_IMPACT_CONCRETE + +/turf/closed/wall/mineral/diamond + impact_sound = SFX_BULLET_IMPACT_GLASS + +/turf/closed/wall/mineral/plasma + impact_sound = SFX_BULLET_IMPACT_GLASS + +// MOBS +/mob/living + impact_sound = SFX_BULLET_IMPACT_FLESH + +// STRUCTURES +/obj/structure/window + impact_sound = SFX_BULLET_IMPACT_GLASS + +/obj/structure/table/glass + impact_sound = SFX_BULLET_IMPACT_GLASS + +/obj/structure/table/reinforced/rglass + impact_sound = SFX_BULLET_IMPACT_GLASS + +/obj/structure/table/reinforced/plasmarglass + impact_sound = SFX_BULLET_IMPACT_GLASS + +/obj/structure/table/reinforced/plastitaniumglass + impact_sound = SFX_BULLET_IMPACT_GLASS + +/obj/structure/table/reinforced/titaniumglass + impact_sound = SFX_BULLET_IMPACT_GLASS + +/obj/structure/table/wood + impact_sound = SFX_BULLET_IMPACT_WOOD + +/obj/structure/barricade/wooden + impact_sound = SFX_BULLET_IMPACT_WOOD + +/obj/structure/chair/wood + impact_sound = SFX_BULLET_IMPACT_WOOD + +/obj/structure/closet/crate/wooden + impact_sound = SFX_BULLET_IMPACT_WOOD + +/obj/structure/door_assembly/door_assembly_wood + impact_sound = SFX_BULLET_IMPACT_WOOD + +/obj/structure/falsewall/wood + impact_sound = SFX_BULLET_IMPACT_WOOD + +/obj/structure/table_frame/wood + impact_sound = SFX_BULLET_IMPACT_WOOD + +/obj/structure/deployable_barricade/wooden + impact_sound = SFX_BULLET_IMPACT_WOOD + +/obj/structure/statue/snow + impact_sound = SFX_BULLET_IMPACT_ICE + +/obj/structure/deployable_barricade/snow + impact_sound = SFX_BULLET_IMPACT_ICE + + + +// MACHINERY +/obj/machinery/door/window + impact_sound = SFX_BULLET_IMPACT_GLASS + +/obj/machinery/computer + impact_sound = SFX_BULLET_IMPACT_GLASS + +/obj/machinery/door/airlock/wood + impact_sound = SFX_BULLET_IMPACT_WOOD + +/obj/machinery/computer/security/wooden_tv + impact_sound = SFX_BULLET_IMPACT_WOOD + diff --git a/modular_skyrat/master_files/sound/weapons/punch1.ogg b/modular_skyrat/master_files/sound/weapons/punch1.ogg new file mode 100644 index 00000000000..8d77cb496c1 Binary files /dev/null and b/modular_skyrat/master_files/sound/weapons/punch1.ogg differ diff --git a/modular_skyrat/master_files/sound/weapons/punch2.ogg b/modular_skyrat/master_files/sound/weapons/punch2.ogg new file mode 100644 index 00000000000..742d77c09d0 Binary files /dev/null and b/modular_skyrat/master_files/sound/weapons/punch2.ogg differ diff --git a/modular_skyrat/master_files/sound/weapons/punch3.ogg b/modular_skyrat/master_files/sound/weapons/punch3.ogg new file mode 100644 index 00000000000..40e53e65d70 Binary files /dev/null and b/modular_skyrat/master_files/sound/weapons/punch3.ogg differ diff --git a/modular_skyrat/modules/aesthetics/computer/code/computer.dm b/modular_skyrat/modules/aesthetics/computer/code/computer.dm index 16ce7bd0891..37a029c9f22 100644 --- a/modular_skyrat/modules/aesthetics/computer/code/computer.dm +++ b/modular_skyrat/modules/aesthetics/computer/code/computer.dm @@ -16,9 +16,3 @@ playsound(src, get_sfx_skyrat(clicksound), clickvol) . = ..() -/proc/get_sfx_skyrat(soundin) - if(istext(soundin)) - switch(soundin) - if("keyboard") - soundin = pick('modular_skyrat/modules/aesthetics/computer/sound/keypress1.ogg','modular_skyrat/modules/aesthetics/computer/sound/keypress2.ogg','modular_skyrat/modules/aesthetics/computer/sound/keypress3.ogg','modular_skyrat/modules/aesthetics/computer/sound/keypress4.ogg', 'modular_skyrat/modules/aesthetics/computer/sound/keystroke4.ogg') - return soundin diff --git a/modular_skyrat/modules/gunsgalore/code/projectile.dm b/modular_skyrat/modules/gunsgalore/code/projectile.dm new file mode 100644 index 00000000000..2aadd067a5b --- /dev/null +++ b/modular_skyrat/modules/gunsgalore/code/projectile.dm @@ -0,0 +1,94 @@ + +/** + * Called when the projectile hits something + * + * @params + * target - thing hit + * blocked - percentage of hit blocked + * pierce_hit - are we piercing through or regular hitting + */ +/obj/projectile/proc/on_hit(atom/target, blocked = FALSE, pierce_hit) + if(fired_from) + SEND_SIGNAL(fired_from, COMSIG_PROJECTILE_ON_HIT, firer, target, Angle) + // i know that this is probably more with wands and gun mods in mind, but it's a bit silly that the projectile on_hit signal doesn't ping the projectile itself. + // maybe we care what the projectile thinks! See about combining these via args some time when it's not 5AM + var/obj/item/bodypart/hit_limb + if(isliving(target)) + var/mob/living/L = target + hit_limb = L.check_limb_hit(def_zone) + SEND_SIGNAL(src, COMSIG_PROJECTILE_SELF_ON_HIT, firer, target, Angle, hit_limb) + + if(QDELETED(src)) // in case one of the above signals deleted the projectile for whatever reason + return + var/turf/target_loca = get_turf(target) + + var/hitx + var/hity + if(target == original) + hitx = target.pixel_x + p_x - 16 + hity = target.pixel_y + p_y - 16 + else + hitx = target.pixel_x + rand(-8, 8) + hity = target.pixel_y + rand(-8, 8) + + var/impact_sound + if(hitsound) + impact_sound = hitsound + else + impact_sound = target.impact_sound + get_sfx() + playsound(src, get_sfx_skyrat(impact_sound), vol_by_damage(), TRUE, -1) + + if(!nodamage && (damage_type == BRUTE || damage_type == BURN) && iswallturf(target_loca) && prob(75)) + var/turf/closed/wall/W = target_loca + if(impact_effect_type && !hitscan) + new impact_effect_type(target_loca, hitx, hity) + + W.add_dent(WALL_DENT_SHOT, hitx, hity) + + return BULLET_ACT_HIT + + if(!isliving(target)) + if(impact_effect_type && !hitscan) + new impact_effect_type(target_loca, hitx, hity) + return BULLET_ACT_HIT + + var/mob/living/L = target + + if(blocked != 100) // not completely blocked + if(damage && L.blood_volume && damage_type == BRUTE) + var/splatter_dir = dir + if(starting) + splatter_dir = get_dir(starting, target_loca) + if(isalien(L)) + new /obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter(target_loca, splatter_dir) + else + new /obj/effect/temp_visual/dir_setting/bloodsplatter(target_loca, splatter_dir) + if(prob(33)) + L.add_splatter_floor(target_loca) + else if(impact_effect_type && !hitscan) + new impact_effect_type(target_loca, hitx, hity) + + var/organ_hit_text = "" + var/limb_hit = hit_limb + if(limb_hit) + organ_hit_text = " in \the [parse_zone(limb_hit)]" + else if(suppressed && suppressed != SUPPRESSED_VERY) + to_chat(L, span_userdanger("You're shot by \a [src][organ_hit_text]!")) + else + L.visible_message(span_danger("[L] is hit by \a [src][organ_hit_text]!"), \ + span_userdanger("You're hit by \a [src][organ_hit_text]!"), null, COMBAT_MESSAGE_RANGE) + L.on_hit(src) + + var/reagent_note + if(reagents?.reagent_list) + reagent_note = " REAGENTS:" + for(var/datum/reagent/R in reagents.reagent_list) + reagent_note += "[R.name] ([num2text(R.volume)])" + + if(ismob(firer)) + log_combat(firer, L, "shot", src, reagent_note) + else + L.log_message("has been shot by [firer] with [src]", LOG_ATTACK, color="orange") + + return BULLET_ACT_HIT diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_01.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_01.ogg new file mode 100644 index 00000000000..9981ac2bc54 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_01.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_02.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_02.ogg new file mode 100644 index 00000000000..b422251bd67 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_02.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_03.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_03.ogg new file mode 100644 index 00000000000..eb7bf4ee746 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_03.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_04.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_04.ogg new file mode 100644 index 00000000000..2f59ec1317b Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_04.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_05.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_05.ogg new file mode 100644 index 00000000000..2b0bc6ee898 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_05.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_06.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_06.ogg new file mode 100644 index 00000000000..294e291bd7f Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_06.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_07.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_07.ogg new file mode 100644 index 00000000000..f5e38f5c87e Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_07.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_08.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_08.ogg new file mode 100644 index 00000000000..194bd52dc75 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_08.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_09.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_09.ogg new file mode 100644 index 00000000000..e63c9e3d431 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_flesh_09.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_01.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_01.ogg new file mode 100644 index 00000000000..30f6f1fb612 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_01.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_02.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_02.ogg new file mode 100644 index 00000000000..472f98e9801 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_02.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_03.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_03.ogg new file mode 100644 index 00000000000..25c6df47a92 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_03.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_04.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_04.ogg new file mode 100644 index 00000000000..b525f665c41 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_04.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_05.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_05.ogg new file mode 100644 index 00000000000..89ff21723aa Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_05.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_06.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_06.ogg new file mode 100644 index 00000000000..26cacb99076 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_06.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_07.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_07.ogg new file mode 100644 index 00000000000..110a45074d1 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_07.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_08.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_08.ogg new file mode 100644 index 00000000000..ef17c4484ec Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_08.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_09.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_09.ogg new file mode 100644 index 00000000000..33e48821f9f Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_09.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_10.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_10.ogg new file mode 100644 index 00000000000..d0db508fa91 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_glass_10.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_01.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_01.ogg new file mode 100644 index 00000000000..1a04e7688d6 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_01.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_02.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_02.ogg new file mode 100644 index 00000000000..770e9e242a7 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_02.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_03.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_03.ogg new file mode 100644 index 00000000000..c0eb0bf1323 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_03.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_04.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_04.ogg new file mode 100644 index 00000000000..83cbc57ebd8 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_04.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_05.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_05.ogg new file mode 100644 index 00000000000..6d9a6730465 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_05.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_06.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_06.ogg new file mode 100644 index 00000000000..2a982a56edb Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_06.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_07.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_07.ogg new file mode 100644 index 00000000000..6540dc6b05e Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_07.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_08.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_08.ogg new file mode 100644 index 00000000000..bbe3b92f5b9 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_08.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_09.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_09.ogg new file mode 100644 index 00000000000..ade4e56b390 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_09.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_10.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_10.ogg new file mode 100644 index 00000000000..8bbeb668f84 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_masonry_10.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_01.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_01.ogg new file mode 100644 index 00000000000..1a706abd90c Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_01.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_02.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_02.ogg new file mode 100644 index 00000000000..ee938e2a593 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_02.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_03.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_03.ogg new file mode 100644 index 00000000000..9ede9f16129 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_03.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_04.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_04.ogg new file mode 100644 index 00000000000..bf6824c8cef Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_04.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_05.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_05.ogg new file mode 100644 index 00000000000..a45e3d6204e Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_05.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_06.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_06.ogg new file mode 100644 index 00000000000..53877b5e8ce Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_06.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_07.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_07.ogg new file mode 100644 index 00000000000..7fc8c401c13 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_07.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_08.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_08.ogg new file mode 100644 index 00000000000..5e9be1e273d Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_08.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_09.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_09.ogg new file mode 100644 index 00000000000..0ec94bc3066 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_09.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_10.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_10.ogg new file mode 100644 index 00000000000..93cf7eeba3d Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_10.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_11.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_11.ogg new file mode 100644 index 00000000000..9041f494f4f Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_11.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_12.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_12.ogg new file mode 100644 index 00000000000..62daaddb45e Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_12.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_13.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_13.ogg new file mode 100644 index 00000000000..f285cd0adff Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_13.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_14.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_14.ogg new file mode 100644 index 00000000000..2c0c764eaab Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_14.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_15.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_15.ogg new file mode 100644 index 00000000000..34856ed0c71 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_15.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_16.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_16.ogg new file mode 100644 index 00000000000..bf6a0776010 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_16.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_17.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_17.ogg new file mode 100644 index 00000000000..85ff554c0c0 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_metal_17.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_01.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_01.ogg new file mode 100644 index 00000000000..4da742bf146 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_01.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_02.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_02.ogg new file mode 100644 index 00000000000..21572daf13d Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_02.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_03.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_03.ogg new file mode 100644 index 00000000000..fb8e1dcb9da Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_03.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_04.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_04.ogg new file mode 100644 index 00000000000..2bfb46d958b Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_04.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_05.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_05.ogg new file mode 100644 index 00000000000..3752f95b3d6 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_05.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_06.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_06.ogg new file mode 100644 index 00000000000..cac69cc7404 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_06.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_07.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_07.ogg new file mode 100644 index 00000000000..d44986c42d2 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_07.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_08.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_08.ogg new file mode 100644 index 00000000000..3f1bd925e8c Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_08.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_09.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_09.ogg new file mode 100644 index 00000000000..8aeee554964 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_09.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_10.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_10.ogg new file mode 100644 index 00000000000..eb1de42cfe8 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_snow_10.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_01.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_01.ogg new file mode 100644 index 00000000000..559310853f9 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_01.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_02.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_02.ogg new file mode 100644 index 00000000000..852c1d875cd Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_02.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_03.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_03.ogg new file mode 100644 index 00000000000..440681e0da4 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_03.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_04.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_04.ogg new file mode 100644 index 00000000000..89ddd21e2bb Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_04.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_05.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_05.ogg new file mode 100644 index 00000000000..3a66b3f32c8 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_05.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_06.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_06.ogg new file mode 100644 index 00000000000..cf54f8cc8f5 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_06.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_07.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_07.ogg new file mode 100644 index 00000000000..601fe0bb766 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_07.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_08.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_08.ogg new file mode 100644 index 00000000000..c39317d52ba Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_08.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_09.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_09.ogg new file mode 100644 index 00000000000..38cb3c5c5c4 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_09.ogg differ diff --git a/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_10.ogg b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_10.ogg new file mode 100644 index 00000000000..eed04902813 Binary files /dev/null and b/modular_skyrat/modules/gunsgalore/sound/impact/impact_wood_10.ogg differ diff --git a/tgstation.dme b/tgstation.dme index 150995de274..3b1bb2f2592 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -295,6 +295,7 @@ #include "code\__DEFINES\~skyrat_defines\say.dm" #include "code\__DEFINES\~skyrat_defines\security_alerts.dm" #include "code\__DEFINES\~skyrat_defines\signals.dm" +#include "code\__DEFINES\~skyrat_defines\sound.dm" #include "code\__DEFINES\~skyrat_defines\span.dm" #include "code\__DEFINES\~skyrat_defines\teshari_clothing_paths.dm" #include "code\__DEFINES\~skyrat_defines\traits.dm" @@ -4385,6 +4386,7 @@ #include "modular_skyrat\master_files\code\datums\traits\good.dm" #include "modular_skyrat\master_files\code\datums\traits\negative.dm" #include "modular_skyrat\master_files\code\datums\traits\neutral.dm" +#include "modular_skyrat\master_files\code\game\sound.dm" #include "modular_skyrat\master_files\code\game\effects\spawners\structure.dm" #include "modular_skyrat\master_files\code\game\effects\spawners\random\structure.dm" #include "modular_skyrat\master_files\code\game\gamemodes\dynamic.dm" @@ -4916,6 +4918,7 @@ #include "modular_skyrat\modules\gunpoint\code\gunpoint_datum.dm" #include "modular_skyrat\modules\gunpoint\code\gunpoint_radial.dm" #include "modular_skyrat\modules\gunsafety\code\gun_safety.dm" +#include "modular_skyrat\modules\gunsgalore\code\projectile.dm" #include "modular_skyrat\modules\gunsgalore\code\ammo\ammo.dm" #include "modular_skyrat\modules\gunsgalore\code\guns\akm.dm" #include "modular_skyrat\modules\gunsgalore\code\guns\ballistic_master.dm"