From 14549f7251bf2a18b512f24704457696257071b3 Mon Sep 17 00:00:00 2001 From: Git-Nivrak <59925169+Git-Nivrak@users.noreply.github.com> Date: Thu, 20 Jun 2024 11:50:24 +0300 Subject: [PATCH] Better Queen shove (#6457) # About the pull request This PR make it so when the Queen tries to move to a tile occupied by another xeno of her hive it stuns them briefly, preventing bodyblock. This similar to King's shove but without it being able to stun humans or xenos of other hives. # Explain why it's good for the game Body block is not something you should be dealing with as Queen, Queen shove is nice but doesn't do a great job in some cases (e.g multiple xenos standing on the same tile) # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: balance: Queen will now briefly shove xenos if they are in a tile she is trying to move to, preventing bodyblock. /:cl: --------- Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> Co-authored-by: Vero <73014819+vero5123@users.noreply.github.com> --- code/modules/mob/living/carbon/xenomorph/castes/Queen.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm index 35d500b15816..532f77d1bec2 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm @@ -415,6 +415,14 @@ make_combat_effective() AddComponent(/datum/component/footstep, 2 , 35, 11, 4, "alien_footstep_large") + RegisterSignal(src, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(check_block)) + +/mob/living/carbon/xenomorph/queen/proc/check_block(mob/queen, turf/new_loc) + SIGNAL_HANDLER + for(var/mob/living/carbon/xenomorph/xeno in new_loc.contents) + if(xeno.hivenumber == hivenumber) + xeno.KnockDown((5 DECISECONDS) / GLOBAL_STATUS_MULTIPLIER) + playsound(src, 'sound/weapons/alien_knockdown.ogg', 25, 1) /mob/living/carbon/xenomorph/queen/generate_name() if(!nicknumber)