mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-22 12:47:16 +01:00
Merge branch 'master' into upstream-merge-6882
This commit is contained in:
@@ -33,7 +33,7 @@
|
||||
/obj/effect/landmark/mobcorpse/proc/createCorpse() //Creates a mob and checks for gear in each slot before attempting to equip it.
|
||||
var/mob/living/carbon/human/M = new /mob/living/carbon/human (src.loc)
|
||||
M.real_name = src.name
|
||||
M.stat = 2 //Kills the new mob
|
||||
M.set_stat(DEAD) //Kills the new mob
|
||||
if(src.corpseuniform)
|
||||
M.equip_to_slot_or_del(new src.corpseuniform(M), slot_w_uniform)
|
||||
if(src.corpsesuit)
|
||||
|
||||
@@ -94,8 +94,6 @@
|
||||
plane = PLANE_GHOSTS //Why doesn't the var above work...???
|
||||
verbs += /mob/observer/dead/proc/dead_tele
|
||||
|
||||
stat = DEAD
|
||||
|
||||
var/turf/T
|
||||
if(ismob(body))
|
||||
T = get_turf(body) //Where is the body located?
|
||||
@@ -149,6 +147,11 @@
|
||||
|
||||
/mob/observer/dead/CanPass(atom/movable/mover, turf/target)
|
||||
return TRUE
|
||||
|
||||
/mob/observer/dead/set_stat(var/new_stat)
|
||||
if(new_stat != DEAD)
|
||||
CRASH("It is best if observers stay dead, thank you.")
|
||||
|
||||
/*
|
||||
Transfer_mind is there to check if mob is being deleted/not going to have a body.
|
||||
Works together with spawning an observer, noted above.
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
if(!gibbed && deathmessage != "no message") // This is gross, but reliable. Only brains use it.
|
||||
src.visible_message("<b>\The [src.name]</b> [deathmessage]")
|
||||
|
||||
stat = DEAD
|
||||
set_stat(DEAD)
|
||||
|
||||
update_canmove()
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
/mob/living/bot/updatehealth()
|
||||
if(status_flags & GODMODE)
|
||||
health = getMaxHealth()
|
||||
stat = CONSCIOUS
|
||||
set_stat(CONSCIOUS)
|
||||
else
|
||||
health = getMaxHealth() - getFireLoss() - getBruteLoss()
|
||||
oxyloss = 0
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
if(paralysis && paralysis > 0)
|
||||
blinded = 1
|
||||
stat = UNCONSCIOUS
|
||||
set_stat(UNCONSCIOUS)
|
||||
if(halloss > 0)
|
||||
adjustHalLoss(-3)
|
||||
|
||||
@@ -61,13 +61,13 @@
|
||||
if(mind.active && client != null)
|
||||
sleeping = max(sleeping-1, 0)
|
||||
blinded = 1
|
||||
stat = UNCONSCIOUS
|
||||
set_stat(UNCONSCIOUS)
|
||||
else if(resting)
|
||||
if(halloss > 0)
|
||||
adjustHalLoss(-3)
|
||||
|
||||
else
|
||||
stat = CONSCIOUS
|
||||
set_stat(CONSCIOUS)
|
||||
if(halloss > 0)
|
||||
adjustHalLoss(-1)
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
B.brainmob = null
|
||||
brainmob.loc = src
|
||||
brainmob.container = src
|
||||
brainmob.stat = 0
|
||||
brainmob.set_stat(CONSCIOUS)
|
||||
dead_mob_list -= brainmob//Update dem lists
|
||||
living_mob_list += brainmob
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
src.brainmob.add_language(LANGUAGE_EAL)
|
||||
src.brainmob.loc = src
|
||||
src.brainmob.container = src
|
||||
src.brainmob.stat = 0
|
||||
src.brainmob.set_stat(CONSCIOUS)
|
||||
src.brainmob.silent = 0
|
||||
radio = new(src)
|
||||
dead_mob_list -= src.brainmob
|
||||
@@ -230,7 +230,7 @@
|
||||
/obj/item/device/mmi/digital/transfer_identity(var/mob/living/carbon/H)
|
||||
brainmob.dna = H.dna
|
||||
brainmob.timeofhostdeath = H.timeofdeath
|
||||
brainmob.stat = 0
|
||||
brainmob.set_stat(CONSCIOUS)
|
||||
if(H.mind)
|
||||
H.mind.transfer_to(brainmob)
|
||||
return
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
if(status_flags & GODMODE)
|
||||
health = getMaxHealth()
|
||||
stat = CONSCIOUS
|
||||
set_stat(CONSCIOUS)
|
||||
return
|
||||
|
||||
var/total_burn = 0
|
||||
|
||||
@@ -1104,9 +1104,9 @@
|
||||
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/human/proc/set_stat(var/new_stat)
|
||||
stat = new_stat
|
||||
if(stat)
|
||||
/mob/living/carbon/human/set_stat(var/new_stat)
|
||||
. = ..()
|
||||
if(. && stat)
|
||||
update_skin(1)
|
||||
|
||||
/mob/living/carbon/human/handle_regular_hud_updates()
|
||||
|
||||
@@ -102,18 +102,18 @@
|
||||
else
|
||||
if (src.paralysis || src.stunned || src.weakened || (status_flags & FAKEDEATH)) //Stunned etc.
|
||||
if (src.stunned > 0)
|
||||
src.stat = 0
|
||||
src.set_stat(CONSCIOUS)
|
||||
if (src.weakened > 0)
|
||||
src.lying = 0
|
||||
src.stat = 0
|
||||
src.set_stat(CONSCIOUS)
|
||||
if (src.paralysis > 0)
|
||||
src.blinded = 0
|
||||
src.lying = 0
|
||||
src.stat = 0
|
||||
src.set_stat(CONSCIOUS)
|
||||
|
||||
else
|
||||
src.lying = 0
|
||||
src.stat = 0
|
||||
src.set_stat(CONSCIOUS)
|
||||
|
||||
if (src.stuttering) src.stuttering = 0
|
||||
|
||||
|
||||
@@ -99,11 +99,11 @@
|
||||
updatehealth()
|
||||
if(stat != DEAD)
|
||||
if(paralysis)
|
||||
stat = UNCONSCIOUS
|
||||
set_stat(UNCONSCIOUS)
|
||||
else if (status_flags & FAKEDEATH)
|
||||
stat = UNCONSCIOUS
|
||||
set_stat(UNCONSCIOUS)
|
||||
else
|
||||
stat = CONSCIOUS
|
||||
set_stat(CONSCIOUS)
|
||||
return 1
|
||||
|
||||
/mob/living/proc/handle_statuses()
|
||||
|
||||
@@ -247,11 +247,10 @@ default behaviour is:
|
||||
/mob/living/proc/updatehealth()
|
||||
if(status_flags & GODMODE)
|
||||
health = 100
|
||||
stat = CONSCIOUS
|
||||
set_stat(CONSCIOUS)
|
||||
else
|
||||
health = getMaxHealth() - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() - getCloneLoss() - halloss
|
||||
|
||||
|
||||
//This proc is used for mobs which are affected by pressure to calculate the amount of pressure that actually
|
||||
//affects them once clothing is factored in. ~Errorage
|
||||
/mob/living/proc/calculate_affecting_pressure(var/pressure)
|
||||
@@ -744,7 +743,7 @@ default behaviour is:
|
||||
timeofdeath = 0
|
||||
|
||||
// restore us to conciousness
|
||||
stat = CONSCIOUS
|
||||
set_stat(CONSCIOUS)
|
||||
|
||||
// make the icons look correct
|
||||
regenerate_icons()
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
/mob/living/silicon/ai/updatehealth()
|
||||
if(status_flags & GODMODE)
|
||||
health = 100
|
||||
stat = CONSCIOUS
|
||||
set_stat(CONSCIOUS)
|
||||
setOxyLoss(0)
|
||||
else
|
||||
health = 100 - getFireLoss() - getBruteLoss() // Oxyloss is not part of health as it represents AIs backup power. AI is immune against ToxLoss as it is machine.
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
/mob/living/silicon/decoy/updatehealth()
|
||||
if(status_flags & GODMODE)
|
||||
health = 100
|
||||
stat = CONSCIOUS
|
||||
set_stat(CONSCIOUS)
|
||||
else
|
||||
health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss()
|
||||
|
||||
@@ -30,6 +30,6 @@
|
||||
/mob/living/silicon/pai/updatehealth()
|
||||
if(status_flags & GODMODE)
|
||||
health = 100
|
||||
stat = CONSCIOUS
|
||||
set_stat(CONSCIOUS)
|
||||
else
|
||||
health = 100 - getBruteLoss() - getFireLoss()
|
||||
|
||||
@@ -256,7 +256,7 @@ var/list/mob_hat_cache = list()
|
||||
/mob/living/silicon/robot/drone/updatehealth()
|
||||
if(status_flags & GODMODE)
|
||||
health = maxHealth
|
||||
stat = CONSCIOUS
|
||||
set_stat(CONSCIOUS)
|
||||
return
|
||||
health = maxHealth - (getBruteLoss() + getFireLoss())
|
||||
return
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
if (src.stat != 2) //Alive.
|
||||
if (src.paralysis || src.stunned || src.weakened || !src.has_power) //Stunned etc.
|
||||
src.stat = 1
|
||||
src.set_stat(UNCONSCIOUS)
|
||||
if (src.stunned > 0)
|
||||
AdjustStunned(-1)
|
||||
if (src.weakened > 0)
|
||||
@@ -100,7 +100,7 @@
|
||||
src.blinded = 0
|
||||
|
||||
else //Not stunned.
|
||||
src.stat = 0
|
||||
src.set_stat(CONSCIOUS)
|
||||
|
||||
AdjustConfused(-1)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/mob/living/silicon/robot/updatehealth()
|
||||
if(status_flags & GODMODE)
|
||||
health = getMaxHealth()
|
||||
stat = CONSCIOUS
|
||||
set_stat(CONSCIOUS)
|
||||
return
|
||||
health = getMaxHealth() - (getBruteLoss() + getFireLoss())
|
||||
return
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
/mob/living/simple_mob/animal/passive/mouse/proc/splat()
|
||||
src.health = 0
|
||||
src.stat = DEAD
|
||||
src.set_stat(DEAD)
|
||||
src.icon_dead = "mouse_[body_color]_splat"
|
||||
src.icon_state = "mouse_[body_color]_splat"
|
||||
layer = MOB_LAYER
|
||||
|
||||
@@ -1007,6 +1007,11 @@ mob/proc/yank_out_object()
|
||||
/mob/proc/updateicon()
|
||||
return
|
||||
|
||||
// Please always use this proc, never just set the var directly.
|
||||
/mob/proc/set_stat(var/new_stat)
|
||||
. = (stat != new_stat)
|
||||
stat = new_stat
|
||||
|
||||
/mob/verb/face_direction()
|
||||
|
||||
set name = "Face Direction"
|
||||
|
||||
Reference in New Issue
Block a user