mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-09 00:13:55 +00:00
This tracks the seconds per tick of a subsystem, however note that it is not completely accurate, as subsystems can be delayed, however it's useful to have this number as a multiplier or ratio, so that if in future someone changes the subsystem wait time code correctly adjusts how fast it applies effects regexes used git grep --files-with-matches --name-only 'DT_PROB' | xargs -l sed -i 's/DT_PROB/SPT_PROB/g' git grep --files-with-matches --name-only 'delta_time' | xargs -l sed -i 's/delta_time/seconds_per_tick/g'
40 lines
1.3 KiB
Plaintext
40 lines
1.3 KiB
Plaintext
/datum/disease/fluspanish
|
|
name = "Spanish inquisition Flu"
|
|
max_stages = 3
|
|
spread_text = "Airborne"
|
|
cure_text = "Spaceacillin & Anti-bodies to the common flu"
|
|
cures = list(/datum/reagent/medicine/spaceacillin)
|
|
cure_chance = 5
|
|
agent = "1nqu1s1t10n flu virion"
|
|
viable_mobtypes = list(/mob/living/carbon/human)
|
|
spreading_modifier = 0.75
|
|
desc = "If left untreated the subject will burn to death for being a heretic."
|
|
severity = DISEASE_SEVERITY_DANGEROUS
|
|
|
|
|
|
/datum/disease/fluspanish/stage_act(seconds_per_tick, times_fired)
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
|
|
switch(stage)
|
|
if(2)
|
|
affected_mob.adjust_bodytemperature(5 * seconds_per_tick)
|
|
if(SPT_PROB(2.5, seconds_per_tick))
|
|
affected_mob.emote("sneeze")
|
|
if(SPT_PROB(2.5, seconds_per_tick))
|
|
affected_mob.emote("cough")
|
|
if(SPT_PROB(0.5, seconds_per_tick))
|
|
to_chat(affected_mob, span_danger("You're burning in your own skin!"))
|
|
affected_mob.take_bodypart_damage(0, 5, updating_health = FALSE)
|
|
|
|
if(3)
|
|
affected_mob.adjust_bodytemperature(10 * seconds_per_tick)
|
|
if(SPT_PROB(2.5, seconds_per_tick))
|
|
affected_mob.emote("sneeze")
|
|
if(SPT_PROB(2.5, seconds_per_tick))
|
|
affected_mob.emote("cough")
|
|
if(SPT_PROB(2.5, seconds_per_tick))
|
|
to_chat(affected_mob, span_danger("You're burning in your own skin!"))
|
|
affected_mob.take_bodypart_damage(0, 5, updating_health = FALSE)
|