Stops shuttles from bringing background turfs with them. (#15580)

This commit is contained in:
Matt Atlas
2023-01-20 14:52:01 +01:00
committed by GitHub
parent 7caa069c9b
commit 25fd3ba098
91 changed files with 230 additions and 90 deletions
@@ -9,7 +9,7 @@
invisibility = 101
density = 0
stat = 2
stat = DEAD
canmove = 0
anchored = 1 // don't get pushed around
@@ -45,7 +45,7 @@
see_in_dark = 100
verbs += /mob/abstract/observer/proc/dead_tele
stat = DEAD
set_stat(DEAD)
ghostimage = image(src.icon,src,src.icon_state)
SSmob.ghost_darkness_images |= ghostimage
@@ -277,6 +277,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/abstract/observer/is_active()
return FALSE
/mob/abstract/observer/set_stat()
stat = DEAD // They are also always dead
/mob/abstract/observer/Stat()
..()
if(statpanel("Status"))
+1 -1
View File
@@ -63,7 +63,7 @@
exit_vr()
stat = DEAD
set_stat(DEAD)
update_canmove()
+1 -1
View File
@@ -71,7 +71,7 @@
/mob/living/bot/updatehealth()
if(status_flags & GODMODE)
health = maxHealth
stat = CONSCIOUS
set_stat(CONSCIOUS)
else
health = maxHealth - getFireLoss() - getBruteLoss()
@@ -289,16 +289,16 @@
if(paralysis && paralysis > 0)
handle_paralysed()
blinded = TRUE
stat = UNCONSCIOUS
set_stat(UNCONSCIOUS)
if(sleeping)
if(mind)
if(mind.active && client)
sleeping = max(sleeping-1, 0)
blinded = TRUE
stat = UNCONSCIOUS
set_stat(UNCONSCIOUS)
else if(!resting)
stat = CONSCIOUS
set_stat(CONSCIOUS)
// Eyes and blindness.
if(!has_eyes())
@@ -127,7 +127,7 @@
D.drop_from_inventory(O)
D.hat = null
D.forceMove(src)
D.stat = CONSCIOUS
D.set_stat(CONSCIOUS)
status_flags |= PASSEMOTES
return TRUE
else
@@ -162,7 +162,7 @@
split_languages(gestalt)
forceMove(get_turf(src))
stat = CONSCIOUS
set_stat(CONSCIOUS)
gestalt = null
update_verbs()
@@ -68,13 +68,13 @@
for(var/mob/living/carbon/alien/diona/D in contents)
D.forceMove(adult)
D.gestalt = adult
D.stat = CONSCIOUS
D.set_stat(CONSCIOUS)
//Finally we put ourselves into the gestalt, NOT delete ourself
//Our mind is already in the gestalt, this is really just transferring our empty body
src.nutrition = 0
src.forceMove(adult)
src.stat = CONSCIOUS
set_stat(CONSCIOUS)
gestalt = adult
//What do you call a person with no arms or no legs?
+3 -3
View File
@@ -55,7 +55,7 @@
if(paralysis && paralysis > 0)
handle_paralysed()
blinded = 1
stat = UNCONSCIOUS
set_stat(UNCONSCIOUS)
if(getHalLoss() > 0)
adjustHalLoss(-3)
@@ -65,13 +65,13 @@
if(mind.active && client != null)
sleeping = max(sleeping-1, 0)
blinded = 1
stat = UNCONSCIOUS
set_stat(UNCONSCIOUS)
else if(resting)
if(getHalLoss() > 0)
adjustHalLoss(-3)
else
stat = CONSCIOUS
set_stat(CONSCIOUS)
if(getHalLoss() > 0)
adjustHalLoss(-1)
+3 -3
View File
@@ -95,7 +95,7 @@
B.brainmob = null
brainmob.forceMove(src)
brainmob.container = src
brainmob.stat = CONSCIOUS
brainmob.set_stat(CONSCIOUS)
dead_mob_list -= brainmob //Update dem lists
living_mob_list += brainmob
@@ -282,14 +282,14 @@
. = ..()
brainmob = new(src)
brainmob.add_language(LANGUAGE_EAL)
brainmob.stat = CONSCIOUS
brainmob.set_stat(CONSCIOUS)
brainmob.container = src
brainmob.silent = 0
/obj/item/device/mmi/digital/transfer_identity(var/mob/living/carbon/H)
brainmob.dna = H.dna
brainmob.timeofhostdeath = H.timeofdeath
brainmob.stat = CONSCIOUS
brainmob.set_stat(CONSCIOUS)
if(H.mind)
H.mind.transfer_to(brainmob)
@@ -62,7 +62,7 @@
return FALSE
var/mob/living/carbon/alien/diona/M = new /mob/living/carbon/alien/diona(src)
M.gestalt = src
M.stat = CONSCIOUS
M.set_stat(CONSCIOUS)
M.update_verbs()
M.sync_languages(src)
return TRUE
@@ -304,7 +304,7 @@
var/total_nymph = 0
for(var/mob/living/carbon/alien/diona/D in src)
if(nymphs_to_kill_off > 0)
D.stat = DEAD
D.set_stat(DEAD)
nymphs_to_kill_off -= 1
qdel(D)
continue
@@ -322,7 +322,7 @@
D.set_dir(pick(NORTH, SOUTH, EAST, WEST))
D.gestalt = null
total_nymph += 1
D.stat = CONSCIOUS
D.set_stat(CONSCIOUS)
D.stunned = 0
D.update_verbs()
@@ -5,7 +5,7 @@
if(status_flags & GODMODE)
health = maxHealth
stat = CONSCIOUS
set_stat(CONSCIOUS)
return
health = maxHealth - getBrainLoss()
+2 -2
View File
@@ -752,7 +752,7 @@
if(paralysis || sleeping || InStasis())
blinded = TRUE
if(sleeping)
stat = UNCONSCIOUS
set_stat(UNCONSCIOUS)
if(!sleeping_msg_debounce)
sleeping_msg_debounce = TRUE
to_chat(src, SPAN_NOTICE(FONT_LARGE("You are now unconscious.<br>You will not remember anything you \"see\" happening around you until you regain consciousness.")))
@@ -778,7 +778,7 @@
//CONSCIOUS
else if(!InStasis())
stat = CONSCIOUS
set_stat(CONSCIOUS)
sleeping_msg_debounce = FALSE
willfully_sleeping = FALSE
+4 -4
View File
@@ -115,19 +115,19 @@
if(src.paralysis || src.stunned || src.weakened || (status_flags && FAKEDEATH)) //Stunned etc.
if(src.stunned > 0)
AdjustStunned(-1)
src.stat = CONSCIOUS
set_stat(CONSCIOUS)
if(src.weakened > 0)
AdjustWeakened(-1)
src.lying = FALSE
src.stat = FALSE
set_stat(CONSCIOUS)
if(src.paralysis > 0)
AdjustParalysis(-1)
src.blinded = FALSE
src.lying = FALSE
src.stat = FALSE
set_stat(CONSCIOUS)
else
src.lying = FALSE
src.stat = FALSE
set_stat(CONSCIOUS)
if(src.stuttering)
src.stuttering = FALSE
+3 -3
View File
@@ -72,11 +72,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_status_effects()
+3 -3
View File
@@ -214,7 +214,7 @@ default behaviour is:
/mob/living/proc/updatehealth()
if(status_flags & GODMODE)
health = maxHealth
stat = CONSCIOUS
set_stat(CONSCIOUS)
else
health = maxHealth - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() - getCloneLoss()
@@ -494,7 +494,7 @@ default behaviour is:
timeofdeath = 0
// restore us to conciousness
stat = CONSCIOUS
set_stat(CONSCIOUS)
// make the icons look correct
regenerate_icons()
@@ -517,7 +517,7 @@ default behaviour is:
switch_from_dead_to_living_mob_list()
timeofdeath = 0
stat = CONSCIOUS
set_stat(CONSCIOUS)
regenerate_icons()
BITSET(hud_updateflag, HEALTH_HUD)
+1 -1
View File
@@ -261,7 +261,7 @@ var/list/ai_verbs_default = list(
/mob/living/silicon/ai/updatehealth()
if(status_flags & GODMODE)
health = maxHealth
stat = CONSCIOUS
set_stat(CONSCIOUS)
setOxyLoss(0)
else
health = maxHealth - 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 = maxHealth
stat = CONSCIOUS
set_stat(CONSCIOUS)
else
health = maxHealth - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss()
+1 -1
View File
@@ -32,7 +32,7 @@
/mob/living/silicon/pai/updatehealth()
if(status_flags & GODMODE)
health = maxHealth
stat = CONSCIOUS
set_stat(CONSCIOUS)
else
health = maxHealth - getBruteLoss() - getFireLoss()
@@ -459,7 +459,7 @@
/mob/living/silicon/robot/drone/updatehealth()
if(status_flags & GODMODE)
health = maxHealth
stat = CONSCIOUS
set_stat(CONSCIOUS)
return
health = maxHealth - (getBruteLoss() + getFireLoss())
return
@@ -512,13 +512,13 @@
return
if(rebooting)
return
stat = CONSCIOUS
set_stat(CONSCIOUS)
SSghostroles.add_spawn_atom("rebooted_maint_drone", src)
/mob/living/silicon/robot/drone/proc/transfer_personality(var/client/player)
if(!player)
return
stat = CONSCIOUS
set_stat(CONSCIOUS)
src.ckey = player.ckey
if(player.mob?.mind)
@@ -87,7 +87,7 @@
if(ghost.mind?.current == R)
R.key = ghost.key
R.stat = CONSCIOUS
R.set_stat(CONSCIOUS)
dead_mob_list -= R
living_mob_list |= R
R.notify_ai(ROBOT_NOTIFICATION_NEW_UNIT)
@@ -86,7 +86,7 @@
if(stat != DEAD)
if(paralysis || stunned || weakened || !has_power) //Stunned etc.
stat = UNCONSCIOUS
set_stat(UNCONSCIOUS)
if(stunned > 0)
AdjustStunned(-1)
if(weakened > 0)
@@ -98,11 +98,11 @@
blinded = FALSE
else //Not stunned.
stat = CONSCIOUS
set_stat(CONSCIOUS)
else //Dead.
blinded = TRUE
stat = DEAD
set_stat(DEAD)
if(stuttering)
stuttering--
@@ -151,7 +151,7 @@
updatename(mod_type)
if(!client)
stat = UNCONSCIOUS
set_stat(UNCONSCIOUS)
if(mmi?.brainobj)
mmi.brainobj.prepared = TRUE
@@ -1,7 +1,7 @@
/mob/living/silicon/robot/updatehealth()
if(status_flags & GODMODE)
health = maxHealth
stat = CONSCIOUS
set_stat(CONSCIOUS)
return
health = maxHealth - (getBruteLoss() + getFireLoss())
return
@@ -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)
if(src.corpseuniform)
M.equip_to_slot_or_del(new src.corpseuniform(M), slot_w_uniform)
if(src.corpsesuit)
@@ -150,7 +150,7 @@
/mob/living/simple_animal/cat/death()
.=..()
stat = DEAD
set_stat(DEAD)
/mob/living/simple_animal/cat/Life()
. = ..()
@@ -69,7 +69,7 @@
spore_explode()
return
else
src.stat = DEAD
set_stat(DEAD)
name = "mushroom"
desc = "Shame, he was a really fun-gi"
..()
@@ -156,13 +156,13 @@
/mob/living/simple_animal/hostile/icarus_drone/Life()
//emps and lots of damage can temporarily shut us down
if(disabled > 0)
stat = UNCONSCIOUS
set_stat(UNCONSCIOUS)
icon_state = "drone_dead"
disabled--
wander = FALSE
speak_chance = 0
else
stat = CONSCIOUS
set_stat(CONSCIOUS)
icon_state = "drone0"
wander = TRUE
speak_chance = 5
@@ -219,7 +219,7 @@
if(!exploding && !disabled && prob(explode_chance))
exploding = TRUE
stat = UNCONSCIOUS
set_stat(UNCONSCIOUS)
wander = 1
walk(src, 0)
spawn(rand(50, 150))
@@ -840,7 +840,7 @@
/mob/living/simple_animal/proc/fall_asleep()
if (stat != DEAD)
resting = 1
stat = UNCONSCIOUS
set_stat(UNCONSCIOUS)
canmove = 0
wander = 0
walk_to(src,0)
@@ -850,7 +850,7 @@
//Wakes the mob up from sleeping
/mob/living/simple_animal/proc/wake_up()
if (stat != DEAD)
stat = CONSCIOUS
set_stat(UNCONSCIOUS)
resting = 0
canmove = 1
wander = 1
+5
View File
@@ -81,6 +81,11 @@
become_hearing_sensitive()
/mob/proc/set_stat(var/new_stat)
. = stat != new_stat
if(.)
stat = new_stat
/mob/show_message(msg, type, alt, alt_type)//Message, type of message (1 or 2), alternative message, alt message type (1 or 2)
if(!client) return
+1 -1
View File
@@ -455,7 +455,7 @@
L.verbs.Add(/mob/living/carbon/proc/echo_eject)
BS.mind.transfer_to(D)
D.echo = 1
D.stat = CONSCIOUS
D.set_stat(CONSCIOUS)
D.gestalt = L
D.sync_languages(D.gestalt)
D.update_verbs()