Implemented getToxLoss()

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2528 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
rockdtben
2011-11-17 23:42:09 +00:00
parent 5b81f6ffa3
commit 38d90773cc
41 changed files with 90 additions and 89 deletions

View File

@@ -288,7 +288,7 @@
mob.suiciding = 1
//instead of killing them instantly, just put them at -175 health and let 'em gasp for a while
viewers(mob) << "\red <b>[mob.name] is attempting to bite off \his tongue. It looks like \he's trying to commit suicide.</b>"
mob.oxyloss = max(175 - mob.toxloss - mob.fireloss - mob.getBruteLoss(), mob.getOxyLoss())
mob.oxyloss = max(175 - mob.getToxLoss() - mob.fireloss - mob.getBruteLoss(), mob.getOxyLoss())
mob.updatehealth()
spawn(200) //in case they get revived by cryo chamber or something stupid like that, let them suicide again in 20 seconds
mob.suiciding = 0

View File

@@ -32,7 +32,7 @@
if (istype(location, /turf/simulated))
location.add_vomit_floor(affected_mob)
affected_mob.nutrition -= 95
affected_mob:toxloss = max(affected_mob:toxloss-1,0)
affected_mob:toxloss = max(affected_mob:getToxLoss()-1,0)
else
affected_mob << "\red You gag as you want to throw up, but there's nothing in your stomach!"
affected_mob.weakened += 10

View File

@@ -17,6 +17,8 @@
// var/uses_hud = 0
var/bruteloss = 0.0//Living
var/oxyloss = 0.0//Living
var/toxloss = 0.0//Living
var/obj/screen/flash = null
@@ -89,8 +91,7 @@
var/lying = 0.0
var/canmove = 1.0
var/eye_stat = null//Living, potentially Carbon
var/oxyloss = 0.0//Living
var/toxloss = 0.0//Living
var/fireloss = 0.0//Living
var/timeofdeath = 0.0//Living

View File

@@ -392,7 +392,7 @@
connected = null
O.name = text("monkey ([])",copytext(md5(M.real_name), 2, 6))
O.take_overall_damage(M.getBruteLoss() + 40, M.fireloss)
O.toxloss += (M.toxloss + 20)
O.toxloss += (M.getToxLoss() + 20)
O.oxyloss += M.getOxyLoss()
O.stat = M.stat
O.a_intent = "hurt"
@@ -467,7 +467,7 @@
i++
updateappearance(O,O.dna.uni_identity)
O.take_overall_damage(M.getBruteLoss(), M.fireloss)
O.toxloss += M.toxloss
O.toxloss += M.getToxLoss()
O.oxyloss += M.getOxyLoss()
O.stat = M.stat
for (var/obj/item/weapon/implant/I in implants)

View File

@@ -232,7 +232,7 @@
O.loc = usr.loc
O.name = text("monkey ([])",copytext(md5(usr.real_name), 2, 6))
O.toxloss = usr.toxloss
O.toxloss = usr.getToxLoss()
O.bruteloss = usr.getBruteLoss()
O.oxyloss = usr.getOxyLoss()
O.fireloss = usr.fireloss
@@ -327,7 +327,7 @@
updateappearance(O,O.dna.uni_identity)
domutcheck(O, null)
O.toxloss = usr.toxloss
O.toxloss = usr.getToxLoss()
O.bruteloss = usr.getBruteLoss()
O.oxyloss = usr.getOxyLoss()
O.fireloss = usr.fireloss

View File

@@ -288,7 +288,7 @@ ________________________________________________________________________________
dat += "<h4>Overall Status: [U.stat > 1 ? "dead" : "[U.health]% healthy"]</h4>"
dat += "<h4>Nutrition Status: [U.nutrition]</h4>"
dat += "Oxygen loss: [U.getOxyLoss()]"
dat += " | Toxin levels: [U.toxloss]<br>"
dat += " | Toxin levels: [U.getToxLoss()]<br>"
dat += "Burn severity: [U.fireloss]"
dat += " | Brute trauma: [U.getBruteLoss()]<br>"
dat += "Radiation Level: [U.radiation] rad<br>"

View File

@@ -63,7 +63,7 @@
dat += text("[]\tHealth %: [] ([])</FONT><BR>", (occupant.health > 50 ? "<font color='blue'>" : "<font color='red'>"), occupant.health, t1)
dat += text("[]\t-Brute Damage %: []</FONT><BR>", (occupant.getBruteLoss() < 60 ? "<font color='blue'>" : "<font color='red'>"), occupant.getBruteLoss())
dat += text("[]\t-Respiratory Damage %: []</FONT><BR>", (occupant.getOxyLoss() < 60 ? "<font color='blue'>" : "<font color='red'>"), occupant.getOxyLoss())
dat += text("[]\t-Toxin Content %: []</FONT><BR>", (occupant.toxloss < 60 ? "<font color='blue'>" : "<font color='red'>"), occupant.toxloss)
dat += text("[]\t-Toxin Content %: []</FONT><BR>", (occupant.getToxLoss() < 60 ? "<font color='blue'>" : "<font color='red'>"), occupant.getToxLoss())
dat += text("[]\t-Burn Severity %: []</FONT><BR>", (occupant.fireloss < 60 ? "<font color='blue'>" : "<font color='red'>"), occupant.fireloss)
dat += text("<HR>Paralysis Summary %: [] ([] seconds left!)<BR>", occupant.paralysis, round(occupant.paralysis / 4))
dat += text("Inaprovaline units: [] units<BR>", occupant.reagents.get_reagent_amount("inaprovaline"))
@@ -333,7 +333,7 @@
user << text("[]\t -Core Temperature: []&deg;C ([]&deg;F)</FONT><BR>", (src.occupant.bodytemperature > 50 ? "<font color='blue'>" : "<font color='red'>"), src.occupant.bodytemperature-T0C, src.occupant.bodytemperature*1.8-459.67)
user << text("[]\t -Brute Damage %: []", (src.occupant.getBruteLoss() < 60 ? "\blue " : "\red "), src.occupant.getBruteLoss())
user << text("[]\t -Respiratory Damage %: []", (src.occupant.getOxyLoss() < 60 ? "\blue " : "\red "), src.occupant.getOxyLoss())
user << text("[]\t -Toxin Content %: []", (src.occupant.toxloss < 60 ? "\blue " : "\red "), src.occupant.toxloss)
user << text("[]\t -Toxin Content %: []", (src.occupant.getToxLoss() < 60 ? "\blue " : "\red "), src.occupant.getToxLoss())
user << text("[]\t -Burn Severity %: []", (src.occupant.fireloss < 60 ? "\blue " : "\red "), src.occupant.fireloss)
user << "\blue Expected time till occupant can safely awake: (note: If health is below 20% these times are inaccurate)"
user << text("\blue \t [] second\s (if around 1 or 2 the sleeper is keeping them asleep.)", src.occupant.paralysis / 5)

View File

@@ -326,7 +326,7 @@
return 1
//If they're injured, we're using a beaker, and don't have one of our WONDERCHEMS.
if((src.reagent_glass) && (src.use_beaker) && ((C.getBruteLoss() >= heal_threshold) || (C.toxloss >= heal_threshold) || (C.toxloss >= heal_threshold) || (C.getOxyLoss() >= (heal_threshold + 15))))
if((src.reagent_glass) && (src.use_beaker) && ((C.getBruteLoss() >= heal_threshold) || (C.getToxLoss() >= heal_threshold) || (C.getToxLoss() >= heal_threshold) || (C.getOxyLoss() >= (heal_threshold + 15))))
for(var/datum/reagent/R in src.reagent_glass.reagents.reagent_list)
if(!C.reagents.has_reagent(R))
return 1
@@ -342,7 +342,7 @@
if((C.fireloss >= heal_threshold) && (!C.reagents.has_reagent(src.treatment_fire)))
return 1
if((C.toxloss >= heal_threshold) && (!C.reagents.has_reagent(src.treatment_tox)))
if((C.getToxLoss() >= heal_threshold) && (!C.reagents.has_reagent(src.treatment_tox)))
return 1
@@ -403,7 +403,7 @@
if(!C.reagents.has_reagent(src.treatment_fire))
reagent_id = src.treatment_fire
if (!reagent_id && (C.toxloss >= heal_threshold))
if (!reagent_id && (C.getToxLoss() >= heal_threshold))
if(!C.reagents.has_reagent(src.treatment_tox))
reagent_id = src.treatment_tox

View File

@@ -415,7 +415,7 @@
if (!src.implanted)
return "ERROR"
else
src.healthstring = "[round(src.implanted:getOxyLoss())] - [round(src.implanted:fireloss)] - [round(src.implanted:toxloss)] - [round(src.implanted:getBruteLoss())]"
src.healthstring = "[round(src.implanted:getOxyLoss())] - [round(src.implanted:fireloss)] - [round(src.implanted:getToxLoss())] - [round(src.implanted:getBruteLoss())]"
if (!src.healthstring)
src.healthstring = "ERROR"
return src.healthstring
@@ -457,7 +457,7 @@
src.occupant.paralysis += 4
//Here let's calculate their health so the pod doesn't immediately eject them!!!
src.occupant.health = (src.occupant.getBruteLoss() + src.occupant.toxloss + src.occupant.getOxyLoss() + src.occupant.cloneloss)
src.occupant.health = (src.occupant.getBruteLoss() + src.occupant.getToxLoss() + src.occupant.getOxyLoss() + src.occupant.cloneloss)
src.occupant << "\blue <b>Clone generation process initiated.</b>"
src.occupant << "\blue This will take a moment, please hold."

View File

@@ -37,7 +37,7 @@
<BR>
<B>Health:</B> [src.victim.health]<BR>
<B>Brute Damage:</B> [src.victim.getBruteLoss()]<BR>
<B>Toxins Damage:</B> [src.victim.toxloss]<BR>
<B>Toxins Damage:</B> [src.victim.getToxLoss()]<BR>
<B>Fire Damage:</B> [src.victim.fireloss]<BR>
<B>Suffocation Damage:</B> [src.victim.getOxyLoss()]<BR>
<B>Patient Status:</B> [src.victim.stat ? "Non-responsive" : "Stable"]<BR>

View File

@@ -124,7 +124,7 @@
while (src.occupant.health < 100)
src.occupant.oxyloss = max (src.occupant.getOxyLoss()-1, 0)
src.occupant.fireloss = max (src.occupant.fireloss-1, 0)
src.occupant.toxloss = max (src.occupant.toxloss-1, 0)
src.occupant.toxloss = max (src.occupant.getToxLoss()-1, 0)
src.occupant.bruteloss = max (src.occupant.getBruteLoss()-1, 0)
src.occupant.updatehealth()
if (src.occupant.health >= 0 && src.occupant.stat == 2)

View File

@@ -62,7 +62,7 @@
if(istype(C.loc, /mob/living/carbon/human))
var/mob/living/carbon/human/H = C.loc
var/dam1 = round(H.getOxyLoss(),1)
var/dam2 = round(H.toxloss,1)
var/dam2 = round(H.getToxLoss(),1)
var/dam3 = round(H.fireloss,1)
var/dam4 = round(H.getBruteLoss(),1)
switch(C.sensor_mode)

View File

@@ -90,7 +90,7 @@
<B>Current cell temperature:</B> [temp_text]K<BR>
<B>Cryo status:</B> [ src.on ? "<A href='?src=\ref[src];start=1'>Off</A> <B>On</B>" : "<B>Off</B> <A href='?src=\ref[src];start=1'>On</A>"]<BR>
[beaker_text]<BR><BR>
<B>Current occupant:</B> [src.occupant ? "<BR>Name: [src.occupant]<BR>Health: [health_text]<BR>Oxygen deprivation: [round(src.occupant.getOxyLoss(),0.1)]<BR>Brute damage: [round(src.occupant.getBruteLoss(),0.1)]<BR>Fire damage: [round(src.occupant.fireloss,0.1)]<BR>Toxin damage: [round(src.occupant.toxloss,0.1)]<BR>Body temperature: [src.occupant.bodytemperature]" : "<FONT color=red>None</FONT>"]<BR>
<B>Current occupant:</B> [src.occupant ? "<BR>Name: [src.occupant]<BR>Health: [health_text]<BR>Oxygen deprivation: [round(src.occupant.getOxyLoss(),0.1)]<BR>Brute damage: [round(src.occupant.getBruteLoss(),0.1)]<BR>Fire damage: [round(src.occupant.fireloss,0.1)]<BR>Toxin damage: [round(src.occupant.getToxLoss(),0.1)]<BR>Body temperature: [src.occupant.bodytemperature]" : "<FONT color=red>None</FONT>"]<BR>
"}
user.machine = src
@@ -173,8 +173,8 @@
occupant.oxyloss -= 1
//severe damage should heal waaay slower without proper chemicals
if(occupant.bodytemperature < 225)
if (occupant.toxloss)
occupant.toxloss = max(0, occupant.toxloss - min(1, 20/occupant.toxloss))
if (occupant.getToxLoss())
occupant.toxloss = max(0, occupant.getToxLoss() - min(1, 20/occupant.getToxLoss()))
var/heal_brute = occupant.getBruteLoss() ? min(1, 20/occupant.getBruteLoss()) : 0
var/heal_fire = occupant.fireloss ? min(1, 20/occupant.fireloss) : 0
occupant.heal_organ_damage(heal_brute,heal_fire)

View File

@@ -721,7 +721,7 @@
user.show_message("\blue Analyzing Results for [C]:")
user.show_message("\blue \t Overall Status: [C.stat > 1 ? "dead" : "[C.health]% healthy"]", 1)
user.show_message("\blue \t Damage Specifics: [C.getOxyLoss() > 50 ? "\red" : "\blue"][C.getOxyLoss()]-[C.toxloss > 50 ? "\red" : "\blue"][C.toxloss]-[C.fireloss > 50 ? "\red" : "\blue"][C.fireloss]-[C.getBruteLoss() > 50 ? "\red" : "\blue"][C.getBruteLoss()]", 1)
user.show_message("\blue \t Damage Specifics: [C.getOxyLoss() > 50 ? "\red" : "\blue"][C.getOxyLoss()]-[C.getToxLoss() > 50 ? "\red" : "\blue"][C.getToxLoss()]-[C.fireloss > 50 ? "\red" : "\blue"][C.fireloss]-[C.getBruteLoss() > 50 ? "\red" : "\blue"][C.getBruteLoss()]", 1)
user.show_message("\blue \t Key: Suffocation/Toxin/Burns/Brute", 1)
user.show_message("\blue \t Body Temperature: [C.bodytemperature-T0C]&deg;C ([C.bodytemperature*1.8-459.67]&deg;F)", 1)
for(var/datum/disease/D in C.viruses)

View File

@@ -195,19 +195,19 @@ MASS SPECTROMETER
for(var/mob/O in viewers(M, null))
O.show_message(text("\red [] has analyzed []'s vitals!", user, M), 1)
//Foreach goto(67)
var/fake_oxy = max(rand(1,40), M.getOxyLoss(), (300 - (M.toxloss + M.fireloss + M.getBruteLoss())))
var/fake_oxy = max(rand(1,40), M.getOxyLoss(), (300 - (M.getToxLoss() + M.fireloss + M.getBruteLoss())))
if((M.reagents && M.reagents.has_reagent("zombiepowder")) || (M.changeling && M.changeling.changeling_fakedeath))
user.show_message(text("\blue Analyzing Results for []:\n\t Overall Status: []", M, "dead"), 1)
user.show_message(text("\blue \t Damage Specifics: []-[]-[]-[]", fake_oxy < 50 ? "\red [fake_oxy]" : fake_oxy , M.toxloss > 50 ? "\red [M.toxloss]" : M.toxloss, M.fireloss > 50 ? "\red[M.fireloss]" : M.fireloss, M.getBruteLoss() > 50 ? "\red[M.getBruteLoss()]" : M.getBruteLoss()), 1)
user.show_message(text("\blue \t Damage Specifics: []-[]-[]-[]", fake_oxy < 50 ? "\red [fake_oxy]" : fake_oxy , M.getToxLoss() > 50 ? "\red [M.getToxLoss()]" : M.getToxLoss(), M.fireloss > 50 ? "\red[M.fireloss]" : M.fireloss, M.getBruteLoss() > 50 ? "\red[M.getBruteLoss()]" : M.getBruteLoss()), 1)
else
user.show_message(text("\blue Analyzing Results for []:\n\t Overall Status: []", M, (M.stat > 1 ? "dead" : text("[]% healthy", M.health))), 1)
user.show_message(text("\blue \t Damage Specifics: []-[]-[]-[]", M.getOxyLoss() > 50 ? "\red [M.getOxyLoss()]" : M.getOxyLoss(), M.toxloss > 50 ? "\red [M.toxloss]" : M.toxloss, M.fireloss > 50 ? "\red[M.fireloss]" : M.fireloss, M.getBruteLoss() > 50 ? "\red[M.getBruteLoss()]" : M.getBruteLoss()), 1)
user.show_message(text("\blue \t Damage Specifics: []-[]-[]-[]", M.getOxyLoss() > 50 ? "\red [M.getOxyLoss()]" : M.getOxyLoss(), M.getToxLoss() > 50 ? "\red [M.getToxLoss()]" : M.getToxLoss(), M.fireloss > 50 ? "\red[M.fireloss]" : M.fireloss, M.getBruteLoss() > 50 ? "\red[M.getBruteLoss()]" : M.getBruteLoss()), 1)
user.show_message("\blue Key: Suffocation/Toxin/Burns/Brute", 1)
user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]&deg;C ([M.bodytemperature*1.8-459.67]&deg;F)", 1)
if((M.changeling && M.changeling.changeling_fakedeath) || (M.reagents && M.reagents.has_reagent("zombiepowder")))
user.show_message(text("\blue [] | [] | [] | []", fake_oxy > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal", M.toxloss > 50 ? "\red Dangerous amount of toxins detected\blue" : "Subject bloodstream toxin level minimal", M.fireloss > 50 ? "\red Severe burn damage detected\blue" : "Subject burn injury status O.K", M.getBruteLoss() > 50 ? "\red Severe anatomical damage detected\blue" : "Subject brute-force injury status O.K"), 1)
user.show_message(text("\blue [] | [] | [] | []", fake_oxy > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal", M.getToxLoss() > 50 ? "\red Dangerous amount of toxins detected\blue" : "Subject bloodstream toxin level minimal", M.fireloss > 50 ? "\red Severe burn damage detected\blue" : "Subject burn injury status O.K", M.getBruteLoss() > 50 ? "\red Severe anatomical damage detected\blue" : "Subject brute-force injury status O.K"), 1)
else
user.show_message(text("\blue [] | [] | [] | []", M.getOxyLoss() > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal", M.toxloss > 50 ? "\red Dangerous amount of toxins detected\blue" : "Subject bloodstream toxin level minimal", M.fireloss > 50 ? "\red Severe burn damage detected\blue" : "Subject burn injury status O.K", M.getBruteLoss() > 50 ? "\red Severe anatomical damage detected\blue" : "Subject brute-force injury status O.K"), 1)
user.show_message(text("\blue [] | [] | [] | []", M.getOxyLoss() > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal", M.getToxLoss() > 50 ? "\red Dangerous amount of toxins detected\blue" : "Subject bloodstream toxin level minimal", M.fireloss > 50 ? "\red Severe burn damage detected\blue" : "Subject burn injury status O.K", M.getBruteLoss() > 50 ? "\red Severe anatomical damage detected\blue" : "Subject brute-force injury status O.K"), 1)
if (M.cloneloss)
user.show_message(text("\red Subject appears to have been imperfectly cloned."), 1)
for(var/datum/disease/D in M.viruses)

View File

@@ -25,7 +25,7 @@
suiciding = 1
//instead of killing them instantly, just put them at -175 health and let 'em gasp for a while
viewers(src) << "\red <b>[src] is attempting to bite \his tongue. It looks like \he's trying to commit suicide.</b>"
oxyloss = max(175 - toxloss - fireloss - getBruteLoss(), getOxyLoss())
oxyloss = max(175 - getToxLoss() - fireloss - getBruteLoss(), getOxyLoss())
updatehealth()
/mob/living/carbon/brain/verb/suicide()
@@ -48,7 +48,7 @@
if(confirm == "Yes")
suiciding = 1
viewers(loc) << "\red <b>[src]'s brain is growing dull and lifeless. It looks like it's trying to commit suicide. Somehow.</b>"
oxyloss = max(175 - toxloss - fireloss - getBruteLoss(), getOxyLoss())
oxyloss = max(175 - getToxLoss() - fireloss - getBruteLoss(), getOxyLoss())
updatehealth()
spawn(200)
suiciding = 0
@@ -74,7 +74,7 @@
suiciding = 1
//instead of killing them instantly, just put them at -175 health and let 'em gasp for a while
viewers(src) << "\red <b>[src] is attempting to bite \his tongue. It looks like \he's trying to commit suicide.</b>"
oxyloss = max(175 - toxloss - fireloss - getBruteLoss(), getOxyLoss())
oxyloss = max(175 - getToxLoss() - fireloss - getBruteLoss(), getOxyLoss())
updatehealth()
/mob/living/silicon/ai/verb/suicide()
@@ -94,7 +94,7 @@
suiciding = 1
viewers(src) << "\red <b>[src] is powering down. It looks like \he's trying to commit suicide.</b>"
//put em at -175
oxyloss = max(175 - toxloss - fireloss - getBruteLoss(), getOxyLoss())
oxyloss = max(175 - getToxLoss() - fireloss - getBruteLoss(), getOxyLoss())
updatehealth()
/mob/living/silicon/robot/verb/suicide()
@@ -114,7 +114,7 @@
suiciding = 1
viewers(src) << "\red <b>[src] is powering down. It looks like \he's trying to commit suicide.</b>"
//put em at -175
oxyloss = max(475 - toxloss - fireloss - getBruteLoss(), getOxyLoss())
oxyloss = max(475 - getToxLoss() - fireloss - getBruteLoss(), getOxyLoss())
updatehealth()
/mob/living/silicon/pai/verb/suicide()

View File

@@ -324,7 +324,7 @@ datum
holder.remove_reagent("carpotoxin", 1)
if(holder.has_reagent("zombiepowder"))
holder.remove_reagent("zombiepowder", 0.5)
M:toxloss = max(M:toxloss-2,0)
M:toxloss = max(M:getToxLoss()-2,0)
..()
return
@@ -1202,7 +1202,7 @@ datum
if(M:getOxyLoss() && prob(40)) M:oxyloss--
if(M:getBruteLoss() && prob(40)) M:heal_organ_damage(1,0)
if(M:fireloss && prob(40)) M:heal_organ_damage(0,1)
if(M:toxloss && prob(40)) M:toxloss--
if(M:getToxLoss() && prob(40)) M:toxloss--
..()
return
@@ -1219,7 +1219,7 @@ datum
M:oxyloss = 0
M:radiation = 0
M:heal_organ_damage(5,5)
if(M:toxloss) M:toxloss = max(0, M:toxloss-5)
if(M:getToxLoss()) M:toxloss = max(0, M:getToxLoss()-5)
if(holder.has_reagent("toxin"))
holder.remove_reagent("toxin", 5)
if(holder.has_reagent("stoxin"))
@@ -1326,7 +1326,7 @@ datum
return //See above, down and around. --Agouri
if(!M) M = holder.my_atom
M:radiation = max(M:radiation-7,0)
if(M:toxloss) M:toxloss--
if(M:getToxLoss()) M:toxloss--
if(prob(15))
M.take_organ_damage(1, 0)
..()
@@ -1403,7 +1403,7 @@ datum
if(M:cloneloss) M:cloneloss = max(0, M:cloneloss-1)
if(M:getOxyLoss()) M:oxyloss = max(0, M:getOxyLoss()-3)
M:heal_organ_damage(3,3)
if(M:toxloss) M:toxloss = max(0, M:toxloss-3)
if(M:getToxLoss()) M:toxloss = max(0, M:getToxLoss()-3)
..()
return
@@ -1420,7 +1420,7 @@ datum
if(M:cloneloss) M:cloneloss = max(0, M:cloneloss-3)
if(M:getOxyLoss()) M:oxyloss = max(0, M:getOxyLoss()-3)
M:heal_organ_damage(3,3)
if(M:toxloss) M:toxloss = max(0, M:toxloss-3)
if(M:getToxLoss()) M:toxloss = max(0, M:getToxLoss()-3)
..()
return
@@ -1640,7 +1640,7 @@ datum
M.jitteriness += rand(0, 5)
M.dizziness = max (0, (M.dizziness - rand(0, 15)))
M.druggy = max (0, (M.druggy - rand(0, 15)))
M.toxloss = max (0, (M.toxloss - rand(5, 15)))
M.toxloss = max (0, (M.getToxLoss() - rand(5, 15)))
M.updatehealth()
*/
..()
@@ -1960,7 +1960,7 @@ datum
on_mob_life(var/mob/living/M as mob)
M:nutrition += nutriment_factor
if(!M) M = holder.my_atom
if(M:toxloss && prob(20)) M:toxloss--
if(M:getToxLoss() && prob(20)) M:toxloss--
M:nutrition++
..()
return
@@ -2167,7 +2167,7 @@ datum
M:drowsyness = max(0,M:drowsyness-1)
M:jitteriness = max(0,M:jitteriness-3)
M:sleeping = 0
if(M:toxloss && prob(20))
if(M:getToxLoss() && prob(20))
M:toxloss--
if (M.bodytemperature < 310) //310 is the normal bodytemp. 310.055
M.bodytemperature = min(310, M.bodytemperature+5)
@@ -2204,7 +2204,7 @@ datum
M.dizziness = max(0,M.dizziness-2)
M:drowsyness = max(0,M:drowsyness-1)
M:sleeping = 0
if(M:toxloss && prob(20))
if(M:getToxLoss() && prob(20))
M:toxloss--
if (M.bodytemperature > 310)//310 is the normal bodytemp. 310.055
M.bodytemperature = min(310, M.bodytemperature-5)
@@ -3033,7 +3033,7 @@ datum
if(M:getOxyLoss() && prob(50)) M:oxyloss -= 2
if(M:getBruteLoss() && prob(60)) M:heal_organ_damage(2,0)
if(M:fireloss && prob(50)) M:heal_organ_damage(0,2)
if(M:toxloss && prob(50)) M:toxloss -= 2
if(M:getToxLoss() && prob(50)) M:toxloss -= 2
if(M.dizziness !=0) M.dizziness = max(0,M.dizziness-15)
if(M.confused !=0) M.confused = max(0,M.confused - 5)
..()
@@ -3677,7 +3677,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M:oxyloss += 0.5
M:toxloss += 0.5
M:getToxLoss() += 0.5
M:weakened = max(M:weakened, 15)
M:silent = max(M:silent, 15)
if(!data) data = 1

View File

@@ -41,7 +41,7 @@
weakened = 0
sleeping = 0
bruteloss = max(getBruteLoss(), 0)
toxloss = max(toxloss, 0)
toxloss = max(getToxLoss(), 0)
oxyloss = max(getOxyLoss(), 0)
fireloss = max(fireloss, 0)
if(stat)
@@ -50,7 +50,7 @@
proc/UpdateDamage()
health = 60 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
health = 60 - (getOxyLoss() + getToxLoss() + fireloss + getBruteLoss() + cloneloss)
return

View File

@@ -10,7 +10,7 @@ Doesn't work on other aliens/AI.*/
if(stat)
src << "\green You must be conscious to do this."
return 0
else if(X&&toxloss < X)
else if(X&&getToxLoss() < X)
src << "\green Not enough plasma stored."
return 0
else if(Y&&(!isturf(src.loc) || istype(src.loc, /turf/space)))

View File

@@ -67,7 +67,7 @@
if(locate(/obj/effect/alien/weeds) in loc)
if(health >= 150)
toxloss += 5
if(toxloss > max_plasma)
if(getToxLoss() > max_plasma)
toxloss = max_plasma
else

View File

@@ -67,7 +67,7 @@
if(locate(/obj/effect/alien/weeds) in loc)
if(health >= 125)
toxloss += 10
if(toxloss > max_plasma)
if(getToxLoss() > max_plasma)
toxloss = max_plasma
else

View File

@@ -72,7 +72,7 @@
stat(null, "Move Mode: [m_intent]")
if (client.statpanel == "Status")
stat(null, "Plasma Stored: [toxloss]")
stat(null, "Plasma Stored: [getToxLoss()]")
///mob/living/carbon/alien/humanoid/bullet_act(var/obj/item/projectile/Proj) taken care of in living

View File

@@ -85,7 +85,7 @@
weakened = max(min(weakened, 20), 0)
sleeping = max(min(sleeping, 20), 0)
bruteloss = max(getBruteLoss(), 0)
toxloss = max(toxloss, 0)
toxloss = max(getToxLoss(), 0)
oxyloss = max(getOxyLoss(), 0)
fireloss = max(fireloss, 0)
@@ -296,7 +296,7 @@
if(locate(/obj/effect/alien/weeds) in loc)
if(health >= 100)
toxloss += 15
if(toxloss > max_plasma)
if(getToxLoss() > max_plasma)
toxloss = max_plasma
else

View File

@@ -70,7 +70,7 @@
if(locate(/obj/effect/alien/weeds) in loc)
if(health >= 250)
toxloss += 20
if(toxloss > max_plasma)
if(getToxLoss() > max_plasma)
toxloss = max_plasma
else
bruteloss -= 5

View File

@@ -63,7 +63,7 @@
if (client.statpanel == "Status")
stat(null, "Progress: [amount_grown]/200")
stat(null, "Plasma Stored: [toxloss]")
stat(null, "Plasma Stored: [getToxLoss()]")
///mob/living/carbon/alien/larva/bullet_act(var/obj/item/projectile/Proj) taken care of in living

View File

@@ -83,7 +83,7 @@
weakened = max(min(weakened, 20), 0)
sleeping = max(min(sleeping, 20), 0)
bruteloss = max(getBruteLoss(), 0)
toxloss = max(toxloss, 0)
toxloss = max(getToxLoss(), 0)
oxyloss = max(getOxyLoss(), 0)
fireloss = max(fireloss, 0)

View File

@@ -48,7 +48,7 @@
bruteloss = max(getBruteLoss(), 0)
fireloss = max(fireloss, 0)
oxyloss = max(getOxyLoss(), 0)
toxloss = max(toxloss, 0)
toxloss = max(getToxLoss(), 0)
handle_mutations_and_radiation()
@@ -144,7 +144,7 @@
handle_regular_status_updates()
health = 100 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
health = 100 - (getOxyLoss() + getToxLoss() + fireloss + getBruteLoss() + cloneloss)
if(getOxyLoss() > 25) paralysis = max(paralysis, 3)

View File

@@ -2195,7 +2195,7 @@ It can still be worn/put on as normal.
for(var/datum/organ/external/O in organs)
src.bruteloss += O.brute_dam
src.fireloss += O.burn_dam
src.health = 100 - src.getOxyLoss() - src.toxloss - src.fireloss - src.getBruteLoss() - src.cloneloss
src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.fireloss - src.getBruteLoss() - src.cloneloss
/mob/living/carbon/human/abiotic(var/full_body = 0)

View File

@@ -103,7 +103,7 @@
weakened = max(min(weakened, 20), 0)
sleeping = max(min(sleeping, 20), 0)
bruteloss = max(getBruteLoss(), 0)
toxloss = max(toxloss, 0)
toxloss = max(getToxLoss(), 0)
oxyloss = max(getOxyLoss(), 0)
fireloss = max(fireloss, 0)
@@ -605,7 +605,7 @@
heal_overall_damage(0,1)
if(getBruteLoss())
heal_overall_damage(1,0)
if(toxloss)
if(getToxLoss())
toxloss--
if(getOxyLoss())
oxyloss--
@@ -656,7 +656,7 @@
handle_regular_status_updates()
// health = 100 - (getOxyLoss() + toxloss + fireloss + bruteloss + cloneloss)
// health = 100 - (getOxyLoss() + getToxLoss() + fireloss + bruteloss + cloneloss)
if(getOxyLoss() > 50) paralysis = max(paralysis, 3)

View File

@@ -396,9 +396,9 @@
handle_regular_status_updates()
if(istype(src, /mob/living/carbon/metroid/adult))
health = 200 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
health = 200 - (getOxyLoss() + getToxLoss() + fireloss + getBruteLoss() + cloneloss)
else
health = 150 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
health = 150 - (getOxyLoss() + getToxLoss() + fireloss + getBruteLoss() + cloneloss)
@@ -417,7 +417,7 @@
if(prob(30))
if(getOxyLoss()>0) oxyloss = max(getOxyLoss()-1, 0)
if(toxloss>0) toxloss = max(toxloss-1, 0)
if(getToxLoss()>0) toxloss = max(getToxLoss()-1, 0)
if(fireloss>0) fireloss = max(fireloss-1,0)
if(cloneloss>0) cloneloss = max(cloneloss-1,0)
if(getBruteLoss()>0) bruteloss = max(getBruteLoss()-1,0)

View File

@@ -648,9 +648,9 @@ mob/living/carbon/metroid/var/temperature_resistance = T0C+75
if (nodamage == 0)
// metroids can't suffocate unless they suicide. They are also not harmed by fire
if(istype(src, /mob/living/carbon/metroid/adult))
health = 200 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
health = 200 - (getOxyLoss() + getToxLoss() + fireloss + getBruteLoss() + cloneloss)
else
health = 150 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
health = 150 - (getOxyLoss() + getToxLoss() + fireloss + getBruteLoss() + cloneloss)
else
if(istype(src, /mob/living/carbon/metroid/adult))
health = 200

View File

@@ -76,8 +76,8 @@
if(Victim.health <= 0)
Victim.toxloss += rand(2,4)
if(toxloss > 0)
toxloss = max(0, toxloss-10)
if(getToxLoss() > 0)
toxloss = max(0, getToxLoss()-10)
if(getOxyLoss() > 0)
oxyloss = max(0, getOxyLoss()-10)
@@ -96,7 +96,7 @@
if(Metroid.Victim == M && Metroid != src)
Metroid.Feedstop()
if(toxloss<0) toxloss = 0
if(getToxLoss()<0) toxloss = 0
if(getOxyLoss()<0) oxyloss = 0
if(getBruteLoss()<0) bruteloss = 0
if(fireloss<0) fireloss = 0

View File

@@ -397,7 +397,7 @@
handle_regular_status_updates()
health = 100 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
health = 100 - (getOxyLoss() + getToxLoss() + fireloss + getBruteLoss() + cloneloss)
if(getOxyLoss() > 25) paralysis = max(paralysis, 3)

View File

@@ -103,7 +103,7 @@
bruteloss += 30
if ((O.icon_state == "flaming" && !( shielded )))
fireloss += 40
health = 100 - getOxyLoss() - toxloss - fireloss - getBruteLoss()
health = 100 - getOxyLoss() - getToxLoss() - fireloss - getBruteLoss()
return
//mob/living/carbon/monkey/bullet_act(var/obj/item/projectile/Proj)taken care of in living
@@ -139,7 +139,7 @@
O.show_message("\red <B>[M.name] has bit [name]!</B>", 1)
var/damage = rand(1, 5)
bruteloss += damage
health = 100 - getOxyLoss() - toxloss - fireloss - getBruteLoss()
health = 100 - getOxyLoss() - getToxLoss() - fireloss - getBruteLoss()
for(var/datum/disease/D in M.viruses)
if(istype(D, /datum/disease/jungle_fever))
contract_disease(D,1,0)
@@ -536,16 +536,16 @@
if(1.0)
if (stat != 2)
bruteloss += 200
health = 100 - getOxyLoss() - toxloss - fireloss - getBruteLoss()
health = 100 - getOxyLoss() - getToxLoss() - fireloss - getBruteLoss()
if(2.0)
if (stat != 2)
bruteloss += 60
fireloss += 60
health = 100 - getOxyLoss() - toxloss - fireloss - getBruteLoss()
health = 100 - getOxyLoss() - getToxLoss() - fireloss - getBruteLoss()
if(3.0)
if (stat != 2)
bruteloss += 30
health = 100 - getOxyLoss() - toxloss - fireloss - getBruteLoss()
health = 100 - getOxyLoss() - getToxLoss() - fireloss - getBruteLoss()
if (prob(50))
paralysis += 10
else
@@ -554,7 +554,7 @@
/mob/living/carbon/monkey/blob_act()
if (stat != 2)
fireloss += 60
health = 100 - getOxyLoss() - toxloss - fireloss - getBruteLoss()
health = 100 - getOxyLoss() - getToxLoss() - fireloss - getBruteLoss()
if (prob(50))
paralysis += 10

View File

@@ -2,13 +2,13 @@
set hidden = 1
if ((src.health < 0 && src.health > -95.0))
src.oxyloss += src.health + 200
src.health = 100 - src.getOxyLoss() - src.toxloss - src.fireloss - src.getBruteLoss()
src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.fireloss - src.getBruteLoss()
src << "\blue You have given up life and succumbed to death."
/mob/living/proc/updatehealth()
if(!src.nodamage)
src.health = 100 - src.getOxyLoss() - src.toxloss - src.fireloss - src.getBruteLoss() - src.cloneloss
src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.fireloss - src.getBruteLoss() - src.cloneloss
else
src.health = 100
src.stat = 0

View File

@@ -239,9 +239,9 @@
/mob/living/silicon/ai/updatehealth()
if (src.nodamage == 0)
if(src.fire_res_on_core)
src.health = 100 - src.getOxyLoss() - src.toxloss - src.getBruteLoss()
src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.getBruteLoss()
else
src.health = 100 - src.getOxyLoss() - src.toxloss - src.fireloss - src.getBruteLoss()
src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.fireloss - src.getBruteLoss()
else
src.health = 100
src.stat = 0

View File

@@ -9,7 +9,7 @@
/mob/living/silicon/decoy/updatehealth()
if (src.nodamage == 0)
src.health = 100 - src.getOxyLoss() - src.toxloss - src.fireloss - src.getBruteLoss()
src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.fireloss - src.getBruteLoss()
else
src.health = 100
src.stat = 0

View File

@@ -470,7 +470,7 @@
Overall Status: [M.stat > 1 ? "dead" : "[M.health]% healthy"] <br>
Scan Breakdown: <br>
Respiratory: [M.getOxyLoss() > 50 ? "<font color=#FF5555>" : "<font color=#55FF55>"][M.getOxyLoss()]</font><br>
Toxicology: [M.toxloss > 50 ? "<font color=#FF5555>" : "<font color=#55FF55>"][M.toxloss]</font><br>
Toxicology: [M.getToxLoss() > 50 ? "<font color=#FF5555>" : "<font color=#55FF55>"][M.getToxLoss()]</font><br>
Burns: [M.fireloss > 50 ? "<font color=#FF5555>" : "<font color=#55FF55>"][M.fireloss]</font><br>
Structural Integrity: [M.getBruteLoss() > 50 ? "<font color=#FF5555>" : "<font color=#55FF55>"][M.getBruteLoss()]</font><br>
Body Temperature: [M.bodytemperature-T0C]&deg;C ([M.bodytemperature*1.8-459.67]&deg;F)<br>

View File

@@ -35,7 +35,7 @@
weakened = max(min(weakened, 20), 0)
sleeping = 0
bruteloss = max(getBruteLoss(), 0)
toxloss = max(toxloss, 0)
toxloss = max(getToxLoss(), 0)
oxyloss = max(getOxyLoss(), 0)
fireloss = max(fireloss, 0)

View File

@@ -391,16 +391,16 @@ var/global/list/uneatable = list(
toxmob()
var/toxrange = 10
var/toxloss = 4
var/toxdamage = 4 // changed the name to toxdamage from toxloss to prevent further conflicts
var/radiation = 5
if (src.energy>200)
toxloss = round(((src.energy-150)/50)*4,1)
toxdamage = round(((src.energy-150)/50)*4,1)
radiation = round(((src.energy-150)/50)*5,1)
for(var/mob/living/M in view(toxrange, src.loc))
if(istype(M,/mob/living/))
M.apply_effect(rand(radiation), IRRADIATE)
toxloss = (toxloss - (toxloss*M.getarmor(null, "rad")))
M.apply_effect(toxloss, TOX)
toxdamage = (toxdamage - (toxdamage*M.getarmor(null, "rad")))
M.apply_effect(toxdamage, TOX)
return

View File

@@ -38,7 +38,7 @@
var/dat = "\blue Analyzing Results for [C]:\n"
dat += "\blue \t Overall Status: [C.stat > 1 ? "dead" : "[C.health]% healthy"]\n"
dat += "\blue \t Damage Specifics: [C.getOxyLoss() > 50 ? "\red" : "\blue"][C.getOxyLoss()]-[C.toxloss > 50 ? "\red" : "\blue"][C.toxloss]-[C.fireloss > 50 ? "\red" : "\blue"][C.fireloss]-[C.getBruteLoss() > 50 ? "\red" : "\blue"][C.getBruteLoss()]\n"
dat += "\blue \t Damage Specifics: [C.getOxyLoss() > 50 ? "\red" : "\blue"][C.getOxyLoss()]-[C.getToxLoss() > 50 ? "\red" : "\blue"][C.getToxLoss()]-[C.fireloss > 50 ? "\red" : "\blue"][C.fireloss]-[C.getBruteLoss() > 50 ? "\red" : "\blue"][C.getBruteLoss()]\n"
dat += "\blue \t Key: Suffocation/Toxin/Burns/Brute\n"
dat += "\blue \t Body Temperature: [C.bodytemperature-T0C]&deg;C ([C.bodytemperature*1.8-459.67]&deg;F)"
if(C.virus)