Files
Bubberstation/code/datums/diseases/brainrot.dm
oranges 4c48966ff8 Renames delta time to be a more obvious name (#74654)
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'
2023-04-11 21:31:07 -07:00

59 lines
2.4 KiB
Plaintext

/datum/disease/brainrot
name = "Brainrot"
max_stages = 4
spread_text = "On contact"
spread_flags = DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_SKIN | DISEASE_SPREAD_CONTACT_FLUIDS
cure_text = "Mannitol"
cures = list(/datum/reagent/medicine/mannitol)
agent = "Cryptococcus Cosmosis"
viable_mobtypes = list(/mob/living/carbon/human)
cure_chance = 7.5 //higher chance to cure, since two reagents are required
desc = "This disease destroys the braincells, causing brain fever, brain necrosis and general intoxication."
required_organs = list(/obj/item/organ/internal/brain)
severity = DISEASE_SEVERITY_HARMFUL
/datum/disease/brainrot/stage_act(seconds_per_tick, times_fired) //Removed toxloss because damaging diseases are pretty horrible. Last round it killed the entire station because the cure didn't work -- Urist -ACTUALLY Removed rather than commented out, I don't see it returning - RR
. = ..()
if(!.)
return
switch(stage)
if(2)
if(SPT_PROB(1, seconds_per_tick))
affected_mob.emote("blink")
if(SPT_PROB(1, seconds_per_tick))
affected_mob.emote("yawn")
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_danger("You don't feel like yourself."))
if(SPT_PROB(2.5, seconds_per_tick))
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1, 170)
if(3)
if(SPT_PROB(1, seconds_per_tick))
affected_mob.emote("stare")
if(SPT_PROB(1, seconds_per_tick))
affected_mob.emote("drool")
if(SPT_PROB(5, seconds_per_tick))
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2, 170)
if(prob(2))
to_chat(affected_mob, span_danger("Your try to remember something important...but can't."))
if(4)
if(SPT_PROB(1, seconds_per_tick))
affected_mob.emote("stare")
if(SPT_PROB(1, seconds_per_tick))
affected_mob.emote("drool")
if(SPT_PROB(7.5, seconds_per_tick))
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3, 170)
if(prob(2))
to_chat(affected_mob, span_danger("Strange buzzing fills your head, removing all thoughts."))
if(SPT_PROB(1.5, seconds_per_tick))
to_chat(affected_mob, span_danger("You lose consciousness..."))
affected_mob.visible_message(span_warning("[affected_mob] suddenly collapses!"), \
span_userdanger("You suddenly collapse!"))
affected_mob.Unconscious(rand(100, 200))
if(prob(1))
affected_mob.emote("snore")
if(SPT_PROB(7.5, seconds_per_tick))
affected_mob.adjust_stutter(6 SECONDS)