Basic Mob Lazarus Revival (#29891)

* Basic mobs revivable with lazarus

* Allows basic mobs to revive through lazarus, fixes basic mob revivals
This commit is contained in:
PollardTheDragon
2025-08-06 07:13:20 -04:00
committed by GitHub
parent a1a2d27797
commit 4d732dbb7f
2 changed files with 19 additions and 0 deletions
@@ -275,6 +275,16 @@ RESTRICT_TYPE(/mob/living/basic)
create_debug_log("woke up, trigger reason: [reason]")
med_hud_set_status()
/mob/living/basic/revive()
..()
density = initial(density)
health = maxHealth
icon = initial(icon)
icon_state = icon_living
density = initial(density)
if(TRAIT_FLYING in initial_traits)
ADD_TRAIT(src, TRAIT_FLYING, INNATE_TRAIT)
/mob/living/basic/death(gibbed)
. = ..()
if(!.)
@@ -940,6 +940,15 @@
SM.loot.Cut() //no abusing Lazarus Reagent for farming unlimited resources
SM.visible_message("<span class='warning'>[SM] seems to rise from the dead!</span>")
if(isbasicmob(M) && method == REAGENT_TOUCH)
var/mob/living/basic/BM = M
if(BM.sentience_type != revive_type) // No reviving Ash Drakes for you
return
if(BM.stat == DEAD)
BM.revive()
BM.loot.Cut() //no abusing Lazarus Reagent for farming unlimited resources
BM.visible_message("<span class='warning'>[BM] seems to rise from the dead!</span>")
if(iscarbon(M))
if(method == REAGENT_INGEST || (method == REAGENT_TOUCH && prob(25)))
if(M.stat == DEAD)