diff --git a/code/datums/elements/atmos_requirements.dm b/code/datums/elements/atmos_requirements.dm index 0b4b6e17443..1e7b5ba9368 100644 --- a/code/datums/elements/atmos_requirements.dm +++ b/code/datums/elements/atmos_requirements.dm @@ -49,7 +49,7 @@ if(!isopenturf(target.loc)) return TRUE - var/can_breathe_vacuum = HAS_TRAIT(target, TRAIT_NO_BREATHLESS_DAMAGE) + var/can_breathe_vacuum = HAS_TRAIT(target, TRAIT_NO_BREATHLESS_DAMAGE) || HAS_TRAIT(target, TRAIT_NOBREATH) var/min_oxy = can_breathe_vacuum ? 0 : atmos_requirements["min_oxy"] var/min_plasma = can_breathe_vacuum ? 0 : atmos_requirements["min_plas"] diff --git a/code/datums/elements/body_temp_sensitive.dm b/code/datums/elements/body_temp_sensitive.dm index ce74f9c9f7f..b48136185ff 100644 --- a/code/datums/elements/body_temp_sensitive.dm +++ b/code/datums/elements/body_temp_sensitive.dm @@ -49,7 +49,7 @@ var/mob/living/living_mob = target var/gave_alert = FALSE - if(living_mob.bodytemperature < min_body_temp) + if(living_mob.bodytemperature < min_body_temp && !HAS_TRAIT(living_mob, TRAIT_RESISTCOLD)) living_mob.adjust_fire_loss(cold_damage * seconds_per_tick, forced = TRUE) if(!living_mob.has_status_effect(/datum/status_effect/inebriated)) switch(cold_damage) @@ -61,7 +61,7 @@ living_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 3) gave_alert = TRUE - else if(living_mob.bodytemperature > max_body_temp) + else if(living_mob.bodytemperature > max_body_temp && !HAS_TRAIT(living_mob, TRAIT_RESISTHEAT)) living_mob.adjust_fire_loss(heat_damage * seconds_per_tick, forced = TRUE) switch(heat_damage) if(1 to 5)