diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index ddb6e41260..e0d5c3c14c 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -357,6 +357,17 @@ internals.icon_state = "internal0" return null +/mob/living/carbon/human/get_breath_from_environment(var/volume_needed=BREATH_VOLUME) + var/datum/gas_mixture/breath = ..() + + if(breath) + //exposure to extreme pressures can rupture lungs + var/check_pressure = breath.return_pressure() + if(check_pressure < ONE_ATMOSPHERE / 5 || check_pressure > ONE_ATMOSPHERE * 5) + if(is_lung_ruptured() && prob(5)) + rupture_lung() + + return breath /mob/living/carbon/human/handle_breath(datum/gas_mixture/breath) if(status_flags & GODMODE) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 232adb345b..3a661d6f91 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -348,9 +348,8 @@ var/list/solars_list = list() /obj/machinery/power/solar_control/initialize() ..() - if(!powernet) return + if(!connect_to_network()) return set_panels(cdir) - connect_to_network() /obj/machinery/power/solar_control/update_icon() if(stat & BROKEN)