Shiptest 13 - Modules - TypesVar Details - Proc Details

turf

Vars

directional_opacityWhich directions does this turf block the vision of, taking into account both the turf's opacity and the movable opacity_sources.
dynamic_lumcountLumcount added by sources other than lighting datum objects, such as the overlay lighting component.
fixed_underlayIcon-smoothing variable to map a diagonal wall corner with a fixed underlay.
initial_temperatureHow hot the turf is, in kelvin
lighting_corner_NELighting Corner datums.
lighting_objectOur lighting object.
opacity_sourcesLazylist of movable atoms providing opacity sources.
rad_fullblockerIf TRUE, radiation waves will qdelete if they step forwards into this turf, and stop propagating sideways if they encounter it. Used to stop radiation from travelling across virtual z-levels such as transit zones and planetary encounters.
smooth_underlayThe underlay generated and applied when a chisel makes a turf diagonal. Stored here for removal on un-diagonalizing
to_be_destroyedUsed for fire, if a melting temperature was reached, it will be destroyed

Procs

GetAtmosAdjacentTurfsReturns a list of adjacent turfs that can share air with this one. alldir includes adjacent diagonal tiles that can share air with both of the related adjacent cardinal tiles
InitializeTurf Initialize
__update_auxtools_turf_adjacency_infoUpdates adjacency infos for turfs, only use this in immediateupdateturfs.
add_opacity_sourceProc to add movable sources of opacity on the turf and let it handle lighting code.
clear_signal_refsWARNING WARNING Turfs DO NOT lose their signals when they get replaced, REMEMBER THIS It's possible because turfs are fucked, and if you have one in a list and it's replaced with another one, the list ref points to the new turf We do it because moving signals over was needlessly expensive, and bloated a very commonly used bit of code
consider_pressure_differenceSPACEWIND
expose_reagentsHandles exposing a turf to reagents.
fromShuttleMoveBase procs
is_blocked_turfCheck whether the specified turf is blocked by something dense inside it with respect to a specific atom.
process_cellSIMULATION
recalculate_directional_opacityCalculate on which directions this turfs block view.
remove_opacity_sourceProc to remove movable sources of opacity on the turf and let it handle lighting code.
update_air_refReturns: null. Updates turf air infos, whether the turf is closed, is space or a regular turf, or even a planet turf is decided here.
washCalled when this turf is being washed. Washing a turf will also wash any mopable floor decals

Var Details

directional_opacity

Which directions does this turf block the vision of, taking into account both the turf's opacity and the movable opacity_sources.

dynamic_lumcount

Lumcount added by sources other than lighting datum objects, such as the overlay lighting component.

fixed_underlay

Icon-smoothing variable to map a diagonal wall corner with a fixed underlay.

initial_temperature

How hot the turf is, in kelvin

lighting_corner_NE

Lighting Corner datums.

lighting_object

Our lighting object.

opacity_sources

Lazylist of movable atoms providing opacity sources.

rad_fullblocker

If TRUE, radiation waves will qdelete if they step forwards into this turf, and stop propagating sideways if they encounter it. Used to stop radiation from travelling across virtual z-levels such as transit zones and planetary encounters.

smooth_underlay

The underlay generated and applied when a chisel makes a turf diagonal. Stored here for removal on un-diagonalizing

to_be_destroyed

Used for fire, if a melting temperature was reached, it will be destroyed

Proc Details

GetAtmosAdjacentTurfs

Returns a list of adjacent turfs that can share air with this one. alldir includes adjacent diagonal tiles that can share air with both of the related adjacent cardinal tiles

Initialize

Turf Initialize

Doesn't call parent, see /atom/proc/Initialize

__update_auxtools_turf_adjacency_info

Updates adjacency infos for turfs, only use this in immediateupdateturfs.

add_opacity_source

Proc to add movable sources of opacity on the turf and let it handle lighting code.

clear_signal_refs

WARNING WARNING Turfs DO NOT lose their signals when they get replaced, REMEMBER THIS It's possible because turfs are fucked, and if you have one in a list and it's replaced with another one, the list ref points to the new turf We do it because moving signals over was needlessly expensive, and bloated a very commonly used bit of code

consider_pressure_difference

SPACEWIND

expose_reagents

Handles exposing a turf to reagents.

fromShuttleMove

Base procs

is_blocked_turf

Check whether the specified turf is blocked by something dense inside it with respect to a specific atom.

Returns truthy value TURF_BLOCKED_TURF_DENSE if the turf is blocked because the turf itself is dense. Returns truthy value TURF_BLOCKED_CONTENT_DENSE if one of the turf's contents is dense and would block a source atom's movement. Returns falsey value TURF_NOT_BLOCKED if the turf is not blocked.

Arguments:

process_cell

SIMULATION

recalculate_directional_opacity

Calculate on which directions this turfs block view.

remove_opacity_source

Proc to remove movable sources of opacity on the turf and let it handle lighting code.

update_air_ref

Returns: null. Updates turf air infos, whether the turf is closed, is space or a regular turf, or even a planet turf is decided here.

wash

Called when this turf is being washed. Washing a turf will also wash any mopable floor decals