obj 
Vars | |
| anchored_tabletop_offset | The vertical pixel_z offset applied when the object is anchored on a tile with table Ignored when set to 0 - to avoid shifting directional wall-mounted objects above tables |
|---|---|
| bare_wound_bonus | If this attacks a human with no wound armor on the affected body part, add this to the wound mod. Some attacks may be significantly worse at wounding if there's even a slight layer of armor to absorb some of it vs bare flesh |
| buckle_sound | The sound this obj makes when something is buckled to it |
| burning_particles | Particles this obj uses when burning, if any |
| custom_fire_overlay | Cached custom fire overlay |
| demolition_mod | A multiplier to an object's force when used against a structure, vehicle, machine, or robot. Use /obj/proc/get_demolition_modifier to get the value. |
| desc_controls | Extra examine line to describe controls, such as right-clicking, left-clicking, etc. |
| icon_preview | Icon to use as a 32x32 preview in crafting menus and such |
| id_tag | Map tag for something. Tired of it being used on snowflake items. Moved here for some semblance of a standard. Next pr after the network fix will have me refactor door interactions, so help me god. |
| no_damage_feedback | The context returned when an attack against this object doesnt deal any traditional damage to the object. |
| req_access | List of accesses needed to use this object: The user must possess all accesses in this list in order to use the object. Example: If req_access = list(ACCESS_ENGINE, ACCESS_CE)- then the user must have both ACCESS_ENGINE and ACCESS_CE in order to use the object. |
| req_one_access | List of accesses needed to use this object: The user must possess at least one access in this list in order to use the object. Example: If req_one_access = list(ACCESS_ENGINE, ACCESS_CE)- then the user must have either ACCESS_ENGINE or ACCESS_CE in order to use the object. |
| unbuckle_sound | The sound this obj makes when something is unbuckled from it |
| wound_bonus | How good a given object is at causing wounds on carbons. Higher values equal better shots at creating serious wounds. |
Procs | |
| GetExplosionBlock | returns how much the object blocks an explosion. Used by subtypes. |
| acid_act | // ACID the obj's reaction when touched by acid |
| acid_melt | called when the obj is destroyed by acid. |
| allowed | Returns TRUE if this mob has sufficient access to use this object |
| atom_deconstruct | Custom behaviour per atom subtype on how they should deconstruct themselves Arguments |
| atom_destruction | what happens when the obj's integrity reaches zero. |
| attack_tk_grab | Telekinesis object grab act. |
| burn | Should be called when the atom is destroyed by fire, comparable to acid_melt() proc |
| can_be_unfasten_wrench | If we can unwrench this object; returns SUCCESSFUL_UNFASTEN and FAILED_UNFASTEN, which are both TRUE, or CANT_UNFASTEN, which isn't. |
| check_on_table | Adjusts the vertical pixel_z offset when the object is anchored on a tile with table |
| custom_fire_overlay | Returns a custom fire overlay, if any |
| deconstruct | The obj is deconstructed into pieces, whether through careful disassembly or when destroyed. Arguments |
| default_unfasten_wrench | Try to unwrench an object in a WONDERFUL DYNAMIC WAY |
| expose_reagents | Handles exposing an object to reagents. |
| find_and_hang_on_wall | |
| fire_act | / FIRE Called when the obj is exposed to fire. |
| freeze | Attempt to freeze this obj if possible. returns TRUE if it succeeded, FALSE otherwise. |
| get_demolition_modifier | Returns modifier to how much damage this object does to a target considered vulnerable to "demolition" (other objects, robots, etc) |
| get_radio_icon | Returns an icon to diplay in chat when this object is used as a radio |
| handle_deconstruct | The interminate proc between deconstruct() & atom_deconstruct(). By default this delegates deconstruction to atom_deconstruct if NO_DEBRIS_AFTER_DECONSTRUCTION is absent but subtypes can override this to handle NO_DEBRIS_AFTER_DECONSTRUCTION in their own unique way. Override this if for example you want to dump out important content like mobs from the atom before deconstruction regardless if NO_DEBRIS_AFTER_DECONSTRUCTION is present or not Arguments |
| on_object_saved | A procedure for saving non-standard properties of an object. For example, saving ore into a silo, and further spavn by coordinates of metal stacks objects |
| pipe_eject | General proc used to expel a holder's contents through src (for bins holder is also the src). |
| receive_signal | Proc for reacting to a received /datum/signal. To be implemented as needed,
does nothing by default. |
| set_bounds | Updates the bounds of a rotated object This ensures that the bounds are always correct, even if the object is rotated after init. |
| shock | Used to deliver a shock to a mob from this object The target must be adjacent to this object, or else the shock will fail |
| try_put_in_hand | Puts passed object in to user's hand |
| unfasten_wrench_check | For the do_after, this checks if unfastening conditions are still valid |
| unfreeze | Unfreezes this obj if its frozen |
| zap_act | Called when the obj is hit by a tesla bolt. |
| zap_buckle_check | Only tesla coils, vehicles, and grounding rods currently call this because mobs are already targeted over all other objects, but this might be useful for more things later. |
Var Details
anchored_tabletop_offset 
The vertical pixel_z offset applied when the object is anchored on a tile with table Ignored when set to 0 - to avoid shifting directional wall-mounted objects above tables
bare_wound_bonus 
If this attacks a human with no wound armor on the affected body part, add this to the wound mod. Some attacks may be significantly worse at wounding if there's even a slight layer of armor to absorb some of it vs bare flesh
buckle_sound 
The sound this obj makes when something is buckled to it
burning_particles 
Particles this obj uses when burning, if any
custom_fire_overlay 
Cached custom fire overlay
demolition_mod 
A multiplier to an object's force when used against a structure, vehicle, machine, or robot. Use /obj/proc/get_demolition_modifier to get the value.
desc_controls 
Extra examine line to describe controls, such as right-clicking, left-clicking, etc.
icon_preview 
Icon to use as a 32x32 preview in crafting menus and such
id_tag 
Map tag for something. Tired of it being used on snowflake items. Moved here for some semblance of a standard. Next pr after the network fix will have me refactor door interactions, so help me god.
no_damage_feedback 
The context returned when an attack against this object doesnt deal any traditional damage to the object.
req_access 
List of accesses needed to use this object: The user must possess all accesses in this list in order to use the object. Example: If req_access = list(ACCESS_ENGINE, ACCESS_CE)- then the user must have both ACCESS_ENGINE and ACCESS_CE in order to use the object.
req_one_access 
List of accesses needed to use this object: The user must possess at least one access in this list in order to use the object. Example: If req_one_access = list(ACCESS_ENGINE, ACCESS_CE)- then the user must have either ACCESS_ENGINE or ACCESS_CE in order to use the object.
unbuckle_sound 
The sound this obj makes when something is unbuckled from it
wound_bonus 
How good a given object is at causing wounds on carbons. Higher values equal better shots at creating serious wounds.
Proc Details
GetExplosionBlock
returns how much the object blocks an explosion. Used by subtypes.
acid_act
// ACID the obj's reaction when touched by acid
acid_melt
called when the obj is destroyed by acid.
allowed
Returns TRUE if this mob has sufficient access to use this object
- accessor - mob trying to access this object, !!CAN BE NULL!! because of telekiesis because we're in hell
atom_deconstruct
Custom behaviour per atom subtype on how they should deconstruct themselves Arguments
- disassembled - TRUE means we cleanly took this atom apart using tools. FALSE means this was destroyed in a violent way
atom_destruction
what happens when the obj's integrity reaches zero.
attack_tk_grab
Telekinesis object grab act.
- Called by
/obj/attack_tk(). - Returns
COMPONENT_CANCEL_ATTACK_CHAINwhen it performs any action, to further acts on the attack chain.
burn
Should be called when the atom is destroyed by fire, comparable to acid_melt() proc
can_be_unfasten_wrench
If we can unwrench this object; returns SUCCESSFUL_UNFASTEN and FAILED_UNFASTEN, which are both TRUE, or CANT_UNFASTEN, which isn't.
check_on_table
Adjusts the vertical pixel_z offset when the object is anchored on a tile with table
custom_fire_overlay
Returns a custom fire overlay, if any
deconstruct
The obj is deconstructed into pieces, whether through careful disassembly or when destroyed. Arguments
- disassembled - TRUE means we cleanly took this atom apart using tools. FALSE means this was destroyed in a violent way
default_unfasten_wrench
Try to unwrench an object in a WONDERFUL DYNAMIC WAY
expose_reagents
Handles exposing an object to reagents.
find_and_hang_on_wall
Checks object direction and then verifies if there's a wall in that direction. Finally, applies a wall_mounted component to the object.
@param directional If TRUE, will use the direction of the object to determine the wall to attach to. If FALSE, will use the object's loc.
@param custom_drop_callback If set, will use this callback instead of the default deconstruct callback.
fire_act
/ FIRE Called when the obj is exposed to fire.
freeze
Attempt to freeze this obj if possible. returns TRUE if it succeeded, FALSE otherwise.
get_demolition_modifier
Returns modifier to how much damage this object does to a target considered vulnerable to "demolition" (other objects, robots, etc)
get_radio_icon
Returns an icon to diplay in chat when this object is used as a radio
handle_deconstruct
The interminate proc between deconstruct() & atom_deconstruct(). By default this delegates deconstruction to atom_deconstruct if NO_DEBRIS_AFTER_DECONSTRUCTION is absent but subtypes can override this to handle NO_DEBRIS_AFTER_DECONSTRUCTION in their own unique way. Override this if for example you want to dump out important content like mobs from the atom before deconstruction regardless if NO_DEBRIS_AFTER_DECONSTRUCTION is present or not Arguments
- disassembled - TRUE means we cleanly took this atom apart using tools. FALSE means this was destroyed in a violent way
on_object_saved
A procedure for saving non-standard properties of an object. For example, saving ore into a silo, and further spavn by coordinates of metal stacks objects
pipe_eject
General proc used to expel a holder's contents through src (for bins holder is also the src).
receive_signal
Proc for reacting to a received /datum/signal. To be implemented as needed,
does nothing by default.
set_bounds
Updates the bounds of a rotated object This ensures that the bounds are always correct, even if the object is rotated after init.
shock
Used to deliver a shock to a mob from this object The target must be adjacent to this object, or else the shock will fail
- shocking - who are we zapping
- chance - probability the shock fails
- shock_source - used for determining where to get the power to zap them. can be an apc, a cable, an area, a cell, or even a powernet datum defaults to our cell or our current area/apc if it doesn't subtypes may override this proc to pass this up to the parent
- siemens_coeff - multiplier to how much shock is delivered
try_put_in_hand
Puts passed object in to user's hand
The passed object is usually something that was in the object and is being ejected
Handles checking if the user can hold the item and if they are in range, otherwise dumps the item on the ground of src
Vars:
- object (obj) The object to be moved in to the users hand.
- user (mob/living) The user to recive the object
Returns TRUE if the object was put in to the users hand, FALSE if it was dropped on the ground.
unfasten_wrench_check
For the do_after, this checks if unfastening conditions are still valid
unfreeze
Unfreezes this obj if its frozen
zap_act
Called when the obj is hit by a tesla bolt.
zap_buckle_check
Only tesla coils, vehicles, and grounding rods currently call this because mobs are already targeted over all other objects, but this might be useful for more things later.