From c48dd86e6e7c59d1ef981fbe716d8349e61fdd2b Mon Sep 17 00:00:00 2001 From: Putnam Date: Thu, 3 Sep 2020 18:03:11 -0700 Subject: [PATCH 1/2] Makes brain trauma not roll lobotomy-resist and only happen when there's doctors. --- code/modules/events/brain_trauma.dm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/code/modules/events/brain_trauma.dm b/code/modules/events/brain_trauma.dm index 0a07e2a693..171a3696d3 100644 --- a/code/modules/events/brain_trauma.dm +++ b/code/modules/events/brain_trauma.dm @@ -3,6 +3,13 @@ typepath = /datum/round_event/brain_trauma weight = 25 +/datum/round_event_control/brain_trauma/canSpawnEvent(var/players_amt, var/gamemode) + var/list/enemy_roles = list("Medical Doctor","Chief Medical Officer","Paramedic") + for (var/mob/M in GLOB.alive_mob_list) + if(M.stat != DEAD && M.mind?.assigned_role in enemy_roles) + return TRUE + return FALSE + /datum/round_event/brain_trauma fakeable = FALSE @@ -22,8 +29,7 @@ /datum/round_event/brain_trauma/proc/traumatize(mob/living/carbon/human/H) var/resistance = pick( 65;TRAUMA_RESILIENCE_BASIC, - 30;TRAUMA_RESILIENCE_SURGERY, - 5;TRAUMA_RESILIENCE_LOBOTOMY) + 35;TRAUMA_RESILIENCE_SURGERY) var/trauma_type = pickweight(list( BRAIN_TRAUMA_MILD = 60, From bb9374a3f06357b45de27fc05424400e6da875fb Mon Sep 17 00:00:00 2001 From: Putnam Date: Thu, 3 Sep 2020 18:15:58 -0700 Subject: [PATCH 2/2] Significantly reduced chance of severe trauma, too. --- code/modules/events/brain_trauma.dm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/code/modules/events/brain_trauma.dm b/code/modules/events/brain_trauma.dm index 171a3696d3..75c514774c 100644 --- a/code/modules/events/brain_trauma.dm +++ b/code/modules/events/brain_trauma.dm @@ -6,7 +6,7 @@ /datum/round_event_control/brain_trauma/canSpawnEvent(var/players_amt, var/gamemode) var/list/enemy_roles = list("Medical Doctor","Chief Medical Officer","Paramedic") for (var/mob/M in GLOB.alive_mob_list) - if(M.stat != DEAD && M.mind?.assigned_role in enemy_roles) + if(M.stat != DEAD && (M.mind?.assigned_role in enemy_roles)) return TRUE return FALSE @@ -23,6 +23,8 @@ continue if(HAS_TRAIT(H,TRAIT_EXEMPT_HEALTH_EVENTS)) continue + if(!is_station_level(H.z)) + continue traumatize(H) break @@ -32,8 +34,8 @@ 35;TRAUMA_RESILIENCE_SURGERY) var/trauma_type = pickweight(list( - BRAIN_TRAUMA_MILD = 60, - BRAIN_TRAUMA_SEVERE = 30, + BRAIN_TRAUMA_MILD = 80, + BRAIN_TRAUMA_SEVERE = 10, BRAIN_TRAUMA_SPECIAL = 10 ))