From 4f4f12c948b69c77d42b78f2fd2a514bd92680f8 Mon Sep 17 00:00:00 2001 From: Casper3667 <8396443+Casper3667@users.noreply.github.com> Date: Fri, 22 Aug 2025 13:52:10 +0200 Subject: [PATCH] Fixes reading paper bundles and removing accessories on other people (#21214) Apparently the adjacent check wasn't set properly on these two. Also it fixes that when removing someone's accessory, it tried to apply some modifiers to the one removing it instead of the one wearing it. --- code/game/objects/items.dm | 2 +- code/modules/clothing/clothing_accessories.dm | 12 ++++++------ code/modules/mob/living/carbon/human/stripping.dm | 2 +- html/changelogs/AdjacentFix.yml | 7 +++++++ 4 files changed, 15 insertions(+), 8 deletions(-) create mode 100644 html/changelogs/AdjacentFix.yml diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index de673ea70fa..fef0c9d805e 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -337,7 +337,7 @@ //Changed this switch to ranges instead of tiered values, to cope with granularity and also //things outside its range ~Nanako - . = ..(user, distance, "", "It is a [size] item.", get_extended = get_extended) + . = ..(user, distance, is_adjacent, "It is a [size] item.", get_extended = get_extended) var/datum/component/armor/armor_component = GetComponent(/datum/component/armor) if(armor_component) . += FONT_SMALL(SPAN_NOTICE("\[?\] This item has armor values. \[Show Armor Values\]")) diff --git a/code/modules/clothing/clothing_accessories.dm b/code/modules/clothing/clothing_accessories.dm index 8d3ed7f977e..86730a558ad 100644 --- a/code/modules/clothing/clothing_accessories.dm +++ b/code/modules/clothing/clothing_accessories.dm @@ -137,17 +137,14 @@ update_accessory_slowdown() recalculate_body_temperature_change() -/obj/item/clothing/proc/remove_accessory(mob/user, obj/item/clothing/accessory/A) +/obj/item/clothing/proc/remove_accessory(mob/wearer, obj/item/clothing/accessory/A) if(!(A in accessories)) return - if(use_check_and_message(user)) - return - - A.on_removed(user) + A.on_removed(wearer) LAZYREMOVE(accessories, A) update_clothing_icon() - update_accessory_slowdown(user) + update_accessory_slowdown(wearer) recalculate_body_temperature_change() /obj/item/clothing/proc/remove_accessory_verb() @@ -187,6 +184,9 @@ else A = accessories[1] + if(use_check_and_message(user)) + return + remove_accessory(usr, A) if(try_reopen_radial_after_removal) diff --git a/code/modules/mob/living/carbon/human/stripping.dm b/code/modules/mob/living/carbon/human/stripping.dm index 396192a9554..85db055520d 100644 --- a/code/modules/mob/living/carbon/human/stripping.dm +++ b/code/modules/mob/living/carbon/human/stripping.dm @@ -82,7 +82,7 @@ user.visible_message(SPAN_DANGER("\The [user] tears off \the [A] from [src]'s [suit.name]!")) attack_log += "\[[time_stamp()]\] Has had \the [A] removed by [user.name] ([user.ckey])" user.attack_log += "\[[time_stamp()]\] Attempted to remove [name]'s ([ckey]) [A.name]" - suit.remove_accessory(user, A) + suit.remove_accessory(src, A) return 1 // Are we placing or stripping? diff --git a/html/changelogs/AdjacentFix.yml b/html/changelogs/AdjacentFix.yml new file mode 100644 index 00000000000..6e17665640b --- /dev/null +++ b/html/changelogs/AdjacentFix.yml @@ -0,0 +1,7 @@ +author: TheGreyWolf + +delete-after: True + +changes: + - bugfix: "Paper bundles can now be read while next to them." + - bugfix: "It is now possible to remove accessories on other people again."