diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index f871ac6a44..6a52f15dec 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -35,10 +35,10 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 /* Secondary atom flags, for the flags_2 var, denoted with a _2 */ -#define SLOWS_WHILE_IN_HAND_2 (1<<0) + #define NO_EMP_WIRES_2 (1<<1) #define HOLOGRAM_2 (1<<2) -#define FROZEN_2 (1<<3) + #define BANG_PROTECT_2 (1<<6) // An item worn in the ear slot with HEALS_EARS will heal your ears each @@ -54,12 +54,15 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 // TESLA_IGNORE grants immunity from being targeted by tesla-style electricity #define TESLA_IGNORE_2 (1<<9) +<<<<<<< HEAD // Stops you from putting things like an RCD or other items into an ORM or protolathe for materials. #define NO_MAT_REDEMPTION_2 (1<<10) // LAVA_PROTECT used on the flags_2 variable for both SUIT and HEAD items, and stops lava damage. Must be present in both to stop lava damage. #define LAVA_PROTECT_2 (1<<11) +======= +>>>>>>> ccf8fc5... Kills off three more flags from flags_2 (#37529) //turf-only flags #define NOJAUNT_1 (1<<0) #define UNUSED_TRANSIT_TURF_1 (1<<1) diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index bfbf6f866a..c637e9c14c 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -9,6 +9,7 @@ #define ON_BLUEPRINTS (1<<5) //Are we visible on the station blueprints at roundstart? #define UNIQUE_RENAME (1<<6) // can you customize the description/name of the thing? #define USES_TGUI (1<<7) //put on things that use tgui on ui_interact instead of custom/old UI. +#define FROZEN (1<<8) // If you add new ones, be sure to add them to /obj/Initialize as well for complete mapping support @@ -18,3 +19,17 @@ #define IN_INVENTORY (1<<1) //is this item equipped into an inventory slot or hand of a mob? used for tooltips #define FORCE_STRING_OVERRIDE (1<<2) // used for tooltips #define NEEDS_PERMIT (1<<3) //Used by security bots to determine if this item is safe for public use. +<<<<<<< HEAD +======= +#define SLOWS_WHILE_IN_HAND (1<<4) +#define NO_MAT_REDEMPTION (1<<5) // Stops you from putting things like an RCD or other items into an ORM or protolathe for materials. + +// Flags for the clothing_flags var on /obj/item/clothing + +#define LAVAPROTECT (1<<0) +#define STOPSPRESSUREDAMAGE (1<<1) //SUIT and HEAD items which stop pressure damage. To stop you taking all pressure damage you must have both a suit and head item with this flag. +#define BLOCK_GAS_SMOKE_EFFECT (1<<2) // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! +#define MASKINTERNALS (1<<3) // mask allows internals +#define NOSLIP (1<<4) //prevents from slipping on wet floors, in space etc +#define THICKMATERIAL (1<<5) //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. +>>>>>>> ccf8fc5... Kills off three more flags from flags_2 (#37529) diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 7caa28642e..9a8a249159 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -1072,19 +1072,19 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 // Used to make the frozen item visuals for Freon. if(resistance_flags & FREEZE_PROOF) return - if(!(flags_2 & FROZEN_2)) + if(!(obj_flags & FROZEN)) name = "frozen [name]" add_atom_colour(GLOB.freon_color_matrix, TEMPORARY_COLOUR_PRIORITY) alpha -= 25 - flags_2 |= FROZEN_2 + obj_flags |= FROZEN //Assumes already frozed /obj/proc/make_unfrozen() - if(flags_2 & FROZEN_2) + if(obj_flags & FROZEN) name = replacetext(name, "frozen ", "") remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, GLOB.freon_color_matrix) alpha += 25 - flags_2 &= ~FROZEN_2 + obj_flags &= ~FROZEN //Converts an icon to base64. Operates by putting the icon in the iconCache savefile, diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 168863708c..9117f9a95a 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -30,7 +30,8 @@ GLOBAL_LIST_INIT(bitfields, list( "DANGEROUS_POSSESSION" = DANGEROUS_POSSESSION, "ON_BLUEPRINTS" = ON_BLUEPRINTS, "UNIQUE_RENAME" = UNIQUE_RENAME, - "USES_TGUI" = USES_TGUI + "USES_TGUI" = USES_TGUI, + "FROZEN" = FROZEN, ), "datum_flags" = list( "DF_USE_TAG" = DF_USE_TAG, @@ -40,7 +41,9 @@ GLOBAL_LIST_INIT(bitfields, list( "BEING_REMOVED" = BEING_REMOVED, "IN_INVENTORY" = IN_INVENTORY, "FORCE_STRING_OVERRIDE" = FORCE_STRING_OVERRIDE, - "NEEDS_PERMIT" = NEEDS_PERMIT + "NEEDS_PERMIT" = NEEDS_PERMIT, + "SLOWS_WHILE_IN_HAND" = SLOWS_WHILE_IN_HAND, + "NO_MAT_REDEMPTION" = NO_MAT_REDEMPTION, ), "admin_flags" = list( "BUILDMODE" = R_BUILDMODE, @@ -119,15 +122,26 @@ GLOBAL_LIST_INIT(bitfields, list( "NOSLIP_1" = NOSLIP_1 ), "flags_2" = list( - "SLOWS_WHILE_IN_HAND_2" = SLOWS_WHILE_IN_HAND_2, "NO_EMP_WIRES_2" = NO_EMP_WIRES_2, "HOLOGRAM_2" = HOLOGRAM_2, - "FRONZE_2" = FROZEN_2, "BANG_PROTECT_2" = BANG_PROTECT_2, "HEALS_EARS_2" = HEALS_EARS_2, "OMNITONGUE_2" = OMNITONGUE_2, +<<<<<<< HEAD "TESLA_IGNORE_2" = TESLA_IGNORE_2, "NO_MAT_REDEMPTION_2" = NO_MAT_REDEMPTION_2, "LAVA_PROTECT_2" = LAVA_PROTECT_2 ) +======= + "TESLA_IGNORE_2" = TESLA_IGNORE_2 + ), + "clothing_flags" = list( + "LAVAPROTECT" = LAVAPROTECT, + "STOPSPRESSUREDAMAGE" = STOPSPRESSUREDAMAGE, + "BLOCK_GAS_SMOKE_EFFECT" = BLOCK_GAS_SMOKE_EFFECT, + "MASKINTERNALS" = MASKINTERNALS, + "NOSLIP" = NOSLIP, + "THICKMATERIAL" = THICKMATERIAL, + ) +>>>>>>> ccf8fc5... Kills off three more flags from flags_2 (#37529) )) diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index 6f4e8d586d..37154e2282 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -53,7 +53,7 @@ var/list/tc = allowed_typecache if(user.a_intent != INTENT_HELP) return - if((I.flags_2 & (HOLOGRAM_2 | NO_MAT_REDEMPTION_2)) || (tc && !is_type_in_typecache(I, tc))) + if((I.flags_2 & HOLOGRAM_2) || (I.item_flags & NO_MAT_REDEMPTION) || (tc && !is_type_in_typecache(I, tc))) to_chat(user, "[parent] won't accept [I]!") return . = COMPONENT_NO_AFTERATTACK diff --git a/code/datums/components/wet_floor.dm b/code/datums/components/wet_floor.dm index 78b31802c9..aaff5e5dd8 100644 --- a/code/datums/components/wet_floor.dm +++ b/code/datums/components/wet_floor.dm @@ -117,7 +117,7 @@ decrease = max(0, decrease) if((is_wet() & TURF_WET_ICE) && t > T0C) //Ice melts into water! for(var/obj/O in T.contents) - if(O.flags_2 & FROZEN_2) + if(O.obj_flags & FROZEN) O.make_unfrozen() add_wet(TURF_WET_WATER, max_time_left()) dry(TURF_WET_ICE) diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 2054a6ba9a..8aaee8d759 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -194,7 +194,7 @@ equip_cooldown = 10 energy_drain = 250 range = MELEE|RANGED - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION var/mode = 0 //0 - deconstruct, 1 - wall or floor, 2 - airlock. /obj/item/mecha_parts/mecha_equipment/rcd/Initialize() diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 12360ec353..9c10035d0f 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -129,7 +129,7 @@ RLD lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' max_matter = 160 - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION has_ammobar = TRUE var/mode = 1 var/ranged = FALSE diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index 72481f335d..4e2b0baf75 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -30,7 +30,7 @@ user.forceMove(R) playsound(src, 'sound/items/zip.ogg', 15, 1, -3) return (OXYLOSS) - ..() + ..() // Bluespace bodybag @@ -41,7 +41,7 @@ icon_state = "bluebodybag_folded" unfoldedbag_path = /obj/structure/closet/body_bag/bluespace w_class = WEIGHT_CLASS_SMALL - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION /obj/item/bodybag/bluespace/examine(mob/user) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 08e6204c63..bad9f32089 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -60,7 +60,7 @@ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi' flags_1 = NOBLUDGEON_1 - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION var/prox_check = TRUE //If the emag requires you to be in range /obj/item/card/emag/bluespace diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 13ca2b35d6..cbb0e11db7 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -436,7 +436,7 @@ slot_flags = null hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = SLOWS_WHILE_IN_HAND /obj/item/nullrod/tribal_knife/Initialize(mapload) . = ..() diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index a236ebeff6..848be02179 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -44,7 +44,7 @@ icon_state = "holdingpack" item_state = "holdingpack" resistance_flags = FIRE_PROOF - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 50) component_type = /datum/component/storage/concrete/bluespace/bag_of_holding diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 5c6a354356..e655525317 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -77,7 +77,7 @@ name = "trash bag of holding" desc = "The latest and greatest in custodial convenience, a trashbag that is capable of holding vast quantities of garbage." icon_state = "bluetrashbag" - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION /obj/item/storage/bag/trash/bluespace/ComponentInitialize() . = ..() diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 75cef4e92c..65ed2281f0 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -72,7 +72,7 @@ /obj/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) ..() - if(flags_2 & FROZEN_2) + if(obj_flags & FROZEN) visible_message("[src] shatters into a million pieces!") qdel(src) diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index 02df5ed3fb..593a0f864d 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -159,7 +159,7 @@ for(var/obj/I in contents) if(I.resistance_flags & FREEZE_PROOF) return - if(!(I.flags_2 & FROZEN_2)) //let it go + if(!(I.obj_flags & FROZEN)) I.make_frozen_visual() for(var/mob/living/L in contents) if(L.bodytemperature <= 50) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index a40991b954..9d4956cbee 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -184,7 +184,7 @@ //melting if(isobj(AM) && air && air.temperature > T0C) var/obj/O = AM - if(O.flags_2 & FROZEN_2) + if(O.obj_flags & FROZEN) O.make_unfrozen() /turf/proc/is_plasteel_floor() diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 30d150e3ee..01999f0650 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -103,7 +103,7 @@ inhand_x_dimension = 64 inhand_y_dimension = 64 actions_types = list() - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = SLOWS_WHILE_IN_HAND var/datum/action/innate/dash/cult/jaunt var/datum/action/innate/cult/spin2win/linked_action var/spinning = FALSE diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index c864469783..3e29854393 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -24,7 +24,7 @@ armour_penetration = 1000 resistance_flags = INDESTRUCTIBLE anchored = TRUE - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = SLOWS_WHILE_IN_HAND var/team = WHITE_TEAM var/reset_cooldown = 0 var/anyonecanpickup = TRUE diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 83b22c7e15..551a3d7c5d 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1251,7 +1251,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(H.back) . += H.back.slowdown for(var/obj/item/I in H.held_items) - if(I.flags_2 & SLOWS_WHILE_IN_HAND_2) + if(I.item_flags & SLOWS_WHILE_IN_HAND) . += I.slowdown var/stambufferinfluence = (H.bufferedstam*(100/H.stambuffer))*0.2 //CIT CHANGE - makes stamina buffer influence movedelay var/health_deficiency = ((100 + stambufferinfluence) - H.health + (H.getStaminaLoss()*0.75))//CIT CHANGE - reduces the impact of staminaloss on movement speed and makes stamina buffer influence movedelay diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm index f0970f3ce0..e3758a70ec 100644 --- a/code/modules/modular_computers/computers/item/laptop.dm +++ b/code/modules/modular_computers/computers/item/laptop.dm @@ -13,7 +13,7 @@ w_class = WEIGHT_CLASS_NORMAL // No running around with open laptops in hands. - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = SLOWS_WHILE_IN_HAND screen_on = 0 // Starts closed var/start_open = TRUE // unless this var is set to 1 diff --git a/code/modules/projectiles/guns/ballistic/laser_gatling.dm b/code/modules/projectiles/guns/ballistic/laser_gatling.dm index cc719f98ee..bfc95ecc52 100644 --- a/code/modules/projectiles/guns/ballistic/laser_gatling.dm +++ b/code/modules/projectiles/guns/ballistic/laser_gatling.dm @@ -111,7 +111,7 @@ fire_sound = 'sound/weapons/laser.ogg' mag_type = /obj/item/ammo_box/magazine/internal/minigun casing_ejector = FALSE - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = NEEDS_PERMIT | SLOWS_WHILE_IN_HAND var/obj/item/minigunpack/ammo_pack /obj/item/gun/ballistic/minigun/Initialize() @@ -146,5 +146,3 @@ /obj/item/gun/ballistic/minigun/dropped(mob/living/user) ammo_pack.attach_gun(user) - - diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm index c268c15272..ee49046392 100644 --- a/code/modules/projectiles/guns/magic/staff.dm +++ b/code/modules/projectiles/guns/magic/staff.dm @@ -2,7 +2,7 @@ slot_flags = SLOT_BACK lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NEEDS_PERMIT | NO_MAT_REDEMPTION /obj/item/gun/magic/staff/change name = "staff of change" diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm index ab0000626c..ccbfcb03e7 100644 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ b/code/modules/research/xenobiology/crossbreeding/burning.dm @@ -392,7 +392,7 @@ Burning extracts: throw_speed = 2 force = 15 //Heavy, but hard to wield. attack_verb = list("bashed","pounded","slammed") - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = SLOWS_WHILE_IN_HAND /obj/effect/proc_holder/spell/targeted/shapeshift/slimeform @@ -417,4 +417,4 @@ Burning extracts: /mob/living/simple_animal/slime/transformedslime/Reproduce() //Just in case. to_chat(src, "I can't reproduce...") - return \ No newline at end of file + return