rename a bunch of atom flags

This commit is contained in:
spookerton
2022-10-17 17:38:20 +01:00
parent bb472b4832
commit ffba11e5ab
76 changed files with 156 additions and 145 deletions

View File

@@ -17,13 +17,26 @@
/// The atom has been initialized.
#define ATOM_INITIALIZED (1<<0)
#define NOCONDUCT (1<<1) // Conducts electricity. (metal etc.)
#define ON_BORDER (1<<2) // Item has priority to check when entering or leaving.
#define OPENCONTAINER (1<<3) // Is an open container for chemistry purposes.
#define NOREACT (1<<4) // Reagents don't react inside this container.
#define OVERLAY_QUEUED (1<<5) // Atom is queued for an overlay update
#define SLANDMARK_FLAG_AUTOSET (1<<6) // If set, will set base area and turf type to same as where it was spawned at
#define SLANDMARK_FLAG_ZERO_G (1<<7) // Zero-G shuttles moved here will lose gravity unless the area has ambient gravity.
/// The atom does not conduct electricity.
#define ATOM_IS_INSULATED (1<<1)
/// The atom should be considered ahead of others when changing turfs.
#define ATOM_HAS_TRANSITION_PRIORITY (1<<2)
/// For the purpose of reagents transfer, this atom can be interacted with syringes etc.
#define ATOM_REAGENTS_IS_OPEN (1<<3)
/// Reagents do not react inside this atom, regardless of recipes.
#define ATOM_REAGENTS_SKIP_REACTIONS (1<<4)
/// This atom is queued for an overlay update.
#define ATOM_AWAITING_OVERLAY_UPDATE (1<<5)
/// This atom is a shuttle landmark that should create its own landing point.
#define LANDMARK_CREATES_SAFE_SITE (1<<6)
/// This atom is a shuttle landmark that causes arriving shuttles to have no gravity.
#define LANDMARK_REMOVES_GRAVITY (1<<7)
/* -- /turf/var/turf_flags -- */

View File

@@ -183,7 +183,7 @@
//Used for border objects. This returns true if this atom is on the border between the two specified turfs
//This assumes that the atom is located inside the target turf
/atom/proc/is_between_turfs(var/turf/origin, var/turf/target)
if (atom_flags & ON_BORDER)
if (atom_flags & ATOM_HAS_TRANSITION_PRIORITY)
var/testdir = get_dir(target, origin)
return (dir & testdir)
return TRUE

View File

@@ -114,14 +114,14 @@ 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_HAS_TRANSITION_PRIORITY 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)
for(var/obj/O in src)
if( !O.density || O == target_atom || O.throwpass) continue // throwpass is used for anything you can click through
if( O.atom_flags&ON_BORDER) // windows have throwpass but are on border, check them first
if( O.atom_flags&ATOM_HAS_TRANSITION_PRIORITY) // 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
var/obj/structure/window/W = target_atom
if(istype(W))

View File

@@ -24,7 +24,7 @@ SUBSYSTEM_DEF(overlays)
icon_cache.Cut()
cache_size = 0
for (var/atom/atom)
atom.atom_flags &= ~OVERLAY_QUEUED
atom.atom_flags &= ~ATOM_AWAITING_OVERLAY_UPDATE
CHECK_TICK
@@ -85,7 +85,7 @@ SUBSYSTEM_DEF(overlays)
result += GetIconAppearance(entry)
else
if (isloc(entry))
if (entry.atom_flags & OVERLAY_QUEUED)
if (entry.atom_flags & ATOM_AWAITING_OVERLAY_UPDATE)
entry.ImmediateOverlayUpdate()
if (!ispath(entry))
result += entry.appearance
@@ -97,10 +97,10 @@ SUBSYSTEM_DEF(overlays)
/// Enqueues the atom for an overlay update if not already queued
/atom/proc/QueueOverlayUpdate()
if (atom_flags & OVERLAY_QUEUED)
if (atom_flags & ATOM_AWAITING_OVERLAY_UPDATE)
return
SSoverlays.queue += src
atom_flags |= OVERLAY_QUEUED
atom_flags |= ATOM_AWAITING_OVERLAY_UPDATE
/// Builds the atom's overlay state from caches
@@ -109,7 +109,7 @@ SUBSYSTEM_DEF(overlays)
if (length(overlays))
overlays.Cut()
return
atom_flags &= ~OVERLAY_QUEUED
atom_flags &= ~ATOM_AWAITING_OVERLAY_UPDATE
if (length(priority_overlays))
if (length(our_overlays))
overlays = priority_overlays + our_overlays

View File

@@ -33,7 +33,7 @@
gender = PLURAL
icon = 'icons/obj/soap.dmi'
icon_state = "soap"
atom_flags = NOCONDUCT
atom_flags = ATOM_IS_INSULATED
w_class = ITEMSIZE_SMALL
slot_flags = SLOT_HOLSTER
throwforce = 0

View File

@@ -22,7 +22,7 @@
var/datum/reagents/reagents = null
//var/chem_is_open_container = 0
// replaced by OPENCONTAINER flags and atom/proc/is_open_container()
// replaced by ATOM_REAGENTS_IS_OPEN flags and atom/proc/is_open_container()
///Chemistry.
// Overlays
@@ -129,7 +129,7 @@ var/global/list/pre_init_created_atoms // atom creation ordering means some stuf
// returns true if open
// false if closed
/atom/proc/is_open_container()
return atom_flags & OPENCONTAINER
return atom_flags & ATOM_REAGENTS_IS_OPEN
/*//Convenience proc to see whether a container can be accessed in a certain way.

View File

@@ -10,7 +10,7 @@
health = 150
visible = 0.0
use_power = USE_POWER_OFF
atom_flags = ON_BORDER
atom_flags = ATOM_HAS_TRANSITION_PRIORITY
opacity = 0
var/obj/item/airlock_electronics/electronics = null
explosion_resistance = 5

View File

@@ -167,7 +167,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.atom_flags & NOCONDUCT))
if(!M.anchored && !(M.atom_flags & ATOM_IS_INSULATED))
step_towards(M, center)
for(var/mob/living/silicon/S in orange(magnetic_field, center))

View File

@@ -19,7 +19,7 @@
/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/Initialize()
. = ..()
atom_flags |= NOREACT
atom_flags |= ATOM_REAGENTS_SKIP_REACTIONS
syringes = new
known_reagents = list("inaprovaline"="Inaprovaline","anti_toxin"="Dylovene")
processed_reagents = new
@@ -31,7 +31,7 @@
/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/critfail()
..()
atom_flags &= ~NOREACT
atom_flags &= ~ATOM_REAGENTS_SKIP_REACTIONS
return
/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/get_equip_info()

View File

@@ -28,7 +28,7 @@
/obj/item/reagent_containers/glass/beaker/vial/random/Initialize()
. = ..()
if(is_open_container())
atom_flags ^= OPENCONTAINER
atom_flags ^= ATOM_REAGENTS_IS_OPEN
var/list/picked_reagents = pickweight(random_reagent_list)
for(var/reagent in picked_reagents)
reagents.add_reagent(reagent, picked_reagents[reagent])

View File

@@ -381,7 +381,7 @@ HALOGEN COUNTER - Radcount on mobs
drop_sound = 'sound/items/drop/device.ogg'
icon_state = "spectrometer"
w_class = ITEMSIZE_SMALL
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
slot_flags = SLOT_BELT
throwforce = 5
throw_speed = 4
@@ -463,7 +463,7 @@ HALOGEN COUNTER - Radcount on mobs
return
if(!isnull(O.reagents))
if(!(O.atom_flags & OPENCONTAINER)) // The idea is that the scanner has to touch the reagents somehow. This is done to prevent cheesing unidentified autoinjectors.
if(!(O.atom_flags & ATOM_REAGENTS_IS_OPEN)) // The idea is that the scanner has to touch the reagents somehow. This is done to prevent cheesing unidentified autoinjectors.
to_chat(user, span("warning", "\The [O] is sealed, and cannot be scanned by \the [src] until unsealed."))
return

View File

@@ -27,7 +27,7 @@
/obj/item/clothing/mask/chewable/Initialize()
. = ..()
atom_flags |= NOREACT // so it doesn't react until you light it
atom_flags |= ATOM_REAGENTS_SKIP_REACTIONS // 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
for(var/R in filling)
reagents.add_reagent(R, filling[R])

View File

@@ -105,7 +105,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/Initialize()
. = ..()
atom_flags |= NOREACT // so it doesn't react until you light it
atom_flags |= ATOM_REAGENTS_SKIP_REACTIONS // 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
if(smoketime && !max_smoketime)
max_smoketime = smoketime
@@ -183,7 +183,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
e.start()
qdel(src)
return
atom_flags &= ~NOREACT // allowing reagents to react after being lit
atom_flags &= ~ATOM_REAGENTS_SKIP_REACTIONS // allowing reagents to react after being lit
reagents.handle_reactions()
var/turf/T = get_turf(src)
T.visible_message(flavor_text)

View File

@@ -153,7 +153,7 @@
icon_state = "ecartridge"
matter = list("metal" = 50, "glass" = 10)
volume = 20
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
/obj/item/reagent_containers/ecig_cartridge/Initialize()
. = ..()

View File

@@ -44,7 +44,7 @@
matter[material_type] *= force_divisor // May require a new var instead.
if(!(material.conductive))
atom_flags |= NOCONDUCT
atom_flags |= ATOM_IS_INSULATED
/obj/item/material/get_material()
return material

View File

@@ -7,7 +7,7 @@
sharp = 0
edge = 0
armor_penetration = 50
atom_flags = NOCONDUCT
atom_flags = ATOM_IS_INSULATED
item_flags = NOBLOODY
var/lrange = 2
var/lpower = 2

View File

@@ -10,7 +10,7 @@ GLOBAL_LIST_BOILERPLATE(all_mops, /obj/item/mop)
throw_speed = 5
throw_range = 10
w_class = ITEMSIZE_NORMAL
atom_flags = NOCONDUCT
atom_flags = ATOM_IS_INSULATED
attack_verb = list("mopped", "bashed", "bludgeoned", "whacked")
var/mopping = 0
var/mopcount = 0

View File

@@ -15,7 +15,7 @@ var/global/list/cached_icons = list()
possible_transfer_amounts = list(10,20,30,60)
volume = 60
unacidable = 0
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
var/paint_type = "red"
/obj/item/reagent_containers/glass/paint/afterattack(turf/simulated/target, mob/user, proximity)

View File

@@ -118,7 +118,7 @@
icon_state = "eshield"
item_state = "eshield"
slot_flags = SLOT_EARS
atom_flags = NOCONDUCT
atom_flags = ATOM_IS_INSULATED
force = 3.0
throwforce = 5.0
throw_speed = 1

View File

@@ -219,9 +219,9 @@
/obj/item/storage/fancy/cigarettes/Initialize()
. = ..()
atom_flags |= NOREACT
atom_flags |= ATOM_REAGENTS_SKIP_REACTIONS
create_reagents(15 * storage_slots)//so people can inject cigarettes without opening a packet, now with being able to inject the whole one
atom_flags |= OPENCONTAINER
atom_flags |= ATOM_REAGENTS_IS_OPEN
if(brand)
for(var/obj/item/clothing/mask/smokable/cigarette/C in src)
C.brand = brand
@@ -333,7 +333,7 @@
/obj/item/storage/fancy/cigar/Initialize()
. = ..()
atom_flags |= NOREACT
atom_flags |= ATOM_REAGENTS_SKIP_REACTIONS
create_reagents(15 * storage_slots)
/obj/item/storage/fancy/cigar/update_icon()

View File

@@ -9,7 +9,7 @@
sharp = 0
edge = 0
throwforce = 7
atom_flags = NOCONDUCT
atom_flags = ATOM_IS_INSULATED
w_class = ITEMSIZE_NORMAL
drop_sound = 'sound/items/drop/metalweapon.ogg'
pickup_sound = 'sound/items/pickup/metalweapon.ogg'

View File

@@ -237,7 +237,7 @@
if(!istype(W))
return
if((W.atom_flags & NOCONDUCT) || !shock(user, 70, pick(BP_L_HAND, BP_R_HAND)))
if((W.atom_flags & ATOM_IS_INSULATED) || !shock(user, 70, pick(BP_L_HAND, BP_R_HAND)))
user.setClickCooldown(user.get_attack_speed(W))
user.do_attack_animation(src)
playsound(src, 'sound/effects/grillehit.ogg', 40, 1)

View File

@@ -93,7 +93,7 @@
if(istype(O,/obj/structure))
var/obj/structure/S = O
if(S.climbable) continue
if(O && O.density && !(O.atom_flags & ON_BORDER)) //ON_BORDER structures are handled by the Adjacent() check.
if(O && O.density && !(O.atom_flags & ATOM_HAS_TRANSITION_PRIORITY)) //ATOM_HAS_TRANSITION_PRIORITY structures are handled by the Adjacent() check.
return O
return 0

View File

@@ -150,7 +150,7 @@
return
//window placing end
else if((W.atom_flags & NOCONDUCT) || !shock(user, 70))
else if((W.atom_flags & ATOM_IS_INSULATED) || !shock(user, 70))
user.setClickCooldown(user.get_attack_speed(W))
user.do_attack_animation(src)
playsound(src, 'sound/effects/grillehit.ogg', 80, 1)

View File

@@ -8,7 +8,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
icon_state = "cart"
anchored = 0
density = 1
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
climbable = TRUE
//copypaste sorry
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
@@ -304,7 +304,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
icon_state = "pussywagon"
anchored = 1
density = 1
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
//copypaste sorry
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
var/obj/item/storage/bag/trash/mybag = null

View File

@@ -7,7 +7,7 @@
climbable = 1
anchored = 1
var/solidledge = 1
atom_flags = ON_BORDER
atom_flags = ATOM_HAS_TRANSITION_PRIORITY
layer = STAIRS_LAYER
icon_state = "ledge"

View File

@@ -7,7 +7,7 @@
climbable = 1
w_class = ITEMSIZE_NORMAL
pressure_resistance = 5
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
GLOBAL_LIST_BOILERPLATE(all_mopbuckets, /obj/structure/mopbucket)

View File

@@ -8,7 +8,7 @@
climbable = 1
layer = WINDOW_LAYER
anchored = 1
atom_flags = ON_BORDER
atom_flags = ATOM_HAS_TRANSITION_PRIORITY
icon_state = "railing0"
var/broken = FALSE
var/health = 70
@@ -326,5 +326,5 @@
if(istype(O,/obj/structure))
var/obj/structure/S = O
if(S.climbable) continue
if(O && O.density && !(O.atom_flags & ON_BORDER && !(turn(O.dir, 180) & dir)))
if(O && O.density && !(O.atom_flags & ATOM_HAS_TRANSITION_PRIORITY && !(turn(O.dir, 180) & dir)))
return O

View File

@@ -9,7 +9,7 @@
layer = WINDOW_LAYER
pressure_resistance = 4*ONE_ATMOSPHERE
anchored = 1.0
atom_flags = ON_BORDER
atom_flags = ATOM_HAS_TRANSITION_PRIORITY
var/maxhealth = 14.0
var/maximal_heat = T0C + 100 // Maximal heat before this window begins taking damage from fire
var/damage_per_fire_tick = 2.0 // Amount of damage per fire tick. Regular windows are not fireproof so they might as well break quickly.

View File

@@ -197,7 +197,7 @@
mover.Bump(thing)
continue
else
if(!firstbump || ((thing.layer > firstbump.layer || thing.atom_flags & ON_BORDER) && !(firstbump.atom_flags & ON_BORDER)))
if(!firstbump || ((thing.layer > firstbump.layer || thing.atom_flags & ATOM_HAS_TRANSITION_PRIORITY) && !(firstbump.atom_flags & ATOM_HAS_TRANSITION_PRIORITY)))
firstbump = thing
if(QDELETED(mover)) //Mover deleted from Cross/CanPass/Bump, do not proceed.
return FALSE
@@ -217,7 +217,7 @@
continue
var/atom/movable/thing = i
if(!thing.Uncross(mover, newloc))
if(thing.atom_flags & ON_BORDER)
if(thing.atom_flags & ATOM_HAS_TRANSITION_PRIORITY)
mover.Bump(thing)
if(!CHECK_BITFIELD(mover.movement_type, UNSTOPPABLE))
return FALSE
@@ -272,7 +272,7 @@
if(density)
return 1
for(var/atom/A in src)
if(A.density && !(A.atom_flags & ON_BORDER))
if(A.density && !(A.atom_flags & ATOM_HAS_TRANSITION_PRIORITY))
return 1
return 0

View File

@@ -5,7 +5,7 @@
description_info = "Some blob types will have core effects when the chunk is used in-hand, toggled with an alt click, or constantly active."
icon = 'icons/mob/blob.dmi'
icon_state = "blobcore"
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
var/datum/blob_type/blob_type // The blob type this dropped from.
var/active_ability_cooldown = 20 SECONDS

View File

@@ -31,7 +31,7 @@
//Reagent Rings
/obj/item/clothing/gloves/ring/reagent
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 4)
/obj/item/clothing/gloves/ring/reagent/Initialize()

View File

@@ -23,7 +23,7 @@
possible_transfer_amounts = list(5)
volume = 10
can_be_placed_into = null
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
item_flags = NOBLUDGEON
unacidable = 0
drop_sound = 'sound/items/drop/cloth.ogg'

View File

@@ -23,7 +23,7 @@ var/global/const/DRINK_ICON_NOISY = "_noise"
amount_per_transfer_from_this = 5
possible_transfer_amounts = list(5,10,15,30)
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
matter = list("glass" = 60)

View File

@@ -10,7 +10,7 @@
desc = "Just your average condiment container."
icon = 'icons/obj/food.dmi'
icon_state = "emptycondiment"
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
possible_transfer_amounts = list(1,5,10)
center_of_mass = list("x"=16, "y"=6)
volume = 50

View File

@@ -8,7 +8,7 @@
drop_sound = 'sound/items/drop/drinkglass.ogg'
pickup_sound = 'sound/items/pickup/drinkglass.ogg'
icon_state = null
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
amount_per_transfer_from_this = 5
possible_transfer_amounts = list(5,10,15,25,30)
volume = 50
@@ -49,7 +49,7 @@
playsound(src,"canopen", rand(10,50), 1)
GLOB.cans_opened_roundstat++
to_chat(user, "<span class='notice'>You open [src] with an audible pop!</span>")
atom_flags |= OPENCONTAINER
atom_flags |= ATOM_REAGENTS_IS_OPEN
/obj/item/reagent_containers/food/drinks/attack(mob/M as mob, mob/user as mob, def_zone)
if(force && !(item_flags & NOBLUDGEON) && user.a_intent == I_HURT)
@@ -124,7 +124,7 @@
amount_per_transfer_from_this = 20
possible_transfer_amounts = null
volume = 150
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
/obj/item/reagent_containers/food/drinks/golden_cup/on_reagent_change()
..()

View File

@@ -119,14 +119,14 @@
to_chat(user, "<span class='notice'>You stuff [R] into [src].</span>")
rag = R
rag.forceMove(src)
atom_flags &= ~OPENCONTAINER
atom_flags &= ~ATOM_REAGENTS_IS_OPEN
update_icon()
/obj/item/reagent_containers/food/drinks/bottle/proc/remove_rag(mob/user)
if(!rag) return
user.put_in_hands(rag)
rag = null
atom_flags |= (initial(atom_flags) & OPENCONTAINER)
atom_flags |= (initial(atom_flags) & ATOM_REAGENTS_IS_OPEN)
update_icon()
/obj/item/reagent_containers/food/drinks/bottle/open(mob/user)
@@ -182,7 +182,7 @@
throw_speed = 3
throw_range = 5
item_state = "beer"
atom_flags = NOCONDUCT
atom_flags = ATOM_IS_INSULATED
attack_verb = list("stabbed", "slashed", "attacked")
sharp = 1
edge = 0

View File

@@ -1816,7 +1816,7 @@
filling_color = "#ADAC7F"
center_of_mass = list("x"=16, "y"=14)
w_class = ITEMSIZE_TINY
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
var/wrapped = 0
var/contents_type = "item"
var/monkey_type = "Monkey"
@@ -1849,7 +1849,7 @@
desc = "Just add water!"
to_chat(user, "You unwrap the cube.")
wrapped = 0
atom_flags |= OPENCONTAINER
atom_flags |= ATOM_REAGENTS_IS_OPEN
return
/obj/item/reagent_containers/food/snacks/cube/On_Consume(var/mob/M)
@@ -6869,7 +6869,7 @@
to_chat(user, "It is [sealed ? "" : "un"]sealed.")
/obj/item/reagent_containers/food/snacks/canned/proc/unseal()
atom_flags |= OPENCONTAINER
atom_flags |= ATOM_REAGENTS_IS_OPEN
sealed = FALSE
update_icon()

View File

@@ -2,7 +2,7 @@
/obj/item/reagent_containers/glass/bottle/robot
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,25,30,50,100)
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
volume = 60
var/reagent = ""

View File

@@ -8,7 +8,7 @@
var/max_space = 20//Maximum sum of w-classes of foods in this container at once
var/max_reagents = 80//Maximum units of reagents
var/food_items = 0 // Used for icon updates
atom_flags = OPENCONTAINER | NOREACT
atom_flags = ATOM_REAGENTS_IS_OPEN | ATOM_REAGENTS_SKIP_REACTIONS
var/list/insertable = list(
/obj/item/reagent_containers/food/snacks,
/obj/item/holder,
@@ -22,7 +22,7 @@
/obj/item/reagent_containers/cooking_container/Initialize()
. = ..()
create_reagents(max_reagents)
atom_flags |= OPENCONTAINER | NOREACT
atom_flags |= ATOM_REAGENTS_IS_OPEN | ATOM_REAGENTS_SKIP_REACTIONS
/obj/item/reagent_containers/cooking_container/examine(var/mob/user)

View File

@@ -15,7 +15,7 @@
density = 1
anchored = 0
use_power = USE_POWER_OFF
atom_flags = OPENCONTAINER | NOREACT
atom_flags = ATOM_REAGENTS_IS_OPEN | ATOM_REAGENTS_SKIP_REACTIONS
var/list/product_types = list()
var/dispense_flavour = ICECREAM_VANILLA

View File

@@ -11,7 +11,7 @@
active_power_usage = 2000
clicksound = "button"
clickvol = "30"
atom_flags = OPENCONTAINER | NOREACT
atom_flags = ATOM_REAGENTS_IS_OPEN | ATOM_REAGENTS_SKIP_REACTIONS
circuit = /obj/item/circuitboard/microwave
var/operating = 0 // Is it on?
var/dirty = 0 // = {0..100} Does it need cleaning?
@@ -100,7 +100,7 @@
src.icon_state = "mw"
src.broken = 0 // Fix it!
src.dirty = 0 // just to be sure
src.atom_flags = OPENCONTAINER | NOREACT
src.atom_flags = ATOM_REAGENTS_IS_OPEN | ATOM_REAGENTS_SKIP_REACTIONS
else
to_chat(user, "<span class='warning'>It's broken!</span>")
return 1
@@ -119,7 +119,7 @@
src.dirty = 0 // It's clean!
src.broken = 0 // just to be sure
src.icon_state = "mw"
src.atom_flags = OPENCONTAINER | NOREACT
src.atom_flags = ATOM_REAGENTS_IS_OPEN | ATOM_REAGENTS_SKIP_REACTIONS
else //Otherwise bad luck!!
to_chat(user, "<span class='warning'>It's dirty!</span>")
return 1

View File

@@ -12,7 +12,7 @@
use_power = USE_POWER_IDLE
idle_power_usage = 5
active_power_usage = 100
atom_flags = NOREACT
atom_flags = ATOM_REAGENTS_SKIP_REACTIONS
var/max_n_of_items = 999 // Sorry but the BYOND infinite loop detector doesn't look things over 1000.
var/list/item_records = list()
var/datum/stored_item/currently_vending = null //What we're putting out of the machine.

View File

@@ -31,7 +31,7 @@
/obj/machinery/station_map/Initialize()
. = ..()
atom_flags |= ON_BORDER // Why? It doesn't help if its not density
atom_flags |= ATOM_HAS_TRANSITION_PRIORITY // Why? It doesn't help if its not density
/obj/machinery/station_map/Initialize()
. = ..()

View File

@@ -5,7 +5,7 @@
icon = 'icons/obj/hydroponics_products.dmi'
icon_state = "blank"
desc = "Nutritious! Probably."
atom_flags = NOCONDUCT
atom_flags = ATOM_IS_INSULATED
slot_flags = SLOT_HOLSTER
drop_sound = 'sound/items/drop/herb.ogg'
pickup_sound = 'sound/items/pickup/herb.ogg'

View File

@@ -35,7 +35,7 @@
desc = "A reminder of meals gone by."
icon = 'icons/obj/trash.dmi'
icon_state = "corncob"
atom_flags = NOCONDUCT
atom_flags = ATOM_IS_INSULATED
w_class = ITEMSIZE_SMALL
throwforce = 0
throw_speed = 4
@@ -54,7 +54,7 @@
desc = "A peel from a banana."
icon = 'icons/obj/items.dmi'
icon_state = "banana_peel"
atom_flags = NOCONDUCT
atom_flags = ATOM_IS_INSULATED
w_class = ITEMSIZE_SMALL
throwforce = 0
throw_speed = 4

View File

@@ -5,7 +5,7 @@
icon_state = "hydrotray3"
density = 1
anchored = 1
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
volume = 100
var/mechanical = 1 // Set to 0 to stop it from drawing the alert lights.

View File

@@ -110,7 +110,7 @@
icon_state = "chemical_cell"
extended_desc = "This is effectively an internal beaker. It will consume and produce power from phoron, slime jelly, welding fuel, carbon,\
ethanol, nutriments and blood, in order of decreasing efficiency. It will consume fuel only if the battery can take more energy."
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
complexity = 4
inputs = list()
outputs = list("volume used" = IC_PINTYPE_NUMBER,"self reference" = IC_PINTYPE_REF)

View File

@@ -15,7 +15,7 @@
icon_state = "smoke"
extended_desc = "This smoke generator creates clouds of smoke on command. It can also hold liquids inside, which will go \
into the smoke clouds when activated. The reagents are consumed when smoke is made."
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
complexity = 20
cooldown_per_use = 30 SECONDS
inputs = list()
@@ -52,7 +52,7 @@
icon_state = "injector"
extended_desc = "This autoinjector can push reagents into another container or someone else outside of the machine. The target \
must be adjacent to the machine, and if it is a person, they cannot be wearing thick clothing. A negative amount makes the injector draw out reagents."
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
complexity = 20
cooldown_per_use = 6 SECONDS
inputs = list("target" = IC_PINTYPE_REF, "injection amount" = IC_PINTYPE_NUMBER)
@@ -186,7 +186,7 @@
extended_desc = "This is a pump, which will move liquids from the source ref to the target ref. The third pin determines \
how much liquid is moved per pulse, between 0 and 50. The pump can move reagents to any open container inside the machine, or \
outside the machine if it is next to the machine. Note that this cannot be used on entities."
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
complexity = 8
inputs = list("source" = IC_PINTYPE_REF, "target" = IC_PINTYPE_REF, "injection amount" = IC_PINTYPE_NUMBER)
inputs_default = list("3" = 5)
@@ -240,7 +240,7 @@
desc = "Stores liquid inside, and away from electrical components. Can store up to 60u."
icon_state = "reagent_storage"
extended_desc = "This is effectively an internal beaker."
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
complexity = 4
inputs = list()
outputs = list("volume used" = IC_PINTYPE_NUMBER,"self reference" = IC_PINTYPE_REF)
@@ -264,7 +264,7 @@
desc = "Stores liquid inside, and away from electrical components. Can store up to 60u. This will also suppress reactions."
icon_state = "reagent_storage_cryo"
extended_desc = "This is effectively an internal cryo beaker."
atom_flags = OPENCONTAINER | NOREACT
atom_flags = ATOM_REAGENTS_IS_OPEN | ATOM_REAGENTS_SKIP_REACTIONS
complexity = 8
spawn_flags = IC_SPAWN_RESEARCH
origin_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2)
@@ -274,7 +274,7 @@
desc = "Stores liquid inside, and away from electrical components. Can store up to 180u."
icon_state = "reagent_storage_big"
extended_desc = "This is effectively an internal beaker."
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
complexity = 16
volume = 180
spawn_flags = IC_SPAWN_RESEARCH
@@ -285,7 +285,7 @@
desc = "Stores liquid inside, and away from electrical components. Can store up to 60u. On pulse this beaker will send list of contained reagents."
icon_state = "reagent_scan"
extended_desc = "Mostly useful for reagent filter."
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
complexity = 8
outputs = list("volume used" = IC_PINTYPE_NUMBER,"self reference" = IC_PINTYPE_REF,"list of reagents" = IC_PINTYPE_LIST)
activators = list("scan" = IC_PINTYPE_PULSE_IN)
@@ -308,7 +308,7 @@
It will move all reagents, except list, given in fourth pin if amount value is positive.\
Or it will move only desired reagents if amount is negative, The third pin determines \
how much reagent is moved per pulse, between 0 and 50. Amount is given for each separate reagent."
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
complexity = 8
inputs = list("source" = IC_PINTYPE_REF, "target" = IC_PINTYPE_REF, "injection amount" = IC_PINTYPE_NUMBER, "list of reagents" = IC_PINTYPE_LIST)
inputs_default = list("3" = 5)

View File

@@ -174,7 +174,7 @@ Book Cart End
item_state = "book"
throw_speed = 1
throw_range = 5
atom_flags = NOCONDUCT
atom_flags = ATOM_IS_INSULATED
w_class = ITEMSIZE_NORMAL //upped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever)
attack_verb = list("bashed", "whacked", "educated")
var/dat // Actual page content

View File

@@ -109,7 +109,7 @@ var/global/list/name_to_material
var/explosion_resistance = 5 // Only used by walls currently.
var/negation = 0 // Objects that respect this will randomly absorb impacts with this var as the percent chance.
var/spatial_instability = 0 // Objects that have trouble staying in the same physical space by sheer laws of nature have this. Percent for respecting items to cause teleportation.
var/conductive = 1 // Objects without this var add NOCONDUCT to flags on spawn.
var/conductive = 1 // Objects without this var add ATOM_IS_INSULATED to flags on spawn.
var/conductivity = null // How conductive the material is. Iron acts as the baseline, at 10.
var/list/composite_material // If set, object matter var will be a list containing these values.
var/luminescence
@@ -284,4 +284,4 @@ var/global/list/name_to_material
)
/datum/material/proc/get_wall_texture()
return
return

View File

@@ -41,7 +41,7 @@
color = material.icon_colour
if(!material.conductive)
atom_flags |= NOCONDUCT
atom_flags |= ATOM_IS_INSULATED
matter = material.get_matter()
update_strings()

View File

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

View File

@@ -268,7 +268,7 @@
// Things that prevent objects standing on them from falling into turf below
/obj/structure/catwalk/CanFallThru(atom/movable/mover as mob|obj, turf/target as turf)
if((target.z < z) && !hatch_open)
return FALSE // TODO - Technically should be density = 1 and flags |= ON_BORDER
return FALSE // TODO - Technically should be density = 1 and flags |= ATOM_HAS_TRANSITION_PRIORITY
if(!isturf(mover.loc))
return FALSE // Only let loose floor items fall. No more snatching things off people's hands.
else
@@ -297,7 +297,7 @@
if(!isturf(mover.loc))
return FALSE // Only let loose floor items fall. No more snatching things off people's hands.
else
return FALSE // TODO - Technically should be density = 1 and flags |= ON_BORDER
return FALSE // TODO - Technically should be density = 1 and flags |= ATOM_HAS_TRANSITION_PRIORITY
// So you'll slam when falling onto a grille
/obj/structure/lattice/CheckFall(var/atom/movable/falling_atom)
@@ -357,14 +357,14 @@
// Called on everything that falling_atom might hit. Return TRUE if you're handling it so find_fall_target() will stop checking.
/atom/proc/CheckFall(var/atom/movable/falling_atom)
if(density && !(atom_flags & ON_BORDER))
if(density && !(atom_flags & ATOM_HAS_TRANSITION_PRIORITY))
return TRUE
// If you are hit: how is it handled.
// Return TRUE if the generic fall_impact should be called
// Return FALSE if you handled it yourself or if there's no effect from hitting you
/atom/proc/check_impact(var/atom/movable/falling_atom)
if(density && !(atom_flags & ON_BORDER))
if(density && !(atom_flags & ATOM_HAS_TRANSITION_PRIORITY))
return TRUE
// By default all turfs are gonna let you hit them regardless of density.

View File

@@ -181,7 +181,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
decays = FALSE
parent_organ = BP_TORSO
clone_source = TRUE
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
var/list/owner_flavor_text = list()
/obj/item/organ/internal/brain/slime/is_open_container()

View File

@@ -84,7 +84,7 @@
/obj/effect/shuttle_landmark/ship
name = "Open Space"
landmark_tag = "ship"
atom_flags = SLANDMARK_FLAG_ZERO_G // *Not* AUTOSET, these must be world.turf and world.area for lazy loading to work.
atom_flags = LANDMARK_REMOVES_GRAVITY // *Not* AUTOSET, these must be world.turf and world.area for lazy loading to work.
var/shuttle_name
var/list/visitors // landmark -> visiting shuttle stationed there
@@ -117,7 +117,7 @@
//
/obj/effect/shuttle_landmark/visiting_shuttle
atom_flags = SLANDMARK_FLAG_AUTOSET | SLANDMARK_FLAG_ZERO_G
atom_flags = LANDMARK_CREATES_SAFE_SITE | LANDMARK_REMOVES_GRAVITY
var/obj/effect/shuttle_landmark/ship/core_landmark
/obj/effect/shuttle_landmark/visiting_shuttle/Initialize(mapload, obj/effect/shuttle_landmark/ship/master, _name)

View File

@@ -116,7 +116,7 @@
*/
/obj/item/pen/reagent
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
/obj/item/pen/reagent/Initialize()

View File

@@ -231,7 +231,7 @@ var/global/list/possible_cable_coil_colours = list(
shock(user, 5, 0.2)
else
if(!(W.atom_flags & NOCONDUCT))
if(!(W.atom_flags & ATOM_IS_INSULATED))
shock(user, 50, 0.7)
src.add_fingerprint(user)

View File

@@ -550,7 +550,7 @@ var/global/list/light_type_cache = list()
if(M == user)
continue
M.show_message("[user.name] smashed the light!", 3, "You hear a tinkle of breaking glass", 2)
if(on && !(W.atom_flags & NOCONDUCT))
if(on && !(W.atom_flags & ATOM_IS_INSULATED))
//if(!user.mutations & COLD_RESISTANCE)
if (prob(12))
electrocute_mob(user, get_area(src), src, 0.3)
@@ -570,7 +570,7 @@ var/global/list/light_type_cache = list()
return
to_chat(user, "You stick \the [W] into the light socket!")
if(has_power() && !(W.atom_flags & NOCONDUCT))
if(has_power() && !(W.atom_flags & ATOM_IS_INSULATED))
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()

View File

@@ -1,7 +1,7 @@
/datum/reagents/distilling/handle_reactions()
if(QDELETED(my_atom))
return FALSE
if(my_atom.atom_flags & NOREACT)
if(my_atom.atom_flags & ATOM_REAGENTS_SKIP_REACTIONS)
return FALSE
var/reaction_occurred
var/list/eligible_reactions = list()

View File

@@ -78,7 +78,7 @@
/datum/reagents/proc/handle_reactions()
if(QDELETED(my_atom))
return FALSE
if(my_atom.atom_flags & NOREACT)
if(my_atom.atom_flags & ATOM_REAGENTS_SKIP_REACTIONS)
return FALSE
var/reaction_occurred
var/list/eligible_reactions = list()

View File

@@ -19,7 +19,7 @@
var/pillsprite = 1
var/max_pill_count = 20
var/printing = FALSE
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
clicksound = "button"
/obj/machinery/chem_master/Initialize()

View File

@@ -53,8 +53,8 @@
to_chat(user, span("notice", "Contains [R.volume]u of <b>[R.name]</b>.<br>[R.description]<br>"))
// Last, unseal it if it's an autoinjector.
if(istype(I,/obj/item/reagent_containers/hypospray/autoinjector/biginjector) && !(I.atom_flags & OPENCONTAINER))
I.atom_flags |= OPENCONTAINER
if(istype(I,/obj/item/reagent_containers/hypospray/autoinjector/biginjector) && !(I.atom_flags & ATOM_REAGENTS_IS_OPEN))
I.atom_flags |= ATOM_REAGENTS_IS_OPEN
to_chat(user, span("notice", "Sample container unsealed.<br>"))
to_chat(user, span("notice", "Scanning of \the [I] complete."))

View File

@@ -55,10 +55,10 @@
..()
if (is_open_container())
to_chat(usr, "<span class = 'notice'>You put the cap on \the [src].</span>")
atom_flags ^= OPENCONTAINER
atom_flags ^= ATOM_REAGENTS_IS_OPEN
else
to_chat(usr, "<span class = 'notice'>You take the cap off \the [src].</span>")
atom_flags |= OPENCONTAINER
atom_flags |= ATOM_REAGENTS_IS_OPEN
/obj/item/reagent_containers/chem_disp_cartridge/afterattack(obj/target, mob/user , flag)
if (!is_open_container() || !flag)

View File

@@ -14,7 +14,7 @@
possible_transfer_amounts = list(5,10,15,25,30,60)
volume = 60
w_class = ITEMSIZE_SMALL
atom_flags = OPENCONTAINER | NOCONDUCT
atom_flags = ATOM_REAGENTS_IS_OPEN | ATOM_IS_INSULATED
unacidable = 1 //glass doesn't dissolve in acid
drop_sound = 'sound/items/drop/bottle.ogg'
pickup_sound = 'sound/items/pickup/bottle.ogg'
@@ -74,10 +74,10 @@
..()
if(is_open_container())
to_chat(usr, "<span class = 'notice'>You put the lid on \the [src].</span>")
atom_flags ^= OPENCONTAINER
atom_flags ^= ATOM_REAGENTS_IS_OPEN
else
to_chat(usr, "<span class = 'notice'>You take the lid off \the [src].</span>")
atom_flags |= OPENCONTAINER
atom_flags |= ATOM_REAGENTS_IS_OPEN
update_icon()
/obj/item/reagent_containers/glass/attack(mob/M as mob, mob/user as mob, def_zone)
@@ -134,7 +134,7 @@
update_name_label()
if(istype(W,/obj/item/storage/bag))
..()
if(W && W.w_class <= w_class && (atom_flags & OPENCONTAINER) && user.a_intent != I_HELP)
if(W && W.w_class <= w_class && (atom_flags & ATOM_REAGENTS_IS_OPEN) && user.a_intent != I_HELP)
to_chat(user, "<span class='notice'>You dip \the [W] into \the [src].</span>")
reagents.touch_obj(W, reagents.total_volume)
@@ -209,7 +209,7 @@
volume = 120
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,25,30,60,120)
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
/obj/item/reagent_containers/glass/beaker/noreact
name = "cryostasis beaker"
@@ -219,7 +219,7 @@
matter = list("glass" = 500)
volume = 60
amount_per_transfer_from_this = 10
atom_flags = OPENCONTAINER | NOREACT
atom_flags = ATOM_REAGENTS_IS_OPEN | ATOM_REAGENTS_SKIP_REACTIONS
/obj/item/reagent_containers/glass/beaker/bluespace
name = "bluespace beaker"
@@ -230,7 +230,7 @@
volume = 300
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,25,30,60,120,300)
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
/obj/item/reagent_containers/glass/beaker/vial
name = "vial"
@@ -242,7 +242,7 @@
w_class = ITEMSIZE_TINY
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,30)
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
/obj/item/reagent_containers/glass/beaker/cryoxadone
name = "beaker (cryoxadone)"
@@ -259,7 +259,7 @@
volume = 120
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,25,30,60,120)
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
/obj/item/reagent_containers/glass/bucket
desc = "It's a bucket."
@@ -273,7 +273,7 @@
amount_per_transfer_from_this = 20
possible_transfer_amounts = list(10,20,30,60,120)
volume = 120
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
unacidable = 0
drop_sound = 'sound/items/drop/helm.ogg'
pickup_sound = 'sound/items/pickup/helm.ogg'
@@ -331,7 +331,7 @@
amount_per_transfer_from_this = 20
possible_transfer_amounts = list(10,20,30,60,120)
volume = 120
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
unacidable = 0
drop_sound = 'sound/items/drop/wooden.ogg'
pickup_sound = 'sound/items/pickup/wooden.ogg'

View File

@@ -12,7 +12,7 @@
unacidable = 1
volume = 30
possible_transfer_amounts = null
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
slot_flags = SLOT_BELT
drop_sound = 'sound/items/drop/gun.ogg'
pickup_sound = 'sound/items/pickup/gun.ogg'
@@ -115,7 +115,7 @@
if(!do_after(user,30) || loaded_vial || !(W in user))
return 0
if(W.is_open_container())
W.atom_flags ^= OPENCONTAINER
W.atom_flags ^= ATOM_REAGENTS_IS_OPEN
W.update_icon()
user.drop_item()
W.loc = src
@@ -152,13 +152,13 @@
/obj/item/reagent_containers/hypospray/autoinjector/used/Initialize()
. = ..()
atom_flags &= ~OPENCONTAINER
atom_flags &= ~ATOM_REAGENTS_IS_OPEN
icon_state = "[initial(icon_state)]0"
/obj/item/reagent_containers/hypospray/autoinjector/do_injection(mob/living/carbon/human/H, mob/living/user)
. = ..()
if(.) // Will occur if successfully injected.
atom_flags &= ~OPENCONTAINER
atom_flags &= ~ATOM_REAGENTS_IS_OPEN
update_icon()
/obj/item/reagent_containers/hypospray/autoinjector/update_icon()

View File

@@ -5,7 +5,7 @@
icon_state = "cleaner"
item_state = "cleaner"
center_of_mass = list("x" = 16,"y" = 10)
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
item_flags = NOBLUDGEON
matter = list("glass" = 300, MAT_STEEL = 300)
slot_flags = SLOT_BELT

View File

@@ -7,7 +7,7 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid).
/obj/machinery/r_n_d/circuit_imprinter
name = "Circuit Imprinter"
icon_state = "circuit_imprinter"
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
circuit = /obj/item/circuitboard/circuit_imprinter
var/list/datum/design/queue = list()
var/progress = 0

View File

@@ -1,7 +1,7 @@
/obj/machinery/r_n_d/protolathe
name = "Protolathe"
icon_state = "protolathe"
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
circuit = /obj/item/circuitboard/protolathe
use_power = USE_POWER_IDLE
idle_power_usage = 30

View File

@@ -7,7 +7,7 @@
unacidable = 1
simulated = 0
invisibility = 101
atom_flags = SLANDMARK_FLAG_AUTOSET // We generally want to use current area/turf as base.
atom_flags = LANDMARK_CREATES_SAFE_SITE // We generally want to use current area/turf as base.
//ID of the landmark
var/landmark_tag
@@ -30,7 +30,7 @@
. = INITIALIZE_HINT_LATELOAD
// Even if this flag is set, hardcoded values take precedence.
if(atom_flags & SLANDMARK_FLAG_AUTOSET)
if(atom_flags & LANDMARK_CREATES_SAFE_SITE)
if(ispath(base_area))
var/area/A = locate(base_area)
if(!istype(A))
@@ -123,7 +123,7 @@
/obj/effect/shuttle_landmark/automatic
name = "Navpoint"
landmark_tag = "navpoint"
atom_flags = SLANDMARK_FLAG_AUTOSET
atom_flags = LANDMARK_CREATES_SAFE_SITE
/obj/effect/shuttle_landmark/automatic/Initialize()
landmark_tag += "-[x]-[y]-[z]-[random_id("landmarks",1,9999)]"

View File

@@ -290,7 +290,7 @@
// If shuttle has no internal gravity, update our gravity with destination gravity
if((flags & SHUTTLE_FLAGS_ZERO_G))
var/new_grav = 1
if(destination.atom_flags & SLANDMARK_FLAG_ZERO_G)
if(destination.atom_flags & LANDMARK_REMOVES_GRAVITY)
var/area/new_area = get_area(destination)
new_grav = new_area.has_gravity
for(var/area/our_area in shuttle_area)

View File

@@ -215,4 +215,4 @@
return //do nothing for now
/obj/effect/shuttle_landmark/transit
atom_flags = SLANDMARK_FLAG_ZERO_G|SLANDMARK_FLAG_AUTOSET
atom_flags = LANDMARK_REMOVES_GRAVITY|LANDMARK_CREATES_SAFE_SITE

View File

@@ -88,7 +88,7 @@
layer = ABOVE_MOB_LAYER
climbable = 0 //flipping tables allows them to be used as makeshift barriers
flipped = 1
atom_flags |= ON_BORDER
atom_flags |= ATOM_HAS_TRANSITION_PRIORITY
for(var/D in list(turn(direction, 90), turn(direction, -90)))
var/obj/structure/table/T = locate() in get_step(src,D)
if(T && T.flipped == 0 && material && T.material && T.material.name == material.name)
@@ -106,7 +106,7 @@
reset_plane_and_layer()
flipped = 0
climbable = initial(climbable)
atom_flags &= ~ON_BORDER
atom_flags &= ~ATOM_HAS_TRANSITION_PRIORITY
for(var/D in list(turn(dir, 90), turn(dir, -90)))
var/obj/structure/table/T = locate() in get_step(src.loc,D)
if(T && T.flipped == 1 && T.dir == src.dir && material && T.material&& T.material.name == material.name)

View File

@@ -12,7 +12,7 @@
origin_tech = list(TECH_BIO = 4)
var/uses = 1 // uses before it goes inert
var/enhanced = FALSE
atom_flags = OPENCONTAINER
atom_flags = ATOM_REAGENTS_IS_OPEN
/obj/item/slime_extract/Initialize()

View File

@@ -316,7 +316,7 @@
} \
/obj/effect/shuttle_landmark/cynosure/escape_pod##NUMBER/transit { \
landmark_tag = "escape_pod_"+ #NUMBER +"_transit"; \
atom_flags = SLANDMARK_FLAG_AUTOSET; \
atom_flags = LANDMARK_CREATES_SAFE_SITE; \
}
ESCAPE_POD(1)
@@ -349,7 +349,7 @@ ESCAPE_POD(1)
/obj/effect/shuttle_landmark/cynosure/large_escape_pod1/transit
landmark_tag = "large_escape_pod1_transit"
atom_flags = SLANDMARK_FLAG_AUTOSET
atom_flags = LANDMARK_CREATES_SAFE_SITE
// Large Escape Pod 2
/datum/shuttle/autodock/ferry/escape_pod/large_escape_pod2
@@ -377,7 +377,7 @@ ESCAPE_POD(1)
/obj/effect/shuttle_landmark/cynosure/large_escape_pod2/transit
landmark_tag = "large_escape_pod2_transit"
atom_flags = SLANDMARK_FLAG_AUTOSET
atom_flags = LANDMARK_CREATES_SAFE_SITE
//Cynosure Station Docks

View File

@@ -234,7 +234,7 @@
} \
/obj/effect/shuttle_landmark/southern_cross/escape_pod##NUMBER/transit { \
landmark_tag = "escape_pod_"+ #NUMBER +"_transit"; \
flags = SLANDMARK_FLAG_AUTOSET; \
flags = LANDMARK_CREATES_SAFE_SITE; \
}
ESCAPE_POD(1)
@@ -274,7 +274,7 @@ ESCAPE_POD(8)
/obj/effect/shuttle_landmark/southern_cross/cryostorage_transit
landmark_tag = "cryostorage_transit"
flags = SLANDMARK_FLAG_AUTOSET
flags = LANDMARK_CREATES_SAFE_SITE
// Large Escape Pod 1
/datum/shuttle/autodock/ferry/escape_pod/large_escape_pod1
@@ -302,7 +302,7 @@ ESCAPE_POD(8)
/obj/effect/shuttle_landmark/southern_cross/large_escape_pod1/transit
landmark_tag = "large_escape_pod1_transit"
flags = SLANDMARK_FLAG_AUTOSET
flags = LANDMARK_CREATES_SAFE_SITE
// Large Escape Pod 2
/datum/shuttle/autodock/ferry/escape_pod/large_escape_pod2
@@ -330,7 +330,7 @@ ESCAPE_POD(8)
/obj/effect/shuttle_landmark/southern_cross/large_escape_pod2/transit
landmark_tag = "large_escape_pod2_transit"
flags = SLANDMARK_FLAG_AUTOSET
flags = LANDMARK_CREATES_SAFE_SITE
// Destination datums
@@ -367,5 +367,3 @@ ESCAPE_POD(8)
// Heist shuttle