SS1984 - Modules - TypesVar Details - Proc Details

obj

Vars

acid_levelHow much acid is on this object?
being_shockedIs this object currently being zapped by lightning?
custom_fire_overlayIf provided, a custom overlay representing being the object being on fire.
damage_deflectionDamage under this value will be completely ignored.
damtypeWhat type of damage does this object deal?
emaggedIs this object emagged?
forceHow much damage this object does in melee.
icon_previewIcon to use as a 32x32 preview in crafting menus and such
in_useIf we have a user using us, this will become TRUE. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING!
integrity_failureHealth threshold below which the object will break. Defaults to 0 for no special broken behavior.
max_integrityMaximum health of the object, and default value of obj_integrity.
multitool_menu_typeTypepath of a datum/multitool_menu subtype or null.
obj_integrityHealth of the object. If unspecified, defaults to max_integrity.
on_blueprintsAre we visible on the station blueprints at roundstart?
origin_techUsed by R&D to determine what research bonuses it grants.
pull_push_slowdownAmount of multiplicative slowdown applied if pulled/pushed. >1 makes you slower, <1 makes you faster.
req_accessList 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.
resistance_flagsFlags that make this object harder to destroy, e.g. [ACID_PROOF], [FIRE_PROOF], [INDESTRUCTIBLE].
sharpCan this object cut?
speed_processShould this object speed process? Greatly increases the frequency of process events (5 times more frequent).
suicidal_handsDoes this object require you to hold it to commit suicide with it?

Procs

acid_actThe obj's reaction when touched by acid
acid_meltCalled when the obj is destroyed by acid.
acid_processingThe proc called by the acid subsystem to process the acid that's on the obj
burnCalled when the obj is destroyed by fire
deconstructThe obj is deconstructed into pieces, whether through careful disassembly or when destroyed.
extinguishCalled when the obj is no longer on fire.
get_integrityThis mostly exists to keep obj_integrity private. Might be useful in the future.
get_integrity_percentageSimilar to get_integrity, but returns the percentage as [0-1] instead.
interactHidden uplink interaction proc. Gathers a list of items purchasable from the paren't uplink and displays it. It also adds a lock button.
modify_max_integrityChanges max_integrity while retaining current health percentage, returns TRUE if the obj got broken.
obj_breakWhat happens when the obj's health is below integrity_failure level.
obj_destructionWhat happens when the obj's integrity reaches zero.
on_update_integrityHandle updates to your obj's integrity
pipe_ejectGeneral proc used to expel a holder's contents through src (for bins holder is also the src).
play_attack_soundThe sound played when the obj is damaged.
repair_damageProc for recovering atom_integrity. Returns the amount repaired by
run_obj_armorReturns the damage value of the attack after processing the obj's various armor protections
set_sharpnessSet whether the item should be sharp or not
take_damageThe essential proc to call when an obj must receive damage of any kind.
ui_login_actCall this from a proc that is called in ui_act() to process login actions
ui_login_attackbyConvenience function to perform login actions when the source object is hit by specific items.
ui_login_dataAppends login state data.
ui_login_ejectAttempts to eject the inserted ID.
ui_login_getReturns (or creates) the login state for the source object.
ui_login_insertAttempts to insert an object as an ID.
ui_login_loginAttempts to log in with the given login type.
ui_login_logoutAttempts to log out.
ui_login_on_loginCalled on successful login.
ui_login_on_logoutCalled on successful logout.
update_integrityHandles the integrity of an obj changing. This must be called instead of changing integrity directly.
zap_actCalled when the obj is hit by a tesla bolt.
zap_buckle_checkOnly 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

acid_level

How much acid is on this object?

being_shocked

Is this object currently being zapped by lightning?

custom_fire_overlay

If provided, a custom overlay representing being the object being on fire.

damage_deflection

Damage under this value will be completely ignored.

damtype

What type of damage does this object deal?

emagged

Is this object emagged?

force

How much damage this object does in melee.

icon_preview

Icon to use as a 32x32 preview in crafting menus and such

in_use

If we have a user using us, this will become TRUE. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING!

integrity_failure

Health threshold below which the object will break. Defaults to 0 for no special broken behavior.

max_integrity

Maximum health of the object, and default value of obj_integrity.

multitool_menu_type

Typepath of a datum/multitool_menu subtype or null.

obj_integrity

Health of the object. If unspecified, defaults to max_integrity.

on_blueprints

Are we visible on the station blueprints at roundstart?

origin_tech

Used by R&D to determine what research bonuses it grants.

pull_push_slowdown

Amount of multiplicative slowdown applied if pulled/pushed. >1 makes you slower, <1 makes you faster.

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.

resistance_flags

Flags that make this object harder to destroy, e.g. [ACID_PROOF], [FIRE_PROOF], [INDESTRUCTIBLE].

sharp

Can this object cut?

speed_process

Should this object speed process? Greatly increases the frequency of process events (5 times more frequent).

suicidal_hands

Does this object require you to hold it to commit suicide with it?

Proc Details

acid_act

The obj's reaction when touched by acid

acid_melt

Called when the obj is destroyed by acid.

acid_processing

The proc called by the acid subsystem to process the acid that's on the obj

burn

Called when the obj is destroyed by fire

deconstruct

The obj is deconstructed into pieces, whether through careful disassembly or when destroyed.

extinguish

Called when the obj is no longer on fire.

get_integrity

This mostly exists to keep obj_integrity private. Might be useful in the future.

get_integrity_percentage

Similar to get_integrity, but returns the percentage as [0-1] instead.

interact

Hidden uplink interaction proc. Gathers a list of items purchasable from the paren't uplink and displays it. It also adds a lock button.

Arguments:

modify_max_integrity

Changes max_integrity while retaining current health percentage, returns TRUE if the obj got broken.

obj_break

What happens when the obj's health is below integrity_failure level.

obj_destruction

What happens when the obj's integrity reaches zero.

on_update_integrity

Handle updates to your obj's integrity

pipe_eject

General proc used to expel a holder's contents through src (for bins holder is also the src).

play_attack_sound

The sound played when the obj is damaged.

repair_damage

Proc for recovering atom_integrity. Returns the amount repaired by

run_obj_armor

Returns the damage value of the attack after processing the obj's various armor protections

set_sharpness

Set whether the item should be sharp or not

take_damage

The essential proc to call when an obj must receive damage of any kind.

ui_login_act

Call this from a proc that is called in ui_act() to process login actions

Arguments:

ui_login_attackby

Convenience function to perform login actions when the source object is hit by specific items.

Arguments:

ui_login_data

Appends login state data.

Arguments:

ui_login_eject

Attempts to eject the inserted ID.

Arguments:

ui_login_get

Returns (or creates) the login state for the source object.

Arguments:

ui_login_insert

Attempts to insert an object as an ID.

Arguments:

ui_login_login

Attempts to log in with the given login type.

Arguments:

ui_login_logout

Attempts to log out.

Arguments:

ui_login_on_login

Called on successful login.

Arguments:

ui_login_on_logout

Called on successful logout.

Arguments:

update_integrity

Handles the integrity of an obj changing. This must be called instead of changing integrity directly.

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.