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
+12 -12
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
+2 -2
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
@@ -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)))
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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)
+2 -2
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)
@@ -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)
+3 -3
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)
@@ -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)
@@ -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
@@ -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
@@ -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)
@@ -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
+2 -2
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
+2 -2
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
@@ -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
@@ -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>
@@ -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)
@@ -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