can_pass_info

These are generally cheaper than looping contents so they go first Holds all information about what an atom can move through Passed into CanAStarPass to provide context for a pathing attempt
Also used to check if using a cached path_map is safe There are some vars here that are unused. They exist to cover cases where caller_ref is used They're the properties of caller_ref used in those cases. It's kinda annoying, but there's some proc chains we can't convert to this datum
Vars | |
| access | What access we have, airlocks, windoors, etc |
|---|---|
| anchored | Are we anchored |
| buckled_info | If our mob is buckled to something, what's it like |
| caller_ref | Weakref to the caller used to generate this info Should not use this almost ever, it's for context and to allow for proc chains that Require a movable |
| camera_type | Cameras have a lot of BS can_z_move overrides Let's avoid this |
| can_ventcrawl | Can we ventcrawl? |
| has_gravity | Do we have gravity |
| incapacitated | Is our mob incapacitated |
| incorporeal_move | Is our mob incorporeal |
| is_bot | Are we a bot? |
| is_living | Are we a living mob? |
| is_observer | Are we a ghost? (they have effectively unique pathfinding) |
| mob_size | What is the size of our mob |
| movement_type | What sort of movement do we have. Mirrors /atom/movable/movement_type |
| no_id | If we have no id, public airlocks are walls |
| pass_flags | What we can pass through. Mirrors /atom/movable/pass_flags |
| pulling_info | Pass information for the object we are pulling, if any |
| rider_info | If our mob has a rider, what does it look like |
| thrown | Are we being thrown? |
Var Details
access

What access we have, airlocks, windoors, etc
anchored

Are we anchored
buckled_info

If our mob is buckled to something, what's it like
caller_ref

Weakref to the caller used to generate this info Should not use this almost ever, it's for context and to allow for proc chains that Require a movable
camera_type

Cameras have a lot of BS can_z_move overrides Let's avoid this
can_ventcrawl

Can we ventcrawl?
has_gravity

Do we have gravity
incapacitated

Is our mob incapacitated
incorporeal_move

Is our mob incorporeal
is_bot

Are we a bot?
is_living

Are we a living mob?
is_observer

Are we a ghost? (they have effectively unique pathfinding)
mob_size

What is the size of our mob
movement_type

What sort of movement do we have. Mirrors /atom/movable/movement_type
no_id

If we have no id, public airlocks are walls
pass_flags

What we can pass through. Mirrors /atom/movable/pass_flags
pulling_info

Pass information for the object we are pulling, if any
rider_info

If our mob has a rider, what does it look like
thrown

Are we being thrown?