85 lines
50 KiB
HTML
85 lines
50 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../"><link rel="stylesheet" href="dmdoc.css"><title>/obj/item - /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="obj/item.html#var">Var Details</a> - <a href="obj/item.html#proc">Proc Details</a></header><main><h1>item <aside>/<a href="obj.html">obj</a>/<a href="obj/item.html">item</a></aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L11"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 11"></a></h1><table class="summary" cellspacing="0"><tr><td colspan="2"><h2>Vars</h2></td></tr><tr><th><a href="obj/item.html#var/attack_speed">attack_speed</a></th><td>Amount of time to check for from a mob's last attack, checked before an attack happens. Lower = faster attacks</td></tr><tr><th><a href="obj/item.html#var/attack_unwieldlyness">attack_unwieldlyness</a></th><td>Amount of time to hard-stagger (no clicking at all) the mob when attacking. Lower = better</td></tr><tr><th><a href="obj/item.html#var/block_chance">block_chance</a></th><td>The 0% to 100% chance for the default implementation of random block rolls.</td></tr><tr><th><a href="obj/item.html#var/block_priority">block_priority</a></th><td>Block priority, higher means we check this higher in the "chain".</td></tr><tr><th><a href="obj/item.html#var/clickdelay_from_next_action">clickdelay_from_next_action</a></th><td>This item checks clickdelay from a user's delayed next action variable rather than the last time they attacked.</td></tr><tr><th><a href="obj/item.html#var/clickdelay_ignores_next_action">clickdelay_ignores_next_action</a></th><td>This item ignores next action delays.</td></tr><tr><th><a href="obj/item.html#var/clickdelay_mod_bypass">clickdelay_mod_bypass</a></th><td>This item bypasses any click delay mods</td></tr><tr><th><a href="obj/item.html#var/drop_sound">drop_sound</a></th><td>Sound uses when dropping the item, or when its thrown.</td></tr><tr><th><a href="obj/item.html#var/dye_color">dye_color</a></th><td>Used as the dye color source in the washing machine only (at the moment). Can be a hex color or a key corresponding to a registry entry, see washing_machine.dm</td></tr><tr><th><a href="obj/item.html#var/dying_key">dying_key</a></th><td>What dye registry should be looked at when dying this item; see washing_machine.dm</td></tr><tr><th><a href="obj/item.html#var/equip_sound">equip_sound</a></th><td>Sound used when equipping the item into a valid slot</td></tr><tr><th><a href="obj/item.html#var/force_string">force_string</a></th><td>string form of an item's force. Edit this var only to set a custom force string</td></tr><tr><th><a href="obj/item.html#var/hitsound">hitsound</a></th><td>Sound played when you hit something with the item</td></tr><tr><th><a href="obj/item.html#var/item_flags">item_flags</a></th><td>Item flags for the item</td></tr><tr><th><a href="obj/item.html#var/item_state">item_state</a></th><td>icon state name for inhand overlays</td></tr><tr><th><a href="obj/item.html#var/lefthand_file">lefthand_file</a></th><td>Icon file for left hand inhand overlays</td></tr><tr><th><a href="obj/item.html#var/mob_overlay_icon">mob_overlay_icon</a></th><td>Icon file for mob worn overlays.
|
||
no var for state because it should <em>always</em> be the same as icon_state</td></tr><tr><th><a href="obj/item.html#var/mob_throw_hit_sound">mob_throw_hit_sound</a></th><td>Used when yate into a mob</td></tr><tr><th><a href="obj/item.html#var/pickup_sound">pickup_sound</a></th><td>Sound uses when picking the item up (into your hands)</td></tr><tr><th><a href="obj/item.html#var/righthand_file">righthand_file</a></th><td>Icon file for right inhand overlays</td></tr><tr><th><a href="obj/item.html#var/sharpness">sharpness</a></th><td>All items with sharpness of SHARP_EDGED or higher will automatically get the butchering component.</td></tr><tr><th><a href="obj/item.html#var/stagger_force">stagger_force</a></th><td>How long, in deciseconds, this staggers for, if null it will autocalculate from w_class and force. Unlike total mass this supports 0 and negatives.</td></tr><tr><th><a href="obj/item.html#var/stealthy_audio">stealthy_audio</a></th><td>Whether or not we use stealthy audio levels for this item's attack sounds</td></tr><tr><th><a href="obj/item.html#var/throw_verb">throw_verb</a></th><td>Used if we want to have a custom verb text for throwing. "John Spaceman flicks the ciggerate" for example.</td></tr><tr><th><a href="obj/item.html#var/thrownby">thrownby</a></th><td>A weakref to the mob who threw the item</td></tr><tr><th><a href="obj/item.html#var/total_mass">total_mass</a></th><td>The amount of stamina it takes to swing an item in a normal melee attack do not lie to me and say it's for realism because it ain't. If null it will autocalculate from w_class.</td></tr><tr><th><a href="obj/item.html#var/undyeable">undyeable</a></th><td>Whether the item is unaffected by standard dying.</td></tr><tr><th><a href="obj/item.html#var/used_skills">used_skills</a></th><td>Skills vars</td></tr><tr><th><a href="obj/item.html#var/usesound">usesound</a></th><td>Played when the item is used, for example tools</td></tr><tr><th><a href="obj/item.html#var/w_class">w_class</a></th><td>Weight class for how much storage capacity it uses and how big it physically is meaning storages can't hold it if their maximum weight class isn't as high as it.</td></tr><tr><th><a href="obj/item.html#var/w_volume">w_volume</a></th><td>Volume override for the item, otherwise automatically calculated from w_class.</td></tr><tr><td colspan="2"><h2>Procs</h2></td></tr><tr><th><a href="obj/item.html#proc/ApplyAttackCooldown">ApplyAttackCooldown</a></th><td>Called after a successful attack to set a mob's clickdelay.</td></tr><tr><th><a href="obj/item.html#proc/CheckAttackCooldown">CheckAttackCooldown</a></th><td>Checks if a user's clickdelay is met for a standard attack, this is called before an attack happens.</td></tr><tr><th><a href="obj/item.html#proc/GetEstimatedAttackSpeed">GetEstimatedAttackSpeed</a></th><td>Get estimated time that a user has to not attack for to use us</td></tr><tr><th><a href="obj/item.html#proc/UseStaminaBufferStandard">UseStaminaBufferStandard</a></th><td>Uses the amount of stamina required for a standard hit</td></tr><tr><th><a href="obj/item.html#proc/active_block_calculate_final_damage">active_block_calculate_final_damage</a></th><td>Calculates FINAL ATTACK DAMAGE after mitigation</td></tr><tr><th><a href="obj/item.html#proc/active_block_do_stamina_damage">active_block_do_stamina_damage</a></th><td>Apply the stamina damage to our user, notice how damage argument is stamina_amount.</td></tr><tr><th><a href="obj/item.html#proc/active_block_stamina_cost">active_block_stamina_cost</a></th><td>Amount of stamina from damage blocked. Note that the damage argument is damage_blocked.</td></tr><tr><th><a href="obj/item.html#proc/active_parry_reflex_counter">active_parry_reflex_counter</a></th><td>Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.</td></tr><tr><th><a href="obj/item.html#proc/add_item_context">add_item_context</a></th><td>Creates a "Type-A" contextual screentip interaction.
|
||
When a user hovers over something with this item in hand, this proc will be called in order
|
||
to provide context for contextual screentips.
|
||
You must call <code>register_item_context()</code> in order for this to be registered.
|
||
A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm)
|
||
that map to the action as text.
|
||
If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.
|
||
<code>source</code> can, in all cases, be replaced with <code>src</code>, and only exists because this proc directly connects to a signal.</td></tr><tr><th><a href="obj/item.html#proc/afterattack">afterattack</a></th><td>Called after attacking something if the melee attack chain isn't interrupted before.
|
||
Also called when clicking on something with an item without being in melee range</td></tr><tr><th><a href="obj/item.html#proc/attack">attack</a></th><td>Called when someone uses us to attack a mob in melee combat.</td></tr><tr><th><a href="obj/item.html#proc/blockable_directions">blockable_directions</a></th><td>Gets the block direction bitflags of what we can block.</td></tr><tr><th><a href="obj/item.html#proc/can_active_block">can_active_block</a></th><td>Returns if we can actively block.</td></tr><tr><th><a href="obj/item.html#proc/can_active_parry">can_active_parry</a></th><td>Determines if we can actively parry.</td></tr><tr><th><a href="obj/item.html#proc/can_block_direction">can_block_direction</a></th><td>Checks if we can block from a specific direction from our direction.</td></tr><tr><th><a href="obj/item.html#proc/can_block_directions_multiple">can_block_directions_multiple</a></th><td>can_block_direction but for "compound" directions to check all of them and return the number of directions that were blocked.</td></tr><tr><th><a href="obj/item.html#proc/check_block">check_block</a></th><td>Returns block information using list/block_return. Used for check_block() on mobs.</td></tr><tr><th><a href="obj/item.html#proc/cyborg_unequip">cyborg_unequip</a></th><td>Parent proc - triggers when an item/module is unequipped from a cyborg.</td></tr><tr><th><a href="obj/item.html#proc/disableEmbedding">disableEmbedding</a></th><td>For when you want to disable an item's embedding capabilities (like transforming weapons and such), this proc will detach any active embed elements from it.</td></tr><tr><th><a href="obj/item.html#proc/failedEmbed">failedEmbed</a></th><td>In case we want to do something special (like self delete) upon failing to embed in something, return true</td></tr><tr><th><a href="obj/item.html#proc/get_block_parry_data">get_block_parry_data</a></th><td>Gets this item's datum/block_parry_data</td></tr><tr><th><a href="obj/item.html#proc/get_w_volume">get_w_volume</a></th><td>Get an item's volume that it uses when being stored.</td></tr><tr><th><a href="obj/item.html#proc/getweight">getweight</a></th><td>How much stamina this takes to swing this is not for realism purposes hecc off.</td></tr><tr><th><a href="obj/item.html#proc/isEmbedHarmless">isEmbedHarmless</a></th><td>Does the current embedding var meet the criteria for being harmless? Namely, does it explicitly define the pain multiplier and jostle pain mult to be 0? If so, return true.</td></tr><tr><th><a href="obj/item.html#proc/melee_attack_chain">melee_attack_chain</a></th><td>This is the proc that handles the order of an item_attack.
|
||
The order of procs called is:
|
||
tool_act on the target. If it returns TRUE, the chain will be stopped.
|
||
pre_attack() on src. If this returns TRUE, the chain will be stopped.
|
||
attackby on the target. If it returns TRUE, the chain will be stopped.
|
||
and lastly
|
||
afterattack. The return value does not matter.</td></tr><tr><th><a href="obj/item.html#proc/melee_stagger_duration">melee_stagger_duration</a></th><td>How long this staggers for. 0 and negatives supported.</td></tr><tr><th><a href="obj/item.html#proc/on_active_parry">on_active_parry</a></th><td>Called when an attack is parried using this, whether or not the parry was successful.</td></tr><tr><th><a href="obj/item.html#proc/on_offer_taken">on_offer_taken</a></th><td>An interrupt for someone trying to accept an offered item, called mainly from <a href="mob/living/carbon.html#proc/take" title="/mob/living/carbon">/mob/living/carbon/proc/take</a>, in case you want to run your own take behavior instead.</td></tr><tr><th><a href="obj/item.html#proc/on_offered">on_offered</a></th><td>An interrupt for offering an item to other people, called mainly from <a href="mob/living/carbon.html#proc/give" title="/mob/living/carbon">/mob/living/carbon/proc/give</a>, in case you want to run your own offer behavior instead.</td></tr><tr><th><a href="obj/item.html#proc/on_outfit_equip">on_outfit_equip</a></th><td>Special stuff you want to do when an outfit equips this item.</td></tr><tr><th><a href="obj/item.html#proc/on_thrown">on_thrown</a></th><td>Called by the carbon throw_item() proc. Returns null if the item negates the throw, or a reference to the thing to suffer the throw else.</td></tr><tr><th><a href="obj/item.html#proc/pick_painting_tool_color">pick_painting_tool_color</a></th><td>Common proc used by painting tools like spraycans and palettes that can access the entire 24 bits color space.</td></tr><tr><th><a href="obj/item.html#proc/ranged_attack_chain">ranged_attack_chain</a></th><td>Like melee_attack_chain but for ranged.</td></tr><tr><th><a href="obj/item.html#proc/register_item_context">register_item_context</a></th><td>Create a "Type-A" contextual screentip interaction, registering to <code>add_item_context()</code>.
|
||
This will run <code>add_item_context()</code> when the item hovers over another object for context.
|
||
<code>add_item_context()</code> will <em>not</em> be called unless this is run.
|
||
This is not necessary for Type-A interactions, as you can just apply the flag and register to the signal yourself.</td></tr><tr><th><a href="obj/item.html#proc/run_block">run_block</a></th><td>Runs block and returns flag for do_run_block to process.</td></tr><tr><th><a href="obj/item.html#proc/set_slowdown">set_slowdown</a></th><td>Sets our slowdown and updates equipment slowdown of any mob we're equipped on.</td></tr><tr><th><a href="obj/item.html#proc/tryEmbed">tryEmbed</a></th><td>tryEmbed() is for when you want to try embedding something without dealing with the damage + hit messages of calling hitby() on the item while targetting the target.</td></tr><tr><th><a href="obj/item.html#proc/updateEmbedding">updateEmbedding</a></th><td>For when you want to add/update the embedding on an item. Uses the vars in [/obj/item/embedding], and defaults to config values for values that aren't set. Will automatically detach previous embed elements on this item.</td></tr><tr><th><a href="obj/item.html#proc/update_action_buttons">update_action_buttons</a></th><td>Updates all action buttons associated with this item</td></tr></table><h2 id="var">Var Details</h2><h3 id="var/attack_speed"><aside class="declaration">var </aside>attack_speed <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/clickdelay.dm#L174"><img src="git.png" width="16" height="16" title="code/modules/mob/clickdelay.dm 174"></a></h3><p>Amount of time to check for from a mob's last attack, checked before an attack happens. Lower = faster attacks</p><h3 id="var/attack_unwieldlyness"><aside class="declaration">var </aside>attack_unwieldlyness <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/clickdelay.dm#L176"><img src="git.png" width="16" height="16" title="code/modules/mob/clickdelay.dm 176"></a></h3><p>Amount of time to hard-stagger (no clicking at all) the mob when attacking. Lower = better</p><h3 id="var/block_chance"><aside class="declaration">var </aside>block_chance <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_block.dm#L77"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_block.dm 77"></a></h3><p>The 0% to 100% chance for the default implementation of random block rolls.</p><h3 id="var/block_priority"><aside class="declaration">var </aside>block_priority <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_block.dm#L79"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_block.dm 79"></a></h3><p>Block priority, higher means we check this higher in the "chain".</p><h3 id="var/clickdelay_from_next_action"><aside class="declaration">var </aside>clickdelay_from_next_action <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/clickdelay.dm#L180"><img src="git.png" width="16" height="16" title="code/modules/mob/clickdelay.dm 180"></a></h3><p>This item checks clickdelay from a user's delayed next action variable rather than the last time they attacked.</p><h3 id="var/clickdelay_ignores_next_action"><aside class="declaration">var </aside>clickdelay_ignores_next_action <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/clickdelay.dm#L182"><img src="git.png" width="16" height="16" title="code/modules/mob/clickdelay.dm 182"></a></h3><p>This item ignores next action delays.</p><h3 id="var/clickdelay_mod_bypass"><aside class="declaration">var </aside>clickdelay_mod_bypass <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/clickdelay.dm#L178"><img src="git.png" width="16" height="16" title="code/modules/mob/clickdelay.dm 178"></a></h3><p>This item bypasses any click delay mods</p><h3 id="var/drop_sound"><aside class="declaration">var </aside>drop_sound <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L64"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 64"></a></h3><p>Sound uses when dropping the item, or when its thrown.</p><h3 id="var/dye_color"><aside class="declaration">var </aside>dye_color <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L153"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 153"></a></h3><p>Used as the dye color source in the washing machine only (at the moment). Can be a hex color or a key corresponding to a registry entry, see washing_machine.dm</p><h3 id="var/dying_key"><aside class="declaration">var </aside>dying_key <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L157"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 157"></a></h3><p>What dye registry should be looked at when dying this item; see washing_machine.dm</p><h3 id="var/equip_sound"><aside class="declaration">var </aside>equip_sound <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L60"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 60"></a></h3><p>Sound used when equipping the item into a valid slot</p><h3 id="var/force_string"><aside class="declaration">var </aside>force_string <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L147"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 147"></a></h3><p>string form of an item's force. Edit this var only to set a custom force string</p><h3 id="var/hitsound"><aside class="declaration">var </aside>hitsound <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L54"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 54"></a></h3><p>Sound played when you hit something with the item</p><h3 id="var/item_flags"><aside class="declaration">var </aside>item_flags <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L51"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 51"></a></h3><p>Item flags for the item</p><h3 id="var/item_state"><aside class="declaration">var </aside>item_state <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L21"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 21"></a></h3><p>icon state name for inhand overlays</p><h3 id="var/lefthand_file"><aside class="declaration">var </aside>lefthand_file <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L23"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 23"></a></h3><p>Icon file for left hand inhand overlays</p><h3 id="var/mob_overlay_icon"><aside class="declaration">var </aside>mob_overlay_icon <aside>– /icon</aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L29"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 29"></a></h3><p>Icon file for mob worn overlays.
|
||
no var for state because it should <em>always</em> be the same as icon_state</p><h3 id="var/mob_throw_hit_sound"><aside class="declaration">var </aside>mob_throw_hit_sound <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L58"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 58"></a></h3><p>Used when yate into a mob</p><h3 id="var/pickup_sound"><aside class="declaration">var </aside>pickup_sound <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L62"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 62"></a></h3><p>Sound uses when picking the item up (into your hands)</p><h3 id="var/righthand_file"><aside class="declaration">var </aside>righthand_file <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L25"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 25"></a></h3><p>Icon file for right inhand overlays</p><h3 id="var/sharpness"><aside class="declaration">var </aside>sharpness <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L125"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 125"></a></h3><p>All items with sharpness of SHARP_EDGED or higher will automatically get the butchering component.</p><h3 id="var/stagger_force"><aside class="declaration">var </aside>stagger_force <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L76"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 76"></a></h3><p>How long, in deciseconds, this staggers for, if null it will autocalculate from w_class and force. Unlike total mass this supports 0 and negatives.</p><h3 id="var/stealthy_audio"><aside class="declaration">var </aside>stealthy_audio <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L66"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 66"></a></h3><p>Whether or not we use stealthy audio levels for this item's attack sounds</p><h3 id="var/throw_verb"><aside class="declaration">var </aside>throw_verb <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L182"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 182"></a></h3><p>Used if we want to have a custom verb text for throwing. "John Spaceman flicks the ciggerate" for example.</p><h3 id="var/thrownby"><aside class="declaration">var </aside>thrownby <aside>– /<a href="datum.html">datum</a>/weakref</aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L116"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 116"></a></h3><p>A weakref to the mob who threw the item</p><h3 id="var/total_mass"><aside class="declaration">var </aside>total_mass <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L74"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 74"></a></h3><p>The amount of stamina it takes to swing an item in a normal melee attack do not lie to me and say it's for realism because it ain't. If null it will autocalculate from w_class.</p><h3 id="var/undyeable"><aside class="declaration">var </aside>undyeable <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L155"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 155"></a></h3><p>Whether the item is unaffected by standard dying.</p><h3 id="var/used_skills"><aside class="declaration">var </aside>used_skills <aside>– /list/datum/skill</aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L175"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 175"></a></h3><p>Skills vars</p><h3 id="var/usesound"><aside class="declaration">var </aside>usesound <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L56"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 56"></a></h3><p>Played when the item is used, for example tools</p><h3 id="var/w_class"><aside class="declaration">var </aside>w_class <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L69"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 69"></a></h3><p>Weight class for how much storage capacity it uses and how big it physically is meaning storages can't hold it if their maximum weight class isn't as high as it.</p><h3 id="var/w_volume"><aside class="declaration">var </aside>w_volume <aside>– </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L71"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 71"></a></h3><p>Volume override for the item, otherwise automatically calculated from w_class.</p><h2 id="proc">Proc Details</h2><h3 id="proc/ApplyAttackCooldown"><aside class="declaration">proc </aside>ApplyAttackCooldown<aside>(/<a href="mob.html">mob</a>/user, /<a href="atom.html">atom</a>/target, attackchain_flags) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/clickdelay.dm#L193"><img src="git.png" width="16" height="16" title="code/modules/mob/clickdelay.dm 193"></a></aside></h3><p>Called after a successful attack to set a mob's clickdelay.</p><h3 id="proc/CheckAttackCooldown"><aside class="declaration">proc </aside>CheckAttackCooldown<aside>(/<a href="mob.html">mob</a>/user, /<a href="atom.html">atom</a>/target) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/clickdelay.dm#L187"><img src="git.png" width="16" height="16" title="code/modules/mob/clickdelay.dm 187"></a></aside></h3><p>Checks if a user's clickdelay is met for a standard attack, this is called before an attack happens.</p><h3 id="proc/GetEstimatedAttackSpeed"><aside class="declaration">proc </aside>GetEstimatedAttackSpeed<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/clickdelay.dm#L199"><img src="git.png" width="16" height="16" title="code/modules/mob/clickdelay.dm 199"></a></aside></h3><p>Get estimated time that a user has to not attack for to use us</p><h3 id="proc/UseStaminaBufferStandard"><aside class="declaration">proc </aside>UseStaminaBufferStandard<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/user, multiplier, trait, warn) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/_onclick/item_attack.dm#L252"><img src="git.png" width="16" height="16" title="code/_onclick/item_attack.dm 252"></a></aside></h3><p>Uses the amount of stamina required for a standard hit</p><h3 id="proc/active_block_calculate_final_damage"><aside class="declaration">proc </aside>active_block_calculate_final_damage<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/owner, /<a href="atom.html">atom</a>/object, damage, attack_text, attack_type, armour_penetration, /<a href="mob.html">mob</a>/attacker, def_zone, final_block_chance, /list/block_return, passive) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_active_block.dm#L143"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_active_block.dm 143"></a></aside></h3><p>Calculates FINAL ATTACK DAMAGE after mitigation</p><h3 id="proc/active_block_do_stamina_damage"><aside class="declaration">proc </aside>active_block_do_stamina_damage<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/owner, /<a href="atom.html">atom</a>/object, stamina_amount, attack_text, attack_type, armour_penetration, /<a href="mob.html">mob</a>/attacker, def_zone, final_block_chance, /list/block_return) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_active_block.dm#L181"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_active_block.dm 181"></a></aside></h3><p>Apply the stamina damage to our user, notice how damage argument is stamina_amount.</p><h3 id="proc/active_block_stamina_cost"><aside class="declaration">proc </aside>active_block_stamina_cost<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/owner, /<a href="atom.html">atom</a>/object, damage_blocked, attack_text, attack_type, armour_penetration, /<a href="mob.html">mob</a>/attacker, def_zone, final_block_chance, /list/block_return, passive) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_active_block.dm#L168"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_active_block.dm 168"></a></aside></h3><p>Amount of stamina from damage blocked. Note that the damage argument is damage_blocked.</p><h3 id="proc/active_parry_reflex_counter"><aside class="declaration">proc </aside>active_parry_reflex_counter<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/owner, /<a href="atom.html">atom</a>/object, damage, attack_text, attack_type, armour_penetration, /<a href="mob.html">mob</a>/attacker, def_zone, /list/return_list, parry_efficiency, /list/effect_text) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_active_parry.dm#L216"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_active_parry.dm 216"></a></aside></h3><p>Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.</p><h3 id="proc/add_item_context"><aside class="declaration">proc </aside>add_item_context<aside>(/<a href="obj.html">obj</a>/<a href="obj/item.html">item</a>/source, /list/context, /<a href="atom.html">atom</a>/target, /<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/datums/screentips/item_context.dm#L21"><img src="git.png" width="16" height="16" title="code/datums/screentips/item_context.dm 21"></a></aside></h3><p>Creates a "Type-A" contextual screentip interaction.
|
||
When a user hovers over something with this item in hand, this proc will be called in order
|
||
to provide context for contextual screentips.
|
||
You must call <code>register_item_context()</code> in order for this to be registered.
|
||
A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm)
|
||
that map to the action as text.
|
||
If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.
|
||
<code>source</code> can, in all cases, be replaced with <code>src</code>, and only exists because this proc directly connects to a signal.</p><h3 id="proc/afterattack"><aside class="declaration">proc </aside>afterattack<aside>(/<a href="atom.html">atom</a>/target, /<a href="mob.html">mob</a>/user, proximity_flag, click_parameters) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/_onclick/item_attack.dm#L210"><img src="git.png" width="16" height="16" title="code/_onclick/item_attack.dm 210"></a></aside></h3><p>Called after attacking something if the melee attack chain isn't interrupted before.
|
||
Also called when clicking on something with an item without being in melee range</p>
|
||
<p>WARNING: This does not automatically check clickdelay if not in a melee attack! Be sure to account for this!</p>
|
||
<p>@params</p>
|
||
<ul>
|
||
<li>target - The thing we clicked</li>
|
||
<li>user - mob of person clicking</li>
|
||
<li>proximity_flag - are we in melee range/doing it in a melee attack</li>
|
||
<li>click_parameters - mouse control parameters, check BYOND ref.</li>
|
||
</ul><h3 id="proc/attack"><aside class="declaration">proc </aside>attack<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, attackchain_flags, damage_multiplier) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/_onclick/item_attack.dm#L79"><img src="git.png" width="16" height="16" title="code/_onclick/item_attack.dm 79"></a></aside></h3><p>Called when someone uses us to attack a mob in melee combat.</p>
|
||
<p>This proc respects CheckAttackCooldown() default clickdelay handling.</p>
|
||
<p>@params</p>
|
||
<ul>
|
||
<li>mob/living/M - target</li>
|
||
<li>mob/living/user - attacker</li>
|
||
<li>attackchain_Flags - see <a href="code/__DEFINES/_flags/return_values.html" title="code/__DEFINES/_flags/return_values.dm">code/__DEFINES/_flags/return_values.dm</a></li>
|
||
<li>damage_multiplier - what to multiply the damage by</li>
|
||
</ul><h3 id="proc/blockable_directions"><aside class="declaration">proc </aside>blockable_directions<aside>(passive) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_active_block.dm#L269"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_active_block.dm 269"></a></aside></h3><p>Gets the block direction bitflags of what we can block.</p><h3 id="proc/can_active_block"><aside class="declaration">proc </aside>can_active_block<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_active_block.dm#L137"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_active_block.dm 137"></a></aside></h3><p>Returns if we can actively block.</p><h3 id="proc/can_active_parry"><aside class="declaration">proc </aside>can_active_parry<aside>(/<a href="mob.html">mob</a>/user) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_active_parry.dm#L5"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_active_parry.dm 5"></a></aside></h3><p>Determines if we can actively parry.</p><h3 id="proc/can_block_direction"><aside class="declaration">proc </aside>can_block_direction<aside>(our_dir, their_dir, passive) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_active_block.dm#L280"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_active_block.dm 280"></a></aside></h3><p>Checks if we can block from a specific direction from our direction.</p>
|
||
<p>@params</p>
|
||
<ul>
|
||
<li>our_dir - our direction.</li>
|
||
<li>their_dir - their direction. Must be a single direction, or NONE for an attack from the same tile. This is incoming direction.</li>
|
||
</ul><h3 id="proc/can_block_directions_multiple"><aside class="declaration">proc </aside>can_block_directions_multiple<aside>(our_dir, /list/their_dirs) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_active_block.dm#L296"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_active_block.dm 296"></a></aside></h3><p>can_block_direction but for "compound" directions to check all of them and return the number of directions that were blocked.</p>
|
||
<p>@params</p>
|
||
<ul>
|
||
<li>our_dir - our direction.</li>
|
||
<li>their_dirs - list of their directions as we cannot use bitfields here.</li>
|
||
</ul><h3 id="proc/check_block"><aside class="declaration">proc </aside>check_block<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/owner, /<a href="atom.html">atom</a>/object, damage, attack_text, attack_type, armour_penetration, /<a href="mob.html">mob</a>/attacker, def_zone, final_block_chance, /list/block_return) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_block.dm#L93"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_block.dm 93"></a></aside></h3><p>Returns block information using list/block_return. Used for check_block() on mobs.</p><h3 id="proc/cyborg_unequip"><aside class="declaration">proc </aside>cyborg_unequip<aside>(/<a href="mob.html">mob</a>/user) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/silicon/robot/inventory.dm#L25"><img src="git.png" width="16" height="16" title="code/modules/mob/living/silicon/robot/inventory.dm 25"></a></aside></h3><p>Parent proc - triggers when an item/module is unequipped from a cyborg.</p><h3 id="proc/disableEmbedding"><aside class="declaration">proc </aside>disableEmbedding<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L1219"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 1219"></a></aside></h3><p>For when you want to disable an item's embedding capabilities (like transforming weapons and such), this proc will detach any active embed elements from it.</p><h3 id="proc/failedEmbed"><aside class="declaration">proc </aside>failedEmbed<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L1124"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 1124"></a></aside></h3><p>In case we want to do something special (like self delete) upon failing to embed in something, return true</p><h3 id="proc/get_block_parry_data"><aside class="declaration">proc </aside>get_block_parry_data<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_active_parry.dm#L193"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_active_parry.dm 193"></a></aside></h3><p>Gets this item's datum/block_parry_data</p><h3 id="proc/get_w_volume"><aside class="declaration">proc </aside>get_w_volume<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L1076"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 1076"></a></aside></h3><p>Get an item's volume that it uses when being stored.</p><h3 id="proc/getweight"><aside class="declaration">proc </aside>getweight<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/user, multiplier, trait) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/_onclick/item_attack.dm#L242"><img src="git.png" width="16" height="16" title="code/_onclick/item_attack.dm 242"></a></aside></h3><p>How much stamina this takes to swing this is not for realism purposes hecc off.</p><h3 id="proc/isEmbedHarmless"><aside class="declaration">proc </aside>isEmbedHarmless<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L1119"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 1119"></a></aside></h3><p>Does the current embedding var meet the criteria for being harmless? Namely, does it explicitly define the pain multiplier and jostle pain mult to be 0? If so, return true.</p><h3 id="proc/melee_attack_chain"><aside class="declaration">proc </aside>melee_attack_chain<aside>(/<a href="mob.html">mob</a>/user, /<a href="atom.html">atom</a>/target, params, attackchain_flags, damage_multiplier) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/_onclick/item_attack.dm#L10"><img src="git.png" width="16" height="16" title="code/_onclick/item_attack.dm 10"></a></aside></h3><p>This is the proc that handles the order of an item_attack.
|
||
The order of procs called is:
|
||
tool_act on the target. If it returns TRUE, the chain will be stopped.
|
||
pre_attack() on src. If this returns TRUE, the chain will be stopped.
|
||
attackby on the target. If it returns TRUE, the chain will be stopped.
|
||
and lastly
|
||
afterattack. The return value does not matter.</p><h3 id="proc/melee_stagger_duration"><aside class="declaration">proc </aside>melee_stagger_duration<aside>(force_override) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/_onclick/item_attack.dm#L258"><img src="git.png" width="16" height="16" title="code/_onclick/item_attack.dm 258"></a></aside></h3><p>How long this staggers for. 0 and negatives supported.</p><h3 id="proc/on_active_parry"><aside class="declaration">proc </aside>on_active_parry<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/owner, /<a href="atom.html">atom</a>/object, damage, attack_text, attack_type, armour_penetration, /<a href="mob.html">mob</a>/attacker, def_zone, /list/block_return, parry_efficiency, parry_time, autoparry) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_active_parry.dm#L201"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_active_parry.dm 201"></a></aside></h3><p>Called when an attack is parried using this, whether or not the parry was successful.</p><h3 id="proc/on_offer_taken"><aside class="declaration">proc </aside>on_offer_taken<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/<a href="mob/living/carbon.html">carbon</a>/offerer, /<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/<a href="mob/living/carbon.html">carbon</a>/taker) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L1280"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 1280"></a></aside></h3><p>An interrupt for someone trying to accept an offered item, called mainly from <a href="mob/living/carbon.html#proc/take" title="/mob/living/carbon">/mob/living/carbon/proc/take</a>, in case you want to run your own take behavior instead.</p>
|
||
<p>Return TRUE if you want to interrupt the taking.</p>
|
||
<p>Arguments:
|
||
offerer - the person offering the item
|
||
taker - the person trying to accept the offer</p><h3 id="proc/on_offered"><aside class="declaration">proc </aside>on_offered<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/<a href="mob/living/carbon.html">carbon</a>/offerer) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L1267"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 1267"></a></aside></h3><p>An interrupt for offering an item to other people, called mainly from <a href="mob/living/carbon.html#proc/give" title="/mob/living/carbon">/mob/living/carbon/proc/give</a>, in case you want to run your own offer behavior instead.</p>
|
||
<p>Return TRUE if you want to interrupt the offer.</p>
|
||
<p>Arguments:
|
||
offerer - the person offering the item</p><h3 id="proc/on_outfit_equip"><aside class="declaration">proc </aside>on_outfit_equip<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>/outfit_wearer, visuals_only, item_slot) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L1296"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 1296"></a></aside></h3><p>Special stuff you want to do when an outfit equips this item.</p><h3 id="proc/on_thrown"><aside class="declaration">proc </aside>on_thrown<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/<a href="mob/living/carbon.html">carbon</a>/user, /<a href="atom.html">atom</a>/target) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L1130"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 1130"></a></aside></h3><p>Called by the carbon throw_item() proc. Returns null if the item negates the throw, or a reference to the thing to suffer the throw else.</p><h3 id="proc/pick_painting_tool_color"><aside class="declaration">proc </aside>pick_painting_tool_color<aside>(/<a href="mob.html">mob</a>/user, default_color) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/atoms_movable.dm#L608"><img src="git.png" width="16" height="16" title="code/game/atoms_movable.dm 608"></a></aside></h3><p>Common proc used by painting tools like spraycans and palettes that can access the entire 24 bits color space.</p><h3 id="proc/ranged_attack_chain"><aside class="declaration">proc </aside>ranged_attack_chain<aside>(/<a href="mob.html">mob</a>/user, /<a href="atom.html">atom</a>/target, params) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/_onclick/item_attack.dm#L28"><img src="git.png" width="16" height="16" title="code/_onclick/item_attack.dm 28"></a></aside></h3><p>Like melee_attack_chain but for ranged.</p><h3 id="proc/register_item_context"><aside class="declaration">proc </aside>register_item_context<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/screentips/item_context.dm#L5"><img src="git.png" width="16" height="16" title="code/datums/screentips/item_context.dm 5"></a></aside></h3><p>Create a "Type-A" contextual screentip interaction, registering to <code>add_item_context()</code>.
|
||
This will run <code>add_item_context()</code> when the item hovers over another object for context.
|
||
<code>add_item_context()</code> will <em>not</em> be called unless this is run.
|
||
This is not necessary for Type-A interactions, as you can just apply the flag and register to the signal yourself.</p><h3 id="proc/run_block"><aside class="declaration">proc </aside>run_block<aside>(/<a href="mob.html">mob</a>/<a href="mob/living.html">living</a>/owner, /<a href="atom.html">atom</a>/object, damage, attack_text, attack_type, armour_penetration, /<a href="mob.html">mob</a>/attacker, def_zone, final_block_chance, /list/block_return) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/modules/mob/living/living_block.dm#L82"><img src="git.png" width="16" height="16" title="code/modules/mob/living/living_block.dm 82"></a></aside></h3><p>Runs block and returns flag for do_run_block to process.</p><h3 id="proc/set_slowdown"><aside class="declaration">proc </aside>set_slowdown<aside>(new_slowdown) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L1091"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 1091"></a></aside></h3><p>Sets our slowdown and updates equipment slowdown of any mob we're equipped on.</p><h3 id="proc/tryEmbed"><aside class="declaration">proc </aside>tryEmbed<aside>(/<a href="atom.html">atom</a>/target, forced, silent) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L1175"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 1175"></a></aside></h3><p>tryEmbed() is for when you want to try embedding something without dealing with the damage + hit messages of calling hitby() on the item while targetting the target.</p>
|
||
<p>Really, this is used mostly with projectiles with shrapnel payloads, from <a href="datum/element/embed.html#proc/checkEmbedProjectile" title="/datum/element/embed">/datum/element/embed/proc/checkEmbedProjectile</a>, and called on said shrapnel. Mostly acts as an intermediate between different embed elements.</p>
|
||
<p>Arguments:</p>
|
||
<ul>
|
||
<li>
|
||
<p>target- Either a body part, a carbon, or a closed turf. What are we hitting?</p>
|
||
</li>
|
||
<li>
|
||
<p>forced- Do we want this to go through 100%?</p>
|
||
</li>
|
||
</ul><h3 id="proc/updateEmbedding"><aside class="declaration">proc </aside>updateEmbedding<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L1239"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 1239"></a></aside></h3><p>For when you want to add/update the embedding on an item. Uses the vars in [/obj/item/embedding], and defaults to config values for values that aren't set. Will automatically detach previous embed elements on this item.</p><h3 id="proc/update_action_buttons"><aside class="declaration">proc </aside>update_action_buttons<aside>(status_only, force) <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/game/objects/items.dm#L1291"><img src="git.png" width="16" height="16" title="code/game/objects/items.dm 1291"></a></aside></h3><p>Updates all action buttons associated with this item</p>
|
||
<p>Arguments:</p>
|
||
<ul>
|
||
<li>status_only - Update only current availability status of the buttons to show if they are ready or not to use</li>
|
||
<li>force - Force buttons update even if the given button icon state has not changed</li>
|
||
</ul></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> |