mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-15 10:04:30 +01:00
[MIRROR] Fixes regenerative core implants not functioning [MDB IGNORE] (#14552)
* Fixes regenerative core implants not functioning (#67961) * Repaths regen_core * updates var names * updates var name * Fixes regenerative core implants not functioning Co-authored-by: Coffee <CoffeeDragon16@gmail.com>
This commit is contained in:
@@ -76,7 +76,7 @@
|
||||
/obj/item/flashlight,
|
||||
/obj/item/knife/combat/bone,
|
||||
/obj/item/knife/combat/survival,
|
||||
/obj/item/organ/regenerative_core/legion,
|
||||
/obj/item/organ/internal/regenerative_core/legion,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/spear,
|
||||
/obj/item/tank/internals,
|
||||
|
||||
@@ -6,21 +6,21 @@
|
||||
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, proximity)
|
||||
/obj/item/hivelordstabilizer/afterattack(obj/item/organ/target_organ, mob/user, proximity)
|
||||
. = ..()
|
||||
if(!proximity)
|
||||
return
|
||||
var/obj/item/organ/regenerative_core/C = M
|
||||
if(!istype(C, /obj/item/organ/regenerative_core))
|
||||
var/obj/item/organ/internal/regenerative_core/target_core = target_organ
|
||||
if(!istype(target_core, /obj/item/organ/internal/regenerative_core))
|
||||
to_chat(user, span_warning("The stabilizer only works on certain types of monster organs, generally regenerative in nature."))
|
||||
return
|
||||
|
||||
C.preserved()
|
||||
to_chat(user, span_notice("You inject the [M] with the stabilizer. It will no longer go inert."))
|
||||
target_core.preserved()
|
||||
to_chat(user, span_notice("You inject the [target_organ] with the stabilizer. It will no longer go inert."))
|
||||
qdel(src)
|
||||
|
||||
/************************Hivelord core*******************/
|
||||
/obj/item/organ/regenerative_core
|
||||
/obj/item/organ/internal/regenerative_core
|
||||
name = "regenerative core"
|
||||
desc = "All that remains of a hivelord. It can be used to help keep your body going, but it will rapidly decay into uselessness."
|
||||
icon_state = "roro core 2"
|
||||
@@ -33,15 +33,15 @@
|
||||
var/inert = 0
|
||||
var/preserved = 0
|
||||
|
||||
/obj/item/organ/regenerative_core/Initialize(mapload)
|
||||
/obj/item/organ/internal/regenerative_core/Initialize(mapload)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/inert_check), 2400)
|
||||
|
||||
/obj/item/organ/regenerative_core/proc/inert_check()
|
||||
/obj/item/organ/internal/regenerative_core/proc/inert_check()
|
||||
if(!preserved)
|
||||
go_inert()
|
||||
|
||||
/obj/item/organ/regenerative_core/proc/preserved(implanted = 0)
|
||||
/obj/item/organ/internal/regenerative_core/proc/preserved(implanted = 0)
|
||||
inert = FALSE
|
||||
preserved = TRUE
|
||||
update_appearance()
|
||||
@@ -51,77 +51,77 @@
|
||||
else
|
||||
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "stabilizer"))
|
||||
|
||||
/obj/item/organ/regenerative_core/proc/go_inert()
|
||||
/obj/item/organ/internal/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_appearance()
|
||||
|
||||
/obj/item/organ/regenerative_core/ui_action_click()
|
||||
/obj/item/organ/internal/regenerative_core/ui_action_click()
|
||||
if(inert)
|
||||
to_chat(owner, span_notice("[src] breaks down as it tries to activate."))
|
||||
else
|
||||
owner.revive(full_heal = TRUE, admin_revive = FALSE)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/organ/regenerative_core/on_life(delta_time, times_fired)
|
||||
/obj/item/organ/internal/regenerative_core/on_life(delta_time, times_fired)
|
||||
..()
|
||||
if(owner.health <= owner.crit_threshold)
|
||||
ui_action_click()
|
||||
|
||||
///Handles applying the core, logging and status/mood events.
|
||||
/obj/item/organ/regenerative_core/proc/applyto(atom/target, mob/user)
|
||||
/obj/item/organ/internal/regenerative_core/proc/applyto(atom/target, mob/user)
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
var/mob/living/carbon/human/target_human = target
|
||||
if(inert)
|
||||
to_chat(user, span_notice("[src] has decayed and can no longer be used to heal."))
|
||||
return
|
||||
else
|
||||
if(H.stat == DEAD)
|
||||
if(target_human.stat == DEAD)
|
||||
to_chat(user, span_notice("[src] is useless on the dead."))
|
||||
return
|
||||
if(H != user)
|
||||
H.visible_message(span_notice("[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()]!"))
|
||||
if(target_human != user)
|
||||
target_human.visible_message(span_notice("[user] forces [target_human] to apply [src]... Black tendrils entangle and reinforce [target_human.p_them()]!"))
|
||||
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other"))
|
||||
else
|
||||
to_chat(user, span_notice("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(/datum/status_effect/regenerative_core)
|
||||
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "core", /datum/mood_event/healsbadman) //Now THIS is a miner buff (fixed - nerf)
|
||||
target_human.apply_status_effect(/datum/status_effect/regenerative_core)
|
||||
SEND_SIGNAL(target_human, COMSIG_ADD_MOOD_EVENT, "core", /datum/mood_event/healsbadman) //Now THIS is a miner buff (fixed - nerf)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/organ/regenerative_core/afterattack(atom/target, mob/user, proximity_flag)
|
||||
/obj/item/organ/internal/regenerative_core/afterattack(atom/target, mob/user, proximity_flag)
|
||||
. = ..()
|
||||
if(proximity_flag)
|
||||
applyto(target, user)
|
||||
|
||||
/obj/item/organ/regenerative_core/attack_self(mob/user)
|
||||
/obj/item/organ/internal/regenerative_core/attack_self(mob/user)
|
||||
if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
applyto(user, user)
|
||||
|
||||
/obj/item/organ/regenerative_core/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE)
|
||||
/obj/item/organ/internal/regenerative_core/Insert(mob/living/carbon/target_carbon, special = 0, drop_if_replaced = TRUE)
|
||||
. = ..()
|
||||
if(!preserved && !inert)
|
||||
preserved(TRUE)
|
||||
owner.visible_message(span_notice("[src] stabilizes as it's inserted."))
|
||||
|
||||
/obj/item/organ/regenerative_core/Remove(mob/living/carbon/M, special = 0)
|
||||
/obj/item/organ/internal/regenerative_core/Remove(mob/living/carbon/target_carbon, special = 0)
|
||||
if(!inert && !special)
|
||||
owner.visible_message(span_notice("[src] rapidly decays as it's removed."))
|
||||
go_inert()
|
||||
return ..()
|
||||
|
||||
/*************************Legion core********************/
|
||||
/obj/item/organ/regenerative_core/legion
|
||||
/obj/item/organ/internal/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(mapload)
|
||||
/obj/item/organ/internal/regenerative_core/legion/Initialize(mapload)
|
||||
. = ..()
|
||||
update_appearance()
|
||||
|
||||
/obj/item/organ/regenerative_core/update_icon_state()
|
||||
/obj/item/organ/internal/regenerative_core/update_icon_state()
|
||||
if (inert)
|
||||
icon_state = "legion_soul_inert"
|
||||
if (preserved)
|
||||
@@ -130,10 +130,10 @@
|
||||
icon_state = "legion_soul_unstable"
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/regenerative_core/legion/go_inert()
|
||||
/obj/item/organ/internal/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)
|
||||
/obj/item/organ/internal/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."
|
||||
|
||||
@@ -605,7 +605,7 @@
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
resistance_flags = FIRE_PROOF
|
||||
clothing_flags = THICKMATERIAL
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/organ/regenerative_core/legion, /obj/item/knife, /obj/item/kinetic_crusher, /obj/item/resonator, /obj/item/melee/cleaving_saw)
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/organ/internal/regenerative_core/legion, /obj/item/knife, /obj/item/kinetic_crusher, /obj/item/resonator, /obj/item/melee/cleaving_saw)
|
||||
|
||||
/obj/item/clothing/suit/hooded/berserker/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user