byond - Modules - TypesVar Details - Proc Details

/atom

Vars

base_pixel_xDefault pixel x shifting for the atom's icon.
base_pixel_yDefault pixel y shifting for the atom's icon.
base_transformBase transform matrix, edited by admin tooling and such
hybrid_light_sourcesAny light sources that are "inside" of us, for example, if src here was a mob that's carrying a flashlight, that flashlight's light source would be part of this list.
lightOur light source. Don't fuck with this directly unless you have a good reason!
light_colorHexadecimal RGB string representing the colour of the light. White by default.
light_flagsBitflags to determine lighting-related atom properties.
light_mask_typetypepath for the lighting maskfor dynamic light sources
light_onBoolean variable for toggleable lights. Has no effect without the proper light_system, light_range and light_power values.
light_pixel_xx offset for dynamic lights on this atom
light_pixel_yy offset for dynamic lights on this atom
light_powerIntensity of the light. The stronger, the less shadows you will see on the lit area.
light_rangeRange of the light in tiles. Zero means no light.
light_systemLight systems, only one of the three should be active at the same time.
minimap_colorThe color this atom will be if we choose to draw it on the minimap
orbit_targetReference to atom being orbited
raw_transformLast transform used before being compound with base_transform This allows us to re-create transform if only base_transform changes
reagentsChemistry.
static_lightThe light source, datum. Dont fuck with this directly
static_light_sourcesStatic light sources currently attached to this atom, this includes ones owned by atoms inside this atom

Procs

GetAllContentsWill return the contents of an atom recursivly to a depth of 'searchDepth', not including starting atom
TopicPasses Stat Browser Panel clicks to the game and calls client click on an atom
add_bloodadd_blood
add_mob_bloodAdjust the randomness there so everyone gets the same thing Shout it at everyone
apply_transformUpdates the atom's transform compounding it with /atom/var/base_transform
attack_alien*The parent proc, will default to UnarmedAttack behaviour unless overridden Return XENO_ATTACK_ACTION if it does something and the attack should have full attack delay. Return XENO_NONCOMBAT_ACTION if it did something and should have some delay. Return XENO_NO_DELAY_ACTION if it gave an error message or should have no delay at all, ex. "You can't X that, it's Y!" Return FALSE if it didn't do anything and should count as a missed slash.
balloon_alertCreates text that will float from the atom upwards to the viewer.
balloon_alert_to_viewersCreate balloon alerts (text that floats up) to everything within range. Will only display to people who can see.
beamThis is what you use to start a beam. Example: origin.Beam(target, args). Store the return of this proc if you don't set maxdist or time, you need it to delete the beam.
connect_to_shuttleThis proc is called on atoms when they are loaded into a shuttle
get_all_contentsReturns the src and all recursive contents as a list. Includes the starting atom.
get_all_orbitersRecursive getter method to return a list of all ghosts orbitting this atom
get_storage_depth_toReturns the storage depth of an atom. This is the number of items the atom is nested in before reaching the designated container, counted inclusively. Returning 1 == directly inside the container's contents, 2 == inside something which is itself inside the container, etc. An alternative to loc.loc; looked at another way, the number it returns is the number of loc checks before reaching the target. Returns FALSE if the atom isn't somewhere inside the container's contents.
get_storage_depth_turfLike get storage depth to, but returns the depth to the nearest turf, inclusively Returns FALSE if no top level turf (a loc was null somewhere, or a non-turf atom's loc was an area somehow).
langchat_display_image
langchat_drop_imageHides the image, if one exists. Do not null the langchat image; it is rotated when the mob is buckled or proned to maintain text orientation.
langchat_make_imageCreates the image if one does not exist, resets settings that are modified by speech procs.
reset_lightTurn on the light, should be called by a timer
setDirHook for running code when a dir change occurs
set_densitySetter for the density variable to append behavior related to its changing.
set_light_flagsSetter for the light flags of this atom.
set_opacityUpdates the atom's opacity value.
static_update_lightPretty simple, just updates static lights on this atom
transfer_label_component//////////////////// Hand Labeler //////////////////////////////// meant for use with qdelling/newing things to transfer labels between them
transition_filter
turn_lightIf this object has lights, turn it on/off. user: the mob actioning this toggle_on: if TRUE, will try to turn ON the light. Opposite if FALSE cooldown: how long until you can toggle the light on/off again sparks: if a spark effect will be generated forced: if TRUE and toggle_on = FALSE, will cause the light to turn on in cooldown second originated_turf: if not null, will check if the obj_turf is closer than distance_max to originated_turf, and the proc will return if not distance_max: used to check if originated_turf is close to obj.loc
update_base_transformUpates the base_transform which will be compounded with other transforms
update_lightWill update the light (duh).Creates or destroys it if needed, makes it update values, makes sure it's got the correct source turf...
vv_get_dropdownReturn the markup to for the dropdown list for the VV panel for this atom

Var Details

base_pixel_x

Default pixel x shifting for the atom's icon.

base_pixel_y

Default pixel y shifting for the atom's icon.

base_transform

Base transform matrix, edited by admin tooling and such

hybrid_light_sources

Any light sources that are "inside" of us, for example, if src here was a mob that's carrying a flashlight, that flashlight's light source would be part of this list.

light

Our light source. Don't fuck with this directly unless you have a good reason!

light_color

Hexadecimal RGB string representing the colour of the light. White by default.

light_flags

Bitflags to determine lighting-related atom properties.

light_mask_type

typepath for the lighting maskfor dynamic light sources

light_on

Boolean variable for toggleable lights. Has no effect without the proper light_system, light_range and light_power values.

light_pixel_x

x offset for dynamic lights on this atom

light_pixel_y

y offset for dynamic lights on this atom

light_power

Intensity of the light. The stronger, the less shadows you will see on the lit area.

light_range

Range of the light in tiles. Zero means no light.

light_system

Light systems, only one of the three should be active at the same time.

minimap_color

The color this atom will be if we choose to draw it on the minimap

orbit_target

Reference to atom being orbited

raw_transform

Last transform used before being compound with base_transform This allows us to re-create transform if only base_transform changes

reagents

Chemistry.

static_light

The light source, datum. Dont fuck with this directly

static_light_sources

Static light sources currently attached to this atom, this includes ones owned by atoms inside this atom

Proc Details

GetAllContents

Will return the contents of an atom recursivly to a depth of 'searchDepth', not including starting atom

Topic

Passes Stat Browser Panel clicks to the game and calls client click on an atom

add_blood

add_blood

add_mob_blood

Adjust the randomness there so everyone gets the same thing Shout it at everyone

apply_transform

Updates the atom's transform compounding it with /atom/var/base_transform

attack_alien

*The parent proc, will default to UnarmedAttack behaviour unless overridden Return XENO_ATTACK_ACTION if it does something and the attack should have full attack delay. Return XENO_NONCOMBAT_ACTION if it did something and should have some delay. Return XENO_NO_DELAY_ACTION if it gave an error message or should have no delay at all, ex. "You can't X that, it's Y!" Return FALSE if it didn't do anything and should count as a missed slash.

If using do_afters or sleeps, use invoke_async (or manually add the relevant action delayand return FALSE so that it doesn't double up on the delays) so that it applies the delay immediately instead of when it finishes.*

balloon_alert

Creates text that will float from the atom upwards to the viewer.

balloon_alert_to_viewers

Create balloon alerts (text that floats up) to everything within range. Will only display to people who can see.

beam

This is what you use to start a beam. Example: origin.Beam(target, args). Store the return of this proc if you don't set maxdist or time, you need it to delete the beam.

Unless you're making a custom beam effect (see the beam_type argument), you won't actually have to mess with any other procs. Make sure you store the return of this Proc, you'll need it to kill the beam. Arguments: BeamTarget: Where you're beaming from. Where do you get origin? You didn't read the docs, fuck you. icon_state: What the beam's icon_state is. The datum effect isn't the ebeam object, it doesn't hold any icon and isn't type dependent. icon: What the beam's icon file is. Don't change this, man. All beam icons should be in beam.dmi anyways. maxdistance: how far the beam will go before stopping itself. Used mainly for two things: preventing lag if the beam may go in that direction and setting a range to abilities that use beams. beam_type: The type of your custom beam. This is for adding other wacky stuff for your beam only. Most likely, you won't (and shouldn't) change it.

connect_to_shuttle

This proc is called on atoms when they are loaded into a shuttle

get_all_contents

Returns the src and all recursive contents as a list. Includes the starting atom.

get_all_orbiters

Recursive getter method to return a list of all ghosts orbitting this atom

This will work fine without manually passing arguments.

get_storage_depth_to

Returns the storage depth of an atom. This is the number of items the atom is nested in before reaching the designated container, counted inclusively. Returning 1 == directly inside the container's contents, 2 == inside something which is itself inside the container, etc. An alternative to loc.loc; looked at another way, the number it returns is the number of loc checks before reaching the target. Returns FALSE if the atom isn't somewhere inside the container's contents.

get_storage_depth_turf

Like get storage depth to, but returns the depth to the nearest turf, inclusively Returns FALSE if no top level turf (a loc was null somewhere, or a non-turf atom's loc was an area somehow).

langchat_display_image

langchat_drop_image

Hides the image, if one exists. Do not null the langchat image; it is rotated when the mob is buckled or proned to maintain text orientation.

langchat_make_image

Creates the image if one does not exist, resets settings that are modified by speech procs.

reset_light

Turn on the light, should be called by a timer

setDir

Hook for running code when a dir change occurs

Not recommended to override, listen for the COMSIG_ATOM_DIR_CHANGE signal instead (sent by this proc)

set_density

Setter for the density variable to append behavior related to its changing.

set_light_flags

Setter for the light flags of this atom.

set_opacity

Updates the atom's opacity value.

This exists to act as a hook for associated behavior. It notifies (potentially) affected light sources so they can update (if needed).

static_update_light

Pretty simple, just updates static lights on this atom

transfer_label_component

//////////////////// Hand Labeler //////////////////////////////// meant for use with qdelling/newing things to transfer labels between them

transition_filter

turn_light

If this object has lights, turn it on/off. user: the mob actioning this toggle_on: if TRUE, will try to turn ON the light. Opposite if FALSE cooldown: how long until you can toggle the light on/off again sparks: if a spark effect will be generated forced: if TRUE and toggle_on = FALSE, will cause the light to turn on in cooldown second originated_turf: if not null, will check if the obj_turf is closer than distance_max to originated_turf, and the proc will return if not distance_max: used to check if originated_turf is close to obj.loc

update_base_transform

Upates the base_transform which will be compounded with other transforms

update_light

Will update the light (duh).Creates or destroys it if needed, makes it update values, makes sure it's got the correct source turf...

vv_get_dropdown

Return the markup to for the dropdown list for the VV panel for this atom

Override in subtypes to add custom VV handling in the VV panel