CEV-Eris
CEV-Eris copied to clipboard
Voidsuits and paramedic armor cannot be unequipped if they have an accessory
My best guess is that it is because voidsuits ~and paramedic armor~ are unequipped by left-clicking and almost all other suits are unequipped using click-and-drag. Based on the code below, it looks like the suit's attack_hand() calls its accessory's attack_hand() procs, which do nothing. Stripping the suit off of another character works.
EDIT: Paramedic armor has the DRAG_AND_DROP_UNEQUIP flag, which means it can still be unequipped.
From code\modules\clothing\clothing_accessories.dm:
/obj/item/clothing/attack_hand(var/mob/user)
//only forward to the attached accessory if the clothing is equipped (not in a storage)
if(accessories.len && src.loc == user)
for(var/obj/item/clothing/accessory/A in accessories)
A.attack_hand(user)
return
return ..()
From code\modules\clothing\accessories\accesory.dm:
/obj/item/clothing/accessory/attack_hand(mob/user as mob)
if(has_suit)
return //we aren't an object on the ground so don't call parent
..()
@Humonitarian
Could the voidsuit be unequipped with a click and drag?
No. For accessories like armor plates, you aren't able to remove it via the Object tab either. It would say "Removing this accessory would ruin it." in the chat log with no effect.