movable 
Vars | |
blocks_emissive | Either FALSE, EMISSIVE_BLOCK_GENERIC, or EMISSIVE_BLOCK_UNIQUE |
---|---|
can_be_z_moved | Used for space ztransit stuff |
client_mobs_in_contents | contains every client mob corresponding to every client eye in this container. lazily updated by SSparallax and is sparse: only the last container of a client eye has this list assuming no movement since SSparallax's last fire |
em_block | Internal holder for emissive blocker object, do not use directly use blocks_emissive |
floating_need_update | If we were without gravity and another animation happened, the bouncing will stop, and we need to restart it in next life(). |
generic_canpass | If false makes CanPass call CanPassThrough on this type instead of using default behaviour |
initial_language_holder | What language holder type to init as |
language_holder | Holds all languages this mob can speak and understand |
last_yell | last time we yelled |
move_packet | Holds information about any movement loops currently running/waiting to run on the movable. Lazy, will be null if nothing's going on |
movement_type | In case you have multiple types, you automatically use the most useful one. IE: Skating on ice, flippers on water, flying over chasm/space, etc. I reccomend you use the movetype_handler system and not modify this directly, especially for living mobs. |
pass_flags | Things we can pass through while moving. If any of this matches the thing we're trying to pass's [pass_flags_self], then we can pass through. |
spatial_grid_key | String representing the spatial grid groups we want to be held in. acts as a key to the list of spatial grid contents types we exist in via SSspatial_grid.spatial_grid_categories. We do it like this to prevent people trying to mutate them and to save memory on holding the lists ourselves |
tooltips | Should we use tooltips, if the thing does not have the code implemented get_tooltip_data() , it will default to examine(src) |
yell_power | How loudly we yell |
Procs | |
CanPassThrough | Returns true or false to allow src to move through the blocker, mover has final say |
Process_Spacemove | Called whenever an object moves and by mobs when they attempt to move themselves through space And when an object or action applies a force on src, see newtonian_move |
abstract_move | meant for movement with zero side effects. only use for objects that are supposed to move "invisibly" (like camera mobs or ghosts) if you want something to move onto a tile with a beartrap or recycler or tripmine or mouse without that object knowing about it at all, use this most of the time you want forceMove() |
add_blocked_language | Adds a language to the blocked language list. Use this over remove_language in cases where you will give languages back later. |
admin_teleport | Proc to hook user-enacted teleporting behavior and keep logging of the event. |
can_speak_language | Checks if atom can speak the language. |
copy_languages | Copies all languages into the supplied atom/language holder. Source should be overridden when you do not want the language overwritten by later atom updates or want to avoid blocked languages. |
could_speak_language | Returns the result of tongue specific limitations on spoken languages. |
forceMove | FORCED MOVEMENT |
get_language_holder | Gets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one. |
get_random_spoken_language | Gets a random spoken language, useful for forced speech and such. |
get_random_understood_language | Gets a random understood language, useful for hallucinations and such. |
get_selected_language | Returns selected language, if it can be spoken, or finds, sets and returns a new selected language if possible. |
get_tooltip_data | If set, will return a list for the tooltip (that will also be put together in a Join() )
However, if returning null , the tooltip will not be shown as #14942 changed it. |
grant_all_languages | Grants every language. |
grant_language | Grants the supplied language and sets omnitongue true. |
has_language | Checks if atom has the language. If spoken is true, only checks if atom can speak the language. |
keybind_face_direction | A wrapper for setDir that should only be able to fail by living mobs. |
mouse_buckle_handling | Does some typechecks and then calls user_buckle_mob |
newtonian_move | Only moves the object if it's under no gravity |
on_changed_z_level | Called when a movable changes z-levels. |
on_enter_storage | called when this atom is added into a storage item, which is passed on as S. The loc variable is already set to the storage item. |
on_exit_storage | called when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called. |
point_at | Point at an atom |
quoteless_say_quote | Quirky citadel proc for our custom sayverbs to strip the verb out. Snowflakey as hell, say rewrite 3.0 when? |
recursive_pulled_glidesize_update | Recursively set glide size for atom's pulled things |
relay_container_resist_act | called when a mob resists while inside a container that is itself inside something. |
remove_all_languages | Removes every language and sets omnitongue false. |
remove_blocked_language | Removes a language from the blocked language list. |
remove_language | Removes a single language. |
say_emphasis | Scans the input sentence for speech emphasis modifiers, notably |italics|, +bold+, and underline -mothblocks |
setGrabState | Updates the grab state of the movable |
setMovetype | Proc to modify the movement_type and hook behavior associated with it changing. |
set_active_language | Sets the passed path as the active language Returns the currently selected language if successful, if the language was not valid, returns null |
set_anchored | Sets the anchored var and returns if it was sucessfully changed or not. |
set_bark | Sets the vocal bark for the atom, using the bark's ID |
set_pulledby | Reports the event of the change in value of the pulledby variable. |
throw_at | If this returns FALSE then callback will not be called. |
Var Details
blocks_emissive 
Either FALSE, EMISSIVE_BLOCK_GENERIC, or EMISSIVE_BLOCK_UNIQUE
can_be_z_moved 
Used for space ztransit stuff
client_mobs_in_contents 
contains every client mob corresponding to every client eye in this container. lazily updated by SSparallax and is sparse: only the last container of a client eye has this list assuming no movement since SSparallax's last fire
em_block 
Internal holder for emissive blocker object, do not use directly use blocks_emissive
floating_need_update 
If we were without gravity and another animation happened, the bouncing will stop, and we need to restart it in next life().
generic_canpass 
If false makes CanPass call CanPassThrough on this type instead of using default behaviour
initial_language_holder 
What language holder type to init as
language_holder 
Holds all languages this mob can speak and understand
last_yell 
last time we yelled
move_packet 
Holds information about any movement loops currently running/waiting to run on the movable. Lazy, will be null if nothing's going on
movement_type 
In case you have multiple types, you automatically use the most useful one. IE: Skating on ice, flippers on water, flying over chasm/space, etc. I reccomend you use the movetype_handler system and not modify this directly, especially for living mobs.
pass_flags 
Things we can pass through while moving. If any of this matches the thing we're trying to pass's [pass_flags_self], then we can pass through.
spatial_grid_key 
String representing the spatial grid groups we want to be held in. acts as a key to the list of spatial grid contents types we exist in via SSspatial_grid.spatial_grid_categories. We do it like this to prevent people trying to mutate them and to save memory on holding the lists ourselves
tooltips 
Should we use tooltips, if the thing does not have the code implemented get_tooltip_data()
, it will default to examine(src)
yell_power 
How loudly we yell
Proc Details
CanPassThrough
Returns true or false to allow src to move through the blocker, mover has final say
Process_Spacemove
Called whenever an object moves and by mobs when they attempt to move themselves through space And when an object or action applies a force on src, see newtonian_move
return FALSE to have src start/keep drifting in a no-grav area and 1 to stop/not start drifting
Mobs should return TRUE if they should be able to move of their own volition, see [/client/proc/Move]
Arguments:
- movement_dir - 0 when stopping or any dir when trying to move
abstract_move
meant for movement with zero side effects. only use for objects that are supposed to move "invisibly" (like camera mobs or ghosts) if you want something to move onto a tile with a beartrap or recycler or tripmine or mouse without that object knowing about it at all, use this most of the time you want forceMove()
add_blocked_language
Adds a language to the blocked language list. Use this over remove_language in cases where you will give languages back later.
admin_teleport
Proc to hook user-enacted teleporting behavior and keep logging of the event.
can_speak_language
Checks if atom can speak the language.
copy_languages
Copies all languages into the supplied atom/language holder. Source should be overridden when you do not want the language overwritten by later atom updates or want to avoid blocked languages.
could_speak_language
Returns the result of tongue specific limitations on spoken languages.
forceMove
FORCED MOVEMENT
get_language_holder
Gets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one.
get_random_spoken_language
Gets a random spoken language, useful for forced speech and such.
get_random_understood_language
Gets a random understood language, useful for hallucinations and such.
get_selected_language
Returns selected language, if it can be spoken, or finds, sets and returns a new selected language if possible.
get_tooltip_data
If set, will return a list for the tooltip (that will also be put together in a Join()
)
However, if returning null
, the tooltip will not be shown as #14942 changed it.
Though no tooltips will be created for atoms that have tooltips = FALSE
grant_all_languages
Grants every language.
grant_language
Grants the supplied language and sets omnitongue true.
has_language
Checks if atom has the language. If spoken is true, only checks if atom can speak the language.
keybind_face_direction
A wrapper for setDir that should only be able to fail by living mobs.
Called from [/atom/movable/proc/keyLoop], this exists to be overwritten by living mobs with a check to see if we're actually alive enough to change directions
mouse_buckle_handling
Does some typechecks and then calls user_buckle_mob
Arguments: M - The mob being buckled to src user - The mob buckling M to src
newtonian_move
Only moves the object if it's under no gravity
on_changed_z_level
Called when a movable changes z-levels.
Arguments:
- old_turf - The previous turf they were on before.
- new_turf - The turf they have now entered.
- same_z_layer - If their old and new z levels are on the same level of plane offsets or not
- notify_contents - Whether or not to notify the movable's contents that their z-level has changed. NOTE, IF YOU SET THIS, YOU NEED TO MANUALLY SET PLANE OF THE CONTENTS LATER
on_enter_storage
called when this atom is added into a storage item, which is passed on as S. The loc variable is already set to the storage item.
on_exit_storage
called when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called.
point_at
Point at an atom
Intended to enable and standardise the pointing animation for all atoms
Not intended as a replacement for the mob verb
quoteless_say_quote
Quirky citadel proc for our custom sayverbs to strip the verb out. Snowflakey as hell, say rewrite 3.0 when?
recursive_pulled_glidesize_update
Recursively set glide size for atom's pulled things
relay_container_resist_act
called when a mob resists while inside a container that is itself inside something.
remove_all_languages
Removes every language and sets omnitongue false.
remove_blocked_language
Removes a language from the blocked language list.
remove_language
Removes a single language.
say_emphasis
Scans the input sentence for speech emphasis modifiers, notably |italics|, +bold+, and underline -mothblocks
setGrabState
Updates the grab state of the movable
This exists to act as a hook for behaviour
setMovetype
Proc to modify the movement_type and hook behavior associated with it changing.
set_active_language
Sets the passed path as the active language Returns the currently selected language if successful, if the language was not valid, returns null
set_anchored
Sets the anchored var and returns if it was sucessfully changed or not.
set_bark
Sets the vocal bark for the atom, using the bark's ID
set_pulledby
Reports the event of the change in value of the pulledby variable.
throw_at
If this returns FALSE then callback will not be called.