30 lines
30 KiB
HTML
30 lines
30 KiB
HTML
<!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 "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()</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 "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()</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> |