diff --git a/code/modules/client/preference/loadout/loadout_accessories.dm b/code/modules/client/preference/loadout/loadout_accessories.dm index c591295d940..8353514fb37 100644 --- a/code/modules/client/preference/loadout/loadout_accessories.dm +++ b/code/modules/client/preference/loadout/loadout_accessories.dm @@ -134,8 +134,13 @@ display_name = "cowboy shirt, short sleeved navy" path = /obj/item/clothing/accessory/cowboyshirt/navy/short_sleeved - - +/datum/gear/accessory/locket + display_name = "gold locket" + path = /obj/item/clothing/accessory/necklace/locket + +/datum/gear/accessory/necklace + display_name = "simple necklace" + path = /obj/item/clothing/accessory/necklace diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 2cf6bf3d12c..f0da2e141a0 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -384,6 +384,66 @@ icon_state = "stripedbluescarf" item_color = "stripedbluescarf" +//Necklaces +/obj/item/clothing/accessory/necklace + name = "necklace" + desc = "A simple necklace." + icon_state = "necklace" + item_state = "necklace" + item_color = "necklace" + slot_flags = SLOT_MASK | SLOT_TIE + +/obj/item/clothing/accessory/necklace/locket + name = "gold locket" + desc = "A gold locket that seems to have space for a photo within." + icon_state = "locket" + item_state = "locket" + item_color = "locket" + slot_flags = SLOT_MASK | SLOT_TIE + var/base_icon + var/open + var/obj/item/held //Item inside locket. + +/obj/item/clothing/accessory/necklace/locket/Destroy() + QDEL_NULL(held) + return ..() + + +/obj/item/clothing/accessory/necklace/locket/attack_self(mob/user as mob) + if(!base_icon) + base_icon = icon_state + + if(!("[base_icon]_open" in icon_states(icon))) + to_chat(user, "[src] doesn't seem to open.") + return + + open = !open + to_chat(user, "You flip [src] [open?"open":"closed"].") + if(open) + icon_state = "[base_icon]_open" + if(held) + to_chat(user, "[held] falls out!") + held.forceMove(get_turf(user)) + held = null + else + icon_state = "[base_icon]" + +/obj/item/clothing/accessory/necklace/locket/attackby(var/obj/item/O as obj, mob/user as mob) + if(!open) + to_chat(user, "You have to open it first.") + return + + if(istype(O,/obj/item/weapon/paper) || istype(O, /obj/item/weapon/photo) && !(istype(O, /obj/item/weapon/paper/talisman))) + if(held) + to_chat(usr, "[src] already has something inside it.") + else + to_chat(usr, "You slip [O] into [src].") + user.drop_item() + O.forceMove(src) + held = O + else + return ..() + //Cowboy Shirts /obj/item/clothing/accessory/cowboyshirt name = "black cowboy shirt" diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 7ec69377a1d..ee6747b39d3 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -903,3 +903,13 @@ icon_state = options[choice] to_chat(user, "Your strange witch hat has now shapeshifted into it's [choice] form!") return 1 + ..() + +/obj/item/clothing/accessory/necklace/locket/fluff/fethasnecklace //Fethas: Sefra'neem + name = "Orange gemmed locket" + desc = "A locket with a orange gem set on the front, the picture inside seems to be of a Tajaran." + icon = 'icons/obj/custom_items.dmi' + icon_state = "fethasnecklace" + item_state = "fethasnecklace" + item_color = "fethasnecklace" + slot_flags = SLOT_MASK | SLOT_TIE diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi index 8e37ab08a84..8f2c49b09d7 100644 Binary files a/icons/mob/mask.dmi and b/icons/mob/mask.dmi differ diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi index 891f725aa07..a482ece8b38 100644 Binary files a/icons/mob/ties.dmi and b/icons/mob/ties.dmi differ diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi index a894b1b2465..ac64e6facf7 100644 Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ diff --git a/icons/obj/clothing/ties_overlay.dmi b/icons/obj/clothing/ties_overlay.dmi index 3437e80e00d..a17fed4818c 100644 Binary files a/icons/obj/clothing/ties_overlay.dmi and b/icons/obj/clothing/ties_overlay.dmi differ diff --git a/icons/obj/custom_items.dmi b/icons/obj/custom_items.dmi index cb5d510faa2..3aa68526db0 100644 Binary files a/icons/obj/custom_items.dmi and b/icons/obj/custom_items.dmi differ