[MIRROR] ignore light recalc in shuttles and elevators (#10559)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-03-30 13:59:32 -07:00
committed by GitHub
parent 531f562957
commit 5b42b1ffd8
13 changed files with 28 additions and 32 deletions

View File

@@ -67,8 +67,8 @@
//#define isturf(D) istype(D, /turf) //Built in
#define isopenspace(A) istype(A, /turf/simulated/open)
#define isspace(A) istype(A, /turf/space)
#define isopenturf(A) istype(A, /turf/simulated/open) || istype(A, /turf/space)
#define isnonsolidturf(A) istype(A, /turf/simulated/open) || istype(A, /turf/space) || istype(A, /turf/simulated/floor/water) || istype(A, /turf/simulated/floor/lava)
#define isopenturf(A) (istype(A, /turf/simulated/open) || istype(A, /turf/space))
#define isnonsolidturf(A) (istype(A, /turf/simulated/open) || istype(A, /turf/space) || istype(A, /turf/simulated/floor/water) || istype(A, /turf/simulated/floor/lava))
#define ismineralturf(A) istype(A, /turf/simulated/mineral)
#define istaurtail(A) istype(A, /datum/sprite_accessory/tail/taur)

View File

@@ -258,9 +258,9 @@
var/mob/living/carbon/human/hume
/obj/item/cell/standin/Initialize(mapload, var/mob/living/carbon/human/H)
. = ..()
if(!istype(H))
return INITIALIZE_HINT_QDEL
. = ..()
hume = H
charge = H.nutrition
maxcharge = initial(H.nutrition)

View File

@@ -11,7 +11,7 @@
/obj/structure/lattice/Initialize(mapload)
. = ..()
if(!(istype(src.loc, /turf/space) || istype(src.loc, /turf/simulated/open) || istype(src.loc, /turf/simulated/mineral) || istype(src.loc, /turf/simulated/shuttle/plating/airless/carry)))
if(!(isopenturf(src.loc) || istype(src.loc, /turf/simulated/mineral) || istype(src.loc, /turf/simulated/shuttle/plating/airless/carry)))
return INITIALIZE_HINT_QDEL
for(var/obj/structure/lattice/LAT in src.loc)

View File

@@ -20,7 +20,7 @@
// Patch holes in the ceiling
if(T)
if(istype(T, /turf/simulated/open) || istype(T, /turf/space))
if(isopenturf(T))
// Must be build adjacent to an existing floor/wall, no floating floors
var/list/cardinalTurfs = list() // Up a Z level
for(var/dir in cardinal)

View File

@@ -170,7 +170,7 @@
// Place plating over a wall
if(T)
if(istype(T, /turf/simulated/open) || istype(T, /turf/space))
if(isopenturf(T))
if(R.use(1)) // Cost of roofing tiles is 1:1 with cost to place lattice and plating
T.ReplaceWithLattice()
T.ChangeTurf(/turf/simulated/floor, preserve_outdoors = TRUE)

View File

@@ -113,7 +113,7 @@
// Patch holes in the ceiling
if(T)
if(istype(T, /turf/simulated/open) || istype(T, /turf/space))
if(isopenturf(T))
// Must be build adjacent to an existing floor/wall, no floating floors
var/turf/simulated/A = locate(/turf/simulated/floor) in T.CardinalTurfs()
if(!A)

View File

@@ -51,7 +51,7 @@
var/old_dynamic_lumcount = dynamic_lumcount
var/oldtype = src.type
var/old_density = src.density
var/was_open = istype(src,/turf/simulated/open)
var/was_open = isopenturf(src)
var/datum/sunlight_handler/old_shandler
var/turf/simulated/simself = src
if(istype(simself) && simself.shandler)
@@ -141,24 +141,26 @@
if(SUNLIGHT_ONLY_SHADE)
vis_contents += sim_self.shandler.pshandler.vis_shade
var/is_open = istype(W,/turf/simulated/open)
var/is_open = isopenturf(W)
propogate_sunlight_changes(oldtype, old_density, W)
var/turf/simulated/cur_turf = src
if(istype(cur_turf))
var/area/A = cur_turf.loc
if(is_outdoors() && !A.isAlwaysIndoors())
propogate_sunlight_changes(oldtype, old_density, W)
if(is_open != was_open)
do
cur_turf = GetBelow(cur_turf)
if(!istype(cur_turf, /turf/simulated))
break
var/area/A = cur_turf.loc
A = cur_turf.loc
if(is_open && !A.isAlwaysIndoors())
cur_turf.make_outdoors()
cur_turf.propogate_sunlight_changes(oldtype, old_density, W, above = TRUE)
else
cur_turf.make_indoors()
cur_turf.propogate_sunlight_changes(oldtype, old_density, W, above = TRUE)
while(istype(cur_turf,/turf/simulated/open) && HasBelow(cur_turf.z))
while(isopenturf(cur_turf) && HasBelow(cur_turf.z))
if(old_shandler) old_shandler.holder_change()
if(preserve_outdoors)

View File

@@ -30,7 +30,7 @@
/obj/effect/meteor_falling/proc/meteor_fall()
var/turf/current = get_turf(src)
if(istype(current, /turf/simulated/open) || istype(current, /turf/space))
if(isopenturf(current))
var/turf/below = GetBelow(src)
if(below.density)
meteor_impact()

View File

@@ -83,31 +83,27 @@
/obj/effect/plant/single
spread_chance = 0
/obj/effect/plant/New(var/newloc, var/datum/seed/newseed, var/obj/effect/plant/newparent)
/obj/effect/plant/Initialize(mapload, var/datum/seed/newseed, var/obj/effect/plant/newparent)
. = ..()
//VOREStation Edit Start
if(istype(loc, /turf/simulated/open))
qdel(src)
if(isopenturf(loc))
return INITIALIZE_HINT_QDEL
//VOREStation Edit End
..()
if(!newparent)
parent = src
else
parent = newparent
if(!SSplants)
sleep(250) // ugly hack, should mean roundstart plants are fine. TODO initialize perhaps?
if(!SSplants)
to_world(span_danger("Plant controller does not exist and [src] requires it. Aborting."))
qdel(src)
return
return INITIALIZE_HINT_QDEL
if(!istype(newseed))
newseed = SSplants.seeds[DEFAULT_SEED]
seed = newseed
if(!seed)
qdel(src)
return
return INITIALIZE_HINT_QDEL
name = seed.display_name
max_health = round(seed.get_trait(TRAIT_ENDURANCE)/2)

View File

@@ -5,7 +5,7 @@
for(var/check_dir in cardinal)
var/turf/simulated/T = get_step(get_turf(src), check_dir)
//VOREStation Edit Start - Vines can go up/down stairs, but don't register that they have done this, so do so infinitely, which is annoying and laggy.
if(istype(T) && !istype(check_dir, /turf/simulated/open)) //Let's not have them go on open space where you can't really get to them.
if(istype(T) && !isopenturf(check_dir)) //Let's not have them go on open space where you can't really get to them.
cardinal_neighbors |= T
//VOREStation Edit End
return cardinal_neighbors
@@ -122,7 +122,7 @@
//Instead, they are created at their parent and then move to their destination.
/obj/effect/plant/proc/spread_to(turf/target_turf)
//VOREStation Edit Start - Vines can go up/down stairs, but don't register that they have done this, so do so infinitely, which is annoying and laggy.
if(istype(target_turf, /turf/simulated/open))
if(isopenturf(target_turf))
return
//VOREStation Edit End
var/obj/effect/plant/child = new(get_turf(src),seed,parent)

View File

@@ -51,11 +51,9 @@
icon_state = "blank"
/obj/machinery/portable_atmospherics/hydroponics/soil/invisible/Initialize(mapload,var/datum/seed/newseed)
//VOREStation Addition Start
if(istype(loc, /turf/simulated/open) || istype(loc, /turf/space))
return INITIALIZE_HINT_QDEL
//VOREStation Addition End
. = ..()
if(isopenturf(loc))
return INITIALIZE_HINT_QDEL
seed = newseed
dead = 0
age = 1

View File

@@ -19,7 +19,7 @@
if(((SSplanets && SSplanets.z_to_planet.len >= z && SSplanets.z_to_planet[z]) || SSlighting.get_pshandler_z(z)) && has_dynamic_lighting()) //Only for planet turfs or fakesuns that specify they want to use this system
if(is_outdoors())
var/turf/T = GetAbove(src)
if(T && !istype(T,/turf/simulated/open))
if(T && !isopenturf(T) && (SSplanets.z_to_planet.len >= T.z && SSplanets.z_to_planet[T.z]))
make_indoors()
if(!shandler_noinit)
shandler = new(src)

View File

@@ -651,7 +651,7 @@
var/area/TA = null // Variable for area checking. Defining it here so memory does not have to be allocated repeatedly.
for(var/turf/T in trange(field_radius, gen_turf))
// Don't expand to space or on shuttle areas.
if(istype(T, /turf/space) || istype(T, /turf/simulated/open))
if(isopenturf(T))
continue
// Find adjacent space/shuttle tiles and cover them. Shuttles won't be blocked if shield diffuser is mapped in and turned on.