diff --git a/code/WorkInProgress/organs/organs.dm b/code/WorkInProgress/organs/organs.dm
index 896f8eca06a..9fbc69e8ac6 100644
--- a/code/WorkInProgress/organs/organs.dm
+++ b/code/WorkInProgress/organs/organs.dm
@@ -102,72 +102,11 @@
/obj/organ/torso
name = "torso"
var/maxHealth = 50 //right now, the mob's (only humans for now) health depends only on it. Will be fixed later
- var/ear_damage = null//Carbon
- var/cloneloss = 0//Carbon
- var/nodamage = 0
-// flags = NOREACT //uncomment this out later
- var/viruses = list() // replaces var/datum/disease/virus
- var/list/resistances = list()
- var/datum/disease/virus = null
- var/emote_allowed = 1
- var/sdisabilities = 0//Carbon
- var/disabilities = 0//Carbon
- var/monkeyizing = null//Carbon
- var/lying = 0.0
- var/resting = 0.0//Carbon
- var/sleeping = 0.0//Carbon
- var/oxyloss = 0.0//Living
- var/toxloss = 0.0//Living
- var/fireloss = 0.0//Living
- var/bruteloss = 0.0//Living
- var/timeofdeath = 0.0//Living
- var/rejuv = null
- var/antitoxs = null
- var/plasma = null
- var/cpr_time = 1.0//Carbon
- var/health = 100//Living
- var/bodytemperature = 310.055 //98.7 F
- var/bhunger = 0//Carbon
- var/nutrition = 400.0//Carbon
- var/overeatduration = 0 // How long this guy is overeating //Carbon
- var/paralysis = 0.0
- var/stunned = 0.0
- var/weakened = 0.0
- var/losebreath = 0.0//Carbon
-
- var/obj/item/weapon/storage/s_active = null//Carbon
- var/inertia_dir = 0
- var/datum/dna/dna = null//Carbon
- var/radiation = 0.0//Carbon
- var/mutations = 0//Carbon
- //telekinesis = 1
- //firemut = 2
- //xray = 4
- //hulk = 8
- //clumsy = 16
- //obese = 32
- //husk = 64
-/*For ninjas and others. This variable is checked when a mob moves and I guess it was supposed to allow the mob to move
-through dense areas, such as walls. Setting density to 0 does the same thing. The difference here is that
-the mob is also allowed to move without any sort of restriction. For instance, in space or out of holder objects.*/
-//0 is off, 1 is normal, 2 is for ninjas.
- var/incorporeal_move = 0
-//The last mob/living/carbon to push/drag/grab this mob (mostly used by Metroids friend recognition)
- var/mob/living/carbon/LAssailant = null
-
-
-
-
/obj/organ/torso/human
name = "human torso"
species = "human"
maxHealth = 100
- var/underwear = 1//Human
- var/obj/item/weapon/back = null//Human/Monkey
- var/obj/item/weapon/tank/internal = null//Human/Monkey
- var/alien_egg_flag = 0//Have you been infected?
- var/last_special = 0
New()
..()
@@ -195,14 +134,6 @@ the mob is also allowed to move without any sort of restriction. For instance, i
var/minDamage = 5 //punching damage
var/maxDamage = 5
- var/atom/movable/pulling = null
- var/hand = null
- var/obj/item/weapon/handcuffs/handcuffed = null//Living
- var/obj/item/l_hand = null//Living
- var/obj/item/r_hand = null//Living
- var/in_throw_mode = 0
-// var/strangleDelay = 1 //The code is a bit too complicated for that right now
-
/obj/organ/limb/arms/alien
name = "alien arms"
species = "alien"
@@ -219,15 +150,6 @@ the mob is also allowed to move without any sort of restriction. For instance, i
/obj/organ/limb/legs
name = "legs"
- var/moveRunDelay = 1 //not sure about how that works
- var/moveWalkDelay = 7
- //var/knockdownResist = 0
- var/next_move = null
- var/prev_move = null
- var/canmove = 1.0
- var/obj/structure/stool/buckled = null//Living
- var/footstep = 1
-
/obj/organ/limb/legs/human
name = "human legs"
species = "human"
@@ -240,46 +162,9 @@ the mob is also allowed to move without any sort of restriction. For instance, i
/obj/organ/head
name = "head"
- var/stuttering = null//Carbon
- var/druggy = 0//Carbon
- var/confused = 0//Carbon
- var/drowsyness = 0.0//Carbon
- var/dizziness = 0//Carbon
- var/is_dizzy = 0
- var/is_jittery = 0
- var/jitteriness = 0//Carbon
- var/r_epil = 0
- var/r_ch_cou = 0
- var/r_Tourette = 0//Carbon
- var/miming = null //checks if the guy is a mime//Human
- var/silent = null //Can't talk. Value goes down every life proc.//Human
- var/voice_name = "unidentifiable voice"
- var/voice_message = null // When you are not understood by others (replaced with just screeches, hisses, chimpers etc.)
- var/say_message = null // When you are understood by others. Currently only used by aliens and monkeys in their say_quote procs
- var/coughedtime = null
- var/job = null//Living
- var/const/blindness = 1//Carbon
- var/const/deafness = 2//Carbon
- var/const/muteness = 4//Carbon
- var/brainloss = 0//Carbon
- var/robot_talk_understand = 0
- var/alien_talk_understand = 0
- var/universal_speak = 0 // Set to 1 to enable the mob to speak to everyone -- TLE
- var/ear_deaf = null//Carbon
- var/eye_blind = null//Carbon
- var/eye_blurry = null//Carbon
- var/eye_stat = null//Living, potentially Carbon
- var/blinded = null
- var/shakecamera = 0
-//Wizard mode, but can be used in other modes thanks to the brand new "Give Spell" badmin button
- var/obj/proc_holder/spell/list/spell_list = list()
-
-
-
/obj/organ/head/human
name = "human head"
species = "human"
- var/obj/item/clothing/mask/wear_mask = null//Carbon
/obj/organ/head/alien
name = "alien head"
diff --git a/code/defines/mob/mob.dm b/code/defines/mob/mob.dm
index 3e94edec2a6..7687a21a16d 100644
--- a/code/defines/mob/mob.dm
+++ b/code/defines/mob/mob.dm
@@ -11,18 +11,26 @@
//MOB overhaul
//Not in use yet
-// var/obj/organstructure/organStructure = null
+ var/obj/organstructure/organStructure = null
- //Vars that have been relocated.
+ //Vars that have been relocated to organStructure
+ //Vars that have been relocated to organStructure ++END
-// var/uses_hud = 0
+
+
+ //Vars that should only be accessed via procs
var/bruteloss = 0.0//Living
var/oxyloss = 0.0//Living
var/toxloss = 0.0//Living
var/fireloss = 0.0//Living
var/cloneloss = 0//Carbon
var/brainloss = 0//Carbon
+ //Vars that should only be accessed via procs ++END
+
+
+
+// var/uses_hud = 0
var/obj/screen/flash = null
var/obj/screen/blind = null
var/obj/screen/hands = null
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index 25b9aca8cef..11dc1d4166b 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -121,7 +121,7 @@
ear_damage += 15
ear_deaf += 60
- bruteloss += b_loss
+ adjustBruteLoss(b_loss)
adjustFireLoss(f_loss)
updatehealth()
@@ -224,7 +224,7 @@
if ((M.client && !( M.blinded )))
M.show_message(text("\red [] has been hit by []", src, O), 1)
if (health > 0)
- bruteloss += (istype(O, /obj/effect/meteor/small) ? 10 : 25)
+ adjustFireLoss((istype(O, /obj/effect/meteor/small) ? 10 : 25))
adjustFireLoss(30)
updatehealth()
@@ -464,7 +464,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [M.name] has bit []!", src), 1)
- bruteloss += rand(1, 3)
+ adjustBruteLoss(rand(1, 3))
updatehealth()
return
@@ -493,7 +493,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [M.name] has bit [src]!"), 1)
- bruteloss += rand(1, 3)
+ adjustBruteLoss(rand(1, 3))
updatehealth()
return
@@ -518,7 +518,7 @@
else
damage = rand(5, 35)
- bruteloss += damage
+ adjustBruteLoss(damage)
if(M.powerlevel > 0)
var/stunprob = 10
@@ -649,7 +649,7 @@
for(var/mob/O in viewers(M, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [] has weakened []!", M, src), 1, "\red You hear someone fall.", 2)
- bruteloss += damage
+ adjustBruteLoss(damage)
updatehealth()
else
playsound(loc, 'punchmiss.ogg', 25, 1, -1)
@@ -714,7 +714,7 @@ In all, this is a lot like the monkey code. /N
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [M.name] has bit []!", src), 1)
- bruteloss += damage
+ adjustBruteLoss(damage)
updatehealth()
else
M << "\green [name] is too injured for that."
diff --git a/code/modules/mob/living/carbon/alien/humanoid/life.dm b/code/modules/mob/living/carbon/alien/humanoid/life.dm
index 2fa384d722f..81785a9c13a 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/life.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/life.dm
@@ -579,5 +579,5 @@
continue
if(air_master.current_cycle%3==1)
if(!M.nodamage)
- M.bruteloss += 5
+ M.adjustBruteLoss(5)
src.nutrition += 10
diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm
index e408f676b4f..6df3e018bd3 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm
@@ -71,7 +71,7 @@
if(health >= 250)
adjustToxLoss(20)
else
- bruteloss -= 5
+ adjustBruteLoss(-5)
adjustFireLoss(-5)
handle_regular_status_updates()
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index 1ea89f9a219..9464c220978 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -109,7 +109,7 @@
ear_damage += 15
ear_deaf += 60
- bruteloss += b_loss
+ adjustBruteLoss(b_loss)
adjustFireLoss(f_loss)
updatehealth()
@@ -150,7 +150,7 @@
if ((M.client && !( M.blinded )))
M.show_message(text("\red [] has been hit by []", src, O), 1)
if (health > 0)
- bruteloss += (istype(O, /obj/effect/meteor/small) ? 10 : 25)
+ adjustBruteLoss((istype(O, /obj/effect/meteor/small) ? 10 : 25))
adjustFireLoss(30)
updatehealth()
@@ -278,7 +278,7 @@
O.show_message(text("\red [M.name] has bit []!", src), 1)
var/damage = rand(1, 3)
- bruteloss += damage
+ adjustBruteLoss(damage)
updatehealth()
@@ -308,7 +308,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [M.name] has bit [src]!"), 1)
- bruteloss += rand(1, 3)
+ adjustBruteLoss(rand(1, 3))
updatehealth()
return
@@ -333,7 +333,7 @@
else
damage = rand(5, 35)
- bruteloss += damage
+ adjustBruteLoss(damage)
updatehealth()
@@ -431,7 +431,7 @@
for(var/mob/O in viewers(M, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [] has weakened []!", M, src), 1, "\red You hear someone fall.", 2)
- bruteloss += damage
+ adjustBruteLoss(damage)
updatehealth()
else
playsound(loc, 'punchmiss.ogg', 25, 1, -1)
@@ -470,7 +470,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [M.name] has bit []!", src), 1)
- bruteloss += damage
+ adjustBruteLoss(damage)
updatehealth()
else
M << "\green [name] is too injured for that."
diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm
index 66bab04a2fb..7d9e39336d2 100644
--- a/code/modules/mob/living/carbon/alien/larva/life.dm
+++ b/code/modules/mob/living/carbon/alien/larva/life.dm
@@ -274,7 +274,7 @@
if(health >= 25)
adjustToxLoss(5)
else
- bruteloss -= 5
+ adjustBruteLoss(-5)
adjustFireLoss(-5)
return
@@ -508,5 +508,5 @@
continue
if(air_master.current_cycle%3==1)
if(!M.nodamage)
- M.bruteloss += 5
+ M.adjustBruteLoss(5)
nutrition += 10
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 1589738591b..9669d97642c 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -1034,7 +1034,7 @@
continue
if(air_master.current_cycle%3==1)
if(!M.nodamage)
- M.bruteloss += 5
+ M.adjustBruteLoss(5)
nutrition += 10
handle_changeling()
diff --git a/code/modules/mob/living/carbon/metroid/life.dm b/code/modules/mob/living/carbon/metroid/life.dm
index 57e15ee3ca5..e69e343ad8a 100644
--- a/code/modules/mob/living/carbon/metroid/life.dm
+++ b/code/modules/mob/living/carbon/metroid/life.dm
@@ -414,11 +414,11 @@
if(src.stat != DEAD) src.stat = UNCONSCIOUS
if(prob(30))
- if(getOxyLoss()>0) oxyloss = max(getOxyLoss()-1, 0)
- if(getToxLoss()>0) adjustToxLoss(-1)
- if(getFireLoss()>0) adjustFireLoss(-1)
- if(cloneloss>0) cloneloss = max(cloneloss-1,0)
- if(getBruteLoss()>0) bruteloss = max(getBruteLoss()-1,0)
+ adjustOxyLoss(-1)
+ adjustToxLoss(-1)
+ adjustFireLoss(-1)
+ adjustCloneLoss(-1)
+ adjustBruteLoss(-1)
if (src.stat == DEAD)
diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm
index e070ce79a7f..0f6c61b1936 100644
--- a/code/modules/mob/living/carbon/metroid/metroid.dm
+++ b/code/modules/mob/living/carbon/metroid/metroid.dm
@@ -174,7 +174,7 @@
if(3.0)
b_loss += 30
- bruteloss += b_loss
+ adjustBruteLoss(b_loss)
adjustFireLoss(f_loss)
updatehealth()
@@ -214,7 +214,7 @@
if ((M.client && !( M.blinded )))
M.show_message(text("\red [] has been hit by []", src, O), 1)
if (health > 0)
- bruteloss += (istype(O, /obj/effect/meteor/small) ? 10 : 25)
+ adjustBruteLoss((istype(O, /obj/effect/meteor/small) ? 10 : 25))
adjustFireLoss(30)
updatehealth()
@@ -341,7 +341,7 @@
else
damage = rand(1, 3)
- bruteloss += damage
+ adjustBruteLoss(damage)
updatehealth()
@@ -373,7 +373,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [M.name] has bit [src]!"), 1)
- bruteloss += rand(1, 3)
+ adjustBruteLoss(rand(1, 3))
updatehealth()
return
@@ -515,7 +515,7 @@
if ((O.client && !( O.blinded )))
O.show_message(text("\red [] has punched []!", M, src), 1)
- bruteloss += damage
+ adjustBruteLoss(damage)
updatehealth()
else
playsound(loc, 'punchmiss.ogg', 25, 1, -1)
@@ -556,7 +556,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [] has wounded [name]!", M), 1)
- bruteloss += damage
+ adjustBruteLoss(damage)
updatehealth()
else
playsound(loc, 'slashmiss.ogg', 25, 1, -1)
@@ -619,7 +619,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [] has disarmed [name]!", M), 1)
- bruteloss += damage
+ adjustBruteLoss(damage)
updatehealth()
return