[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:
SkyratBot
2022-06-27 03:14:56 +02:00
committed by GitHub
parent 1bec7dddee
commit e38dcc65a0
8 changed files with 39 additions and 39 deletions

View File

@@ -34,7 +34,7 @@
/obj/item/organ/internal/heart/gland/slime = 4, /obj/item/organ/internal/heart/gland/slime = 4,
/obj/item/organ/internal/heart/gland/trauma = 4, /obj/item/organ/internal/heart/gland/trauma = 4,
/obj/item/organ/internal/heart/gland/electric = 3, /obj/item/organ/internal/heart/gland/electric = 3,
/obj/item/organ/regenerative_core = 2, /obj/item/organ/internal/regenerative_core = 2,
/obj/item/organ/internal/heart/gland/ventcrawling = 1, /obj/item/organ/internal/heart/gland/ventcrawling = 1,
/obj/item/organ/internal/body_egg/alien_embryo = 1, /obj/item/organ/internal/body_egg/alien_embryo = 1,
) )

View File

@@ -389,7 +389,7 @@
/obj/item/lighter, /obj/item/lighter,
/obj/item/mining_scanner, /obj/item/mining_scanner,
/obj/item/multitool, /obj/item/multitool,
/obj/item/organ/regenerative_core, /obj/item/organ/internal/regenerative_core,
/obj/item/pickaxe, /obj/item/pickaxe,
/obj/item/radio, /obj/item/radio,
/obj/item/reagent_containers/food/drinks, /obj/item/reagent_containers/food/drinks,

View File

@@ -107,7 +107,7 @@
time = 40 time = 40
reqs = list( reqs = list(
/obj/item/food/meat/steak/goliath = 1, /obj/item/food/meat/steak/goliath = 1,
/obj/item/organ/regenerative_core/legion = 1, /obj/item/organ/internal/regenerative_core/legion = 1,
/datum/reagent/consumable/ketchup = 2, /datum/reagent/consumable/ketchup = 2,
/datum/reagent/consumable/capsaicin = 2 /datum/reagent/consumable/capsaicin = 2
) )

View File

@@ -76,7 +76,7 @@
/obj/item/flashlight, /obj/item/flashlight,
/obj/item/knife/combat/bone, /obj/item/knife/combat/bone,
/obj/item/knife/combat/survival, /obj/item/knife/combat/survival,
/obj/item/organ/regenerative_core/legion, /obj/item/organ/internal/regenerative_core/legion,
/obj/item/pickaxe, /obj/item/pickaxe,
/obj/item/spear, /obj/item/spear,
/obj/item/tank/internals, /obj/item/tank/internals,

View File

@@ -6,21 +6,21 @@
desc = "Inject certain types of monster organs with this stabilizer to preserve their healing powers indefinitely." desc = "Inject certain types of monster organs with this stabilizer to preserve their healing powers indefinitely."
w_class = WEIGHT_CLASS_TINY 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) if(!proximity)
return return
var/obj/item/organ/regenerative_core/C = M var/obj/item/organ/internal/regenerative_core/target_core = target_organ
if(!istype(C, /obj/item/organ/regenerative_core)) 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.")) to_chat(user, span_warning("The stabilizer only works on certain types of monster organs, generally regenerative in nature."))
return return
C.preserved() target_core.preserved()
to_chat(user, span_notice("You inject the [M] with the stabilizer. It will no longer go inert.")) to_chat(user, span_notice("You inject the [target_organ] with the stabilizer. It will no longer go inert."))
qdel(src) qdel(src)
/************************Hivelord core*******************/ /************************Hivelord core*******************/
/obj/item/organ/regenerative_core /obj/item/organ/internal/regenerative_core
name = "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." 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" icon_state = "roro core 2"
@@ -33,15 +33,15 @@
var/inert = 0 var/inert = 0
var/preserved = 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) 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) if(!preserved)
go_inert() go_inert()
/obj/item/organ/regenerative_core/proc/preserved(implanted = 0) /obj/item/organ/internal/regenerative_core/proc/preserved(implanted = 0)
inert = FALSE inert = FALSE
preserved = TRUE preserved = TRUE
update_appearance() update_appearance()
@@ -51,77 +51,77 @@
else else
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "stabilizer")) 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 inert = TRUE
name = "decayed regenerative core" name = "decayed regenerative core"
desc = "All that remains of a hivelord. It has decayed, and is completely useless." 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")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "inert"))
update_appearance() update_appearance()
/obj/item/organ/regenerative_core/ui_action_click() /obj/item/organ/internal/regenerative_core/ui_action_click()
if(inert) if(inert)
to_chat(owner, span_notice("[src] breaks down as it tries to activate.")) to_chat(owner, span_notice("[src] breaks down as it tries to activate."))
else else
owner.revive(full_heal = TRUE, admin_revive = FALSE) owner.revive(full_heal = TRUE, admin_revive = FALSE)
qdel(src) 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) if(owner.health <= owner.crit_threshold)
ui_action_click() ui_action_click()
///Handles applying the core, logging and status/mood events. ///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)) if(ishuman(target))
var/mob/living/carbon/human/H = target var/mob/living/carbon/human/target_human = target
if(inert) if(inert)
to_chat(user, span_notice("[src] has decayed and can no longer be used to heal.")) to_chat(user, span_notice("[src] has decayed and can no longer be used to heal."))
return return
else else
if(H.stat == DEAD) if(target_human.stat == DEAD)
to_chat(user, span_notice("[src] is useless on the dead.")) to_chat(user, span_notice("[src] is useless on the dead."))
return return
if(H != user) if(target_human != user)
H.visible_message(span_notice("[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()]!")) 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")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other"))
else 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?")) 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")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self"))
H.apply_status_effect(/datum/status_effect/regenerative_core) target_human.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) SEND_SIGNAL(target_human, COMSIG_ADD_MOOD_EVENT, "core", /datum/mood_event/healsbadman) //Now THIS is a miner buff (fixed - nerf)
qdel(src) 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) if(proximity_flag)
applyto(target, user) 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)) if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
applyto(user, user) 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) if(!preserved && !inert)
preserved(TRUE) preserved(TRUE)
owner.visible_message(span_notice("[src] stabilizes as it's inserted.")) 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) if(!inert && !special)
owner.visible_message(span_notice("[src] rapidly decays as it's removed.")) owner.visible_message(span_notice("[src] rapidly decays as it's removed."))
go_inert() go_inert()
return ..() return ..()
/*************************Legion core********************/ /*************************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." 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" icon_state = "legion_soul"
/obj/item/organ/regenerative_core/legion/Initialize(mapload) /obj/item/organ/internal/regenerative_core/legion/Initialize(mapload)
. = ..() . = ..()
update_appearance() update_appearance()
/obj/item/organ/regenerative_core/update_icon_state() /obj/item/organ/internal/regenerative_core/update_icon_state()
if (inert) if (inert)
icon_state = "legion_soul_inert" icon_state = "legion_soul_inert"
if (preserved) if (preserved)
@@ -130,10 +130,10 @@
icon_state = "legion_soul_unstable" icon_state = "legion_soul_unstable"
return ..() 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." 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." desc = "[src] has been stabilized. It is preserved, allowing you to use it to heal completely without danger of decay."

View File

@@ -605,7 +605,7 @@
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
resistance_flags = FIRE_PROOF resistance_flags = FIRE_PROOF
clothing_flags = THICKMATERIAL 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) /obj/item/clothing/suit/hooded/berserker/Initialize(mapload)
. = ..() . = ..()

View File

@@ -255,8 +255,8 @@ While using this makes the system rely on OnFire, it still gives options for tim
/obj/structure/elite_tumor/attackby(obj/item/attacking_item, mob/user, params) /obj/structure/elite_tumor/attackby(obj/item/attacking_item, mob/user, params)
. = ..() . = ..()
if(istype(attacking_item, /obj/item/organ/regenerative_core) && activity == TUMOR_INACTIVE && !boosted) if(istype(attacking_item, /obj/item/organ/internal/regenerative_core) && activity == TUMOR_INACTIVE && !boosted)
var/obj/item/organ/regenerative_core/core = attacking_item var/obj/item/organ/internal/regenerative_core/core = attacking_item
visible_message(span_boldwarning("As [user] drops the core into [src], [src] appears to swell.")) visible_message(span_boldwarning("As [user] drops the core into [src], [src] appears to swell."))
icon_state = "advanced_tumor" icon_state = "advanced_tumor"
boosted = TRUE boosted = TRUE

View File

@@ -30,7 +30,7 @@
retreat_distance = 3 retreat_distance = 3
minimum_distance = 3 minimum_distance = 3
pass_flags = PASSTABLE pass_flags = PASSTABLE
loot = list(/obj/item/organ/regenerative_core) loot = list(/obj/item/organ/internal/regenerative_core)
var/brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood var/brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood
var/has_clickbox = TRUE var/has_clickbox = TRUE
@@ -122,7 +122,7 @@
attack_sound = 'sound/weapons/pierce.ogg' attack_sound = 'sound/weapons/pierce.ogg'
throw_message = "bounces harmlessly off of" throw_message = "bounces harmlessly off of"
crusher_loot = /obj/item/crusher_trophy/legion_skull crusher_loot = /obj/item/crusher_trophy/legion_skull
loot = list(/obj/item/organ/regenerative_core/legion) loot = list(/obj/item/organ/internal/regenerative_core/legion)
brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion
del_on_death = 1 del_on_death = 1
stat_attack = HARD_CRIT stat_attack = HARD_CRIT
@@ -267,7 +267,7 @@
layer = MOB_LAYER layer = MOB_LAYER
del_on_death = TRUE del_on_death = TRUE
sentience_type = SENTIENCE_BOSS sentience_type = SENTIENCE_BOSS
loot = list(/obj/item/organ/regenerative_core/legion = 3, /obj/effect/mob_spawn/corpse/human/legioninfested = 5) loot = list(/obj/item/organ/internal/regenerative_core/legion = 3, /obj/effect/mob_spawn/corpse/human/legioninfested = 5)
move_to_delay = 14 move_to_delay = 14
vision_range = 5 vision_range = 5
aggro_vision_range = 9 aggro_vision_range = 9
@@ -295,7 +295,7 @@
icon_aggro = "snowlegion_alive" icon_aggro = "snowlegion_alive"
icon_dead = "snowlegion" icon_dead = "snowlegion"
crusher_loot = /obj/item/crusher_trophy/legion_skull crusher_loot = /obj/item/crusher_trophy/legion_skull
loot = list(/obj/item/organ/regenerative_core/legion) loot = list(/obj/item/organ/internal/regenerative_core/legion)
brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/snow brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/snow
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/snow/make_legion(mob/living/carbon/human/H) /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/snow/make_legion(mob/living/carbon/human/H)