movable
Vars | |
blocks_emissive | Either FALSE, EMISSIVE_BLOCK_GENERIC, or EMISSIVE_BLOCK_UNIQUE |
---|---|
can_be_z_moved | Used for space ztransit stuff |
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 |
last_yell | last time we yelled |
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. |
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. |
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_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 |
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_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. |
update_atom_languages | Empties out the atom specific languages and updates them according to the current atoms language holder. As a side effect, it also creates missing language holders in the process. |
Var Details
blocks_emissive
Either FALSE, EMISSIVE_BLOCK_GENERIC, or EMISSIVE_BLOCK_UNIQUE
can_be_z_moved
Used for space ztransit stuff
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
last_yell
last time we yelled
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.
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.
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_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
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_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.
update_atom_languages
Empties out the atom specific languages and updates them according to the current atoms language holder. As a side effect, it also creates missing language holders in the process.