From c65a99f13061cfa426dd5d45f208e2cdb73841ae Mon Sep 17 00:00:00 2001 From: vuonojenmustaturska Date: Fri, 1 Jun 2018 12:36:31 +0300 Subject: [PATCH] Move NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 to item_flags where they belong (#38171) * (mostly) nodrop * (mostly) dropdel * (mostly) abstract * nobludgeon * things i missed * forgot one * unintended changes * energy handcuffs --- code/__DEFINES/flags.dm | 5 --- code/__DEFINES/obj_flags.dm | 4 ++ code/_globalvars/bitfields.dm | 9 +++-- code/_onclick/item_attack.dm | 4 +- code/_onclick/telekinesis.dm | 2 +- code/datums/components/material_container.dm | 2 +- code/datums/components/riding.dm | 2 +- code/datums/components/storage/storage.dm | 4 +- code/game/atoms_movable.dm | 2 +- .../game/gamemodes/clown_ops/bananium_bomb.dm | 6 +-- .../game/gamemodes/clown_ops/clown_weapons.dm | 4 +- code/game/machinery/buttons.dm | 2 +- code/game/machinery/defibrillator_mount.dm | 4 +- code/game/machinery/doors/door.dm | 2 +- code/game/objects/effects/mines.dm | 2 +- .../projectiles/projectile_effects.dm | 1 - code/game/objects/items.dm | 9 ++++- code/game/objects/items/RCD.dm | 5 ++- code/game/objects/items/RSF.dm | 2 +- code/game/objects/items/airlock_painter.dm | 3 +- code/game/objects/items/cardboard_cutouts.dm | 2 +- code/game/objects/items/cards_ids.dm | 3 +- code/game/objects/items/chrono_eraser.dm | 2 +- code/game/objects/items/clown_items.dm | 2 +- code/game/objects/items/devices/PDA/PDA.dm | 2 +- code/game/objects/items/devices/aicard.dm | 2 +- .../items/devices/anomaly_neutralizer.dm | 2 +- code/game/objects/items/devices/camera_bug.dm | 2 +- .../objects/items/devices/chameleonproj.dm | 5 ++- code/game/objects/items/devices/doorCharge.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 3 +- .../items/devices/forcefieldprojector.dm | 4 +- code/game/objects/items/devices/gps.dm | 4 +- .../objects/items/devices/laserpointer.dm | 3 +- .../objects/items/devices/pipe_painter.dm | 2 +- .../items/devices/radio/electropack.dm | 4 +- .../items/devices/reverse_bear_trap.dm | 8 ++-- code/game/objects/items/devices/scanners.dm | 8 ++-- code/game/objects/items/gift.dm | 2 +- code/game/objects/items/granters.dm | 2 +- code/game/objects/items/grenades/plastic.dm | 3 +- code/game/objects/items/handcuffs.dm | 5 ++- code/game/objects/items/his_grace.dm | 8 ++-- code/game/objects/items/holosign_creator.dm | 3 +- code/game/objects/items/holy_weapons.dm | 6 +-- code/game/objects/items/hot_potato.dm | 6 +-- code/game/objects/items/implants/implant.dm | 2 +- code/game/objects/items/paiwire.dm | 4 +- code/game/objects/items/robot/robot_items.dm | 2 +- .../objects/items/stacks/sheets/leather.dm | 4 +- code/game/objects/items/stacks/telecrystal.dm | 2 +- code/game/objects/items/stacks/wrap.dm | 4 +- code/game/objects/items/tanks/watertank.dm | 2 +- code/game/objects/items/toys.dm | 4 +- code/game/objects/items/twohanded.dm | 2 +- code/game/objects/items/weaponry.dm | 11 +++--- .../structures/crates_lockers/closets.dm | 12 +++--- code/game/objects/structures/manned_turret.dm | 2 +- code/game/objects/structures/tables_racks.dm | 2 +- code/game/objects/structures/watercloset.dm | 2 +- code/modules/admin/secrets.dm | 2 +- .../abductor/equipment/abduction_gear.dm | 7 ++-- .../abductor/equipment/abduction_outfits.dm | 2 +- .../antagonists/abductor/machinery/console.dm | 2 +- .../changeling/powers/mutations.dm | 17 +++++---- .../changeling/powers/transform.dm | 16 ++++---- .../clockcult/clock_helpers/slab_abilities.dm | 2 +- .../clockcult/clock_items/integration_cog.dm | 2 +- .../clock_items/replica_fabricator.dm | 2 +- code/modules/antagonists/cult/blood_magic.dm | 5 ++- code/modules/antagonists/cult/cult_items.dm | 11 +++--- .../devil/true_devil/_true_devil.dm | 2 +- .../antagonists/highlander/highlander.dm | 2 +- .../nukeop/equipment/pinpointer.dm | 4 +- code/modules/assembly/infrared.dm | 13 +++++-- code/modules/awaymissions/capture_the_flag.dm | 4 +- code/modules/cargo/export_scanner.dm | 2 +- code/modules/clothing/chameleon.dm | 6 +-- code/modules/clothing/glasses/_glasses.dm | 2 +- code/modules/clothing/head/jobs.dm | 2 +- code/modules/clothing/head/misc.dm | 4 +- code/modules/clothing/masks/miscellaneous.dm | 2 +- code/modules/clothing/shoes/miscellaneous.dm | 2 +- .../modules/clothing/spacesuits/chronosuit.dm | 14 +++---- .../modules/clothing/spacesuits/flightsuit.dm | 8 ++-- code/modules/clothing/spacesuits/hardsuit.dm | 2 +- .../clothing/spacesuits/miscellaneous.dm | 4 +- code/modules/clothing/suits/cloaks.dm | 2 +- code/modules/clothing/suits/miscellaneous.dm | 2 +- code/modules/clothing/under/color.dm | 2 +- code/modules/clothing/under/miscellaneous.dm | 2 +- .../detectivework/footprints_and_rag.dm | 2 +- code/modules/detectivework/scanner.dm | 5 ++- code/modules/events/wizard/curseditems.dm | 2 +- code/modules/fields/turf_objects.dm | 2 +- .../kitchen_machinery/deep_fryer.dm | 2 +- .../kitchen_machinery/gibber.dm | 2 +- .../kitchen_machinery/smartfridge.dm | 4 +- code/modules/hydroponics/grown/towercap.dm | 2 +- .../integrated_electronics/core/assemblies.dm | 2 +- .../integrated_electronics/core/debugger.dm | 3 +- .../integrated_electronics/core/detailer.dm | 5 ++- code/modules/mining/equipment/goliath_hide.dm | 4 +- code/modules/mining/equipment/mining_tools.dm | 3 +- .../mining/equipment/regenerative_core.dm | 2 +- .../mining/lavaland/necropolis_chests.dm | 4 +- code/modules/mob/inventory.dm | 8 ++-- code/modules/mob/living/bloodcrawl.dm | 2 +- .../living/carbon/alien/humanoid/humanoid.dm | 2 +- .../mob/living/carbon/alien/humanoid/queen.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 12 +++--- code/modules/mob/living/carbon/examine.dm | 2 +- .../mob/living/carbon/human/examine.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 38 +++++++++---------- .../mob/living/carbon/human/species.dm | 6 +-- .../human/species_types/shadowpeople.dm | 4 +- .../mob/living/carbon/monkey/combat.dm | 4 +- code/modules/mob/living/inhand_holder.dm | 2 +- code/modules/mob/living/living.dm | 4 +- .../mob/living/silicon/robot/inventory.dm | 4 +- .../mob/living/silicon/robot/robot_modules.dm | 2 +- .../simple_animal/friendly/drone/_drone.dm | 8 ++-- .../simple_animal/guardian/types/dextrous.dm | 4 +- .../hostile/jungle/mega_arachnid.dm | 3 +- .../hostile/megafauna/colossus.dm | 2 +- .../simple_animal/hostile/wumborian_fugu.dm | 2 +- code/modules/mob/mob.dm | 2 +- code/modules/ninja/suit/gloves.dm | 2 +- code/modules/ninja/suit/suit.dm | 16 ++++---- code/modules/paperwork/contract.dm | 2 +- code/modules/power/lighting.dm | 2 +- code/modules/power/singularity/emitter.dm | 4 +- code/modules/power/solar.dm | 2 +- code/modules/power/supermatter/supermatter.dm | 2 +- .../boxes_magazines/internal/_internal.dm | 3 +- .../projectiles/guns/ballistic/shotgun.dm | 3 +- code/modules/projectiles/projectile.dm | 2 +- .../chemistry/machinery/chem_dispenser.dm | 2 +- .../chemistry/machinery/chem_heater.dm | 2 +- .../chemistry/machinery/chem_master.dm | 2 +- .../reagents/chemistry/machinery/pandemic.dm | 2 +- .../chemistry/machinery/reagentgrinder.dm | 2 +- .../reagents/reagent_containers/medspray.dm | 2 +- .../reagents/reagent_containers/spray.dm | 2 +- code/modules/recycling/disposal/bin.dm | 2 +- .../research/xenobiology/xenobiology.dm | 2 +- code/modules/shuttle/special.dm | 2 +- code/modules/spells/spell_types/barnyard.dm | 2 +- code/modules/spells/spell_types/godhand.dm | 2 +- code/modules/spells/spell_types/lichdom.dm | 4 +- code/modules/spells/spell_types/summonitem.dm | 6 +-- code/modules/station_goals/dna_vault.dm | 2 +- code/modules/surgery/cavity_implant.dm | 2 +- code/modules/surgery/organs/augments_arms.dm | 2 +- .../surgery/organs/augments_internal.dm | 6 +-- code/modules/zombie/items.dm | 2 +- 156 files changed, 326 insertions(+), 292 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 61249cb60a1..bcc9545b50f 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -12,16 +12,12 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 //FLAGS BITMASK -#define NODROP_1 (1<<1) // This flag makes it so that an item literally cannot be removed at all, or at least that's how it should be. Only deleted. -#define NOBLUDGEON_1 (1<<2) // when an item has this it produces no "X has been hit by Y with Z" message in the default attackby() #define HEAR_1 (1<<3) // This flag is what recursive_hear_check() uses to determine wether to add an item to the hearer list or not. #define CHECK_RICOCHET_1 (1<<4) // Projectiels will check ricochet on things impacted that have this. #define CONDUCT_1 (1<<5) // conducts electricity (metal etc.) -#define ABSTRACT_1 (1<<6) // for all things that are technically items but used for various different stuff, made it 128 because it could conflict with other flags other way #define NODECONSTRUCT_1 (1<<7) // For machines and structures that should not break into parts, eg, holodeck stuff #define OVERLAY_QUEUED_1 (1<<8) // atom queued to SSoverlay #define ON_BORDER_1 (1<<9) // item has priority to check when entering or leaving -#define DROPDEL_1 (1<<10) // When dropped, it calls qdel on itself #define PREVENT_CLICK_UNDER_1 (1<<11) //Prevent clicking things below it on the same turf eg. doors/ fulltile windows #define HOLOGRAM_1 (1<<12) #define TESLA_IGNORE_1 (1<<13) // TESLA_IGNORE grants immunity from being targeted by tesla-style electricity @@ -80,4 +76,3 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define EMP_PROTECT_SELF (1<<0) #define EMP_PROTECT_CONTENTS (1<<1) #define EMP_PROTECT_WIRES (1<<2) - diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index f8287cf34e9..76f66521a77 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -21,6 +21,10 @@ #define NEEDS_PERMIT (1<<3) //Used by security bots to determine if this item is safe for public use. #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. +#define DROPDEL (1<<6) // When dropped, it calls qdel on itself +#define NOBLUDGEON (1<<7) // when an item has this it produces no "X has been hit by Y with Z" message in the default attackby() +#define NODROP (1<<8) // This flag makes it so that an item literally cannot be removed at all, or at least that's how it should be. Only deleted. +#define ABSTRACT (1<<9) // for all things that are technically items but used for various different stuff // Flags for the clothing_flags var on /obj/item/clothing diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 6113e11eefc..9af1fd2da97 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -44,6 +44,10 @@ GLOBAL_LIST_INIT(bitfields, list( "NEEDS_PERMIT" = NEEDS_PERMIT, "SLOWS_WHILE_IN_HAND" = SLOWS_WHILE_IN_HAND, "NO_MAT_REDEMPTION" = NO_MAT_REDEMPTION, + "DROPDEL" = DROPDEL, + "NOBLUDGEON" = NOBLUDGEON, + "NODROP" = NODROP, + "ABSTRACT" = ABSTRACT, ), "admin_flags" = list( "BUILDMODE" = R_BUILDMODE, @@ -110,12 +114,11 @@ GLOBAL_LIST_INIT(bitfields, list( ), "flags_1" = list( "NOJAUNT_1" = NOJAUNT_1, - "NODROP_1 / UNUSED_TRANSIT_TURF_1 (turfs)" = NODROP_1, - "NOBLUDGEON_1 / CAN_BE_DIRTY_1 (turfs)" = NOBLUDGEON_1, + "UNUSED_TRANSIT_TURF_1" = UNUSED_TRANSIT_TURF_1, + "CAN_BE_DIRTY_1" = CAN_BE_DIRTY_1, "HEAR_1 / NO_DEATHRATTLE_1 (turfs)" = HEAR_1, "CHECK_RICOCHET_1 / NO_RUINS_1 (turfs)" = CHECK_RICOCHET_1, "CONDUCT_1 / NO_LAVA_GEN_1" = CONDUCT_1, - "ABSTRACT_1" = ABSTRACT_1, "NODECONSTRUCT_1" = NODECONSTRUCT_1, "OVERLAY_QUEUED_1" = OVERLAY_QUEUED_1, "HOLOGRAM_1" = HOLOGRAM_1, diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 6ca2ff847b8..b8b039fa90a 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -53,7 +53,7 @@ /obj/item/proc/attack(mob/living/M, mob/living/user) SendSignal(COMSIG_ITEM_ATTACK, M, user) - if(flags_1 & NOBLUDGEON_1) + if(item_flags & NOBLUDGEON) return if(force && user.has_trait(TRAIT_PACIFISM)) @@ -79,7 +79,7 @@ /obj/item/proc/attack_obj(obj/O, mob/living/user) if(SendSignal(COMSIG_ITEM_ATTACK_OBJ, O, user) & COMPONENT_NO_ATTACK_OBJ) return - if(flags_1 & NOBLUDGEON_1) + if(item_flags & NOBLUDGEON) return user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(O) diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 18f1c61d949..85e7958b531 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -70,7 +70,7 @@ desc = "Magic" icon = 'icons/obj/magic.dmi'//Needs sprites icon_state = "2" - flags_1 = NOBLUDGEON_1 | ABSTRACT_1 | DROPDEL_1 + item_flags = NOBLUDGEON | ABSTRACT | DROPDEL //item_state = null w_class = WEIGHT_CLASS_GIGANTIC layer = ABOVE_HUD_LAYER diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index e167cbb0921..dbeb5833fa3 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -58,7 +58,7 @@ return if(user.a_intent != INTENT_HELP) return - if(I.flags_1 & ABSTRACT_1) + if(I.item_flags & ABSTRACT) return if((I.flags_1 & HOLOGRAM_1) || (I.item_flags & NO_MAT_REDEMPTION) || (tc && !is_type_in_typecache(I, tc))) to_chat(user, "[parent] won't accept [I]!") diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index 4a720b65507..9b541a46170 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -301,7 +301,7 @@ icon = 'icons/obj/items_and_weapons.dmi' icon_state = "offhand" w_class = WEIGHT_CLASS_HUGE - flags_1 = ABSTRACT_1 | DROPDEL_1 | NOBLUDGEON_1 + item_flags = ABSTRACT | DROPDEL | NOBLUDGEON resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/mob/living/carbon/rider var/mob/living/parent diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 304ac6591c9..da0f82a56f1 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -529,7 +529,7 @@ //This proc return 1 if the item can be picked up and 0 if it can't. //Set the stop_messages to stop it from printing messages /datum/component/storage/proc/can_be_inserted(obj/item/I, stop_messages = FALSE, mob/M) - if(!istype(I) || (I.flags_1 & ABSTRACT_1)) + if(!istype(I) || (I.item_flags & ABSTRACT)) return FALSE //Not an item if(I == parent) return FALSE //no paradoxes for you @@ -573,7 +573,7 @@ if(!stop_messages) to_chat(M, "[IP] cannot hold [I] as it's a storage item of the same size!") return FALSE //To prevent the stacking of same sized storage items. - if(I.flags_1 & NODROP_1) //SHOULD be handled in unEquip, but better safe than sorry. + if(I.item_flags & NODROP) //SHOULD be handled in unEquip, but better safe than sorry. to_chat(M, "\the [I] is stuck to your hand, you can't put it in \the [host]!") return FALSE var/datum/component/storage/concrete/master = master() diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 29c02932fc8..e294a4f1620 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -408,7 +408,7 @@ /atom/movable/proc/throw_at(atom/target, range, speed, mob/thrower, spin=TRUE, diagonals_first = FALSE, var/datum/callback/callback) //If this returns FALSE then callback will not be called. . = FALSE - if (!target || (flags_1 & NODROP_1) || speed <= 0) + if (!target || speed <= 0) return if (pulledby) diff --git a/code/game/gamemodes/clown_ops/bananium_bomb.dm b/code/game/gamemodes/clown_ops/bananium_bomb.dm index c7212a671c5..0d5f0691c42 100644 --- a/code/game/gamemodes/clown_ops/bananium_bomb.dm +++ b/code/game/gamemodes/clown_ops/bananium_bomb.dm @@ -42,17 +42,17 @@ var/obj/item/clothing/C if(!H.w_uniform || H.dropItemToGround(H.w_uniform)) C = new /obj/item/clothing/under/rank/clown(H) - C.flags_1 |= NODROP_1 //mwahaha + C.item_flags |= NODROP //mwahaha H.equip_to_slot_or_del(C, SLOT_W_UNIFORM) if(!H.shoes || H.dropItemToGround(H.shoes)) C = new /obj/item/clothing/shoes/clown_shoes(H) - C.flags_1 |= NODROP_1 + C.item_flags |= NODROP H.equip_to_slot_or_del(C, SLOT_SHOES) if(!H.wear_mask || H.dropItemToGround(H.wear_mask)) C = new /obj/item/clothing/mask/gas/clown_hat(H) - C.flags_1 |= NODROP_1 + C.item_flags |= NODROP H.equip_to_slot_or_del(C, SLOT_WEAR_MASK) H.dna.add_mutation(CLOWNMUT) diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index 067bb8c84cc..d83c3edb753 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -216,11 +216,11 @@ /obj/item/clothing/mask/fakemoustache/sticky/Initialize() . = ..() - flags_1 |= NODROP_1 + item_flags |= NODROP addtimer(CALLBACK(src, .proc/unstick), unstick_time) /obj/item/clothing/mask/fakemoustache/sticky/proc/unstick() - flags_1 &= ~NODROP_1 + item_flags &= ~NODROP //DARK H.O.N.K. AND CLOWN MECH WEAPONS diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 9511e8d0d49..a2fea8d88ac 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -96,7 +96,7 @@ update_icon() return - if(user.a_intent != INTENT_HARM && !(W.flags_1 & NOBLUDGEON_1)) + if(user.a_intent != INTENT_HARM && !(W.item_flags & NOBLUDGEON)) return attack_hand(user) else return ..() diff --git a/code/game/machinery/defibrillator_mount.dm b/code/game/machinery/defibrillator_mount.dm index c1c755251d7..2b17118cc8d 100644 --- a/code/game/machinery/defibrillator_mount.dm +++ b/code/game/machinery/defibrillator_mount.dm @@ -38,7 +38,7 @@ use_power(200) defib.cell.give(180) //90% efficiency, slightly better than the cell charger's 87.5% update_icon() - + /obj/machinery/defibrillator_mount/update_icon() cut_overlays() if(defib) @@ -70,7 +70,7 @@ if(defib) to_chat(user, "There's already a defibrillator in [src]!") return - if(I.flags_1 & NODROP_1 || !user.transferItemToLoc(I, src)) + if(I.item_flags & NODROP || !user.transferItemToLoc(I, src)) to_chat(user, "[I] is stuck to your hand!") return user.visible_message("[user] hooks up [I] to [src]!", \ diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 70268584d19..baba3f0009a 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -179,7 +179,7 @@ else if(istype(I, /obj/item/weldingtool)) try_to_weld(I, user) return 1 - else if(!(I.flags_1 & NOBLUDGEON_1) && user.a_intent != INTENT_HARM) + else if(!(I.item_flags & NOBLUDGEON) && user.a_intent != INTENT_HARM) try_to_activate_door(user) return 1 return ..() diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 8f256f1102a..4e00d984366 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -131,7 +131,7 @@ var/obj/item/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc) add_logs(victim, null, "entered a blood frenzy") - chainsaw.flags_1 |= NODROP_1 + chainsaw.item_flags |= NODROP victim.drop_all_held_items() victim.put_in_hands(chainsaw, forced = TRUE) chainsaw.attack_self(victim) diff --git a/code/game/objects/effects/temporary_visuals/projectiles/projectile_effects.dm b/code/game/objects/effects/temporary_visuals/projectiles/projectile_effects.dm index c0a5a68ceb3..dee1affd842 100644 --- a/code/game/objects/effects/temporary_visuals/projectiles/projectile_effects.dm +++ b/code/game/objects/effects/temporary_visuals/projectiles/projectile_effects.dm @@ -8,7 +8,6 @@ light_range = 2 light_color = "#00ffff" mouse_opacity = MOUSE_OPACITY_TRANSPARENT - flags_1 = ABSTRACT_1 appearance_flags = 0 /obj/effect/projectile/singularity_pull() diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index e9c67cb8a5d..c38d2f67c69 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -135,7 +135,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) stack_trace("Invalid type [embedding.type] found in .embedding during /obj/item Initialize()") /obj/item/Destroy() - flags_1 &= ~DROPDEL_1 //prevent reqdels + item_flags &= ~DROPDEL //prevent reqdels if(ismob(loc)) var/mob/m = loc m.temporarilyRemoveItemFromInventory(src, TRUE) @@ -349,7 +349,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) for(var/X in actions) var/datum/action/A = X A.Remove(user) - if(DROPDEL_1 & flags_1) + if(item_flags & DROPDEL) qdel(src) item_flags &= ~IN_INVENTORY SendSignal(COMSIG_ITEM_DROPPED,user) @@ -772,3 +772,8 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) appearance_flags &= ~NO_CLIENT_COLOR dropped(M) return ..() + +/obj/item/throw_at(atom/target, range, speed, mob/thrower, spin=TRUE, diagonals_first = FALSE, var/datum/callback/callback) + if (item_flags & NODROP) + return + return ..() diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 5aeefc2fcd0..03225102c26 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -15,7 +15,8 @@ RLD opacity = 0 density = FALSE anchored = FALSE - flags_1 = CONDUCT_1 | NOBLUDGEON_1 + flags_1 = CONDUCT_1 + item_flags = NOBLUDGEON force = 0 throwforce = 10 throw_speed = 3 @@ -129,7 +130,7 @@ RLD lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' max_matter = 160 - item_flags = NO_MAT_REDEMPTION + item_flags = NO_MAT_REDEMPTION | NOBLUDGEON has_ammobar = TRUE var/mode = 1 var/ranged = FALSE diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm index b894cf8ee57..95638ad5e2f 100644 --- a/code/game/objects/items/RSF.dm +++ b/code/game/objects/items/RSF.dm @@ -13,7 +13,7 @@ RSF opacity = 0 density = FALSE anchored = FALSE - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) var/matter = 0 var/mode = 1 diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm index be9cb0b89a9..b4e02a58cc0 100644 --- a/code/game/objects/items/airlock_painter.dm +++ b/code/game/objects/items/airlock_painter.dm @@ -9,7 +9,8 @@ materials = list(MAT_METAL=50, MAT_GLASS=50) - flags_1 = CONDUCT_1 | NOBLUDGEON_1 + flags_1 = CONDUCT_1 + item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT usesound = 'sound/effects/spray2.ogg' diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index bfbb7e67bbe..109078f804b 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -49,7 +49,7 @@ change_appearance(I, user) return // Why yes, this does closely resemble mob and object attack code. - if(I.flags_1 & NOBLUDGEON_1) + if(I.item_flags & NOBLUDGEON) return if(!I.force) playsound(loc, 'sound/weapons/tap.ogg', get_clamped_volume(), 1, -1) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 6cfcb3492ec..b410b4b172c 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -59,8 +59,7 @@ item_state = "card-id" lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi' - flags_1 = NOBLUDGEON_1 - item_flags = NO_MAT_REDEMPTION + item_flags = NO_MAT_REDEMPTION | NOBLUDGEON 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/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index d861b515f82..24c48ccecd6 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -48,7 +48,7 @@ icon_state = "chronogun" item_state = "chronogun" w_class = WEIGHT_CLASS_NORMAL - flags_1 = NODROP_1 | DROPDEL_1 + item_flags = NODROP | DROPDEL ammo_type = list(/obj/item/ammo_casing/energy/chrono_beam) can_charge = 0 fire_delay = 50 diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index cd70ce6732c..f85d37f82ec 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -19,7 +19,7 @@ lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' w_class = WEIGHT_CLASS_TINY - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON throwforce = 0 throw_speed = 3 throw_range = 7 diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 5ab80004025..7ccca948460 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -19,7 +19,7 @@ GLOBAL_LIST_EMPTY(PDAs) item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_TINY slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index c1de90f3f00..740f22edb47 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -8,7 +8,7 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON var/flush = FALSE var/mob/living/silicon/ai/AI diff --git a/code/game/objects/items/devices/anomaly_neutralizer.dm b/code/game/objects/items/devices/anomaly_neutralizer.dm index c7190596315..ca018a041fd 100644 --- a/code/game/objects/items/devices/anomaly_neutralizer.dm +++ b/code/game/objects/items/devices/anomaly_neutralizer.dm @@ -8,7 +8,7 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON /obj/item/anomaly_neutralizer/afterattack(atom/target, mob/user, proximity) ..() diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index 64a64853b12..e88b906862e 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -14,7 +14,7 @@ item_state = "camera_bug" throw_speed = 4 throw_range = 20 - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON var/obj/machinery/camera/current = null diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 990d6cc0384..6544a883f3c 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -2,7 +2,8 @@ name = "chameleon-projector" icon = 'icons/obj/device.dmi' icon_state = "shield0" - flags_1 = CONDUCT_1 | NOBLUDGEON_1 + flags_1 = CONDUCT_1 + item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' @@ -49,7 +50,7 @@ return if(iseffect(target)) if(!(istype(target, /obj/effect/decal))) //be a footprint - return + return playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, 1, -6) to_chat(user, "Scanned [target].") var/obj/temp = new/obj() diff --git a/code/game/objects/items/devices/doorCharge.dm b/code/game/objects/items/devices/doorCharge.dm index 6fa1b9d742d..9b009da7a41 100644 --- a/code/game/objects/items/devices/doorCharge.dm +++ b/code/game/objects/items/devices/doorCharge.dm @@ -9,7 +9,7 @@ w_class = WEIGHT_CLASS_SMALL throw_range = 4 throw_speed = 1 - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON force = 3 attack_verb = list("blown up", "exploded", "detonated") materials = list(MAT_METAL=50, MAT_GLASS=30) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 3386b975e38..9d3b680aa6c 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -530,5 +530,6 @@ desc = "This shouldn't exist outside of someone's head, how are you seeing this?" brightness_on = 15 flashlight_power = 1 - flags_1 = CONDUCT_1 | DROPDEL_1 + flags_1 = CONDUCT_1 + item_flags = DROPDEL actions_types = list() diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm index bb0914eeeca..d8dce7c4277 100644 --- a/code/game/objects/items/devices/forcefieldprojector.dm +++ b/code/game/objects/items/devices/forcefieldprojector.dm @@ -5,7 +5,7 @@ icon_state = "signmaker_engi" slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' @@ -105,4 +105,4 @@ /obj/structure/projected_forcefield/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) if(sound_effect) play_attack_sound(damage_amount, damage_type, damage_flag) - generator.shield_integrity = max(generator.shield_integrity - damage_amount, 0) \ No newline at end of file + generator.shield_integrity = max(generator.shield_integrity - damage_amount, 0) diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index 07118e2a186..a8ddc09b20d 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -157,11 +157,11 @@ GLOBAL_LIST_EMPTY(GPS_list) icon_state = "gps-b" gpstag = "BORG0" desc = "A mining cyborg internal positioning system. Used as a recovery beacon for damaged cyborg assets, or a collaboration tool for mining teams." - flags_1 = NODROP_1 + item_flags = NODROP /obj/item/gps/internal icon_state = null - flags_1 = ABSTRACT_1 + item_flags = ABSTRACT gpstag = "Eerie Signal" desc = "Report to a coder immediately." invisibility = INVISIBILITY_MAXIMUM diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 32a266dbfb7..f9ea6a6be4a 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -5,7 +5,8 @@ icon_state = "pointer" item_state = "pen" var/pointer_icon_state - flags_1 = CONDUCT_1 | NOBLUDGEON_1 + flags_1 = CONDUCT_1 + item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT materials = list(MAT_METAL=500, MAT_GLASS=500) w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/devices/pipe_painter.dm b/code/game/objects/items/devices/pipe_painter.dm index a13de183a02..6415b105b5d 100644 --- a/code/game/objects/items/devices/pipe_painter.dm +++ b/code/game/objects/items/devices/pipe_painter.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/bureaucracy.dmi' icon_state = "labeler1" item_state = "flight" - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON var/paint_color = "grey" materials = list(MAT_METAL=5000, MAT_GLASS=2000) diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 1734fa5bfb5..2f8b111b4b5 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -53,8 +53,8 @@ user.put_in_hands(A) A.add_fingerprint(user) - if(src.flags_1 & NODROP_1) - A.flags_1 |= NODROP_1 + if(item_flags & NODROP) + A.item_flags |= NODROP else return ..() diff --git a/code/game/objects/items/devices/reverse_bear_trap.dm b/code/game/objects/items/devices/reverse_bear_trap.dm index 4dc8d042677..2f137861aa6 100644 --- a/code/game/objects/items/devices/reverse_bear_trap.dm +++ b/code/game/objects/items/devices/reverse_bear_trap.dm @@ -49,7 +49,7 @@ if(iscarbon(user)) var/mob/living/carbon/C = user if(C.get_item_by_slot(SLOT_HEAD) == src) - if(flags_1 & NODROP_1 && !struggling) + if((item_flags & NODROP) && !struggling) struggling = TRUE var/fear_string switch(time_left) @@ -74,7 +74,7 @@ else user.visible_message("The lock on [user]'s [name] pops open!", \ "You force open the padlock!", "You hear a single, pronounced click!") - flags_1 &= ~NODROP_1 + item_flags &= ~NODROP struggling = FALSE else ..() @@ -116,7 +116,7 @@ /obj/item/reverse_bear_trap/proc/reset() ticking = FALSE - flags_1 &= ~NODROP_1 + item_flags &= ~NODROP soundloop.stop() soundloop2.stop() STOP_PROCESSING(SSprocessing, src) @@ -125,7 +125,7 @@ ticking = TRUE escape_chance = initial(escape_chance) //we keep these vars until re-arm, for tracking purposes time_left = initial(time_left) - flags_1 |= NODROP_1 + item_flags |= NODROP soundloop.start() soundloop2.mid_length = initial(soundloop2.mid_length) soundloop2.start() diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index eb50488e345..ad29b7b7b26 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -68,7 +68,8 @@ SLIME SCANNER lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' desc = "A hand-held body scanner able to distinguish vital signs of the subject." - flags_1 = CONDUCT_1 | NOBLUDGEON_1 + flags_1 = CONDUCT_1 + item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT throwforce = 3 w_class = WEIGHT_CLASS_TINY @@ -373,7 +374,8 @@ SLIME SCANNER lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_SMALL - flags_1 = CONDUCT_1 | NOBLUDGEON_1 + flags_1 = CONDUCT_1 + item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT throwforce = 0 throw_speed = 3 @@ -600,4 +602,4 @@ SLIME SCANNER if(T.effectmod) to_chat(user, "Core mutation in progress: [T.effectmod]") to_chat(user, "Progress in core mutation: [T.applied] / [SLIME_EXTRACT_CROSSING_REQUIRED]") - to_chat(user, "========================") \ No newline at end of file + to_chat(user, "========================") diff --git a/code/game/objects/items/gift.dm b/code/game/objects/items/gift.dm index a09d39072df..af88c74e654 100644 --- a/code/game/objects/items/gift.dm +++ b/code/game/objects/items/gift.dm @@ -95,7 +95,7 @@ GLOBAL_LIST_EMPTY(possible_gifts) var/list/gift_types_list = subtypesof(/obj/item) for(var/V in gift_types_list) var/obj/item/I = V - if((!initial(I.icon_state)) || (!initial(I.item_state)) || (initial(I.flags_1) & ABSTRACT_1)) + if((!initial(I.icon_state)) || (!initial(I.item_state)) || (initial(I.item_flags) & ABSTRACT)) gift_types_list -= V GLOB.possible_gifts = gift_types_list var/gift_type = pick(GLOB.possible_gifts) diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index 3542afa00e5..e498cb3485f 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -253,7 +253,7 @@ if(ishuman(user)) to_chat(user,"HORSIE HAS RISEN") var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead - magichead.flags_1 |= NODROP_1 //curses! + magichead.item_flags |= NODROP //curses! magichead.flags_inv &= ~HIDEFACE //so you can still see their face magichead.voicechange = TRUE //NEEEEIIGHH if(!user.dropItemToGround(user.wear_mask)) diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index 8e96e97389f..e091390fd90 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -5,7 +5,8 @@ item_state = "plastic-explosive" lefthand_file = 'icons/mob/inhands/weapons/bombs_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/bombs_righthand.dmi' - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON + flags_1 = NONE det_time = 10 display_timer = 0 w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 735bcaeb27b..2ed152ee21c 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -297,7 +297,8 @@ armed = 1 icon_state = "e_snare" trap_damage = 0 - flags_1 = DROPDEL_1 + item_flags = DROPDEL + flags_1 = NONE /obj/item/restraints/legcuffs/beartrap/energy/New() ..() @@ -361,4 +362,4 @@ var/obj/item/restraints/legcuffs/beartrap/B = new /obj/item/restraints/legcuffs/beartrap/energy/cyborg(get_turf(hit_atom)) B.Crossed(hit_atom) qdel(src) - ..() \ No newline at end of file + ..() diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm index d13d6cc1dd7..ed5e7638748 100644 --- a/code/game/objects/items/his_grace.dm +++ b/code/game/objects/items/his_grace.dm @@ -86,7 +86,7 @@ do_attack_animation(master, null, src) master.emote("scream") master.remove_status_effect(STATUS_EFFECT_HISGRACE) - flags_1 &= ~NODROP_1 + item_flags &= ~NODROP master.Knockdown(60) master.adjustBruteLoss(master.maxHealth) playsound(master, 'sound/effects/splat.ogg', 100, 0) @@ -170,20 +170,20 @@ update_stats() /obj/item/his_grace/proc/update_stats() - flags_1 &= ~NODROP_1 + item_flags &= ~NODROP var/mob/living/master = get_atom_on_turf(src, /mob/living) switch(bloodthirst) if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP) if(HIS_GRACE_CONSUME_OWNER > prev_bloodthirst) master.visible_message("[src] enters a frenzy!") if(HIS_GRACE_STARVING to HIS_GRACE_CONSUME_OWNER) - flags_1 |= NODROP_1 + item_flags |= NODROP if(HIS_GRACE_STARVING > prev_bloodthirst) master.visible_message("[src] is starving!", "[src]'s bloodlust overcomes you. [src] must be fed, or you will become His meal.\ [force_bonus < 15 ? " And still, His power grows.":""]") force_bonus = max(force_bonus, 15) if(HIS_GRACE_FAMISHED to HIS_GRACE_STARVING) - flags_1 |= NODROP_1 + item_flags |= NODROP if(HIS_GRACE_FAMISHED > prev_bloodthirst) master.visible_message("[src] is very hungry!", "Spines sink into your hand. [src] must feed immediately.\ [force_bonus < 10 ? " His power grows.":""]") diff --git a/code/game/objects/items/holosign_creator.dm b/code/game/objects/items/holosign_creator.dm index 48504d6e3ca..654afba29df 100644 --- a/code/game/objects/items/holosign_creator.dm +++ b/code/game/objects/items/holosign_creator.dm @@ -11,7 +11,7 @@ throwforce = 0 throw_speed = 3 throw_range = 7 - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON var/list/signs = list() var/max_signs = 10 var/creation_time = 0 //time to create a holosign in deciseconds. @@ -122,4 +122,3 @@ for(var/H in signs) qdel(H) to_chat(user, "You clear all active holograms.") - diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index f79c9ad0e80..a3a997256d2 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -229,7 +229,7 @@ righthand_file = 'icons/mob/inhands/items_righthand.dmi' name = "god hand" desc = "This hand of yours glows with an awesome power!" - flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 + item_flags = ABSTRACT | NODROP | DROPDEL w_class = WEIGHT_CLASS_HUGE hitsound = 'sound/weapons/sear.ogg' damtype = BURN @@ -473,7 +473,7 @@ lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' w_class = WEIGHT_CLASS_HUGE - flags_1 = NODROP_1 | ABSTRACT_1 + item_flags = NODROP | ABSTRACT sharpness = IS_SHARP attack_verb = list("sawed", "torn", "cut", "chopped", "diced") hitsound = 'sound/weapons/chainsawhit.ogg' @@ -544,7 +544,7 @@ item_state = "arm_blade" lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi' righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi' - flags_1 = ABSTRACT_1 | NODROP_1 + item_flags = ABSTRACT | NODROP w_class = WEIGHT_CLASS_HUGE sharpness = IS_SHARP diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm index c374ab94fdd..6b1564a3bc2 100644 --- a/code/game/objects/items/hot_potato.dm +++ b/code/game/objects/items/hot_potato.dm @@ -4,7 +4,7 @@ desc = "A label on the side of this potato reads \"Product of DonkCo Service Wing. Activate far away from populated areas. Device will only attach to sapient creatures.\" You can attack anyone with it to force it on them instead of yourself!" icon = 'icons/obj/hydroponics/harvest.dmi' icon_state = "potato" - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON force = 0 var/icon_off = "potato" var/icon_on = "potato_active" @@ -133,7 +133,7 @@ return update_icon() if(sticky) - flags_1 |= NODROP_1 + item_flags |= NODROP name = "primed [name]" activation_time = timer + world.time detonation_timerid = addtimer(CALLBACK(src, .proc/detonate), delay, TIMER_STOPPABLE) @@ -146,7 +146,7 @@ /obj/item/hot_potato/proc/deactivate() update_icon() name = initial(name) - flags_1 &= ~NODROP_1 + item_flags &= ~NODROP deltimer(detonation_timerid) STOP_PROCESSING(SSfastprocess, src) detonation_timerid = null diff --git a/code/game/objects/items/implants/implant.dm b/code/game/objects/items/implants/implant.dm index d1ff075ef2e..bc541181dbe 100644 --- a/code/game/objects/items/implants/implant.dm +++ b/code/game/objects/items/implants/implant.dm @@ -8,7 +8,7 @@ item_color = "b" var/allow_multiple = FALSE var/uses = -1 - flags_1 = DROPDEL_1 + item_flags = DROPDEL /obj/item/implant/proc/trigger(emote, mob/living/carbon/source) diff --git a/code/game/objects/items/paiwire.dm b/code/game/objects/items/paiwire.dm index 994082c5faf..ef98ed62a13 100644 --- a/code/game/objects/items/paiwire.dm +++ b/code/game/objects/items/paiwire.dm @@ -3,11 +3,11 @@ name = "data cable" icon = 'icons/obj/power.dmi' icon_state = "wire1" - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON var/obj/machinery/machine /obj/item/pai_cable/proc/plugin(obj/machinery/M, mob/living/user) if(!user.transferItemToLoc(src, M)) return user.visible_message("[user] inserts [src] into a data port on [M].", "You insert [src] into a data port on [M].", "You hear the satisfying click of a wire jack fastening into place.") - machine = M \ No newline at end of file + machine = M diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 4dc49b465f9..79ccf151e93 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -151,7 +151,7 @@ /obj/item/borg/charger name = "power connector" icon_state = "charger_draw" - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON var/mode = "draw" var/static/list/charge_machines = typecacheof(list(/obj/machinery/cell_charger, /obj/machinery/recharger, /obj/machinery/recharge_station, /obj/machinery/mech_bay_recharge_port)) var/static/list/charge_items = typecacheof(list(/obj/item/stock_parts/cell, /obj/item/gun/energy)) diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 4eae35a98cb..779bcd03e9d 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -187,7 +187,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ singular_name = "hide plate" max_amount = 6 novariants = FALSE - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_NORMAL layer = MOB_LAYER @@ -200,7 +200,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ singular_name = "drake plate" max_amount = 10 novariants = FALSE - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_NORMAL layer = MOB_LAYER diff --git a/code/game/objects/items/stacks/telecrystal.dm b/code/game/objects/items/stacks/telecrystal.dm index 3597a3f4d66..ec1e7b87736 100644 --- a/code/game/objects/items/stacks/telecrystal.dm +++ b/code/game/objects/items/stacks/telecrystal.dm @@ -6,7 +6,7 @@ icon_state = "telecrystal" w_class = WEIGHT_CLASS_TINY max_amount = 50 - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON /obj/item/stack/telecrystal/attack(mob/target, mob/user) if(target == user) //You can't go around smacking people with crystals to find out if they have an uplink or not. diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm index fe056d34d89..3e5c9c2ba99 100644 --- a/code/game/objects/items/stacks/wrap.dm +++ b/code/game/objects/items/stacks/wrap.dm @@ -9,7 +9,7 @@ desc = "Wrap packages with this festive paper to make gifts." icon = 'icons/obj/stack_objects.dmi' icon_state = "wrap_paper" - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON amount = 25 max_amount = 25 resistance_flags = FLAMMABLE @@ -31,7 +31,7 @@ desc = "You can use this to wrap items in." icon = 'icons/obj/stack_objects.dmi' icon_state = "deliveryPaper" - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON amount = 25 max_amount = 25 resistance_flags = FLAMMABLE diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 70ec8243b28..8e26d1545b7 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -114,7 +114,7 @@ amount_per_transfer_from_this = 50 possible_transfer_amounts = list(25,50,100) volume = 500 - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON container_type = OPENCONTAINER slot_flags = 0 diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index ef82c074a67..94ce5d96a5d 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -247,8 +247,8 @@ // Copied from /obj/item/melee/transforming/energy/sword/attackby /obj/item/toy/sword/attackby(obj/item/W, mob/living/user, params) if(istype(W, /obj/item/toy/sword)) - if((W.flags_1 & NODROP_1) || (flags_1 & NODROP_1)) - to_chat(user, "\the [flags_1 & NODROP_1 ? src : W] is stuck to your hand, you can't attach it to \the [flags_1 & NODROP_1 ? W : src]!") + if((W.item_flags & NODROP) || (item_flags & NODROP)) + to_chat(user, "\the [item_flags & NODROP ? src : W] is stuck to your hand, you can't attach it to \the [item_flags & NODROP ? W : src]!") return else to_chat(user, "You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.") diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index 6526eaf561c..5c0110ba8d6 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -121,7 +121,7 @@ name = "offhand" icon_state = "offhand" w_class = WEIGHT_CLASS_HUGE - flags_1 = ABSTRACT_1 + item_flags = ABSTRACT resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF /obj/item/twohanded/offhand/Destroy() diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index acefaf80f02..9ee281e62dc 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -80,7 +80,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/claymore/highlander //ALL COMMENTS MADE REGARDING THIS SWORD MUST BE MADE IN ALL CAPS desc = "THERE CAN BE ONLY ONE, AND IT WILL BE YOU!!!\nActivate it in your hand to point to the nearest victim." - flags_1 = CONDUCT_1 | NODROP_1 | DROPDEL_1 + flags_1 = CONDUCT_1 + item_flags = NODROP | DROPDEL slot_flags = null block_chance = 0 //RNG WON'T HELP YOU NOW, PANSY light_range = 3 @@ -251,7 +252,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 user.put_in_hands(S) to_chat(user, "You fasten the glass shard to the top of the rod with the cable.") - else if(istype(I, /obj/item/assembly/igniter) && !(I.flags_1 & NODROP_1)) + else if(istype(I, /obj/item/assembly/igniter) && !(I.item_flags & NODROP)) var/obj/item/melee/baton/cattleprod/P = new /obj/item/melee/baton/cattleprod remove_item_from_storage(user) @@ -414,7 +415,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 item_state = "mounted_chainsaw" lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' - flags_1 = NODROP_1 | ABSTRACT_1 | DROPDEL_1 + item_flags = NODROP | ABSTRACT | DROPDEL w_class = WEIGHT_CLASS_HUGE force = 24 throwforce = 0 @@ -594,7 +595,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 icon_state = "madeyoulook" force = 0 throwforce = 0 - flags_1 = DROPDEL_1 | ABSTRACT_1 + item_flags = DROPDEL | ABSTRACT attack_verb = list("bopped") /obj/item/slapper @@ -604,7 +605,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 item_state = "nothing" force = 0 throwforce = 0 - flags_1 = DROPDEL_1 | ABSTRACT_1 + item_flags = DROPDEL | ABSTRACT attack_verb = list("slapped") hitsound = 'sound/effects/snap.ogg' diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index ca8d01fc07e..11914073b6b 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -163,18 +163,20 @@ else if(istype(AM, /obj/structure/closet)) return else if(isobj(AM)) - if(!allow_objects && !istype(AM, /obj/item) && !istype(AM, /obj/effect/dummy/chameleon)) + if (istype(AM, /obj/item)) + var/obj/item/I = AM + if (I.item_flags & NODROP) + return + else if(!allow_objects && !istype(AM, /obj/effect/dummy/chameleon)) return if(!allow_dense && AM.density) return - if(AM.anchored || AM.has_buckled_mobs() || (AM.flags_1 & NODROP_1)) + if(AM.anchored || AM.has_buckled_mobs()) return else return AM.forceMove(src) - if(AM.pulledby) - AM.pulledby.stop_pulling() return 1 @@ -257,7 +259,7 @@ user.visible_message("[user] [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \ "You [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \ "You hear a ratchet.") - else if(user.a_intent != INTENT_HARM && !(W.flags_1 & NOBLUDGEON_1)) + else if(user.a_intent != INTENT_HARM && !(W.item_flags & NOBLUDGEON)) if(W.GetID() || !toggle(user)) togglelock(user) else diff --git a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm index d21379cb448..9b35a6e519d 100644 --- a/code/game/objects/structures/manned_turret.dm +++ b/code/game/objects/structures/manned_turret.dm @@ -179,7 +179,7 @@ icon = 'icons/obj/items_and_weapons.dmi' icon_state = "offhand" w_class = WEIGHT_CLASS_HUGE - flags_1 = ABSTRACT_1 | NODROP_1 | NOBLUDGEON_1 | DROPDEL_1 + item_flags = ABSTRACT | NODROP | NOBLUDGEON | DROPDEL resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF var/obj/machinery/manned_turret/turret diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 0d7500ebf2c..cc85054777a 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -141,7 +141,7 @@ return // If the tray IS empty, continue on (tray will be placed on the table like other items) - if(user.a_intent != INTENT_HARM && !(I.flags_1 & ABSTRACT_1)) + if(user.a_intent != INTENT_HARM && !(I.item_flags & ABSTRACT)) if(user.transferItemToLoc(I, drop_location())) var/list/click_params = params2list(params) //Center the icon where the user clicked. diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 929e6e15204..4e85128a859 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -540,7 +540,7 @@ if(!istype(O)) return - if(O.flags_1 & ABSTRACT_1) //Abstract items like grabs won't wash. No-drop items will though because it's still technically an item in your hand. + if(O.item_flags & ABSTRACT) //Abstract items like grabs won't wash. No-drop items will though because it's still technically an item in your hand. return if(user.a_intent != INTENT_HARM) diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm index 7ebac469b1b..fbaadbd0144 100644 --- a/code/modules/admin/secrets.dm +++ b/code/modules/admin/secrets.dm @@ -428,7 +428,7 @@ H.equip_to_slot_or_del(I, SLOT_W_UNIFORM) qdel(olduniform) if(droptype == "Yes") - I.flags_1 |= NODROP_1 + I.item_flags |= NODROP else to_chat(H, "You're not kawaii enough for this.") diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 28cc4d9698c..f28780a6c03 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -30,9 +30,9 @@ var/combat_armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 50, "rad" = 50, "fire" = 90, "acid" = 90) /obj/item/clothing/suit/armor/abductor/vest/proc/toggle_nodrop() - flags_1 ^= NODROP_1 + item_flags ^= NODROP if(ismob(loc)) - to_chat(loc, "Your vest is now [flags_1 & NODROP_1 ? "locked" : "unlocked"].") + to_chat(loc, "Your vest is now [item_flags & NODROP ? "locked" : "unlocked"].") /obj/item/clothing/suit/armor/abductor/vest/proc/flip_mode() switch(mode) @@ -589,9 +589,10 @@ Congratulations! You are now trained for invasive xenobiology research!"} righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' breakouttime = 450 trashtype = /obj/item/restraints/handcuffs/energy/used + flags_1 = NONE /obj/item/restraints/handcuffs/energy/used - flags_1 = DROPDEL_1 + item_flags = DROPDEL /obj/item/restraints/handcuffs/energy/used/dropped(mob/user) user.visible_message("[user]'s [name] breaks in a discharge of energy!", \ diff --git a/code/modules/antagonists/abductor/equipment/abduction_outfits.dm b/code/modules/antagonists/abductor/equipment/abduction_outfits.dm index 8b8851ec186..e2b881d147d 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_outfits.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_outfits.dm @@ -17,7 +17,7 @@ var/obj/item/clothing/suit/armor/abductor/vest/V = locate() in H if(V) console.AddVest(V) - V.flags_1 |= NODROP_1 + V.item_flags |= NODROP var/obj/item/storage/backpack/B = locate() in H if(B) diff --git a/code/modules/antagonists/abductor/machinery/console.dm b/code/modules/antagonists/abductor/machinery/console.dm index e629a0b47d1..3d6bacdfb22 100644 --- a/code/modules/antagonists/abductor/machinery/console.dm +++ b/code/modules/antagonists/abductor/machinery/console.dm @@ -76,7 +76,7 @@ dat+="
" dat += "Select Agent Vest Disguise
" - dat += "[vest.flags_1 & NODROP_1 ? "Unlock" : "Lock"] Vest
" + dat += "[vest.item_flags & NODROP ? "Unlock" : "Lock"] Vest
" else dat += "NO AGENT VEST DETECTED" var/datum/browser/popup = new(user, "computer", "Abductor Console", 400, 500) diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index dbc8446fcab..08fe6bd0cec 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -29,7 +29,7 @@ /obj/effect/proc_holder/changeling/weapon/proc/check_weapon(mob/user, obj/item/hand_item) if(istype(hand_item, weapon_type)) - user.temporarilyRemoveItemFromInventory(hand_item, TRUE) //DROPDEL_1 will delete the item + user.temporarilyRemoveItemFromInventory(hand_item, TRUE) //DROPDEL will delete the item if(!silent) playsound(user, 'sound/effects/blobattack.ogg', 30, 1) user.visible_message("With a sickening crunch, [user] reforms [user.p_their()] [weapon_name_simple] into an arm!", "We assimilate the [weapon_name_simple] back into our body.", "[user]'s [name] come apart at the seams!", \ diff --git a/code/modules/antagonists/clockcult/clock_items/integration_cog.dm b/code/modules/antagonists/clockcult/clock_items/integration_cog.dm index 4e4aff55693..0ce70336fe5 100644 --- a/code/modules/antagonists/clockcult/clock_items/integration_cog.dm +++ b/code/modules/antagonists/clockcult/clock_items/integration_cog.dm @@ -9,7 +9,7 @@ Siphons 5 W of power per second while in an APC." icon_state = "wall_gear" w_class = WEIGHT_CLASS_TINY - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON var/obj/machinery/power/apc/apc /obj/item/clockwork/integration_cog/Initialize() diff --git a/code/modules/antagonists/clockcult/clock_items/replica_fabricator.dm b/code/modules/antagonists/clockcult/clock_items/replica_fabricator.dm index c89a04c932e..741b251a4fe 100644 --- a/code/modules/antagonists/clockcult/clock_items/replica_fabricator.dm +++ b/code/modules/antagonists/clockcult/clock_items/replica_fabricator.dm @@ -8,7 +8,7 @@ righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi' w_class = WEIGHT_CLASS_NORMAL force = 5 - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON var/speed_multiplier = 1 //The speed ratio the fabricator operates at var/uses_power = TRUE var/repairing = null //what we're currently repairing, if anything diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 3df3d63ebde..8ee58670e9d 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -340,7 +340,8 @@ icon = 'icons/obj/items_and_weapons.dmi' icon_state = "disintegrate" item_state = null - flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 + item_flags = NEEDS_PERMIT | ABSTRACT | NODROP | DROPDEL + w_class = WEIGHT_CLASS_HUGE throwforce = 0 throw_range = 0 @@ -520,7 +521,7 @@ name = "shadow shackles" desc = "Shackles that bind the wrists with sinister magic." trashtype = /obj/item/restraints/handcuffs/energy/used - flags_1 = DROPDEL_1 + item_flags = DROPDEL /obj/item/restraints/handcuffs/energy/cult/used/dropped(mob/user) user.visible_message("[user]'s shackles shatter in a discharge of dark magic!", \ diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 5f56e1b91bc..140e3bab37c 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -64,7 +64,8 @@ /obj/item/melee/cultblade/ghost name = "eldritch sword" force = 19 //can't break normal airlocks - flags_1 = NODROP_1|DROPDEL_1 + item_flags = NEEDS_PERMIT | NODROP | DROPDEL + flags_1 = NONE /obj/item/melee/cultblade/pickup(mob/living/user) ..() @@ -301,7 +302,7 @@ item_state = "cult_hoodalt" /obj/item/clothing/head/culthood/alt/ghost - flags_1 = NODROP_1|DROPDEL_1 + item_flags = NODROP | DROPDEL /obj/item/clothing/suit/cultrobes/alt name = "cultist robes" @@ -310,7 +311,7 @@ item_state = "cultrobesalt" /obj/item/clothing/suit/cultrobes/alt/ghost - flags_1 = NODROP_1|DROPDEL_1 + item_flags = NODROP | DROPDEL /obj/item/clothing/head/magus @@ -754,7 +755,7 @@ guns_left = 24 mag_type = /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage/blood fire_sound = 'sound/magic/wand_teleport.ogg' - flags_1 = NOBLUDGEON_1 | DROPDEL_1 + item_flags = NEEDS_PERMIT | NOBLUDGEON | DROPDEL /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage/blood @@ -792,7 +793,7 @@ icon = 'icons/obj/items_and_weapons.dmi' icon_state = "disintegrate" item_state = null - flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 + item_flags = ABSTRACT | NODROP | DROPDEL w_class = WEIGHT_CLASS_HUGE throwforce = 0 throw_range = 0 diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm index 72b945600b2..4e1175c13e7 100644 --- a/code/modules/antagonists/devil/true_devil/_true_devil.dm +++ b/code/modules/antagonists/devil/true_devil/_true_devil.dm @@ -67,7 +67,7 @@ //Left hand items for(var/obj/item/I in held_items) - if(!(I.flags_1 & ABSTRACT_1)) + if(!(I.item_flags & ABSTRACT)) msg += "It is holding [I.get_examine_string(user)] in its [get_held_index_name(get_held_index_of_item(I))].\n" //Braindead diff --git a/code/modules/antagonists/highlander/highlander.dm b/code/modules/antagonists/highlander/highlander.dm index 6f50e69c844..abafcb2a191 100644 --- a/code/modules/antagonists/highlander/highlander.dm +++ b/code/modules/antagonists/highlander/highlander.dm @@ -59,7 +59,7 @@ W.access += get_all_centcom_access() W.assignment = "Highlander" W.registered_name = H.real_name - W.flags_1 |= NODROP_1 + W.item_flags |= NODROP W.update_label(H.real_name) H.equip_to_slot_or_del(W, SLOT_WEAR_ID) diff --git a/code/modules/antagonists/nukeop/equipment/pinpointer.dm b/code/modules/antagonists/nukeop/equipment/pinpointer.dm index 1d7855d3730..19eba00b65a 100644 --- a/code/modules/antagonists/nukeop/equipment/pinpointer.dm +++ b/code/modules/antagonists/nukeop/equipment/pinpointer.dm @@ -65,7 +65,8 @@ /obj/item/pinpointer/syndicate_cyborg // Cyborg pinpointers just look for a random operative. name = "cyborg syndicate pinpointer" desc = "An integrated tracking device, jury-rigged to search for living Syndicate operatives." - flags_1 = NODROP_1 + item_flags = NODROP + flags_1 = NONE /obj/item/pinpointer/syndicate_cyborg/scan_for_target() target = null @@ -79,4 +80,3 @@ if(closest_operative) target = closest_operative ..() - diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 4a6c9d2db30..e422706cacb 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -166,8 +166,12 @@ listener = newloc.AddComponent(/datum/component/redirect, COMSIG_ATOM_EXITED, CALLBACK(src, .proc/check_exit)) /obj/item/assembly/infra/proc/check_exit(atom/movable/offender) - if(offender && ((offender.flags_1 & ABSTRACT_1) || offender == src)) + if(offender == src) return + if (offender && isitem(offender)) + var/obj/item/I = offender + if (I.item_flags & ABSTRACT) + return return refreshBeam() /obj/item/assembly/infra/ui_interact(mob/user)//TODO: change this this to the wire control panel @@ -216,10 +220,13 @@ var/obj/item/assembly/infra/master anchored = TRUE density = FALSE - flags_1 = ABSTRACT_1 pass_flags = PASSTABLE|PASSGLASS|PASSGRILLE|LETPASSTHROW /obj/effect/beam/i_beam/Crossed(atom/movable/AM as mob|obj) - if(istype(AM, /obj/effect/beam) || (AM.flags_1 & ABSTRACT_1)) + if(istype(AM, /obj/effect/beam)) return + if (isitem(AM)) + var/obj/item/I = AM + if (I.item_flags & ABSTRACT) + return master.trigger_beam(AM, get_turf(src)) diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 09504c60b7a..b3c5078af9b 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -495,14 +495,14 @@ W.registered_name = H.real_name W.update_label(W.registered_name, W.assignment) - // The shielded hardsuit is already NODROP_1 + // The shielded hardsuit is already NODROP no_drops += H.get_item_by_slot(SLOT_GLOVES) no_drops += H.get_item_by_slot(SLOT_SHOES) no_drops += H.get_item_by_slot(SLOT_W_UNIFORM) no_drops += H.get_item_by_slot(SLOT_EARS) for(var/i in no_drops) var/obj/item/I = i - I.flags_1 |= NODROP_1 + I.item_flags |= NODROP /datum/outfit/ctf/instagib r_hand = /obj/item/gun/energy/laser/instakill diff --git a/code/modules/cargo/export_scanner.dm b/code/modules/cargo/export_scanner.dm index e493f96c6e6..2113696e908 100644 --- a/code/modules/cargo/export_scanner.dm +++ b/code/modules/cargo/export_scanner.dm @@ -6,7 +6,7 @@ item_state = "radio" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_SMALL siemens_coefficient = 1 var/obj/machinery/computer/cargo/cargo_console = null diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 9d4983ed57d..e4cc477f118 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -170,7 +170,7 @@ for(var/V in typesof(chameleon_type)) if(ispath(V) && ispath(V, /obj/item)) var/obj/item/I = V - if(chameleon_blacklist[V] || (initial(I.flags_1) & ABSTRACT_1) || !initial(I.icon_state)) + if(chameleon_blacklist[V] || (initial(I.item_flags) & ABSTRACT) || !initial(I.icon_state)) continue var/chameleon_item_name = "[initial(I.name)] ([initial(I.icon_state)])" chameleon_list[chameleon_item_name] = I @@ -405,7 +405,7 @@ /obj/item/clothing/head/chameleon/drone // The camohat, I mean, holographic hat projection, is part of the // drone itself. - flags_1 = NODROP_1 + item_flags = NODROP armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) // which means it offers no protection, it's just air and light @@ -459,7 +459,7 @@ /obj/item/clothing/mask/chameleon/drone //Same as the drone chameleon hat, undroppable and no protection - flags_1 = NODROP_1 + item_flags = NODROP armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) // Can drones use the voice changer part? Let's not find out. vchange = 0 diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index c64ecc0e0f7..bbb8d687d90 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -367,7 +367,7 @@ vision_flags = SEE_TURFS|SEE_MOBS|SEE_OBJS darkness_view = 8 scan_reagents = 1 - flags_1 = NODROP_1 + item_flags = NODROP lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE resistance_flags = LAVA_PROOF | FIRE_PROOF diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 18521b7dc97..9d46d40ab3c 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -100,7 +100,7 @@ /obj/item/clothing/head/beret/highlander desc = "That was white fabric. Was." - flags_1 = NODROP_1 + item_flags = NODROP dog_fashion = null //THIS IS FOR SLAUGHTER, NOT PUPPIES //Security diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index d7a7e7f5e2c..8cca54f6947 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -221,7 +221,7 @@ icon_state = "shamebrero" item_state = "shamebrero" desc = "Once it's on, it never comes off." - flags_1 = NODROP_1 + item_flags = NODROP dog_fashion = null /obj/item/clothing/head/cone @@ -344,4 +344,4 @@ if(prob(3)) M += pick(" Honh honh honh!"," Honh!"," Zut Alors!") - return trim(M) \ No newline at end of file + return trim(M) diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index ad77f1d350d..8c5e0a7fe82 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -123,7 +123,7 @@ obj/item/clothing/mask/frog return message obj/item/clothing/mask/frog/cursed - flags_1 = NODROP_1 //reee!! + item_flags = NODROP //reee!! /obj/item/clothing/mask/frog/cursed/attack_self(mob/user) return //no voicebox to alter. diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 9f0d8358ac1..6a8af882ad5 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -157,7 +157,7 @@ icon_state = "cultalt" /obj/item/clothing/shoes/cult/alt/ghost - flags_1 = NODROP_1|DROPDEL_1 + item_flags = NODROP | DROPDEL /obj/item/clothing/shoes/cyborg name = "cyborg boots" diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index b3b74446ec5..d0820304fef 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -98,7 +98,7 @@ teleporting = 0 for(var/obj/item/I in user.held_items) if(I in hands_nodrop) - I.flags_1 &= ~NODROP_1 + I.item_flags &= ~NODROP if(camera) camera.remove_target_ui() camera.forceMove(user) @@ -133,9 +133,9 @@ hands_nodrop = list() for(var/obj/item/I in user.held_items) - if(!(I.flags_1 & NODROP_1)) + if(!(I.item_flags & NODROP)) hands_nodrop += I - I.flags_1 |= NODROP_1 + I.item_flags |= NODROP user.animate_movement = NO_STEPS user.changeNext_move(8 + phase_in_ds) user.notransform = 1 @@ -194,9 +194,9 @@ if(user.head && istype(user.head, /obj/item/clothing/head/helmet/space/chronos)) to_chat(user, "\[ ok \] Mounting /dev/helm") helmet = user.head - helmet.flags_1 |= NODROP_1 + helmet.item_flags |= NODROP helmet.suit = src - src.flags_1 |= NODROP_1 + src.item_flags |= NODROP to_chat(user, "\[ ok \] Starting brainwave scanner") to_chat(user, "\[ ok \] Starting ui display driver") to_chat(user, "\[ ok \] Initializing chronowalk4-view") @@ -215,7 +215,7 @@ activating = 1 var/mob/living/carbon/human/user = src.loc var/hard_landing = teleporting && force - src.flags_1 &= ~NODROP_1 + item_flags &= ~NODROP cooldown = world.time + cooldowntime * 1.5 activated = 0 activating = 0 @@ -236,7 +236,7 @@ to_chat(user, "\[ ok \] Unmounting /dev/helmet") to_chat(user, "logout") if(helmet) - helmet.flags_1 &= ~NODROP_1 + helmet.item_flags &= ~NODROP helmet.suit = null helmet = null if(camera) diff --git a/code/modules/clothing/spacesuits/flightsuit.dm b/code/modules/clothing/spacesuits/flightsuit.dm index d117bf482bd..4d3963495a6 100644 --- a/code/modules/clothing/spacesuits/flightsuit.dm +++ b/code/modules/clothing/spacesuits/flightsuit.dm @@ -897,7 +897,7 @@ usermessage("You're already wearing something on your back!", "boldwarning") return FALSE user.equip_to_slot_if_possible(pack,SLOT_BACK,0,0,1) - pack.flags_1 |= NODROP_1 + pack.item_flags |= NODROP resync() user.visible_message("A [pack.name] extends from [user]'s [name] and clamps to [user.p_their()] back!") user.update_inv_wear_suit() @@ -911,7 +911,7 @@ return FALSE if(pack.flight && forced) pack.disable_flight(1) - pack.flags_1 &= ~NODROP_1 + pack.item_flags &= ~NODROP resync() if(user) user.transferItemToLoc(pack, src, TRUE) @@ -935,14 +935,14 @@ usermessage("You're already wearing something on your feet!", "boldwarning") return FALSE user.equip_to_slot_if_possible(shoes,SLOT_SHOES,0,0,1) - shoes.flags_1 |= NODROP_1 + shoes.item_flags |= NODROP user.visible_message("[user]'s [name] extends a pair of [shoes.name] over [user.p_their()] feet!") user.update_inv_wear_suit() playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1) deployedshoes = TRUE /obj/item/clothing/suit/space/hardsuit/flightsuit/proc/retract_flightshoes(forced = FALSE) - shoes.flags_1 &= ~NODROP_1 + shoes.item_flags &= ~NODROP playsound(src, 'sound/mecha/mechmove03.ogg', 50, 1) if(user) user.transferItemToLoc(shoes, src, TRUE) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 0667f2be6f9..2e5896098f3 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -713,7 +713,7 @@ icon_state = "ert_medical" item_state = "ert_medical" item_color = "ert_medical" - flags_1 = NODROP_1 //Dont want people changing into the other teams gear + item_flags = NODROP //Dont want people changing into the other teams gear helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf armor = list("melee" = 0, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 95, "acid" = 95) slowdown = 0 diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index f3975d1f81c..a4b82c8234a 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -165,7 +165,7 @@ Contains: item_color = "ert_commander" armor = list("melee" = 65, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 80) strip_delay = 130 - flags_1 = NODROP_1 + item_flags = NODROP brightness_on = 7 /obj/item/clothing/suit/space/hardsuit/ert @@ -265,7 +265,7 @@ Contains: armor = list("melee" = -20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 75, "fire" = 60, "acid" = 75) //As whimpy as a space carp brightness_on = 0 //luminosity when on actions_types = list() - flags_1 = NODROP_1 + item_flags = NODROP /obj/item/clothing/suit/space/hardsuit/carp diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index 8b87cf6f6e7..85767852e42 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -15,7 +15,7 @@ icon_state = "golhood" desc = "A hood for a cloak." body_parts_covered = HEAD - flags_1 = NODROP_1 + item_flags = NODROP flags_inv = HIDEHAIR|HIDEEARS /obj/item/clothing/neck/cloak/suicide_act(mob/user) diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index f6cb6a44adc..5f6183fd1d4 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -222,7 +222,7 @@ desc = "Forced to live on your shameful acting as a fake Mexican, you and your poncho have grown inseparable. Literally." icon_state = "ponchoshame" item_state = "ponchoshame" - flags_1 = NODROP_1 + item_flags = NODROP /obj/item/clothing/suit/whitedress name = "white dress" diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index afb9bff1c11..324c16fec71 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -22,7 +22,7 @@ resistance_flags = NONE /obj/item/clothing/under/color/black/ghost - flags_1 = NODROP_1|DROPDEL_1 + item_flags = NODROP | DROPDEL /obj/item/clothing/under/color/grey name = "grey jumpsuit" diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 8c85f414e68..875fcad37cc 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -388,7 +388,7 @@ /obj/item/clothing/under/kilt/highlander desc = "You're the only one worthy of this kilt." - flags_1 = NODROP_1 + item_flags = NODROP /obj/item/clothing/under/sexymime name = "sexy mime outfit" diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm index 5f4603e35e7..f0988d30de4 100644 --- a/code/modules/detectivework/footprints_and_rag.dm +++ b/code/modules/detectivework/footprints_and_rag.dm @@ -12,7 +12,7 @@ w_class = WEIGHT_CLASS_TINY icon = 'icons/obj/toy.dmi' icon_state = "rag" - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON container_type = OPENCONTAINER amount_per_transfer_from_this = 5 possible_transfer_amounts = list() diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index c323f1edf23..e8847adb118 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -11,7 +11,8 @@ item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - flags_1 = CONDUCT_1 | NOBLUDGEON_1 + flags_1 = CONDUCT_1 + item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT var/scanning = 0 var/list/log = list() @@ -200,4 +201,4 @@ return to_chat(user, "Scanner Report") for(var/iterLog in log) - to_chat(user, iterLog) \ No newline at end of file + to_chat(user, iterLog) diff --git a/code/modules/events/wizard/curseditems.dm b/code/modules/events/wizard/curseditems.dm index 180589b4f1a..a6e08fbd8c9 100644 --- a/code/modules/events/wizard/curseditems.dm +++ b/code/modules/events/wizard/curseditems.dm @@ -50,7 +50,7 @@ var/obj/item/I = new J //dumb but required because of byond throwing a fit anytime new gets too close to a list H.dropItemToGround(H.get_item_by_slot(i), TRUE) H.equip_to_slot_or_del(I, i) - I.flags_1 |= NODROP_1 | DROPDEL_1 + I.item_flags |= NODROP | DROPDEL I.name = "cursed " + I.name for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) diff --git a/code/modules/fields/turf_objects.dm b/code/modules/fields/turf_objects.dm index 7d7454f46ac..d37036d83c7 100644 --- a/code/modules/fields/turf_objects.dm +++ b/code/modules/fields/turf_objects.dm @@ -6,7 +6,7 @@ icon_state = null alpha = 0 invisibility = INVISIBILITY_ABSTRACT - flags_1 = ABSTRACT_1|ON_BORDER_1 + flags_1 = ON_BORDER_1 mouse_opacity = MOUSE_OPACITY_TRANSPARENT var/datum/proximity_monitor/advanced/parent = null diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index 36beaf711e6..49476152684 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -96,7 +96,7 @@ God bless America. else if(default_deconstruction_screwdriver(user, "fryer_off", "fryer_off" ,I)) //where's the open maint panel icon?! return else - if(is_type_in_typecache(I, deepfry_blacklisted_items) || (I.flags_1 & (ABSTRACT_1 | NODROP_1 | DROPDEL_1))) + if(is_type_in_typecache(I, deepfry_blacklisted_items) || (I.item_flags & (ABSTRACT | NODROP | DROPDEL))) return ..() else if(!frying && user.transferItemToLoc(I, src)) to_chat(user, "You put [I] into [src].") diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index 784cf22ccd2..85ec25abc6d 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -79,7 +79,7 @@ if(!ignore_clothing) for(var/obj/item/I in C.held_items + C.get_equipped_items()) - if(!(I.flags_1 & NODROP_1)) + if(!(I.item_flags & NODROP)) to_chat(user, "Subject may not have abiotic items on.") return diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 9d323546e8b..833f65fc16c 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -328,7 +328,7 @@ desc = "A refrigerated storage unit for tasty tasty alcohol." /obj/machinery/smartfridge/drinks/accept_check(obj/item/O) - if(!istype(O, /obj/item/reagent_containers) || (O.flags_1 & ABSTRACT_1) || !O.reagents || !O.reagents.reagent_list.len) + if(!istype(O, /obj/item/reagent_containers) || (O.item_flags & ABSTRACT) || !O.reagents || !O.reagents.reagent_list.len) return FALSE if(istype(O, /obj/item/reagent_containers/glass) || istype(O, /obj/item/reagent_containers/food/drinks) || istype(O, /obj/item/reagent_containers/food/condiment)) return TRUE @@ -376,7 +376,7 @@ return FALSE return TRUE return FALSE - if(!istype(O, /obj/item/reagent_containers) || (O.flags_1 & ABSTRACT_1)) + if(!istype(O, /obj/item/reagent_containers) || (O.item_flags & ABSTRACT)) return FALSE if(istype(O, /obj/item/reagent_containers/pill)) // empty pill prank ok return TRUE diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 89206342b1e..013c3b9a885 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -146,7 +146,7 @@ if(W.is_hot()) StartBurning() if(grill) - if(user.a_intent != INTENT_HARM && !(W.flags_1 & ABSTRACT_1)) + if(user.a_intent != INTENT_HARM && !(W.item_flags & ABSTRACT)) if(user.temporarilyRemoveItemFromInventory(W)) W.forceMove(get_turf(src)) var/list/click_params = params2list(params) diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm index 7ff770a6970..cc719bc6e3d 100644 --- a/code/modules/integrated_electronics/core/assemblies.dm +++ b/code/modules/integrated_electronics/core/assemblies.dm @@ -8,7 +8,7 @@ w_class = WEIGHT_CLASS_SMALL icon = 'icons/obj/assemblies/electronic_setups.dmi' icon_state = "setup_small" - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON materials = list() // To be filled later var/list/assembly_components = list() var/max_components = IC_MAX_SIZE_BASE diff --git a/code/modules/integrated_electronics/core/debugger.dm b/code/modules/integrated_electronics/core/debugger.dm index 6abaf316daf..d6f6a551ad6 100644 --- a/code/modules/integrated_electronics/core/debugger.dm +++ b/code/modules/integrated_electronics/core/debugger.dm @@ -4,7 +4,8 @@ settings to specific circuits, or for debugging purposes. It can also pulse activation pins." icon = 'icons/obj/assemblies/electronic_tools.dmi' icon_state = "debugger" - flags_1 = CONDUCT_1 | NOBLUDGEON_1 + flags_1 = CONDUCT_1 + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_SMALL var/data_to_write = null var/accepting_refs = FALSE diff --git a/code/modules/integrated_electronics/core/detailer.dm b/code/modules/integrated_electronics/core/detailer.dm index 9a718df73ec..33f7ef96add 100644 --- a/code/modules/integrated_electronics/core/detailer.dm +++ b/code/modules/integrated_electronics/core/detailer.dm @@ -3,7 +3,8 @@ desc = "A combination autopainter and flash anodizer designed to give electronic assemblies a colorful, wear-resistant finish." icon = 'icons/obj/assemblies/electronic_tools.dmi' icon_state = "detailer" - flags_1 = CONDUCT_1 | NOBLUDGEON_1 + flags_1 = CONDUCT_1 + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_SMALL var/data_to_write = null var/accepting_refs = FALSE @@ -44,4 +45,4 @@ if(!in_range(src, user)) return detail_color = color_list[color_choice] - update_icon() \ No newline at end of file + update_icon() diff --git a/code/modules/mining/equipment/goliath_hide.dm b/code/modules/mining/equipment/goliath_hide.dm index 85feaecf73e..48f0ca0be51 100644 --- a/code/modules/mining/equipment/goliath_hide.dm +++ b/code/modules/mining/equipment/goliath_hide.dm @@ -7,6 +7,6 @@ singular_name = "hide plate" max_amount = 6 novariants = FALSE - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_NORMAL - layer = MOB_LAYER \ No newline at end of file + layer = MOB_LAYER diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm index cd6afa20f77..ca313182b6a 100644 --- a/code/modules/mining/equipment/mining_tools.dm +++ b/code/modules/mining/equipment/mining_tools.dm @@ -63,7 +63,8 @@ /obj/item/pickaxe/drill/cyborg name = "cyborg mining drill" desc = "An integrated electric mining drill." - flags_1 = NODROP_1 + item_flags = NODROP + flags_1 = NONE /obj/item/pickaxe/drill/diamonddrill name = "diamond-tipped mining drill" diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index 7fa6721c0fc..43be61dd779 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -21,7 +21,7 @@ name = "regenerative core" desc = "All that remains of a hivelord. It can be used to heal completely, but it will rapidly decay into uselessness." icon_state = "roro core 2" - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON slot = "hivecore" force = 0 actions_types = list(/datum/action/item_action/organ_action/use) diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index e845821ac64..4e345668a0e 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -189,7 +189,7 @@ activated() /obj/item/rod_of_asclepius/proc/activated() - flags_1 = NODROP_1 | DROPDEL_1 + item_flags = NODROP | DROPDEL desc = "A short wooden rod with a mystical snake inseparably gripping itself and the rod to your forearm. It flows with a healing energy that disperses amongst yourself and those around you. " icon_state = "asclepius_active" activated = TRUE @@ -382,7 +382,7 @@ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' fire_sound = 'sound/weapons/batonextend.ogg' max_charges = 1 - flags_1 = NOBLUDGEON_1 + item_flags = NEEDS_PERMIT | NOBLUDGEON force = 18 /obj/item/ammo_casing/magic/hook diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 7676ac91f08..2e4dab7b6ac 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -200,7 +200,7 @@ /mob/proc/put_in_hand_check(obj/item/I) - if(lying && !(I.flags_1&ABSTRACT_1)) + if(lying && !(I.item_flags & ABSTRACT)) return FALSE if(!istype(I)) return FALSE @@ -272,7 +272,7 @@ /mob/proc/canUnEquip(obj/item/I, force) if(!I) return TRUE - if((I.flags_1 & NODROP_1) && !force) + if((I.item_flags & NODROP) && !force) return FALSE return TRUE @@ -312,7 +312,7 @@ if(!I) //If there's nothing to drop, the drop is automatically succesfull. If(unEquip) should generally be used to check for NODROP_1. return TRUE - if((I.flags_1 & NODROP_1) && !force) + if((I.item_flags & NODROP) && !force) return FALSE var/hand_index = get_held_index_of_item(I) @@ -325,7 +325,7 @@ I.layer = initial(I.layer) I.plane = initial(I.plane) I.appearance_flags &= ~NO_CLIENT_COLOR - if(!no_move && !(I.flags_1 & DROPDEL_1)) //item may be moved/qdel'd immedietely, don't bother moving it + if(!no_move && !(I.item_flags & DROPDEL)) //item may be moved/qdel'd immedietely, don't bother moving it if (isnull(newloc)) I.moveToNullspace() else diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm index 0052cf923d7..d70007452c0 100644 --- a/code/modules/mob/living/bloodcrawl.dm +++ b/code/modules/mob/living/bloodcrawl.dm @@ -138,7 +138,7 @@ name = "blood crawl" desc = "You are unable to hold anything while in this form." icon = 'icons/effects/blood.dmi' - flags_1 = NODROP_1|ABSTRACT_1 + item_flags = NODROP | ABSTRACT /mob/living/proc/exit_blood_effect(obj/effect/decal/cleanable/B) playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 100, 1, -1) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 2216d955c05..eb5e9664d9f 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -45,7 +45,7 @@
"} for(var/i in 1 to held_items.len) var/obj/item/I = get_item_for_held_index(i) - dat += "
[get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Empty"]" + dat += "
[get_held_index_name(i)]:[(I && !(I.item_flags & ABSTRACT)) ? I : "Empty"]" dat += "
Empty Pouches" if(handcuffed) diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm index fb04d174e26..9c61e8aa2db 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm @@ -107,7 +107,7 @@ name = "\improper royal parasite" desc = "Inject this into one of your grown children to promote her to a Praetorian!" icon_state = "alien_medal" - flags_1 = ABSTRACT_1|NODROP_1|DROPDEL_1 + item_flags = ABSTRACT | NODROP | DROPDEL icon = 'icons/mob/alien.dmi' /obj/item/queenpromote/attack(mob/living/M, mob/living/carbon/alien/humanoid/user) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 57dd3000a29..aaf73421ae4 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -164,7 +164,7 @@ if(start_T && end_T) add_logs(src, throwable_mob, "thrown", addition="grab from tile in [AREACOORD(start_T)] towards tile at [AREACOORD(end_T)]") - else if(!(I.flags_1 & (NODROP_1|ABSTRACT_1))) + else if(!(I.item_flags & (NODROP | ABSTRACT))) thrown_thing = I dropItemToGround(I) @@ -191,13 +191,13 @@
[name]
-
Head: [(head && !(head.flags_1&ABSTRACT_1)) ? head : "Nothing"] -
Mask: [(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "Nothing"] -
Neck: [(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "Nothing"]"} +
Head: [(head && !(head.item_flags & ABSTRACT)) ? head : "Nothing"] +
Mask: [(wear_mask && !(wear_mask.item_flags & ABSTRACT)) ? wear_mask : "Nothing"] +
Neck: [(wear_neck && !(wear_neck.item_flags & ABSTRACT)) ? wear_neck : "Nothing"]"} for(var/i in 1 to held_items.len) var/obj/item/I = get_item_for_held_index(i) - dat += "
[get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Nothing"]" + dat += "
[get_held_index_name(i)]:[(I && !(I.item_flags & ABSTRACT)) ? I : "Nothing"]" dat += "
Back: [back ? back : "Nothing"]" @@ -394,7 +394,7 @@ return initial(pixel_y) /mob/living/carbon/proc/accident(obj/item/I) - if(!I || (I.flags_1 & (NODROP_1|ABSTRACT_1))) + if(!I || (I.item_flags & (NODROP | ABSTRACT))) return dropItemToGround(I) diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm index c748658c4e8..7d6d5afca23 100644 --- a/code/modules/mob/living/carbon/examine.dm +++ b/code/modules/mob/living/carbon/examine.dm @@ -18,7 +18,7 @@ msg += "[t_He] [t_is] wearing [wear_neck.get_examine_string(user)] around [t_his] neck.\n" for(var/obj/item/I in held_items) - if(!(I.flags_1 & ABSTRACT_1)) + if(!(I.item_flags & ABSTRACT)) msg += "[t_He] [t_is] holding [I.get_examine_string(user)] in [t_his] [get_held_index_name(get_held_index_of_item(I))].\n" if (back) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 759b57f65f5..a129be5d116 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -43,7 +43,7 @@ //Hands for(var/obj/item/I in held_items) - if(!(I.flags_1 & ABSTRACT_1)) + if(!(I.item_flags & ABSTRACT)) msg += "[t_He] [t_is] holding [I.get_examine_string(user)] in [t_his] [get_held_index_name(get_held_index_of_item(I))].\n" GET_COMPONENT(FR, /datum/component/forensics) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 725c4502d15..b69267ca3ed 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -114,42 +114,42 @@ dat += "" for(var/i in 1 to held_items.len) var/obj/item/I = get_item_for_held_index(i) - dat += "" + dat += "" dat += "" - dat += "" - dat += "" + dat += "" if(SLOT_WEAR_MASK in obscured) dat += "" else - dat += "" + dat += "" if(SLOT_NECK in obscured) dat += "" else - dat += "" + dat += "" if(SLOT_GLASSES in obscured) dat += "" else - dat += "" + dat += "" if(SLOT_EARS in obscured) dat += "" else - dat += "" + dat += "" dat += "" - dat += "" + dat += "" if(wear_suit) - dat += "" @@ -159,30 +159,30 @@ if(SLOT_SHOES in obscured) dat += "" else - dat += "" + dat += "" if(SLOT_GLOVES in obscured) dat += "" else - dat += "" + dat += "" if(SLOT_W_UNIFORM in obscured) dat += "" else - dat += "" + dat += "" if((w_uniform == null && !(dna && dna.species.nojumpsuit)) || (SLOT_W_UNIFORM in obscured)) dat += "" dat += "" dat += "" else - dat += "" - dat += "" - dat += "" + dat += "" + dat += "" if(handcuffed) dat += "" @@ -245,11 +245,11 @@ var/obj/item/place_item = usr.get_active_held_item() // Item to place in the pocket, if it's empty var/delay_denominator = 1 - if(pocket_item && !(pocket_item.flags_1&ABSTRACT_1)) - if(pocket_item.flags_1 & NODROP_1) + if(pocket_item && !(pocket_item.item_flags & ABSTRACT)) + if(pocket_item.item_flags & NODROP) to_chat(usr, "You try to empty [src]'s [pocket_side] pocket, it seems to be stuck!") to_chat(usr, "You try to empty [src]'s [pocket_side] pocket.") - else if(place_item && place_item.mob_can_equip(src, usr, pocket_id, 1) && !(place_item.flags_1&ABSTRACT_1)) + else if(place_item && place_item.mob_can_equip(src, usr, pocket_id, 1) && !(place_item.item_flags & ABSTRACT)) to_chat(usr, "You try to place [place_item] into [src]'s [pocket_side] pocket.") delay_denominator = 4 else diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 43fb3ed42a1..eb8790141e5 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -833,7 +833,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) if(SLOT_L_STORE) - if(I.flags_1 & NODROP_1) //Pockets aren't visible, so you can't move NODROP_1 items into them. + if(I.item_flags & NODROP) //Pockets aren't visible, so you can't move NODROP_1 items into them. return FALSE if(H.l_store) return FALSE @@ -849,7 +849,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if( I.w_class <= WEIGHT_CLASS_SMALL || (I.slot_flags & ITEM_SLOT_POCKET) ) return TRUE if(SLOT_R_STORE) - if(I.flags_1 & NODROP_1) + if(I.item_flags & NODROP) return FALSE if(H.r_store) return FALSE @@ -866,7 +866,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) return TRUE return FALSE if(SLOT_S_STORE) - if(I.flags_1 & NODROP_1) + if(I.item_flags & NODROP) return FALSE if(H.s_store) return FALSE diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index 4ef4fe4887e..22a44e3fa77 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -171,7 +171,7 @@ armour_penetration = 35 lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi' righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi' - flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 + item_flags = ABSTRACT | NODROP | DROPDEL w_class = WEIGHT_CLASS_HUGE sharpness = IS_SHARP @@ -216,4 +216,4 @@ playsound(src, 'sound/items/welder.ogg', 50, 1) #undef HEART_SPECIAL_SHADOWIFY -#undef HEART_RESPAWN_THRESHHOLD \ No newline at end of file +#undef HEART_RESPAWN_THRESHHOLD diff --git a/code/modules/mob/living/carbon/monkey/combat.dm b/code/modules/mob/living/carbon/monkey/combat.dm index ed60456b676..8b69a4d65d6 100644 --- a/code/modules/mob/living/carbon/monkey/combat.dm +++ b/code/modules/mob/living/carbon/monkey/combat.dm @@ -133,7 +133,7 @@ /mob/living/carbon/monkey/proc/handle_combat() if(pickupTarget) - if(restrained() || blacklistItems[pickupTarget] || (pickupTarget.flags_1 & NODROP_1)) + if(restrained() || blacklistItems[pickupTarget] || (pickupTarget.item_flags & NODROP)) pickupTarget = null else pickupTimer++ @@ -225,7 +225,7 @@ // check if target has a weapon var/obj/item/W for(var/obj/item/I in target.held_items) - if(!(I.flags_1 & ABSTRACT_1)) + if(!(I.item_flags & ABSTRACT)) W = I break diff --git a/code/modules/mob/living/inhand_holder.dm b/code/modules/mob/living/inhand_holder.dm index 711866d733a..420c59b22dd 100644 --- a/code/modules/mob/living/inhand_holder.dm +++ b/code/modules/mob/living/inhand_holder.dm @@ -5,7 +5,7 @@ desc = "Yell at coderbrush." icon = null icon_state = "" - flags_1 = DROPDEL_1 + item_flags = DROPDEL var/mob/living/held_mob var/can_head = TRUE var/destroying = FALSE diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index b9c1f950e5a..7242ffb4edb 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -679,7 +679,7 @@ // The src mob is trying to strip an item from someone // Override if a certain type of mob should be behave differently when stripping items (can't, for example) /mob/living/stripPanelUnequip(obj/item/what, mob/who, where) - if(what.flags_1 & NODROP_1) + if(what.item_flags & NODROP) to_chat(src, "You can't remove \the [what.name], it appears to be stuck!") return who.visible_message("[src] tries to remove [who]'s [what.name].", \ @@ -700,7 +700,7 @@ // Override if a certain mob should be behave differently when placing items (can't, for example) /mob/living/stripPanelEquip(obj/item/what, mob/who, where) what = src.get_active_held_item() - if(what && (what.flags_1 & NODROP_1)) + if(what && (what.item_flags & NODROP)) to_chat(src, "You can't put \the [what.name] on [who], it's stuck to your hand!") return if(what) diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 8965d0a2b69..f1618b261dc 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -33,8 +33,8 @@ inv3.icon_state = "inv3" held_items[3] = null - if(O.flags_1 & DROPDEL_1) - O.flags_1 &= ~DROPDEL_1 //we shouldn't HAVE things with DROPDEL_1 in our modules, but better safe than runtiming horribly + if(O.item_flags & DROPDEL) + O.item_flags &= ~DROPDEL //we shouldn't HAVE things with DROPDEL_1 in our modules, but better safe than runtiming horribly O.forceMove(module) //Return item to module so it appears in its contents, so it can be taken out again. diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 3a138a5dadc..3f3071bf0c2 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -119,7 +119,7 @@ if(I.loc != src) I.forceMove(src) modules += I - I.flags_1 |= NODROP_1 + I.item_flags |= NODROP I.mouse_opacity = MOUSE_OPACITY_OPAQUE if(nonstandard) added_modules += I diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index 51983e272a6..613d3480160 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -92,7 +92,7 @@ var/obj/item/I = new default_hatmask(src) equip_to_slot_or_del(I, SLOT_HEAD) - access_card.flags_1 |= NODROP_1 + access_card.item_flags |= NODROP alert_drones(DRONE_NET_CONNECT) @@ -168,15 +168,15 @@ //Hands for(var/obj/item/I in held_items) - if(!(I.flags_1 & ABSTRACT_1)) + if(!(I.item_flags & ABSTRACT)) msg += "It has [I.get_examine_string(user)] in its [get_held_index_name(get_held_index_of_item(I))].\n" //Internal storage - if(internal_storage && !(internal_storage.flags_1&ABSTRACT_1)) + if(internal_storage && !(internal_storage.item_flags & ABSTRACT)) msg += "It is holding [internal_storage.get_examine_string(user)] in its internal storage.\n" //Cosmetic hat - provides no function other than looks - if(head && !(head.flags_1&ABSTRACT_1)) + if(head && !(head.item_flags & ABSTRACT)) msg += "It is wearing [head.get_examine_string(user)] on its head.\n" //Braindead diff --git a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm index caa1b0112e4..e7dbbda2425 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm @@ -22,9 +22,9 @@ msg += "[desc]\n" for(var/obj/item/I in held_items) - if(!(I.flags_1 & ABSTRACT_1)) + if(!(I.item_flags & ABSTRACT)) msg += "It has [I.get_examine_string(user)] in its [get_held_index_name(get_held_index_of_item(I))].\n" - if(internal_storage && !(internal_storage.flags_1&ABSTRACT_1)) + if(internal_storage && !(internal_storage.item_flags & ABSTRACT)) msg += "It is holding [internal_storage.get_examine_string(user)] in its internal storage.\n" msg += "*---------*" to_chat(user, msg) diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm b/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm index 6ca550b9b7f..616c9025b93 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm @@ -61,6 +61,7 @@ /obj/item/restraints/legcuffs/beartrap/mega_arachnid name = "fleshy restraints" desc = "Used by mega arachnids to immobilize their prey." - flags_1 = DROPDEL_1 + item_flags = DROPDEL + flags_1 = NONE icon_state = "tentacle_end" icon = 'icons/obj/projectiles.dmi' diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 0c39dbf1c9c..d727c285c0d 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -671,7 +671,7 @@ Difficulty: Very Hard for(var/i in T) if(isitem(i) && !is_type_in_typecache(i, banned_items_typecache)) var/obj/item/W = i - if(!(W.flags_1 & ADMIN_SPAWNED_1) && !(W.flags_1 & HOLOGRAM_1) && !(W.flags_1 & ABSTRACT_1)) + if(!(W.flags_1 & ADMIN_SPAWNED_1) && !(W.flags_1 & HOLOGRAM_1) && !(W.item_flags & ABSTRACT)) L += W if(L.len) var/obj/item/CHOSEN = pick(L) diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index 4917d3b74d4..d262725d7ba 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -121,7 +121,7 @@ desc = "The key to the wumborian fugu's ability to increase its mass arbitrarily, this disgusting remnant can apply the same effect to other creatures, giving them great strength." icon = 'icons/obj/surgery.dmi' icon_state = "fugu_gland" - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_NORMAL layer = MOB_LAYER var/list/banned_mobs diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 3d77d2f5436..6f2ae35ef5c 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -460,7 +460,7 @@ else what = get_item_by_slot(slot) if(what) - if(!(what.flags_1 & ABSTRACT_1)) + if(!(what.item_flags & ABSTRACT)) usr.stripPanelUnequip(what,src,slot) else usr.stripPanelEquip(what,src,slot) diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm index ef02a8a7929..4308120c4f9 100644 --- a/code/modules/ninja/suit/gloves.dm +++ b/code/modules/ninja/suit/gloves.dm @@ -77,5 +77,5 @@ /obj/item/clothing/gloves/space_ninja/examine(mob/user) ..() - if(flags_1 & NODROP_1) + if(item_flags & NODROP) to_chat(user, "The energy drain mechanism is [candrain?"active":"inactive"].") diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 5886e1723da..aa78daceeb0 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -111,15 +111,15 @@ Contents: to_chat(H, "ERROR: 110223 UNABLE TO LOCATE HAND GEAR\nABORTING...") return FALSE affecting = H - flags_1 |= NODROP_1 //colons make me go all |= + item_flags |= NODROP //colons make me go all |= slowdown = 0 n_hood = H.head - n_hood.flags_1 |= NODROP_1 + n_hood.item_flags |= NODROP n_shoes = H.shoes - n_shoes.flags_1 |= NODROP_1 + n_shoes.item_flags |= NODROP n_shoes.slowdown-- n_gloves = H.gloves - n_gloves.flags_1 |= NODROP_1 + n_gloves.item_flags |= NODROP return TRUE /obj/item/clothing/suit/space/space_ninja/proc/lockIcons(mob/living/carbon/human/H) @@ -131,18 +131,18 @@ Contents: //This proc allows the suit to be taken off. /obj/item/clothing/suit/space/space_ninja/proc/unlock_suit() affecting = null - flags_1 &= ~NODROP_1 + item_flags &= ~NODROP slowdown = 1 icon_state = "s-ninja" if(n_hood)//Should be attached, might not be attached. - n_hood.flags_1 &= ~NODROP_1 + n_hood.item_flags &= ~NODROP if(n_shoes) - n_shoes.flags_1 &= ~NODROP_1 + n_shoes.item_flags &= ~NODROP n_shoes.slowdown++ if(n_gloves) n_gloves.icon_state = "s-ninja" n_gloves.item_state = "s-ninja" - n_gloves.flags_1 &= ~NODROP_1 + n_gloves.item_flags &= ~NODROP n_gloves.candrain=0 n_gloves.draining=0 diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm index 5623a1bf74c..3dac24e0fe6 100644 --- a/code/modules/paperwork/contract.dm +++ b/code/modules/paperwork/contract.dm @@ -5,7 +5,7 @@ throw_speed = 3 var/signed = FALSE var/datum/mind/target - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON /obj/item/paper/contract/proc/update_text() return diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 3015ef33cbc..7e43178e193 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -89,7 +89,7 @@ if(!cell_connectors) to_chat(user, "This [name] can't support a power cell!") return - if(W.flags_1 & NODROP_1) + if(W.item_flags & NODROP) to_chat(user, "[W] is stuck to your hand!") return user.dropItemToGround(W) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 670dd0a8e12..a89459d5581 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -401,8 +401,8 @@ name = "turret controls" icon_state = "offhand" w_class = WEIGHT_CLASS_HUGE - flags_1 = ABSTRACT_1 | NODROP_1 - resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF | NOBLUDGEON_1 + item_flags = ABSTRACT | NODROP | NOBLUDGEON + resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF var/delay = 0 /obj/item/turret_control/afterattack(atom/targeted_atom, mob/user, proxflag, clickparams) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index d7e0bc66bc1..3661162d351 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -425,7 +425,7 @@ A.icon_state = "4" A.anchored = TRUE qdel(src) - else if(user.a_intent != INTENT_HARM && !(I.flags_1 & NOBLUDGEON_1)) + else if(user.a_intent != INTENT_HARM && !(I.item_flags & NOBLUDGEON)) attack_hand(user) else return ..() diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 15a40d08760..63a35434123 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -568,7 +568,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) Consume(nom) /obj/machinery/power/supermatter_crystal/attackby(obj/item/W, mob/living/user, params) - if(!istype(W) || (W.flags_1 & ABSTRACT_1) || !istype(user)) + if(!istype(W) || (W.item_flags & ABSTRACT) || !istype(user)) return if (istype(W, /obj/item/melee/roastingstick)) return ..() diff --git a/code/modules/projectiles/boxes_magazines/internal/_internal.dm b/code/modules/projectiles/boxes_magazines/internal/_internal.dm index e21cb5ce616..c6ee7ec0cb8 100644 --- a/code/modules/projectiles/boxes_magazines/internal/_internal.dm +++ b/code/modules/projectiles/boxes_magazines/internal/_internal.dm @@ -1,6 +1,7 @@ /obj/item/ammo_box/magazine/internal desc = "Oh god, this shouldn't be here" - flags_1 = CONDUCT_1|ABSTRACT_1 + flags_1 = CONDUCT_1 + item_flags = ABSTRACT //internals magazines are accessible, so replace spent ammo if full when trying to put a live one in /obj/item/ammo_box/magazine/internal/give_round(obj/item/ammo_casing/R) diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index ace559e9d6a..cb6d60871c4 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -146,7 +146,8 @@ item_state = "arcane_barrage" can_bayonet = FALSE - flags_1 = DROPDEL_1 + item_flags = NEEDS_PERMIT | DROPDEL + flags_1 = NONE mag_type = /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index cd1e5eaea6a..320f9e237cb 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -8,7 +8,7 @@ icon_state = "bullet" density = FALSE anchored = TRUE - flags_1 = ABSTRACT_1 + item_flags = ABSTRACT pass_flags = PASSTABLE mouse_opacity = MOUSE_OPACITY_TRANSPARENT hitsound = 'sound/weapons/pierce.ogg' diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index a4c85df9437..4f35b33ad45 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -294,7 +294,7 @@ obj/machinery/chem_dispenser/proc/work_animation() if(default_deconstruction_crowbar(I)) return - if(istype(I, /obj/item/reagent_containers) && !(I.flags_1 & ABSTRACT_1) && I.is_open_container()) + if(istype(I, /obj/item/reagent_containers) && !(I.item_flags & ABSTRACT) && I.is_open_container()) var/obj/item/reagent_containers/B = I . = 1 //no afterattack if(beaker) diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 5d6727882db..415ce1528d5 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -58,7 +58,7 @@ if(default_deconstruction_crowbar(I)) return - if(istype(I, /obj/item/reagent_containers) && !(I.flags_1 & ABSTRACT_1) && I.is_open_container()) + if(istype(I, /obj/item/reagent_containers) && !(I.item_flags & ABSTRACT) && I.is_open_container()) . = 1 //no afterattack if(beaker) to_chat(user, "A container is already loaded into [src]!") diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 22bd7131d7b..abe6fb5b635 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -85,7 +85,7 @@ if(default_unfasten_wrench(user, I)) return - if(istype(I, /obj/item/reagent_containers) && !(I.flags_1 & ABSTRACT_1) && I.is_open_container()) + if(istype(I, /obj/item/reagent_containers) && !(I.item_flags & ABSTRACT) && I.is_open_container()) . = 1 // no afterattack if(panel_open) to_chat(user, "You can't use the [src.name] while its panel is opened!") diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 5a9efe56d18..88b9b5e1d4a 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -229,7 +229,7 @@ /obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/reagent_containers) && !(I.flags_1 & ABSTRACT_1) && I.is_open_container()) + if(istype(I, /obj/item/reagent_containers) && !(I.item_flags & ABSTRACT) && I.is_open_container()) . = TRUE //no afterattack if(stat & (NOPOWER|BROKEN)) return diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index a4d9829aa67..ead81ae2fd2 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -82,7 +82,7 @@ if(panel_open) //Can't insert objects when its screwed open return TRUE - if (istype(I, /obj/item/reagent_containers) && !(I.flags_1 & ABSTRACT_1) && I.is_open_container()) + if (istype(I, /obj/item/reagent_containers) && !(I.item_flags & ABSTRACT) && I.is_open_container()) if (!beaker) if(!user.transferItemToLoc(I, src)) to_chat(user, "[I] is stuck to your hand!") diff --git a/code/modules/reagents/reagent_containers/medspray.dm b/code/modules/reagents/reagent_containers/medspray.dm index 2eae9125562..fdb6a608947 100644 --- a/code/modules/reagents/reagent_containers/medspray.dm +++ b/code/modules/reagents/reagent_containers/medspray.dm @@ -6,7 +6,7 @@ item_state = "spraycan" lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi' - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON obj_flags = UNIQUE_RENAME container_type = OPENCONTAINER slot_flags = ITEM_SLOT_BELT diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index b0e101f76ad..91a22ff1fb1 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -6,7 +6,7 @@ item_state = "cleaner" lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON container_type = OPENCONTAINER slot_flags = ITEM_SLOT_BELT throwforce = 0 diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 6defa464b9c..178fb19e3eb 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -97,7 +97,7 @@ return if(user.a_intent != INTENT_HARM) - if((I.flags_1 & ABSTRACT_1) || !user.temporarilyRemoveItemFromInventory(I)) + if((I.item_flags & ABSTRACT) || !user.temporarilyRemoveItemFromInventory(I)) return place_item_in_disposal(I, user) update_icon() diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index a5998400c82..9dc389c71ed 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -702,7 +702,7 @@ imp.implant(SM, user) SM.access_card = new /obj/item/card/id/syndicate(SM) - SM.access_card.flags_1 |= NODROP_1 + SM.access_card.item_flags |= NODROP /obj/item/slimepotion/transference name = "consciousness transference potion" diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index abe601e503d..0f005f69f7e 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -165,7 +165,7 @@ var/datum/job/captain/C = new /datum/job/captain access_card.access = C.get_access() access_card.access |= ACCESS_CENT_BAR - access_card.flags_1 |= NODROP_1 + access_card.item_flags |= NODROP /mob/living/simple_animal/hostile/alien/maid/barmaid/Destroy() qdel(access_card) diff --git a/code/modules/spells/spell_types/barnyard.dm b/code/modules/spells/spell_types/barnyard.dm index 70b33919b72..01b24fef988 100644 --- a/code/modules/spells/spell_types/barnyard.dm +++ b/code/modules/spells/spell_types/barnyard.dm @@ -44,7 +44,7 @@ var/choice = masks[randM] var/obj/item/clothing/mask/magichead = new choice - magichead.flags_1 |= NODROP_1 + magichead.item_flags |= NODROP magichead.flags_inv = null target.visible_message("[target]'s face bursts into flames, and a barnyard animal's head takes its place!", \ "Your face burns up, and shortly after the fire you realise you have the face of a barnyard animal!") diff --git a/code/modules/spells/spell_types/godhand.dm b/code/modules/spells/spell_types/godhand.dm index bf402b7a6a2..6bb413b338e 100644 --- a/code/modules/spells/spell_types/godhand.dm +++ b/code/modules/spells/spell_types/godhand.dm @@ -7,7 +7,7 @@ icon = 'icons/obj/items_and_weapons.dmi' icon_state = "syndballoon" item_state = null - flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 + item_flags = NEEDS_PERMIT | ABSTRACT | NODROP | DROPDEL w_class = WEIGHT_CLASS_HUGE force = 0 throwforce = 0 diff --git a/code/modules/spells/spell_types/lichdom.dm b/code/modules/spells/spell_types/lichdom.dm index 33b555ad218..cdffa14c3b6 100644 --- a/code/modules/spells/spell_types/lichdom.dm +++ b/code/modules/spells/spell_types/lichdom.dm @@ -31,10 +31,10 @@ var/obj/item/marked_item - for(var/obj/item in hand_items) + for(var/obj/item/item in hand_items) // I ensouled the nuke disk once. But it's probably a really // mean tactic, so probably should discourage it. - if((item.flags_1 & ABSTRACT_1) || (item.flags_1 & NODROP_1) || item.SendSignal(COMSIG_ITEM_IMBUE_SOUL, user)) + if((item.item_flags & ABSTRACT) || (item.item_flags & NODROP) || item.SendSignal(COMSIG_ITEM_IMBUE_SOUL, user)) continue marked_item = item to_chat(M, "You begin to focus your very being into [item]...") diff --git a/code/modules/spells/spell_types/summonitem.dm b/code/modules/spells/spell_types/summonitem.dm index bd5099da689..85a816dc330 100644 --- a/code/modules/spells/spell_types/summonitem.dm +++ b/code/modules/spells/spell_types/summonitem.dm @@ -22,10 +22,10 @@ if(!marked_item) //linking item to the spell message = "" - for(var/obj/item in hand_items) - if(item.flags_1 & ABSTRACT_1) + for(var/obj/item/item in hand_items) + if(item.item_flags & ABSTRACT) continue - if(item.flags_1 & NODROP_1) + if(item.item_flags & NODROP) message += "Though it feels redundant, " marked_item = item message += "You mark [item] for recall." diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index 9be68103c37..0601ff28e14 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -67,7 +67,7 @@ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' icon_state = "hypo" - flags_1 = NOBLUDGEON_1 + item_flags = NOBLUDGEON var/list/animals = list() var/list/plants = list() var/list/dna = list() diff --git a/code/modules/surgery/cavity_implant.dm b/code/modules/surgery/cavity_implant.dm index fe4f1a6edf9..de095f28eff 100644 --- a/code/modules/surgery/cavity_implant.dm +++ b/code/modules/surgery/cavity_implant.dm @@ -29,7 +29,7 @@ /datum/surgery_step/handle_cavity/success(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/bodypart/chest/CH = target.get_bodypart(BODY_ZONE_CHEST) if(tool) - if(IC || tool.w_class > WEIGHT_CLASS_NORMAL || (tool.flags_1 & NODROP_1) || istype(tool, /obj/item/organ)) + if(IC || tool.w_class > WEIGHT_CLASS_NORMAL || (tool.item_flags & NODROP) || istype(tool, /obj/item/organ)) to_chat(user, "You can't seem to fit [tool] in [target]'s [target_zone]!") return 0 else diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index e93da8b139e..ea2385ce5fe 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -86,7 +86,7 @@ holder = item - holder.flags_1 |= NODROP_1 + holder.item_flags |= NODROP holder.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF holder.slot_flags = null holder.materials = null diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index 4aa06f01c6e..38967711fe2 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -51,7 +51,7 @@ active = !active if(active) for(var/obj/item/I in owner.held_items) - if(!(I.flags_1 & NODROP_1)) + if(!(I.item_flags & NODROP)) stored_items += I var/list/L = owner.get_empty_held_indexes() @@ -62,7 +62,7 @@ else for(var/obj/item/I in stored_items) to_chat(owner, "Your [owner.get_held_index_name(owner.get_held_index_of_item(I))]'s grip tightens.") - I.flags_1 |= NODROP_1 + I.item_flags |= NODROP else release_items() @@ -86,7 +86,7 @@ /obj/item/organ/cyberimp/brain/anti_drop/proc/release_items() for(var/obj/item/I in stored_items) - I.flags_1 &= ~NODROP_1 + I.item_flags &= ~NODROP stored_items = list() diff --git a/code/modules/zombie/items.dm b/code/modules/zombie/items.dm index 154941ce70b..03d2ac39218 100644 --- a/code/modules/zombie/items.dm +++ b/code/modules/zombie/items.dm @@ -4,7 +4,7 @@ humans, butchering all other living things to \ sustain the zombie, smashing open airlock doors and opening \ child-safe caps on bottles." - flags_1 = NODROP_1|ABSTRACT_1|DROPDEL_1 + item_flags = NODROP | ABSTRACT | DROPDEL resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF icon = 'icons/effects/blood.dmi' icon_state = "bloodhand_left"
[get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Empty"]
[get_held_index_name(i)]:[(I && !(I.item_flags & ABSTRACT)) ? I : "Empty"]
 
Back:[(back && !(back.flags_1&ABSTRACT_1)) ? back : "Empty"]" + dat += "
Back:[(back && !(back.item_flags & ABSTRACT)) ? back : "Empty"]" if(has_breathable_mask && istype(back, /obj/item/tank)) dat += " [internal ? "Disable Internals" : "Set Internals"]" dat += "
 
Head:[(head && !(head.flags_1&ABSTRACT_1)) ? head : "Empty"]
Head:[(head && !(head.item_flags & ABSTRACT)) ? head : "Empty"]
Mask:Obscured
Mask:[(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "Empty"]
Mask:[(wear_mask && !(wear_mask.item_flags & ABSTRACT)) ? wear_mask : "Empty"]
Neck:Obscured
Neck:[(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "Empty"]
Neck:[(wear_neck && !(wear_neck.item_flags & ABSTRACT)) ? wear_neck : "Empty"]
Eyes:Obscured
Eyes:[(glasses && !(glasses.flags_1&ABSTRACT_1)) ? glasses : "Empty"]
Eyes:[(glasses && !(glasses.item_flags & ABSTRACT)) ? glasses : "Empty"]
Ears:Obscured
Ears:[(ears && !(ears.flags_1&ABSTRACT_1)) ? ears : "Empty"]
Ears:[(ears && !(ears.item_flags & ABSTRACT)) ? ears : "Empty"]
 
Exosuit:[(wear_suit && !(wear_suit.flags_1&ABSTRACT_1)) ? wear_suit : "Empty"]
Exosuit:[(wear_suit && !(wear_suit.item_flags & ABSTRACT)) ? wear_suit : "Empty"]
 ↳Suit Storage:[(s_store && !(s_store.flags_1&ABSTRACT_1)) ? s_store : "Empty"]" + dat += "
 ↳Suit Storage:[(s_store && !(s_store.item_flags & ABSTRACT)) ? s_store : "Empty"]" if(has_breathable_mask && istype(s_store, /obj/item/tank)) dat += " [internal ? "Disable Internals" : "Set Internals"]" dat += "
Shoes:Obscured
Shoes:[(shoes && !(shoes.flags_1&ABSTRACT_1)) ? shoes : "Empty"]
Shoes:[(shoes && !(shoes.item_flags & ABSTRACT)) ? shoes : "Empty"]
Gloves:Obscured
Gloves:[(gloves && !(gloves.flags_1&ABSTRACT_1)) ? gloves : "Empty"]
Gloves:[(gloves && !(gloves.item_flags & ABSTRACT)) ? gloves : "Empty"]
Uniform:Obscured
Uniform:[(w_uniform && !(w_uniform.flags_1&ABSTRACT_1)) ? w_uniform : "Empty"]
Uniform:[(w_uniform && !(w_uniform.item_flags & ABSTRACT)) ? w_uniform : "Empty"]
 ↳Pockets:
 ↳ID:
 ↳Belt:
 ↳Belt:[(belt && !(belt.flags_1&ABSTRACT_1)) ? belt : "Empty"]" + dat += "
 ↳Belt:[(belt && !(belt.item_flags & ABSTRACT)) ? belt : "Empty"]" if(has_breathable_mask && istype(belt, /obj/item/tank)) dat += " [internal ? "Disable Internals" : "Set Internals"]" dat += "
 ↳Pockets:[(l_store && !(l_store.flags_1&ABSTRACT_1)) ? "Left (Full)" : "Left (Empty)"]" - dat += " [(r_store && !(r_store.flags_1&ABSTRACT_1)) ? "Right (Full)" : "Right (Empty)"]
 ↳ID:[(wear_id && !(wear_id.flags_1&ABSTRACT_1)) ? wear_id : "Empty"]
 ↳Pockets:[(l_store && !(l_store.item_flags & ABSTRACT)) ? "Left (Full)" : "Left (Empty)"]" + dat += " [(r_store && !(r_store.item_flags & ABSTRACT)) ? "Right (Full)" : "Right (Empty)"]
 ↳ID:[(wear_id && !(wear_id.item_flags & ABSTRACT)) ? wear_id : "Empty"]
Handcuffed: Remove