From feee8a2fb318a76ca7067f94edc636e94eb414dc Mon Sep 17 00:00:00 2001 From: Fghj240 <43589874+Fghj240@users.noreply.github.com> Date: Mon, 1 Dec 2025 15:27:48 -0800 Subject: [PATCH] Shoving someone into a wall doesn't say you knocked them down if you didn't (#94241) ## About The Pull Request If you shove someone into a wall and they're immune to knockdowns, it won't say that you knocked them down. If you shovestun someone but they're immune to paralysis, it won't say you kicked them onto their side. ## Why It's Good For The Game bugfix ## Changelog :cl: fix: Getting shoved into a wall while stun immune no longer sends a message saying you were knocked down /:cl: --------- Co-authored-by: Fghj240 --- code/modules/mob/living/living_defense.dm | 26 +++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 4cd37546285..555a31bf53e 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -802,22 +802,22 @@ if(!(shove_flags & SHOVE_DIRECTIONAL_BLOCKED) && (SEND_SIGNAL(target_shove_turf, COMSIG_LIVING_DISARM_COLLIDE, src, target, shove_flags, weapon) & COMSIG_LIVING_SHOVE_HANDLED)) return if((shove_flags & SHOVE_BLOCKED) && !(shove_flags & (SHOVE_KNOCKDOWN_BLOCKED|SHOVE_CAN_KICK_SIDE))) - target.Knockdown(SHOVE_KNOCKDOWN_SOLID, daze_amount = 3 SECONDS) - target.visible_message(span_danger("[name] shoves [target.name], knocking [target.p_them()] down!"), - span_userdanger("You're knocked down from a shove by [name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src) - to_chat(src, span_danger("You shove [target.name], knocking [target.p_them()] down!")) - log_combat(src, target, "shoved", "knocking them down[weapon ? " with [weapon]" : ""]") + var/knocked_down = target.Knockdown(SHOVE_KNOCKDOWN_SOLID, daze_amount = 3 SECONDS) + target.visible_message(span_danger("[name] shoves [target.name][knocked_down ? ", knocking [target.p_them()] down" : ""]!"), + span_userdanger("You[knocked_down ? "'re knocked down" : " resist falling down"] from a shove by [name]!"), span_hear("You hear aggressive shuffling [knocked_down ? "followed by a loud thud!" : ""]"), COMBAT_MESSAGE_RANGE, src) + to_chat(src, span_danger("You shove [target.name][knocked_down ? ", knocking [target.p_them()] down" : ""]!")) + log_combat(src, target, "shoved", "[knocked_down ? "knocking them down[weapon ? " with [weapon]" : ""]" : ""]") return if(shove_flags & SHOVE_CAN_KICK_SIDE) //KICK HIM IN THE NUTS - target.Paralyze(SHOVE_CHAIN_PARALYZE) - target.apply_status_effect(/datum/status_effect/no_side_kick) - target.visible_message(span_danger("[name] kicks [target.name] onto [target.p_their()] side!"), - span_userdanger("You're kicked onto your side by [name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src) - to_chat(src, span_danger("You kick [target.name] onto [target.p_their()] side!")) - addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/living, SetKnockdown), 0), SHOVE_CHAIN_PARALYZE) - log_combat(src, target, "kicks", "onto their side (paralyzing)") - return + if(target.Paralyze(SHOVE_CHAIN_PARALYZE)) + target.apply_status_effect(/datum/status_effect/no_side_kick) + target.visible_message(span_danger("[name] kicks [target.name] onto [target.p_their()] side!"), + span_userdanger("You're kicked onto your side by [name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src) + to_chat(src, span_danger("You kick [target.name] onto [target.p_their()] side!")) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/living, SetKnockdown), 0), SHOVE_CHAIN_PARALYZE) + log_combat(src, target, "kicks", "onto their side (paralyzing)") + return target.get_shoving_message(src, weapon, shove_flags)