mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-26 14:31:59 +01:00
Introduces starlight to all Horizon exterior areas (#21396)
This introduces logic to place starlight onto turfs under horizon/exterior, and extends that area across the entirety of the Horizon's EVA areas, to remove the anachronistic darkness that's been atop the wings up to now. Handling this at the area level was the cleanest way I could think to implement it. <details> <summary>How it looks!</summary> <img width="954" height="711" alt="image" src="https://github.com/user-attachments/assets/ef82f1fe-0720-4559-8dca-390bf1ddff4d" /> <img width="924" height="878" alt="image" src="https://github.com/user-attachments/assets/ffa37bd2-7814-42eb-99ae-ebfc1ed1b680" /> <img width="917" height="904" alt="image" src="https://github.com/user-attachments/assets/8b36f9c9-dbe1-4c5a-bb0c-f5080eb359f4" /> <img width="953" height="952" alt="image" src="https://github.com/user-attachments/assets/531724ba-2a19-4ddd-bd31-70a1ebfb4543" /> </details> **Potential problems:** <details> <summary>Shuttle logic problems</summary> To get this working, all of the Horizon's EVA areas have had to be covered in the horizon/exterior area - which means there's now an area clash on the south, west, and east shuttle port, which falls afoul of the current is_valid check for shuttle landmarks. Notably, how this is mapped also means that an rfloor silhouette of a shuttle is always left on the Horizon after a shuttle undocks from any of these landmarks. <img width="864" height="704" alt="image" src="https://github.com/user-attachments/assets/4fd27d84-8d7c-4ed7-8333-f934a2d77e03" /> The problem here is on the mapping, not the logic - it seems like these areas were formerly excluded from the horizon/exterior area exactly to dance around this problem. The solution I've taken tentatively is simply to remove the area check. This doesn't feel great, but I don't think there's many situations in which it could bite us - maybe on exoplanets? The only other solution here is to remap the Horizon's docking ports to not suffer from this issue, which I'm not eager to do. I honestly just attribute this to being another fundamental flaw of the Horizon's design that we have to just dance around until we move off the map. I've documented that it's purely a mapping issue on the commented code segment, and that once the mapping issue is resolved there's no issue with an area check. </details> - [x] Figure out how to have starlight carry over after a shuttle departs - [x] Resolve the Horizon's shuttles being unable to dock with its docking ports --------- Signed-off-by: hazelrat <83198434+hazelrat@users.noreply.github.com> Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
This commit is contained in:
+21
-8
@@ -14,7 +14,8 @@ GLOBAL_LIST_INIT(area_blurb_stated_to, list())
|
||||
var/uid
|
||||
///Bitflag (Any of `AREA_FLAG_*`). See `code\__DEFINES\misc.dm`.
|
||||
var/area_flags
|
||||
var/holomap_color // Color of this area on the holomap. Must be a hex color (as string) or null.
|
||||
/// Color of this area on the holomap. Must be a hex color (as string) or null.
|
||||
var/holomap_color
|
||||
|
||||
///Do we have an active fire alarm?
|
||||
var/fire = FALSE
|
||||
@@ -33,22 +34,27 @@ GLOBAL_LIST_INIT(area_blurb_stated_to, list())
|
||||
invisibility = INVISIBILITY_LIGHTING
|
||||
|
||||
var/obj/machinery/power/apc/apc = null
|
||||
var/turf/base_turf // The base turf type of the area, which can be used to override the z-level's base turf.
|
||||
/// The base turf type of the area, which can be used to override the z-level's base turf.
|
||||
var/turf/base_turf
|
||||
|
||||
var/lightswitch = FALSE
|
||||
|
||||
var/eject = null
|
||||
|
||||
var/requires_power = 1
|
||||
var/always_unpowered = 0 //this gets overridden to 1 for space in area/New()
|
||||
/// This gets overridden to 1 for space in area/New()
|
||||
var/always_unpowered = 0
|
||||
|
||||
var/power_equip = 1 // Status vars
|
||||
// Status vars
|
||||
var/power_equip = 1
|
||||
var/power_light = 1
|
||||
var/power_environ = 1
|
||||
var/used_equip = 0 // Continuous drain; don't touch these directly.
|
||||
// Continuous drain; don't touch these directly.
|
||||
var/used_equip = 0
|
||||
var/used_light = 0
|
||||
var/used_environ = 0
|
||||
var/oneoff_equip = 0 // Used once and cleared each tick.
|
||||
// Used once and cleared each tick.
|
||||
var/oneoff_equip = 0
|
||||
var/oneoff_light = 0
|
||||
var/oneoff_environ = 0
|
||||
|
||||
@@ -71,8 +77,10 @@ GLOBAL_LIST_INIT(area_blurb_stated_to, list())
|
||||
///Used to decide what kind of reverb the area makes sound have
|
||||
var/sound_environment = SOUND_AREA_STANDARD_STATION
|
||||
|
||||
var/no_light_control = FALSE // If TRUE, lights in area cannot be toggled with light controller.
|
||||
var/allow_nightmode = FALSE // If TRUE, lights in area will be darkened by the night mode controller.
|
||||
/// If TRUE, lights in area cannot be toggled with light controller.
|
||||
var/no_light_control = FALSE
|
||||
/// If TRUE, lights in area will be darkened by the night mode controller.
|
||||
var/allow_nightmode = FALSE
|
||||
var/emergency_lights = FALSE
|
||||
|
||||
/**
|
||||
@@ -98,6 +106,11 @@ GLOBAL_LIST_INIT(area_blurb_stated_to, list())
|
||||
|
||||
var/tmp/is_outside = OUTSIDE_NO
|
||||
|
||||
/// Should the turfs in this area render starlight accurate to the starlight of the local sector?
|
||||
/// This is intended for use with EVA areas of ships - such as the wings of the Horizon, for instance.
|
||||
/// You probably shouldn't be setting this to true on any planet-based maps, or on any indoors areas.
|
||||
var/needs_starlight = FALSE
|
||||
|
||||
/**
|
||||
* Don't move this to Initialize(). Things in here need to run before SSatoms does.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user