diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 828d105a5e0..1d6816d4445 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1111,26 +1111,6 @@ src.custom_pain("You feel a stabbing pain in your chest!", 1) L.damage = L.min_bruised_damage -//Gave the rupture_lung() call it's own proc to have much more control over it. -/mob/living/carbon/human/proc/try_lung_rupture(argBreath) - var/datum/gas_mixture/environment = loc.return_air() - var/datum/gas_mixture/breath = argBreath - var/pressure = environment.return_pressure() - var/adjusted_pressure = calculate_affecting_pressure(pressure) - - //High kPa - if(!is_lung_ruptured() && breath.total_moles > BREATH_MOLES * 5) - if(prob(5)) - rupture_lung() - return - //Low kPa - else if(!is_lung_ruptured() && internal && adjusted_pressure <= species.hazard_low_pressure) - if(internal.distribute_pressure >= species.warning_low_pressure) - if(prob(33)) - rupture_lung() - return - else - return /* /mob/living/carbon/human/verb/simulate() set name = "sim" diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 386b8d3008d..7bbb5cc1a35 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -36,7 +36,6 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc var/do_deferred_species_setup=0 var/exposedtimenow = 0 var/firstexposed = 0 - var/last_message = 0 // Doing this during species init breaks shit. /mob/living/carbon/human/proc/DeferredSpeciesSetup() @@ -277,35 +276,6 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc // as cloneloss adjustCloneLoss(0.1) - //Makes Space a little more evil, simulates that space is full of errent high energy particles waiting to tear you up. - proc/cosmic_radiation() - var/ax = x - var/ay = y - - if(istype(loc, /turf/space)) - if(!(getarmor("chest", "rad") > 0)) - if(prob(33)) - apply_effect((rand(3,7)),IRRADIATE,0) - //Thank you to whoever wrote the vampire's sun code. - if(!(wear_suit && (wear_suit.flags & STOPSPRESSUREDMAGE)) && !(species.flags & RAD_ABSORB)) - for(var/i = 1 to 20) - ax += sun.dx - ay += sun.dy - - var/turf/T = locate( round(ax,0.5),round(ay,0.5),z) - - if(T.x == 1 || T.x==world.maxx || T.y==1 || T.y==world.maxy) - break - - if(T.density) - return - - var/datum/organ/external/O = pick(organs) - apply_damage(3, BURN, O) - if(world.time - last_message > 5) - src << "\red You feel the intense heat of the sun giving you a harsh sunburn." - last_message = world.time - proc/handle_mutations_and_radiation() if(species.flags & IS_SYNTHETIC) //Robots don't suffer from mutations or radloss. @@ -315,7 +285,6 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc if((M_RESIST_HEAT in mutations) || (prob(1))) heal_organ_damage(0,1) - cosmic_radiation() for(var/datum/dna/gene/gene in dna_genes) if(!gene.block) @@ -395,7 +364,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc if(damage && organs.len) var/datum/organ/external/O = pick(organs) if(istype(O)) O.add_autopsy_data("Radiation Poisoning", damage) - + proc/breathe() if(reagents.has_reagent("lexorin")) return if(M_NO_BREATH in mutations) return // No breath mutation means no breathing. @@ -419,8 +388,6 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc else //First, check for air from internal atmosphere (using an air tank and mask generally) breath = get_breath_from_internal(BREATH_VOLUME) // Super hacky -- TLE - if(breath) - try_lung_rupture(breath) //breath = get_breath_from_internal(0.5) // Manually setting to old BREATH_VOLUME amount -- TLE //No breath from internal atmosphere so get breath from location @@ -438,9 +405,12 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc breath_moles = environment.total_moles()*BREATH_PERCENTAGE breath = loc.remove_air(breath_moles) - - try_lung_rupture(breath) - + + if(!is_lung_ruptured()) + if(!breath || breath.total_moles < BREATH_MOLES / 5 || breath.total_moles > BREATH_MOLES * 5) + if(prob(5)) + rupture_lung() + // Handle chem smoke effect -- Doohl var/block = 0 if(wear_mask) @@ -630,8 +600,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc pressure_alert = -1 else if( !(M_RESIST_COLD in mutations)) - //Low pressure really cant deal much pysical damage but would be pretty painful. -IndexLP - apply_damage(LOW_PRESSURE_DAMAGE+1, HALLOSS) + take_overall_damage(brute=LOW_PRESSURE_DAMAGE, used_weapon = "Low Pressure") pressure_alert = -2 else pressure_alert = -1 @@ -1074,16 +1043,12 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc for(var/atom/a in hallucinations) del a - if(halloss > 100 && pressure_alert != -2) + if(halloss > 100) src << "You're in too much pain to keep going..." for(var/mob/O in oviewers(src, null)) O.show_message("[src] slumps to the ground, too weak to continue fighting.", 1) Paralyse(10) setHalLoss(99) - if(halloss > 100 && pressure_alert == -2) - src << "You're in too much pain to keep going..." - Paralyse(10) - setHalLoss(95) if(paralysis) AdjustParalysis(-1)