diff --git a/code/__DEFINES/equipment.dm b/code/__DEFINES/equipment.dm index f0688282572d..375dd0db540d 100644 --- a/code/__DEFINES/equipment.dm +++ b/code/__DEFINES/equipment.dm @@ -194,11 +194,11 @@ //=========================================================================================== //Marine armor only, use for flags_marine_armor. -#define ARMOR_SQUAD_OVERLAY 1 -#define ARMOR_LAMP_OVERLAY 2 -#define ARMOR_LAMP_ON 4 -#define ARMOR_IS_REINFORCED 8 -#define SYNTH_ALLOWED 16 +#define ARMOR_SQUAD_OVERLAY (1<<0) +#define ARMOR_LAMP_OVERLAY (1<<1) +#define ARMOR_LAMP_ON (1<<2) +#define ARMOR_IS_REINFORCED (1<<3) +#define SYNTH_ALLOWED (1<<4) //=========================================================================================== //=========================================================================================== diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index e50d9e72497c..21b9423c1563 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -197,22 +197,22 @@ //================================================= //Species flags. -#define NO_BLOOD (1<<0) -#define NO_BREATHE (1<<1) +#define NO_BLOOD (1<<0) +#define NO_BREATHE (1<<1) #define NO_CLONE_LOSS (1<<2) -#define NO_SLIP (1<<3) +#define NO_SLIP (1<<3) #define NO_POISON (1<<4) -#define NO_CHEM_METABOLIZATION (1<<5) //Prevents reagents from acting on_mob_life(). +#define NO_CHEM_METABOLIZATION (1<<5) //Prevents reagents from acting on_mob_life(). #define HAS_SKIN_TONE (1<<6) -#define HAS_SKIN_COLOR (1<<7) -#define HAS_LIPS (1<<8) +#define HAS_SKIN_COLOR (1<<7) +#define HAS_LIPS (1<<8) #define HAS_UNDERWEAR (1<<9) -#define IS_WHITELISTED (1<<10) -#define IS_SYNTHETIC (1<<11) -#define NO_NEURO (1<<12) +#define IS_WHITELISTED (1<<10) +#define IS_SYNTHETIC (1<<11) +#define NO_NEURO (1<<12) #define SPECIAL_BONEBREAK (1<<13) //species do not get their bonebreak chance modified by endurance -#define NO_SHRAPNEL (1<<14) -#define HAS_HARDCRIT (1<<15) +#define NO_SHRAPNEL (1<<14) +#define HAS_HARDCRIT (1<<15) //================================================= diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index d302191c67eb..bc8d37a67d1e 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -87,6 +87,7 @@ DEFINE_BITFIELD(flags_ammo_behaviour, list( "AMMO_IGNORE_RESIST" = AMMO_IGNORE_RESIST, "AMMO_BALLISTIC" = AMMO_BALLISTIC, "AMMO_IGNORE_COVER" = AMMO_IGNORE_COVER, + "AMMO_ANTIVEHICLE" = AMMO_ANTIVEHICLE, "AMMO_STOPPED_BY_COVER" = AMMO_STOPPED_BY_COVER, "AMMO_SPECIAL_EMBED" = AMMO_SPECIAL_EMBED, "AMMO_STRIKES_SURFACE" = AMMO_STRIKES_SURFACE, @@ -97,7 +98,6 @@ DEFINE_BITFIELD(flags_ammo_behaviour, list( "AMMO_FLAME" = AMMO_FLAME, )) - DEFINE_BITFIELD(projectile_flags, list( "PROJECTILE_SHRAPNEL" = PROJECTILE_SHRAPNEL, "PROJECTILE_BULLSEYE" = PROJECTILE_BULLSEYE, @@ -120,6 +120,7 @@ DEFINE_BITFIELD(flags_gun_features, list( "GUN_ANTIQUE" = GUN_ANTIQUE, "GUN_RECOIL_BUILDUP" = GUN_RECOIL_BUILDUP, "GUN_SUPPORT_PLATFORM" = GUN_SUPPORT_PLATFORM, + "GUN_NO_DESCRIPTION" = GUN_NO_DESCRIPTION, )) DEFINE_BITFIELD(flags_magazine, list( @@ -150,6 +151,7 @@ DEFINE_BITFIELD(flags_atom, list( "INITIALIZED" = INITIALIZED, "ATOM_DECORATED" = ATOM_DECORATED, "USES_HEARING" = USES_HEARING, + "HTML_USE_INITAL_ICON" = HTML_USE_INITAL_ICON, )) DEFINE_BITFIELD(flags_item, list( @@ -181,7 +183,7 @@ DEFINE_BITFIELD(flags_inv_hide, list( "HIDETOPHAIR" = HIDETOPHAIR, "HIDEALLHAIR" = HIDEALLHAIR, "HIDETAIL" = HIDETAIL, - "HIDEFACE" = HIDEFACE + "HIDEFACE" = HIDEFACE, )) DEFINE_BITFIELD(flags_inventory, list( @@ -423,6 +425,7 @@ DEFINE_BITFIELD(toggleable_flags, list( "MODE_NO_COMBAT_CAS" = MODE_NO_COMBAT_CAS, "MODE_LZ_PROTECTION" = MODE_LZ_PROTECTION, "MODE_SHIPSIDE_SD" = MODE_SHIPSIDE_SD, + "MODE_HARDCORE_PERMA" = MODE_HARDCORE_PERMA, "MODE_DISPOSABLE_MOBS" = MODE_DISPOSABLE_MOBS, "MODE_BYPASS_JOE" = MODE_BYPASS_JOE, )) @@ -456,7 +459,9 @@ DEFINE_BITFIELD(fire_immunity, list( "FIRE_IMMUNITY_NO_DAMAGE" = FIRE_IMMUNITY_NO_DAMAGE, "FIRE_IMMUNITY_NO_IGNITE" = FIRE_IMMUNITY_NO_IGNITE, "FIRE_IMMUNITY_XENO_FRENZY" = FIRE_IMMUNITY_XENO_FRENZY, + "FIRE_VULNERABILITY" = FIRE_VULNERABILITY, )) + DEFINE_BITFIELD(vend_flags, list( "VEND_TO_HAND" = VEND_TO_HAND, "VEND_UNIFORM_RANKS" = VEND_UNIFORM_RANKS, @@ -478,3 +483,122 @@ DEFINE_BITFIELD(vehicle_flags, list( "VEHICLE_CLASS_HEAVY" = VEHICLE_CLASS_HEAVY, "VEHICLE_BYPASS_BLOCKERS" = VEHICLE_BYPASS_BLOCKERS, )) + +DEFINE_BITFIELD(flags_pass, list( + "PASS_THROUGH" = PASS_THROUGH, + "PASS_AROUND" = PASS_AROUND, + "PASS_OVER_THROW_ITEM" = PASS_OVER_THROW_ITEM, + "PASS_OVER_THROW_MOB" = PASS_OVER_THROW_MOB, + "PASS_OVER_FIRE" = PASS_OVER_FIRE, + "PASS_OVER_ACID_SPRAY" = PASS_OVER_ACID_SPRAY, + "PASS_UNDER" = PASS_UNDER, + "PASS_GLASS" = PASS_GLASS, + "PASS_MOB_IS_XENO" = PASS_MOB_IS_XENO, + "PASS_MOB_IS_HUMAN" = PASS_MOB_IS_HUMAN, + "PASS_MOB_IS_OTHER" = PASS_MOB_IS_OTHER, + "PASS_MOB_THRU_XENO" = PASS_MOB_THRU_XENO, + "PASS_MOB_THRU_HUMAN" = PASS_MOB_THRU_HUMAN, + "PASS_MOB_THRU_OTHER" = PASS_MOB_THRU_OTHER, + "PASS_TYPE_CRAWLER" = PASS_TYPE_CRAWLER, + "PASS_HIGH_OVER_ONLY" = PASS_HIGH_OVER_ONLY, + "PASS_BUILDING_ONLY" = PASS_BUILDING_ONLY, + "PASS_CRUSHER_CHARGE" = PASS_CRUSHER_CHARGE, +)) + +DEFINE_BITFIELD(flags_can_pass_all, list( + "PASS_THROUGH" = PASS_THROUGH, + "PASS_AROUND" = PASS_AROUND, + "PASS_OVER_THROW_ITEM" = PASS_OVER_THROW_ITEM, + "PASS_OVER_THROW_MOB" = PASS_OVER_THROW_MOB, + "PASS_OVER_FIRE" = PASS_OVER_FIRE, + "PASS_OVER_ACID_SPRAY" = PASS_OVER_ACID_SPRAY, + "PASS_UNDER" = PASS_UNDER, + "PASS_GLASS" = PASS_GLASS, + "PASS_MOB_IS_XENO" = PASS_MOB_IS_XENO, + "PASS_MOB_IS_HUMAN" = PASS_MOB_IS_HUMAN, + "PASS_MOB_IS_OTHER" = PASS_MOB_IS_OTHER, + "PASS_MOB_THRU_XENO" = PASS_MOB_THRU_XENO, + "PASS_MOB_THRU_HUMAN" = PASS_MOB_THRU_HUMAN, + "PASS_MOB_THRU_OTHER" = PASS_MOB_THRU_OTHER, + "PASS_TYPE_CRAWLER" = PASS_TYPE_CRAWLER, + "PASS_HIGH_OVER_ONLY" = PASS_HIGH_OVER_ONLY, + "PASS_BUILDING_ONLY" = PASS_BUILDING_ONLY, + "PASS_CRUSHER_CHARGE" = PASS_CRUSHER_CHARGE, +)) + +DEFINE_BITFIELD(flags_can_pass_front, list( + "PASS_THROUGH" = PASS_THROUGH, + "PASS_AROUND" = PASS_AROUND, + "PASS_OVER_THROW_ITEM" = PASS_OVER_THROW_ITEM, + "PASS_OVER_THROW_MOB" = PASS_OVER_THROW_MOB, + "PASS_OVER_FIRE" = PASS_OVER_FIRE, + "PASS_OVER_ACID_SPRAY" = PASS_OVER_ACID_SPRAY, + "PASS_UNDER" = PASS_UNDER, + "PASS_GLASS" = PASS_GLASS, + "PASS_MOB_IS_XENO" = PASS_MOB_IS_XENO, + "PASS_MOB_IS_HUMAN" = PASS_MOB_IS_HUMAN, + "PASS_MOB_IS_OTHER" = PASS_MOB_IS_OTHER, + "PASS_MOB_THRU_XENO" = PASS_MOB_THRU_XENO, + "PASS_MOB_THRU_HUMAN" = PASS_MOB_THRU_HUMAN, + "PASS_MOB_THRU_OTHER" = PASS_MOB_THRU_OTHER, + "PASS_TYPE_CRAWLER" = PASS_TYPE_CRAWLER, + "PASS_HIGH_OVER_ONLY" = PASS_HIGH_OVER_ONLY, + "PASS_BUILDING_ONLY" = PASS_BUILDING_ONLY, + "PASS_CRUSHER_CHARGE" = PASS_CRUSHER_CHARGE, +)) + +DEFINE_BITFIELD(flags_can_pass_behind, list( + "PASS_THROUGH" = PASS_THROUGH, + "PASS_AROUND" = PASS_AROUND, + "PASS_OVER_THROW_ITEM" = PASS_OVER_THROW_ITEM, + "PASS_OVER_THROW_MOB" = PASS_OVER_THROW_MOB, + "PASS_OVER_FIRE" = PASS_OVER_FIRE, + "PASS_OVER_ACID_SPRAY" = PASS_OVER_ACID_SPRAY, + "PASS_UNDER" = PASS_UNDER, + "PASS_GLASS" = PASS_GLASS, + "PASS_MOB_IS_XENO" = PASS_MOB_IS_XENO, + "PASS_MOB_IS_HUMAN" = PASS_MOB_IS_HUMAN, + "PASS_MOB_IS_OTHER" = PASS_MOB_IS_OTHER, + "PASS_MOB_THRU_XENO" = PASS_MOB_THRU_XENO, + "PASS_MOB_THRU_HUMAN" = PASS_MOB_THRU_HUMAN, + "PASS_MOB_THRU_OTHER" = PASS_MOB_THRU_OTHER, + "PASS_TYPE_CRAWLER" = PASS_TYPE_CRAWLER, + "PASS_HIGH_OVER_ONLY" = PASS_HIGH_OVER_ONLY, + "PASS_BUILDING_ONLY" = PASS_BUILDING_ONLY, + "PASS_CRUSHER_CHARGE" = PASS_CRUSHER_CHARGE, +)) + +DEFINE_BITFIELD(sight, list( + "BLIND" = BLIND, + "SEE_BLACKNESS" = SEE_BLACKNESS, + "SEE_INFRA" = SEE_INFRA, + "SEE_MOBS" = SEE_MOBS, + "SEE_OBJS" = SEE_OBJS, + "SEE_PIXELS" = SEE_PIXELS, + "SEE_SELF" = SEE_SELF, + "SEE_THRU" = SEE_THRU, + "SEE_TURFS" = SEE_TURFS, +)) + +DEFINE_BITFIELD(vision_flags, list( + "BLIND" = BLIND, + "SEE_BLACKNESS" = SEE_BLACKNESS, + "SEE_INFRA" = SEE_INFRA, + "SEE_MOBS" = SEE_MOBS, + "SEE_OBJS" = SEE_OBJS, + "SEE_PIXELS" = SEE_PIXELS, + "SEE_SELF" = SEE_SELF, + "SEE_THRU" = SEE_THRU, + "SEE_TURFS" = SEE_TURFS, +)) + +DEFINE_BITFIELD(vis_flags, list( + "VIS_HIDE" = VIS_HIDE, + "VIS_INHERIT_DIR" = VIS_INHERIT_DIR, + "VIS_INHERIT_ICON" = VIS_INHERIT_ICON, + "VIS_INHERIT_ICON_STATE" = VIS_INHERIT_ICON_STATE, + "VIS_INHERIT_ID" = VIS_INHERIT_ID, + "VIS_INHERIT_LAYER" = VIS_INHERIT_LAYER, + "VIS_INHERIT_PLANE" = VIS_INHERIT_PLANE, + "VIS_UNDERLAY" = VIS_UNDERLAY, +))