/*********************Hivelord stabilizer****************/ /obj/item/hivelordstabilizer name = "stabilizing serum" icon = 'icons/obj/chemical.dmi' icon_state = "bottle19" desc = "Inject certain types of monster organs with this stabilizer to preserve their healing powers indefinitely." w_class = WEIGHT_CLASS_TINY /obj/item/hivelordstabilizer/afterattack(obj/item/organ/M, mob/user) . = ..() var/obj/item/organ/regenerative_core/C = M if(!istype(C, /obj/item/organ/regenerative_core)) to_chat(user, "The stabilizer only works on certain types of monster organs, generally regenerative in nature.") return ..() C.preserved() to_chat(user, "You inject the [M] with the stabilizer. It will no longer go inert.") qdel(src) /************************Hivelord core*******************/ /obj/item/organ/regenerative_core name = "regenerative core" desc = "All that remains of a hivelord. It can be used to heal completely, but it will rapidly decay into uselessness." icon_state = "roro core 2" item_flags = NOBLUDGEON slot = "hivecore" force = 0 actions_types = list(/datum/action/item_action/organ_action/use) var/inert var/preserved /obj/item/organ/regenerative_core/Initialize() . = ..() addtimer(CALLBACK(src, .proc/inert_check), 2400) /obj/item/organ/regenerative_core/proc/inert_check() if(!preserved) go_inert() /obj/item/organ/regenerative_core/proc/preserved(implanted = 0) if(inert) name = initial(name) inert = FALSE preserved = TRUE update_icon() desc = "All that remains of a hivelord. It is preserved, allowing you to use it to heal completely without danger of decay." if(implanted) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "implanted")) else SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "stabilizer")) /obj/item/organ/regenerative_core/proc/go_inert() inert = TRUE name = "decayed regenerative core" desc = "All that remains of a hivelord. It has decayed, and is completely useless." SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "inert")) update_icon() /obj/item/organ/regenerative_core/ui_action_click() if(inert) to_chat(owner, "[src] breaks down as it tries to activate.") else owner.revive(full_heal = 1) owner.log_message("[owner] used an implanted [src] to heal themselves! Keep fighting, it's just a flesh wound!", LOG_ATTACK, color="green") //Logging for implanted legion core use qdel(src) /obj/item/organ/regenerative_core/on_life() . = ..() if(owner.health < owner.crit_threshold) ui_action_click() /obj/item/organ/regenerative_core/afterattack(atom/target, mob/user, proximity_flag) . = ..() if(proximity_flag) apply_healing_core(target, user) /obj/item/organ/regenerative_core/proc/apply_healing_core(atom/target, mob/user) if(!user || !ishuman(target)) return var/mob/living/carbon/human/H = target if(inert) to_chat(user, "[src] has decayed and can no longer be used to heal.") return if(H.stat == DEAD) to_chat(user, "[src] are useless on the dead.") return if(H != user) H.visible_message("[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()]!") SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other")) else to_chat(user, "You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?") SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) H.apply_status_effect(STATUS_EFFECT_REGENERATIVE_CORE) qdel(src) user.log_message("[user] used [src] to heal [H == user ? "[H.p_them()]self" : H]! Wake the fuck up, Samurai!", LOG_ATTACK, color="green") //Logging for 'old' style legion core use, when clicking on a sprite of yourself or another. /obj/item/organ/regenerative_core/attack_self(mob/user) //Knouli's first hack! Allows for the use of the core in hand rather than needing to click on the target, yourself, to selfheal. Its a rip of the proc just above - but skips on distance check and only uses 'user' rather than 'target' . = ..() apply_healing_core(user, user) /obj/item/organ/regenerative_core/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) . = ..() if(!preserved && !inert) preserved(TRUE) owner.visible_message("[src] stabilizes as it's inserted.") /obj/item/organ/regenerative_core/Remove(special = FALSE) if(!inert && !special && !QDELETED(owner)) owner.visible_message("[src] rapidly decays as it's removed.") go_inert() return ..() /*************************Legion core********************/ /obj/item/organ/regenerative_core/legion desc = "A strange rock that crackles with power. It can be used to heal completely, but it will rapidly decay into uselessness." icon_state = "legion_soul" /obj/item/organ/regenerative_core/legion/Initialize() . = ..() update_icon() /obj/item/organ/regenerative_core/update_icon_state() icon_state = inert ? "legion_soul_inert" : "legion_soul" /obj/item/organ/regenerative_core/update_overlays() . = ..() if(!inert && !preserved) . += "legion_soul_crackle" /obj/item/organ/regenerative_core/legion/go_inert() ..() desc = "[src] has become inert. It has decayed, and is completely useless." /obj/item/organ/regenerative_core/legion/preserved(implanted = 0) ..() desc = "[src] has been stabilized. It is preserved, allowing you to use it to heal completely without danger of decay."