From 11c2ec6b48c018d74d9f259d9ef33788a298cb36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BA=D1=82=D0=BE?= <65656972+xDanilcusx@users.noreply.github.com> Date: Mon, 25 Mar 2024 22:58:03 +0300 Subject: [PATCH] Crusher SFX (#151) --- .../mob/living/carbon/xenomorph/Xenomorph.dm | 7 +++++++ .../abilities/crusher/crusher_abilities.dm | 6 +++--- .../abilities/crusher/crusher_powers.dm | 3 ++- .../living/carbon/xenomorph/castes/Crusher.dm | 8 +++++++- sound/voice/alien_crusher_death.ogg | Bin 0 -> 20401 bytes 5 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 sound/voice/alien_crusher_death.ogg diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index 078ad96536..33ed75f36e 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -732,6 +732,13 @@ +/mob/living/carbon/xenomorph/Moved(atom/oldloc, direction, Forced) + . = ..() + if(!client) // We are not, in fact, counted steps for AI xeno in /client/Move() + life_steps_total++ + + + /mob/living/carbon/xenomorph/slip(slip_source_name, stun_level, weaken_level, run_only, override_noslip, slide_steps) return FALSE diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_abilities.dm index 24db82fea8..a8ce0e60c1 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_abilities.dm @@ -280,10 +280,10 @@ noise_timer = noise_timer ? --noise_timer : 3 if(noise_timer == 3) - playsound(xeno, 'sound/effects/alien_footstep_charge1.ogg', 50) + playsound(xeno, 'sound/effects/alien_footstep_charge1.ogg', 100) - for(var/mob/living/carbon/human/Mob in range(10, xeno)) - shake_camera(Mob, 2, 1) + for(var/mob/living/carbon/human/Mob in range(14, xeno)) + shake_camera(Mob, 2, 2) for(var/mob/living/carbon/human/Mob in xeno.loc) if(Mob.body_position == LYING_DOWN && Mob.stat != DEAD) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_powers.dm index ca313a69ef..b5dc656d87 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_powers.dm @@ -109,6 +109,7 @@ if (!check_and_use_plasma_owner()) return + playsound(get_turf(xeno_owner), 'sound/voice/alien_crusher_spawn.ogg', 75) apply_cooldown() ADD_TRAIT(xeno_owner, TRAIT_IMMOBILIZED, TRAIT_SOURCE_ABILITY("Stomp")) @@ -122,7 +123,7 @@ REMOVE_TRAIT(xeno_owner, TRAIT_IMMOBILIZED, TRAIT_SOURCE_ABILITY("Stomp")) xeno_owner.anchored = FALSE - playsound(get_turf(xeno_owner), 'sound/effects/bang.ogg', 25, 0) + playsound(get_turf(xeno_owner), 'sound/effects/alien_footstep_charge3.ogg', 75) xeno_owner.visible_message(SPAN_XENODANGER("[xeno_owner] smashes into the ground!"), SPAN_XENODANGER("You smash into the ground!")) xeno_owner.create_stomp() diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Crusher.dm b/code/modules/mob/living/carbon/xenomorph/castes/Crusher.dm index d326a4d061..780a46ca12 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Crusher.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Crusher.dm @@ -81,13 +81,19 @@ /mob/living/carbon/xenomorph/crusher/Initialize(mapload, mob/living/carbon/xenomorph/oldXeno, h_number, ai_hard_off = FALSE) . = ..() + AddComponent(/datum/component/footstep, 2, 50, 15, 1, "metalbang") - playsound(src, 'sound/voice/alien_crusher_spawn.ogg', 100, FALSE, 30) + playsound(src, 'sound/voice/alien_death_unused.ogg', 100, TRUE, 30) for(var/mob/current_mob as anything in get_mobs_in_z_level_range(get_turf(src), 30) - src) var/relative_dir = get_dir(current_mob, src) var/final_dir = dir2text(relative_dir) to_chat(current_mob, SPAN_HIGHDANGER("You hear a terrible roar coming from [final_dir ? "the [final_dir]" : "nearby"] as the ground shakes!")) +/mob/living/carbon/xenomorph/crusher/death(cause, gibbed) + . = ..() + playsound(src, 'sound/voice/alien_crusher_death.ogg', 50, FALSE, 15) + + // Refactored to handle all of crusher's interactions with object during charge. /mob/living/carbon/xenomorph/proc/handle_collision(atom/target) if(!target) diff --git a/sound/voice/alien_crusher_death.ogg b/sound/voice/alien_crusher_death.ogg new file mode 100644 index 0000000000000000000000000000000000000000..67629295be24da6e84d949fe7215d3a4bc3b3722 GIT binary patch literal 20401 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 M4cu#Q*$y5g05b{0vj6}9 literal 0 HcmV?d00001