item
Vars | |
anomaly_protection | A value denoting how much this item should protect against the effects of anomalies when worn. |
---|---|
attack_verb | Used in use_weapon() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" |
blood_overlay | This saves our blood splatter overlay, which will be processed not to go over the edges of the sprite |
body_parts_covered | See items_clothing.dm for appropriate bit flags |
equip_delay | Optional delay for /mob/living/carbon/human/equip_to_slot_if_possible to do_after before succeeding |
equip_delay_flags | Flags to use for do_after when equip_delay is set |
flags_inv | This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc. |
pluralname | BYOND sometimes doesn't add an 'es' to make a word plural when it should; pluralname is a workaround. Only use if it doesn't work traditionally. For example match becomes matchs without this. |
toolspeed | Used to determine how fast an item completes a certain action. Lower values are faster. |
Procs | |
ChameleonFlexibleAppearance | Verbs to handle changing the appearance of atoms that have the chameleon extension. |
afterattack | Called when the item is in the active hand and another atom is clicked and resolve_attackby() returns FALSE. This is generally called by ClickOn() .
Works on ranged targets, unlike resolve_attackby() |
apply_hit_effect | Called when a weapon is used to make a successful melee attack on a mob. Generally called by the target's use_weapon() proc.
Overriden to apply special effects like electrical shocks from stun batons/defib paddles. |
attack_self | Called when the item is in the active hand and clicked, or the activate held object verb is used. |
can_puncture | For items that can puncture e.g. thick plastic but aren't necessarily sharp. |
dropped | Called whenever an item is removed from a slot, container, or anything else. |
equip_delay_after | Virtual for behavior to do after successful do_after if equip_delay is set |
equip_delay_before | Virtual for behavior to do before do_after if equip_delay is set |
resolve_attackby | Called when the item is in the active hand and another atom is clicked. This is generally called by ClickOn() . |
use_after | Called when the item is in the active hand and another atom is clicked. This is generally called by the target's
resolve_attackby() proc.
Use it for item-level behavior you don't necessarily want running before use_tool/use_weapon.
You will need to use type checks on atom/target on overrides; or else this will be called on anything you click. |
use_before | Called when a mob is clicked while the item is in the active hand. This is usually called first by the mob's resolve_attackby() proc.
Use this to set item-level overrides that you want running first. If you have an override you don't want running before use_tool and use_weapon, put it in use_after().
You will need to use type checks on atom/target on overrides; or else this will be called on anything you click.
If returns FALSE, the rest of the resolve_attackby() chain is called. |
Var Details
anomaly_protection
A value denoting how much this item should protect against the effects of anomalies when worn.
attack_verb
Used in use_weapon() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"
blood_overlay
This saves our blood splatter overlay, which will be processed not to go over the edges of the sprite
body_parts_covered
See items_clothing.dm for appropriate bit flags
equip_delay
Optional delay for /mob/living/carbon/human/equip_to_slot_if_possible to do_after before succeeding
equip_delay_flags
Flags to use for do_after when equip_delay is set
flags_inv
This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc.
It should be used purely for appearance. For gameplay effects caused by items covering body parts, use body_parts_covered.
pluralname
BYOND sometimes doesn't add an 'es' to make a word plural when it should; pluralname is a workaround. Only use if it doesn't work traditionally. For example match becomes matchs without this.
toolspeed
Used to determine how fast an item completes a certain action. Lower values are faster.
Proc Details
ChameleonFlexibleAppearance
Verbs to handle changing the appearance of atoms that have the chameleon extension.
afterattack
Called when the item is in the active hand and another atom is clicked and resolve_attackby()
returns FALSE. This is generally called by ClickOn()
.
Works on ranged targets, unlike resolve_attackby()
Parameters:
target
- The atom that was clicked on.user
- The mob clicking on the target.proximity_flag
(boolean) - TRUE is this was called on something adjacent to or in the inventory ofuser
.click_parameters
- List of click parameters. See BYOND'sCLick()
documentation.
Should have no return value.
apply_hit_effect
Called when a weapon is used to make a successful melee attack on a mob. Generally called by the target's use_weapon()
proc.
Overriden to apply special effects like electrical shocks from stun batons/defib paddles.
Parameters:
target
- The mob struck with the weapon.user
- The mob using the weapon.hit_zone
- The mob targeting zone that should be struck with the weapon.
Returns boolean to indicate whether or not damage was dealt.
attack_self
Called when the item is in the active hand and clicked, or the activate held object
verb is used.
Parameters:
user
- The mob using the item.
Should have no return value.
can_puncture
For items that can puncture e.g. thick plastic but aren't necessarily sharp.
Returns TRUE if the given item is capable of popping things like balloons, inflatable barriers, or cutting police tape. Also used to determine what items can eyestab.
dropped
Called whenever an item is removed from a slot, container, or anything else.
equip_delay_after
Virtual for behavior to do after successful do_after if equip_delay is set
equip_delay_before
Virtual for behavior to do before do_after if equip_delay is set
resolve_attackby
Called when the item is in the active hand and another atom is clicked. This is generally called by ClickOn()
.
This passes down to use_before()
, use_weapon()
, use_tool()
, and then use_after() in that order,
depending on item flags and user's intent.
use_grab() is run in an override of resolve_attackby() processed at the grab's level, and is not part of this chain.
Parameters:
atom
- The atom that was clicked.user
- The mob using the item.click_params
- List of click parameters. See BYOND'sCLick()
documentation.
Returns boolean to indicate whether the attack call was handled or not.
use_after
Called when the item is in the active hand and another atom is clicked. This is generally called by the target's
resolve_attackby()
proc.
Use it for item-level behavior you don't necessarily want running before use_tool/use_weapon.
You will need to use type checks on atom/target on overrides; or else this will be called on anything you click.
Parameters:
target
- The atom that was clicked on.user
- The mob clicking on the target.click_parameters
- List of click parameters. See BYOND'sClick()
documentation.
Returns boolean to indicate whether the use call was handled or not.
use_before
Called when a mob is clicked while the item is in the active hand. This is usually called first by the mob's resolve_attackby()
proc.
Use this to set item-level overrides that you want running first. If you have an override you don't want running before use_tool and use_weapon, put it in use_after().
You will need to use type checks on atom/target on overrides; or else this will be called on anything you click.
If returns FALSE, the rest of the resolve_attackby() chain is called.
Parameters:
target
- The atom that was clicked.user
- The mob that clicked the target.
-
click_parameters
- List of click parameters. See BYOND'sClick()
documentation.