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

InitializeTurf Initialize
LinkBlockedWithAccessFor seeing if we can actually move between 2 given turfs while accounting for our access and the caller's pass_flags
__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
reachableAdjacentTurfsReturns adjacent turfs to this turf that are reachable, in all cardinal directions
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

Initialize

Turf Initialize

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

LinkBlockedWithAccess

For seeing if we can actually move between 2 given turfs while accounting for our access and the caller's pass_flags

Arguments:

__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

reachableAdjacentTurfs

Returns adjacent turfs to this turf that are reachable, in all cardinal directions

Arguments:

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