Files
Letter NandGitHub f08f02e4c3 elpers (#7474)
move floor helpers to their file
2026-01-11 15:32:46 -05:00

69 lines
2.6 KiB
Plaintext

// Flags for the obj_flags var on /obj
/// we're emagged
#define OBJ_EMAGGED (1<<0)
/// Prevent people from clicking under us
#define OBJ_PREVENT_CLICK_UNDER (1<<1)
/// Are we visible on the station blueprints at roundstart?
#define OBJ_ON_BLUEPRINTS (1<<2)
/// can be targeted in melee
#define OBJ_MELEE_TARGETABLE (1<<3)
/// can be targeted by projectiles
#define OBJ_RANGE_TARGETABLE (1<<4)
/// is a hologram
#define OBJ_HOLOGRAM (1<<5)
/// We ignore depth system when blocking mobs
#define OBJ_IGNORE_MOB_DEPTH (1<<6)
/// Base materials have been modified
#define OBJ_MATERIALS_MODIFIED (1<<7)
/// Material parts have been modified
#define OBJ_MATERIAL_PARTS_MODIFIED (1<<8)
/// Materials have been initialized
#define OBJ_MATERIAL_INITIALIZED (1<<9)
/// no sculpting
#define OBJ_NO_SCULPTING (1<<10)
/// wall-mounted; facing *towards* the wall we're mounted on (e.g. be NORTH if we're shifted north)
#define OBJ_WALL_MOUNTED (1<<11)
/// Does this object prevent things from being built on it
#define OBJ_BLOCKS_CONSTRUCTION (1<<12)
/// Does this object prevent same-direction things from being built on it
#define OBJ_BLOCKS_CONSTRUCTION_DIR (1<<13)
/// Allow throwing stuff through us if we get destroyed by a throw
#define OBJ_ALLOW_THROW_THROUGH (1<<23)
DEFINE_BITFIELD(obj_flags, list(
BITFIELD(OBJ_EMAGGED),
BITFIELD(OBJ_PREVENT_CLICK_UNDER),
BITFIELD(OBJ_ON_BLUEPRINTS),
BITFIELD(OBJ_MELEE_TARGETABLE),
BITFIELD(OBJ_RANGE_TARGETABLE),
BITFIELD(OBJ_HOLOGRAM),
BITFIELD(OBJ_IGNORE_MOB_DEPTH),
BITFIELD(OBJ_MATERIALS_MODIFIED),
BITFIELD(OBJ_MATERIAL_PARTS_MODIFIED),
BITFIELD(OBJ_MATERIAL_INITIALIZED),
BITFIELD(OBJ_NO_SCULPTING),
BITFIELD_NAMED("Wall Mounted", OBJ_WALL_MOUNTED),
BITFIELD_NAMED("Allow Thrown to Pass if Devastated", OBJ_ALLOW_THROW_THROUGH), // dumb, rename later
))
//* /obj/var/obj_rotation_flags
/// obj rotation enabled; we'll go to context menu
#define OBJ_ROTATION_ENABLED (1<<0)
/// allow defaulting on context menu
#define OBJ_ROTATION_DEFAULTING (1<<1)
/// do not perform standard anchor check
#define OBJ_ROTATION_NO_ANCHOR_CHECK (1<<2)
/// rotate CCW
#define OBJ_ROTATION_CCW (1<<3)
/// give optiosn to rotate both directions
#define OBJ_ROTATION_BIDIRECTIONAL (1<<4)
DEFINE_BITFIELD(obj_rotation_flags, list(
BITFIELD_NAMED("Enabled", OBJ_ROTATION_ENABLED),
BITFIELD_NAMED("Defaulting", OBJ_ROTATION_DEFAULTING),
BITFIELD_NAMED("Allow Anchored", OBJ_ROTATION_NO_ANCHOR_CHECK),
BITFIELD_NAMED("Counterclockwise", OBJ_ROTATION_CCW),
BITFIELD_NAMED("Show Both Directions", OBJ_ROTATION_BIDIRECTIONAL),
))