Fix modsuits and defibs (#93373)

## About The Pull Request

Fixes #93359

Caused by #93165

Inventory screen elements were no longer considered reachable, which
broke mousedrop handing on objects that check "is dragging into
inventory slot"

I don't know the best way to fix this yet but I figured the next best
thing would be to make all of these use the `drag_pickup` element, which
skips this reach-ability check

Thus I refactored it slightly to accommodate for items which should
contextually not be drag-pick-up-abble and bam, works like a charm

## Changelog

🆑 Melbert
fix: Dragging defibs and modsuits off your back works again
/🆑

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com>
This commit is contained in:
MrMelbert
2025-10-11 18:17:23 -04:00
committed by GitHub
co-authored by ArcaneMusic Xander3359
parent 4bdce87fee
commit da10322dc1
16 changed files with 73 additions and 130 deletions
@@ -113,22 +113,10 @@ Slimecrossing Armor
throw_speed = 1
throw_range = 3
/obj/item/clothing/head/peaceflower/proc/at_peace_check(mob/user)
if(iscarbon(user))
var/mob/living/carbon/carbon_user = user
if(src == carbon_user.head)
to_chat(user, span_warning("You feel at peace. <b style='color:pink'>Why would you want anything else?</b>"))
return TRUE
return FALSE
/obj/item/clothing/head/peaceflower/attack_hand(mob/user, list/modifiers)
if(at_peace_check(user))
return
return ..()
/obj/item/clothing/head/peaceflower/mouse_drop_dragged(atom/over, mob/user, src_location, over_location, params)
if(at_peace_check(user))
return
/obj/item/clothing/head/peaceflower/can_mob_unequip(mob/user)
if(user.get_item_by_slot(slot_flags) == src)
to_chat(user, span_warning("You feel at peace. <b style='color:pink'>Why would you want anything else?</b>"))
return FALSE
return ..()
/obj/item/clothing/suit/armor/heavy/adamantine