Goonstation 13 - Modules - TypesVar Details - Proc Details

/atom

The base type for nearly all physical objects in SS13

Lots of functionality resides in this type.

Vars

chat_textAnything can speak... if it can speak
mat_appearances_to_ignoreif a material is listed in here then we don't take on its color/alpha (maybe, if this works)
mat_changeappearanceChange the appearance of this atom when a material is applied?
mat_changedescChange the desc of this atom when a material is applied?
mat_changenameChange the name of this atom when a material is applied?
open_to_soundIf hear_talk is triggered on this object, make my contents hear_talk as well
reagentsChemistry.
rest_multA multiplier that changes how an atom stands up from resting. Yes.
statusEffectsList of status effects
texture_sizeOverride for the texture size used by setTexture.

Procs

Attackbywrapper proc for /atom/proc/attackby so that signals are always sent. Call this, but do not override it.
add_sm_lightlight.pixel_x = (vx * min(dist,light.dist) * 32) - 32
attackbyinternal proc for when an atom is attacked by an item. Override this, but do not call it, ( istype(W, /obj/item/grab) || istype(W, /obj/item/spraybottle) || istype(W, /obj/item/card/emag)))
blob_actBLOB RELATED PROCS
changeStatusIf atom has status with {statusId}, change by {duration}.
clean_nameGets the atoms name with all the ugly prefixes things remove
containsReturns true if the given atom is within src's contents (deeply/recursively)
contents_ui_distancepublic
damage_bluntDoes x blunt damage to the atom
damage_coldDoes x cold damage to the atom
damage_corrosiveDoes x corrosive damage to the atom
damage_electricityDoes x electricity damage to the atom
damage_heatdoes x heat damage to the atom
damage_piercingDoes x piercing damage to the atom
damage_radiationDoes x radiation damage to the atom
damage_slashingDoes x slashing damage to the atom
delStatusDeletes the given status from the atom.
getStatusDurationReturns duration of status with given {statusId}, or null if not found.
getStatusListReturns a list of all the datum/statusEffect on source atom.
hasStatusReturns first status with given {statusId} or null if not found.
is_open_containerConvenience proc to see if a container is open for chemistry handling
onMaterialChangedCalled AFTER the material of the object was changed.
removeMaterialSimply removes a material from an object.
safe_nameclean_name(), but encoded too since everything ever uses HTML in the game.
setMaterialSets the material of an object. PLEASE USE THIS TO SET MATERIALS UNLESS YOU KNOW WHAT YOU'RE DOING.
setStatusIf atom has status with {statusId}, set it to {duration}.
special_desc
updateStatusUiStub. Override for objects that need to update their ui with status effect information.

Var Details

chat_text

Anything can speak... if it can speak

mat_appearances_to_ignore

if a material is listed in here then we don't take on its color/alpha (maybe, if this works)

mat_changeappearance

Change the appearance of this atom when a material is applied?

mat_changedesc

Change the desc of this atom when a material is applied?

mat_changename

Change the name of this atom when a material is applied?

open_to_sound

If hear_talk is triggered on this object, make my contents hear_talk as well

reagents

Chemistry.

rest_mult

A multiplier that changes how an atom stands up from resting. Yes.

statusEffects

List of status effects

texture_size

Override for the texture size used by setTexture.

Proc Details

Attackby

wrapper proc for /atom/proc/attackby so that signals are always sent. Call this, but do not override it.

add_sm_light

light.pixel_x = (vx * min(dist,light.dist) * 32) - 32

attackby

internal proc for when an atom is attacked by an item. Override this, but do not call it, ( istype(W, /obj/item/grab) || istype(W, /obj/item/spraybottle) || istype(W, /obj/item/card/emag)))

blob_act

BLOB RELATED PROCS

changeStatus

If atom has status with {statusId}, change by {duration}.

(The change is relative to the current value, think +=) If atom does not have status, add it with given {duration}. In both cases {optional} will be passed into either .onAdd or .onChange on the status effect. Useful for custom behaviour.

clean_name

Gets the atoms name with all the ugly prefixes things remove

contains

Returns true if the given atom is within src's contents (deeply/recursively)

contents_ui_distance

public

Check the distance for a living mob. Really only used for checks outside the context of a mob. Otherwise, use shared_living_ui_distance().

required src_object The object which owns the UI. required user mob The mob who opened/is using the UI.

return UI_state The state of the UI.

damage_blunt

Does x blunt damage to the atom

damage_cold

Does x cold damage to the atom

damage_corrosive

Does x corrosive damage to the atom

damage_electricity

Does x electricity damage to the atom

damage_heat

does x heat damage to the atom

damage_piercing

Does x piercing damage to the atom

damage_radiation

Does x radiation damage to the atom

damage_slashing

Does x slashing damage to the atom

delStatus

Deletes the given status from the atom.

{status} can either be a reference to a status effect or a status effect ID.

getStatusDuration

Returns duration of status with given {statusId}, or null if not found.

getStatusList

Returns a list of all the datum/statusEffect on source atom.

{optionalArgs} can be passed in for additional checks that are handled in the effects .onCheck proc. Useful if you want to check some custom conditions on status effects.

hasStatus

Returns first status with given {statusId} or null if not found.

{optionalArgs} can be passed in for additional checks that are handled in the effects .onCheck proc. Useful if you want to check some custom conditions on status effects.

is_open_container

Convenience proc to see if a container is open for chemistry handling

onMaterialChanged

Called AFTER the material of the object was changed.

removeMaterial

Simply removes a material from an object.

safe_name

clean_name(), but encoded too since everything ever uses HTML in the game.

setMaterial

Sets the material of an object. PLEASE USE THIS TO SET MATERIALS UNLESS YOU KNOW WHAT YOU'RE DOING.

setStatus

If atom has status with {statusId}, set it to {duration}.

(The change is absolute, think =)

If atom does not have status, add it with given {duration}.

In both cases {optional} will be passed into either .onAdd or .onChange on the status effect. Useful for custom behaviour.

special_desc

updateStatusUi

Stub. Override for objects that need to update their ui with status effect information.