diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 26aa1fbf046a..3440839745a4 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -507,7 +507,8 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) update_mutations_overlay()// no lizard with human hulk overlay please. -/mob/proc/has_dna() +/mob/proc/has_dna() as /datum/dna + RETURN_TYPE(/datum/dna) return /mob/living/carbon/has_dna() diff --git a/code/modules/research/xenobiology/crossbreeding/regenerative.dm b/code/modules/research/xenobiology/crossbreeding/regenerative.dm index 94531d651714..98821ff7176f 100644 --- a/code/modules/research/xenobiology/crossbreeding/regenerative.dm +++ b/code/modules/research/xenobiology/crossbreeding/regenerative.dm @@ -53,10 +53,12 @@ Regenerative extracts: /obj/item/slimecross/regenerative/purple colour = "purple" - effect_desc = "Rapidly heals the target at an even greater rate, and injects them with some regenerative jelly. Prevents softcrit while active." // monkestation edit: updates effect_desc to reflect the rework + effect_desc = "Rapidly heals the target at an even greater rate, and injects them with some regenerative jelly afterwards. Prevents softcrit while active." // monkestation edit: updates effect_desc to reflect the rework +/* monkestation edit: moved functionality to status effect /obj/item/slimecross/regenerative/purple/core_effect(mob/living/target, mob/user) target.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,10) +*/ /obj/item/slimecross/regenerative/blue colour = "blue" diff --git a/monkestation/code/modules/slimecore/crossbreeding/regenerative/colors.dm b/monkestation/code/modules/slimecore/crossbreeding/regenerative/colors.dm index 9a60f6c34241..bc662c56d4af 100644 --- a/monkestation/code/modules/slimecore/crossbreeding/regenerative/colors.dm +++ b/monkestation/code/modules/slimecore/crossbreeding/regenerative/colors.dm @@ -4,6 +4,14 @@ diminish_time = 1.5 MINUTES extra_traits = list(TRAIT_NOCRITOVERLAY, TRAIT_NOSOFTCRIT) +/datum/status_effect/regenerative_extract/purple/on_remove() + . = ..() + if(owner.has_dna()?.species?.reagent_tag & PROCESS_ORGANIC) // won't work during cooldown, and won't waste effort injecting into IPCs + var/inject_amt = round(10 * multiplier) + if(inject_amt >= 1) + owner.reagents?.add_reagent(/datum/reagent/medicine/regen_jelly, inject_amt) + + /datum/status_effect/regenerative_extract/silver base_healing_amt = 4 nutrition_heal_cap = NUTRITION_LEVEL_WELL_FED + 50