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 = {"

KH-LC91-1 Life Crystal

+
Usage
+
    +
  1. Hold new crystal in hand.
  2. +
  3. Make fist with that hand.
  4. +
  5. Wait 1 second.
  6. +
+
+
Purpose
+

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: + +
+
Technical
+

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: +
    +
  1. Qubit Bucket: This small cube contains 200 bits worth of quantum-entangled bits for transmitting to HAVENS. QE transmission technologies cannot be jammed or interfered with, and are effectively instant over any distance. +
  2. Antimatter Bottle: This tiny antimatter vessel is required to power the transmitter for the time it takes to transmit the signal to HAVENS. The inside of the crystal is thick enough to block any alpha or beta particles emitted when this antimatter contacts matter, however the crystal will be destroyed when activated. +
  3. Decay Reactor: This long-term microreactor will last for around one month and provide sufficient power to power all but the transmitter. This power is required for containing the antimatter bottle. +
  4. Sensor Suite: The sensor that tracks the owner's life-state, such that it can be transmitted back to HAVENS when necessary. +
+

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.

+
+
Special Notes
+ \[AM WARNING\] +

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