Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deadite stat snapshot fix, lich faction fix #1166

Merged
merged 2 commits into from
Jan 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions code/modules/antagonists/roguetown/villain/lich.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
12 changes: 8 additions & 4 deletions code/modules/antagonists/roguetown/villain/zombie/zombie.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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 ->
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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))
Expand Down
6 changes: 3 additions & 3 deletions code/modules/mob/living/carbon/human/death.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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++
Expand Down
Loading