Files
Paradise/code/datums/diseases/berserker.dm
T
Nathan WintersandGitHub 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

56 lines
2.1 KiB
Plaintext

/datum/disease/berserker
name = "Berserker"
max_stages = 2
stage_prob = 5
spread_text = "Non-contagious"
spread_flags = NON_CONTAGIOUS
cure_text = "Anti-Psychotics"
cures = list("haloperidol")
agent = "Jagged Crystals"
cure_chance = 10
viable_mobtypes = list(/mob/living/carbon/human)
desc = "Swearing, shouting, attacking nearby crew members uncontrollably."
severity = BIOHAZARD
disease_flags = CURABLE
/datum/disease/berserker/stage_act()
if(!..())
return FALSE
if(affected_mob.reagents.has_reagent("thc"))
to_chat(affected_mob, "<span class='notice'>You mellow out.</span>")
cure()
return
switch(stage)
if(1)
if(prob(5))
affected_mob.emote(pick("twitch_s", "grumble"))
if(prob(5))
var/speak = pick("Grr...", "Fuck...", "Fucking...", "Fuck this fucking.. fuck..")
affected_mob.say(speak)
if(2)
if(prob(5))
affected_mob.emote(pick("twitch_s", "scream"))
if(prob(5))
var/speak = pick("AAARRGGHHH!!!!", "GRR!!!", "FUCK!! FUUUUUUCK!!!", "FUCKING SHITCOCK!!", "WROOAAAGHHH!!")
affected_mob.say(speak)
if(prob(15))
affected_mob.visible_message("<span class='danger'>[affected_mob] twitches violently!</span>")
affected_mob.drop_l_hand()
affected_mob.drop_r_hand()
if(prob(33))
if(affected_mob.incapacitated())
affected_mob.visible_message("<span class='danger'>[affected_mob] spasms and twitches!</span>")
return
affected_mob.visible_message("<span class='danger'>[affected_mob] thrashes around violently!</span>")
for(var/mob/living/carbon/M in range(1, affected_mob))
if(M == affected_mob)
continue
var/damage = rand(1, 5)
if(prob(80))
playsound(affected_mob.loc, "punch", 25, 1, -1)
affected_mob.visible_message("<span class='danger'>[affected_mob] hits [M] with [affected_mob.p_their()] thrashing!</span>")
M.adjustBruteLoss(damage)
else
playsound(affected_mob.loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
affected_mob.visible_message("<span class='danger'>[affected_mob] fails to hit [M] with [affected_mob.p_their()] thrashing!</span>")