mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-03 05:21:27 +00:00
37 lines
1.0 KiB
Plaintext
37 lines
1.0 KiB
Plaintext
/datum/round_event_control/brain_trauma
|
|
name = "Spontaneous Brain Trauma"
|
|
typepath = /datum/round_event/brain_trauma
|
|
weight = 25
|
|
|
|
/datum/round_event/brain_trauma
|
|
fakeable = FALSE
|
|
|
|
/datum/round_event/brain_trauma/start()
|
|
for(var/mob/living/carbon/human/H in shuffle(GLOB.alive_mob_list))
|
|
if(!H.client)
|
|
continue
|
|
if(H.stat == DEAD) // What are you doing in this list
|
|
continue
|
|
if(!H.getorgan(/obj/item/organ/brain)) // If only I had a brain
|
|
continue
|
|
if(!(H.mind.assigned_role.job_flags & JOB_CREW_MEMBER)) //please stop giving my centcom admin gimmicks full body paralysis
|
|
continue
|
|
traumatize(H)
|
|
announce_to_ghosts(H)
|
|
break
|
|
|
|
/datum/round_event/brain_trauma/proc/traumatize(mob/living/carbon/human/H)
|
|
var/resistance = pick(
|
|
50;TRAUMA_RESILIENCE_BASIC,
|
|
30;TRAUMA_RESILIENCE_SURGERY,
|
|
15;TRAUMA_RESILIENCE_LOBOTOMY,
|
|
5;TRAUMA_RESILIENCE_MAGIC)
|
|
|
|
var/trauma_type = pickweight(list(
|
|
BRAIN_TRAUMA_MILD = 60,
|
|
BRAIN_TRAUMA_SEVERE = 30,
|
|
BRAIN_TRAUMA_SPECIAL = 10
|
|
))
|
|
|
|
H.gain_trauma_type(trauma_type, resistance)
|