From 4bbf7ac4625d6b85a44edcdaa12662735482ab6e Mon Sep 17 00:00:00 2001 From: Venuska1117 <89580971+Venuska1117@users.noreply.github.com> Date: Fri, 27 Sep 2024 16:07:02 +0200 Subject: [PATCH 1/2] Revive best PR --- .../living/carbon/xenomorph/castes/Queen.dm | 2 ++ code/modules/mob/living/living.dm | 23 +++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm index 5c934693d695..fed0b8ede7c3 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm @@ -443,6 +443,8 @@ /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.pass_flags.flags_pass & PASS_MOB_THRU_XENO|PASS_MOB_THRU &! xeno.flags_pass_temp & PASS_MOB_THRU) + return if(xeno.hivenumber == hivenumber) xeno.KnockDown((5 DECISECONDS) / GLOBAL_STATUS_MULTIPLIER) playsound(src, 'sound/weapons/alien_knockdown.ogg', 25, 1) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 27697a8938a7..c7454ca940ac 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -388,20 +388,23 @@ if(loc && !loc.Adjacent(L.loc)) now_pushing = FALSE return - var/oldloc = loc - var/oldLloc = L.loc - L.add_temp_pass_flags(PASS_MOB_THRU) - add_temp_pass_flags(PASS_MOB_THRU) + if(!(L.pass_flags.flags_pass & PASS_MOB_THRU)) //if they already pass through mob thi stuff is unnecessary - L.Move(oldloc) - Move(oldLloc) + var/oldloc = loc + var/oldLloc = L.loc - remove_temp_pass_flags(PASS_MOB_THRU) - L.remove_temp_pass_flags(PASS_MOB_THRU) + L.add_temp_pass_flags(PASS_MOB_THRU) + add_temp_pass_flags(PASS_MOB_THRU) - now_pushing = FALSE - return + L.Move(oldloc) + Move(oldLloc) + + remove_temp_pass_flags(PASS_MOB_THRU) + L.remove_temp_pass_flags(PASS_MOB_THRU) + + now_pushing = FALSE + return now_pushing = FALSE From 9a2ac1630b5a580938e5b9424681be642264641e Mon Sep 17 00:00:00 2001 From: Venuska1117 <89580971+Venuska1117@users.noreply.github.com> Date: Fri, 27 Sep 2024 19:12:15 +0200 Subject: [PATCH 2/2] Fixed code. --- code/modules/mob/living/carbon/xenomorph/castes/Queen.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm index fed0b8ede7c3..80f65ad86726 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm @@ -443,7 +443,7 @@ /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.pass_flags.flags_pass & PASS_MOB_THRU_XENO|PASS_MOB_THRU &! xeno.flags_pass_temp & PASS_MOB_THRU) + if(xeno.pass_flags.flags_pass & PASS_MOB_THRU_XENO|PASS_MOB_THRU && !(xeno.flags_pass_temp & PASS_MOB_THRU)) return if(xeno.hivenumber == hivenumber) xeno.KnockDown((5 DECISECONDS) / GLOBAL_STATUS_MULTIPLIER)