diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index cebd8a2b267..d9d29aeca93 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -699,6 +699,26 @@ BLIND // can't see anything . = ..() +/obj/item/clothing/under/serialize() + var/data = ..() + var/list/accessories_list = list() + data["accessories"] = accessories_list + for(var/obj/item/clothing/accessory/A in accessories) + accessories_list.len++ + accessories_list[accessories_list.len] = A.serialize() + + return data + +/obj/item/clothing/under/deserialize(list/data) + for(var/thing in accessories) + remove_accessory(src, thing) + for(var/thing in data["accessories"]) + if(islist(thing)) + var/obj/item/clothing/accessory/A = list_to_object(thing, src) + A.has_suit = src + accessories += A + ..() + /obj/item/clothing/under/proc/attach_accessory(obj/item/clothing/accessory/A, mob/user, unequip = FALSE) if(can_attach_accessory(A)) if(unequip && !user.unEquip(A)) // Make absolutely sure this accessory is removed from hands