Files
Nathan Winters dad3774e7b Buffs the Virus Outbreak event (#23285)
* Spring cleaning

* The great virus reclassification

* Add severity comment to Fake GBS

* Fix Jungle Fever being uncurable

* Fix Shock causing fainting slightly too often

* Makes Brainrot kill more reliably (yes, it already did)

* Make Wizarditis replace clothes a bit less eagerly, cleanup

* Buff Wizarditis effects' probabilities

* Add a bit of variety to Wizarditis flavor messages

* Clean up, nerf, and add some variety to Lycancoughy

* Refactor Spanish Inquisition Flu

* Refactor and slightly rebalance ICE9 Cold

* Fix DROPDEL items not GCing properly sometimes

* Lightly overhaul Pierrot's Throat

* Remove unnecessary `null` declaration assignment

* Deduplicate Critical disease properties

* Spring cleaning 2: Electric Boogaloo

* whoops

* Fixes DROPDEL items not GCing properly someothertimes

* Make Wizarditis clothes DROPDEL too

* Lewcc review

* Deduplicate Pierrot's Throat symptoms

* Spread out Cold9 and Spanish Flu's damage

* Clean up Adv. Kingstons

* Fix Adv. Kingstons *healing* brute damage
2023-12-31 10:21:45 +00:00

51 lines
2.1 KiB
Plaintext

/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, "<span class='notice'>You feel anxious.</span>")
if(3)
if(prob(10))
to_chat(affected_mob, "<span class='notice'>Your stomach flutters.</span>")
if(prob(5))
to_chat(affected_mob, "<span class='notice'>You feel panicky.</span>")
if(prob(2))
to_chat(affected_mob, "<span class='danger'>You're overtaken with panic!</span>")
affected_mob.AdjustConfused(rand(4 SECONDS, 6 SECONDS))
if(4)
if(prob(10))
to_chat(affected_mob, "<span class='danger'>You feel butterflies in your stomach.</span>")
if(prob(5))
affected_mob.visible_message("<span class='danger'>[affected_mob] stumbles around in a panic.</span>", \
"<span class='userdanger'>You have a panic attack!</span>")
affected_mob.AdjustConfused(rand(12 SECONDS, 16 SECONDS))
affected_mob.AdjustJitter(rand(12 SECONDS, 16 SECONDS))
if(prob(2))
affected_mob.visible_message("<span class='danger'>[affected_mob] coughs up butterflies!</span>", \
"<span class='userdanger'>You cough up butterflies!</span>")
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("<span class='notice'>[src] decomposes due to being outside of its original habitat for too long!</span>",
"<span class='userdanger'>You decompose for being too long out of your habitat!</span>")
melt()