Files
GS13NG/atom/movable.html
T
2025-02-05 06:19:18 +00:00

30 lines
30 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../"><link rel="stylesheet" href="dmdoc.css"><title>/atom/movable - /tg/ Station 13</title></head><body><header><a href="index.html">/tg/ Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a><a href="atom/movable.html#var">Var Details</a> - <a href="atom/movable.html#proc">Proc Details</a></header><main><h1>movable <aside>/<a href="atom.html">atom</a>/<a href="atom/movable.html">movable</a></aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/(builtins)#L1"><img src="git.png" width="16" height="16" title="(builtins) 1"></a></h1><table class="summary" cellspacing="0"><tr><td colspan="2"><h2>Vars</h2></td></tr><tr><th><a href="atom/movable.html#var/blocks_emissive">blocks_emissive</a></th><td>Either FALSE, <a href="code/__DEFINES/lighting.html#define/EMISSIVE_BLOCK_GENERIC" title="EMISSIVE_BLOCK_GENERIC">EMISSIVE_BLOCK_GENERIC</a>, or <a href="code/__DEFINES/lighting.html#define/EMISSIVE_BLOCK_UNIQUE" title="EMISSIVE_BLOCK_UNIQUE">EMISSIVE_BLOCK_UNIQUE</a></td></tr><tr><th><a href="atom/movable.html#var/can_be_z_moved">can_be_z_moved</a></th><td>Used for space ztransit stuff</td></tr><tr><th><a href="atom/movable.html#var/em_block">em_block</a></th><td>Internal holder for emissive blocker object, do not use directly use blocks_emissive</td></tr><tr><th><a href="atom/movable.html#var/floating_need_update">floating_need_update</a></th><td>If we were without gravity and another animation happened, the bouncing will stop, and we need to restart it in next life().</td></tr><tr><th><a href="atom/movable.html#var/generic_canpass">generic_canpass</a></th><td>If false makes CanPass call CanPassThrough on this type instead of using default behaviour</td></tr><tr><th><a href="atom/movable.html#var/last_yell">last_yell</a></th><td>last time we yelled</td></tr><tr><th><a href="atom/movable.html#var/movement_type">movement_type</a></th><td>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.</td></tr><tr><th><a href="atom/movable.html#var/pass_flags">pass_flags</a></th><td>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.</td></tr><tr><th><a href="atom/movable.html#var/tooltips">tooltips</a></th><td>Should we use tooltips, if the thing does not have the code implemented <code>get_tooltip_data()</code>, it will default to examine(src)</td></tr><tr><th><a href="atom/movable.html#var/yell_power">yell_power</a></th><td>How loudly we yell</td></tr><tr><td colspan="2"><h2>Procs</h2></td></tr><tr><th><a href="atom/movable.html#proc/CanPassThrough">CanPassThrough</a></th><td>Returns true or false to allow src to move through the blocker, mover has final say</td></tr><tr><th><a href="atom/movable.html#proc/Process_Spacemove">Process_Spacemove</a></th><td>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 <a href="atom/movable.html#proc/newtonian_move" title="/atom/movable">newtonian_move</a></td></tr><tr><th><a href="atom/movable.html#proc/abstract_move">abstract_move</a></th><td>meant for movement with zero side effects. only use for objects that are supposed to move &quot;invisibly&quot; (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()</td></tr><tr><th><a href="atom/movable.html#proc/add_blocked_language">add_blocked_language</a></th><td>Adds a language to the blocked language list. Use this over remove_language in cases where you will give languages back later.</td></tr><tr><th><a href="atom/movable.html#proc/admin_teleport">admin_teleport</a></th><td>Proc to hook user-enacted teleporting behavior and keep logging of the event.</td></tr><tr><th><a href="atom/movable.html#proc/can_speak_language">can_speak_language</a></th><td>Checks if atom can speak the language.</td></tr><tr><th><a href="atom/movable.html#proc/copy_languages">copy_languages</a></th><td>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.</td></tr><tr><th><a href="atom/movable.html#proc/could_speak_language">could_speak_language</a></th><td>Returns the result of tongue specific limitations on spoken languages.</td></tr><tr><th><a href="atom/movable.html#proc/forceMove">forceMove</a></th><td>FORCED MOVEMENT</td></tr><tr><th><a href="atom/movable.html#proc/get_language_holder">get_language_holder</a></th><td>Gets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one.</td></tr><tr><th><a href="atom/movable.html#proc/get_random_spoken_language">get_random_spoken_language</a></th><td>Gets a random spoken language, useful for forced speech and such.</td></tr><tr><th><a href="atom/movable.html#proc/get_random_understood_language">get_random_understood_language</a></th><td>Gets a random understood language, useful for hallucinations and such.</td></tr><tr><th><a href="atom/movable.html#proc/get_selected_language">get_selected_language</a></th><td>Returns selected language, if it can be spoken, or finds, sets and returns a new selected language if possible.</td></tr><tr><th><a href="atom/movable.html#proc/get_tooltip_data">get_tooltip_data</a></th><td>If set, will return a list for the tooltip (that will also be put together in a <code>Join()</code>)
However, if returning <code>null</code>, the tooltip will not be shown as #14942 changed it.</td></tr><tr><th><a href="atom/movable.html#proc/grant_all_languages">grant_all_languages</a></th><td>Grants every language.</td></tr><tr><th><a href="atom/movable.html#proc/grant_language">grant_language</a></th><td>Grants the supplied language and sets omnitongue true.</td></tr><tr><th><a href="atom/movable.html#proc/has_language">has_language</a></th><td>Checks if atom has the language. If spoken is true, only checks if atom can speak the language.</td></tr><tr><th><a href="atom/movable.html#proc/mouse_buckle_handling">mouse_buckle_handling</a></th><td>Does some typechecks and then calls user_buckle_mob</td></tr><tr><th><a href="atom/movable.html#proc/newtonian_move">newtonian_move</a></th><td>Only moves the object if it's under no gravity</td></tr><tr><th><a href="atom/movable.html#proc/on_enter_storage">on_enter_storage</a></th><td>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.</td></tr><tr><th><a href="atom/movable.html#proc/on_exit_storage">on_exit_storage</a></th><td>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.</td></tr><tr><th><a href="atom/movable.html#proc/point_at">point_at</a></th><td>Point at an atom</td></tr><tr><th><a href="atom/movable.html#proc/quoteless_say_quote">quoteless_say_quote</a></th><td>Quirky citadel proc for our custom sayverbs to strip the verb out. Snowflakey as hell, say rewrite 3.0 when?</td></tr><tr><th><a href="atom/movable.html#proc/recursive_pulled_glidesize_update">recursive_pulled_glidesize_update</a></th><td>Recursively set glide size for atom's pulled things</td></tr><tr><th><a href="atom/movable.html#proc/remove_all_languages">remove_all_languages</a></th><td>Removes every language and sets omnitongue false.</td></tr><tr><th><a href="atom/movable.html#proc/remove_blocked_language">remove_blocked_language</a></th><td>Removes a language from the blocked language list.</td></tr><tr><th><a href="atom/movable.html#proc/remove_language">remove_language</a></th><td>Removes a single language.</td></tr><tr><th><a href="atom/movable.html#proc/say_emphasis">say_emphasis</a></th><td>Converts specific characters, like +, |, and _ to formatted output.</td></tr><tr><th><a href="atom/movable.html#proc/setGrabState">setGrabState</a></th><td>Updates the grab state of the movable</td></tr><tr><th><a href="atom/movable.html#proc/setMovetype">setMovetype</a></th><td>Proc to modify the movement_type and hook behavior associated with it changing.</td></tr><tr><th><a href="atom/movable.html#proc/set_anchored">set_anchored</a></th><td>Sets the anchored var and returns if it was sucessfully changed or not.</td></tr><tr><th><a href="atom/movable.html#proc/set_bark">set_bark</a></th><td>Sets the vocal bark for the atom, using the bark's ID</td></tr><tr><th><a href="atom/movable.html#proc/set_pulledby">set_pulledby</a></th><td>Reports the event of the change in value of the pulledby variable.</td></tr><tr><th><a href="atom/movable.html#proc/throw_at">throw_at</a></th><td>If this returns FALSE then callback will not be called.</td></tr><tr><th><a href="atom/movable.html#proc/update_atom_languages">update_atom_languages</a></th><td>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.</td></tr></table><h2 id="var">Var Details</h2><h3 id="var/blocks_emissive"><aside class="declaration">var </aside>blocks_emissive <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L56"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 56"></a></h3><p>Either FALSE, <a href="code/__DEFINES/lighting.html#define/EMISSIVE_BLOCK_GENERIC" title="EMISSIVE_BLOCK_GENERIC">EMISSIVE_BLOCK_GENERIC</a>, or <a href="code/__DEFINES/lighting.html#define/EMISSIVE_BLOCK_UNIQUE" title="EMISSIVE_BLOCK_UNIQUE">EMISSIVE_BLOCK_UNIQUE</a></p><h3 id="var/can_be_z_moved"><aside class="declaration">var </aside>can_be_z_moved <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L49"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 49"></a></h3><p>Used for space ztransit stuff</p><h3 id="var/em_block"><aside class="declaration">var </aside>em_block <aside> /<a href="atom.html">atom</a>/<a href="atom/movable.html">movable</a>/<a href="atom/movable/emissive_blocker.html">emissive_blocker</a></aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L58"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 58"></a></h3><p>Internal holder for emissive blocker object, do not use directly use blocks_emissive</p><h3 id="var/floating_need_update"><aside class="declaration">var </aside>floating_need_update <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L51"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 51"></a></h3><p>If we were without gravity and another animation happened, the bouncing will stop, and we need to restart it in next life().</p><h3 id="var/generic_canpass"><aside class="declaration">var </aside>generic_canpass <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L31"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 31"></a></h3><p>If false makes CanPass call CanPassThrough on this type instead of using default behaviour</p><h3 id="var/last_yell"><aside class="declaration">var </aside>last_yell <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L65"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 65"></a></h3><p>last time we yelled</p><h3 id="var/movement_type"><aside class="declaration">var </aside>movement_type <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L42"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 42"></a></h3><p>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.</p><h3 id="var/pass_flags"><aside class="declaration">var </aside>pass_flags <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L29"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 29"></a></h3><p>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.</p><h3 id="var/tooltips"><aside class="declaration">var </aside>tooltips <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L61"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 61"></a></h3><p>Should we use tooltips, if the thing does not have the code implemented <code>get_tooltip_data()</code>, it will default to examine(src)</p><h3 id="var/yell_power"><aside class="declaration">var </aside>yell_power <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L63"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 63"></a></h3><p>How loudly we yell</p><h2 id="proc">Proc Details</h2><h3 id="proc/CanPassThrough"><aside class="declaration">proc </aside>CanPassThrough<aside>(/<a href="atom.html">atom</a>/blocker, /<a href="turf.html">turf</a>/target, blocker_opinion) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L504"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 504"></a></aside></h3><p>Returns true or false to allow src to move through the blocker, mover has final say</p><h3 id="proc/Process_Spacemove"><aside class="declaration">proc </aside>Process_Spacemove<aside>(movement_dir) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movement.dm#L301"><img src="git.png" width="16" height="16" title="code/game/atoms_movement.dm 301"></a></aside></h3><p>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 <a href="atom/movable.html#proc/newtonian_move" title="/atom/movable">newtonian_move</a></p>
<p>return FALSE to have src start/keep drifting in a no-grav area and 1 to stop/not start drifting</p>
<p>Mobs should return TRUE if they should be able to move of their own volition, see [/client/proc/Move]</p>
<p>Arguments:</p>
<ul>
<li>movement_dir - 0 when stopping or any dir when trying to move</li>
</ul><h3 id="proc/abstract_move"><aside class="declaration">proc </aside>abstract_move<aside>(/<a href="atom.html">atom</a>/new_loc) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movement.dm#L57"><img src="git.png" width="16" height="16" title="code/game/atoms_movement.dm 57"></a></aside></h3><p>meant for movement with zero side effects. only use for objects that are supposed to move &quot;invisibly&quot; (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()</p><h3 id="proc/add_blocked_language"><aside class="declaration">proc </aside>add_blocked_language<aside>(language, source) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L675"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 675"></a></aside></h3><p>Adds a language to the blocked language list. Use this over remove_language in cases where you will give languages back later.</p><h3 id="proc/admin_teleport"><aside class="declaration">proc </aside>admin_teleport<aside>(/<a href="atom.html">atom</a>/new_location, message) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/admin/verbs/adminjump.dm#L163"><img src="git.png" width="16" height="16" title="code/modules/admin/verbs/adminjump.dm 163"></a></aside></h3><p>Proc to hook user-enacted teleporting behavior and keep logging of the event.</p><h3 id="proc/can_speak_language"><aside class="declaration">proc </aside>can_speak_language<aside>(language) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L690"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 690"></a></aside></h3><p>Checks if atom can speak the language.</p><h3 id="proc/copy_languages"><aside class="declaration">proc </aside>copy_languages<aside>(from_holder, source_override) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L715"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 715"></a></aside></h3><p>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.</p><h3 id="proc/could_speak_language"><aside class="declaration">proc </aside>could_speak_language<aside>(language) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L695"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 695"></a></aside></h3><p>Returns the result of tongue specific limitations on spoken languages.</p><h3 id="proc/forceMove"><aside class="declaration">proc </aside>forceMove<aside>(/<a href="atom.html">atom</a>/destination) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movement.dm#L231"><img src="git.png" width="16" height="16" title="code/game/atoms_movement.dm 231"></a></aside></h3><p>FORCED MOVEMENT</p><h3 id="proc/get_language_holder"><aside class="declaration">proc </aside>get_language_holder<aside>(get_minds) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L649"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 649"></a></aside></h3><p>Gets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one.</p><h3 id="proc/get_random_spoken_language"><aside class="declaration">proc </aside>get_random_spoken_language<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L709"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 709"></a></aside></h3><p>Gets a random spoken language, useful for forced speech and such.</p><h3 id="proc/get_random_understood_language"><aside class="declaration">proc </aside>get_random_understood_language<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L704"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 704"></a></aside></h3><p>Gets a random understood language, useful for hallucinations and such.</p><h3 id="proc/get_selected_language"><aside class="declaration">proc </aside>get_selected_language<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L699"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 699"></a></aside></h3><p>Returns selected language, if it can be spoken, or finds, sets and returns a new selected language if possible.</p><h3 id="proc/get_tooltip_data"><aside class="declaration">proc </aside>get_tooltip_data<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/tooltip/tooltip.dm#L133"><img src="git.png" width="16" height="16" title="code/modules/tooltip/tooltip.dm 133"></a></aside></h3><p>If set, will return a list for the tooltip (that will also be put together in a <code>Join()</code>)
However, if returning <code>null</code>, the tooltip will not be shown as #14942 changed it.</p>
<p>Though no tooltips will be created for atoms that have <code>tooltips = FALSE</code></p><h3 id="proc/grant_all_languages"><aside class="declaration">proc </aside>grant_all_languages<aside>(understood, spoken, grant_omnitongue, source) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L660"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 660"></a></aside></h3><p>Grants every language.</p><h3 id="proc/grant_language"><aside class="declaration">proc </aside>grant_language<aside>(language, understood, spoken, source) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L655"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 655"></a></aside></h3><p>Grants the supplied language and sets omnitongue true.</p><h3 id="proc/has_language"><aside class="declaration">proc </aside>has_language<aside>(language, spoken) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L685"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 685"></a></aside></h3><p>Checks if atom has the language. If spoken is true, only checks if atom can speak the language.</p><h3 id="proc/mouse_buckle_handling"><aside class="declaration">proc </aside>mouse_buckle_handling<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/M, /<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/user) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/buckling.dm#L51"><img src="git.png" width="16" height="16" title="code/game/objects/buckling.dm 51"></a></aside></h3><p>Does some typechecks and then calls user_buckle_mob</p>
<p>Arguments:
M - The mob being buckled to src
user - The mob buckling M to src</p><h3 id="proc/newtonian_move"><aside class="declaration">proc </aside>newtonian_move<aside>(direction) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movement.dm#L320"><img src="git.png" width="16" height="16" title="code/game/atoms_movement.dm 320"></a></aside></h3><p>Only moves the object if it's under no gravity</p><h3 id="proc/on_enter_storage"><aside class="declaration">proc </aside>on_enter_storage<aside>(/<a href="datum.html">datum</a>/<a href="datum/component.html">component</a>/<a href="datum/component/storage.html">storage</a>/concrete/S) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L513"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 513"></a></aside></h3><p>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.</p><h3 id="proc/on_exit_storage"><aside class="declaration">proc </aside>on_exit_storage<aside>(/<a href="datum.html">datum</a>/<a href="datum/component.html">component</a>/<a href="datum/component/storage.html">storage</a>/concrete/S) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L509"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 509"></a></aside></h3><p>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.</p><h3 id="proc/point_at"><aside class="declaration">proc </aside>point_at<aside>(/<a href="atom.html">atom</a>/pointed_atom) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/point/point.dm#L10"><img src="git.png" width="16" height="16" title="code/modules/point/point.dm 10"></a></aside></h3><p>Point at an atom</p>
<p>Intended to enable and standardise the pointing animation for all atoms</p>
<p>Not intended as a replacement for the mob verb</p><h3 id="proc/quoteless_say_quote"><aside class="declaration">proc </aside>quoteless_say_quote<aside>(input, /list/spans, message_mode) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/say.dm#L138"><img src="git.png" width="16" height="16" title="code/game/say.dm 138"></a></aside></h3><p>Quirky citadel proc for our custom sayverbs to strip the verb out. Snowflakey as hell, say rewrite 3.0 when?</p><h3 id="proc/recursive_pulled_glidesize_update"><aside class="declaration">proc </aside>recursive_pulled_glidesize_update<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L322"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 322"></a></aside></h3><p>Recursively set glide size for atom's pulled things</p><h3 id="proc/remove_all_languages"><aside class="declaration">proc </aside>remove_all_languages<aside>(source, remove_omnitongue) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L670"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 670"></a></aside></h3><p>Removes every language and sets omnitongue false.</p><h3 id="proc/remove_blocked_language"><aside class="declaration">proc </aside>remove_blocked_language<aside>(language, source) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L680"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 680"></a></aside></h3><p>Removes a language from the blocked language list.</p><h3 id="proc/remove_language"><aside class="declaration">proc </aside>remove_language<aside>(language, understood, spoken, source) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L665"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 665"></a></aside></h3><p>Removes a single language.</p><h3 id="proc/say_emphasis"><aside class="declaration">proc </aside>say_emphasis<aside>(input) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/say.dm#L128"><img src="git.png" width="16" height="16" title="code/game/say.dm 128"></a></aside></h3><p>Converts specific characters, like +, |, and _ to formatted output.</p><h3 id="proc/setGrabState"><aside class="declaration">proc </aside>setGrabState<aside>(newstate) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L765"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 765"></a></aside></h3><p>Updates the grab state of the movable</p>
<p>This exists to act as a hook for behaviour</p><h3 id="proc/setMovetype"><aside class="declaration">proc </aside>setMovetype<aside>(newval) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movement.dm#L223"><img src="git.png" width="16" height="16" title="code/game/atoms_movement.dm 223"></a></aside></h3><p>Proc to modify the movement_type and hook behavior associated with it changing.</p><h3 id="proc/set_anchored"><aside class="declaration">proc </aside>set_anchored<aside>(anchorvalue) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L367"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 367"></a></aside></h3><p>Sets the anchored var and returns if it was sucessfully changed or not.</p><h3 id="proc/set_bark"><aside class="declaration">proc </aside>set_bark<aside>(id) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L729"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 729"></a></aside></h3><p>Sets the vocal bark for the atom, using the bark's ID</p><h3 id="proc/set_pulledby"><aside class="declaration">proc </aside>set_pulledby<aside>(new_pulledby) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L294"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 294"></a></aside></h3><p>Reports the event of the change in value of the pulledby variable.</p><h3 id="proc/throw_at"><aside class="declaration">proc </aside>throw_at<aside>(/<a href="atom.html">atom</a>/target, range, speed, /<a href="mob.html">mob</a>/thrower, spin, diagonals_first, /<a href="datum.html">datum</a>/<a href="datum/callback.html">callback</a>/callback, force, gentle, quickstart) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L397"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 397"></a></aside></h3><p>If this returns FALSE then callback will not be called.</p><h3 id="proc/update_atom_languages"><aside class="declaration">proc </aside>update_atom_languages<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L724"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 724"></a></aside></h3><p>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.</p></main><footer>tgstation.dme <a href="https://github.com/evilew/GS13-Citadel/tree/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e">e8e0068</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.9.0</a></footer></body></html>