mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 12:37:26 +01:00
implemented getOxyLoss()
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2520 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -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.oxyloss)
|
||||
mob.oxyloss = max(175 - mob.toxloss - 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
|
||||
|
||||
+17
-8
@@ -437,6 +437,19 @@ the mob is also allowed to move without any sort of restriction. For instance, i
|
||||
/mob/proc/getBruteLoss()
|
||||
return bruteloss
|
||||
|
||||
/mob/proc/getOxyLoss()
|
||||
return oxyloss
|
||||
|
||||
/mob/proc/getToxLoss()
|
||||
return toxloss
|
||||
|
||||
/mob/proc/getFireLoss()
|
||||
return fireloss
|
||||
|
||||
/mob/proc/getCloneLoss()
|
||||
return cloneloss
|
||||
|
||||
|
||||
// Standard for setting hasn't been agreed upon yet.
|
||||
|
||||
/*
|
||||
@@ -447,26 +460,22 @@ the mob is also allowed to move without any sort of restriction. For instance, i
|
||||
/mob/proc/setOxyLoss(var/T)
|
||||
oxyloss = T
|
||||
|
||||
/mob/proc/getOxyLoss()
|
||||
return oxyloss
|
||||
|
||||
|
||||
/mob/proc/setToxLoss(var/T)
|
||||
toxloss = T
|
||||
|
||||
/mob/proc/getToxLoss()
|
||||
return toxloss
|
||||
|
||||
|
||||
/mob/proc/setFireLoss(var/T)
|
||||
fireloss = T
|
||||
|
||||
/mob/proc/getFireLoss()
|
||||
return fireloss
|
||||
|
||||
|
||||
/mob/proc/setCloneLoss(var/T)
|
||||
cloneloss = T
|
||||
|
||||
/mob/proc/getCloneLoss()
|
||||
return cloneloss
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -139,13 +139,13 @@ proc/sql_report_death(var/mob/living/carbon/human/H)
|
||||
lakey = dd_replacetext(H.lastattacker:key, "'", "''")
|
||||
var/sqltime = time2text(world.realtime, "YYYY-MM-DD hh:mm:ss")
|
||||
var/coord = "[H.x], [H.y], [H.z]"
|
||||
//world << "INSERT INTO death (name, byondkey, job, special, pod, tod, laname, lakey, gender, getBruteLoss(), fireloss, brainloss, oxyloss) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[sqltime]', '[laname]', '[lakey]', '[H.gender]', [H.bruteloss], [H.fireloss], [H.brainloss], [H.oxyloss])"
|
||||
//world << "INSERT INTO death (name, byondkey, job, special, pod, tod, laname, lakey, gender, getBruteLoss(), fireloss, brainloss, oxyloss) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[sqltime]', '[laname]', '[lakey]', '[H.gender]', [H.bruteloss], [H.fireloss], [H.brainloss], [H.getOxyLoss()])"
|
||||
var/DBConnection/dbcon = new()
|
||||
dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]")
|
||||
if(!dbcon.IsConnected())
|
||||
log_game("SQL ERROR during death reporting. Failed to connect.")
|
||||
else
|
||||
var/DBQuery/query = dbcon.NewQuery("INSERT INTO death (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss, coord) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[sqltime]', '[laname]', '[lakey]', '[H.gender]', [H.getBruteLoss()], [H.fireloss], [H.brainloss], [H.oxyloss], '[coord]')")
|
||||
var/DBQuery/query = dbcon.NewQuery("INSERT INTO death (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss, coord) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[sqltime]', '[laname]', '[lakey]', '[H.gender]', [H.getBruteLoss()], [H.fireloss], [H.brainloss], [H.getOxyLoss()], '[coord]')")
|
||||
if(!query.Execute())
|
||||
var/err = query.ErrorMsg()
|
||||
log_game("SQL ERROR during death reporting. Error : \[[err]\]\n")
|
||||
@@ -176,13 +176,13 @@ proc/sql_report_cyborg_death(var/mob/living/silicon/robot/H)
|
||||
lakey = dd_replacetext(H.lastattacker:key, "'", "''")
|
||||
var/sqltime = time2text(world.realtime, "YYYY-MM-DD hh:mm:ss")
|
||||
var/coord = "[H.x], [H.y], [H.z]"
|
||||
//world << "INSERT INTO death (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[sqltime]', '[laname]', '[lakey]', '[H.gender]', [H.bruteloss], [H.fireloss], [H.brainloss], [H.oxyloss])"
|
||||
//world << "INSERT INTO death (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[sqltime]', '[laname]', '[lakey]', '[H.gender]', [H.bruteloss], [H.fireloss], [H.brainloss], [H.getOxyLoss()])"
|
||||
var/DBConnection/dbcon = new()
|
||||
dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]")
|
||||
if(!dbcon.IsConnected())
|
||||
log_game("SQL ERROR during death reporting. Failed to connect.")
|
||||
else
|
||||
var/DBQuery/query = dbcon.NewQuery("INSERT INTO death (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss, coord) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[sqltime]', '[laname]', '[lakey]', '[H.gender]', [H.getBruteLoss()], [H.fireloss], [H.brainloss], [H.oxyloss], '[coord]')")
|
||||
var/DBQuery/query = dbcon.NewQuery("INSERT INTO death (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss, coord) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[sqltime]', '[laname]', '[lakey]', '[H.gender]', [H.getBruteLoss()], [H.fireloss], [H.brainloss], [H.getOxyLoss()], '[coord]')")
|
||||
if(!query.Execute())
|
||||
var/err = query.ErrorMsg()
|
||||
log_game("SQL ERROR during death reporting. Error : \[[err]\]\n")
|
||||
|
||||
+2
-2
@@ -393,7 +393,7 @@
|
||||
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.oxyloss += M.oxyloss
|
||||
O.oxyloss += M.getOxyLoss()
|
||||
O.stat = M.stat
|
||||
O.a_intent = "hurt"
|
||||
for (var/obj/item/weapon/implant/I in implants)
|
||||
@@ -468,7 +468,7 @@
|
||||
updateappearance(O,O.dna.uni_identity)
|
||||
O.take_overall_damage(M.getBruteLoss(), M.fireloss)
|
||||
O.toxloss += M.toxloss
|
||||
O.oxyloss += M.oxyloss
|
||||
O.oxyloss += M.getOxyLoss()
|
||||
O.stat = M.stat
|
||||
for (var/obj/item/weapon/implant/I in implants)
|
||||
I.loc = O
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
O.name = text("monkey ([])",copytext(md5(usr.real_name), 2, 6))
|
||||
O.toxloss = usr.toxloss
|
||||
O.bruteloss = usr.getBruteLoss()
|
||||
O.oxyloss = usr.oxyloss
|
||||
O.oxyloss = usr.getOxyLoss()
|
||||
O.fireloss = usr.fireloss
|
||||
O.stat = usr.stat
|
||||
O.a_intent = "hurt"
|
||||
@@ -329,7 +329,7 @@
|
||||
domutcheck(O, null)
|
||||
O.toxloss = usr.toxloss
|
||||
O.bruteloss = usr.getBruteLoss()
|
||||
O.oxyloss = usr.oxyloss
|
||||
O.oxyloss = usr.getOxyLoss()
|
||||
O.fireloss = usr.fireloss
|
||||
O.stat = usr.stat
|
||||
for (var/obj/item/weapon/implant/I in implants)
|
||||
|
||||
@@ -287,7 +287,7 @@ ________________________________________________________________________________
|
||||
dat += "<b>Unique identity</b>: <i>[U.dna.unique_enzymes]</i><br>"
|
||||
dat += "<h4>Overall Status: [U.stat > 1 ? "dead" : "[U.health]% healthy"]</h4>"
|
||||
dat += "<h4>Nutrition Status: [U.nutrition]</h4>"
|
||||
dat += "Oxygen loss: [U.oxyloss]"
|
||||
dat += "Oxygen loss: [U.getOxyLoss()]"
|
||||
dat += " | Toxin levels: [U.toxloss]<br>"
|
||||
dat += "Burn severity: [U.fireloss]"
|
||||
dat += " | Brute trauma: [U.getBruteLoss()]<br>"
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
else
|
||||
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.oxyloss < 60 ? "<font color='blue'>" : "<font color='red'>"), occupant.oxyloss)
|
||||
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-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))
|
||||
@@ -232,7 +232,7 @@
|
||||
|
||||
alter_health(mob/living/M as mob)
|
||||
if (M.health > 0)
|
||||
if (M.oxyloss >= 10)
|
||||
if (M.getOxyLoss() >= 10)
|
||||
var/amount = max(0.15, 1)
|
||||
M.oxyloss -= amount
|
||||
else
|
||||
@@ -332,7 +332,7 @@
|
||||
user << text("[]\t Health %: [] ([])", (src.occupant.health > 50 ? "\blue " : "\red "), src.occupant.health, t1)
|
||||
user << text("[]\t -Core Temperature: []°C ([]°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.oxyloss < 60 ? "\blue " : "\red "), src.occupant.oxyloss)
|
||||
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 -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)"
|
||||
|
||||
@@ -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.oxyloss >= (heal_threshold + 15))))
|
||||
if((src.reagent_glass) && (src.use_beaker) && ((C.getBruteLoss() >= heal_threshold) || (C.toxloss >= heal_threshold) || (C.toxloss >= 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
|
||||
@@ -336,7 +336,7 @@
|
||||
if((C.getBruteLoss() >= heal_threshold) && (!C.reagents.has_reagent(src.treatment_brute)))
|
||||
return 1 //If they're already medicated don't bother!
|
||||
|
||||
if((C.oxyloss >= (15 + heal_threshold)) && (!C.reagents.has_reagent(src.treatment_oxy)))
|
||||
if((C.getOxyLoss() >= (15 + heal_threshold)) && (!C.reagents.has_reagent(src.treatment_oxy)))
|
||||
return 1
|
||||
|
||||
if((C.fireloss >= heal_threshold) && (!C.reagents.has_reagent(src.treatment_fire)))
|
||||
@@ -395,7 +395,7 @@
|
||||
if(!C.reagents.has_reagent(src.treatment_brute))
|
||||
reagent_id = src.treatment_brute
|
||||
|
||||
if (!reagent_id && (C.oxyloss >= (15 + heal_threshold)))
|
||||
if (!reagent_id && (C.getOxyLoss() >= (15 + heal_threshold)))
|
||||
if(!C.reagents.has_reagent(src.treatment_oxy))
|
||||
reagent_id = src.treatment_oxy
|
||||
|
||||
|
||||
@@ -415,7 +415,7 @@
|
||||
if (!src.implanted)
|
||||
return "ERROR"
|
||||
else
|
||||
src.healthstring = "[round(src.implanted:oxyloss)] - [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:toxloss)] - [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.oxyloss + src.occupant.cloneloss)
|
||||
src.occupant.health = (src.occupant.getBruteLoss() + src.occupant.toxloss + 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."
|
||||
@@ -554,7 +554,7 @@
|
||||
src.occupant.reagents.add_reagent("inaprovaline", 60)
|
||||
|
||||
//Also heal some oxyloss ourselves because inaprovaline is so bad at preventing it!!
|
||||
src.occupant.oxyloss = max(src.occupant.oxyloss-4, 0)
|
||||
src.occupant.oxyloss = max(src.occupant.getOxyLoss()-4, 0)
|
||||
|
||||
use_power(7500) //This might need tweaking.
|
||||
return
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<B>Brute Damage:</B> [src.victim.getBruteLoss()]<BR>
|
||||
<B>Toxins Damage:</B> [src.victim.toxloss]<BR>
|
||||
<B>Fire Damage:</B> [src.victim.fireloss]<BR>
|
||||
<B>Suffocation Damage:</B> [src.victim.oxyloss]<BR>
|
||||
<B>Suffocation Damage:</B> [src.victim.getOxyLoss()]<BR>
|
||||
<B>Patient Status:</B> [src.victim.stat ? "Non-responsive" : "Stable"]<BR>
|
||||
"}
|
||||
else
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
src.active = 1
|
||||
src.overlays += image('computer.dmi', "ai-fixer-on")
|
||||
while (src.occupant.health < 100)
|
||||
src.occupant.oxyloss = max (src.occupant.oxyloss-1, 0)
|
||||
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.bruteloss = max (src.occupant.getBruteLoss()-1, 0)
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
if((C) && (C.has_sensor) && (C.loc) && (C.loc.z == 1))
|
||||
if(istype(C.loc, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = C.loc
|
||||
var/dam1 = round(H.oxyloss,1)
|
||||
var/dam1 = round(H.getOxyLoss(),1)
|
||||
var/dam2 = round(H.toxloss,1)
|
||||
var/dam3 = round(H.fireloss,1)
|
||||
var/dam4 = round(H.getBruteLoss(),1)
|
||||
|
||||
@@ -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.oxyloss,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.toxloss,0.1)]<BR>Body temperature: [src.occupant.bodytemperature]" : "<FONT color=red>None</FONT>"]<BR>
|
||||
|
||||
"}
|
||||
user.machine = src
|
||||
@@ -168,7 +168,7 @@
|
||||
occupant.sleeping = max(5, (1/occupant.bodytemperature)*2000)
|
||||
occupant.paralysis = max(5, (1/occupant.bodytemperature)*3000)
|
||||
if(air_contents.oxygen > 2)
|
||||
if(occupant.oxyloss) occupant.oxyloss = max(0, occupant.oxyloss - 1)
|
||||
if(occupant.getOxyLoss()) occupant.oxyloss = max(0, occupant.getOxyLoss() - 1)
|
||||
else
|
||||
occupant.oxyloss -= 1
|
||||
//severe damage should heal waaay slower without proper chemicals
|
||||
|
||||
@@ -1294,7 +1294,7 @@
|
||||
O.control_disabled = 1 // Can't control things remotely if you're stuck in a card!
|
||||
O.laws = AI.laws
|
||||
O.stat = AI.stat
|
||||
O.oxyloss = AI.oxyloss
|
||||
O.oxyloss = AI.getOxyLoss()
|
||||
O.fireloss = AI.fireloss
|
||||
O.bruteloss = AI.getBruteLoss()
|
||||
O.toxloss = AI.toxloss
|
||||
@@ -1312,7 +1312,7 @@
|
||||
O.mind.transfer_to(AI)
|
||||
AI.control_disabled = 0
|
||||
AI.laws = O.laws
|
||||
AI.oxyloss = O.oxyloss
|
||||
AI.oxyloss = O.getOxyLoss()
|
||||
AI.fireloss = O.fireloss
|
||||
AI.bruteloss = O.getBruteLoss()
|
||||
AI.toxloss = O.toxloss
|
||||
|
||||
@@ -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.oxyloss > 50 ? "\red" : "\blue"][C.oxyloss]-[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.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 Key: Suffocation/Toxin/Burns/Brute", 1)
|
||||
user.show_message("\blue \t Body Temperature: [C.bodytemperature-T0C]°C ([C.bodytemperature*1.8-459.67]°F)", 1)
|
||||
for(var/datum/disease/D in C.viruses)
|
||||
|
||||
@@ -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.oxyloss, (300 - (M.toxloss + M.fireloss + M.getBruteLoss())))
|
||||
var/fake_oxy = max(rand(1,40), M.getOxyLoss(), (300 - (M.toxloss + 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)
|
||||
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.oxyloss > 50 ? "\red [M.oxyloss]" : M.oxyloss, 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.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("\blue Key: Suffocation/Toxin/Burns/Brute", 1)
|
||||
user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°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)
|
||||
else
|
||||
user.show_message(text("\blue [] | [] | [] | []", M.oxyloss > 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.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)
|
||||
if (M.cloneloss)
|
||||
user.show_message(text("\red Subject appears to have been imperfectly cloned."), 1)
|
||||
for(var/datum/disease/D in M.viruses)
|
||||
|
||||
@@ -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(), oxyloss)
|
||||
oxyloss = max(175 - toxloss - 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(), oxyloss)
|
||||
oxyloss = max(175 - toxloss - 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(), oxyloss)
|
||||
oxyloss = max(175 - toxloss - 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(), oxyloss)
|
||||
oxyloss = max(175 - toxloss - 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(), oxyloss)
|
||||
oxyloss = max(475 - toxloss - fireloss - getBruteLoss(), getOxyLoss())
|
||||
updatehealth()
|
||||
|
||||
/mob/living/silicon/pai/verb/suicide()
|
||||
@@ -149,7 +149,7 @@
|
||||
suiciding = 1
|
||||
viewers(src) << "\red <b>[src] is thrashing wildly! It looks like \he's trying to commit suicide.</b>"
|
||||
//put em at -175
|
||||
oxyloss = max(100 - fireloss - getBruteLoss(), oxyloss)
|
||||
oxyloss = max(100 - fireloss - getBruteLoss(), getOxyLoss())
|
||||
updatehealth()
|
||||
|
||||
|
||||
|
||||
@@ -1165,7 +1165,7 @@ datum
|
||||
if(M.stat == 2.0)
|
||||
return //See above, down and around. --Agouri
|
||||
if(!M) M = holder.my_atom
|
||||
M:oxyloss = max(M:oxyloss-2, 0)
|
||||
M:oxyloss = max(M:getOxyLoss()-2, 0)
|
||||
if(holder.has_reagent("lexorin"))
|
||||
holder.remove_reagent("lexorin", 2)
|
||||
..()
|
||||
@@ -1199,7 +1199,7 @@ datum
|
||||
if(M.stat == 2.0)
|
||||
return
|
||||
if(!M) M = holder.my_atom
|
||||
if(M:oxyloss && prob(40)) M:oxyloss--
|
||||
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--
|
||||
@@ -1401,7 +1401,7 @@ datum
|
||||
if(!M) M = holder.my_atom
|
||||
if(M.bodytemperature < 170)
|
||||
if(M:cloneloss) M:cloneloss = max(0, M:cloneloss-1)
|
||||
if(M:oxyloss) M:oxyloss = max(0, M:oxyloss-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)
|
||||
..()
|
||||
@@ -1418,7 +1418,7 @@ datum
|
||||
if(!M) M = holder.my_atom
|
||||
if(M.bodytemperature < 170)
|
||||
if(M:cloneloss) M:cloneloss = max(0, M:cloneloss-3)
|
||||
if(M:oxyloss) M:oxyloss = max(0, M:oxyloss-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)
|
||||
..()
|
||||
@@ -1928,7 +1928,7 @@ datum
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
M:nutrition += nutriment_factor
|
||||
if(!M) M = holder.my_atom
|
||||
if(M:oxyloss && prob(30)) M:oxyloss--
|
||||
if(M:getOxyLoss() && prob(30)) M:oxyloss--
|
||||
M:nutrition++
|
||||
..()
|
||||
return
|
||||
@@ -3030,7 +3030,7 @@ datum
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
if(M:oxyloss && prob(50)) M:oxyloss -= 2
|
||||
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
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
sleeping = 0
|
||||
bruteloss = max(getBruteLoss(), 0)
|
||||
toxloss = max(toxloss, 0)
|
||||
oxyloss = max(oxyloss, 0)
|
||||
oxyloss = max(getOxyLoss(), 0)
|
||||
fireloss = max(fireloss, 0)
|
||||
if(stat)
|
||||
stat = 0
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
|
||||
proc/UpdateDamage()
|
||||
health = 60 - (oxyloss + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
health = 60 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
if (src.nodamage == 0)
|
||||
//oxyloss is only used for suicide
|
||||
//toxloss isn't used for aliens, its actually used as alien powers!!
|
||||
src.health = 150 - src.oxyloss - src.fireloss - src.getBruteLoss()
|
||||
src.health = 150 - src.getOxyLoss() - src.fireloss - src.getBruteLoss()
|
||||
else
|
||||
src.health = 150
|
||||
src.stat = 0
|
||||
@@ -76,9 +76,9 @@
|
||||
|
||||
handle_regular_status_updates()
|
||||
|
||||
health = 150 - (oxyloss + fireloss + getBruteLoss() + cloneloss)
|
||||
health = 150 - (getOxyLoss() + fireloss + getBruteLoss() + cloneloss)
|
||||
|
||||
if(oxyloss > 50) paralysis = max(paralysis, 3)
|
||||
if(getOxyLoss() > 50) paralysis = max(paralysis, 3)
|
||||
|
||||
if(src.sleeping)
|
||||
src.paralysis = max(src.paralysis, 3)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
if (src.nodamage == 0)
|
||||
//oxyloss is only used for suicide
|
||||
//toxloss isn't used for aliens, its actually used as alien powers!!
|
||||
src.health = 125 - src.oxyloss - src.fireloss - src.getBruteLoss()
|
||||
src.health = 125 - src.getOxyLoss() - src.fireloss - src.getBruteLoss()
|
||||
else
|
||||
src.health = 125
|
||||
src.stat = 0
|
||||
@@ -77,9 +77,9 @@
|
||||
|
||||
handle_regular_status_updates()
|
||||
|
||||
health = 150 - (oxyloss + fireloss + getBruteLoss() + cloneloss)
|
||||
health = 150 - (getOxyLoss() + fireloss + getBruteLoss() + cloneloss)
|
||||
|
||||
if(oxyloss > 50) paralysis = max(paralysis, 3)
|
||||
if(getOxyLoss() > 50) paralysis = max(paralysis, 3)
|
||||
|
||||
if(src.sleeping)
|
||||
src.paralysis = max(src.paralysis, 3)
|
||||
|
||||
@@ -755,7 +755,7 @@ In all, this is a lot like the monkey code. /N
|
||||
if (nodamage == 0)
|
||||
//oxyloss is only used for suicide
|
||||
//toxloss isn't used for aliens, its actually used as alien powers!!
|
||||
health = 100 - oxyloss - fireloss - getBruteLoss()
|
||||
health = 100 - getOxyLoss() - fireloss - getBruteLoss()
|
||||
else
|
||||
health = 100
|
||||
stat = 0
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
sleeping = max(min(sleeping, 20), 0)
|
||||
bruteloss = max(getBruteLoss(), 0)
|
||||
toxloss = max(toxloss, 0)
|
||||
oxyloss = max(oxyloss, 0)
|
||||
oxyloss = max(getOxyLoss(), 0)
|
||||
fireloss = max(fireloss, 0)
|
||||
|
||||
|
||||
@@ -396,9 +396,9 @@
|
||||
|
||||
handle_regular_status_updates()
|
||||
|
||||
health = 100 - (oxyloss + fireloss + getBruteLoss() + cloneloss)
|
||||
health = 100 - (getOxyLoss() + fireloss + getBruteLoss() + cloneloss)
|
||||
|
||||
if(oxyloss > 50) paralysis = max(paralysis, 3)
|
||||
if(getOxyLoss() > 50) paralysis = max(paralysis, 3)
|
||||
|
||||
if(src.sleeping)
|
||||
src.paralysis = max(src.paralysis, 3)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
if (src.nodamage == 0)
|
||||
//oxyloss is only used for suicide
|
||||
//toxloss isn't used for aliens, its actually used as alien powers!!
|
||||
src.health = 250 - src.oxyloss - src.fireloss - src.getBruteLoss()
|
||||
src.health = 250 - src.getOxyLoss() - src.fireloss - src.getBruteLoss()
|
||||
else
|
||||
src.health = 250
|
||||
src.stat = 0
|
||||
@@ -78,9 +78,9 @@
|
||||
|
||||
handle_regular_status_updates()
|
||||
|
||||
health = 250 - (oxyloss + fireloss + getBruteLoss() + cloneloss)
|
||||
health = 250 - (getOxyLoss() + fireloss + getBruteLoss() + cloneloss)
|
||||
|
||||
if(oxyloss > 50) paralysis = max(paralysis, 3)
|
||||
if(getOxyLoss() > 50) paralysis = max(paralysis, 3)
|
||||
|
||||
if(src.sleeping)
|
||||
src.paralysis = max(src.paralysis, 3)
|
||||
|
||||
@@ -503,7 +503,7 @@
|
||||
if (nodamage == 0)
|
||||
//oxyloss is only used for suicide
|
||||
//toxloss isn't used for aliens, its actually used as alien powers!!
|
||||
health = 25 - oxyloss - fireloss - getBruteLoss()
|
||||
health = 25 - getOxyLoss() - fireloss - getBruteLoss()
|
||||
else
|
||||
health = 25
|
||||
stat = 0
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
sleeping = max(min(sleeping, 20), 0)
|
||||
bruteloss = max(getBruteLoss(), 0)
|
||||
toxloss = max(toxloss, 0)
|
||||
oxyloss = max(oxyloss, 0)
|
||||
oxyloss = max(getOxyLoss(), 0)
|
||||
fireloss = max(fireloss, 0)
|
||||
|
||||
handle_mutations_and_radiation()
|
||||
@@ -323,9 +323,9 @@
|
||||
|
||||
handle_regular_status_updates()
|
||||
|
||||
health = 25 - (oxyloss + fireloss + getBruteLoss() + cloneloss)
|
||||
health = 25 - (getOxyLoss() + fireloss + getBruteLoss() + cloneloss)
|
||||
|
||||
if(oxyloss > 50) paralysis = max(paralysis, 3)
|
||||
if(getOxyLoss() > 50) paralysis = max(paralysis, 3)
|
||||
|
||||
if(sleeping)
|
||||
paralysis = max(paralysis, 3)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
handle_regular_status_updates()
|
||||
|
||||
health = 200 - (oxyloss + fireloss + getBruteLoss())
|
||||
health = 200 - (getOxyLoss() + fireloss + getBruteLoss())
|
||||
|
||||
weakened = 0
|
||||
stunned = 0
|
||||
@@ -43,7 +43,7 @@
|
||||
return 1
|
||||
|
||||
updatehealth()
|
||||
src.health = 200 - src.oxyloss - src.fireloss - src.getBruteLoss()
|
||||
src.health = 200 - src.getOxyLoss() - src.fireloss - src.getBruteLoss()
|
||||
|
||||
xcom_attack(mob/living/carbon/human/target as mob)
|
||||
if(!ishuman(target))
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
weakened = max(weakened, 0)
|
||||
bruteloss = max(getBruteLoss(), 0)
|
||||
fireloss = max(fireloss, 0)
|
||||
oxyloss = max(oxyloss, 0)
|
||||
oxyloss = max(getOxyLoss(), 0)
|
||||
toxloss = max(toxloss, 0)
|
||||
|
||||
handle_mutations_and_radiation()
|
||||
@@ -144,9 +144,9 @@
|
||||
|
||||
handle_regular_status_updates()
|
||||
|
||||
health = 100 - (oxyloss + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
health = 100 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
|
||||
if(oxyloss > 25) paralysis = max(paralysis, 3)
|
||||
if(getOxyLoss() > 25) paralysis = max(paralysis, 3)
|
||||
|
||||
if(sleeping)
|
||||
paralysis = max(paralysis, 5)
|
||||
|
||||
@@ -1874,7 +1874,7 @@ It can still be worn/put on as normal.
|
||||
return
|
||||
if ((target.health >= -99.0 && target.health < 0))
|
||||
target.cpr_time = world.time
|
||||
var/suff = min(target.oxyloss, 7)
|
||||
var/suff = min(target.getOxyLoss(), 7)
|
||||
target.oxyloss -= suff
|
||||
target.updatehealth()
|
||||
for(var/mob/O in viewers(source, null))
|
||||
@@ -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.oxyloss - src.toxloss - src.fireloss - src.getBruteLoss() - src.cloneloss
|
||||
src.health = 100 - src.getOxyLoss() - src.toxloss - src.fireloss - src.getBruteLoss() - src.cloneloss
|
||||
|
||||
|
||||
/mob/living/carbon/human/abiotic(var/full_body = 0)
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
sleeping = max(min(sleeping, 20), 0)
|
||||
bruteloss = max(getBruteLoss(), 0)
|
||||
toxloss = max(toxloss, 0)
|
||||
oxyloss = max(oxyloss, 0)
|
||||
oxyloss = max(getOxyLoss(), 0)
|
||||
fireloss = max(fireloss, 0)
|
||||
|
||||
|
||||
@@ -346,7 +346,7 @@
|
||||
oxygen_used = breath.oxygen*ratio/6
|
||||
oxygen_alert = max(oxygen_alert, 1)*/
|
||||
else // We're in safe limits
|
||||
oxyloss = max(oxyloss-5, 0)
|
||||
oxyloss = max(getOxyLoss()-5, 0)
|
||||
oxygen_used = breath.oxygen/6
|
||||
oxygen_alert = 0
|
||||
|
||||
@@ -607,7 +607,7 @@
|
||||
heal_overall_damage(1,0)
|
||||
if(toxloss)
|
||||
toxloss--
|
||||
if(oxyloss)
|
||||
if(getOxyLoss())
|
||||
oxyloss--
|
||||
|
||||
if(overeatduration > 500 && !(mutations & FAT))
|
||||
@@ -656,9 +656,9 @@
|
||||
|
||||
handle_regular_status_updates()
|
||||
|
||||
// health = 100 - (oxyloss + toxloss + fireloss + bruteloss + cloneloss)
|
||||
// health = 100 - (getOxyLoss() + toxloss + fireloss + bruteloss + cloneloss)
|
||||
|
||||
if(oxyloss > 50) paralysis = max(paralysis, 3)
|
||||
if(getOxyLoss() > 50) paralysis = max(paralysis, 3)
|
||||
|
||||
if(sleeping)
|
||||
paralysis = max(paralysis, 3)
|
||||
|
||||
@@ -396,9 +396,9 @@
|
||||
handle_regular_status_updates()
|
||||
|
||||
if(istype(src, /mob/living/carbon/metroid/adult))
|
||||
health = 200 - (oxyloss + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
health = 200 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
else
|
||||
health = 150 - (oxyloss + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
health = 150 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
|
||||
|
||||
|
||||
@@ -416,7 +416,7 @@
|
||||
if(src.stat != 2) src.stat = 1
|
||||
|
||||
if(prob(30))
|
||||
if(oxyloss>0) oxyloss = max(oxyloss-1, 0)
|
||||
if(getOxyLoss()>0) oxyloss = max(getOxyLoss()-1, 0)
|
||||
if(toxloss>0) toxloss = max(toxloss-1, 0)
|
||||
if(fireloss>0) fireloss = max(fireloss-1,0)
|
||||
if(cloneloss>0) cloneloss = max(cloneloss-1,0)
|
||||
|
||||
@@ -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 - (oxyloss + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
health = 200 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
else
|
||||
health = 150 - (oxyloss + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
health = 150 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
else
|
||||
if(istype(src, /mob/living/carbon/metroid/adult))
|
||||
health = 200
|
||||
|
||||
@@ -79,8 +79,8 @@
|
||||
if(toxloss > 0)
|
||||
toxloss = max(0, toxloss-10)
|
||||
|
||||
if(oxyloss > 0)
|
||||
oxyloss = max(0, oxyloss-10)
|
||||
if(getOxyLoss() > 0)
|
||||
oxyloss = max(0, getOxyLoss()-10)
|
||||
|
||||
if(getBruteLoss() > 0)
|
||||
bruteloss = max(0, getBruteLoss()-10)
|
||||
@@ -97,7 +97,7 @@
|
||||
Metroid.Feedstop()
|
||||
|
||||
if(toxloss<0) toxloss = 0
|
||||
if(oxyloss<0) oxyloss = 0
|
||||
if(getOxyLoss()<0) oxyloss = 0
|
||||
if(getBruteLoss()<0) bruteloss = 0
|
||||
if(fireloss<0) fireloss = 0
|
||||
if(cloneloss<0) cloneloss = 0
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
oxygen_used = breath.oxygen*ratio/6
|
||||
oxygen_alert = max(oxygen_alert, 1)*/
|
||||
else // We're in safe limits
|
||||
oxyloss = max(oxyloss-5, 0)
|
||||
oxyloss = max(getOxyLoss()-5, 0)
|
||||
oxygen_used = breath.oxygen/6
|
||||
oxygen_alert = 0
|
||||
|
||||
@@ -397,9 +397,9 @@
|
||||
|
||||
handle_regular_status_updates()
|
||||
|
||||
health = 100 - (oxyloss + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
health = 100 - (getOxyLoss() + toxloss + fireloss + getBruteLoss() + cloneloss)
|
||||
|
||||
if(oxyloss > 25) paralysis = max(paralysis, 3)
|
||||
if(getOxyLoss() > 25) paralysis = max(paralysis, 3)
|
||||
|
||||
if(src.sleeping)
|
||||
src.paralysis = max(src.paralysis, 5)
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
bruteloss += 30
|
||||
if ((O.icon_state == "flaming" && !( shielded )))
|
||||
fireloss += 40
|
||||
health = 100 - oxyloss - toxloss - fireloss - getBruteLoss()
|
||||
health = 100 - getOxyLoss() - toxloss - 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 - oxyloss - toxloss - fireloss - getBruteLoss()
|
||||
health = 100 - getOxyLoss() - toxloss - 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 - oxyloss - toxloss - fireloss - getBruteLoss()
|
||||
health = 100 - getOxyLoss() - toxloss - fireloss - getBruteLoss()
|
||||
if(2.0)
|
||||
if (stat != 2)
|
||||
bruteloss += 60
|
||||
fireloss += 60
|
||||
health = 100 - oxyloss - toxloss - fireloss - getBruteLoss()
|
||||
health = 100 - getOxyLoss() - toxloss - fireloss - getBruteLoss()
|
||||
if(3.0)
|
||||
if (stat != 2)
|
||||
bruteloss += 30
|
||||
health = 100 - oxyloss - toxloss - fireloss - getBruteLoss()
|
||||
health = 100 - getOxyLoss() - toxloss - 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 - oxyloss - toxloss - fireloss - getBruteLoss()
|
||||
health = 100 - getOxyLoss() - toxloss - fireloss - getBruteLoss()
|
||||
if (prob(50))
|
||||
paralysis += 10
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
set hidden = 1
|
||||
if ((src.health < 0 && src.health > -95.0))
|
||||
src.oxyloss += src.health + 200
|
||||
src.health = 100 - src.oxyloss - src.toxloss - src.fireloss - src.getBruteLoss()
|
||||
src.health = 100 - src.getOxyLoss() - src.toxloss - 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.oxyloss - src.toxloss - src.fireloss - src.getBruteLoss() - src.cloneloss
|
||||
src.health = 100 - src.getOxyLoss() - src.toxloss - src.fireloss - src.getBruteLoss() - src.cloneloss
|
||||
else
|
||||
src.health = 100
|
||||
src.stat = 0
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
src << "Alert cancelled. Power has been restored without our assistance."
|
||||
src:aiRestorePowerRoutine = 0
|
||||
spawn(1)
|
||||
while (src.oxyloss>0 && stat!=2)
|
||||
while (src.getOxyLoss()>0 && stat!=2)
|
||||
sleep(50)
|
||||
src.oxyloss-=1
|
||||
src.oxyloss = 0
|
||||
@@ -85,7 +85,7 @@
|
||||
src << "Alert cancelled. Power has been restored."
|
||||
src:aiRestorePowerRoutine = 0
|
||||
spawn(1)
|
||||
while (src.oxyloss>0 && stat!=2)
|
||||
while (src.getOxyLoss()>0 && stat!=2)
|
||||
sleep(50)
|
||||
src.oxyloss-=1
|
||||
src.oxyloss = 0
|
||||
@@ -239,9 +239,9 @@
|
||||
/mob/living/silicon/ai/updatehealth()
|
||||
if (src.nodamage == 0)
|
||||
if(src.fire_res_on_core)
|
||||
src.health = 100 - src.oxyloss - src.toxloss - src.getBruteLoss()
|
||||
src.health = 100 - src.getOxyLoss() - src.toxloss - src.getBruteLoss()
|
||||
else
|
||||
src.health = 100 - src.oxyloss - src.toxloss - src.fireloss - src.getBruteLoss()
|
||||
src.health = 100 - src.getOxyLoss() - src.toxloss - src.fireloss - src.getBruteLoss()
|
||||
else
|
||||
src.health = 100
|
||||
src.stat = 0
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
/mob/living/silicon/decoy/updatehealth()
|
||||
if (src.nodamage == 0)
|
||||
src.health = 100 - src.oxyloss - src.toxloss - src.fireloss - src.getBruteLoss()
|
||||
src.health = 100 - src.getOxyLoss() - src.toxloss - src.fireloss - src.getBruteLoss()
|
||||
else
|
||||
src.health = 100
|
||||
src.stat = 0
|
||||
@@ -469,7 +469,7 @@
|
||||
dat += {"Bioscan Results for [M]: <br>"
|
||||
Overall Status: [M.stat > 1 ? "dead" : "[M.health]% healthy"] <br>
|
||||
Scan Breakdown: <br>
|
||||
Respiratory: [M.oxyloss > 50 ? "<font color=#FF5555>" : "<font color=#55FF55>"][M.oxyloss]</font><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>
|
||||
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>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
sleeping = 0
|
||||
bruteloss = max(getBruteLoss(), 0)
|
||||
toxloss = max(toxloss, 0)
|
||||
oxyloss = max(oxyloss, 0)
|
||||
oxyloss = max(getOxyLoss(), 0)
|
||||
fireloss = max(fireloss, 0)
|
||||
|
||||
use_power()
|
||||
@@ -87,9 +87,9 @@
|
||||
if(src.stat)
|
||||
src.camera.status = 0
|
||||
|
||||
health = 200 - (oxyloss + fireloss + getBruteLoss())
|
||||
health = 200 - (getOxyLoss() + fireloss + getBruteLoss())
|
||||
|
||||
if(oxyloss > 50) paralysis = max(paralysis, 3)
|
||||
if(getOxyLoss() > 50) paralysis = max(paralysis, 3)
|
||||
|
||||
if(src.sleeping)
|
||||
src.paralysis = max(src.paralysis, 3)
|
||||
|
||||
@@ -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.oxyloss > 50 ? "\red" : "\blue"][C.oxyloss]-[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.toxloss > 50 ? "\red" : "\blue"][C.toxloss]-[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]°C ([C.bodytemperature*1.8-459.67]°F)"
|
||||
if(C.virus)
|
||||
|
||||
Reference in New Issue
Block a user