Zombie powder works through inhale/ingest again (#92880)

## About The Pull Request
- Fixes #92873

ignore commit message, that's a typo

## Changelog
🆑
fix: zombie powder works through inhale(now faster acting)/ingest again
/🆑
This commit is contained in:
SyncIt21
2025-09-07 11:11:30 +02:00
committed by GitHub
parent 9077171fa7
commit b0a69a4023
@@ -259,26 +259,39 @@
ph = 13
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
/datum/reagent/toxin/zombiepowder/on_mob_metabolize(mob/living/holder_mob)
/datum/reagent/toxin/zombiepowder/expose_mob(mob/living/exposed_mob, methods, reac_volume, show_message, touch_protection)
. = ..()
if(!isliving(exposed_mob) || !(methods & (INGEST|INHALE)))
return
LAZYINITLIST(data)
data["method"] |= methods
//the stomach handles INGEST via on_mob_metabolize() we only deal with INHALE
//also means vapour works much faster which is realistic
if(methods & INHALE)
zombify(exposed_mob)
/**
* Does the fake death & oxy loss on the mob
*
* Arguments
* * mob/living/holder_mob - the mob we are zombifying
*/
/datum/reagent/toxin/zombiepowder/proc/zombify(mob/living/holder_mob)
PRIVATE_PROC(TRUE)
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)
/datum/reagent/toxin/zombiepowder/on_mob_metabolize(mob/living/holder_mob)
. = ..()
zombify(holder_mob)
/datum/reagent/toxin/zombiepowder/on_mob_end_metabolize(mob/living/affected_mob)
. = ..()
affected_mob.cure_fakedeath(type)
/datum/reagent/toxin/zombiepowder/expose_mob(mob/living/exposed_mob, methods, reac_volume, show_message, touch_protection)
. = ..()
if(!(methods & (INGEST|INHALE)))
return
var/datum/reagent/zombiepowder = exposed_mob.reagents.has_reagent(/datum/reagent/toxin/zombiepowder)
if(zombiepowder)
LAZYINITLIST(zombiepowder.data)
zombiepowder.data["method"] |= (INGEST|INHALE)
/datum/reagent/toxin/zombiepowder/on_mob_life(mob/living/affected_mob, seconds_per_tick, times_fired)
. = ..()
if(HAS_TRAIT(affected_mob, TRAIT_FAKEDEATH) && HAS_TRAIT(affected_mob, TRAIT_DEATHCOMA))