/datum/disease/anxiety name = "Severe Anxiety" form = "Infection" max_stages = 4 spread_text = "On contact" spread_flags = CONTACT_GENERAL cure_text = "Ethanol" cures = list("ethanol") agent = "Excess Lepidopticides" viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) desc = "If left untreated subject will regurgitate butterflies." severity = MINOR /datum/disease/anxiety/stage_act() if(!..()) return FALSE switch(stage) if(2) if(prob(5)) to_chat(affected_mob, "You feel anxious.") if(3) if(prob(10)) to_chat(affected_mob, "Your stomach flutters.") if(prob(5)) to_chat(affected_mob, "You feel panicky.") if(prob(2)) to_chat(affected_mob, "You're overtaken with panic!") affected_mob.AdjustConfused(rand(4 SECONDS, 6 SECONDS)) if(4) if(prob(10)) to_chat(affected_mob, "You feel butterflies in your stomach.") if(prob(5)) affected_mob.visible_message("[affected_mob] stumbles around in a panic.", \ "You have a panic attack!") affected_mob.AdjustConfused(rand(12 SECONDS, 16 SECONDS)) affected_mob.AdjustJitter(rand(12 SECONDS, 16 SECONDS)) if(prob(2)) affected_mob.visible_message("[affected_mob] coughs up butterflies!", \ "You cough up butterflies!") for(var/i in 1 to 2) var/mob/living/simple_animal/butterfly/B = new(affected_mob.loc) addtimer(CALLBACK(B, TYPE_PROC_REF(/mob/living/simple_animal/butterfly, decompose)), rand(5, 25) SECONDS) /** * Made so severe anxiety does not overload the SSmob while keeping it's effect */ /mob/living/simple_animal/butterfly/proc/decompose() visible_message("[src] decomposes due to being outside of its original habitat for too long!", "You decompose for being too long out of your habitat!") melt()