Split up and rename var/flags (#17794)

* Split up and rename `var/flags`

* Various fixes

* CL

* Don't rename Phoron Guard phoron preset

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
This commit is contained in:
Cody Brittain
2023-11-22 11:27:51 -05:00
committed by GitHub
parent 4b9303a1e9
commit 06601c9ec3
335 changed files with 763 additions and 674 deletions

View File

@@ -27,7 +27,7 @@ Contains helper procs for airflow, handled in /connection_group.
/mob/living/carbon/human/airflow_stun()
if(shoes)
if(shoes.item_flags & NOSLIP) return 0
if(shoes.item_flags & ITEM_FLAG_NO_SLIP) return 0
..()
/atom/movable/proc/check_airflow_movable(n)
@@ -74,7 +74,7 @@ Contains helper procs for airflow, handled in /connection_group.
if(buckled_to)
return 0
var/obj/item/shoes = get_equipped_item(slot_shoes)
if(istype(shoes) && (shoes.item_flags & NOSLIP))
if(istype(shoes) && (shoes.item_flags & ITEM_FLAG_NO_SLIP))
return 0
return 1

View File

@@ -41,7 +41,7 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi')
/obj/var/contaminated = 0
/obj/item/proc/can_contaminate()
if(flags & PHORONGUARD)
if(item_flags & ITEM_FLAG_PHORON_GUARD)
return FALSE
return TRUE
@@ -99,15 +99,15 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi')
var/burn_eyes = 1
//Check for protective glasses
if(glasses && (glasses.body_parts_covered & EYES) && (glasses.item_flags & AIRTIGHT))
if(glasses && (glasses.body_parts_covered & EYES) && (glasses.item_flags & ITEM_FLAG_AIRTIGHT))
burn_eyes = 0
//Check for protective maskwear
if(burn_eyes && wear_mask && (wear_mask.body_parts_covered & EYES) && (wear_mask.item_flags & AIRTIGHT))
if(burn_eyes && wear_mask && (wear_mask.body_parts_covered & EYES) && (wear_mask.item_flags & ITEM_FLAG_AIRTIGHT))
burn_eyes = 0
//Check for protective helmets
if(burn_eyes && head && (head.body_parts_covered & EYES) && (head.item_flags & AIRTIGHT))
if(burn_eyes && head && (head.body_parts_covered & EYES) && (head.item_flags & ITEM_FLAG_AIRTIGHT))
burn_eyes = 0
//If we still need to, burn their eyes
@@ -141,7 +141,7 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi')
//Checks if the head is adequately sealed.
if(head)
if(vsc.plc.PHORONGUARD_ONLY)
if(head.flags & PHORONGUARD)
if(head.item_flags & ITEM_FLAG_PHORON_GUARD)
return 1
else if(head.body_parts_covered & EYES)
return 1
@@ -153,7 +153,7 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi')
for(var/obj/item/protection in list(wear_suit, gloves, shoes))
if(!protection)
continue
if(vsc.plc.PHORONGUARD_ONLY && !(protection.flags & PHORONGUARD))
if(vsc.plc.PHORONGUARD_ONLY && !(protection.item_flags & ITEM_FLAG_PHORON_GUARD))
return 0
coverage |= protection.body_parts_covered

View File

@@ -1,7 +1,3 @@
// Movable flags.
#define MOVABLE_FLAG_EFFECTMOVE 1 //Is this an effect that should move?
#define MOVABLE_FLAG_DEL_SHUTTLE 2 //Shuttle transition will delete this.
var/global/list/bitflags = list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768)
#define TURF_IS_MIMICING(T) (isturf(T) && (T:z_flags & ZM_MIMIC_BELOW))
@@ -27,3 +23,69 @@ var/list/mimic_defines = list(
"ZM_MIMIC_NO_AO",
"ZM_NO_OCCLUDE"
)
// Flags bitmask
/// If a dense atom (potentially) only blocks movements from a given direction, i.e. window panes
#define ATOM_FLAG_CHECKS_BORDER FLAG(1)
/// Used for atoms if they don't want to get a blood overlay.
#define ATOM_FLAG_NO_BLOOD FLAG(2)
/// Reagents do not react in this containers
#define ATOM_FLAG_NO_REACT FLAG(3)
/// Is an open container for chemistry purposes
#define ATOM_FLAG_OPEN_CONTAINER FLAG(4)
/// Reagent container that can pour its contents with a lid on. only used for syrup bottles for now
#define ATOM_FLAG_POUR_CONTAINER FLAG(5)
/// Should we use the initial icon for display? Mostly used by overlay only objects
#define ATOM_FLAG_HTML_USE_INITIAL_ICON FLAG(6)
// Movable flags.
/// Does this object require proximity checking in Enter()?
#define MOVABLE_FLAG_PROXMOVE FLAG(1)
///Is this an effect that should move?
#define MOVABLE_FLAG_EFFECTMOVE FLAG(2)
///Shuttle transition will delete this.
#define MOVABLE_FLAG_DEL_SHUTTLE FLAG(3)
// Obj flags
/// Can this object be rotated?
#define OBJ_FLAG_ROTATABLE FLAG(0)
/// This object can be rotated even while anchored
#define OBJ_FLAG_ROTATABLE_ANCHORED FLAG(1)
/// Can this take a signaler? only in use for machinery
#define OBJ_FLAG_SIGNALER FLAG(2)
/// Will prevent mobs from falling
#define OBJ_FLAG_NOFALL FLAG(3)
/// Object moves with shuttle transition even if turf below is a background turf.
#define OBJ_FLAG_MOVES_UNSUPPORTED FLAG(4)
#define OBJ_FLAG_CONDUCTABLE FLAG(5)
// Item flags
/// When an item has this it produces no "X has been hit by Y with Z" message with the default handler.
#define ITEM_FLAG_NO_BLUDGEON FLAG(0)
/// Does not get contaminated by phoron.
#define ITEM_FLAG_PHORON_GUARD FLAG(1)
/// Prevents syringes, parapens and hyposprays if equiped to slot_suit or slot_head.
#define ITEM_FLAG_THICK_MATERIAL FLAG(2)
/// Functions with internals
#define ITEM_FLAG_AIRTIGHT FLAG(3)
///Prevents from slipping on wet floors, in space, etc.
#define ITEM_FLAG_NO_SLIP FLAG(4)
/// Blocks the effect that chemical clouds would have on a mob -- glasses, mask and helmets ONLY! (NOTE: flag shared with ONESIZEFITSALL)
#define ITEM_FLAG_BLOCK_GAS_SMOKE_EFFECT FLAG(5)
/// At the moment, masks with this flag will not prevent eating even if they are covering your face.
#define ITEM_FLAG_FLEXIBLE_MATERIAL FLAG(6)
/// Allows syringes and hyposprays to inject, even if the material is thick
#define ITEM_FLAG_INJECTION_PORT FLAG(7)
/// When applied to footwear, this makes it so that they don't trigger things like landmines and mouse traps
#define ITEM_FLAG_LIGHT_STEP FLAG(8)
/// whether wearing this item will protect you from loud noises such as flashbangs | this only works for ear slots or the head slot
#define ITEM_FLAG_SOUND_PROTECTION FLAG(9)
/// won't block flavourtext when worn on equipment slot
#define ITEM_FLAG_SHOW_FLAVOR_TEXT FLAG(10)
/// Uses the special held maptext system, which sets a specific maptext if the item is in possession of a mob.
#define ITEM_FLAG_HELD_MAP_TEXT FLAG(11)
/// Cannot be moved from its current inventory slot. Mostly for augments, modules, and other "attached" items.
#define ITEM_FLAG_NO_MOVE FLAG(12)

View File

@@ -21,31 +21,6 @@
#define SLOT_WRISTS BITFLAG(15)
#define SLOT_S_STORE BITFLAG(16)
// Flags bitmasks.
#define NOBLUDGEON 0x1 // When an item has this it produces no "X has been hit by Y with Z" message with the default handler.
#define CONDUCT 0x2 // Conducts electricity. (metal etc.)
#define ON_BORDER 0x4 // Item has priority to check when entering or leaving.
#define NOBLOODY 0x8 // Used for items if they don't want to get a blood overlay.
#define OPENCONTAINER 0x10 // Is an open container for chemistry purposes.
#define PHORONGUARD 0x20 // Does not get contaminated by phoron.
#define NOREACT 0x40 // Reagents don't react inside this container.
#define PROXMOVE 0x80 // Does this object require proximity checking in Enter()?
#define HELDMAPTEXT 0x100 // Uses the special held maptext system, which sets a specific maptext if the item is in possession of a mob.
#define NOMOVE 0x200 // Cannot be moved from its current inventory slot. Mostly for augments, modules, and other "attached" items.
#define HTML_USE_INITAL_ICON 0x400 // Should we use the initial icon for display? Mostly used by overlay only objects
#define POURCONTAINER 0x800 // reagent container that can pour its contents with a lid on. only used for syrup bottles for now
//Flags for items (equipment)
#define THICKMATERIAL BITFLAG(0) // Prevents syringes, parapens and hyposprays if equiped to slot_suit or slot_head.
#define AIRTIGHT BITFLAG(1) // Functions with internals.
#define NOSLIP BITFLAG(2) // Prevents from slipping on wet floors, in space, etc.
#define BLOCK_GAS_SMOKE_EFFECT BITFLAG(3) // Blocks the effect that chemical clouds would have on a mob -- glasses, mask and helmets ONLY! (NOTE: flag shared with ONESIZEFITSALL)
#define FLEXIBLEMATERIAL BITFLAG(4) // At the moment, masks with this flag will not prevent eating even if they are covering your face.
#define SOUNDPROTECTION BITFLAG(5) // whether wearing this item will protect you from loud noises such as flashbangs | this only works for ear slots or the head slot
#define LIGHTSTEP BITFLAG(6) // When applied to footwear, this makes it so that they don't trigger things like landmines and mouse traps
#define INJECTIONPORT BITFLAG(7) // Allows syringes and hyposprays to inject, even if the material is thick
#define SHOWFLAVORTEXT BITFLAG(8) // won't block flavourtext when worn on equipment slot
// Flags for pass_flags.
#define PASSTABLE 0x1
#define PASSGLASS 0x2

View File

@@ -142,13 +142,13 @@
#define DEFAULT_JOB_TYPE /datum/job/assistant
//Area flags, possibly more to come
#define RAD_SHIELDED BITFLAG(1) //shielded from radiation, clearly
#define SPAWN_ROOF BITFLAG(2) // if we should attempt to spawn a roof above us.
#define HIDE_FROM_HOLOMAP BITFLAG(3) // if we shouldn't be drawn on station holomaps
#define FIRING_RANGE BITFLAG(4)
#define NO_CREW_EXPECTED BITFLAG(5) // Areas where crew is not expected to ever be. Used to tell antag bases and such from crew-accessible areas on centcom level.
#define PRISON BITFLAG(6) // Marks prison area for purposes of checking if brigged/imprisoned
#define NO_GHOST_TELEPORT_ACCESS BITFLAG(7) // Marks whether ghosts should not have teleport access to this area
#define AREA_FLAG_RAD_SHIELDED BITFLAG(1) //shielded from radiation, clearly
#define AREA_FLAG_SPAWN_ROOF BITFLAG(2) // if we should attempt to spawn a roof above us.
#define AREA_FLAG_HIDE_FROM_HOLOMAP BITFLAG(3) // if we shouldn't be drawn on station holomaps
#define AREA_FLAG_FIRING_RANGE BITFLAG(4)
#define AREA_FLAG_NO_CREW_EXPECTED BITFLAG(5) // Areas where crew is not expected to ever be. Used to tell antag bases and such from crew-accessible areas on centcom level.
#define AREA_FLAG_PRISON BITFLAG(6) // Marks prison area for purposes of checking if brigged/imprisoned
#define AREA_FLAG_NO_GHOST_TELEPORT_ACCESS BITFLAG(7) // Marks whether ghosts should not have teleport access to this area
// Convoluted setup so defines can be supplied by Bay12 main server compile script.
// Should still work fine for people jamming the icons into their repo.

View File

@@ -1,9 +1,3 @@
#define OBJ_FLAG_ROTATABLE (1<<1) // Can this object be rotated?
#define OBJ_FLAG_ROTATABLE_ANCHORED (1<<2) // This object can be rotated even while anchored
#define OBJ_FLAG_SIGNALER (1<<3) // Can this take a signaler? only in use for machinery
#define OBJ_FLAG_NOFALL (1<<4) // Will prevent mobs from falling
#define OBJ_FLAG_MOVES_UNSUPPORTED (1<<5) // Object moves with shuttle transition even if turf below is a background turf.
/obj/proc/issurgerycompatible() // set to false for things that are too unwieldy for surgery
return TRUE

View File

@@ -189,7 +189,7 @@
return
if(QDELETED(A))
return
A.flags |= HTML_USE_INITAL_ICON
A.atom_flags |= ATOM_FLAG_HTML_USE_INITIAL_ICON
if((A.smoothing_flags & SMOOTH_TRUE) || (A.smoothing_flags & SMOOTH_MORE))
var/adjacencies = A.calculate_adjacencies()

View File

@@ -1146,7 +1146,7 @@ lighting determines lighting capturing (optional), suppress_errors suppreses err
if (isnull(icon_state))
icon_state = thing.icon_state
//Despite casting to atom, this code path supports mutable appearances, so let's be nice to them
if(isnull(icon_state) || (isatom(thing) && thing.flags & HTML_USE_INITAL_ICON))
if(isnull(icon_state) || (isatom(thing) && thing.atom_flags & ATOM_FLAG_HTML_USE_INITIAL_ICON))
icon_state = initial(thing.icon_state)
if (isnull(dir))
dir = initial(thing.dir)

View File

@@ -116,7 +116,7 @@ Quick adjacency (to turf):
/*
This checks if you there is uninterrupted airspace between that turf and this one.
This is defined as any dense ON_BORDER object, or any dense object without throwpass.
This is defined as any dense ATOM_FLAG_CHECKS_BORDER object, or any dense object without throwpass.
The border_only flag allows you to not objects (for source and destination squares)
*/
/turf/proc/ClickCross(var/target_dir, var/border_only, var/target_atom = null)
@@ -124,7 +124,7 @@ Quick adjacency (to turf):
if(!O.density || O == target_atom || O.throwpass)
continue // throwpass is used for anything you can click through
if(O.flags & ON_BORDER) // windows have throwpass but are on border, check them first
if(O.atom_flags & ATOM_FLAG_CHECKS_BORDER) // windows have throwpass but are on border, check them first
if(O.dir & target_dir || O.dir & (O.dir - 1)) // full tile windows are just diagonals mechanically
if(istype(target_atom, /obj/structure/window))
var/obj/structure/window/W = target_atom

View File

@@ -345,7 +345,7 @@
var/dy = A.y - y
var/direction
if (loc == A.loc && A.flags & ON_BORDER)
if (loc == A.loc && A.atom_flags & ATOM_FLAG_CHECKS_BORDER)
direction = A.dir
else if (!dx && !dy)
return

View File

@@ -149,8 +149,8 @@
user.internal = null
/obj/screen/internals/proc/has_internals_mask(var/mob/living/carbon/human/user)
if(user.wear_mask && HAS_FLAG(user.wear_mask.item_flags, AIRTIGHT))
if(user.wear_mask && HAS_FLAG(user.wear_mask.item_flags, ITEM_FLAG_AIRTIGHT))
return TRUE
if(user.head && HAS_FLAG(user.head.item_flags, AIRTIGHT))
if(user.head && HAS_FLAG(user.head.item_flags, ITEM_FLAG_AIRTIGHT))
return TRUE
return FALSE

View File

@@ -33,7 +33,7 @@ avoid code duplication. This includes items that may sometimes act as a standard
return
/atom/movable/attackby(obj/item/W, mob/user)
if(!(W.flags & NOBLUDGEON))
if(!(W.item_flags & ITEM_FLAG_NO_BLUDGEON))
visible_message("<span class='danger'>[src] has been hit by [user] with [W].</span>")
/mob/living/attackby(obj/item/I, mob/user)
@@ -86,7 +86,7 @@ avoid code duplication. This includes items that may sometimes act as a standard
//I would prefer to rename this attack_as_weapon(), but that would involve touching hundreds of files.
/obj/item/proc/attack(mob/living/M, mob/living/user, var/target_zone = BP_CHEST)
if(flags & NOBLUDGEON)
if(item_flags & ITEM_FLAG_NO_BLUDGEON)
return 0
if(M == user && user.a_intent != I_HURT)

View File

@@ -63,7 +63,7 @@ SUBSYSTEM_DEF(holomap)
A = T.loc
Ttype = T.type
if (A.flags & HIDE_FROM_HOLOMAP)
if (A.area_flags & AREA_FLAG_HIDE_FROM_HOLOMAP)
continue
if (rock_tcache[Ttype])
continue

View File

@@ -8,7 +8,7 @@ SUBSYSTEM_DEF(misc_late)
/datum/controller/subsystem/misc_late/Initialize(timeofday)
// Setup the teleport locs.
for(var/area/AR as anything in the_station_areas)
if(AR.flags & NO_GHOST_TELEPORT_ACCESS)
if(AR.area_flags & AREA_FLAG_NO_GHOST_TELEPORT_ACCESS)
continue
var/list/area_turfs = AR.contents
if (area_turfs.len) // Check the area is mapped

View File

@@ -71,7 +71,7 @@ SUBSYSTEM_DEF(radiation)
continue // Radiation is not multi-z
if(source.respect_maint)
var/area/A = T.loc
if(A.flags & RAD_SHIELDED)
if(A.area_flags & AREA_FLAG_RAD_SHIELDED)
continue // In shielded area
var/dist = get_dist(source.source_turf, T)

View File

@@ -166,7 +166,7 @@
else
for(var/atom/movable/A in destturf)
if(A != teleatom && A.density && A.anchored && !istype(A, /obj/effect/portal))
if(A.flags & ON_BORDER)
if(A.atom_flags & ATOM_FLAG_CHECKS_BORDER)
if(prob(10))
impediment = A
break

View File

@@ -12,7 +12,7 @@
density = 0
unacidable = 1//Just to be sure.
var/def_zone
flags = PROXMOVE
movable_flags = MOVABLE_FLAG_PROXMOVE
pass_flags = PASSTABLE | PASSRAILING
/var/list/acting_rank_prefixes = list("acting", "temporary", "interim", "provisional")
@@ -47,7 +47,7 @@
throwforce = 0.0
throw_speed = 1
throw_range = 20
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
drop_sound = 'sound/items/drop/rubber.ogg'
pickup_sound = 'sound/items/pickup/rubber.ogg'

View File

@@ -3,7 +3,7 @@
desc = "Should anything ever go wrong..."
icon = 'icons/obj/radio.dmi'
icon_state = "red_phone"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 3.0
throwforce = 2.0
throw_speed = 1
@@ -50,7 +50,7 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "cane"
item_state = "stick"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 10
throwforce = 7.0
w_class = ITEMSIZE_LARGE
@@ -383,7 +383,7 @@
var/selfdestruct = 0.0
var/traitor_frequency = 0.0
var/obj/item/device/radio/origradio = null
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
item_state = "radio"
throwforce = 5
@@ -435,7 +435,7 @@
icon_state = "std_mod"
w_class = ITEMSIZE_SMALL
item_state = "electronic"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
usesound = 'sound/items/Deconstruct.ogg'
var/mtype = 1 // 1=electronic 2=hardware

View File

@@ -9,6 +9,8 @@
/area
var/global/global_uid = 0
var/uid
///Bitflag (Any of `AREA_FLAG_*`). See `code\__defines\misc.dm`.
var/area_flags
var/holomap_color // Color of this area on the holomap. Must be a hex color (as string) or null.
var/fire = null
var/atmosalm = 0
@@ -105,10 +107,10 @@
. = ..()
/area/proc/is_prison()
return flags & PRISON
return area_flags & AREA_FLAG_PRISON
/area/proc/is_no_crew_expected()
return flags & NO_CREW_EXPECTED
return area_flags & AREA_FLAG_NO_CREW_EXPECTED
/area/proc/set_lightswitch(var/state) // Set lights in area. TRUE for on, FALSE for off, NULL for initial state.
if(isnull(state))

View File

@@ -1,7 +1,7 @@
/atom
layer = 2
var/level = 2
var/flags = 0
var/atom_flags = 0
var/init_flags = 0
var/list/fingerprints
var/list/fingerprintshidden
@@ -107,15 +107,15 @@
// Convenience proc to see if a container is open for chemistry handling.
// Returns true if open, false if closed.
/atom/proc/is_open_container()
return flags & OPENCONTAINER
return atom_flags & ATOM_FLAG_OPEN_CONTAINER
/atom/proc/is_pour_container()
return flags & POURCONTAINER
return atom_flags & ATOM_FLAG_POUR_CONTAINER
/atom/proc/CheckExit()
return 1
// If you want to use this, the atom must have the PROXMOVE flag and the moving atom must also have the PROXMOVE flag currently to help with lag. -ComicIronic
// If you want to use this, the atom must have the MOVABLE_FLAG_PROXMOVE flag and the moving atom must also have the MOVABLE_FLAG_PROXMOVE flag currently to help with lag. -ComicIronic
/atom/proc/HasProximity(atom/movable/AM as mob|obj)
return
@@ -528,7 +528,7 @@
// Returns 1 if made bloody, returns 0 otherwise.
/atom/proc/add_blood(mob/living/carbon/human/M)
if(flags & NOBLOODY)
if(atom_flags & ATOM_FLAG_NO_BLOOD)
return 0
if(!blood_DNA || !istype(blood_DNA, /list)) // If our list of DNA doesn't exist yet (or isn't a list), initialise it.

View File

@@ -2,7 +2,7 @@
name = "pinpointer"
icon = 'icons/obj/device.dmi'
icon_state = "pinoff"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
w_class = ITEMSIZE_SMALL
item_state = "electronic"

View File

@@ -8,7 +8,7 @@
/obj/item/clothing/shoes/combat/speed
name = "boots of speed"
desc = "The latest in sure footing technology."
item_flags = NOSLIP
item_flags = ITEM_FLAG_NO_SLIP
siemens_coefficient = 0.6
slowdown = -1
armor = null

View File

@@ -33,7 +33,7 @@
)
throwforce = 0
force = 0
flags = NOBLUDGEON
item_flags = ITEM_FLAG_NO_BLUDGEON
var/mob/living/carbon/human/owner
var/obj/item/technomancer_core/core
var/cast_methods = null // Controls how the spell is casted.

View File

@@ -47,7 +47,7 @@
//IPCs leak oil
to_chat(src, SPAN_WARNING("[T] is not a creature you can drain useful blood from."))
return
if(T.head && (T.head.item_flags & AIRTIGHT))
if(T.head && (T.head.item_flags & ITEM_FLAG_AIRTIGHT))
to_chat(src, SPAN_WARNING("[T]'s headgear is blocking the way to the neck."))
return
var/obj/item/blocked = check_mouth_coverage()

View File

@@ -10,8 +10,7 @@
icon_state = "yellow"
density = 1
var/health = 100.0
flags = CONDUCT
obj_flags = OBJ_FLAG_SIGNALER
obj_flags = OBJ_FLAG_SIGNALER | OBJ_FLAG_CONDUCTABLE
w_class = ITEMSIZE_HUGE
var/valve_open = 0
@@ -354,7 +353,7 @@ update_flag
if(istype(W, /obj/item/mecha_equipment/clamp))
return
if(!W.iswrench() && !is_type_in_list(W, list(/obj/item/tank, /obj/item/device/analyzer, /obj/item/modular_computer)) && !issignaler(W) && !(W.iswirecutter() && signaler))
if(W.flags & NOBLUDGEON)
if(W.item_flags & ITEM_FLAG_NO_BLUDGEON)
return TRUE
visible_message(SPAN_WARNING("\The [user] hits \the [src] with \the [W]!"), SPAN_NOTICE("You hit \the [src] with \the [W]."))
user.do_attack_animation(src, W)

View File

@@ -201,7 +201,7 @@
return 1
for(var/obj/O in B)
if(O.density && !istype(O, /obj/machinery/door) && !(O.flags & ON_BORDER))
if(O.density && !istype(O, /obj/machinery/door) && !(O.atom_flags & ATOM_FLAG_CHECKS_BORDER))
return 1
return 0

View File

@@ -3,7 +3,7 @@
var/detectTime = 0
var/area/ai_monitored/area_motion = null
var/alarm_delay = 100 // Don't forget, there's another 10 seconds in queueAlarm()
flags = PROXMOVE
movable_flags = MOVABLE_FLAG_PROXMOVE
/obj/machinery/camera/internal_process()
// motion camera event loop

View File

@@ -11,7 +11,7 @@
maxhealth = 150 //If you change this, consiter changing ../door/window/brigdoor/ health at the bottom of this .dm file
health = 150
visible = 0.0
flags = ON_BORDER
atom_flags = ATOM_FLAG_CHECKS_BORDER
opacity = 0
var/obj/item/airlock_electronics/electronics = null
explosion_resistance = 5

View File

@@ -15,7 +15,7 @@
var/base_state = "mflash"
anchored = 1
idle_power_usage = 2
flags = PROXMOVE
movable_flags = MOVABLE_FLAG_PROXMOVE
var/_wifi_id
var/datum/wifi/receiver/button/flasher/wifi_receiver

View File

@@ -3,7 +3,7 @@
desc = "Used for building machines."
icon = 'icons/obj/monitors.dmi'
icon_state = "fire_bitem"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
var/build_machine_type
var/refund_amt = 2
var/refund_type = /obj/item/stack/material/steel

View File

@@ -80,7 +80,7 @@
/obj/machinery/iv_drip/Crossed(var/mob/H)
if(ishuman(H))
var/mob/living/carbon/human/M = H
if(M.shoes?.item_flags & LIGHTSTEP)
if(M.shoes?.item_flags & ITEM_FLAG_LIGHT_STEP)
return
if(M.incapacitated())
return

View File

@@ -169,7 +169,7 @@
center = locate(x+center_x, y+center_y, z)
if(center)
for(var/obj/M in orange(magnetic_field, center))
if(!M.anchored && (M.flags & CONDUCT))
if(!M.anchored && (M.obj_flags & OBJ_FLAG_CONDUCTABLE))
step_towards(M, center)
for(var/mob/living/silicon/S in orange(magnetic_field, center))

View File

@@ -3,7 +3,7 @@
desc = "Used for building machines."
icon = 'icons/obj/monitors.dmi'
icon_state = "fire_bitem"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
var/build_machine_type
var/refund_amt = 2
var/refund_type = /obj/item/stack/material/steel

View File

@@ -96,7 +96,7 @@
if(perp.shoes && !perp.buckled_to)//Adding blood to shoes
var/obj/item/clothing/shoes/S = perp.shoes
if(istype(S))
if(S.item_flags & LIGHTSTEP)
if(S.item_flags & ITEM_FLAG_LIGHT_STEP)
return
S.blood_color = basecolor
S.track_footprint = max(amount, S.track_footprint)

View File

@@ -128,11 +128,11 @@ steam.start() -- spawns the effect
if (istype(M))
return 0
if (M.internal != null)
if(M.wear_mask && (M.wear_mask.item_flags & AIRTIGHT))
if(M.wear_mask && (M.wear_mask.item_flags & ITEM_FLAG_AIRTIGHT))
return 0
if(istype(M,/mob/living/carbon/human))
var/mob/living/carbon/human/H = M
if(H.head && (H.head.item_flags & AIRTIGHT))
if(H.head && (H.head.item_flags & ITEM_FLAG_AIRTIGHT))
return 0
return 0
return 1

View File

@@ -234,7 +234,7 @@
if(armor[type])
AddComponent(/datum/component/armor, armor)
break
if(flags & HELDMAPTEXT)
if(item_flags & ITEM_FLAG_HELD_MAP_TEXT)
set_initial_maptext()
check_maptext()
@@ -520,7 +520,7 @@
/obj/item/proc/pickup(mob/user)
pixel_x = 0
pixel_y = 0
if(flags & HELDMAPTEXT)
if(item_flags & ITEM_FLAG_HELD_MAP_TEXT)
addtimer(CALLBACK(src, PROC_REF(check_maptext)), 1) // invoke async does not work here
do_pickup_animation(user)
@@ -710,7 +710,7 @@ var/list/global/slot_flags_enumeration = list(
// override for give shenanigans
/obj/item/proc/on_give(var/mob/giver, var/mob/receiver)
if(flags & HELDMAPTEXT)
if(item_flags & ITEM_FLAG_HELD_MAP_TEXT)
check_maptext()
//This proc is executed when someone clicks the on-screen UI button. To make the UI button show, set the 'icon_action_button' to the icon_state of the image of the button in screen1_action.dmi
@@ -784,7 +784,7 @@ var/list/global/slot_flags_enumeration = list(
M.eye_blurry += rand(3,4)
/obj/item/proc/protects_eyestab(var/obj/stab_item, var/stabbed = FALSE) // if stabbed is set to true if we're being stabbed and not just checking
if((item_flags & THICKMATERIAL) && (body_parts_covered & EYES))
if((item_flags & ITEM_FLAG_THICK_MATERIAL) && (body_parts_covered & EYES))
return TRUE
return FALSE
@@ -1177,12 +1177,12 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
/obj/item/throw_at()
..()
if(flags & HELDMAPTEXT)
if(item_flags & ITEM_FLAG_HELD_MAP_TEXT)
check_maptext()
/obj/item/dropped(var/mob/user)
..()
if(flags & HELDMAPTEXT)
if(item_flags & ITEM_FLAG_HELD_MAP_TEXT)
check_maptext()
// used to check whether the item is capable of popping things like balloons, inflatable barriers, or cutting police tape.

View File

@@ -5,7 +5,7 @@
desc = "Used for repairing or building APCs"
icon = 'icons/obj/apc_repair.dmi'
icon_state = "apc_frame"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
/obj/item/frame/apc/attackby(obj/item/W as obj, mob/user as mob)
if (W.iswrench())

View File

@@ -47,7 +47,7 @@
starts_with = list(/obj/item/reagent_containers/pill/skrell_nootropic = 7)
/obj/item/reagent_containers/glass/beaker/vial/random
flags = 0
atom_flags = 0
var/list/random_reagent_list = list(list(/singleton/reagent/water = 15) = 1, list(/singleton/reagent/spacecleaner = 15) = 1)
/obj/item/reagent_containers/glass/beaker/vial/random/toxin
@@ -65,7 +65,7 @@
/obj/item/reagent_containers/glass/beaker/vial/random/Initialize()
. = ..()
if(is_open_container())
flags ^= OPENCONTAINER
atom_flags ^= ATOM_FLAG_OPEN_CONTAINER
var/list/picked_reagents = pickweight(random_reagent_list)
for(var/reagent in picked_reagents)
@@ -81,34 +81,34 @@
/obj/item/reagent_containers/glass/beaker/vial/venenum
flags = 0
atom_flags = 0
/obj/item/reagent_containers/glass/beaker/vial/venenum/Initialize()
. = ..()
if(is_open_container())
flags ^= OPENCONTAINER
atom_flags ^= ATOM_FLAG_OPEN_CONTAINER
reagents.add_reagent(/singleton/reagent/venenum,volume)
desc = "Contains venenum."
update_icon()
/obj/item/reagent_containers/glass/beaker/vial/nerveworm_eggs
flags = 0
atom_flags = 0
/obj/item/reagent_containers/glass/beaker/vial/nerveworm_eggs/Initialize()
. = ..()
if(is_open_container())
flags ^= OPENCONTAINER
atom_flags ^= ATOM_FLAG_OPEN_CONTAINER
reagents.add_reagent(/singleton/reagent/toxin/nerveworm_eggs, 2)
desc = "<b>BIOHAZARDOUS! - Nerve Fluke eggs.</b> Purchased from <i>SciSupply Eridani</i>, recently incorporated into <i>Zeng-Hu Pharmaceuticals' Keiretsu</i>!"
update_icon()
/obj/item/reagent_containers/glass/beaker/vial/heartworm_eggs
flags = 0
atom_flags = 0
/obj/item/reagent_containers/glass/beaker/vial/heartworm_eggs/Initialize()
. = ..()
if(is_open_container())
flags ^= OPENCONTAINER
atom_flags ^= ATOM_FLAG_OPEN_CONTAINER
reagents.add_reagent(/singleton/reagent/toxin/heartworm_eggs, 2)
desc = "<b>BIOHAZARDOUS! - Heart Fluke eggs.</b> Purchased from <i>SciSupply Eridani</i>, recently incorporated into <i>Zeng-Hu Pharmaceuticals' Keiretsu</i>!"
update_icon()

View File

@@ -324,7 +324,7 @@
/obj/item/shockpaddles/proc/check_contact(mob/living/carbon/human/H)
if(!combat)
for(var/obj/item/clothing/cloth in list(H.wear_suit, H.w_uniform))
if((cloth.body_parts_covered & UPPER_TORSO) && (cloth.item_flags & THICKMATERIAL))
if((cloth.body_parts_covered & UPPER_TORSO) && (cloth.item_flags & ITEM_FLAG_THICK_MATERIAL))
return FALSE
return TRUE

View File

@@ -4,7 +4,7 @@
desc = "A pair of binoculars."
icon_state = "binoculars"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 5.0
w_class = ITEMSIZE_SMALL
throwforce = 5.0

View File

@@ -3,7 +3,7 @@
desc = "A strange device."
desc_antag = "This device can let you disguise as common objects. Click on an object with this in your active hand to scan it, then activate it to use it in your hand."
icon_state = "shield0"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
item_state = "electronic"
throwforce = 5

View File

@@ -4,7 +4,7 @@
desc = "Used to debug electronic equipment."
icon = 'icons/obj/hacktool.dmi'
icon_state = "hacktool-g"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 5
w_class = ITEMSIZE_SMALL
throwforce = 5

View File

@@ -8,7 +8,7 @@
w_class = ITEMSIZE_SMALL
throw_speed = 4
throw_range = 10
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
origin_tech = list(TECH_MAGNET = 2, TECH_COMBAT = 1)
var/times_used = 0 //Number of times it's been used.

View File

@@ -8,7 +8,7 @@
w_class = ITEMSIZE_SMALL
throw_speed = 4
throw_range = 10
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
var/list/storedwarrant = list() //All the warrants currently stored
var/activename = null
var/activecharges = null

View File

@@ -10,7 +10,7 @@
icon_state = "flashlight"
item_state = "flashlight"
w_class = ITEMSIZE_SMALL
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
light_color = LIGHT_COLOR_HALOGEN
uv_intensity = 50
@@ -304,7 +304,7 @@
item_state = "pen"
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_EARS
brightness_on = 2
w_class = ITEMSIZE_TINY
@@ -315,7 +315,7 @@
desc = "A miniature lamp, that might be used by small robots."
icon_state = "penlight"
item_state = ""
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
brightness_on = 2
efficiency_modifier = 2
w_class = ITEMSIZE_TINY
@@ -375,7 +375,7 @@
desc = "Some nifty lamps drawing from internal battery sources to produce a light, though a dim one."
icon_state = "headlights"
item_state = "headlights"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_HEAD | SLOT_EARS
brightness_on = 2
w_class = ITEMSIZE_TINY

View File

@@ -9,7 +9,7 @@
brightness_on = 4
flashlight_power = 1.0
w_class = ITEMSIZE_HUGE
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
uv_intensity = 100
power_use = FALSE
on = TRUE

View File

@@ -7,7 +7,7 @@
icon_state = "locator"
// Copied from debugger.dm
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 5.0
w_class = ITEMSIZE_SMALL
throwforce = 5.0

View File

@@ -44,7 +44,7 @@
icon_state = "lightreplacer"
item_state = "lightreplacer"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
origin_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 2)

View File

@@ -8,7 +8,7 @@
item_state = "megaphone"
contained_sprite = TRUE
w_class = ITEMSIZE_SMALL
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
var/spamcheck = 0
var/emagged = 0

View File

@@ -12,7 +12,7 @@
item_state = "multitool"
item_icons = null
contained_sprite = TRUE
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 5.0
w_class = ITEMSIZE_SMALL
throwforce = 5.0

View File

@@ -5,7 +5,7 @@
icon_state = "pin_extractor"
item_state = "pin_extractor"
w_class = ITEMSIZE_SMALL
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
action_button_name = "Toggle extractor"
var/on = 0
var/activation_sound = 'sound/effects/lighton.ogg'

View File

@@ -6,7 +6,7 @@
icon_state = "powersink0"
item_state = "powersink0"
w_class = ITEMSIZE_LARGE
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
throwforce = 5
throw_speed = 1
throw_range = 2

View File

@@ -3,7 +3,7 @@
desc = "Dance my monkeys! DANCE!!!"
icon_state = "electropack0"
item_state = "electropack"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BACK
w_class = ITEMSIZE_HUGE

View File

@@ -202,7 +202,7 @@
desc_info = "This radio doubles as a pair of earmuffs by providing sound protection."
icon_state = "earset"
item_state = "earset"
item_flags = SOUNDPROTECTION
item_flags = ITEM_FLAG_SOUND_PROTECTION
slot_flags = SLOT_EARS | SLOT_TWOEARS
/obj/item/device/radio/headset/wrist
@@ -652,7 +652,7 @@
icon = 'icons/obj/clothing/ears/earmuffs.dmi'
icon_state = "earmuffs"
item_state = "earmuffs"
item_flags = SOUNDPROTECTION
item_flags = ITEM_FLAG_SOUND_PROTECTION
slot_flags = SLOT_EARS | SLOT_TWOEARS
/obj/item/device/radio/headset/syndicate

View File

@@ -27,8 +27,8 @@ pixel_x = 8;
appearance_flags = TILE_BOUND // prevents people from viewing the overlay through a wall
w_class = ITEMSIZE_LARGE
canhear_range = 2
flags = CONDUCT | NOBLOODY
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
atom_flags = ATOM_FLAG_NO_BLOOD
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED | OBJ_FLAG_CONDUCTABLE
var/number = 0
var/obj/machinery/abstract/intercom_listener/power_interface
var/global/list/screen_overlays

View File

@@ -42,7 +42,7 @@ var/global/list/default_interrogation_channels = list(
icon = 'icons/obj/radio.dmi'
icon_state = "walkietalkie"
item_state = "radio"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
throw_speed = 2
throw_range = 9

View File

@@ -12,7 +12,7 @@ BREATH ANALYZER
desc = "A hand-held body scanner able to distinguish vital signs of the subject."
icon_state = "health"
item_state = "healthanalyzer"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
throwforce = 3
w_class = ITEMSIZE_SMALL
@@ -373,7 +373,7 @@ BREATH ANALYZER
item_state = "analyzer"
contained_sprite = TRUE
w_class = ITEMSIZE_SMALL
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
throwforce = 5
throw_speed = 4
@@ -407,7 +407,8 @@ BREATH ANALYZER
icon_state = "spectrometer"
item_state = "analyzer"
w_class = ITEMSIZE_SMALL
flags = CONDUCT | OPENCONTAINER
atom_flags = ATOM_FLAG_OPEN_CONTAINER
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
throwforce = 5
throw_speed = 4
@@ -480,7 +481,7 @@ BREATH ANALYZER
icon_state = "reagent_scanner"
item_state = "analyzer"
w_class = ITEMSIZE_SMALL
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
throwforce = 5
throw_speed = 4
@@ -521,7 +522,7 @@ BREATH ANALYZER
item_state = "analyzer"
origin_tech = list(TECH_BIO = 1)
w_class = ITEMSIZE_SMALL
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
throwforce = 0
throw_speed = 3
throw_range = 7
@@ -562,7 +563,7 @@ BREATH ANALYZER
name = "price scanner"
desc = "Using an up-to-date database of various costs and prices, this device estimates the market price of an item up to 0.001% accuracy."
icon_state = "price_scanner"
flags = NOBLUDGEON
item_flags = ITEM_FLAG_NO_BLUDGEON
slot_flags = SLOT_BELT
w_class = ITEMSIZE_SMALL
throwforce = 0
@@ -584,7 +585,7 @@ BREATH ANALYZER
icon_state = "breath_analyzer"
item_state = "analyzer"
w_class = ITEMSIZE_SMALL
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
throwforce = 0
throw_speed = 3

View File

@@ -6,7 +6,7 @@
item_state = "nothing"
layer = TURF_LAYER+0.2
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 5.0
w_class = ITEMSIZE_TINY
slot_flags = SLOT_EARS

View File

@@ -10,7 +10,7 @@
slot_flags = SLOT_BACK //you can carry it on your back if you want, but it won't do anything unless attached to suit storage
//copied from tank.dm
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 5.0
throwforce = 10.0
throw_speed = 1

View File

@@ -16,7 +16,7 @@
var/list/timestamp = list()
var/can_print = TRUE
var/obj/item/computer_hardware/hard_drive/portable/portable_drive
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
throwforce = 2
throw_speed = 4
throw_range = 20

View File

@@ -22,7 +22,7 @@ effective or pretty fucking useless.
w_class = ITEMSIZE_TINY
throw_speed = 4
throw_range = 10
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
item_state = "electronic"
origin_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 3, TECH_ILLEGAL = 3)

View File

@@ -9,7 +9,7 @@
var/mob/attacher = null
var/valve_open = 0
var/toggle = 1
flags = PROXMOVE
movable_flags = MOVABLE_FLAG_PROXMOVE
/obj/item/device/transfer_valve/proc/process_activation(var/obj/item/device/D)

View File

@@ -358,7 +358,7 @@ Then check if it's true, if true return. This will stop the normal menu appearin
desc = "A small device used for access restricted sites in the remote corners of the Extranet."
icon = 'icons/obj/radio.dmi'
icon_state = "radio"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
w_class = ITEMSIZE_SMALL
/obj/item/device/contract_uplink/Initialize(var/mapload, var/mind)
@@ -403,7 +403,7 @@ Then check if it's true, if true return. This will stop the normal menu appearin
desc_antag = "This is hidden uplink! Use it in-hand to access the uplink interface and spend telecrystals to beam in items. Make sure to do it in private, it could look suspicious!"
icon = 'icons/obj/radio.dmi'
icon_state = "radio"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
w_class = ITEMSIZE_SMALL
///Amount of starting telecrystals. Defaults to default amount if not set.

View File

@@ -4,7 +4,7 @@
icon_state = "voice0"
item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang)
w_class = ITEMSIZE_TINY
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
var/use_message = "Halt! Security!"
var/spamcheck = 0

View File

@@ -20,7 +20,7 @@
w_class = ITEMSIZE_SMALL
matter = list(MATERIAL_GLASS = 200)
recyclable = TRUE
flags = NOBLUDGEON
item_flags = ITEM_FLAG_NO_BLUDGEON
var/contains = JAR_NOTHING // 0 = nothing, 1 = money, 2 = animal, 3 = spiderling, 4 = gumballs, 5 = holder
var/list/contained = list()
drop_sound = 'sound/items/drop/glass.ogg'

View File

@@ -22,7 +22,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list(
Clicking on a floor without any tiles will reinforce the floor. You can make reinforced glass by combining rods and normal glass sheets."
singular_name = "metal rod"
icon_state = "rods"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
w_class = ITEMSIZE_NORMAL
force = 9.0
throwforce = 15.0
@@ -141,7 +141,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list(
for(var/obj/O in user.loc) //Objects, we don't care about mobs. Turfs are checked elsewhere
if(O.density)
if(!(O.flags & ON_BORDER) || O.dir == user.dir)
if(!(O.atom_flags & ATOM_FLAG_CHECKS_BORDER) || O.dir == user.dir)
return
var/build_stack = amount

View File

@@ -12,7 +12,7 @@
/obj/item/stack
gender = PLURAL
origin_tech = list(TECH_MATERIAL = 1)
flags = HELDMAPTEXT
item_flags = ITEM_FLAG_HELD_MAP_TEXT
var/list/datum/stack_recipe/recipes
var/singular_name
var/amount = 1

View File

@@ -9,7 +9,7 @@
icon_state = "telecrystal"
w_class = ITEMSIZE_TINY
max_amount = 50
flags = NOBLUDGEON
item_flags = ITEM_FLAG_NO_BLUDGEON
origin_tech = list(TECH_MATERIAL = 6, TECH_BLUESPACE = 4)
icon_has_variants = TRUE
var/crystal_type = CRYSTAL_TYPE_TELECRYSTAL

View File

@@ -23,6 +23,8 @@
randpixel = 7
drop_sound = 'sound/items/drop/axe.ogg'
pickup_sound = 'sound/items/pickup/axe.ogg'
item_flags = 0
obj_flags = 0
/obj/item/stack/tile/New()
..()
@@ -40,7 +42,6 @@
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = 0
origin_tech = list(TECH_BIO = 1)
drop_sound = 'sound/items/drop/herb.ogg'
pickup_sound = 'sound/items/pickup/herb.ogg'
@@ -57,7 +58,6 @@
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = 0
drop_sound = 'sound/items/drop/wooden.ogg'
pickup_sound = 'sound/items/pickup/wooden.ogg'
@@ -108,7 +108,6 @@
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = 0
drop_sound = 'sound/items/drop/cloth.ogg'
pickup_sound = 'sound/items/pickup/cloth.ogg'
@@ -177,7 +176,6 @@
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = 0
drop_sound = 'sound/items/drop/cloth.ogg'
pickup_sound = 'sound/items/pickup/cloth.ogg'
matter = list(MATERIAL_PLASTIC = TILE_MATERIAL_AMOUNT)
@@ -200,7 +198,7 @@
throwforce = 15.0
throw_speed = 5
throw_range = 20
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
/obj/item/stack/tile/circuit_green
name = "circuit tile"
@@ -212,7 +210,7 @@
throwforce = 15.0
throw_speed = 5
throw_range = 20
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
/*
* Floors
@@ -228,7 +226,7 @@
throwforce = 6
throw_speed = 5
throw_range = 10
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
/obj/item/stack/tile/floor/full_stack/Initialize(mapload)
. = ..()

View File

@@ -3,7 +3,7 @@
desc = "It's a sticker."
icon = 'icons/obj/sticker.dmi'
icon_state = "sticker"
flags = NOBLUDGEON
item_flags = ITEM_FLAG_NO_BLUDGEON
w_class = ITEMSIZE_TINY
vis_flags = VIS_INHERIT_LAYER | VIS_INHERIT_DIR

View File

@@ -571,7 +571,7 @@
drop_sound = 'sound/items/drop/gun.ogg'
pickup_sound = /singleton/sound_category/sword_pickup_sound
equip_sound = /singleton/sound_category/sword_equip_sound
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT | SLOT_BACK
force = 5
throwforce = 5
@@ -602,7 +602,7 @@
/obj/item/toy/snappop/Crossed(H as mob|obj)
if((ishuman(H))) //i guess carp and shit shouldn't set them off
var/mob/living/carbon/human/M = H
if(M.shoes?.item_flags & LIGHTSTEP)
if(M.shoes?.item_flags & ITEM_FLAG_LIGHT_STEP)
return
if(M.m_intent == M_RUN)
to_chat(M, SPAN_WARNING("You step on the snap pop!"))

View File

@@ -12,7 +12,7 @@ AI MODULES
icon_state = "std_mod"
item_state = "electronic"
desc = "An AI Module for transmitting encrypted instructions to the AI."
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 5.0
w_class = ITEMSIZE_SMALL
throwforce = 5.0

View File

@@ -22,7 +22,7 @@
opacity = FALSE
density = FALSE
anchored = FALSE
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 5
throwforce = 10
throw_speed = 1

View File

@@ -7,7 +7,7 @@
desc = "Extracts information on wounds."
icon = 'icons/obj/device.dmi'
icon_state = "autopsy"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
w_class = ITEMSIZE_SMALL
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
var/list/datum/autopsy_data_scanner/wdata = list()

View File

@@ -260,7 +260,7 @@
icon_state = "urn"
applies_material_colour = TRUE
w_class = ITEMSIZE_SMALL
flags = NOBLUDGEON
item_flags = ITEM_FLAG_NO_BLUDGEON
/obj/item/material/urn/afterattack(var/obj/A, var/mob/user, var/proximity)
if(!istype(A, /obj/effect/decal/cleanable/ash))

View File

@@ -32,7 +32,7 @@
/obj/item/clothing/mask/chewable/Initialize()
create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 15
. = ..()
flags |= NOREACT // so it doesn't react until you light it
atom_flags |= ATOM_FLAG_NO_REACT // so it doesn't react until you light it
if(wrapped)
slot_flags = null
update_icon()

View File

@@ -172,7 +172,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/Initialize()
. = ..()
flags |= NOREACT // so it doesn't react until you light it
atom_flags |= ATOM_FLAG_NO_REACT // so it doesn't react until you light it
create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 15
/obj/item/clothing/mask/smokable/process()
@@ -213,7 +213,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
e.start()
qdel(src)
return
flags &= ~NOREACT // allowing reagents to react after being lit
atom_flags &= ~ATOM_FLAG_NO_REACT // allowing reagents to react after being lit
reagents.handle_reactions()
icon_state = icon_on
item_state = icon_on
@@ -705,7 +705,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
)
w_class = ITEMSIZE_TINY
throwforce = 4
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
attack_verb = list("burnt", "singed")
var/base_state

View File

@@ -12,7 +12,7 @@
item_state = "electronic"
origin_tech = list(TECH_DATA = 2)
w_class = ITEMSIZE_SMALL
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 5
throwforce = 5
throw_speed = 3

View File

@@ -9,7 +9,7 @@
icon = 'icons/obj/device.dmi'
icon_state = "shield0"
var/active = 0.0
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
item_state = "electronic"
throwforce = 10.0
throw_speed = 2

View File

@@ -246,7 +246,7 @@
icon_state = "ecartridge"
matter = list(MATERIAL_STEEL = 50, MATERIAL_GLASS = 10)
volume = 20
flags = OPENCONTAINER
atom_flags = ATOM_FLAG_OPEN_CONTAINER
/obj/item/reagent_containers/ecig_cartridge/examine(mob/user)
. = ..()

View File

@@ -5,7 +5,7 @@
icon = 'icons/obj/assemblies.dmi'
icon_state = "plastic-explosive0"
item_state = "plasticx"
flags = NOBLUDGEON
item_flags = ITEM_FLAG_NO_BLUDGEON
w_class = ITEMSIZE_SMALL
origin_tech = list(TECH_ILLEGAL = 2)
var/datum/wires/explosive/c4/wires = null

View File

@@ -5,7 +5,8 @@
icon_state = "metal_canister"
item_state = "metal_canister"
hitsound = 'sound/weapons/smash.ogg'
flags = CONDUCT | OPENCONTAINER
atom_flags = ATOM_FLAG_OPEN_CONTAINER
obj_flags = OBJ_FLAG_CONDUCTABLE
throwforce = 8
w_class = ITEMSIZE_NORMAL
throw_speed = 2
@@ -22,9 +23,9 @@
/obj/item/reagent_containers/extinguisher_refill/attackby(obj/item/O, mob/user)
if(O.isscrewdriver())
if(is_open_container())
flags &= ~OPENCONTAINER
atom_flags &= ~ATOM_FLAG_OPEN_CONTAINER
else
flags |= OPENCONTAINER
atom_flags |= ATOM_FLAG_OPEN_CONTAINER
to_chat(user, SPAN_NOTICE("Using \the [O], you [is_open_container() ? "unsecure" : "secure"] the cartridge's lid!"))
return TRUE
@@ -48,7 +49,7 @@
if(is_open_container())
if(LAZYLEN(reagents.reagent_volumes))
to_chat(user,"<span class='notice'>With a quick twist of the cartridge's lid, you secure the reagents inside \the [src].</span>")
flags &= ~OPENCONTAINER
atom_flags &= ~ATOM_FLAG_OPEN_CONTAINER
else
to_chat(user,"<span class='notice'>You can't secure the cartridge without putting reagents in!</span>")
else
@@ -78,7 +79,7 @@
/obj/item/reagent_containers/extinguisher_refill/filled/Initialize()
. = ..()
reagents.add_reagent(/singleton/reagent/toxin/fertilizer/monoammoniumphosphate, volume)
flags &= ~OPENCONTAINER
atom_flags &= ~ATOM_FLAG_OPEN_CONTAINER
/obj/item/extinguisher
name = "fire extinguisher"
@@ -87,7 +88,7 @@
icon_state = "fire_extinguisher0"
item_state = "fire_extinguisher"
hitsound = 'sound/weapons/smash.ogg'
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
throwforce = 10
w_class = ITEMSIZE_HUGE
throw_speed = 2
@@ -112,7 +113,7 @@
icon_state = "miniFE0"
item_state = "miniFE"
hitsound = null //it is much lighter, after all.
flags = OPENCONTAINER
atom_flags = ATOM_FLAG_OPEN_CONTAINER
throwforce = 2
w_class = ITEMSIZE_SMALL
force = 2.0

View File

@@ -7,7 +7,7 @@
contained_sprite = TRUE
w_class = ITEMSIZE_LARGE
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 3
throwforce = 10
throw_speed = 1

View File

@@ -11,7 +11,7 @@
item_state = "grenade"
throw_speed = 4
throw_range = 20
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
contained_sprite = 1
var/active = 0

View File

@@ -7,7 +7,7 @@
sprite_sheets = list(
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/cuff.dmi'
)
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
throwforce = 5
w_class = ITEMSIZE_SMALL

View File

@@ -44,7 +44,7 @@
desc = "A rod with some wire wrapped around the top. It'd be easy to attach something to the top bit."
icon_state = "wiredrod"
item_state = "rods"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 8
throwforce = 10
w_class = ITEMSIZE_NORMAL

View File

@@ -5,7 +5,7 @@
icon_state = "ipc_tag_scanner"
item_state = "ipc_tag_scanner"
contained_sprite = TRUE
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
throwforce = 3
w_class = ITEMSIZE_SMALL

View File

@@ -59,7 +59,7 @@
if(deployed || ignore_deployment)
if(ishuman(AM))
var/mob/living/carbon/human/H = AM
if(H.shoes?.item_flags & LIGHTSTEP)
if(H.shoes?.item_flags & ITEM_FLAG_LIGHT_STEP)
..()
return
if(isliving(AM))

View File

@@ -24,7 +24,7 @@
return
if(H.resting)
return
if(H.shoes?.item_flags & LIGHTSTEP)
if(H.shoes?.item_flags & ITEM_FLAG_LIGHT_STEP)
return
to_chat(H, SPAN_DANGER("You step on \the [src]!"))

View File

@@ -7,7 +7,7 @@
contained_sprite = TRUE
icon_state = "knife"
desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come."
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
sharp = 1
edge = TRUE
var/active = 1 // For butterfly knives

View File

@@ -351,7 +351,7 @@
desc = "A robust tree-cutting chainsaw intended to cut down various types of invasive spaceplants that grow on the station."
icon_state = "chainsaw_off"
base_icon = "chainsaw_off"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 10
force_unwielded = 10
force_wielded = 20

View File

@@ -6,7 +6,7 @@
sharp = 0
edge = FALSE
armor_penetration = 20
flags = NOBLOODY
atom_flags = ATOM_FLAG_NO_BLOOD
can_embed = 0//No embedding pls
var/base_reflectchance = 40
var/base_block_chance = 25
@@ -141,7 +141,8 @@
throw_speed = 5
throw_range = 10
w_class = ITEMSIZE_HUGE
flags = CONDUCT | NOBLOODY
atom_flags = ATOM_FLAG_NO_BLOOD
obj_flags = OBJ_FLAG_CONDUCTABLE
origin_tech = list(TECH_COMBAT = 6, TECH_PHORON = 4, TECH_MATERIAL = 7, TECH_ILLEGAL = 4)
attack_verb = list("stabbed", "chopped", "sliced", "cleaved", "slashed", "cut")
sharp = 1
@@ -189,7 +190,8 @@
throw_speed = 1
throw_range = 5
w_class = ITEMSIZE_NORMAL
flags = CONDUCT | NOBLOODY
atom_flags = ATOM_FLAG_NO_BLOOD
obj_flags = OBJ_FLAG_CONDUCTABLE
origin_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 4)
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
sharp = 1
@@ -236,7 +238,7 @@
throw_speed = 1
throw_range = 5
w_class = ITEMSIZE_SMALL
flags = NOBLOODY
atom_flags = ATOM_FLAG_NO_BLOOD
origin_tech = list(TECH_MAGNET = 3, TECH_ILLEGAL = 4)
sharp = 1
edge = TRUE
@@ -402,7 +404,7 @@
throw_speed = 1
throw_range = 1
w_class = ITEMSIZE_LARGE//So you can't hide it in your pocket or some such.
flags = NOBLOODY
atom_flags = ATOM_FLAG_NO_BLOOD
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
var/mob/living/creator
base_reflectchance = 140

View File

@@ -13,7 +13,7 @@
desc = "A tool used by great men to placate the frothing masses."
icon_state = "chain"
item_state = "chain"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
force = 10
throwforce = 7
@@ -27,7 +27,7 @@
desc = "A deadly chainsaw in the shape of a sword."
icon = 'icons/obj/weapons.dmi'
icon_state = "chainswordoff"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
force = 15
throwforce = 7
@@ -183,7 +183,7 @@
icon_state = "officersword"
item_state = "officersword"
contained_sprite = TRUE
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
force = 15
throwforce = 5

View File

@@ -13,7 +13,7 @@
possible_transfer_amounts = list(10,20,30,60)
volume = 60
unacidable = 0
flags = OPENCONTAINER
atom_flags = ATOM_FLAG_OPEN_CONTAINER
fragile = 0
var/paint_reagent = null //name of the reagent responsible for colouring the paint
var/paint_type = null //used for colouring detective technicolor coat and hat

View File

@@ -60,7 +60,7 @@
name = "riot shield"
desc = "A shield adept at blocking blunt objects from connecting with the torso of the shield wielder."
icon_state = "riot"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BACK
force = 5.0
throwforce = 5.0
@@ -130,7 +130,7 @@
name = "energy combat shield"
desc = "A shield capable of stopping most projectile and melee attacks. It can be retracted, expanded, and stored anywhere."
icon_state = "eshield0"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 3.0
throwforce = 5.0
throw_speed = 1

View File

@@ -15,7 +15,7 @@
throwforce = 0
throw_speed = 4
throw_range = 20
flags = OPENCONTAINER
atom_flags = ATOM_FLAG_OPEN_CONTAINER
var/key_data
var/clean_msg
var/last_clean
@@ -50,7 +50,7 @@
if(isliving(AM))
if(ishuman(AM))
var/mob/living/carbon/human/H = AM
if(H.shoes?.item_flags & LIGHTSTEP)
if(H.shoes?.item_flags & ITEM_FLAG_LIGHT_STEP)
return
var/mob/living/M = AM
M.slip("the [src.name]",3)

View File

@@ -275,7 +275,7 @@
desc = "A bag for carrying lots of money. It's got a big dollar sign printed on the front."
icon_state = "moneybag"
item_state = "moneybag"
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
max_storage_space = 100
w_class = ITEMSIZE_LARGE
can_hold = list(/obj/item/coin,/obj/item/spacecash)

View File

@@ -5,7 +5,7 @@
icon_state = "briefcase"
item_state = "briefcase"
contained_sprite = TRUE
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 8.0
throw_speed = 1
throw_range = 4

View File

@@ -304,7 +304,7 @@
var/cigarette_to_spawn = /obj/item/clothing/mask/smokable/cigarette
/obj/item/storage/box/fancy/cigarettes/Initialize()
flags |= NOREACT
atom_flags |= ATOM_FLAG_NO_REACT
create_reagents(15 * storage_slots) //so people can inject cigarettes without opening a packet, now with being able to inject the whole one
. = ..()

View File

@@ -6,7 +6,7 @@
icon_state = "red"
item_state = "red"
center_of_mass = list("x" = 16,"y" = 11)
flags = CONDUCT
obj_flags = OBJ_FLAG_CONDUCTABLE
force = 5
throwforce = 10
throw_speed = 1

Some files were not shown because too many files have changed in this diff Show More