code/__DEFINES/movement.dm ![code/__DEFINES/movement.dm0](git.png)
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 ![code/__DEFINES/movement.dm 54](git.png)
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 ![code/__DEFINES/movement.dm 70](git.png)
This one is for going upstairs.
CURRENTLY_Z_FALLING ![code/__DEFINES/movement.dm 64](git.png)
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 ![code/__DEFINES/movement.dm 68](git.png)
This one is for falling down open space from movement.
CURRENTLY_Z_MOVING_GENERIC ![code/__DEFINES/movement.dm 66](git.png)
currently_z_moving is set to this in zMove() if 0.
DELAY_TO_GLIDE_SIZE ![code/__DEFINES/movement.dm 16](git.png)
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 ![code/__DEFINES/movement.dm 74](git.png)
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 ![code/__DEFINES/movement.dm 76](git.png)
Suppresses the "[movable] falls through [old_turf]" message because it'd make little sense in certain contexts like climbing stairs.
FALL_RETAIN_PULL ![code/__DEFINES/movement.dm 80](git.png)
Used when the grip on a pulled object shouldn't be broken.
FALL_STOP_INTERCEPTING ![code/__DEFINES/movement.dm 78](git.png)
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 ![code/__DEFINES/movement.dm 114](git.png)
The first step of the diagnonal movement
INERTIA_FORCE_CAP ![code/__DEFINES/movement.dm 142](git.png)
Maximum inertia that an object can hold. Used to prevent objects from getting to stupid speeds.
INERTIA_FORCE_PER_THROW_FORCE ![code/__DEFINES/movement.dm 150](git.png)
How much inertia is required past the floor to add 1 strength
INERTIA_FORCE_SPACEMOVE_GRAB ![code/__DEFINES/movement.dm 146](git.png)
How much inertia we must have to not be able to instantly stop after having something to grab
INERTIA_FORCE_SPACEMOVE_REDUCTION ![code/__DEFINES/movement.dm 144](git.png)
How much inertia is deducted when a mob has newtonian spacemove capabilities and is not moving in the same direction
INERTIA_FORCE_THROW_FLOOR ![code/__DEFINES/movement.dm 148](git.png)
How much inertia is required for the impacted object to be thrown at the wall
MAX_GLIDE_SIZE ![code/__DEFINES/movement.dm 5](git.png)
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 ![code/__DEFINES/movement.dm 2](git.png)
The minimum for glide_size to be clamped to.
MOVELOOP_FAILURE ![code/__DEFINES/movement.dm 134](git.png)
Return values for moveloop Move()
MOVELOOP_STATUS_PAUSED ![code/__DEFINES/movement.dm 44](git.png)
Has the loop been paused, soon to be resumed?
MOVELOOP_STATUS_QUEUED ![code/__DEFINES/movement.dm 48](git.png)
Is the loop queued in a subsystem?
MOVELOOP_STATUS_RUNNING ![code/__DEFINES/movement.dm 46](git.png)
Is the loop running? (Is true even when paused)
MOVEMENT_ABOVE_SPACE_PRIORITY ![code/__DEFINES/movement.dm 28](git.png)
Higher then the heavens
MOVEMENT_ADJUSTED_GLIDE_SIZE ![code/__DEFINES/movement.dm 19](git.png)
Similar to DELAY_TO_GLIDE_SIZE, except without the clamping, and it supports piping in an unrelated scalar
MOVEMENT_DEFAULT_PRIORITY ![code/__DEFINES/movement.dm 24](git.png)
Standard, go lower then this if you want to override, higher otherwise
MOVEMENT_LOOP_IGNORE_GLIDE ![code/__DEFINES/movement.dm 36](git.png)
Should we override the loop's glide?
MOVEMENT_LOOP_IGNORE_PRIORITY ![code/__DEFINES/movement.dm 34](git.png)
Do we not use the priority system?
MOVEMENT_LOOP_NO_DIR_UPDATE ![code/__DEFINES/movement.dm 38](git.png)
Should we not update our movables dir on move?
MOVEMENT_LOOP_OUTSIDE_CONTROL ![code/__DEFINES/movement.dm 40](git.png)
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 ![code/__DEFINES/movement.dm 32](git.png)
Should the loop act immediately following its addition?
MOVEMENT_SPACE_PRIORITY ![code/__DEFINES/movement.dm 26](git.png)
Very few things should override this
SECOND_DIAG_STEP ![code/__DEFINES/movement.dm 116](git.png)
The second step of the diagnonal movement
TELEPORT_CHANNEL_BLUESPACE ![code/__DEFINES/movement.dm 119](git.png)
Classic bluespace teleportation, requires a sender but no receiver
TELEPORT_CHANNEL_CULT ![code/__DEFINES/movement.dm 127](git.png)
Cult teleportation, does whatever it wants (unless there's holiness)
TELEPORT_CHANNEL_EIGENSTATE ![code/__DEFINES/movement.dm 129](git.png)
Eigenstate teleportation, can do most things (that aren't in a teleport-prevented zone)
TELEPORT_CHANNEL_FREE ![code/__DEFINES/movement.dm 131](git.png)
Anything else
TELEPORT_CHANNEL_MAGIC ![code/__DEFINES/movement.dm 125](git.png)
Magic teleportation, does whatever it wants (unless there's antimagic)
TELEPORT_CHANNEL_QUANTUM ![code/__DEFINES/movement.dm 121](git.png)
Quantum-based teleportation, requires both sender and receiver, but is free from normal disruption
TELEPORT_CHANNEL_WORMHOLE ![code/__DEFINES/movement.dm 123](git.png)
Wormhole teleportation, is not disrupted by bluespace fluctuations but tends to be very random or unsafe
ZMOVE_ALLOW_ANCHORED ![code/__DEFINES/movement.dm 101](git.png)
Skips check for whether the moving atom is anchored or not.
ZMOVE_ALLOW_BUCKLED ![code/__DEFINES/movement.dm 95](git.png)
Whether we check the movable (if it exists) the living mob is buckled on or not.
ZMOVE_CHECK_PULLEDBY ![code/__DEFINES/movement.dm 85](git.png)
Checks if pulledby is nearby. if not, stop being pulled.
ZMOVE_CHECK_PULLING ![code/__DEFINES/movement.dm 83](git.png)
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 ![code/__DEFINES/movement.dm 87](git.png)
flags for different checks done in /atom/movable/proc/can_z_move. Should be self-explainatory.
ZMOVE_FALL_FLAGS ![code/__DEFINES/movement.dm 110](git.png)
Used for falling down open space.
ZMOVE_FEEDBACK ![code/__DEFINES/movement.dm 93](git.png)
Gives players chat feedbacks if they're unable to move through z levels.
ZMOVE_FLIGHT_FLAGS ![code/__DEFINES/movement.dm 106](git.png)
Flags used in "Move Upwards" and "Move Downwards" verbs.
ZMOVE_IGNORE_OBSTACLES ![code/__DEFINES/movement.dm 91](git.png)
Doesn't call zPassIn() and zPassOut()
ZMOVE_INCLUDE_PULLED ![code/__DEFINES/movement.dm 99](git.png)
Includes movables that're either pulled by the source or mobs buckled to it in the list of moving movables.
ZMOVE_STAIRS_FLAGS ![code/__DEFINES/movement.dm 108](git.png)
Used when walking upstairs
ZMOVE_VENTCRAWLING ![code/__DEFINES/movement.dm 97](git.png)
If the movable is actually ventcrawling vertically.