mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 02:57:48 +01:00
* 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
56 lines
2.1 KiB
Plaintext
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>")
|