code/__DEFINES/movement.dm
MIN_GLIDE_SIZE | The minimum for glide_size to be clamped to. |
---|---|
MAX_GLIDE_SIZE | The maximum for glide_size to be clamped to. This shouldn't be higher than the icon size, and generally you shouldn't be changing this, but it's here just in case. |
DELAY_TO_GLIDE_SIZE | Broken down, here's what this does: divides the world icon_size by delay divided by ticklag to get the number of pixels something should be moving each tick. The division result is given a min value of 1 to prevent obscenely slow glide sizes from being set Then that's multiplied by the global glide size multiplier. 1.25 by default feels pretty close to spot on. This is just to try to get byond to behave. The whole result is then clamped to within the range above. Not very readable but it works |
MOVEMENT_ADJUSTED_GLIDE_SIZE | Similar to DELAY_TO_GLIDE_SIZE, except without the clamping, and it supports piping in an unrelated scalar |
MOVEMENT_DEFAULT_PRIORITY | Standard, go lower then this if you want to override, higher otherwise |
MOVEMENT_SPACE_PRIORITY | Very few things should override this |
MOVEMENT_ABOVE_SPACE_PRIORITY | Higher then the heavens |
MOVEMENT_LOOP_START_FAST | Should the loop act immediately following its addition? |
MOVEMENT_LOOP_IGNORE_PRIORITY | Do we not use the priority system? |
MOVEMENT_LOOP_IGNORE_GLIDE | Should we override the loop's glide? |
MOVEMENT_LOOP_NO_DIR_UPDATE | Should we not update our movables dir on move? |
MOVEMENT_LOOP_OUTSIDE_CONTROL | Is the loop moving the movable outside its control, like it's an external force? e.g. footsteps won't play if enabled. |
MOVELOOP_STATUS_PAUSED | Has the loop been paused, soon to be resumed? |
MOVELOOP_STATUS_RUNNING | Is the loop running? (Is true even when paused) |
MOVELOOP_STATUS_QUEUED | Is the loop queued in a subsystem? |
CHECK_MOVE_LOOP_FLAGS | Returns a bitfield containing flags both present in flags arg and the processing_move_loop_flags move_packet variable.
Has no use outside of procs called within the movement proc chain. |
CURRENTLY_Z_FALLING | currently_z_moving defines. Higher numbers mean higher priority. This one is for falling down open space from stuff such as deleted tile, pit grate... |
CURRENTLY_Z_MOVING_GENERIC | currently_z_moving is set to this in zMove() if 0. |
CURRENTLY_Z_FALLING_FROM_MOVE | This one is for falling down open space from movement. |
CURRENTLY_Z_ASCENDING | This one is for going upstairs. |
FALL_INTERCEPTED | possible bitflag return values of [atom/proc/intercept_zImpact] calls Stops the movable from falling further and crashing on the ground. Example: stairs. |
FALL_NO_MESSAGE | Suppresses the "[movable] falls through [old_turf]" message because it'd make little sense in certain contexts like climbing stairs. |
FALL_STOP_INTERCEPTING | Used when the whole intercept_zImpact forvar loop should be stopped. For example: when someone falls into the supermatter and becomes dust. |
FALL_RETAIN_PULL | Used when the grip on a pulled object shouldn't be broken. |
ZMOVE_CHECK_PULLING | Runs check_pulling() by the end of [/atom/movable/proc/zMove] for every movable that's pulling something. Should be kept enabled unless you know what you are doing. |
ZMOVE_CHECK_PULLEDBY | Checks if pulledby is nearby. if not, stop being pulled. |
ZMOVE_FALL_CHECKS | flags for different checks done in /atom/movable/proc/can_z_move. Should be self-explainatory. |
ZMOVE_IGNORE_OBSTACLES | Doesn't call zPassIn() and zPassOut() |
ZMOVE_FEEDBACK | Gives players chat feedbacks if they're unable to move through z levels. |
ZMOVE_ALLOW_BUCKLED | Whether we check the movable (if it exists) the living mob is buckled on or not. |
ZMOVE_VENTCRAWLING | If the movable is actually ventcrawling vertically. |
ZMOVE_INCLUDE_PULLED | Includes movables that're either pulled by the source or mobs buckled to it in the list of moving movables. |
ZMOVE_ALLOW_ANCHORED | Skips check for whether the moving atom is anchored or not. |
ZMOVE_FLIGHT_FLAGS | Flags used in "Move Upwards" and "Move Downwards" verbs. |
ZMOVE_STAIRS_FLAGS | Used when walking upstairs |
ZMOVE_FALL_FLAGS | Used for falling down open space. |
FIRST_DIAG_STEP | The first step of the diagnonal movement |
SECOND_DIAG_STEP | The second step of the diagnonal movement |
TELEPORT_CHANNEL_BLUESPACE | Classic bluespace teleportation, requires a sender but no receiver |
TELEPORT_CHANNEL_QUANTUM | Quantum-based teleportation, requires both sender and receiver, but is free from normal disruption |
TELEPORT_CHANNEL_WORMHOLE | Wormhole teleportation, is not disrupted by bluespace fluctuations but tends to be very random or unsafe |
TELEPORT_CHANNEL_MAGIC | Magic teleportation, does whatever it wants (unless there's antimagic) |
TELEPORT_CHANNEL_CULT | Cult teleportation, does whatever it wants (unless there's holiness) |
TELEPORT_CHANNEL_EIGENSTATE | Eigenstate teleportation, can do most things (that aren't in a teleport-prevented zone) |
TELEPORT_CHANNEL_FREE | Anything else |
MOVELOOP_FAILURE | Return values for moveloop Move() |
INERTIA_FORCE_CAP | Maximum inertia that an object can hold. Used to prevent objects from getting to stupid speeds. |
INERTIA_FORCE_SPACEMOVE_REDUCTION | How much inertia is deducted when a mob has newtonian spacemove capabilities and is not moving in the same direction |
INERTIA_FORCE_SPACEMOVE_GRAB | How much inertia we must have to not be able to instantly stop after having something to grab |
INERTIA_FORCE_THROW_FLOOR | How much inertia is required for the impacted object to be thrown at the wall |
INERTIA_FORCE_PER_THROW_FORCE | How much inertia is required past the floor to add 1 strength |
Define Details
CHECK_MOVE_LOOP_FLAGS
Returns a bitfield containing flags both present in flags
arg and the processing_move_loop_flags
move_packet variable.
Has no use outside of procs called within the movement proc chain.
CURRENTLY_Z_ASCENDING
This one is for going upstairs.
CURRENTLY_Z_FALLING
currently_z_moving defines. Higher numbers mean higher priority. This one is for falling down open space from stuff such as deleted tile, pit grate...
CURRENTLY_Z_FALLING_FROM_MOVE
This one is for falling down open space from movement.
CURRENTLY_Z_MOVING_GENERIC
currently_z_moving is set to this in zMove() if 0.
DELAY_TO_GLIDE_SIZE
Broken down, here's what this does: divides the world icon_size by delay divided by ticklag to get the number of pixels something should be moving each tick. The division result is given a min value of 1 to prevent obscenely slow glide sizes from being set Then that's multiplied by the global glide size multiplier. 1.25 by default feels pretty close to spot on. This is just to try to get byond to behave. The whole result is then clamped to within the range above. Not very readable but it works
FALL_INTERCEPTED
possible bitflag return values of [atom/proc/intercept_zImpact] calls Stops the movable from falling further and crashing on the ground. Example: stairs.
FALL_NO_MESSAGE
Suppresses the "[movable] falls through [old_turf]" message because it'd make little sense in certain contexts like climbing stairs.
FALL_RETAIN_PULL
Used when the grip on a pulled object shouldn't be broken.
FALL_STOP_INTERCEPTING
Used when the whole intercept_zImpact forvar loop should be stopped. For example: when someone falls into the supermatter and becomes dust.
FIRST_DIAG_STEP
The first step of the diagnonal movement
INERTIA_FORCE_CAP
Maximum inertia that an object can hold. Used to prevent objects from getting to stupid speeds.
INERTIA_FORCE_PER_THROW_FORCE
How much inertia is required past the floor to add 1 strength
INERTIA_FORCE_SPACEMOVE_GRAB
How much inertia we must have to not be able to instantly stop after having something to grab
INERTIA_FORCE_SPACEMOVE_REDUCTION
How much inertia is deducted when a mob has newtonian spacemove capabilities and is not moving in the same direction
INERTIA_FORCE_THROW_FLOOR
How much inertia is required for the impacted object to be thrown at the wall
MAX_GLIDE_SIZE
The maximum for glide_size to be clamped to. This shouldn't be higher than the icon size, and generally you shouldn't be changing this, but it's here just in case.
MIN_GLIDE_SIZE
The minimum for glide_size to be clamped to.
MOVELOOP_FAILURE
Return values for moveloop Move()
MOVELOOP_STATUS_PAUSED
Has the loop been paused, soon to be resumed?
MOVELOOP_STATUS_QUEUED
Is the loop queued in a subsystem?
MOVELOOP_STATUS_RUNNING
Is the loop running? (Is true even when paused)
MOVEMENT_ABOVE_SPACE_PRIORITY
Higher then the heavens
MOVEMENT_ADJUSTED_GLIDE_SIZE
Similar to DELAY_TO_GLIDE_SIZE, except without the clamping, and it supports piping in an unrelated scalar
MOVEMENT_DEFAULT_PRIORITY
Standard, go lower then this if you want to override, higher otherwise
MOVEMENT_LOOP_IGNORE_GLIDE
Should we override the loop's glide?
MOVEMENT_LOOP_IGNORE_PRIORITY
Do we not use the priority system?
MOVEMENT_LOOP_NO_DIR_UPDATE
Should we not update our movables dir on move?
MOVEMENT_LOOP_OUTSIDE_CONTROL
Is the loop moving the movable outside its control, like it's an external force? e.g. footsteps won't play if enabled.
MOVEMENT_LOOP_START_FAST
Should the loop act immediately following its addition?
MOVEMENT_SPACE_PRIORITY
Very few things should override this
SECOND_DIAG_STEP
The second step of the diagnonal movement
TELEPORT_CHANNEL_BLUESPACE
Classic bluespace teleportation, requires a sender but no receiver
TELEPORT_CHANNEL_CULT
Cult teleportation, does whatever it wants (unless there's holiness)
TELEPORT_CHANNEL_EIGENSTATE
Eigenstate teleportation, can do most things (that aren't in a teleport-prevented zone)
TELEPORT_CHANNEL_FREE
Anything else
TELEPORT_CHANNEL_MAGIC
Magic teleportation, does whatever it wants (unless there's antimagic)
TELEPORT_CHANNEL_QUANTUM
Quantum-based teleportation, requires both sender and receiver, but is free from normal disruption
TELEPORT_CHANNEL_WORMHOLE
Wormhole teleportation, is not disrupted by bluespace fluctuations but tends to be very random or unsafe
ZMOVE_ALLOW_ANCHORED
Skips check for whether the moving atom is anchored or not.
ZMOVE_ALLOW_BUCKLED
Whether we check the movable (if it exists) the living mob is buckled on or not.
ZMOVE_CHECK_PULLEDBY
Checks if pulledby is nearby. if not, stop being pulled.
ZMOVE_CHECK_PULLING
Runs check_pulling() by the end of [/atom/movable/proc/zMove] for every movable that's pulling something. Should be kept enabled unless you know what you are doing.
ZMOVE_FALL_CHECKS
flags for different checks done in /atom/movable/proc/can_z_move. Should be self-explainatory.
ZMOVE_FALL_FLAGS
Used for falling down open space.
ZMOVE_FEEDBACK
Gives players chat feedbacks if they're unable to move through z levels.
ZMOVE_FLIGHT_FLAGS
Flags used in "Move Upwards" and "Move Downwards" verbs.
ZMOVE_IGNORE_OBSTACLES
Doesn't call zPassIn() and zPassOut()
ZMOVE_INCLUDE_PULLED
Includes movables that're either pulled by the source or mobs buckled to it in the list of moving movables.
ZMOVE_STAIRS_FLAGS
Used when walking upstairs
ZMOVE_VENTCRAWLING
If the movable is actually ventcrawling vertically.