Files
Paradise/code/datums/diseases/berserker.dm
kyunkyunkyun b0463d3c83 Convert most spans to defines (#31080)
* spanish?

* aaaagain

* keep maptext

* Update robot_items.dm

* Update span_defines.dm

* compiles

* Update silicon_mob.dm

* compile
2025-12-13 23:55:48 +00:00

56 lines
2.0 KiB
Plaintext

/datum/disease/berserker
name = "Berserker"
max_stages = 2
stage_prob = 5
spread_text = "Non-contagious"
spread_flags = SPREAD_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 = VIRUS_BIOHAZARD
disease_flags = VIRUS_CURABLE
/datum/disease/berserker/stage_act()
if(!..())
return FALSE
if(affected_mob.reagents.has_reagent("thc"))
to_chat(affected_mob, SPAN_NOTICE("You mellow out."))
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_DANGER("[affected_mob] twitches violently!"))
affected_mob.drop_l_hand()
affected_mob.drop_r_hand()
if(prob(33))
if(affected_mob.incapacitated())
affected_mob.visible_message(SPAN_DANGER("[affected_mob] spasms and twitches!"))
return
affected_mob.visible_message(SPAN_DANGER("[affected_mob] thrashes around violently!"))
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, TRUE, -1)
affected_mob.visible_message(SPAN_DANGER("[affected_mob] hits [M] with [affected_mob.p_their()] thrashing!"))
M.adjustBruteLoss(damage)
else
playsound(affected_mob.loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1)
affected_mob.visible_message(SPAN_DANGER("[affected_mob] fails to hit [M] with [affected_mob.p_their()] thrashing!"))