From a8b5d744e80c14536e7c4f68153ea5e2db62360a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 15 Jun 2018 04:47:52 -0500 Subject: [PATCH] [MIRROR] RESISTCOLD trait now prevents damage and slowdown from cold, instead of preventing cold itself (#7084) * RESISTCOLD trait now prevents damage and slowdown from cold, instead of preventing cold itself * Update life.dm --- code/modules/mob/living/carbon/human/life.dm | 2 -- code/modules/mob/living/carbon/human/species.dm | 4 ++-- code/modules/mob/living/carbon/monkey/life.dm | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 4b67540a9e..0e033856b2 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -236,8 +236,6 @@ return thermal_protection_flags /mob/living/carbon/human/proc/get_cold_protection(temperature) - if(has_trait(TRAIT_RESISTCOLD)) - return TRUE //CITADEL EDIT Mandatory for vore code. if(istype(loc, /obj/item/dogborg/sleeper)) return TRUE //freezing to death in sleepers ruins fun. diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 993967eda6..51ba7a9d9c 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1277,7 +1277,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(H.has_trait(TRAIT_FAT)) . += (1.5 - flight) - if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) + if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !H.has_trait(TRAIT_RESISTCOLD)) . += (BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR return . @@ -1722,7 +1722,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.emote("scream") H.apply_damage(burn_damage, BURN) - else if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !(GLOB.mutations_list[COLDRES] in H.dna.mutations)) + else if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !H.has_trait(TRAIT_RESISTCOLD)) H.SendSignal(COMSIG_CLEAR_MOOD_EVENT, "hot") H.SendSignal(COMSIG_ADD_MOOD_EVENT, "cold", /datum/mood_event/cold) switch(H.bodytemperature) diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index 63634e08ad..518bf46041 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -87,7 +87,7 @@ adjust_bodytemperature(min((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR, BODYTEMP_HEATING_MAX)) - if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT) + if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT && !has_trait(TRAIT_RESISTHEAT)) switch(bodytemperature) if(360 to 400) throw_alert("temp", /obj/screen/alert/hot, 1) @@ -102,7 +102,7 @@ else apply_damage(HEAT_DAMAGE_LEVEL_2, BURN) - else if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) + else if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !has_trait(TRAIT_RESISTCOLD)) if(!istype(loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) switch(bodytemperature) if(200 to 260)