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
+1
View File
@@ -1,6 +1,7 @@
/obj/machinery/atmospherics/pipe
desc_info = "This pipe, and all other pipes, can be connected or disconnected by a wrench. The internal pressure of the pipe must \
be below 300 kPa to do this. More pipes can be obtained from the pipe dispenser."
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
var/datum/gas_mixture/air_temporary // used when reconstructing a pipeline that broke
var/datum/pipeline/parent
var/volume = 0
+1
View File
@@ -21,6 +21,7 @@ log transactions
icon_state = "atm"
anchored = 1
idle_power_usage = 10
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
var/datum/money_account/authenticated_account
var/number_incorrect_tries = 0
var/previous_account_number = 0
+1
View File
@@ -621,6 +621,7 @@ var/list/mineral_can_smooth_with = list(
footstep_sound = /singleton/sound_category/asteroid_footstep
roof_type = null
turf_flags = TURF_FLAG_BACKGROUND
// Same as the other, this is a global so we don't have a lot of pointless lists floating around.
// Basalt is explicitly omitted so ash will spill onto basalt turfs.
@@ -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()
@@ -68,7 +68,7 @@
A.updatehealth()
// If the AI is dead, revive it.
if(A.health >= -100 && A.stat == DEAD)
A.stat = CONSCIOUS
A.set_stat(CONSCIOUS)
A.lying = FALSE
A.switch_from_dead_to_living_mob_list()
A.add_ai_verbs()
+1
View File
@@ -14,6 +14,7 @@
roof_type = null
footstep_sound = null
z_flags = ZM_MIMIC_DEFAULTS | ZM_MIMIC_OVERWRITE | ZM_MIMIC_NO_AO | ZM_ALLOW_ATMOS
turf_flags = TURF_FLAG_BACKGROUND
// A lazy list to contain a list of mobs who are currently scaling
// up this turf. Used in human/can_fall.
+1
View File
@@ -4,6 +4,7 @@
icon_state = "desert"
has_resources = 1
footstep_sound = /singleton/sound_category/asteroid_footstep
turf_flags = TURF_FLAG_BACKGROUND
var/diggable = 1
var/dirt_color = "#7c5e42"
var/has_edge_icon = TRUE
+1
View File
@@ -114,6 +114,7 @@
icon_state = "fuel_port"
density = 0
anchored = 1
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
var/icon_closed = "fuel_port"
var/icon_empty = "fuel_port_empty"
var/icon_full = "fuel_port_full"
+1
View File
@@ -135,6 +135,7 @@
req_access = list(access_engine_equip)
gfi_layer_rotation = GFI_ROTATION_DEFDIR
clicksound = /singleton/sound_category/switch_sound
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
var/area/area
var/areastring = null
var/obj/item/cell/cell
+1
View File
@@ -29,6 +29,7 @@ By design, d1 is the smallest direction and d2 is the highest
desc = "A flexible superconducting cable for heavy-duty power transfer."
icon = 'icons/obj/power_cond_white.dmi'
icon_state = "0-1"
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
var/d1 = 0
var/d2 = 1
layer = CABLE_LAYER //Just below unary stuff, which is at 2.45 and above pipes, which are at 2.4
+1
View File
@@ -19,6 +19,7 @@
active_power_usage = 20
power_channel = LIGHT //Lights are calc'd via area so they dont need to be in the machine list
gfi_layer_rotation = GFI_ROTATION_DEFDIR
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
var/brightness_range = 8 // luminosity when on, also used in power calculation
var/brightness_power = 0.45
var/night_brightness_range = 6
@@ -1508,7 +1508,7 @@
if(M && M.stat == DEAD)
M.adjustOxyLoss(-rand(15,20))
M.visible_message(SPAN_DANGER("\The [M] shudders violently!"))
M.stat = 0
M.set_stat(CONSCIOUS)
/singleton/reagent/pacifier
name = "Paxazide"
@@ -3,6 +3,7 @@
desc = "This device is used to trigger station functions, which require more than one ID card to authenticate."
icon = 'icons/obj/monitors.dmi'
icon_state = "auth_off"
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
var/active = 0 //This gets set to 1 on all devices except the one where the initial request was made.
var/event = ""
var/screen = 1
+2 -2
View File
@@ -74,8 +74,8 @@
words = words.Copy(words_start, word_count + words_start) // Copy the chunk of the message we mumbled.
var/mumble_message = "[mumble_into][words.Join(" ")]..."
body.stat = CONSCIOUS // FILTHY hack to get the sleeping person to say something.
body.set_stat(CONSCIOUS) // FILTHY hack to get the sleeping person to say something.
body.say(mumble_message) // Mumble in Nral Malic
body.stat = UNCONSCIOUS // Toggled before anything else can happen. Ideally.
body.set_stat(UNCONSCIOUS) // Toggled before anything else can happen. Ideally.
..(message, speaking, verb="says", alt_name="")
+1 -1
View File
@@ -225,7 +225,7 @@
for(var/obj/structure/cable/C in A)
powernets |= C.powernet
translate_turfs(turf_translation, current_location.base_area, current_location.base_turf)
translate_turfs(turf_translation, current_location.base_area, current_location.base_turf, TRUE)
current_location = destination
// if there's a zlevel above our destination, paint in a ceiling on it so we retain our air
@@ -99,7 +99,7 @@
/obj/effect/dummy/spell_jaunt/relaymove(var/mob/user, direction)
if (!src.canmove || reappearing) return
var/turf/newLoc = get_step(src,direction)
if(!(newLoc.flags & NOJAUNT))
if(!(newLoc.turf_flags & TURF_FLAG_NOJAUNT))
loc = newLoc
var/turf/T = get_turf(loc)
if(!T.contains_dense_objects())
@@ -4,6 +4,7 @@
icon = 'icons/obj/turbolift.dmi'
anchored = 1
density = 0
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
var/datum/turbolift/lift