mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 20:43:10 +01:00
More Openturf Tweaks (#3137)
changes: Openturfs now darken the lower level less (0.4 lighting multiplier vs. 0.25). You can now examine human-types and other objects with special examine behavior through Z-levels. (OOs proxy examine()) Fixed a bug where shadower updates caused by LO updates caused visual inconsistencies.
This commit is contained in:
@@ -123,43 +123,9 @@
|
||||
)
|
||||
|
||||
// If we're on an openturf, update the shadower object too.
|
||||
// We could queue an icon update for the entire OT, but this involves less overhead.
|
||||
var/turf/simulated/open/OT = loc:above
|
||||
if (OT)
|
||||
var/atom/movable/openspace/multiplier/shadower = OT.shadower
|
||||
if (!shadower) // The OT hasn't been initialized yet.
|
||||
OT.update_icon()
|
||||
return
|
||||
|
||||
shadower.appearance = src
|
||||
shadower.plane = OPENTURF_CAP_PLANE
|
||||
shadower.layer = SHADOWER_LAYER
|
||||
shadower.invisibility = 0
|
||||
if (shadower.icon_state == LIGHTING_BASE_ICON_STATE)
|
||||
// We're using a color matrix, so just darken the colors.
|
||||
var/list/c_list = shadower.color
|
||||
c_list[CL_MATRIX_RR] *= SHADOWER_DARKENING_FACTOR
|
||||
c_list[CL_MATRIX_RG] *= SHADOWER_DARKENING_FACTOR
|
||||
c_list[CL_MATRIX_RB] *= SHADOWER_DARKENING_FACTOR
|
||||
c_list[CL_MATRIX_GR] *= SHADOWER_DARKENING_FACTOR
|
||||
c_list[CL_MATRIX_GG] *= SHADOWER_DARKENING_FACTOR
|
||||
c_list[CL_MATRIX_GB] *= SHADOWER_DARKENING_FACTOR
|
||||
c_list[CL_MATRIX_BR] *= SHADOWER_DARKENING_FACTOR
|
||||
c_list[CL_MATRIX_BG] *= SHADOWER_DARKENING_FACTOR
|
||||
c_list[CL_MATRIX_BB] *= SHADOWER_DARKENING_FACTOR
|
||||
c_list[CL_MATRIX_AR] *= SHADOWER_DARKENING_FACTOR
|
||||
c_list[CL_MATRIX_AG] *= SHADOWER_DARKENING_FACTOR
|
||||
c_list[CL_MATRIX_AB] *= SHADOWER_DARKENING_FACTOR
|
||||
shadower.color = c_list
|
||||
else
|
||||
shadower.color = list(
|
||||
SHADOWER_DARKENING_FACTOR, 0, 0,
|
||||
0, SHADOWER_DARKENING_FACTOR, 0,
|
||||
0, 0, SHADOWER_DARKENING_FACTOR
|
||||
)
|
||||
|
||||
if (shadower.bound_overlay)
|
||||
shadower.update_above()
|
||||
OT.update_icon()
|
||||
|
||||
#undef ALL_EQUAL
|
||||
|
||||
|
||||
@@ -135,6 +135,9 @@
|
||||
/atom/movable/openspace/overlay/attack_generic(mob/user as mob)
|
||||
user << span("notice", "You cannot reach \the [src] from here.")
|
||||
|
||||
/atom/movable/openspace/overlay/examine(mob/examiner)
|
||||
associated_atom.examine(examiner)
|
||||
|
||||
/atom/movable/openspace/overlay/forceMove(atom/dest)
|
||||
. = ..()
|
||||
if (isopenturf(dest))
|
||||
|
||||
Reference in New Issue
Block a user