Setting people's criminal status via SecHUDs now require the user to be alive, and to actually be wearing the HUD.

Set the solar control computers to 'off' by default since you have to set them off then back on again to get them working properly anyway.

Fixed a typo in glass/attackby() causing lit-glass tiles to not be created. Fixes issue 593

Moved certain procs in human/life.dm() into an if(stat != DEAD). This means that certain procs will update only if the mob is alive.
Affected procs:
- handle_virus_updates()
- handle_changeling()
- handle_mutations_and_radiation()
- handle_chemicals_in_body()
- handle_disabilities()
- handle_random_events() 
- update_canmove() 
- - If dead, it forces mob.canmove to 0, meaning you don't get to be the walking dead.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3925 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
johnsonmt88@gmail.com
2012-06-27 06:16:31 +00:00
parent 0b1524d3b6
commit da5bfd3b0f
7 changed files with 44 additions and 37 deletions
@@ -244,6 +244,9 @@
if(istype(usr, /mob/living/carbon/human))
var/mob/living/carbon/human/H = usr
if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/sunglasses/sechud))
if(usr.stat || H != usr) //|| !usr.canmove || usr.restrained()) Fluff: Sechuds have eye-tracking technology and sets 'arrest' to people that the wearer looks and blinks at.
return //Non-fluff: This allows sec to set people to arrest as they get disarmed or beaten
var/perpname = "wot"
var/criminal = "None"
+32 -27
View File
@@ -21,54 +21,59 @@
//TODO: seperate this out
var/datum/gas_mixture/environment = loc.return_air()
if(stat != DEAD) //still breathing
//First, resolve location and get a breath
if(air_master.current_cycle%4==2)
//Only try to take a breath every 4 seconds, unless suffocating
spawn(0) breathe()
//No need to update all of these procs if the guy is dead.
if(stat != DEAD)
if(air_master.current_cycle%4==2) //First, resolve location and get a breath
spawn(0) breathe() //Only try to take a breath every 4 seconds, unless suffocating
else //Still give containing object the chance to interact
if(istype(loc, /obj/))
var/obj/location_as_object = loc
location_as_object.handle_internal_lifeform(src, 0)
//Apparently, the person who wrote this code designed it so that
//blinded get reset each cycle and then get activated later in the
//code. Very ugly. I dont care. Moving this stuff here so its easy
//to find it.
//Disease Check
handle_virus_updates()
//Changeling things
handle_changeling()
//Mutations and radiation
handle_mutations_and_radiation()
//Chemicals in the body
handle_chemicals_in_body()
//Disabilities
handle_disabilities()
//Random events (vomiting etc)
handle_random_events()
update_canmove() //TODO: remove from life() if viable ~Carn
//Removed for dead people, that's at least a small step closer to removing it! - Nodrak
else if(stat == DEAD)
canmove = 0 //Since canmove doesn't update if they're dead, force this var 0.
//These should be updated whether the mob is dead or alive
blinded = null
//Update Mind
update_mind()
//Disease Check
handle_virus_updates()
//Changeling things
handle_changeling()
//Handle temperature/pressure differences between body and environment
handle_environment(environment)
//Mutations and radiation
handle_mutations_and_radiation()
//Chemicals in the body
handle_chemicals_in_body()
//stuff in the stomach
handle_stomach()
//Disabilities
handle_disabilities()
//Random events (vomiting etc)
handle_random_events()
//Status updates, death etc.
UpdateLuminosity()
handle_regular_status_updates() //TODO: optimise ~Carn
update_canmove() //TODO: remove from life() if viable ~Carn (read as: if it won't cause massive problems)
//Update our name based on whether our face is obscured/disfigured
name = get_visible_name() //TODO: this was broken by the dismemberment revert ~Carn
@@ -40,7 +40,7 @@ There are several things that need to be remembered:
update_inv_gloves()
update_inv_shoes()
update_inv_w_uniform()
update_inv_glassed()
update_inv_glasse()
update_inv_l_hand()
update_inv_r_hand()
update_inv_belt()
+1 -1
View File
@@ -167,7 +167,7 @@
var/cdir = 0
var/gen = 0
var/lastgen = 0
var/track = 2 // 0= off 1=timed 2=auto (tracker)
var/track = 0 // 0= off 1=timed 2=auto (tracker)
var/trackrate = 600 // 300-900 seconds
var/trackdir = 1 // 0 =CCW, 1=CW
var/nexttime = 0