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."