/datum/component/shimmy_around 
A component to act on the signal COMSIG_STRUCTURE_COLLIDED to shimmy around a dense structure NOTE: If any part of the Collided proc chain is overriden from obj/structure you must ensure the signal is sent
Vars | |
| additional_offset | Whether to adjust the offset using the structure's offset as well |
|---|---|
| approach_dirs | Approachable directions bitfield |
| approach_dirs_layer_override | Approach directions bitfield that override the mob's layer to be above our structure's |
| east_offset | The pixel_y offset when approaching and facing EAST |
| extra_delay | Extra time added to next_move to shimmy around |
| north_offset | The pixel_x offset when approaching and facing NORTH |
| parent_structure | The structure that we are bound to |
| south_offset | The pixel_x offset when approaching and facing SOUTH |
| west_offset | The pixel_y offset when approaching and facing WEST |
Procs | |
| can_move | Determines whether the user can move to some turf relative to us |
| on_collide | Signal handler for COMSIG_STRUCTURE_COLLIDED to start a shimmy |
| on_mob_move | Signal handler for COMSIG_MOVABLE_MOVED to reset their pixel offsets |
| on_mob_pre_move | Signal handler for COMSIG_MOVABLE_PRE_MOVE to prevent movement into us |
| on_mob_shimmy_layer | Signal handler for COMSIG_LIVING_SHIMMY_LAYER to prevent layer reset from another shimmy component |
Var Details
additional_offset 
Whether to adjust the offset using the structure's offset as well
approach_dirs 
Approachable directions bitfield
approach_dirs_layer_override 
Approach directions bitfield that override the mob's layer to be above our structure's
east_offset 
The pixel_y offset when approaching and facing EAST
extra_delay 
Extra time added to next_move to shimmy around
north_offset 
The pixel_x offset when approaching and facing NORTH
parent_structure 
The structure that we are bound to
south_offset 
The pixel_x offset when approaching and facing SOUTH
west_offset 
The pixel_y offset when approaching and facing WEST
Proc Details
can_move
Determines whether the user can move to some turf relative to us
on_collide
Signal handler for COMSIG_STRUCTURE_COLLIDED to start a shimmy
on_mob_move
Signal handler for COMSIG_MOVABLE_MOVED to reset their pixel offsets
on_mob_pre_move
Signal handler for COMSIG_MOVABLE_PRE_MOVE to prevent movement into us
on_mob_shimmy_layer
Signal handler for COMSIG_LIVING_SHIMMY_LAYER to prevent layer reset from another shimmy component