mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 05:27:01 +01:00
136 lines
73 KiB
HTML
136 lines
73 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><link rel="stylesheet" href="dmdoc.css"><title>/atom - Space Station 13</title></head><body><header><a href="index.html">Space Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a> — <a href="atom.html#var">Var Details</a> - <a href="atom.html#proc">Proc Details</a></header><main><h1>atom <aside>/<a href="atom.html">atom</a></aside><aside> inherits /<a href="datum.html">datum</a></aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1"></a></h1><table class="summary" cellspacing="0"><tr><td colspan="2"><h2>Vars</h2></td></tr><tr><th><a href="atom.html#var/ai_controller">ai_controller</a></th><td>AI controller that controls this atom. type on init, then turned into an instance during runtime</td></tr><tr><th><a href="atom.html#var/alternate_appearances">alternate_appearances</a></th><td>The alternate appearances we own. Lazylist</td></tr><tr><th><a href="atom.html#var/attack_info">attack_info</a></th><td>Information about attacks performed on this atom.</td></tr><tr><th><a href="atom.html#var/base_icon_state">base_icon_state</a></th><td>Used for changing icon states for different base sprites.</td></tr><tr><th><a href="atom.html#var/bottom_left_corner">bottom_left_corner</a></th><td>Smoothing variable</td></tr><tr><th><a href="atom.html#var/bottom_right_corner">bottom_right_corner</a></th><td>Smoothing variable</td></tr><tr><th><a href="atom.html#var/bubble_icon">bubble_icon</a></th><td>What icon the mob uses for speechbubbles</td></tr><tr><th><a href="atom.html#var/canSmoothWith">canSmoothWith</a></th><td>List of smoothing groups this atom can smooth with. If this is null and atom is smooth, it smooths only with itself.</td></tr><tr><th><a href="atom.html#var/can_pathfind_pass">can_pathfind_pass</a></th><td>How this atom should react to having its astar blocking checked</td></tr><tr><th><a href="atom.html#var/cares_about_temperature">cares_about_temperature</a></th><td>Do we care about temperature at all? Saves us a ton of proc calls during big fires.</td></tr><tr><th><a href="atom.html#var/chat_color">chat_color</a></th><td>Last color calculated for the the chatmessage overlays. Used for caching.</td></tr><tr><th><a href="atom.html#var/chat_color_name">chat_color_name</a></th><td>Last name used to calculate a color for the chatmessage overlays. Used for caching.</td></tr><tr><th><a href="atom.html#var/drag_start">drag_start</a></th><td>Contains the world.time of when we start dragging something with our mouse. Used to prevent weird situations where you fail to click on something</td></tr><tr><th><a href="atom.html#var/explosion_block">explosion_block</a></th><td>Value used to increment ex_act() if reactionary_explosions is on</td></tr><tr><th><a href="atom.html#var/filter_data">filter_data</a></th><td>For handling persistent filters</td></tr><tr><th><a href="atom.html#var/flags_ricochet">flags_ricochet</a></th><td>how the atom should handle ricochet behavior</td></tr><tr><th><a href="atom.html#var/germ_level">germ_level</a></th><td>The higher the germ level, the more germ on the atom.</td></tr><tr><th><a href="atom.html#var/hud_list">hud_list</a></th><td>This atom's HUD (med/sec, etc) images. Associative list.</td></tr><tr><th><a href="atom.html#var/hud_possible">hud_possible</a></th><td>HUD images that this atom can provide.</td></tr><tr><th><a href="atom.html#var/light_power">light_power</a></th><td>Intensity of the light. Can be negative to remove light</td></tr><tr><th><a href="atom.html#var/managed_overlays">managed_overlays</a></th><td>overlays managed by <a href="atom.html#proc/update_overlays" title="/atom">update_overlays</a> to prevent removing overlays that weren't added by the same proc. Single items are stored on their own, not in a list.</td></tr><tr><th><a href="atom.html#var/managed_vis_overlays">managed_vis_overlays</a></th><td>vis overlays managed by SSvis_overlays to automaticaly turn them like other overlays.</td></tr><tr><th><a href="atom.html#var/map_json_data">map_json_data</a></th><td>This var isn't actually used for anything, but is present so that DM's map reader doesn't forfeit on reading a JSON-serialized map. AKA DO NOT FUCK WITH</td></tr><tr><th><a href="atom.html#var/new_attack_chain">new_attack_chain</a></th><td>Whether this atom is using the new attack chain.</td></tr><tr><th><a href="atom.html#var/pass_flags_self">pass_flags_self</a></th><td>pass_flags that we are. If any of this matches a pass_flag on a moving thing, by default, we let them through.</td></tr><tr><th><a href="atom.html#var/rad_insulation_alpha">rad_insulation_alpha</a></th><td>Radiation insulation for alpha emissions</td></tr><tr><th><a href="atom.html#var/rad_insulation_beta">rad_insulation_beta</a></th><td>Radiation insulation for beta emissions</td></tr><tr><th><a href="atom.html#var/rad_insulation_gamma">rad_insulation_gamma</a></th><td>Radiation insulation for gamma emissions</td></tr><tr><th><a href="atom.html#var/receive_ricochet_chance_mod">receive_ricochet_chance_mod</a></th><td>When a projectile tries to ricochet off this atom, the projectile ricochet chance is multiplied by this</td></tr><tr><th><a href="atom.html#var/receive_ricochet_damage_coeff">receive_ricochet_damage_coeff</a></th><td>When a projectile ricochets off this atom, it deals the normal damage * this modifier to this atom</td></tr><tr><th><a href="atom.html#var/should_spread_blood">should_spread_blood</a></th><td>Will the atom spread blood when touched?</td></tr><tr><th><a href="atom.html#var/simulated">simulated</a></th><td>Filter for actions - used by lighting overlays</td></tr><tr><th><a href="atom.html#var/smoothing_flags">smoothing_flags</a></th><td>Icon-smoothing behavior.</td></tr><tr><th><a href="atom.html#var/smoothing_groups">smoothing_groups</a></th><td>What smoothing groups does this atom belongs to, to match canSmoothWith. If null, nobody can smooth with it.</td></tr><tr><th><a href="atom.html#var/smoothing_junction">smoothing_junction</a></th><td>What directions this is currently smoothing with. IMPORTANT: This uses the smoothing direction flags as defined in icon_smoothing.dm, instead of the BYOND flags.</td></tr><tr><th><a href="atom.html#var/suit_fibers">suit_fibers</a></th><td>List of fibers that this atom has</td></tr><tr><th><a href="atom.html#var/top_left_corner">top_left_corner</a></th><td>Smoothing variable</td></tr><tr><th><a href="atom.html#var/top_right_corner">top_right_corner</a></th><td>Smoothing variable</td></tr><tr><th><a href="atom.html#var/viewing_alternate_appearances">viewing_alternate_appearances</a></th><td>The alternate appearances we're viewing, stored here to reestablish them after Logout()s. Lazylist</td></tr><tr><td colspan="2"><h2>Procs</h2></td></tr><tr><th><a href="atom.html#proc/AltClickNoInteract">AltClickNoInteract</a></th><td>Use this instead of [/mob/proc/AltClickOn] where you only want turf content listing without additional atom alt-click interaction</td></tr><tr><th><a href="atom.html#proc/CanPathfindPass">CanPathfindPass</a></th><td>This proc is used for telling whether something can pass by this atom in a given direction, for use by the pathfinding system.</td></tr><tr><th><a href="atom.html#proc/Exit">Exit</a></th><td>An atom is attempting to exit this atom's contents</td></tr><tr><th><a href="atom.html#proc/Topic">Topic</a></th><td>Passes Stat Browser Panel clicks to the game and calls client click on an atom</td></tr><tr><th><a href="atom.html#proc/acid_act">acid_act</a></th><td>Respond to acid being used on our atom</td></tr><tr><th><a href="atom.html#proc/after_slip">after_slip</a></th><td>Base proc, intended to be overriden.</td></tr><tr><th><a href="atom.html#proc/attack_basic_mob">attack_basic_mob</a></th><td>When a basic mob attacks something, either by AI or user.</td></tr><tr><th><a href="atom.html#proc/attack_by">attack_by</a></th><td>Called when mob <code>user</code> is hitting us with an item <code>attacking</code>.
|
||
Part of the <a href="obj/item.html#proc/melee_attack_chain" title="/obj/item">/obj/item/proc/melee_attack_chain</a>.</td></tr><tr><th><a href="atom.html#proc/attackby__legacy__attackchain">attackby__legacy__attackchain</a></th><td>Called when <code>user</code> attacks us with item <code>W</code>.</td></tr><tr><th><a href="atom.html#proc/attacked_by">attacked_by</a></th><td>Called <em>after</em> we have been attacked with the item <code>attacker</code> by <code>user</code>.</td></tr><tr><th><a href="atom.html#proc/attacked_by__legacy__attackchain">attacked_by__legacy__attackchain</a></th><td>Called after <code>user</code> has attacked us with item <code>W</code>.</td></tr><tr><th><a href="atom.html#proc/base_item_interaction">base_item_interaction</a></th><td></td></tr><tr><th><a href="atom.html#proc/base_rad_act">base_rad_act</a></th><td>Sends a COMSIG_ATOM_RAD_ACT signal, calls the atoms rad_act with the amount of radiation it should have absorbed and returns the rad insulation of the atom that isappropriate for emission_type</td></tr><tr><th><a href="atom.html#proc/base_ranged_item_interaction">base_ranged_item_interaction</a></th><td></td></tr><tr><th><a href="atom.html#proc/bitmask_smooth">bitmask_smooth</a></th><td>Basic smoothing proc. The atom checks for adjacent directions to smooth with and changes the icon_state based on that.</td></tr><tr><th><a href="atom.html#proc/calculate_adjacencies">calculate_adjacencies</a></th><td>Scans all adjacent turfs to find targets to smooth with.</td></tr><tr><th><a href="atom.html#proc/clean_radiation">clean_radiation</a></th><td>Removes some radiation from an atom</td></tr><tr><th><a href="atom.html#proc/contaminate_atom">contaminate_atom</a></th><td>Attempt to contaminate a single atom</td></tr><tr><th><a href="atom.html#proc/contents_ui_distance">contents_ui_distance</a></th><td>public</td></tr><tr><th><a href="atom.html#proc/defile">defile</a></th><td>Begin defile and malfunction on-atom definitions</td></tr><tr><th><a href="atom.html#proc/emag_act">emag_act</a></th><td>This is when an atom is emagged. Should return false if it fails, or it has no emag_act defined.</td></tr><tr><th><a href="atom.html#proc/emp_act">emp_act</a></th><td>Proc which will make the atom act accordingly to an EMP.
|
||
This proc can sleep depending on the implementation. So assume it sleeps!</td></tr><tr><th><a href="atom.html#proc/event_cost">event_cost</a></th><td>Returns the cost of the atom for the event system as a list of all requirements. By default this is just 1 crew.</td></tr><tr><th><a href="atom.html#proc/examine_more">examine_more</a></th><td>Extended description of an object. Allows you to double examine objects and have them give you a second description of an item. Useful for writing flavourful stuff.</td></tr><tr><th><a href="atom.html#proc/find_all_cells_containing">find_all_cells_containing</a></th><td>debug proc for checking if a movable is in multiple cells when it shouldnt be (ie always unless multitile entering is implemented)</td></tr><tr><th><a href="atom.html#proc/find_grid_statistics_for_z_level">find_grid_statistics_for_z_level</a></th><td>debug proc for finding how full the cells of src's z level are</td></tr><tr><th><a href="atom.html#proc/find_type_in_direction">find_type_in_direction</a></th><td>Scans direction to find targets to smooth with.</td></tr><tr><th><a href="atom.html#proc/fire_projectile">fire_projectile</a></th><td>Fire a projectile from this atom at another atom</td></tr><tr><th><a href="atom.html#proc/get_all_contents">get_all_contents</a></th><td>Returns the src and all recursive contents as a list.</td></tr><tr><th><a href="atom.html#proc/get_flock_id">get_flock_id</a></th><td>Returns the name that the flock has given an object. Flavor.</td></tr><tr><th><a href="atom.html#proc/get_orbiters">get_orbiters</a></th><td>Simple helper proc to get a list of everything directly orbiting the current atom, without checking contents, or null if nothing is.</td></tr><tr><th><a href="atom.html#proc/get_orbiters_recursive">get_orbiters_recursive</a></th><td>Recursive getter method to return a list of all ghosts transitively orbiting this atom.
|
||
This will find orbiters either directly orbiting the followed atom, or any orbiters orbiting them (and so on).</td></tr><tr><th><a href="atom.html#proc/get_orbiters_up_hierarchy">get_orbiters_up_hierarchy</a></th><td>Check every object in the hierarchy above ourselves for orbiters, and return the full list of them.
|
||
If an object is being held in a backpack, returns orbiters of the backpack, the person
|
||
If recursive == TRUE, this will also check recursively through any ghosts seen to make sure we find <em>everything</em> upstream</td></tr><tr><th><a href="atom.html#proc/get_oversized_icon_offsets">get_oversized_icon_offsets</a></th><td>Returns an x and y value require to reverse the transformations made to center an oversized icon</td></tr><tr><th><a href="atom.html#proc/get_runechat_color">get_runechat_color</a></th><td>Proc to allow atoms to set their own runechat colour</td></tr><tr><th><a href="atom.html#proc/handle_basic_attack">handle_basic_attack</a></th><td>This exists so stuff can override the default call of attack_animal for attack_basic_mob
|
||
Remove this when simple animals are removed and everything can be handled on attack basic mob.</td></tr><tr><th><a href="atom.html#proc/hit_by_thrown_mob">hit_by_thrown_mob</a></th><td>This proc applies special effects of a carbon mob hitting something, be it a wall, structure, or window. You can set mob_hurt to false to avoid double dipping through subtypes if returning ..()</td></tr><tr><th><a href="atom.html#proc/is_drainable">is_drainable</a></th><td>Is this atom drainable of reagents</td></tr><tr><th><a href="atom.html#proc/is_drawable">is_drawable</a></th><td>Can we draw from this atom with an injectable atom</td></tr><tr><th><a href="atom.html#proc/is_injectable">is_injectable</a></th><td>Is this atom injectable into other atoms</td></tr><tr><th><a href="atom.html#proc/is_open_container">is_open_container</a></th><td>Convenience proc to see if a container is open for chemistry handling</td></tr><tr><th><a href="atom.html#proc/is_refillable">is_refillable</a></th><td>Can this atoms reagents be refilled</td></tr><tr><th><a href="atom.html#proc/item_interaction">item_interaction</a></th><td>Called when this atom has an item used on it.
|
||
IE, a mob is clicking on this atom with an item.</td></tr><tr><th><a href="atom.html#proc/makeHologram">makeHologram</a></th><td>Makes this atom look like a "hologram"
|
||
So transparent, blue, with a scanline and an emissive glow
|
||
This is acomplished using a combination of filters and render steps/overlays
|
||
The degree of the opacity is optional, based off the opacity arg (0 -> 1)</td></tr><tr><th><a href="atom.html#proc/mech_melee_attack">mech_melee_attack</a></th><td>Handle melee attack by a mech</td></tr><tr><th><a href="atom.html#proc/move_camera_by_click">move_camera_by_click</a></th><td>If <code>usr</code> is an AI, set the camera eye's location to the location of the atom clicked.</td></tr><tr><th><a href="atom.html#proc/on_mob_spawn">on_mob_spawn</a></th><td>Used with the spawner component to do something when a mob is spawned.</td></tr><tr><th><a href="atom.html#proc/persistent_load">persistent_load</a></th><td>Atom Persistent Loader</td></tr><tr><th><a href="atom.html#proc/persistent_save">persistent_save</a></th><td>Atom Persistent Saver</td></tr><tr><th><a href="atom.html#proc/rad_act">rad_act</a></th><td>Respond to a radioactive wave hitting this atom</td></tr><tr><th><a href="atom.html#proc/ranged_item_interaction">ranged_item_interaction</a></th><td>Called when this atom has an item used on it from a distance.
|
||
IE, a mob is clicking on this atom with an item and is not adjacent.</td></tr><tr><th><a href="atom.html#proc/ray_filter_helper">ray_filter_helper</a></th><td>Used to create rays on an item. Make sure to removefilter("rays") when done with it</td></tr><tr><th><a href="atom.html#proc/relaydrive">relaydrive</a></th><td>A special case of relaymove() in which the person relaying the move may be "driving" this atom</td></tr><tr><th><a href="atom.html#proc/remove_orbiter">remove_orbiter</a></th><td>Remove an orbiter from the atom it's orbiting.</td></tr><tr><th><a href="atom.html#proc/rename_interactive">rename_interactive</a></th><td></td></tr><tr><th><a href="atom.html#proc/return_analyzable_air">return_analyzable_air</a></th><td>Return the air if we can analyze it</td></tr><tr><th><a href="atom.html#proc/rust_heretic_act">rust_heretic_act</a></th><td>Causes effects when the atom gets hit by a rust effect from heretics</td></tr><tr><th><a href="atom.html#proc/set_opacity">set_opacity</a></th><td>Updates the atom's opacity value.</td></tr><tr><th><a href="atom.html#proc/set_smoothed_icon_state">set_smoothed_icon_state</a></th><td>Changes the icon state based on the new junction bitmask. Returns the old junction value.</td></tr><tr><th><a href="atom.html#proc/shuttleRotate">shuttleRotate</a></th><td>Base proc</td></tr><tr><th><a href="atom.html#proc/storage_depth">storage_depth</a></th><td>Returns the storage depth of an atom up to the area level.</td></tr><tr><th><a href="atom.html#proc/storage_depth_turf">storage_depth_turf</a></th><td>Like <a href="atom.html#proc/storage_depth" title="/atom">/atom/proc/storage_depth</a>, but returns the depth to the nearest turf.</td></tr><tr><th><a href="atom.html#proc/tool_act">tool_act</a></th><td></td></tr><tr><th><a href="atom.html#proc/update_appearance">update_appearance</a></th><td>Updates the appearence of the atom, including text.</td></tr><tr><th><a href="atom.html#proc/update_desc">update_desc</a></th><td>Updates the description of the atom</td></tr><tr><th><a href="atom.html#proc/update_icon">update_icon</a></th><td>Updates the icon and overlays of the atom</td></tr><tr><th><a href="atom.html#proc/update_icon_state">update_icon_state</a></th><td>Updates the icon state of the atom</td></tr><tr><th><a href="atom.html#proc/update_name">update_name</a></th><td>Updates the name of the atom</td></tr><tr><th><a href="atom.html#proc/update_overlays">update_overlays</a></th><td>Updates the managed overlays of the atom</td></tr><tr><th><a href="atom.html#proc/zap_act">zap_act</a></th><td>Respond to an electric bolt action on our item</td></tr></table><h2 id="var">Var Details</h2><h3 id="var/ai_controller"><aside class="declaration">var </aside>ai_controller <aside>– /<a href="datum.html">datum</a>/<a href="datum/ai_controller.html">ai_controller</a></aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L139"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 139"></a></h3><p>AI controller that controls this atom. type on init, then turned into an instance during runtime</p><h3 id="var/alternate_appearances"><aside class="declaration">var </aside>alternate_appearances <aside>– /list</aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L128"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 128"></a></h3><p>The alternate appearances we own. Lazylist</p><h3 id="var/attack_info"><aside class="declaration">var </aside>attack_info <aside>– /<a href="datum.html">datum</a>/<a href="datum/attack_info.html">attack_info</a></aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L141"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 141"></a></h3><p>Information about attacks performed on this atom.</p><h3 id="var/base_icon_state"><aside class="declaration">var </aside>base_icon_state <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L98"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 98"></a></h3><p>Used for changing icon states for different base sprites.</p><h3 id="var/bottom_left_corner"><aside class="declaration">var </aside>bottom_left_corner <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L88"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 88"></a></h3><p>Smoothing variable</p><h3 id="var/bottom_right_corner"><aside class="declaration">var </aside>bottom_right_corner <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L90"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 90"></a></h3><p>Smoothing variable</p><h3 id="var/bubble_icon"><aside class="declaration">var </aside>bubble_icon <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L31"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 31"></a></h3><p>What icon the mob uses for speechbubbles</p><h3 id="var/canSmoothWith"><aside class="declaration">var </aside>canSmoothWith <aside>– /list</aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L94"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 94"></a></h3><p>List of smoothing groups this atom can smooth with. If this is null and atom is smooth, it smooths only with itself.</p><h3 id="var/can_pathfind_pass"><aside class="declaration">var </aside>can_pathfind_pass <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L18"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 18"></a></h3><p>How this atom should react to having its astar blocking checked</p><h3 id="var/cares_about_temperature"><aside class="declaration">var </aside>cares_about_temperature <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L147"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 147"></a></h3><p>Do we care about temperature at all? Saves us a ton of proc calls during big fires.</p><h3 id="var/chat_color"><aside class="declaration">var </aside>chat_color <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L76"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 76"></a></h3><p>Last color calculated for the the chatmessage overlays. Used for caching.</p><h3 id="var/chat_color_name"><aside class="declaration">var </aside>chat_color_name <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L74"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 74"></a></h3><p>Last name used to calculate a color for the chatmessage overlays. Used for caching.</p><h3 id="var/drag_start"><aside class="declaration">var </aside>drag_start <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L132"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 132"></a></h3><p>Contains the world.time of when we start dragging something with our mouse. Used to prevent weird situations where you fail to click on something</p><h3 id="var/explosion_block"><aside class="declaration">var </aside>explosion_block <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L43"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 43"></a></h3><p>Value used to increment ex_act() if reactionary_explosions is on</p><h3 id="var/filter_data"><aside class="declaration">var </aside>filter_data <aside>– /list</aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L13"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 13"></a></h3><p>For handling persistent filters</p><h3 id="var/flags_ricochet"><aside class="declaration">var </aside>flags_ricochet <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L8"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 8"></a></h3><p>how the atom should handle ricochet behavior</p><h3 id="var/germ_level"><aside class="declaration">var </aside>germ_level <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L26"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 26"></a></h3><p>The higher the germ level, the more germ on the atom.</p><h3 id="var/hud_list"><aside class="declaration">var </aside>hud_list <aside>– /list/image</aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L38"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 38"></a></h3><p>This atom's HUD (med/sec, etc) images. Associative list.</p><h3 id="var/hud_possible"><aside class="declaration">var </aside>hud_possible <aside>– /list</aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L40"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 40"></a></h3><p>HUD images that this atom can provide.</p><h3 id="var/light_power"><aside class="declaration">var </aside>light_power <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L106"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 106"></a></h3><p>Intensity of the light. Can be negative to remove light</p><h3 id="var/managed_overlays"><aside class="declaration">var </aside>managed_overlays <aside>– /list</aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L61"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 61"></a></h3><p>overlays managed by <a href="atom.html#proc/update_overlays" title="/atom">update_overlays</a> to prevent removing overlays that weren't added by the same proc. Single items are stored on their own, not in a list.</p><h3 id="var/managed_vis_overlays"><aside class="declaration">var </aside>managed_vis_overlays <aside>– /list</aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L46"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 46"></a></h3><p>vis overlays managed by SSvis_overlays to automaticaly turn them like other overlays.</p><h3 id="var/map_json_data"><aside class="declaration">var </aside>map_json_data <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L100"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 100"></a></h3><p>This var isn't actually used for anything, but is present so that DM's map reader doesn't forfeit on reading a JSON-serialized map. AKA DO NOT FUCK WITH</p><h3 id="var/new_attack_chain"><aside class="declaration">var </aside>new_attack_chain <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L144"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 144"></a></h3><p>Whether this atom is using the new attack chain.</p><h3 id="var/pass_flags_self"><aside class="declaration">var </aside>pass_flags_self <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L16"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 16"></a></h3><p>pass_flags that we are. If any of this matches a pass_flag on a moving thing, by default, we let them through.</p><h3 id="var/rad_insulation_alpha"><aside class="declaration">var </aside>rad_insulation_alpha <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L67"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 67"></a></h3><p>Radiation insulation for alpha emissions</p><h3 id="var/rad_insulation_beta"><aside class="declaration">var </aside>rad_insulation_beta <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L69"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 69"></a></h3><p>Radiation insulation for beta emissions</p><h3 id="var/rad_insulation_gamma"><aside class="declaration">var </aside>rad_insulation_gamma <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L71"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 71"></a></h3><p>Radiation insulation for gamma emissions</p><h3 id="var/receive_ricochet_chance_mod"><aside class="declaration">var </aside>receive_ricochet_chance_mod <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L135"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 135"></a></h3><p>When a projectile tries to ricochet off this atom, the projectile ricochet chance is multiplied by this</p><h3 id="var/receive_ricochet_damage_coeff"><aside class="declaration">var </aside>receive_ricochet_damage_coeff <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L137"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 137"></a></h3><p>When a projectile ricochets off this atom, it deals the normal damage * this modifier to this atom</p><h3 id="var/should_spread_blood"><aside class="declaration">var </aside>should_spread_blood <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L23"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 23"></a></h3><p>Will the atom spread blood when touched?</p><h3 id="var/simulated"><aside class="declaration">var </aside>simulated <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L28"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 28"></a></h3><p>Filter for actions - used by lighting overlays</p><h3 id="var/smoothing_flags"><aside class="declaration">var </aside>smoothing_flags <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L82"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 82"></a></h3><p>Icon-smoothing behavior.</p><h3 id="var/smoothing_groups"><aside class="declaration">var </aside>smoothing_groups <aside>– /list</aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L92"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 92"></a></h3><p>What smoothing groups does this atom belongs to, to match canSmoothWith. If null, nobody can smooth with it.</p><h3 id="var/smoothing_junction"><aside class="declaration">var </aside>smoothing_junction <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L96"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 96"></a></h3><p>What directions this is currently smoothing with. IMPORTANT: This uses the smoothing direction flags as defined in icon_smoothing.dm, instead of the BYOND flags.</p><h3 id="var/suit_fibers"><aside class="declaration">var </aside>suit_fibers <aside>– /list</aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L51"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 51"></a></h3><p>List of fibers that this atom has</p><h3 id="var/top_left_corner"><aside class="declaration">var </aside>top_left_corner <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L84"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 84"></a></h3><p>Smoothing variable</p><h3 id="var/top_right_corner"><aside class="declaration">var </aside>top_right_corner <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L86"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 86"></a></h3><p>Smoothing variable</p><h3 id="var/viewing_alternate_appearances"><aside class="declaration">var </aside>viewing_alternate_appearances <aside>– /list</aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L130"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 130"></a></h3><p>The alternate appearances we're viewing, stored here to reestablish them after Logout()s. Lazylist</p><h2 id="proc">Proc Details</h2><h3 id="proc/AltClickNoInteract"><aside class="declaration">proc </aside>AltClickNoInteract<aside>(/<a href="mob.html">mob</a>/user, /<a href="atom.html">atom</a>/A) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/_onclick/click.dm#L410"><img src="git.png" width="16" height="16" title="code/_onclick/click.dm 410"></a></aside></h3><p>Use this instead of [/mob/proc/AltClickOn] where you only want turf content listing without additional atom alt-click interaction</p><h3 id="proc/CanPathfindPass"><aside class="declaration">proc </aside>CanPathfindPass<aside>(to_dir, /<a href="datum.html">datum</a>/<a href="datum/can_pass_info.html">can_pass_info</a>/pass_info) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1450"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1450"></a></aside></h3><p>This proc is used for telling whether something can pass by this atom in a given direction, for use by the pathfinding system.</p>
|
||
<p>Trying to generate one long path across the station will call this proc on every single object on every single tile that we're seeing if we can move through, likely
|
||
multiple times per tile since we're likely checking if we can access said tile from multiple directions, so keep these as lightweight as possible.</p>
|
||
<p>For turfs this will only be used if pathing_pass_method is TURF_PATHING_PASS_PROC</p>
|
||
<p>Arguments:</p>
|
||
<ul>
|
||
<li>to_dir - What direction we're trying to move in, relevant for things like directional windows that only block movement in certain directions</li>
|
||
<li>pass_info - Datum that stores info about the thing that's trying to pass us</li>
|
||
</ul>
|
||
<p>IMPORTANT NOTE: /turf/proc/LinkBlockedWithAccess assumes that overrides of CanPathfindPass will always return true if density is FALSE
|
||
If this is NOT you, ensure you edit your can_pathfind_pass variable. Check __DEFINES/path.dm</p><h3 id="proc/Exit"><aside class="declaration">proc </aside>Exit<aside>(/<a href="atom.html">atom</a>/<a href="atom/movable.html">movable</a>/leaving, direction) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1281"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1281"></a></aside></h3><p>An atom is attempting to exit this atom's contents</p>
|
||
<p>Default behaviour is to send the <a href="code/__DEFINES/dcs/atom_signals.html#define/COMSIG_ATOM_EXIT" title="COMSIG_ATOM_EXIT">COMSIG_ATOM_EXIT</a></p><h3 id="proc/Topic">Topic<aside>(href, /list/href_list) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1460"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1460"></a></aside></h3><p>Passes Stat Browser Panel clicks to the game and calls client click on an atom</p><h3 id="proc/acid_act"><aside class="declaration">proc </aside>acid_act<aside>(acidpwr, acid_volume) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1204"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1204"></a></aside></h3><p>Respond to acid being used on our atom</p>
|
||
<p>Default behaviour is to send COMSIG_ATOM_ACID_ACT and return</p><h3 id="proc/after_slip"><aside class="declaration">proc </aside>after_slip<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/<a href="mob/living/carbon.html">carbon</a>/<a href="mob/living/carbon/human.html">human</a>/H) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L782"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 782"></a></aside></h3><p>Base proc, intended to be overriden.</p>
|
||
<p>This should only be called from one place: inside the slippery component.
|
||
Called after a human mob slips on this atom.</p>
|
||
<p>If you want the person who slipped to have something special done to them, put it here.</p><h3 id="proc/attack_basic_mob"><aside class="declaration">proc </aside>attack_basic_mob<aside>(/<a href="mob.html">mob</a>/user, /list/modifiers) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/_onclick/other_mobs.dm#L83"><img src="git.png" width="16" height="16" title="code/_onclick/other_mobs.dm 83"></a></aside></h3><p>When a basic mob attacks something, either by AI or user.</p><h3 id="proc/attack_by"><aside class="declaration">proc </aside>attack_by<aside>(/<a href="obj.html">obj</a>/<a href="obj/item.html">item</a>/attacking, /<a href="mob.html">mob</a>/user, params) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/_onclick/item_attack.dm#L98"><img src="git.png" width="16" height="16" title="code/_onclick/item_attack.dm 98"></a></aside></h3><p>Called when mob <code>user</code> is hitting us with an item <code>attacking</code>.
|
||
Part of the <a href="obj/item.html#proc/melee_attack_chain" title="/obj/item">/obj/item/proc/melee_attack_chain</a>.</p>
|
||
<p>Handles calling [/atom/proc/attack] or <a href="obj/item.html#proc/attack_obj" title="/obj/item">/obj/item/proc/attack_obj</a> as necessary.</p>
|
||
<p>Arguments:</p>
|
||
<ul>
|
||
<li>obj/item/attacking_item - The item hitting this atom</li>
|
||
<li>mob/user - The wielder of this item</li>
|
||
<li>params - click params such as alt/shift etc</li>
|
||
</ul>
|
||
<p>Handles <a href="code/__DEFINES/dcs/attack_chain_signals.html#define/COMSIG_ATTACK_BY" title="COMSIG_ATTACK_BY">COMSIG_ATTACK_BY</a> returning <a href="code/__DEFINES/dcs/attack_chain_signals.html#define/COMPONENT_SKIP_AFTERATTACK" title="COMPONENT_SKIP_AFTERATTACK">COMPONENT_SKIP_AFTERATTACK</a>.
|
||
Returns <a href="code/__DEFINES/dcs/attack_chain_signals.html#define/FINISH_ATTACK" title="FINISH_ATTACK">FINISH_ATTACK</a> if the attack chain should stop here.</p><h3 id="proc/attackby__legacy__attackchain"><aside class="declaration">proc </aside>attackby__legacy__attackchain<aside>(/<a href="obj.html">obj</a>/<a href="obj/item.html">item</a>/W, /<a href="mob.html">mob</a>/user, params) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/_onclick/item_attack_legacy.dm#L35"><img src="git.png" width="16" height="16" title="code/_onclick/item_attack_legacy.dm 35"></a></aside></h3><p>Called when <code>user</code> attacks us with item <code>W</code>.</p>
|
||
<p>Handles <a href="code/__DEFINES/dcs/attack_chain_signals.html#define/COMSIG_ATTACK_BY" title="COMSIG_ATTACK_BY">COMSIG_ATTACK_BY</a> returning <a href="code/__DEFINES/dcs/attack_chain_signals.html#define/COMPONENT_SKIP_AFTERATTACK" title="COMPONENT_SKIP_AFTERATTACK">COMPONENT_SKIP_AFTERATTACK</a>.
|
||
Returns TRUE if afterattack should not be called, FALSE otherwise.</p>
|
||
<p>New uses of this proc are prohibited! Use [/atom/proc/attackby] or <a href="atom.html#proc/base_item_interaction" title="/atom">/atom/proc/base_item_interaction</a> instead!
|
||
If you are modifiying an existing implementation of this proc, it is expected that you replace it with the proper alternative!</p><h3 id="proc/attacked_by"><aside class="declaration">proc </aside>attacked_by<aside>(/<a href="obj.html">obj</a>/<a href="obj/item.html">item</a>/attacker, /<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/user) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/_onclick/item_attack.dm#L223"><img src="git.png" width="16" height="16" title="code/_onclick/item_attack.dm 223"></a></aside></h3><p>Called <em>after</em> we have been attacked with the item <code>attacker</code> by <code>user</code>.</p>
|
||
<p>Return value is ignored for purposes of the attack chain.</p><h3 id="proc/attacked_by__legacy__attackchain"><aside class="declaration">proc </aside>attacked_by__legacy__attackchain<aside>(/<a href="obj.html">obj</a>/<a href="obj/item.html">item</a>/W, /<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/user) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/_onclick/item_attack_legacy.dm#L7"><img src="git.png" width="16" height="16" title="code/_onclick/item_attack_legacy.dm 7"></a></aside></h3><p>Called after <code>user</code> has attacked us with item <code>W</code>.</p>
|
||
<p>New uses of this proc are prohibited! Used <a href="atom.html#proc/attacked_by" title="/atom">/atom/proc/attacked_by</a>.
|
||
If you are modifiying an existing implementation of this proc, it is expected that you replace it with the proper alternative!</p><h3 id="proc/base_item_interaction"><aside class="declaration">proc </aside>base_item_interaction<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/user, /<a href="obj.html">obj</a>/<a href="obj/item.html">item</a>/tool, /list/modifiers) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atom/atom_tool_acts.dm#L8"><img src="git.png" width="16" height="16" title="code/game/atom/atom_tool_acts.dm 8"></a></aside></h3><h2 id="item-interaction">Item interaction</h2>
|
||
<p>Handles non-combat iteractions of a tool on this atom,
|
||
such as using a tool on a wall to deconstruct it,
|
||
or scanning someone with a health analyzer</p><h3 id="proc/base_rad_act"><aside class="declaration">proc </aside>base_rad_act<aside>(/<a href="atom.html">atom</a>/source, amount, emission_type) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L659"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 659"></a></aside></h3><p>Sends a COMSIG_ATOM_RAD_ACT signal, calls the atoms rad_act with the amount of radiation it should have absorbed and returns the rad insulation of the atom that isappropriate for emission_type</p><h3 id="proc/base_ranged_item_interaction"><aside class="declaration">proc </aside>base_ranged_item_interaction<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/user, /<a href="obj.html">obj</a>/<a href="obj/item.html">item</a>/tool, params) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atom/atom_tool_acts.dm#L126"><img src="git.png" width="16" height="16" title="code/game/atom/atom_tool_acts.dm 126"></a></aside></h3><h2 id="ranged-item-interaction">Ranged item interaction</h2>
|
||
<p>Handles non-combat ranged interactions of a tool on this atom,
|
||
such as shooting a gun in the direction of someone*,
|
||
having a scanner you can point at someone to scan them at any distance,
|
||
or pointing a laser pointer at something.</p>
|
||
<p>*While this intuitively sounds combat related, it is not,
|
||
because a "combat use" of a gun is gun-butting.</p><h3 id="proc/bitmask_smooth"><aside class="declaration">proc </aside>bitmask_smooth<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/__HELPERS/icon_smoothing.dm#L309"><img src="git.png" width="16" height="16" title="code/__HELPERS/icon_smoothing.dm 309"></a></aside></h3><p>Basic smoothing proc. The atom checks for adjacent directions to smooth with and changes the icon_state based on that.</p>
|
||
<p>Returns the previous smoothing_junction state so the previous state can be compared with the new one after the proc ends, and see the changes, if any.</p>
|
||
<p>Objects override this to prevent unanchored objects from smoothing, see /obj/bitmask_smooth()</p><h3 id="proc/calculate_adjacencies"><aside class="declaration">proc </aside>calculate_adjacencies<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/__HELPERS/icon_smoothing.dm#L97"><img src="git.png" width="16" height="16" title="code/__HELPERS/icon_smoothing.dm 97"></a></aside></h3><p>Scans all adjacent turfs to find targets to smooth with.</p><h3 id="proc/clean_radiation"><aside class="declaration">proc </aside>clean_radiation<aside>(clean_factor) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1064"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1064"></a></aside></h3><p>Removes some radiation from an atom</p>
|
||
<p>Removes a configurable amount of radiation from an atom
|
||
and stops green glow if radiation gets low enough through it.
|
||
Arguments:</p>
|
||
<ul>
|
||
<li>clean_factor - How much radiation to remove, as a multiple of RAD_BACKGROUND_RADIATION (currently 9)</li>
|
||
</ul><h3 id="proc/contaminate_atom"><aside class="declaration">proc </aside>contaminate_atom<aside>(/<a href="atom.html">atom</a>/source, intensity, emission_type) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L672"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 672"></a></aside></h3><p>Attempt to contaminate a single atom</p><h3 id="proc/contents_ui_distance"><aside class="declaration">proc </aside>contents_ui_distance<aside>(src_object, /<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/user) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/states.dm#L98"><img src="git.png" width="16" height="16" title="code/modules/tgui/states.dm 98"></a></aside></h3><p>public</p>
|
||
<p>Check the distance for a living mob.
|
||
Really only used for checks outside the context of a mob.
|
||
Otherwise, use shared_living_ui_distance().</p>
|
||
<p>required src_object The object which owns the UI.
|
||
required user mob The mob who opened/is using the UI.</p>
|
||
<p>return UI_state The state of the UI.</p><h3 id="proc/defile"><aside class="declaration">proc </aside>defile<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/mob/living/basic/hostile/revenant/revenant_abilities.dm#L424"><img src="git.png" width="16" height="16" title="code/modules/mob/living/basic/hostile/revenant/revenant_abilities.dm 424"></a></aside></h3><p>Begin defile and malfunction on-atom definitions</p><h3 id="proc/emag_act"><aside class="declaration">proc </aside>emag_act<aside>(/<a href="mob.html">mob</a>/user) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L635"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 635"></a></aside></h3><p>This is when an atom is emagged. Should return false if it fails, or it has no emag_act defined.</p><h3 id="proc/emp_act"><aside class="declaration">proc </aside>emp_act<aside>(severity) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L378"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 378"></a></aside></h3><p>Proc which will make the atom act accordingly to an EMP.
|
||
This proc can sleep depending on the implementation. So assume it sleeps!</p>
|
||
<p>severity - The severity of the EMP. Either EMP_HEAVY, EMP_LIGHT, or EMP_WEAKENED</p><h3 id="proc/event_cost"><aside class="declaration">proc </aside>event_cost<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1573"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1573"></a></aside></h3><p>Returns the cost of the atom for the event system as a list of all requirements. By default this is just 1 crew.</p><h3 id="proc/examine_more"><aside class="declaration">proc </aside>examine_more<aside>(/<a href="mob.html">mob</a>/user) <span class="as"> as </span>/list <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L494"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 494"></a></aside></h3><p>Extended description of an object. Allows you to double examine objects and have them give you a second description of an item. Useful for writing flavourful stuff.</p><h3 id="proc/find_all_cells_containing"><aside class="declaration">proc </aside>find_all_cells_containing<aside>(remove_from_cells) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/controllers/subsystem/non_firing/SSspatial_grid.dm#L612"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/non_firing/SSspatial_grid.dm 612"></a></aside></h3><p>debug proc for checking if a movable is in multiple cells when it shouldnt be (ie always unless multitile entering is implemented)</p><h3 id="proc/find_grid_statistics_for_z_level"><aside class="declaration">proc </aside>find_grid_statistics_for_z_level<aside>(insert_clients) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/controllers/subsystem/non_firing/SSspatial_grid.dm#L673"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/non_firing/SSspatial_grid.dm 673"></a></aside></h3><p>debug proc for finding how full the cells of src's z level are</p><h3 id="proc/find_type_in_direction"><aside class="declaration">proc </aside>find_type_in_direction<aside>(direction) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/__HELPERS/icon_smoothing.dm#L273"><img src="git.png" width="16" height="16" title="code/__HELPERS/icon_smoothing.dm 273"></a></aside></h3><p>Scans direction to find targets to smooth with.</p><h3 id="proc/fire_projectile"><aside class="declaration">proc </aside>fire_projectile<aside>(projectile_type, /<a href="atom.html">atom</a>/target, sound, firer, /list/ignore_targets) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/projectiles/projectile_base.dm#L649"><img src="git.png" width="16" height="16" title="code/modules/projectiles/projectile_base.dm 649"></a></aside></h3><p>Fire a projectile from this atom at another atom</p><h3 id="proc/get_all_contents"><aside class="declaration">proc </aside>get_all_contents<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1521"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1521"></a></aside></h3><p>Returns the src and all recursive contents as a list.</p><h3 id="proc/get_flock_id"><aside class="declaration">proc </aside>get_flock_id<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/antagonists/flockmind/flock_hooks.dm#L2"><img src="git.png" width="16" height="16" title="code/modules/antagonists/flockmind/flock_hooks.dm 2"></a></aside></h3><p>Returns the name that the flock has given an object. Flavor.</p><h3 id="proc/get_orbiters"><aside class="declaration">proc </aside>get_orbiters<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/datums/components/orbiter.dm#L415"><img src="git.png" width="16" height="16" title="code/datums/components/orbiter.dm 415"></a></aside></h3><p>Simple helper proc to get a list of everything directly orbiting the current atom, without checking contents, or null if nothing is.</p><h3 id="proc/get_orbiters_recursive"><aside class="declaration">proc </aside>get_orbiters_recursive<aside>(/list/processed, source) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/datums/components/orbiter.dm#L436"><img src="git.png" width="16" height="16" title="code/datums/components/orbiter.dm 436"></a></aside></h3><p>Recursive getter method to return a list of all ghosts transitively orbiting this atom.
|
||
This will find orbiters either directly orbiting the followed atom, or any orbiters orbiting them (and so on).</p>
|
||
<p>This shouldn't be passed arugments.</p><h3 id="proc/get_orbiters_up_hierarchy"><aside class="declaration">proc </aside>get_orbiters_up_hierarchy<aside>(/list/processed, source, recursive) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/datums/components/orbiter.dm#L456"><img src="git.png" width="16" height="16" title="code/datums/components/orbiter.dm 456"></a></aside></h3><p>Check every object in the hierarchy above ourselves for orbiters, and return the full list of them.
|
||
If an object is being held in a backpack, returns orbiters of the backpack, the person
|
||
If recursive == TRUE, this will also check recursively through any ghosts seen to make sure we find <em>everything</em> upstream</p><h3 id="proc/get_oversized_icon_offsets"><aside class="declaration">proc </aside>get_oversized_icon_offsets<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/__HELPERS/iconprocs.dm#L540"><img src="git.png" width="16" height="16" title="code/__HELPERS/iconprocs.dm 540"></a></aside></h3><p>Returns an x and y value require to reverse the transformations made to center an oversized icon</p><h3 id="proc/get_runechat_color"><aside class="declaration">proc </aside>get_runechat_color<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/datums/chatmessage.dm#L332"><img src="git.png" width="16" height="16" title="code/datums/chatmessage.dm 332"></a></aside></h3><p>Proc to allow atoms to set their own runechat colour</p>
|
||
<p>This is a proc designed to be overridden in places if you want a specific atom to use a specific runechat colour
|
||
Exampls include consoles using a colour based on their screen colour, and mobs using a colour based off of a customisation property</p><h3 id="proc/handle_basic_attack"><aside class="declaration">proc </aside>handle_basic_attack<aside>(user, modifiers) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/_onclick/other_mobs.dm#L91"><img src="git.png" width="16" height="16" title="code/_onclick/other_mobs.dm 91"></a></aside></h3><p>This exists so stuff can override the default call of attack_animal for attack_basic_mob
|
||
Remove this when simple animals are removed and everything can be handled on attack basic mob.</p><h3 id="proc/hit_by_thrown_mob"><aside class="declaration">proc </aside>hit_by_thrown_mob<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/C, /<a href="datum.html">datum</a>/<a href="datum/thrownthing.html">thrownthing</a>/throwingdatum, damage, mob_hurt, self_hurt) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L694"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 694"></a></aside></h3><p>This proc applies special effects of a carbon mob hitting something, be it a wall, structure, or window. You can set mob_hurt to false to avoid double dipping through subtypes if returning ..()</p><h3 id="proc/is_drainable"><aside class="declaration">proc </aside>is_drainable<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L366"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 366"></a></aside></h3><p>Is this atom drainable of reagents</p><h3 id="proc/is_drawable"><aside class="declaration">proc </aside>is_drawable<aside>(/<a href="mob.html">mob</a>/user, allowmobs) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L358"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 358"></a></aside></h3><p>Can we draw from this atom with an injectable atom</p><h3 id="proc/is_injectable"><aside class="declaration">proc </aside>is_injectable<aside>(/<a href="mob.html">mob</a>/user, allowmobs) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L354"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 354"></a></aside></h3><p>Is this atom injectable into other atoms</p><h3 id="proc/is_open_container"><aside class="declaration">proc </aside>is_open_container<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L350"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 350"></a></aside></h3><p>Convenience proc to see if a container is open for chemistry handling</p><h3 id="proc/is_refillable"><aside class="declaration">proc </aside>is_refillable<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L362"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 362"></a></aside></h3><p>Can this atoms reagents be refilled</p><h3 id="proc/item_interaction"><aside class="declaration">proc </aside>item_interaction<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/user, /<a href="obj.html">obj</a>/<a href="obj/item.html">item</a>/used, /list/modifiers) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atom/atom_tool_acts.dm#L102"><img src="git.png" width="16" height="16" title="code/game/atom/atom_tool_acts.dm 102"></a></aside></h3><p>Called when this atom has an item used on it.
|
||
IE, a mob is clicking on this atom with an item.</p>
|
||
<p>Return an ITEM_INTERACT_ flag in the event the interaction was handled, to cancel further interaction code.
|
||
Return NONE to allow default interaction / tool handling.</p><h3 id="proc/makeHologram"><aside class="declaration">proc </aside>makeHologram<aside>(opacity) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/mod/mod_link.dm#L18"><img src="git.png" width="16" height="16" title="code/modules/mod/mod_link.dm 18"></a></aside></h3><p>Makes this atom look like a "hologram"
|
||
So transparent, blue, with a scanline and an emissive glow
|
||
This is acomplished using a combination of filters and render steps/overlays
|
||
The degree of the opacity is optional, based off the opacity arg (0 -> 1)</p><h3 id="proc/mech_melee_attack"><aside class="declaration">proc </aside>mech_melee_attack<aside>(/<a href="obj.html">obj</a>/<a href="obj/mecha.html">mecha</a>/M) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L308"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 308"></a></aside></h3><p>Handle melee attack by a mech</p><h3 id="proc/move_camera_by_click"><aside class="declaration">proc </aside>move_camera_by_click<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/mob/camera/eye.dm#L108"><img src="git.png" width="16" height="16" title="code/modules/mob/camera/eye.dm 108"></a></aside></h3><p>If <code>usr</code> is an AI, set the camera eye's location to the location of the atom clicked.</p><h3 id="proc/on_mob_spawn"><aside class="declaration">proc </aside>on_mob_spawn<aside>(/<a href="mob.html">mob</a>/created_mob) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1517"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1517"></a></aside></h3><p>Used with the spawner component to do something when a mob is spawned.</p><h3 id="proc/persistent_load"><aside class="declaration">proc </aside>persistent_load<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/controllers/subsystem/non_firing/SSpersistent_data.dm#L57"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/non_firing/SSpersistent_data.dm 57"></a></aside></h3><p>Atom Persistent Loader</p>
|
||
<p>Overridden on every atom which needs to load persistent data</p><h3 id="proc/persistent_save"><aside class="declaration">proc </aside>persistent_save<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/controllers/subsystem/non_firing/SSpersistent_data.dm#L65"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/non_firing/SSpersistent_data.dm 65"></a></aside></h3><p>Atom Persistent Saver</p>
|
||
<p>Overridden on every atom which needs to save persistent data</p><h3 id="proc/rad_act"><aside class="declaration">proc </aside>rad_act<aside>(/<a href="atom.html">atom</a>/source, amount, emission_type) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L653"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 653"></a></aside></h3><p>Respond to a radioactive wave hitting this atom</p>
|
||
<p>This should only be called through the atom/base_rad_act proc</p><h3 id="proc/ranged_item_interaction"><aside class="declaration">proc </aside>ranged_item_interaction<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/user, /<a href="obj.html">obj</a>/<a href="obj/item.html">item</a>/tool, /list/modifiers) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atom/atom_tool_acts.dm#L157"><img src="git.png" width="16" height="16" title="code/game/atom/atom_tool_acts.dm 157"></a></aside></h3><p>Called when this atom has an item used on it from a distance.
|
||
IE, a mob is clicking on this atom with an item and is not adjacent.</p>
|
||
<p>Does NOT include Telekinesis users, they are considered adjacent generally.</p>
|
||
<p>Return an ITEM_INTERACT_ flag in the event the interaction was handled, to cancel further interaction code.</p><h3 id="proc/ray_filter_helper"><aside class="declaration">proc </aside>ray_filter_helper<aside>(_priority, _size, _color, _factor, _density, _y) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/__HELPERS/filters.dm#L321"><img src="git.png" width="16" height="16" title="code/__HELPERS/filters.dm 321"></a></aside></h3><p>Used to create rays on an item. Make sure to removefilter("rays") when done with it</p><h3 id="proc/relaydrive"><aside class="declaration">proc </aside>relaydrive<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/user, direction) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1496"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1496"></a></aside></h3><p>A special case of relaymove() in which the person relaying the move may be "driving" this atom</p>
|
||
<p>This is a special case for vehicles and ridden animals where the relayed movement may be handled
|
||
by the riding component attached to this atom. Returns TRUE as long as there's nothing blocking
|
||
the movement, or FALSE if the signal gets a reply that specifically blocks the movement</p><h3 id="proc/remove_orbiter"><aside class="declaration">proc </aside>remove_orbiter<aside>(/<a href="atom.html">atom</a>/<a href="atom/movable.html">movable</a>/orbiter) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/datums/components/orbiter.dm#L425"><img src="git.png" width="16" height="16" title="code/datums/components/orbiter.dm 425"></a></aside></h3><p>Remove an orbiter from the atom it's orbiting.</p><h3 id="proc/rename_interactive"><aside class="declaration">proc </aside>rename_interactive<aside>(/<a href="mob.html">mob</a>/user, /<a href="obj.html">obj</a>/implement, use_prefix, actually_rename, prompt) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1356"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1356"></a></aside></h3><ul>
|
||
<li>
|
||
<p>Call this when you want to present a renaming prompt to the user.</p>
|
||
<p>It's a simple proc, but handles annoying edge cases such as forgetting to add a "cancel" button,
|
||
or being able to rename stuff remotely.</p>
|
||
<p>Arguments:</p>
|
||
<ul>
|
||
<li>user - the renamer.</li>
|
||
<li>implement - the tool doing the renaming (usually, a pen).</li>
|
||
<li>use_prefix - whether the new name should follow the format of "thing - user-given label" or
|
||
if we allow to change the name completely arbitrarily.</li>
|
||
<li>actually_rename - whether we want to really change the <code>src.name</code>, or if we want to do everything <em>except</em> that.</li>
|
||
<li>prompt - a custom "what do you want rename this thing to be?" prompt shown in the inpit box.</li>
|
||
</ul>
|
||
<p>Returns: Either null if the renaming was aborted, or the user-provided sanitized string.</p>
|
||
</li>
|
||
</ul><h3 id="proc/return_analyzable_air"><aside class="declaration">proc </aside>return_analyzable_air<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L333"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 333"></a></aside></h3><p>Return the air if we can analyze it</p><h3 id="proc/rust_heretic_act"><aside class="declaration">proc </aside>rust_heretic_act<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1505"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1505"></a></aside></h3><p>Causes effects when the atom gets hit by a rust effect from heretics</p>
|
||
<p>Override this if you want custom behaviour in whatever gets hit by the rust
|
||
/turf/rust_turf should be used instead for overriding rust on turfs</p><h3 id="proc/set_opacity"><aside class="declaration">proc </aside>set_opacity<aside>(new_opacity) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/lighting/lighting_atom.dm#L57"><img src="git.png" width="16" height="16" title="code/modules/lighting/lighting_atom.dm 57"></a></aside></h3><p>Updates the atom's opacity value.</p>
|
||
<p>This exists to act as a hook for associated behavior.
|
||
It notifies (potentially) affected light sources so they can update (if needed).</p><h3 id="proc/set_smoothed_icon_state"><aside class="declaration">proc </aside>set_smoothed_icon_state<aside>(new_junction) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/__HELPERS/icon_smoothing.dm#L342"><img src="git.png" width="16" height="16" title="code/__HELPERS/icon_smoothing.dm 342"></a></aside></h3><p>Changes the icon state based on the new junction bitmask. Returns the old junction value.</p><h3 id="proc/shuttleRotate"><aside class="declaration">proc </aside>shuttleRotate<aside>(rotation, params) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/shuttle/shuttle_rotate.dm#L8"><img src="git.png" width="16" height="16" title="code/modules/shuttle/shuttle_rotate.dm 8"></a></aside></h3><p>Base proc</p><h3 id="proc/storage_depth"><aside class="declaration">proc </aside>storage_depth<aside>(/<a href="atom.html">atom</a>/container) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/objects/items/storage/storage_base.dm#L710"><img src="git.png" width="16" height="16" title="code/game/objects/items/storage/storage_base.dm 710"></a></aside></h3><p>Returns the storage depth of an atom up to the area level.</p>
|
||
<p>The storage depth is the number of storage items the atom is contained in.
|
||
Returns <code>-1</code> if the atom was not found in a container.</p><h3 id="proc/storage_depth_turf"><aside class="declaration">proc </aside>storage_depth_turf<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/objects/items/storage/storage_base.dm#L731"><img src="git.png" width="16" height="16" title="code/game/objects/items/storage/storage_base.dm 731"></a></aside></h3><p>Like <a href="atom.html#proc/storage_depth" title="/atom">/atom/proc/storage_depth</a>, but returns the depth to the nearest turf.</p>
|
||
<p>Returns <code>-1</code> if there's no top level turf. (A loc was null somewhere, or a non-turf atom's loc was an area somehow.)</p><h3 id="proc/tool_act"><aside class="declaration">proc </aside>tool_act<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/user, /<a href="obj.html">obj</a>/<a href="obj/item.html">item</a>/tool, /list/modifiers) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atom/atom_tool_acts.dm#L61"><img src="git.png" width="16" height="16" title="code/game/atom/atom_tool_acts.dm 61"></a></aside></h3><h2 id="tool-act">Tool Act</h2>
|
||
<p>Handles using specific tools on this atom directly.</p>
|
||
<p>Handles the tool_acts in particular, such as wrenches and screwdrivers.</p>
|
||
<p>This can be overriden to handle unique "tool interactions"
|
||
IE using an item like a tool (when it's not actually one)
|
||
but otherwise does nothing that [item_interaction] doesn't already do.</p>
|
||
<p>In other words, use sparingly. It's harder to use (correctly) than [item_interaction].</p><h3 id="proc/update_appearance"><aside class="declaration">proc </aside>update_appearance<aside>(updates) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L510"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 510"></a></aside></h3><p>Updates the appearence of the atom, including text.</p>
|
||
<p>Mostly delegates to update_name, update_desc, and update_icon</p>
|
||
<p>Arguments:</p>
|
||
<ul>
|
||
<li>updates: A set of bitflags dictating what should be updated. Defaults to [ALL]</li>
|
||
</ul>
|
||
<p>Supported bitflags: UPDATE_NAME, UPDATE_DESC, UPDATE_ICON</p><h3 id="proc/update_desc"><aside class="declaration">proc </aside>update_desc<aside>(updates) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L530"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 530"></a></aside></h3><p>Updates the description of the atom</p><h3 id="proc/update_icon"><aside class="declaration">proc </aside>update_icon<aside>(updates) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L545"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 545"></a></aside></h3><p>Updates the icon and overlays of the atom</p>
|
||
<p>Mostly delegates to update_icon_state and update_overlays</p>
|
||
<p>Arguments:</p>
|
||
<ul>
|
||
<li>updates: A set of bitflags dictating what should be updated. Defaults to [ALL]</li>
|
||
</ul>
|
||
<p>Supported bitflags: UPDATE_ICON_STATE, UPDATE_OVERLAYS</p><h3 id="proc/update_icon_state"><aside class="declaration">proc </aside>update_icon_state<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L576"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 576"></a></aside></h3><p>Updates the icon state of the atom</p>
|
||
<p>Excluding the base proc, or child overrides that do not intend to change the icon_state, this proc needs a minimum of two possible icon_states, otherwise it effectively becomes permanent and a redundant proc.</p><h3 id="proc/update_name"><aside class="declaration">proc </aside>update_name<aside>(updates) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L524"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 524"></a></aside></h3><p>Updates the name of the atom</p><h3 id="proc/update_overlays"><aside class="declaration">proc </aside>update_overlays<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L587"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 587"></a></aside></h3><p>Updates the managed overlays of the atom</p>
|
||
<p>Old overlays from this proc are removed when called, and does not affect overlays from outside it. e.g. add_overlay() called independently in a different proc.</p>
|
||
<p>It has to return a list of overlays if it can't call the parent to create one. The list can contain anything that would be valid for the add_overlay proc: Images, mutable appearances, icon state names...</p><h3 id="proc/zap_act"><aside class="declaration">proc </aside>zap_act<aside>(power, zap_flags) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/game/atoms.dm#L1215"><img src="git.png" width="16" height="16" title="code/game/atoms.dm 1215"></a></aside></h3><p>Respond to an electric bolt action on our item</p>
|
||
<p>Default behaviour is to return, we define here to allow for cleaner code later on</p></main><footer>paradise.dme <a href="https://github.com/ParadiseSS13/Paradise/tree/8a8a00a2a9bec485351e5f219982b7315d3504fa">8a8a00a</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.11.0</a></footer></body></html> |