mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 12:37:26 +01:00
Merge branch 'master' into surgery
Conflicts: code/datums/organs/organ_external.dm
This commit is contained in:
@@ -821,7 +821,7 @@
|
||||
/mob/living/carbon/human/proc/morph()
|
||||
set name = "Morph"
|
||||
set category = "Superpower"
|
||||
|
||||
|
||||
if(stat!=CONSCIOUS)
|
||||
reset_view(0)
|
||||
remoteview_target = null
|
||||
@@ -972,7 +972,7 @@
|
||||
gloves.germ_level += n
|
||||
else
|
||||
germ_level += n
|
||||
|
||||
|
||||
/mob/living/carbon/human/revive()
|
||||
for (var/datum/organ/external/O in organs)
|
||||
O.status &= ~ORGAN_BROKEN
|
||||
@@ -1002,7 +1002,7 @@
|
||||
|
||||
/mob/living/carbon/human/proc/rupture_lung()
|
||||
var/datum/organ/external/chest/E = get_organ("chest")
|
||||
|
||||
|
||||
if(E.ruptured_lungs == 0)
|
||||
src.custom_pain("You feel a stabbing pain in your chest!", 1)
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
|
||||
proc/handle_blood()
|
||||
// take care of blood and blood loss
|
||||
if(stat < 2)
|
||||
if(stat < 2 && bodytemperature >= 170)
|
||||
var/blood_volume = round(vessel.get_reagent_amount("blood"))
|
||||
if(blood_volume < 560 && blood_volume)
|
||||
var/datum/reagent/blood/B = locate() in vessel.reagent_list //Grab some blood
|
||||
@@ -187,6 +187,10 @@
|
||||
var/word = pick("dizzy","woosey","faint")
|
||||
src << "\red You feel extremely [word]"
|
||||
if(0 to 122)
|
||||
// There currently is a strange bug here. If the mob is not below -100 health
|
||||
// when death() is called, apparently they will be just fine, and this way it'll
|
||||
// spam deathgasp. Adjusting toxloss ensures the mob will stay dead.
|
||||
toxloss += 300 // just to be safe!
|
||||
death()
|
||||
|
||||
|
||||
@@ -528,7 +532,7 @@
|
||||
if(!breath)
|
||||
if(isobj(loc))
|
||||
var/obj/location_as_object = loc
|
||||
breath = location_as_object.handle_internal_lifeform(src, BREATH_VOLUME)
|
||||
breath = location_as_object.handle_internal_lifeform(src, BREATH_MOLES)
|
||||
else if(isturf(loc))
|
||||
var/breath_moles = 0
|
||||
/*if(environment.return_pressure() > ONE_ATMOSPHERE)
|
||||
@@ -539,6 +543,13 @@
|
||||
breath_moles = environment.total_moles()*BREATH_PERCENTAGE
|
||||
|
||||
breath = loc.remove_air(breath_moles)
|
||||
|
||||
|
||||
if(!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)
|
||||
@@ -566,12 +577,6 @@
|
||||
var/obj/location_as_object = loc
|
||||
location_as_object.handle_internal_lifeform(src, 0)
|
||||
|
||||
|
||||
if(!lung_ruptured && breath)
|
||||
if(breath.total_moles < BREATH_MOLES / 5 || breath.total_moles > BREATH_MOLES * 5)
|
||||
if(prob(5))
|
||||
rupture_lung()
|
||||
|
||||
handle_breath(breath)
|
||||
|
||||
if(breath)
|
||||
|
||||
@@ -140,16 +140,16 @@
|
||||
src.sight |= SEE_MOBS
|
||||
src.sight |= SEE_OBJS
|
||||
src.see_in_dark = 8
|
||||
src.see_invisible = SEE_INVISIBLE_LEVEL_TWO
|
||||
src.see_invisible = SEE_INVISIBLE_MINIMUM
|
||||
else if (src.sight_mode & BORGMESON && src.sight_mode & BORGTHERM)
|
||||
src.sight |= SEE_TURFS
|
||||
src.sight |= SEE_MOBS
|
||||
src.see_in_dark = 8
|
||||
src.see_invisible = SEE_INVISIBLE_LEVEL_TWO
|
||||
src.see_invisible = SEE_INVISIBLE_MINIMUM
|
||||
else if (src.sight_mode & BORGMESON)
|
||||
src.sight |= SEE_TURFS
|
||||
src.see_in_dark = 8
|
||||
src.see_invisible = SEE_INVISIBLE_LEVEL_TWO
|
||||
src.see_invisible = SEE_INVISIBLE_MINIMUM
|
||||
else if (src.sight_mode & BORGTHERM)
|
||||
src.sight |= SEE_MOBS
|
||||
src.see_in_dark = 8
|
||||
|
||||
@@ -912,4 +912,4 @@ note dizziness decrements automatically in the mob's Life() proc.
|
||||
return ""
|
||||
|
||||
/mob/proc/flash_weak_pain()
|
||||
flick("weak_pain",pain)
|
||||
flick("weak_pain",pain)
|
||||
@@ -226,4 +226,4 @@
|
||||
var/has_limbs = 1 //Whether this mob have any limbs he can move with
|
||||
var/can_stand = 1 //Whether this mob have ability to stand
|
||||
|
||||
var/immune_to_ssd = 0
|
||||
var/immune_to_ssd = 0
|
||||
Reference in New Issue
Block a user