byond - Modules - TypesVar Details - Proc Details

/turf

Vars

can_bloodyCan blood spawn on this turf?
cleanablesAssociative list of cleanable types (strings) mapped to cleanable objects
directional_opacityList of light sources affecting this turf. Which 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.
fishing_allowedIs fishing allowed on this turf
hybrid_lights_affectinghybrid lights affecting this turf
intact_tileUsed by floors to indicate the floor is a tile (otherwise its plating)
is_weedableCan xenomorph weeds grow on the tile
lighting_corner_NELighting Corner datums.
opacity_sourcesLazylist of movable atoms providing opacity sources.

Procs

GetAllTurfStrictContentsReturns list of contents of a turf recursively, much like GetAllContents We only get containing atoms in the turf, excluding multitiles bordering on it
add_opacity_sourceProc to add movable sources of opacity on the turf and let it handle lighting code.
afterShuttleMoveCalled on the new turf after everything has been moved
change_areaCall to move a turf from its current area to a new one
check_blockedReturns a boolean whether the turf is closed and has no opening in any cardinal direction
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
emptyRemove all atoms except observers, landmarks, docking ports - clearing up the turf contents
fromShuttleMoveCalled on every turf in the shuttle region, returns a bitflag for allowed movements of that turf returns the new move_mode (based on the old)
load_on_topPlaces a turf on top - for map loading
onShuttleMoveCalled on the old turf to move the turf data
on_change_areaAllows for reactions to an area change without inherently requiring change_area() be called (I hate maploading)
place_on_topPlaces a turf at the top of the stack
recalculate_directional_opacityCalculate on which directions this turfs block view.
reconsider_lightsCauses any affecting light sources to be queued for a visibility update, for example a door got opened.
remove_opacity_sourceProc to remove movable sources of opacity on the turf and let it handle lighting code.
static_lighting_build_overlayBuilds a lighting object for us, but only if our area is dynamic.
toShuttleMoveCalled from the new turf before anything has been moved Only gets called if fromShuttleMove returns true first returns the new move_mode (based on the old)
transfer_area_lightingTransfer the lighting of one area to another

Var Details

can_bloody

Can blood spawn on this turf?

cleanables

Associative list of cleanable types (strings) mapped to cleanable objects

The cleanable object does not necessarily need to be on the turf, it can simply be for handling how the overlays or placing new cleanables of the same type work

directional_opacity

List of light sources affecting this turf. 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.

fishing_allowed

Is fishing allowed on this turf

hybrid_lights_affecting

hybrid lights affecting this turf

intact_tile

Used by floors to indicate the floor is a tile (otherwise its plating)

is_weedable

Can xenomorph weeds grow on the tile

lighting_corner_NE

Lighting Corner datums.

opacity_sources

Lazylist of movable atoms providing opacity sources.

Proc Details

GetAllTurfStrictContents

Returns list of contents of a turf recursively, much like GetAllContents We only get containing atoms in the turf, excluding multitiles bordering on it

add_opacity_source

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

afterShuttleMove

Called on the new turf after everything has been moved

change_area

Call to move a turf from its current area to a new one

check_blocked

Returns a boolean whether the turf is closed and has no opening in any cardinal direction

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

empty

Remove all atoms except observers, landmarks, docking ports - clearing up the turf contents

fromShuttleMove

Called on every turf in the shuttle region, returns a bitflag for allowed movements of that turf returns the new move_mode (based on the old)

load_on_top

Places a turf on top - for map loading

onShuttleMove

Called on the old turf to move the turf data

on_change_area

Allows for reactions to an area change without inherently requiring change_area() be called (I hate maploading)

place_on_top

Places a turf at the top of the stack

recalculate_directional_opacity

Calculate on which directions this turfs block view.

reconsider_lights

Causes any affecting light sources to be queued for a visibility update, for example a door got opened.

remove_opacity_source

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

static_lighting_build_overlay

Builds a lighting object for us, but only if our area is dynamic.

toShuttleMove

Called from the new turf before anything has been moved Only gets called if fromShuttleMove returns true first returns the new move_mode (based on the old)

transfer_area_lighting

Transfer the lighting of one area to another