From 14dd41923d78b69cd8a1ec9248247aa2bf131ee4 Mon Sep 17 00:00:00 2001 From: crix870 <59791882+crix870@users.noreply.github.com> Date: Mon, 6 Jan 2025 20:23:09 +1100 Subject: [PATCH 1/2] de/buffs snapshot altered stats on deadite fix, lich faction fix, zombie msg fix clarified proc name. status_effects seem to be short term buff/debuffs so it should be fine to clear like this. --- .../antagonists/roguetown/villain/zombie/zombie.dm | 12 ++++++++---- code/modules/mob/living/carbon/human/death.dm | 6 +++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/code/modules/antagonists/roguetown/villain/zombie/zombie.dm b/code/modules/antagonists/roguetown/villain/zombie/zombie.dm index 65e52cf4113..3bcccff4261 100644 --- a/code/modules/antagonists/roguetown/villain/zombie/zombie.dm +++ b/code/modules/antagonists/roguetown/villain/zombie/zombie.dm @@ -81,7 +81,7 @@ /*Death transformation process goes: death -> /mob/living/carbon/human/death(gibbed) -> - zombie_check -> + zombie_check_can_convert() -> zombie.on_gain() -> rotting.dm process -> time passes -> @@ -103,7 +103,7 @@ time passes -> wake_zombie - Infection transformation process goes -> infection -> timered transform in zombie_infect_attempt() -> /datum/antagonist/zombie/proc/wake_zombie -> zombietransform + Infection transformation process goes -> infection -> timered transform in zombie_infect_attempt() [drink red/holy water and kill timer?] -> /datum/antagonist/zombie/proc/wake_zombie -> zombietransform */ /datum/antagonist/zombie/on_gain(admin_granted = FALSE) var/mob/living/carbon/human/zombie = owner?.current @@ -121,6 +121,10 @@ soundpack_f = zombie.dna.species.soundpack_f base_intents = zombie.base_intents + //Just need to clear it to snapshot. May get things we don't want to get. + for(var/status_effect in zombie.status_effects) + zombie.remove_status_effect(status_effect) + src.STASTR = zombie.STASTR src.STASPD = zombie.STASPD src.STAINT = zombie.STAINT @@ -327,7 +331,7 @@ flash_fullscreen("redflash3") to_chat(victim, span_danger("Ow! It hurts. I feel horrible... REALLY horrible...")) - victim.zombie_check() //They are given zombie antag mind here + victim.zombie_check_can_convert() //They are given zombie antag mind here unless they're already an antag. //Delay on waking up as a zombie. /proc/wake_zombie(mob/living/carbon/zombie, infected_wake = FALSE, converted = FALSE) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(wake_zombie), victim, FALSE, TRUE), wake_delay, TIMER_STOPPABLE) @@ -396,7 +400,7 @@ zombie.Knockdown(1) ///Making sure they're not any other antag as well as adding the zombie datum to their mind -/mob/living/carbon/human/proc/zombie_check() +/mob/living/carbon/human/proc/zombie_check_can_convert() if(!mind) return if(mind.has_antag_datum(/datum/antagonist/vampirelord)) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index be2eaab234a..ee3e602353a 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -64,9 +64,9 @@ ZOMBIFICATION BY DEATH BEGINS HERE */ if(!is_in_roguetown(src)) - zombie_check() //Gives the dead unit the zombie antag flag - to_chat(src, span_userdanger("..is this to be my end..?")) - to_chat(src, span_danger("The cold consumes the final flicker of warmth in your chest and begins to seep into your limbs...")) + if(!zombie_check_can_convert()) //Gives the dead unit the zombie antag flag + to_chat(src, span_userdanger("..is this to be my end..?")) + to_chat(src, span_danger("The cold consumes the final flicker of warmth in your chest and begins to seep into your limbs...")) if(client || mind) SSticker.deaths++ From 24d9ca88bfaceee04dece3cf7acc3413f457234c Mon Sep 17 00:00:00 2001 From: crix870 <59791882+crix870@users.noreply.github.com> Date: Mon, 6 Jan 2025 20:28:24 +1100 Subject: [PATCH 2/2] lich faction --- code/modules/antagonists/roguetown/villain/lich.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/antagonists/roguetown/villain/lich.dm b/code/modules/antagonists/roguetown/villain/lich.dm index fb12ea3acdd..c4fd114d338 100644 --- a/code/modules/antagonists/roguetown/villain/lich.dm +++ b/code/modules/antagonists/roguetown/villain/lich.dm @@ -223,6 +223,7 @@ new_body.real_name = old_body.name new_body.dna.real_name = old_body.real_name new_body.mob_biotypes |= MOB_UNDEAD + new_body.faction = list("undead") new_body.set_patron(/datum/patron/inhumen/zizo) new_body.mind.grab_ghost(force = TRUE)