mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-05 11:23:17 +01:00
b0463d3c83
* spanish? * aaaagain * keep maptext * Update robot_items.dm * Update span_defines.dm * compiles * Update silicon_mob.dm * compile
56 lines
2.0 KiB
Plaintext
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!"))
|