From 2ebfd20cb02367fa57fec6e07843f01f074d5e38 Mon Sep 17 00:00:00 2001
From: Meghan-Rossi <56671765+Meghan-Rossi@users.noreply.github.com>
Date: Sun, 20 Sep 2020 12:15:20 +0100
Subject: [PATCH] Fix trying to put people on themselves with the stripping
menu (#7659)
*If you try to put someone in one of their own slots using the stripping menu, now you will instead try to strip that slot.
This always seems to be what people trying this actually mean to do, I've made this mistake and seen a few others make it too. This also fixes buggy behavior downstream where people can actually succeed in putting people on themselves.
---
code/modules/mob/living/carbon/human/stripping.dm | 14 +++++++++++---
html/changelogs/Meghan Rossi - stripping.yml | 4 ++++
2 files changed, 15 insertions(+), 3 deletions(-)
create mode 100644 html/changelogs/Meghan Rossi - stripping.yml
diff --git a/code/modules/mob/living/carbon/human/stripping.dm b/code/modules/mob/living/carbon/human/stripping.dm
index 61bb7661409..a9b0f9b5b83 100644
--- a/code/modules/mob/living/carbon/human/stripping.dm
+++ b/code/modules/mob/living/carbon/human/stripping.dm
@@ -58,14 +58,22 @@
var/stripping
var/obj/item/held = user.get_active_hand()
if(!istype(held) || is_robot_module(held))
+ stripping = TRUE
+ else
+ var/obj/item/weapon/holder/holder = held
+ if(istype(holder) && src == holder.held_mob)
+ stripping = TRUE
+ else
+ var/obj/item/weapon/grab/grab = held
+ if(istype(grab) && grab.affecting == src)
+ stripping = TRUE
+
+ if(stripping)
if(!istype(target_slot)) // They aren't holding anything valid and there's nothing to remove, why are we even here?
return
if(!target_slot.canremove)
to_chat(user, "You cannot remove \the [src]'s [target_slot.name].")
return
- stripping = 1
-
- if(stripping)
visible_message("\The [user] is trying to remove \the [src]'s [target_slot.name]!")
else
if(slot_to_strip == slot_wear_mask && istype(held, /obj/item/weapon/grenade))
diff --git a/html/changelogs/Meghan Rossi - stripping.yml b/html/changelogs/Meghan Rossi - stripping.yml
new file mode 100644
index 00000000000..25a4e95becb
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - stripping.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - tweak: "If you try to put someone in one of their own slots using the stripping menu, now you will instead try to strip that slot."
\ No newline at end of file