Space Station 13 - Nebula13 - Modules - TypesVar Details - Proc Details

atom

Vars

_reagent_update_started(FLOAT) world.time of last on_reagent_update call, used to prevent recursion due to reagents updating reagents
atom_flags(BITFLAG) See flags.dm
blood_DNA(DICTIONARY) A lazy map. The key is a MD5 player name and the value is the blood type.
blood_color(COLOR) The color of the blood shown on blood overlays.
climb_speed_mult(FLOAT) The climbing speed multiplier for this atom
climbers(LIST) A list of all mobs that are climbing or currently on this atom
current_health(FLOAT) Current remaining health value.
explosion_resistance(INTEGER) The amount an explosion's power is decreased when encountering this atom
fluorescent(FALSE|DEFINES) How this atom is interacting with UV light. See misc.dm
germ_level(INTEGER) The number of germs on this atom.
icon_rotation(FLOAT) The angle in degrees clockwise that should be applied.
icon_scale_x(FLOAT) The horizontal scaling that should be applied.
icon_scale_y(FLOAT) The vertical scaling that should be applied.
is_spawnable_type(BOOL) If it can be spawned normally
last_bumped(FLOAT) The world.time that this atom last bumped another. Used mostly by mobs.
level(DEFINE) Determines where this atom sits in terms of turf plating. See misc.dm
light_dirAn override for cases where the light is not facing the same direction as the object.
max_health(FLOAT) Theoretical maximum health value.
pass_flags(BITFLAG) See flags.dm
reagentsThe chemical contents of this atom
simulated(BOOL) If an atom should be interacted with by a number of systems (Atmos, Liquids, Turbolifts, Etc.)
storage(DATUM) /datum/storage instance to use for this obj. Set to a type for instantiation on init.
temperatureWhat is this atom's current temperature?
temperature_sensitive(BOOL) Does this atom respond to changes in local temperature via the temperature var?
throwpass(BOOL) If a thrown object can continue past this atom. Sometimes used for clicking as well? TODO: Rework this
transform_animate_time(FLOAT) If greater than zero, transform-based adjustments (scaling, rotating) will visually occur over this time.
was_bloodied(BOOL) If this atom was bloodied before.

Procs

BumpedHandle an atom bumping this atom
CheckExitCheck if an atom can exit this atom's turf.
EnteredMovement Handling
ExitedExited Handling
HasProximityHandle an atom entering this atom's proximity
SetNameName Set Handling
add_bloodAttempt to add blood to this atom
additional_see_invisibleGet the level of invisible sight this atom should provide to a user
additional_sight_flagsGet sight flags that this atom should provide to a user
assume_airAttempt to merge a gas_mixture giver into this atom's gas_mixture
audible_messageShow a message to all mobs and objects in earshot of this atom
bullet_actHandle a projectile P hitting this atom
can_be_poured_fromThis is whether it's physically possible to pour from this atom to the target atom, based on context like user intent and src being open, etc. This should not check things like whether there is actually anything in src to pour. It should also not check anything controlled by the target atom, because can_be_poured_into() already exists.
can_climbCheck if a user can climb this atom.
check_eyeGet the flags that should be added to the users sight var.
checkpassCheck if this atom can be passed by another given the flags provided
cleanRemove any blood from this atom
do_climbHandle user climbing onto this atom.
dump_contentsDump the contents of this atom onto its loc
emag_actHandle a user attempting to emag this atom
emp_actHandle an EMP affecting this atom
explosion_actHandle an explosion of severity affecting this atom
fire_actHandle this atom being exposed to fire
get_alarm_zAssisting procs
get_alt_interactionsGet a list of alt interactions for a user from this atom.
get_ambient_temperatureReturns the 'ambient temperature' used for temperature equalisation.
get_ambient_temperature_coefficientReturns the coefficient used for ambient temperature equalisation. Mainly used to prevent vacuum from cooling down objects.
get_cellGet any power cell associated with this atom.
get_colorGet the current color of this atom.
get_contained_external_atomsReturn a list of all simulated atoms inside this one.
get_contained_matterReturns the sum of this atoms's reagents plus the combined matter of all its contents. Obj adds matter contents. Other overrides may add extra handling for things like material storage. Most useful for calculating worth or deconstructing something along with its contents.
get_heatGet the temperature of this atom's heat source
get_radioGet any radio associated with this atom.
get_recursive_loc_of_typeGet the first loc of the specified loc_type from walking up the loc tree of this atom.
grab_attackHandle this atom being hit by a grab.
handle_meltingHandle this atom being destroyed through melting
hitbyHandle this atom being hit by a thrown atom
in_contents_ofCheck if this atom is in the path or atom container
isflamesourceCheck if this atom is a source of fire
lava_actHandle this atom being exposed to lava. Calls qdel() by default
merge_exhaled_volumeMerge an exhaled air volume into air contents..
modify_mapped_varsAdjust variables prior to Initialize() based on the map
object_shakenShake this atom and all its climbers.
onDropIntoHandle dropping an atom onto this atom.
on_update_iconUpdate this atom's icon.
physically_destroyedHandle the destruction of this atom, spilling its contents by default
relaymoveRelay movement to this atom.
remove_airAttempt to remove amount moles from this atom's gas_mixture
return_airGet the air of this atom or its location's air
reveal_bloodReveal any blood on the item and update its color to that of luminol
search_contents_forRecursively search this atom's contents for an atom of type path
set_densitySet the density of this atom to new_density
set_dirSet the direction of this atom to new_dir
set_iconSet the icon to new_icon
set_icon_stateSet the icon_state to new_icon_state
set_invisibilityInvisibility Set Handling
set_rotationSet the rotation of this atom's transform
set_scaleSet the scale of this atom's transform.
try_detonate_reagentsAttempt to detonate the reagents contained in this atom
try_on_reagent_changeHandle reagents being modified
turf_is_crowdedCheck if this atom's turf is blocked.
update_iconUpdate this atom's icon.
update_transformUpdate this atom's transform from stored values.
visible_messageShow a message to all mobs and objects in sight of this atom.

Var Details

_reagent_update_started

(FLOAT) world.time of last on_reagent_update call, used to prevent recursion due to reagents updating reagents

atom_flags

(BITFLAG) See flags.dm

blood_DNA

(DICTIONARY) A lazy map. The key is a MD5 player name and the value is the blood type.

blood_color

(COLOR) The color of the blood shown on blood overlays.

climb_speed_mult

(FLOAT) The climbing speed multiplier for this atom

climbers

(LIST) A list of all mobs that are climbing or currently on this atom

current_health

(FLOAT) Current remaining health value.

explosion_resistance

(INTEGER) The amount an explosion's power is decreased when encountering this atom

fluorescent

(FALSE|DEFINES) How this atom is interacting with UV light. See misc.dm

germ_level

(INTEGER) The number of germs on this atom.

icon_rotation

(FLOAT) The angle in degrees clockwise that should be applied.

icon_scale_x

(FLOAT) The horizontal scaling that should be applied.

icon_scale_y

(FLOAT) The vertical scaling that should be applied.

is_spawnable_type

(BOOL) If it can be spawned normally

last_bumped

(FLOAT) The world.time that this atom last bumped another. Used mostly by mobs.

level

(DEFINE) Determines where this atom sits in terms of turf plating. See misc.dm

light_dir

An override for cases where the light is not facing the same direction as the object.

max_health

(FLOAT) Theoretical maximum health value.

pass_flags

(BITFLAG) See flags.dm

reagents

The chemical contents of this atom

simulated

(BOOL) If an atom should be interacted with by a number of systems (Atmos, Liquids, Turbolifts, Etc.)

storage

(DATUM) /datum/storage instance to use for this obj. Set to a type for instantiation on init.

temperature

What is this atom's current temperature?

temperature_sensitive

(BOOL) Does this atom respond to changes in local temperature via the temperature var?

throwpass

(BOOL) If a thrown object can continue past this atom. Sometimes used for clicking as well? TODO: Rework this

transform_animate_time

(FLOAT) If greater than zero, transform-based adjustments (scaling, rotating) will visually occur over this time.

was_bloodied

(BOOL) If this atom was bloodied before.

Proc Details

Bumped

Handle an atom bumping this atom

Called by AMs Bump()

CheckExit

Check if an atom can exit this atom's turf.

Entered

Movement Handling

Exited

Exited Handling

HasProximity

Handle an atom entering this atom's proximity

Called when an atom enters this atom's proximity. Both this and the other atom need to have the MOVABLE_FLAG_PROXMOVE flag (as it helps reduce lag).

SetName

Name Set Handling

add_blood

Attempt to add blood to this atom

If a mob is provided, their blood will be used

additional_see_invisible

Get the level of invisible sight this atom should provide to a user

additional_sight_flags

Get sight flags that this atom should provide to a user

assume_air

Attempt to merge a gas_mixture giver into this atom's gas_mixture

audible_message

Show a message to all mobs and objects in earshot of this atom

Used for atoms performing audible actions

bullet_act

Handle a projectile P hitting this atom

can_be_poured_from

This is whether it's physically possible to pour from this atom to the target atom, based on context like user intent and src being open, etc. This should not check things like whether there is actually anything in src to pour. It should also not check anything controlled by the target atom, because can_be_poured_into() already exists.

can_climb

Check if a user can climb this atom.

check_eye

Get the flags that should be added to the users sight var.

checkpass

Check if this atom can be passed by another given the flags provided

clean

Remove any blood from this atom

do_climb

Handle user climbing onto this atom.

dump_contents

Dump the contents of this atom onto its loc

emag_act

Handle a user attempting to emag this atom

emp_act

Handle an EMP affecting this atom

explosion_act

Handle an explosion of severity affecting this atom

fire_act

Handle this atom being exposed to fire

get_alarm_z

Assisting procs

get_alt_interactions

Get a list of alt interactions for a user from this atom.

get_ambient_temperature

Returns the 'ambient temperature' used for temperature equalisation.

get_ambient_temperature_coefficient

Returns the coefficient used for ambient temperature equalisation. Mainly used to prevent vacuum from cooling down objects.

get_cell

Get any power cell associated with this atom.

get_color

Get the current color of this atom.

get_contained_external_atoms

Return a list of all simulated atoms inside this one.

get_contained_matter

Returns the sum of this atoms's reagents plus the combined matter of all its contents. Obj adds matter contents. Other overrides may add extra handling for things like material storage. Most useful for calculating worth or deconstructing something along with its contents.

get_heat

Get the temperature of this atom's heat source

get_radio

Get any radio associated with this atom.

Used for handle_message_mode or other radio-based logic.

get_recursive_loc_of_type

Get the first loc of the specified loc_type from walking up the loc tree of this atom.

grab_attack

Handle this atom being hit by a grab.

Called by resolve_attackby()

handle_melting

Handle this atom being destroyed through melting

hitby

Handle this atom being hit by a thrown atom

in_contents_of

Check if this atom is in the path or atom container

isflamesource

Check if this atom is a source of fire

lava_act

Handle this atom being exposed to lava. Calls qdel() by default

merge_exhaled_volume

Merge an exhaled air volume into air contents..

modify_mapped_vars

Adjust variables prior to Initialize() based on the map

Called by the maploader to perform static modifications to vars set on the map. Intended use case: Adjust tag vars on duplicate templates (such as airlock tags).

object_shaken

Shake this atom and all its climbers.

onDropInto

Handle dropping an atom onto this atom.

If the item should move into this atom, return null. Otherwise, return the destination atom where the item should be moved.

on_update_icon

Update this atom's icon.

Usually queue_icon_update() or update_icon() should be used instead.

physically_destroyed

Handle the destruction of this atom, spilling its contents by default

relaymove

Relay movement to this atom.

Called by mobs, such as when the mob is inside the atom, their buckled var is set to this, or this atom is set as their machine.

remove_air

Attempt to remove amount moles from this atom's gas_mixture

return_air

Get the air of this atom or its location's air

reveal_blood

Reveal any blood on the item and update its color to that of luminol

search_contents_for

Recursively search this atom's contents for an atom of type path

set_density

Set the density of this atom to new_density

set_dir

Set the direction of this atom to new_dir

set_icon

Set the icon to new_icon

set_icon_state

Set the icon_state to new_icon_state

set_invisibility

Invisibility Set Handling

set_rotation

Set the rotation of this atom's transform

set_scale

Set the scale of this atom's transform.

try_detonate_reagents

Attempt to detonate the reagents contained in this atom

try_on_reagent_change

Handle reagents being modified

turf_is_crowded

Check if this atom's turf is blocked.

This doesn't handle border structures and should be preceded by an Adjacent() check.

update_icon

Update this atom's icon.

update_transform

Update this atom's transform from stored values.

Applies icon_scale and icon_rotation. When transform_animate_time is set, the transform is animated over the specified duration. Otherwise, it is applied instantly.

visible_message

Show a message to all mobs and objects in sight of this atom.

Used for atoms performing visible actions