Adds lighting height control (space color consistency) (#79046)

## About The Pull Request

Adds support for modifying a light's "height"
You can think of this as the distance it is from the ground below it
(Really it's the distance to the corners around it + 0.5 but yaknow) We
use it to keep wall lights from looking weird, but well, not everything
is a wall light

Floors tend to not be, and space in particular does not want to be
treated as such.
In fact, it wants a NEGATIVE height, so it acts as if it in on top of
all of its corners. This allows us to ensure that the starlight from
space and the starlight from starlight overlays always have the same
intensity and color, preventing weird lines from where the two
intersect, or starlight feeling not very present in cases with only one
turf

I've also bumped starlight's intensity form 0.75 to 1, this should help
with the lines thing discussed above.

## Why It's Good For The Game


![image](https://github.com/tgstation/tgstation/assets/58055496/240d1b3f-52c8-4569-8e74-0d801cbdb84d)

## Changelog
🆑
add: Starlight should be a bit more intense, and flow better onto non
space tiles
/🆑

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
This commit is contained in:
LemonInTheDark
2023-10-21 20:44:18 +01:00
committed by GitHub
co-authored by Zephyr san7890
parent c276d0e3c8
commit a823708054
9 changed files with 55 additions and 15 deletions
+1 -1
View File
@@ -165,7 +165,7 @@ Simple datum which is instanced once per type and is used for every object of sa
if(!starlight_color)
on.RegisterSignal(SSdcs, COMSIG_STARLIGHT_COLOR_CHANGED, TYPE_PROC_REF(/turf, material_starlight_changed))
RegisterSignal(on, COMSIG_QDELETING, PROC_REF(lit_turf_deleted))
on.set_light(2, 0.75, starlight_color || GLOB.starlight_color)
on.set_light(2, 1, starlight_color || GLOB.starlight_color, l_height = LIGHTING_HEIGHT_SPACE)
/turf/proc/material_starlight_changed(datum/source, old_star, new_star)
if(light_color == old_star)