Files
Leland Kemble 809cef8ae9 Makes tuberculosis message only tell you to take off your clothes if you have clothes on (#94379)
## About The Pull Request

The clothes-referencing messages within tuberculosis's heating up
symptom are only chosen if the person effected has a jumpsuit on

## Why It's Good For The Game

closes #94350

## Changelog
🆑

spellcheck: Tuberculosis no longer tells naked people to get naked

/🆑
2025-12-10 20:37:20 +00:00

73 lines
3.7 KiB
Plaintext

/datum/disease/tuberculosis
form = "Disease"
name = "Fungal tuberculosis"
max_stages = 5
spread_text = "Airborne"
cure_text = "Spaceacillin & Convermol"
cures = list(/datum/reagent/medicine/spaceacillin, /datum/reagent/medicine/c2/convermol)
agent = "Fungal Tubercle bacillus Cosmosis"
viable_mobtypes = list(/mob/living/carbon/human)
cure_chance = 2.5 //like hell are you getting out of hell
desc = "A rare highly transmissible virulent virus. Few samples exist, rumoured to be carefully grown and cultured by clandestine bio-weapon specialists. Causes fever, blood vomiting, lung damage, weight loss, and fatigue."
required_organ = ORGAN_SLOT_LUNGS
severity = DISEASE_SEVERITY_BIOHAZARD
bypasses_immunity = TRUE // TB primarily impacts the lungs; it's also bacterial or fungal in nature; viral immunity should do nothing.
/datum/disease/tuberculosis/stage_act(seconds_per_tick, times_fired) //it begins
. = ..()
if(!.)
return
if(SPT_PROB(stage * 2, seconds_per_tick))
affected_mob.emote("cough")
to_chat(affected_mob, span_danger("Your chest hurts."))
switch(stage)
if(2)
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_danger("Your stomach violently rumbles!"))
if(SPT_PROB(2.5, seconds_per_tick))
to_chat(affected_mob, span_danger("You feel a cold sweat form."))
if(4)
var/need_mob_update = FALSE
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_userdanger("You see four of everything!"))
affected_mob.set_dizzy_if_lower(10 SECONDS)
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_danger("You feel a sharp pain from your lower chest!"))
need_mob_update += affected_mob.adjust_oxy_loss(5, updating_health = FALSE)
affected_mob.emote("gasp")
if(SPT_PROB(5, seconds_per_tick))
to_chat(affected_mob, span_danger("You feel air escape from your lungs painfully."))
need_mob_update += affected_mob.adjust_oxy_loss(25, updating_health = FALSE)
affected_mob.emote("gasp")
if(need_mob_update)
affected_mob.updatehealth()
if(5)
var/need_mob_update = FALSE
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_userdanger("[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]"))
need_mob_update += affected_mob.adjust_stamina_loss(70, updating_stamina = FALSE)
if(SPT_PROB(5, seconds_per_tick))
need_mob_update += affected_mob.adjust_stamina_loss(100, updating_stamina = FALSE)
affected_mob.visible_message(span_warning("[affected_mob] faints!"), span_userdanger("You surrender yourself and feel at peace..."))
affected_mob.AdjustSleeping(10 SECONDS)
if(SPT_PROB(1, seconds_per_tick))
to_chat(affected_mob, span_userdanger("You feel your mind relax and your thoughts drift!"))
affected_mob.adjust_confusion_up_to(8 SECONDS, 100 SECONDS)
if(SPT_PROB(5, seconds_per_tick))
affected_mob.vomit(VOMIT_CATEGORY_DEFAULT, lost_nutrition = 20)
if(SPT_PROB(1.5, seconds_per_tick))
to_chat(affected_mob, span_warning("<i>[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]</i>"))
affected_mob.overeatduration = max(affected_mob.overeatduration - (200 SECONDS), 0)
affected_mob.adjust_nutrition(-100)
if(SPT_PROB(7.5, seconds_per_tick))
if(ishuman(affected_mob))
var/mob/living/carbon/human/human_victim = affected_mob
to_chat(human_victim, span_danger("[human_victim.w_uniform? pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit...", "You feel like taking off some clothes...") : "You feel uncomfortably hot..."]"))
else
to_chat(affected_mob, span_danger("You feel uncomfortably hot..."))
affected_mob.adjust_bodytemperature(40)
if(need_mob_update)
affected_mob.updatehealth()