You can no longer push people with riot shields (and other parry objects) on help intent (#25301)

* You can no longer push people with riot shields (and other parry objects) on help intent

* Update buffs.dm
This commit is contained in:
Qwertytoforty
2024-05-22 20:57:25 -04:00
committed by GitHub
parent d75cd41ba2
commit 0e2ced3c00
2 changed files with 6 additions and 2 deletions
+4 -2
View File
@@ -118,6 +118,8 @@
if(a_intent == INTENT_HELP) // Help intent doesn't mob swap a mob pulling a structure
if(isstructure(M.pulling) || isstructure(pulling))
return TRUE
//Let us check if the person has riot equipment. We should not move past them or push them, unless they are on *walk* intent. This is so officers batoning on help can't me moved past.
var/riot_equipment_used = (M.r_hand?.GetComponent(/datum/component/parry) || M.l_hand?.GetComponent(/datum/component/parry))
if(!M.buckled && !M.has_buckled_mobs())
var/mob_swap
@@ -125,7 +127,7 @@
if(length(M.grabbed_by) && a_intent == INTENT_GRAB)
mob_swap = TRUE
//restrained people act if they were on 'help' intent to prevent a person being pulled from being seperated from their puller
else if((M.restrained() || M.a_intent == INTENT_HELP) && (restrained() || a_intent == INTENT_HELP))
else if(((M.restrained() || M.a_intent == INTENT_HELP) && !(riot_equipment_used && M.m_intent == MOVE_INTENT_RUN)) && (restrained() || a_intent == INTENT_HELP))
mob_swap = TRUE
if(mob_swap)
//switch our position with M
@@ -156,7 +158,7 @@
if(!(M.status_flags & CANPUSH))
return TRUE
//anti-riot equipment is also anti-push
if(M.r_hand?.GetComponent(/datum/component/parry) || M.l_hand?.GetComponent(/datum/component/parry))
if(riot_equipment_used)
return TRUE
//Called when we bump into an obj