mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 07:38:05 +01:00
Makes borg buckling conflict less with inventory searching (#46364)
About The Pull Request This PR finally splits up the ways that borgs are supposed to initiate inventory checks of a mobs and initiate attempts to buckle mobs to themselves (formerly, they would both happen upon click+dragging a mob onto yourself as a borg). Now a borg will only try to buckle a mob to themself if they ARE NOT on harm intent when they finish click+dragging said mob onto themself, and will only try to check a mob's inventory if they ARE on harm intent when they finish click+dragging said mob onto themself. An outsider can still buckle someone (even themself) to a borg who's on harm intent; the borg just can't do it themself. Why It's Good For The Game This issue is incredibly annoying to deal with as a borg (especially if you're in an area or situation where *spinning someone off of you could be risky), and I'm really surprised that it's taken this long for this control conflict to be fixed. Changelog cl ATHATH tweak: If a cyborg click+drags someone onto themself, they will only try to buckle that person to themself if they (the cyborg) ARE NOT on harm intent. Attempts made by non-cyborgs to buckle themselves to cyborgs by click+dragging themselves onto said cyborgs should be unaffected by this change, even if those cyborgs are on harm intent. tweak: If a cyborg click+drags someone onto themself, they will only attempt to check that person's inventory if they (the cyborg) ARE on harm intent. /cl
This commit is contained in:
@@ -1133,7 +1133,7 @@
|
||||
|
||||
/mob/living/silicon/robot/MouseDrop_T(mob/living/M, mob/living/user)
|
||||
. = ..()
|
||||
if(!(M in buckled_mobs) && isliving(M))
|
||||
if(!(M in buckled_mobs) && isliving(M) && ((user!=src)||(src.a_intent != INTENT_HARM)))
|
||||
buckle_mob(M)
|
||||
|
||||
/mob/living/silicon/robot/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE)
|
||||
|
||||
@@ -680,7 +680,12 @@
|
||||
. = ..()
|
||||
if(ismob(dropping) && dropping != user)
|
||||
var/mob/M = dropping
|
||||
M.show_inv(user)
|
||||
if(ismob(user))
|
||||
var/mob/U = user
|
||||
if(!iscyborg(U) || U.a_intent == INTENT_HARM)
|
||||
M.show_inv(U)
|
||||
else
|
||||
M.show_inv(user)
|
||||
|
||||
///Is the mob muzzled (default false)
|
||||
/mob/proc/is_muzzled()
|
||||
|
||||
Reference in New Issue
Block a user