/turf 
Vars | |
| can_bloody | Can blood spawn on this turf? |
|---|---|
| cleanables | Associative list of cleanable types (strings) mapped to cleanable objects |
| 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. |
Procs | |
| 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 |
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