turf
Vars | |
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 |
Procs | |
Initialize | Turf Initialize |
LinkBlockedWithAccess | For 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_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. |
process_cell | SIMULATION |
reachableAdjacentTurfs | Returns adjacent turfs to this turf that are reachable, in all cardinal directions |
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 |
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:
- caller: The movable, if one exists, being used for mobility checks to see what tiles it can reach
- ID: An ID card that decides if we can gain access to doors that would otherwise block a turf
- simulated_only: Do we only worry about turfs with simulated atmos, most notably things that aren't space?
__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:
- exclude_mobs - If TRUE, ignores dense mobs on the turf.
- source_atom - If this is not null, will check whether any contents on the turf can block this atom specifically. Also ignores itself on the turf.
- ignore_atoms - Check will ignore any atoms in this list. Useful to prevent an atom from blocking itself on the turf.
process_cell
SIMULATION
reachableAdjacentTurfs
Returns adjacent turfs to this turf that are reachable, in all cardinal directions
Arguments:
- caller: The movable, if one exists, being used for mobility checks to see what tiles it can reach
- ID: An ID card that decides if we can gain access to doors that would otherwise block a turf
- simulated_only: Do we only worry about turfs with simulated atmos, most notably things that aren't space?
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