mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-13 10:23:15 +00:00
The "set internals" button of tank items now turn green when it's used as internals. Removed research scanner from drones (since cyborgs don't have it, it's more consistent) Removed the ignore_madkadjust mask var. The sechailer mask now has an adjust mask action button, so I removed the adjust verb that it was using. The item's action are now created on item/New() instead of trying to create it every time someone picks the item up. I split hud/action.dm, the datum/action stuff is now in the datum folder (/datum/action.dm), whereas the code for action buttons is kept in the hud folder under action_button.dm. Also I moved some /datum/action code that was in some files back into datum/action.dm where it belongs.
120 lines
2.6 KiB
Plaintext
120 lines
2.6 KiB
Plaintext
/mob/living/Life()
|
|
set invisibility = 0
|
|
set background = BACKGROUND_ENABLED
|
|
|
|
if(digitalinvis)
|
|
handle_diginvis() //AI becomes unable to see mob
|
|
|
|
if (notransform)
|
|
return
|
|
if(!loc)
|
|
return
|
|
var/datum/gas_mixture/environment = loc.return_air()
|
|
|
|
if(stat != DEAD)
|
|
|
|
//Breathing, if applicable
|
|
handle_breathing()
|
|
|
|
//Mutations and radiation
|
|
handle_mutations_and_radiation()
|
|
|
|
//Chemicals in the body
|
|
handle_chemicals_in_body()
|
|
|
|
//Blud
|
|
handle_blood()
|
|
|
|
//Random events (vomiting etc)
|
|
handle_random_events()
|
|
|
|
. = 1
|
|
|
|
//Handle temperature/pressure differences between body and environment
|
|
if(environment)
|
|
handle_environment(environment)
|
|
|
|
handle_fire()
|
|
|
|
//stuff in the stomach
|
|
handle_stomach()
|
|
|
|
update_gravity(mob_has_gravity())
|
|
|
|
if(machine)
|
|
machine.check_eye(src)
|
|
|
|
|
|
if(stat != DEAD)
|
|
handle_disabilities() // eye, ear, brain damages
|
|
handle_status_effects() //all special effects, stunned, weakened, jitteryness, hallucination, sleeping, etc
|
|
|
|
|
|
|
|
/mob/living/proc/handle_breathing()
|
|
return
|
|
|
|
/mob/living/proc/handle_mutations_and_radiation()
|
|
radiation = 0 //so radiation don't accumulate in simple animals
|
|
return
|
|
|
|
/mob/living/proc/handle_chemicals_in_body()
|
|
return
|
|
|
|
/mob/living/proc/handle_diginvis()
|
|
if(!digitaldisguise)
|
|
src.digitaldisguise = image(loc = src)
|
|
src.digitaldisguise.override = 1
|
|
for(var/mob/living/silicon/ai/AI in player_list)
|
|
AI.client.images |= src.digitaldisguise
|
|
|
|
|
|
/mob/living/proc/handle_blood()
|
|
return
|
|
|
|
/mob/living/proc/handle_random_events()
|
|
return
|
|
|
|
/mob/living/proc/handle_environment(datum/gas_mixture/environment)
|
|
return
|
|
|
|
/mob/living/proc/handle_stomach()
|
|
return
|
|
|
|
//this updates all special effects: stunned, sleeping, weakened, druggy, stuttering, etc..
|
|
/mob/living/proc/handle_status_effects()
|
|
if(paralysis)
|
|
AdjustParalysis(-1)
|
|
if(stunned)
|
|
AdjustStunned(-1)
|
|
if(weakened)
|
|
AdjustWeakened(-1, ignore_canweaken=1)
|
|
|
|
/mob/living/proc/handle_disabilities()
|
|
//Eyes
|
|
if(eye_blind) //blindness, heals slowly over time
|
|
if(!stat && !(disabilities & BLIND))
|
|
eye_blind = max(eye_blind-1,0)
|
|
if(client && !eye_blind)
|
|
clear_alert("blind")
|
|
clear_fullscreen("blind")
|
|
else
|
|
eye_blind = max(eye_blind-1,1)
|
|
else if(eye_blurry) //blurry eyes heal slowly
|
|
eye_blurry = max(eye_blurry-1, 0)
|
|
if(client && !eye_blurry)
|
|
clear_fullscreen("blurry")
|
|
|
|
//Ears
|
|
if(disabilities & DEAF) //disabled-deaf, doesn't get better on its own
|
|
setEarDamage(-1, max(ear_deaf, 1))
|
|
else
|
|
// deafness heals slowly over time, unless ear_damage is over 100
|
|
if(ear_damage < 100)
|
|
adjustEarDamage(-0.05,-1)
|
|
|
|
/mob/living/proc/update_damage_hud()
|
|
return
|
|
|
|
|