/atom
Vars | |
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 |
emp_proof | determines whether or not the object can be affected by EMPs |
explo_proof | determines whether or not the object can be destroyed by an explosion |
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. |
last_balloon_alert_time | The world.time the last balloon alert was displayed |
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 |
unacidable | determines whether or not the object can be destroyed by xeno acid |
Procs | |
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. |
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. |
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 |
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 |
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. |
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 |
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
emp_proof
determines whether or not the object can be affected by EMPs
explo_proof
determines whether or not the object can be destroyed by an explosion
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.
last_balloon_alert_time
The world.time the last balloon alert was displayed
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
unacidable
determines whether or not the object can be destroyed by xeno acid
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_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
- Displays image to a single listener after it was built above eg. for chaining different game logic than speech code This does just that, doesn't check deafness or language! Do what you will in that regard *
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
-
Update a filter's parameter and animate this change. If the filter doesnt exist we won't do anything.
-
Basically a [datum/proc/modify_filter] call but with animations. Unmodified filter parameters are kept.
-
Arguments:
-
- name - Filter name
-
- new_params - New parameters of the filter
-
- time - time arg of the BYOND animate() proc.
-
- easing - easing arg of the BYOND animate() proc.
-
- loop - loop arg of the BYOND animate() proc.
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