movement_packet
A packet of information that describes the current state of a moving object
Vars | |
existing_loops | Assoc list of subsystems -> loop datum. Only one datum is allowed per subsystem |
---|---|
parent | Our parent atom |
processing_move_loop_flags | Flags passed from the move loop before it calls move() and unset right after. Allows for properties of a move loop to be easily checked by mechanics outside of it. Having this a bitfield rather than a type var means we don't get screwed over if the move loop gets deleted mid-move, FYI. |
running_loop | The move loop that's currently running, excluding those that ignore priority. |
Procs | |
add_loop | Adds a loop to our parent. Returns the created loop if a success, null otherwise |
contest_running_loop | Attempts to contest the current running move loop. Returns TRUE if the loop is active, FALSE otherwise |
decide_on_running_loop | Tries to figure out the current favorite loop to run. More complex then just deciding between two different loops, assumes no running loop currently exists |
Var Details
existing_loops
Assoc list of subsystems -> loop datum. Only one datum is allowed per subsystem
parent
Our parent atom
processing_move_loop_flags
Flags passed from the move loop before it calls move() and unset right after. Allows for properties of a move loop to be easily checked by mechanics outside of it. Having this a bitfield rather than a type var means we don't get screwed over if the move loop gets deleted mid-move, FYI.
running_loop
The move loop that's currently running, excluding those that ignore priority.
Proc Details
add_loop
Adds a loop to our parent. Returns the created loop if a success, null otherwise
contest_running_loop
Attempts to contest the current running move loop. Returns TRUE if the loop is active, FALSE otherwise
decide_on_running_loop
Tries to figure out the current favorite loop to run. More complex then just deciding between two different loops, assumes no running loop currently exists