From 73003680ce289de55832ebd1d18c9d9b921f34cd Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Fri, 6 Mar 2020 16:35:16 -0600 Subject: [PATCH 01/13] Update stasis.dm --- code/game/machinery/stasis.dm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/code/game/machinery/stasis.dm b/code/game/machinery/stasis.dm index 8daab3a9e16..daa4f3f5962 100644 --- a/code/game/machinery/stasis.dm +++ b/code/game/machinery/stasis.dm @@ -160,10 +160,4 @@ /obj/machinery/stasis/nap_violation(mob/violator) unbuckle_mob(violator, TRUE) - -/obj/machinery/stasis/attack_robot(mob/user) - if(Adjacent(user) && occupant) - unbuckle_mob(occupant) - else - ..() #undef STASIS_TOGGLE_COOLDOWN From 62511d340f892b2af00ccb5900000c5a3e345904 Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Fri, 6 Mar 2020 16:40:21 -0600 Subject: [PATCH 02/13] Update buckling.dm --- code/game/objects/buckling.dm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 7d6662a6876..feecb89c911 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -20,6 +20,22 @@ if(user_unbuckle_mob(buckled_mobs[1],user)) return 1 +///literally just the above extension of attack_hand(), but for silicons instead (with an adjacency check, since attack_robot() doesn't require that) +/atom/movable/attack_robot(mob/living/user) + . = ..() + if(.) + return + if(!Adjacent(user)) + return + if(can_buckle && has_buckled_mobs()) + if(buckled_mobs.len > 1) + var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in sortNames(buckled_mobs) + if(user_unbuckle_mob(unbuckled,user)) + return 1 + else + if(user_unbuckle_mob(buckled_mobs[1],user)) + return 1 + /atom/movable/MouseDrop_T(mob/living/M, mob/living/user) . = ..() return mouse_buckle_handling(M, user) From f99a11e0b0706814e33616cbc216a39214695849 Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Fri, 6 Mar 2020 16:40:30 -0600 Subject: [PATCH 03/13] Update buckling.dm --- code/game/objects/buckling.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index feecb89c911..485bac51c8b 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -20,7 +20,7 @@ if(user_unbuckle_mob(buckled_mobs[1],user)) return 1 -///literally just the above extension of attack_hand(), but for silicons instead (with an adjacency check, since attack_robot() doesn't require that) +//literally just the above extension of attack_hand(), but for silicons instead (with an adjacency check, since attack_robot() doesn't require that) /atom/movable/attack_robot(mob/living/user) . = ..() if(.) From 701a71ba4abb50d03e93f1afd4f6c2a5e0113ce2 Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Fri, 6 Mar 2020 16:41:08 -0600 Subject: [PATCH 04/13] Update robot_defense.dm --- code/modules/mob/living/silicon/robot/robot_defense.dm | 8 -------- 1 file changed, 8 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index 6250193bdb5..56c5ca0bffc 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -5,14 +5,6 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real /obj/item/clothing/head/chameleon/broken \ ))) -/mob/living/silicon/robot/attack_robot(mob/user) - . = ..() - if(user == src && has_buckled_mobs() && user.a_intent == INTENT_HELP) - for(var/i in buckled_mobs) - var/mob/buckmob = i - unbuckle_mob(buckmob) - - /mob/living/silicon/robot/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour == TOOL_WELDER && (user.a_intent != INTENT_HARM || user == src)) user.changeNext_move(CLICK_CD_MELEE) From 24fe716055a11e432491866243015d38f2f35889 Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Sun, 8 Mar 2020 00:58:23 -0600 Subject: [PATCH 05/13] Update stasis.dm --- code/game/machinery/stasis.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/game/machinery/stasis.dm b/code/game/machinery/stasis.dm index daa4f3f5962..5950369bb9e 100644 --- a/code/game/machinery/stasis.dm +++ b/code/game/machinery/stasis.dm @@ -158,6 +158,13 @@ . = ..() return default_deconstruction_crowbar(I) || . +//for some reason, in testing, cyborgs were unable to unbuckle people from stasis beds unless this extension of attack_robot() here was present, so I guess it stays in +/obj/machinery/stasis/attack_robot(mob/user) + if(Adjacent(user) && occupant) + unbuckle_mob(occupant) + else + ..() + /obj/machinery/stasis/nap_violation(mob/violator) unbuckle_mob(violator, TRUE) #undef STASIS_TOGGLE_COOLDOWN From 8cecd37cd98957a1f6e04b803c20450a876330c3 Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Sat, 14 Mar 2020 04:41:04 -0500 Subject: [PATCH 06/13] Update stasis.dm --- code/game/machinery/stasis.dm | 7 ------- 1 file changed, 7 deletions(-) diff --git a/code/game/machinery/stasis.dm b/code/game/machinery/stasis.dm index 5950369bb9e..daa4f3f5962 100644 --- a/code/game/machinery/stasis.dm +++ b/code/game/machinery/stasis.dm @@ -158,13 +158,6 @@ . = ..() return default_deconstruction_crowbar(I) || . -//for some reason, in testing, cyborgs were unable to unbuckle people from stasis beds unless this extension of attack_robot() here was present, so I guess it stays in -/obj/machinery/stasis/attack_robot(mob/user) - if(Adjacent(user) && occupant) - unbuckle_mob(occupant) - else - ..() - /obj/machinery/stasis/nap_violation(mob/violator) unbuckle_mob(violator, TRUE) #undef STASIS_TOGGLE_COOLDOWN From 47ea5e04caad495019e3a4b15bc523ad8116985c Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Sat, 14 Mar 2020 05:00:41 -0500 Subject: [PATCH 07/13] Update _machinery.dm --- code/game/machinery/_machinery.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 15139a39e50..c2461efe9d4 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -322,6 +322,14 @@ Class Procs: /obj/machinery/attack_robot(mob/user) if(!(interaction_flags_machine & INTERACT_MACHINE_ALLOW_SILICON) && !IsAdminGhost(user)) return FALSE + if(Adjacent(user) && can_buckle && has_buckled_mobs()) //so that borgs (but not AIs, sadly (perhaps in a future PR?)) can unbuckle people from machines + if(buckled_mobs.len > 1) + var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in sortNames(buckled_mobs) + if(user_unbuckle_mob(unbuckled,user)) + return 1 + else + if(user_unbuckle_mob(buckled_mobs[1],user)) + return 1 return _try_interact(user) /obj/machinery/attack_ai(mob/user) From 656998c01d9f28e561e30081e55c97eca14895e9 Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Sat, 14 Mar 2020 05:02:25 -0500 Subject: [PATCH 08/13] Update buckling.dm --- code/game/objects/buckling.dm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 485bac51c8b..e96fbace05e 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -20,14 +20,12 @@ if(user_unbuckle_mob(buckled_mobs[1],user)) return 1 -//literally just the above extension of attack_hand(), but for silicons instead (with an adjacency check, since attack_robot() doesn't require that) +//literally just the above extension of attack_hand(), but for silicons instead (with an adjacency check, since attack_robot() being called doesn't mean that you're adjacent to something) /atom/movable/attack_robot(mob/living/user) . = ..() if(.) return - if(!Adjacent(user)) - return - if(can_buckle && has_buckled_mobs()) + if(Adjacent(user) && can_buckle && has_buckled_mobs()) if(buckled_mobs.len > 1) var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in sortNames(buckled_mobs) if(user_unbuckle_mob(unbuckled,user)) From 17684cdfdcbbfc934c0818c49b88c213f9543e9c Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Sat, 14 Mar 2020 06:13:03 -0500 Subject: [PATCH 09/13] Update stasis.dm --- code/game/machinery/stasis.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/machinery/stasis.dm b/code/game/machinery/stasis.dm index daa4f3f5962..da8111f5714 100644 --- a/code/game/machinery/stasis.dm +++ b/code/game/machinery/stasis.dm @@ -160,4 +160,5 @@ /obj/machinery/stasis/nap_violation(mob/violator) unbuckle_mob(violator, TRUE) + #undef STASIS_TOGGLE_COOLDOWN From bb4983959b97dcd6c8d74b9a87a5ffbc25b40b4f Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Wed, 18 Mar 2020 19:41:55 -0500 Subject: [PATCH 10/13] Update code/game/machinery/_machinery.dm Co-Authored-By: Rohesie --- code/game/machinery/_machinery.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index c2461efe9d4..5f62436e9d2 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -326,7 +326,7 @@ Class Procs: if(buckled_mobs.len > 1) var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in sortNames(buckled_mobs) if(user_unbuckle_mob(unbuckled,user)) - return 1 + return TRUE else if(user_unbuckle_mob(buckled_mobs[1],user)) return 1 From 3a25c3e856ee20f4c6e0717062276370f1ba266c Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Wed, 18 Mar 2020 19:42:03 -0500 Subject: [PATCH 11/13] Update code/game/machinery/_machinery.dm Co-Authored-By: Rohesie --- code/game/machinery/_machinery.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 5f62436e9d2..82e4424526f 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -329,7 +329,7 @@ Class Procs: return TRUE else if(user_unbuckle_mob(buckled_mobs[1],user)) - return 1 + return TRUE return _try_interact(user) /obj/machinery/attack_ai(mob/user) From cc9c7f9e57b7dc183165368a643c86b3b716b50e Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Wed, 18 Mar 2020 19:42:10 -0500 Subject: [PATCH 12/13] Update code/game/objects/buckling.dm Co-Authored-By: Rohesie --- code/game/objects/buckling.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index e96fbace05e..b962834ace9 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -29,7 +29,7 @@ if(buckled_mobs.len > 1) var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in sortNames(buckled_mobs) if(user_unbuckle_mob(unbuckled,user)) - return 1 + return TRUE else if(user_unbuckle_mob(buckled_mobs[1],user)) return 1 From 08faf069fcd76fb2686f5dd1bd592c9baba52bc2 Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Wed, 18 Mar 2020 19:42:17 -0500 Subject: [PATCH 13/13] Update code/game/objects/buckling.dm Co-Authored-By: Rohesie --- code/game/objects/buckling.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index b962834ace9..4d483fa8de4 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -32,7 +32,7 @@ return TRUE else if(user_unbuckle_mob(buckled_mobs[1],user)) - return 1 + return TRUE /atom/movable/MouseDrop_T(mob/living/M, mob/living/user) . = ..()