Space Station 13 - Modules - TypesDefine Details

code/__HELPERS/trait_helpers.dm

ADD_TRAITAdds a status trait to the target datum.
REMOVE_TRAITRemoves a status trait from a target datum.
REMOVE_TRAITS_NOT_INRemoves all status traits from a target datum which were NOT added by sources.
REMOVE_TRAITS_INRemoves all status traits from a target datum which were added by sources.
HAS_MIND_TRAITA simple helper for checking traits in a mob's mind
UNIQUE_TRAIT_SOURCEGives a unique trait source for any given datum
TRAIT_DODGE_ALL_OBJECTSAllows a mob to dodge all thrown objects
TRAIT_MENTOR_OBSERVINGused for dead mobs that are observing, but should not be afforded all the same platitudes as full ghosts. This is a mind trait because ghosts can be frequently deleted and we want to be sure this sticks.
TRAIT_SHOW_WIRE_INFOShow what machine/door wires do when held.
TRAIT_SUPERMATTER_IMMUNEImmune to the SM / makes you immune to it when worn
TRAIT_WIELDEDAn item that is being wielded.
TRAIT_OBSCURED_WIRESWires on this will have their titles randomized for those with SHOW_WIRES
TRAIT_FORCES_OPEN_DOORS_ITEMForces open doors after a delay specific to the item
TRAIT_NO_THROWN_MESSAGEMakes the item no longer spit out a visible message when thrown
TRAIT_SILENT_INSERTIONMakes the item not display a message on storage insertion
TRAIT_ITEM_ACTIVEMakes an item active, this is generally used by energy based weapons or toggle based items.
TRAIT_SURGICALA surgical tool; when in hand in help intent (and with a surgery in progress) won't attack the user
TRAIT_ADVANCED_SURGICALAn advanced surgical tool. If a surgical tool has this flag, it will be able to automatically repeat steps until they succeed.
TRAIT_SURGICAL_OPEN_HANDA surgical tool; If a surgical tool has this flag it can be used as an alternative to an open hand in surgery
TRAIT_TURF_COVEREDPrevent mobs on the turf from being affected by anything below that turf, such as a pulse demon going under it. Added by a /obj/structure with creates_cover set to TRUE
TRAIT_OIL_SLICKEDAn item that is oiled. If sprayed with water, it's slowdown reverts to normal.
TRAIT_CAN_POINT_WITHAn item that can be pointed at mobs, while on non-help intent.
TRAIT_ORGAN_INSERTED_WHILE_DEADAn organ that was inserted into a dead mob, that has not been revived yet
TRAIT_ADJACENCY_TRANSPARENTAn /obj that should not increase the "depth" of the search for adjacency, e.g. a storage container or a modsuit.
TRAIT_NO_BREAK_GLASS_TABLESA trait for items that will not break glass tables if the user is buckled to them.
TRAIT_CURRENTLY_Z_MOVINGA trait for determining if a atom/movable is currently crossing into another z-level by using of /turf/space z-level "destination-xyz" transfers
MENTOR_OBSERVINGMentor observing
TRAIT_KNOCKEDOUTForces the user to stay unconscious.
TRAIT_IMMOBILIZEDPrevents voluntary movement.
TRAIT_FLOOREDPrevents voluntary standing or staying up on its own.
TRAIT_HANDS_BLOCKEDPrevents usage of manipulation appendages (picking, holding or using items, manipulating storage).
TRAIT_UI_BLOCKEDInability to access UI hud elements.
TRAIT_CANNOT_PULLInability to pull things.
TRAIT_RESTRAINEDAbstract condition that prevents movement if being pulled and might be resisted against. Handcuffs and straight jackets, basically.
STATION_TRAIT_BANANIUM_SHIPMENTSTraits given by station traits
TRAIT_BLUESPACE_SPEEDRemoves slowdown while walking on these tiles.
/proc/callback_add_traitProc wrapper of add_trait. You should only use this for callback. Otherwise, use the macro.
/proc/callback_remove_traitProc wrapper of remove_trait. You should only use this for callback. Otherwise, use the macro.

Define Details

ADD_TRAIT

Adds a status trait to the target datum.

Arguments: (All Required)

HAS_MIND_TRAIT

A simple helper for checking traits in a mob's mind

MENTOR_OBSERVING

Mentor observing

REMOVE_TRAIT

Removes a status trait from a target datum.

ROUNDSTART_TRAIT traits can't be removed without being specified in sources. Arguments:

REMOVE_TRAITS_IN

Removes all status traits from a target datum which were added by sources.

Arguments:

REMOVE_TRAITS_NOT_IN

Removes all status traits from a target datum which were NOT added by sources.

Arguments:

STATION_TRAIT_BANANIUM_SHIPMENTS

Traits given by station traits

TRAIT_ADJACENCY_TRANSPARENT

An /obj that should not increase the "depth" of the search for adjacency, e.g. a storage container or a modsuit.

TRAIT_ADVANCED_SURGICAL

An advanced surgical tool. If a surgical tool has this flag, it will be able to automatically repeat steps until they succeed.

TRAIT_BLUESPACE_SPEED

Removes slowdown while walking on these tiles.

TRAIT_CANNOT_PULL

Inability to pull things.

TRAIT_CAN_POINT_WITH

An item that can be pointed at mobs, while on non-help intent.

TRAIT_CURRENTLY_Z_MOVING

A trait for determining if a atom/movable is currently crossing into another z-level by using of /turf/space z-level "destination-xyz" transfers

TRAIT_DODGE_ALL_OBJECTS

Allows a mob to dodge all thrown objects

TRAIT_FLOORED

Prevents voluntary standing or staying up on its own.

TRAIT_FORCES_OPEN_DOORS_ITEM

Forces open doors after a delay specific to the item

TRAIT_HANDS_BLOCKED

Prevents usage of manipulation appendages (picking, holding or using items, manipulating storage).

TRAIT_IMMOBILIZED

Prevents voluntary movement.

TRAIT_ITEM_ACTIVE

Makes an item active, this is generally used by energy based weapons or toggle based items.

TRAIT_KNOCKEDOUT

Forces the user to stay unconscious.

TRAIT_MENTOR_OBSERVING

used for dead mobs that are observing, but should not be afforded all the same platitudes as full ghosts. This is a mind trait because ghosts can be frequently deleted and we want to be sure this sticks.

TRAIT_NO_BREAK_GLASS_TABLES

A trait for items that will not break glass tables if the user is buckled to them.

TRAIT_NO_THROWN_MESSAGE

Makes the item no longer spit out a visible message when thrown

TRAIT_OBSCURED_WIRES

Wires on this will have their titles randomized for those with SHOW_WIRES

TRAIT_OIL_SLICKED

An item that is oiled. If sprayed with water, it's slowdown reverts to normal.

TRAIT_ORGAN_INSERTED_WHILE_DEAD

An organ that was inserted into a dead mob, that has not been revived yet

TRAIT_RESTRAINED

Abstract condition that prevents movement if being pulled and might be resisted against. Handcuffs and straight jackets, basically.

TRAIT_SHOW_WIRE_INFO

Show what machine/door wires do when held.

TRAIT_SILENT_INSERTION

Makes the item not display a message on storage insertion

TRAIT_SUPERMATTER_IMMUNE

Immune to the SM / makes you immune to it when worn

TRAIT_SURGICAL

A surgical tool; when in hand in help intent (and with a surgery in progress) won't attack the user

TRAIT_SURGICAL_OPEN_HAND

A surgical tool; If a surgical tool has this flag it can be used as an alternative to an open hand in surgery

TRAIT_TURF_COVERED

Prevent mobs on the turf from being affected by anything below that turf, such as a pulse demon going under it. Added by a /obj/structure with creates_cover set to TRUE

TRAIT_UI_BLOCKED

Inability to access UI hud elements.

TRAIT_WIELDED

An item that is being wielded.

UNIQUE_TRAIT_SOURCE

Gives a unique trait source for any given datum