Maybe makes stuff like zombie powder more consistent / less buggy with status effects (#93836)

This commit is contained in:
MrMelbert
2025-11-27 06:22:11 -07:00
committed by GitHub
parent aa9ae1a8d3
commit c4542c2085
6 changed files with 108 additions and 30 deletions
@@ -106,30 +106,19 @@
holder.del_reagent(type)
return
human_thing.apply_status_effect(/datum/status_effect/frozenstasis/irresistable)
if(!human_thing.has_status_effect(/datum/status_effect/grouped/stasis, STASIS_CHEMICAL_EFFECT))
human_thing.apply_status_effect(/datum/status_effect/grouped/stasis, STASIS_CHEMICAL_EFFECT)
human_thing.apply_status_effect(/datum/status_effect/reagent_effect/freeze, type)
/datum/reagent/inverse/cryostylane/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
. = ..()
if(!affected_mob.has_status_effect(/datum/status_effect/frozenstasis/irresistable))
holder.remove_reagent(type, volume) // remove it all if we were broken out
return
metabolization_rate += 0.01 //speed up our metabolism over time. Chop chop.
/datum/reagent/inverse/cryostylane/metabolize_reagent(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
if(current_cycle >= 60)
holder.remove_reagent(type, volume) // remove it all if we're past 60 cycles
return
return ..()
/datum/reagent/inverse/cryostylane/on_mob_end_metabolize(mob/living/affected_mob)
. = ..()
affected_mob.remove_status_effect(/datum/status_effect/frozenstasis/irresistable)
affected_mob.remove_status_effect(/datum/status_effect/grouped/stasis, STASIS_CHEMICAL_EFFECT)
/datum/reagent/inverse/cryostylane/on_mob_delete(mob/living/affected_mob, amount)
. = ..()
affected_mob.remove_status_effect(/datum/status_effect/frozenstasis/irresistable)
affected_mob.remove_status_effect(/datum/status_effect/grouped/stasis, STASIS_CHEMICAL_EFFECT)
affected_mob.remove_status_effect(/datum/status_effect/reagent_effect/freeze)
@@ -282,7 +282,7 @@
holder_mob.adjustOxyLoss(0.5*REM, FALSE, required_biotype = affected_biotype, required_respiration_type = affected_respiration_type)
if((data?["method"] & (INGEST|INHALE)) && holder_mob.stat != DEAD)
holder_mob.fakedeath(type)
holder_mob.apply_status_effect(/datum/status_effect/reagent_effect/fakedeath, type)
/datum/reagent/toxin/zombiepowder/on_mob_metabolize(mob/living/holder_mob)
. = ..()
@@ -290,7 +290,7 @@
/datum/reagent/toxin/zombiepowder/on_mob_end_metabolize(mob/living/affected_mob)
. = ..()
affected_mob.cure_fakedeath(type)
affected_mob.remove_status_effect(/datum/status_effect/reagent_effect/fakedeath)
/datum/reagent/toxin/zombiepowder/on_mob_life(mob/living/affected_mob, seconds_per_tick, times_fired)
. = ..()