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