/tg/ Station 13 - Modules - TypesDefine Details

code/__DEFINES/_flags.dm

ALL_CARDINALSAll the cardinal direction bitflags.
DF_STATIC_OBJECTPlaced on datums that have a static, constant reference. Primarily only used for turfs.
ATMOS_IS_PROCESSING_1Is this object currently processing in the atmos object list?
ON_BORDER_1item has priority to check when entering or leaving
NO_SCREENTIPS_1Whether or not this atom shows screentips when hovered over
PREVENT_CLICK_UNDER_1Prevent clicking things below it on the same turf eg. doors/ fulltile windows
HOLOGRAM_1specifies that this atom is a hologram that isn't real
INITIALIZED_1Whether /atom/Initialize() has already run for the object
ADMIN_SPAWNED_1was this spawned by an admin? used for stat tracking stuff.
PREVENT_CONTENTS_EXPLOSION_1should not get harmed if this gets caught by an explosion?
ALLOW_DARK_PAINTS_1Should this object be paintable with very dark colors?
UNPAINTABLE_1Should this object be unpaintable?
IS_ONTOP_1Is this atom on top of another atom, and as such has click priority?
SUPERMATTER_IGNORES_1Is this atom immune to being dusted by the supermatter?
CAN_BE_DIRTY_1If a turf can be made dirty at roundstart. This is also used in areas.
HTML_USE_INITAL_ICON_1Should we use the initial icon for display? Mostly used by overlay only objects
IS_PLAYER_COLORABLE_1Can players recolor this in-game via vendors (and maybe more if support is added)?
HAS_CONTEXTUAL_SCREENTIPS_1Whether or not this atom has contextual screentips when hovered OVER
HAS_DISASSOCIATED_STORAGE_1Whether or not this atom is storing contents for a disassociated storage object
DECAL_INIT_UPDATE_EXPERIENCED_1If this atom has experienced a decal element "init finished" sourced appearance update We use this to ensure stacked decals don't double up appearance updates for no reason Flag as an optimization, don't make this a trait without profiling Yes I know this is a stupid flag, no you can't take him from me
IGNORE_TURF_PIXEL_OFFSET_1This atom always returns its turf in get_turf_pixel instead of the turf from its offsets
UPDATE_NAMEUpdate the atom's name
UPDATE_DESCUpdate the atom's desc
UPDATE_ICON_STATEUpdate the atom's icon state
UPDATE_OVERLAYSUpdate the atom's overlays
UPDATE_GREYSCALEUpdate the atom's greyscaling
UPDATE_SMOOTHINGUpdate the atom's smoothing. (More accurately, queue it for an update)
UPDATE_ICONUpdate the atom's icon
RICOCHET_SHINYIf the thing can reflect light (lasers/energy)
RICOCHET_HARDIf the thing can reflect matter (bullets/bomb shrapnel)
NOJAUNTIf a turf can't be jaunted through.
UNUSED_RESERVATION_TURFIf a turf is an unused reservation turf awaiting assignment
RESERVATION_TURFIf a turf is a reserved turf
NO_LAVA_GENBlocks lava rivers being generated on the turf.
NO_RUINSBlocks ruins spawning on the turf.
NO_RUSTBlocks this turf from being rusted
IS_SOLIDIs this turf is "solid". Space and lava aren't for instance
NO_CLEARINGThis turf will never be cleared away by other objects on Initialize.
TURF_BLOCKS_POPULATE_TERRAIN_FLORAFEATURESThis atom is a pseudo-floor that blocks map generation's checkPlaceAtom() from placing things like trees ontop of it.
VALID_TERRITORY/////////////Area flags\\\\\\\ If it's a valid territory for cult summoning or the CRAB-17 phone to spawn
BLOBS_ALLOWEDIf blobs can spawn there and if it counts towards their score.
CAVES_ALLOWEDIf mining tunnel generation is allowed in this area
FLORA_ALLOWEDIf flora are allowed to spawn in this area randomly through tunnel generation
MOB_SPAWN_ALLOWEDIf mobs can be spawned by natural random generation
MEGAFAUNA_SPAWN_ALLOWEDIf megafauna can be spawned by natural random generation
NOTELEPORTAre you forbidden from teleporting to the area? (centcom, mobs, wizard, hand teleporter)
HIDDEN_AREAHides area from player Teleport function.
UNIQUE_AREAIf false, loading multiple maps with this area type will create multiple instances.
BLOCK_SUICIDEIf people are allowed to suicide in it. Mostly for OOC stuff like minigames
XENOBIOLOGY_COMPATIBLEIf set, this area will be innately traversable by Xenobiology camera consoles.
CULT_PERMITTEDIf blood cultists can draw runes or build structures on this AREA.
PERSISTENT_ENGRAVINGSIf engravings are persistent in this area
NO_DEATH_MESSAGEMobs that die in this area don't produce a dead chat message
EVENT_PROTECTEDThis area should have extra shielding from certain event effects
QUIET_LOGSThis Area Doesn't have Flood or Bomb Admin Messages, but will still log
VIRTUAL_SAFE_AREAThis area does not allow virtual entities to enter.
BINARY_JAMMINGThis area does not allow the Binary channel
NO_BOHThis area prevents Bag of Holding rifts from being opened.
UNLIMITED_FISHINGThis area prevents fishing from removing unique/limited loot from sources that're also used outside of it.
PASSTABLEAllows you to pass over tables.
PASSGLASSAllows you to pass over glass(this generally includes anything see-through that's glass-adjacent, ie. windows, windoors, airlocks with glass, etc.)
PASSGRILLEAllows you to pass over grilles.
PASSBLOBAllows you to pass over blob tiles.
PASSMOBAllows you to pass over mobs.
PASSCLOSEDTURFAllows you to pass over closed turfs, ie. walls.
LETPASSTHROWLet thrown things past us. ONLY MEANINGFUL ON pass_flags_self!
PASSMACHINEAllows you to pass over machinery, ie. vending machines, computers, protolathes, etc.
PASSSTRUCTUREAllows you to pass over structures, ie. racks, tables(if you don't already have PASSTABLE), etc.
PASSFLAPSAllows you to pass over plastic flaps, often found at cargo or MULE dropoffs.
PASSDOORSAllows you to pass over airlocks and mineral doors.
PASSVEHICLEAllows you to pass over vehicles, ie. mecha, secways, the pimpin' ride, etc.
PASSITEMAllows you to pass over dense items.
LETPASSCLICKSDo not intercept click attempts during Adjacent() checks. See [turf/proc/ClickCross]. ONLY MEANINGFUL ON pass_flags_self!
PASSWINDOWAllows you to pass over windows and window-adjacent stuff, like windows and windoors. Does not include airlocks with glass in them.
PHASINGWhen moving, will Cross() everything, but won't stop or Bump() anything.
UPSIDE_DOWNThe mob is walking on the ceiling. Or is generally just, upside down.
MOVETYPES_NOT_TOUCHING_GROUNDCombination flag for movetypes which, for all intents and purposes, mean the mob is not touching the ground
FIRE_PROOF100% immune to fire damage (but not necessarily to lava or heat)
FLAMMABLEatom is flammable and can have the burning component
ON_FIREcurrently burning
UNACIDABLEacid can't even appear on it, let alone melt it.
ACID_PROOFacid stuck on it doesn't melt it.
INDESTRUCTIBLEdoesn't take damage
FREEZE_PROOFcan't be frozen
SHUTTLE_CRUSH_PROOFcan't be shuttle crushed.
ZAP_LOW_POWER_GENZaps with this flag will generate less power through tesla coils
EMP_PROTECT_SELFEMP will protect itself.
EMP_PROTECT_CONTENTSEMP will protect the contents from also being EMPed.
EMP_PROTECT_WIRESEMP will protect the wires.
EMP_PROTECT_ALLProtects against all EMP types.
MOBILITY_MOVEcan move
MOBILITY_STANDcan, and is, standing up
MOBILITY_PICKUPcan pickup items
MOBILITY_USEcan hold and use items
MOBILITY_UIcan use interfaces like machinery
MOBILITY_STORAGEcan use storage item
MOBILITY_PULLcan pull things
MOBILITY_RESTcan rest
MOBILITY_LIEDOWNcan lie down
MAX_BITFLAG_DIGITS33554431 (2^24 - 1) is the maximum value our bitflags can reach.
IGNORE_USER_LOC_CHANGECan do the action even if mob moves location
IGNORE_TARGET_LOC_CHANGECan do the action even if the target moves location
IGNORE_HELD_ITEMCan do the action even if the item is no longer being held
IGNORE_INCAPACITATEDCan do the action even if the mob is incapacitated (ex. handcuffed)
IGNORE_SLOWDOWNSUsed to prevent important slowdowns from being abused by drugs like kronkaine
SPACEVINE_HEAT_RESISTANTIs the spacevine / flower bud heat resistant
SPACEVINE_COLD_RESISTANTIs the spacevine / flower bud cold resistant
EMOTE_AUDIBLEIs the emote audible
EMOTE_VISIBLEIs the emote visible
EMOTE_IMPORTANTIs it an emote that should be shown regardless of blindness/deafness
EMOTE_RUNECHATEmote only prints to runechat, not to the chat window

Define Details

ACID_PROOF

acid stuck on it doesn't melt it.

ADMIN_SPAWNED_1

was this spawned by an admin? used for stat tracking stuff.

ALLOW_DARK_PAINTS_1

Should this object be paintable with very dark colors?

ALL_CARDINALS

All the cardinal direction bitflags.

ATMOS_IS_PROCESSING_1

Is this object currently processing in the atmos object list?

BINARY_JAMMING

This area does not allow the Binary channel

BLOBS_ALLOWED

If blobs can spawn there and if it counts towards their score.

BLOCK_SUICIDE

If people are allowed to suicide in it. Mostly for OOC stuff like minigames

CAN_BE_DIRTY_1

If a turf can be made dirty at roundstart. This is also used in areas.

CAVES_ALLOWED

If mining tunnel generation is allowed in this area

CULT_PERMITTED

If blood cultists can draw runes or build structures on this AREA.

DECAL_INIT_UPDATE_EXPERIENCED_1

If this atom has experienced a decal element "init finished" sourced appearance update We use this to ensure stacked decals don't double up appearance updates for no reason Flag as an optimization, don't make this a trait without profiling Yes I know this is a stupid flag, no you can't take him from me

DF_STATIC_OBJECT

Placed on datums that have a static, constant reference. Primarily only used for turfs.

EMOTE_AUDIBLE

Is the emote audible

EMOTE_IMPORTANT

Is it an emote that should be shown regardless of blindness/deafness

EMOTE_RUNECHAT

Emote only prints to runechat, not to the chat window

EMOTE_VISIBLE

Is the emote visible

EMP_PROTECT_ALL

Protects against all EMP types.

EMP_PROTECT_CONTENTS

EMP will protect the contents from also being EMPed.

EMP_PROTECT_SELF

EMP will protect itself.

EMP_PROTECT_WIRES

EMP will protect the wires.

EVENT_PROTECTED

This area should have extra shielding from certain event effects

FIRE_PROOF

100% immune to fire damage (but not necessarily to lava or heat)

FLAMMABLE

atom is flammable and can have the burning component

FLORA_ALLOWED

If flora are allowed to spawn in this area randomly through tunnel generation

FREEZE_PROOF

can't be frozen

HAS_CONTEXTUAL_SCREENTIPS_1

Whether or not this atom has contextual screentips when hovered OVER

HAS_DISASSOCIATED_STORAGE_1

Whether or not this atom is storing contents for a disassociated storage object

HIDDEN_AREA

Hides area from player Teleport function.

HOLOGRAM_1

specifies that this atom is a hologram that isn't real

HTML_USE_INITAL_ICON_1

Should we use the initial icon for display? Mostly used by overlay only objects

IGNORE_HELD_ITEM

Can do the action even if the item is no longer being held

IGNORE_INCAPACITATED

Can do the action even if the mob is incapacitated (ex. handcuffed)

IGNORE_SLOWDOWNS

Used to prevent important slowdowns from being abused by drugs like kronkaine

IGNORE_TARGET_LOC_CHANGE

Can do the action even if the target moves location

IGNORE_TURF_PIXEL_OFFSET_1

This atom always returns its turf in get_turf_pixel instead of the turf from its offsets

IGNORE_USER_LOC_CHANGE

Can do the action even if mob moves location

INDESTRUCTIBLE

doesn't take damage

INITIALIZED_1

Whether /atom/Initialize() has already run for the object

IS_ONTOP_1

Is this atom on top of another atom, and as such has click priority?

IS_PLAYER_COLORABLE_1

Can players recolor this in-game via vendors (and maybe more if support is added)?

IS_SOLID

Is this turf is "solid". Space and lava aren't for instance

LETPASSCLICKS

Do not intercept click attempts during Adjacent() checks. See [turf/proc/ClickCross]. ONLY MEANINGFUL ON pass_flags_self!

LETPASSTHROW

Let thrown things past us. ONLY MEANINGFUL ON pass_flags_self!

MAX_BITFLAG_DIGITS

33554431 (2^24 - 1) is the maximum value our bitflags can reach.

MEGAFAUNA_SPAWN_ALLOWED

If megafauna can be spawned by natural random generation

MOBILITY_LIEDOWN

can lie down

MOBILITY_MOVE

can move

MOBILITY_PICKUP

can pickup items

MOBILITY_PULL

can pull things

MOBILITY_REST

can rest

MOBILITY_STAND

can, and is, standing up

MOBILITY_STORAGE

can use storage item

MOBILITY_UI

can use interfaces like machinery

MOBILITY_USE

can hold and use items

MOB_SPAWN_ALLOWED

If mobs can be spawned by natural random generation

MOVETYPES_NOT_TOUCHING_GROUND

Combination flag for movetypes which, for all intents and purposes, mean the mob is not touching the ground

NOJAUNT

If a turf can't be jaunted through.

NOTELEPORT

Are you forbidden from teleporting to the area? (centcom, mobs, wizard, hand teleporter)

NO_BOH

This area prevents Bag of Holding rifts from being opened.

NO_CLEARING

This turf will never be cleared away by other objects on Initialize.

NO_DEATH_MESSAGE

Mobs that die in this area don't produce a dead chat message

NO_LAVA_GEN

Blocks lava rivers being generated on the turf.

NO_RUINS

Blocks ruins spawning on the turf.

NO_RUST

Blocks this turf from being rusted

NO_SCREENTIPS_1

Whether or not this atom shows screentips when hovered over

ON_BORDER_1

item has priority to check when entering or leaving

ON_FIRE

currently burning

PASSBLOB

Allows you to pass over blob tiles.

PASSCLOSEDTURF

Allows you to pass over closed turfs, ie. walls.

PASSDOORS

Allows you to pass over airlocks and mineral doors.

PASSFLAPS

Allows you to pass over plastic flaps, often found at cargo or MULE dropoffs.

PASSGLASS

Allows you to pass over glass(this generally includes anything see-through that's glass-adjacent, ie. windows, windoors, airlocks with glass, etc.)

PASSGRILLE

Allows you to pass over grilles.

PASSITEM

Allows you to pass over dense items.

PASSMACHINE

Allows you to pass over machinery, ie. vending machines, computers, protolathes, etc.

PASSMOB

Allows you to pass over mobs.

PASSSTRUCTURE

Allows you to pass over structures, ie. racks, tables(if you don't already have PASSTABLE), etc.

PASSTABLE

Allows you to pass over tables.

PASSVEHICLE

Allows you to pass over vehicles, ie. mecha, secways, the pimpin' ride, etc.

PASSWINDOW

Allows you to pass over windows and window-adjacent stuff, like windows and windoors. Does not include airlocks with glass in them.

PERSISTENT_ENGRAVINGS

If engravings are persistent in this area

PHASING

When moving, will Cross() everything, but won't stop or Bump() anything.

PREVENT_CLICK_UNDER_1

Prevent clicking things below it on the same turf eg. doors/ fulltile windows

PREVENT_CONTENTS_EXPLOSION_1

should not get harmed if this gets caught by an explosion?

QUIET_LOGS

This Area Doesn't have Flood or Bomb Admin Messages, but will still log

RESERVATION_TURF

If a turf is a reserved turf

RICOCHET_HARD

If the thing can reflect matter (bullets/bomb shrapnel)

RICOCHET_SHINY

If the thing can reflect light (lasers/energy)

SHUTTLE_CRUSH_PROOF

can't be shuttle crushed.

SPACEVINE_COLD_RESISTANT

Is the spacevine / flower bud cold resistant

SPACEVINE_HEAT_RESISTANT

Is the spacevine / flower bud heat resistant

SUPERMATTER_IGNORES_1

Is this atom immune to being dusted by the supermatter?

TURF_BLOCKS_POPULATE_TERRAIN_FLORAFEATURES

This atom is a pseudo-floor that blocks map generation's checkPlaceAtom() from placing things like trees ontop of it.

UNACIDABLE

acid can't even appear on it, let alone melt it.

UNIQUE_AREA

If false, loading multiple maps with this area type will create multiple instances.

UNLIMITED_FISHING

This area prevents fishing from removing unique/limited loot from sources that're also used outside of it.

UNPAINTABLE_1

Should this object be unpaintable?

UNUSED_RESERVATION_TURF

If a turf is an unused reservation turf awaiting assignment

UPDATE_DESC

Update the atom's desc

UPDATE_GREYSCALE

Update the atom's greyscaling

UPDATE_ICON

Update the atom's icon

UPDATE_ICON_STATE

Update the atom's icon state

UPDATE_NAME

Update the atom's name

UPDATE_OVERLAYS

Update the atom's overlays

UPDATE_SMOOTHING

Update the atom's smoothing. (More accurately, queue it for an update)

UPSIDE_DOWN

The mob is walking on the ceiling. Or is generally just, upside down.

VALID_TERRITORY

/////////////Area flags\\\\\\\ If it's a valid territory for cult summoning or the CRAB-17 phone to spawn

VIRTUAL_SAFE_AREA

This area does not allow virtual entities to enter.

XENOBIOLOGY_COMPATIBLE

If set, this area will be innately traversable by Xenobiology camera consoles.

ZAP_LOW_POWER_GEN

Zaps with this flag will generate less power through tesla coils