Merge branch 'master' into surgery

Conflicts:
	code/datums/organs/organ_external.dm
This commit is contained in:
Chinsky
2012-12-01 07:16:40 +04:00
24 changed files with 235 additions and 111 deletions
@@ -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)
+13 -8
View File
@@ -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
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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