diff --git a/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm b/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm index 54626143b7..b88d846c16 100644 --- a/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm @@ -36,3 +36,8 @@ display_name = "Saddle Bag" path = /obj/item/weapon/storage/backpack/saddlebag slot = slot_back + +/datum/gear/accessory/khcrystal + display_name = "KH Life Crystal" + path = /obj/item/weapon/storage/box/khcrystal + description = "A small necklace device that will notify an offsite cloning facility should you expire after activating it." diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index cdd229e54e..8fd1d5d858 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -370,4 +370,122 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie icon_override = 'icons/vore/custom_clothes_vr.dmi' item_state = "serdyhelm_mob" -*/ \ No newline at end of file +*/ + +//arokha:Aronai Kadigan, but anyone is welcome to use it. +/obj/item/clothing/accessory/collar/khcrystal + name = "life crystal" + desc = "A small crystal with four little dots in it. It feels slightly warm to the touch. \ + Read manual before use! NOTE: Device contains antimatter." + w_class = ITEMSIZE_SMALL + + icon = 'icons/vore/custom_items_vr.dmi' + icon_override = 'icons/vore/custom_items_vr.dmi' + + icon_state = "khlife" + item_state = "khlife_overlay" + overlay_state = "khlife_overlay" + + slot_flags = SLOT_TIE + + var/mob/owner = null + var/client/owner_c = null //They'll be dead when we message them probably. + var/state = 0 //0 - New, 1 - Paired, 2 - Breaking, 3 - Broken (same as iconstates) + + New() + ..() + update_state(0) + + Destroy() //Waitwaitwait + if(state == 1) + process() //Nownownow + ..() //Okfine + + process() + check_owner() + if(state > 1) + processing_objects.Remove(src) + + attack_self(mob/user as mob) + if(state > 0) //Can't re-pair, one time only, for security reasons. + user << "The [name] doesn't do anything." + return 0 + + owner = user //We're paired to this guy + owner_c = user.client //This is his client + update_state(1) + user << "The [name] glows pleasantly blue." + processing_objects.Add(src) + + proc/check_owner() + //He's dead, jim + if(!owner || owner.stat == DEAD) + update_state(2) + audible_message("The [name] begins flashing red.") + sleep(30) + visible_message("The [name] shatters into dust!") + if(owner_c) + owner_c << "The HAVENS system is notified of your demise via \the [name]." + update_state(3) + name = "broken [initial(name)]" + desc = "This seems like a necklace, but the actual pendant is missing." + + proc/update_state(var/tostate) + state = tostate + icon_state = "[initial(icon_state)][tostate]" + update_icon() + +/obj/item/weapon/paper/khcrystal_manual + name = "KH-LC91-1 manual" + info = {"
The Kitsuhana Life Crystal is a small device typically worn around the neck for the purpose of reporting your status to the HAVENS (Kitsuhana's High-AVailability ENgram Storage) system, so that appropriate measures can be taken in the case of your body's demise. The whole device is housed inside a pleasing-to-the-eye elongated diamond.
+Upon your body's desmise, the crystal will send a transmission to HAVENS. Depending on your membership level, the appropriate actions can be taken to ensure that you are back up and enjoying existence as soon as possible.
+ +Nanotrasen has negotiated a FREE Star membership for you in the HAVENS system, though an upgrade can be obtained depending on your citizenship and reputation level.
+ + As a reminder, the membership levels in HAVENS are: +The Life Crystal is a small 5cm long diamond containing four main components which are visible inside the translucent gem.
+ + From tip to top, they are: +The diamond itself is coated in a layer of graphene, to give it a pleasant rainbow finish. This also serves as a conductor that, if broken, will discharge the antimatter bottle immediately as it is unsafe to do so any point after the crystal is broken via physical means.
+This device contains antimatter. Please consult all local regulations when travelling to ensure compliance with local laws.
"} + +/obj/item/weapon/storage/box/khcrystal + name = "KH-LC91-1 carrying case" + icon = 'icons/vore/custom_items_vr.dmi' + icon_state = "khlifebox" + desc = "This case can only hold the KH-LC91-1 and a manual." + item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") + storage_slots = 2 + can_hold = list(/obj/item/weapon/paper/khcrystal_manual, /obj/item/clothing/accessory/collar/khcrystal) + max_storage_space = ITEMSIZE_COST_SMALL * 2 + w_class = ITEMSIZE_SMALL + +/obj/item/weapon/storage/box/khcrystal/New() + ..() + new /obj/item/weapon/paper/khcrystal_manual(src) + new /obj/item/clothing/accessory/collar/khcrystal(src) \ No newline at end of file diff --git a/icons/vore/custom_items_vr.dmi b/icons/vore/custom_items_vr.dmi index c3794060c1..a8d6ff4d16 100644 Binary files a/icons/vore/custom_items_vr.dmi and b/icons/vore/custom_items_vr.dmi differ