From 3249482a30b6f2ec60dc051409cd631820f48b03 Mon Sep 17 00:00:00 2001 From: SomeguyManperson Date: Mon, 24 Jun 2024 05:33:59 -0400 Subject: [PATCH] this stuff is probably important, cleanup after transformation --- code/datums/diseases/legionvirus.dm | 5 +++-- .../mob/living/simple_animal/hostile/mining_mobs/hivelord.dm | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/code/datums/diseases/legionvirus.dm b/code/datums/diseases/legionvirus.dm index a506f10f0836..5d4846643b66 100644 --- a/code/datums/diseases/legionvirus.dm +++ b/code/datums/diseases/legionvirus.dm @@ -1,4 +1,4 @@ -/datum/disease/transformation/legionvirus +/datum/disease/transformation/legionvirus //Diseases are a quick way to exposit a bunch of information onto players, most of the effects here are handled by the legion skull organ from /mob/living/simple_animal/hostile/mining_mobs/hivelord.dm name = "Legion Infection" max_stages = 5 spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS @@ -21,6 +21,8 @@ new_form = /mob/living/simple_animal/hostile/asteroid/hivelord/legion /datum/disease/transformation/legionvirus/do_disease_transformation(mob/living/H) + if(stage5) + to_chat(affected_mob, pick(stage5)) H.visible_message(span_warning("[H] suddenly collapses, a pallid grey mass bursting from their body!")) var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L if(HAS_TRAIT(H, TRAIT_DWARF)) //dwarf legions aren't just fluff! @@ -31,4 +33,3 @@ H.adjustBruteLoss(1000) L.stored_mob = H H.forceMove(L) - qdel(src) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index c00a371cd0ae..4ffa2f6317bf 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -313,6 +313,11 @@ /// Updates the stage of our tied disease /obj/item/organ/legion_skull/proc/update_stage() malignance.update_stage(min(malignance.stage + 1, malignance.max_stages)) + if(malignance.stage == 5) + malignance.stage_act() //force the transformation here, then delete everything + qdel(malignance) + qdel(src) + return malignance_countdown = initial(malignance_countdown) malignance_tracker = addtimer(CALLBACK(src, PROC_REF(update_stage)), malignance_countdown, TIMER_STOPPABLE|TIMER_DELETE_ME)