diff --git a/code/ZAS/Atom.dm b/code/ZAS/Atom.dm
index 06305182b3..bfe6fa2ad4 100644
--- a/code/ZAS/Atom.dm
+++ b/code/ZAS/Atom.dm
@@ -3,14 +3,6 @@
/atom/var/pressure_resistance = ONE_ATMOSPHERE
/atom/var/can_atmos_pass = ATMOS_PASS_YES
-// Purpose: Determines if the object can pass this atom.
-// Called by: Movement.
-// Inputs: The moving atom, target turf.
-// Outputs: Boolean if can pass.
-// Airflow and ZAS zones now uses CanZASPass() instead of this proc.
-/atom/proc/CanPass(atom/movable/mover, turf/target)
- return !density
-
// Purpose: Determines if airflow is allowed between T and loc.
// Called by: Airflow.
// Inputs: The turf the airflow is from, which may not be the same as loc. is_zone is for conditionally disallowing merging.
@@ -30,12 +22,6 @@
else
CRASH("Invalid can_atmos_pass = [can_atmos_pass] on [src] ([type])")
-/turf/CanPass(atom/movable/mover, turf/target)
- if(!target) return FALSE
-
- if(istype(mover)) // turf/Enter(...) will perform more advanced checks
- return !density
-
/turf/CanZASPass(turf/T, is_zone)
if(T.blocks_air || src.blocks_air)
return FALSE
diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm
index e67d2ad3ac..015ffa36a9 100644
--- a/code/ZAS/Fire.dm
+++ b/code/ZAS/Fire.dm
@@ -170,7 +170,7 @@ If it gains pressure too slowly, it may leak or just rupture instead of explodin
continue
//Spread the fire.
- if(prob( 50 + 50 * (firelevel/vsc.fire_firelevel_multiplier) ) && my_tile.CanPass(null, enemy_tile, 0,0) && enemy_tile.CanPass(null, my_tile, 0,0))
+ if(prob( 50 + 50 * (firelevel/vsc.fire_firelevel_multiplier) ) && my_tile.CanPass(src, enemy_tile) && enemy_tile.CanPass(src, my_tile))
enemy_tile.create_fire(firelevel)
else
diff --git a/code/__defines/__outdated_compatibility.dm b/code/__defines/__outdated_compatibility.dm
new file mode 100644
index 0000000000..764fde7887
--- /dev/null
+++ b/code/__defines/__outdated_compatibility.dm
@@ -0,0 +1,8 @@
+//Update this whenever you need to take advantage of more recent byond features
+#define MIN_COMPILER_VERSION 514
+#define MIN_COMPILER_BUILD 1556
+#if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM)
+//Don't forget to update this part
+#error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update.
+#error You need version 514.1556 or higher
+#endif
\ No newline at end of file
diff --git a/code/controllers/subsystems/machines.dm b/code/controllers/subsystems/machines.dm
index dd99681b48..95f366ef81 100644
--- a/code/controllers/subsystems/machines.dm
+++ b/code/controllers/subsystems/machines.dm
@@ -6,9 +6,6 @@
//
// SSmachines subsystem - Processing machines, pipenets, and powernets!
//
-// Implementation Plan:
-// PHASE 1 - Add subsystem using the existing global list vars
-// PHASE 2 - Move the global list vars into the subsystem.
SUBSYSTEM_DEF(machines)
name = "Machines"
@@ -24,12 +21,6 @@ SUBSYSTEM_DEF(machines)
var/cost_powernets = 0
var/cost_power_objects = 0
- // TODO - PHASE 2 - Switch these from globals to instance vars
- // var/list/pipenets = list()
- // var/list/machinery = list()
- // var/list/powernets = list()
- // var/list/power_objects = list()
-
var/list/current_run = list()
/datum/controller/subsystem/machines/Initialize(timeofday)
@@ -51,28 +42,31 @@ SUBSYSTEM_DEF(machines)
// The above is a lie. Turbolifts also call this proc.
/datum/controller/subsystem/machines/proc/makepowernets()
// TODO - check to not run while in the middle of a tick!
- for(var/datum/powernet/PN in powernets)
+ for(var/datum/powernet/PN as anything in powernets)
qdel(PN)
powernets.Cut()
setup_powernets_for_cables(cable_list)
/datum/controller/subsystem/machines/proc/setup_powernets_for_cables(list/cables)
- for(var/obj/structure/cable/PC in cables)
+ for(var/obj/structure/cable/PC as anything in cables)
if(!PC.powernet)
var/datum/powernet/NewPN = new()
NewPN.add_cable(PC)
propagate_network(PC,PC.powernet)
/datum/controller/subsystem/machines/proc/setup_atmos_machinery(list/atmos_machines)
+ var/list/actual_atmos_machines = list()
+
for(var/obj/machinery/atmospherics/machine in atmos_machines)
machine.atmos_init()
+ actual_atmos_machines += machine
CHECK_TICK
- for(var/obj/machinery/atmospherics/machine in atmos_machines)
+ for(var/obj/machinery/atmospherics/machine as anything in actual_atmos_machines)
machine.build_network()
CHECK_TICK
- for(var/obj/machinery/atmospherics/unary/U in atmos_machines)
+ for(var/obj/machinery/atmospherics/unary/U as anything in actual_atmos_machines)
if(istype(U, /obj/machinery/atmospherics/unary/vent_pump))
var/obj/machinery/atmospherics/unary/vent_pump/T = U
T.broadcast_status()
@@ -105,12 +99,10 @@ SUBSYSTEM_DEF(machines)
while(current_run.len)
var/datum/pipe_network/PN = current_run[current_run.len]
current_run.len--
- if(istype(PN) && !QDELETED(PN))
- PN.process(wait)
- else
+ if(QDELETED(PN))
global.pipe_networks.Remove(PN)
- if(!QDELETED(PN))
- DISABLE_BITFIELD(PN.datum_flags, DF_ISPROCESSING)
+ else
+ PN.process(wait)
if(MC_TICK_CHECK)
return
@@ -123,11 +115,8 @@ SUBSYSTEM_DEF(machines)
while(current_run.len)
var/obj/machinery/M = current_run[current_run.len]
current_run.len--
-
- if(!istype(M) || QDELETED(M) || (M.process(wait) == PROCESS_KILL))
+ if(QDELETED(M) || (M.process(wait) == PROCESS_KILL))
global.processing_machines.Remove(M)
- if(!QDELETED(M))
- DISABLE_BITFIELD(M.datum_flags, DF_ISPROCESSING)
if(MC_TICK_CHECK)
return
@@ -140,12 +129,10 @@ SUBSYSTEM_DEF(machines)
while(current_run.len)
var/datum/powernet/PN = current_run[current_run.len]
current_run.len--
- if(istype(PN) && !QDELETED(PN))
- PN.reset(wait)
- else
+ if(QDELETED(PN))
global.powernets.Remove(PN)
- if(!QDELETED(PN))
- DISABLE_BITFIELD(PN.datum_flags, DF_ISPROCESSING)
+ else
+ PN.reset(wait)
if(MC_TICK_CHECK)
return
@@ -167,16 +154,24 @@ SUBSYSTEM_DEF(machines)
return
/datum/controller/subsystem/machines/Recover()
- // TODO - PHASE 2
- // if (istype(SSmachines.pipenets))
- // pipenets = SSmachines.pipenets
- // if (istype(SSmachines.machinery))
- // machinery = SSmachines.machinery
- // if (istype(SSmachines.powernets))
- // powernets = SSmachines.powernets
- // if (istype(SSmachines.power_objects))
- // power_objects = SSmachines.power_objects
+ for(var/datum/D as anything in global.pipe_networks)
+ if(!istype(D, /datum/pipe_network))
+ error("Found wrong type during SSmachinery recovery: list=global.pipe_networks, item=[D], type=[D?.type]")
+ global.pipe_networks -= D
+ for(var/datum/D as anything in global.processing_machines)
+ if(!istype(D, /obj/machinery))
+ error("Found wrong type during SSmachinery recovery: list=global.processing_machines, item=[D], type=[D?.type]")
+ global.processing_machines -= D
+ for(var/datum/D as anything in global.powernets)
+ if(!istype(D, /datum/powernet))
+ error("Found wrong type during SSmachinery recovery: list=global.powernets, item=[D], type=[D?.type]")
+ global.powernets -= D
+ for(var/datum/D as anything in global.processing_power_items)
+ if(!istype(D, /obj/item))
+ error("Found wrong type during SSmachinery recovery: list=global.processing_power_items, item=[D], type=[D?.type]")
+ global.processing_power_items -= D
#undef SSMACHINES_PIPENETS
#undef SSMACHINES_MACHINERY
+#undef SSMACHINES_POWERNETS
#undef SSMACHINES_POWER_OBJECTS
diff --git a/code/datums/supplypacks/misc_vr.dm b/code/datums/supplypacks/misc_vr.dm
index fe9bee347b..56a9c38c8a 100644
--- a/code/datums/supplypacks/misc_vr.dm
+++ b/code/datums/supplypacks/misc_vr.dm
@@ -85,7 +85,7 @@
/datum/supply_pack/misc/com_medical_rig
name = "solgov medical hardsuit (loaded)" //YW EDIT
contains = list(
- /obj/item/weapon/rig/baymed = 1
+ /obj/item/weapon/rig/baymed/equipped = 1
)
cost = 250
containertype = /obj/structure/closet/crate/secure/gear
@@ -95,7 +95,7 @@
/datum/supply_pack/misc/com_engineering_rig
name = "solgov engineering hardsuit (loaded)" //YW EDIT
contains = list(
- /obj/item/weapon/rig/bayeng = 1
+ /obj/item/weapon/rig/bayeng/equipped = 1
)
cost = 250
containertype = /obj/structure/closet/crate/secure/gear
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 3e4b277696..07c1ed3851 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -715,3 +715,11 @@
/atom/proc/interact(mob/user)
return
+
+// Purpose: Determines if the object can pass this atom.
+// Called by: Movement.
+// Inputs: The moving atom, target turf.
+// Outputs: Boolean if can pass.
+// Airflow and ZAS zones now uses CanZASPass() instead of this proc.
+/atom/proc/CanPass(atom/movable/mover, turf/target)
+ return !density
\ No newline at end of file
diff --git a/code/game/objects/effects/decals/Cleanable/fuel.dm b/code/game/objects/effects/decals/Cleanable/fuel.dm
index 2ea550d66d..4661d42ca6 100644
--- a/code/game/objects/effects/decals/Cleanable/fuel.dm
+++ b/code/game/objects/effects/decals/Cleanable/fuel.dm
@@ -38,7 +38,7 @@
for(var/d in cardinal)
var/turf/simulated/target = get_step(src,d)
var/turf/simulated/origin = get_turf(src)
- if(origin.CanPass(null, target, 0, 0) && target.CanPass(null, origin, 0, 0))
+ if(origin.CanPass(src, target) && target.CanPass(src, origin))
var/obj/effect/decal/cleanable/liquid_fuel/other_fuel = locate() in target
if(other_fuel)
other_fuel.amount += amount*0.25
@@ -73,7 +73,7 @@
var/turf/simulated/O = get_step(S,d)
if(locate(/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel) in O)
continue
- if(O.CanPass(null, S, 0, 0) && S.CanPass(null, O, 0, 0))
+ if(O.CanPass(src, S) && S.CanPass(src, O))
var/new_pool_amount = amount * 0.25
if(new_pool_amount > 0.1)
var/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel/F = new(O, new_pool_amount, d)
diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index 67d76a8c89..fb9a4a0e8b 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -89,7 +89,9 @@
/obj/structure/proc/turf_is_crowded()
var/turf/T = get_turf(src)
if(!T || !istype(T))
- return 0
+ return "empty void"
+ if(T.density)
+ return T
for(var/obj/O in T.contents)
if(istype(O,/obj/structure))
var/obj/structure/S = O
@@ -113,12 +115,15 @@
LAZYREMOVE(climbers, user)
return
- usr.forceMove(get_turf(src))
+ usr.forceMove(climb_to(user))
if (get_turf(user) == get_turf(src))
usr.visible_message("[user] climbs onto \the [src]!")
LAZYREMOVE(climbers, user)
+/obj/structure/proc/climb_to(var/mob/living/user)
+ return get_turf(src)
+
/obj/structure/proc/structure_shaken()
for(var/mob/living/M in climbers)
M.Weaken(1)
diff --git a/code/game/objects/structures/droppod.dm b/code/game/objects/structures/droppod.dm
index 5d2edc3158..8598d632fc 100644
--- a/code/game/objects/structures/droppod.dm
+++ b/code/game/objects/structures/droppod.dm
@@ -18,7 +18,11 @@
if(A)
A.forceMove(src) // helo
podfall(auto_open)
- air = new(1000)
+ air = new
+
+/obj/structure/drop_pod/Destroy()
+ . = ..()
+ qdel_null(air)
/obj/structure/drop_pod/proc/podfall(auto_open)
set waitfor = FALSE // sleeping in new otherwise
@@ -118,10 +122,16 @@
return ..()
/obj/structure/drop_pod/return_air()
- return return_air_for_internal_lifeform()
+ return air || ..()
/obj/structure/drop_pod/return_air_for_internal_lifeform()
- return air
+ return air || ..()
+
+/obj/structure/drop_pod/assume_air(datum/gas_mixture/giver)
+ if(air)
+ return air.merge(giver)
+ else
+ return ..()
// This is about 0.896m^3 of atmosphere, which is enough to last for quite a while.
/datum/gas_mixture/pod_air
diff --git a/code/game/objects/structures/props/prop.dm b/code/game/objects/structures/props/prop.dm
index 1ddd91285e..54761755b1 100644
--- a/code/game/objects/structures/props/prop.dm
+++ b/code/game/objects/structures/props/prop.dm
@@ -105,6 +105,30 @@
icon = 'icons/obj/structures/decor.dmi'
icon_state = "stump"
+// minirocket pod from TGMC
+/obj/structure/prop/minirocket_pod
+ icon = 'icons/obj/structures/decor.dmi'
+ icon_state = "minirocket_pod"
+
+// warheads from TGMC
+/obj/structure/prop/warhead1
+ icon = 'icons/obj/structures/decor.dmi'
+ icon_state = "ob_warhead_1"
+/obj/structure/prop/warhead2
+ icon = 'icons/obj/structures/decor.dmi'
+ icon_state = "ob_warhead_2"
+/obj/structure/prop/warhead3
+ icon = 'icons/obj/structures/decor.dmi'
+ icon_state = "ob_warhead_3"
+/obj/structure/prop/warhead4
+ icon = 'icons/obj/structures/decor.dmi'
+ icon_state = "ob_warhead_4"
+
+// sentry console from TGMC
+/obj/structure/prop/sentry_control
+ icon = 'icons/obj/structures/decor.dmi'
+ icon_state = "tgmc_sentry"
+
// vatgrowing thing from /tg/
/obj/structure/prop/green_egg
icon = 'icons/obj/structures/decor.dmi'
@@ -122,6 +146,30 @@
bound_width = 64
bound_height = 64
+// various weapons from TGMC
+/obj/structure/prop/tgmc_missile
+ name = "missile"
+ desc = "It seems to be some sort of spacecraft-tier ordinance."
+ icon = 'icons/obj/structures/decor64x64.dmi'
+ icon_state = "single"
+ bound_width = 64
+/obj/structure/prop/tgmc_missile/double
+ icon_state = "widowmaker"
+/obj/structure/prop/tgmc_missile/banshee
+ icon_state = "banshee"
+/obj/structure/prop/tgmc_missile/keeper
+ icon_state = "keeper"
+/obj/structure/prop/tgmc_missile/fatty
+ icon_state = "fatty"
+/obj/structure/prop/tgmc_missile/napalm
+ icon_state = "napalm"
+
+// ship memorial from TGMC
+/obj/structure/prop/memorial
+ icon = 'icons/obj/structures/decor64x64.dmi'
+ icon_state = "ship_memorial"
+ bound_width = 64
+
// dna vault from /tg/
/obj/structure/prop/dna_vault
icon = 'icons/obj/structures/decor96x96.dmi'
@@ -257,6 +305,118 @@
/obj/structure/prop/dominator/purple
icon_state = "dominator-purple"
+/**
+ * Possible 'state' options for change_state(state) are:
+ * empty, single, banshee, keeper, fatty, napalm
+ */
+// ship weapons from TGMC
+/obj/structure/prop/tgmc_missile_rack
+ name = "missile launcher"
+ desc = "Some sort of spacecraft-tier missile weapon."
+ icon = 'icons/obj/structures/decor64x64.dmi'
+ icon_state = "rocket_pod"
+ bound_height = 64
+
+/obj/structure/prop/tgmc_missile_rack/change_state(state)
+ . = ..()
+ switch(state)
+ if("empty")
+ icon_state = "rocket_pod"
+ if("single")
+ icon_state = "rocket_pod_loaded"
+ if("banshee")
+ icon_state = "rocket_pod_loadedb"
+ if("keeper")
+ icon_state = "rocket_pod_loadedk"
+ if("fatty")
+ icon_state = "rocket_pod_loadedf"
+ if("napalm")
+ icon_state = "rocket_pod_loadedn"
+
+/obj/structure/prop/tgmc_missile_rack/single
+ icon_state = "rocket_pod_loaded"
+/obj/structure/prop/tgmc_missile_rack/banshee
+ icon_state = "rocket_pod_loadedb"
+/obj/structure/prop/tgmc_missile_rack/keeper
+ icon_state = "rocket_pod_loadedk"
+/obj/structure/prop/tgmc_missile_rack/fatty
+ icon_state = "rocket_pod_loadedf"
+/obj/structure/prop/tgmc_missile_rack/napalm
+ icon_state = "rocket_pod_loadedn"
+
+/**
+ * Possible 'state' options for change_state(state) are:
+ * empty, loaded
+ */
+// ship weapons from TGMC
+/obj/structure/prop/tgmc_minirockets
+ name = "rocket pod"
+ desc = "Some sort of spacecraft-tier rocket weapon."
+ icon = 'icons/obj/structures/decor64x64.dmi'
+ icon_state = "minirocket_pod"
+ bound_height = 64
+
+/obj/structure/prop/tgmc_minirockets/change_state(state)
+ . = ..()
+ switch(state)
+ if("empty")
+ icon_state = "minirocket_pod"
+ if("loaded")
+ icon_state = "minirocket_pod_loaded"
+
+/obj/structure/prop/tgmc_minirockets/loaded
+ icon_state = "minirocket_pod_loaded"
+
+/**
+ * Possible 'state' options for change_state(state) are:
+ * empty, loaded
+ */
+// ship weapons from TGMC
+/obj/structure/prop/tgmc_laser
+ name = "laser cannon"
+ desc = "Some sort of spacecraft-tier energy weapon."
+ icon = 'icons/obj/structures/decor64x64.dmi'
+ icon_state = "laser_beam"
+ bound_height = 64
+
+/obj/structure/prop/tgmc_laser/change_state(state)
+ . = ..()
+ switch(state)
+ if("empty")
+ icon_state = "laser_beam"
+ if("loaded")
+ icon_state = "laser_beam_loaded"
+
+/obj/structure/prop/tgmc_laser/loaded
+ icon_state = "laser_beam_loaded"
+
+/**
+ * Possible 'state' options for change_state(state) are:
+ * empty, loaded, loadedempty
+ */
+// ship weapons from TGMC
+/obj/structure/prop/tgmc_30mm
+ name = "30mm cannon"
+ desc = "Some sort of spacecraft-tier rotary cannon weapon."
+ icon = 'icons/obj/structures/decor64x64.dmi'
+ icon_state = "30mm_cannon"
+ bound_height = 64
+
+/obj/structure/prop/tgmc_30mm/change_state(state)
+ . = ..()
+ switch(state)
+ if("empty")
+ icon_state = "30mm_cannon"
+ if("loaded")
+ icon_state = "30mm_cannon_loaded1"
+ if("loadedempty")
+ icon_state = "30mm_cannon_loaded0"
+
+/obj/structure/prop/tgmc_30mm/loaded
+ icon_state = "30mm_cannon_loaded1"
+/obj/structure/prop/tgmc_30mm/loadedempty
+ icon_state = "30mm_cannon_loaded0"
+
/**
* Possible 'state' options for change_state(state) are:
* off: Default, boring
@@ -596,6 +756,111 @@
/obj/structure/prop/nt_cruciforge/starts_working
icon_state = "nt_cruciforge_work"
+/**
+ * Possible 'state' options for change_state(state) are:
+ * off: Default, boring
+ * on: Showing a display/powered up
+ */
+// A console from TGMC
+/obj/structure/prop/tgmc_console1
+ icon = 'icons/obj/structures/decor.dmi'
+ icon_state = "tgmc_console1"
+
+/obj/structure/prop/tgmc_console1/change_state(state)
+ . = ..()
+ switch(state)
+ if("off")
+ icon_state = "tgmc_console1"
+ if("on")
+ icon_state = "tgmc_console1_on"
+
+/obj/structure/prop/tgmc_console1/starts_on
+ icon_state = "tgmc_console1_on"
+
+/**
+ * Possible 'state' options for change_state(state) are:
+ * off: Default, boring
+ * on: Showing a display/powered up
+ */
+// A console from TGMC
+/obj/structure/prop/tgmc_console2
+ icon = 'icons/obj/structures/decor.dmi'
+ icon_state = "tgmc_console2"
+
+/obj/structure/prop/tgmc_console2/change_state(state)
+ . = ..()
+ switch(state)
+ if("off")
+ icon_state = "tgmc_console2"
+ if("on")
+ icon_state = "tgmc_console2_on"
+
+/obj/structure/prop/tgmc_console2/starts_on
+ icon_state = "tgmc_console2_on"
+
+/**
+ * Possible 'state' options for change_state(state) are:
+ * off: Default, boring
+ * on: Showing a display/powered up
+ */
+// A console from TGMC
+/obj/structure/prop/tgmc_console3
+ icon = 'icons/obj/structures/decor.dmi'
+ icon_state = "tgmc_console3"
+
+/obj/structure/prop/tgmc_console3/change_state(state)
+ . = ..()
+ switch(state)
+ if("off")
+ icon_state = "tgmc_console3"
+ if("on")
+ icon_state = "tgmc_console3_on"
+
+/obj/structure/prop/tgmc_console3/starts_on
+ icon_state = "tgmc_console3_on"
+
+/**
+ * Possible 'state' options for change_state(state) are:
+ * off: Default, boring
+ * on: Showing a display/powered up
+ */
+// A console from TGMC
+/obj/structure/prop/tgmc_console4
+ icon = 'icons/obj/structures/decor.dmi'
+ icon_state = "tgmc_console4"
+
+/obj/structure/prop/tgmc_console4/change_state(state)
+ . = ..()
+ switch(state)
+ if("off")
+ icon_state = "tgmc_console4"
+ if("on")
+ icon_state = "tgmc_console4_on"
+
+/obj/structure/prop/tgmc_console4/starts_on
+ icon_state = "tgmc_console4_on"
+
+/**
+ * Possible 'state' options for change_state(state) are:
+ * off: Default, boring
+ * on: Showing a display/powered up
+ */
+// A console from TGMC
+/obj/structure/prop/tgmc_console5
+ icon = 'icons/obj/structures/decor.dmi'
+ icon_state = "tgmc_console5"
+
+/obj/structure/prop/tgmc_console5/change_state(state)
+ . = ..()
+ switch(state)
+ if("off")
+ icon_state = "tgmc_console5"
+ if("on")
+ icon_state = "tgmc_console5_on"
+
+/obj/structure/prop/tgmc_console5/starts_on
+ icon_state = "tgmc_console5_on"
+
/**
* This one is a bit more fancy than others. Anything in the contents (PLEASE LIMIT TO ONE THING)
* will show up inside it! Also if you map in an item on it, it will grab that at mapload and start
diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm
index ab6a7de867..efa0412e53 100644
--- a/code/game/turfs/simulated/wall_types.dm
+++ b/code/game/turfs/simulated/wall_types.dm
@@ -341,7 +341,7 @@
var/turf/simulated/wall/T
for(var/direction in get_dirs_to_test())
T = get_step(src, direction)
- if(!istype(T))
+ if(!istype(T) || T.material?.icon_base != "hull")
continue
name = T.name
diff --git a/code/modules/ai/ai_holder.dm b/code/modules/ai/ai_holder.dm
index 78f16a96a0..86ab848733 100644
--- a/code/modules/ai/ai_holder.dm
+++ b/code/modules/ai/ai_holder.dm
@@ -353,13 +353,24 @@
ai_log("handle_stance_tactical() : Going to handle_resist().", AI_LOG_TRACE)
handle_resist()
- else if(istype(holder.loc, /obj/structure/closet))
+ var/atom/holder_loc = holder.loc
+ if(istype(holder_loc, /obj/structure/closet))
var/obj/structure/closet/C = holder.loc
ai_log("handle_stance_tactical() : Inside a closet. Going to attempt escape.", AI_LOG_TRACE)
if(C.sealed)
holder.resist()
else
C.open()
+ else if(isbelly(holder_loc))
+ ai_log("handle_stance_tactical() : Inside a belly, will move out to turf if owner is stat.", AI_LOG_TRACE)
+ var/obj/belly/B = holder_loc
+ var/mob/living/L = B.owner
+ if(B.owner?.stat)
+ var/mob/living/holder = src.holder
+ ai_log("handle_stance_tactical() : Owner was stat, moving.", AI_LOG_TRACE)
+ holder.forceMove(get_turf(L))
+ holder.visible_message("[src] climbs out of [L], ready to continue fighting!")
+ playsound(holder, 'sound/effects/splat.ogg')
// Should we flee?
if(should_flee())
diff --git a/code/modules/ai/ai_holder_combat.dm b/code/modules/ai/ai_holder_combat.dm
index 760031985e..edfe3eacc6 100644
--- a/code/modules/ai/ai_holder_combat.dm
+++ b/code/modules/ai/ai_holder_combat.dm
@@ -68,6 +68,7 @@
// We're not entirely sure how holder will do melee attacks since any /mob/living could be holder, but we don't have to care because Interfaces.
/datum/ai_holder/proc/melee_attack(atom/A)
+ ai_log("melee_attack() : Entering.", AI_LOG_TRACE)
pre_melee_attack(A)
. = holder.IAttack(A)
if(. == ATTACK_SUCCESSFUL)
@@ -75,6 +76,7 @@
// Ditto.
/datum/ai_holder/proc/ranged_attack(atom/A)
+ ai_log("ranged_attack() : Entering.", AI_LOG_TRACE)
pre_ranged_attack(A)
. = holder.IRangedAttack(A)
if(. == ATTACK_SUCCESSFUL)
@@ -82,11 +84,27 @@
// Most mobs probably won't have this defined but we don't care.
/datum/ai_holder/proc/special_attack(atom/movable/AM)
+ ai_log("special_attack() : Entering.", AI_LOG_TRACE)
pre_special_attack(AM)
. = holder.ISpecialAttack(AM)
if(. == ATTACK_SUCCESSFUL)
post_special_attack(AM)
+// Almost entirely combat considerations so in this file.
+/datum/ai_holder/proc/handle_eaten()
+ ai_log("handle_eaten() : Entering.", AI_LOG_TRACE)
+ forget_everything() // All of that is probably invalid now
+ if(!isbelly(holder.loc))
+ // Strange...!
+ stack_trace("AI tried to handle being eaten but didn't end up in a belly somehow.")
+ return
+ var/obj/belly/B = holder.loc
+ var/mob/living/L = B.owner
+ // Will return false if we decide to not do anything about it.
+ if(!react_to_attack(L, ignore_timers = TRUE))
+ ai_log("handle_eaten() : Deciding to sleep AI.", AI_LOG_TRACE)
+ go_sleep()
+
// Called when within striking/shooting distance, however cooldown is not considered.
// Override to do things like move in a random step for evasiveness.
// Note that this is called BEFORE the attack.
diff --git a/code/modules/ai/ai_holder_subtypes/slime_xenobio_ai.dm b/code/modules/ai/ai_holder_subtypes/slime_xenobio_ai.dm
index f6e311ad30..121da61371 100644
--- a/code/modules/ai/ai_holder_subtypes/slime_xenobio_ai.dm
+++ b/code/modules/ai/ai_holder_subtypes/slime_xenobio_ai.dm
@@ -182,7 +182,7 @@
holder.a_intent = I_HELP
return FALSE // We're a good slime.
-/datum/ai_holder/simple_mob/xenobio_slime/react_to_attack(atom/movable/attacker)
+/datum/ai_holder/simple_mob/xenobio_slime/react_to_attack(atom/movable/attacker, ignore_timers = FALSE)
. = ..(attacker)
if(ishuman(attacker))
diff --git a/code/modules/ai/ai_holder_targeting.dm b/code/modules/ai/ai_holder_targeting.dm
index a243ab8a58..74c868d5dc 100644
--- a/code/modules/ai/ai_holder_targeting.dm
+++ b/code/modules/ai/ai_holder_targeting.dm
@@ -114,6 +114,7 @@
return closest_targets
/datum/ai_holder/proc/can_attack(atom/movable/the_target, var/vision_required = TRUE)
+ ai_log("can_attack() : Entering.", AI_LOG_TRACE)
if(!can_see_target(the_target) && vision_required)
return FALSE
@@ -218,6 +219,7 @@
// Updates the last known position of the target.
/datum/ai_holder/proc/track_target_position()
+ ai_log("track_target_position() : Entering.", AI_LOG_TRACE)
if(!target)
lose_target_position()
@@ -231,13 +233,14 @@
// Resets the last known position to null.
/datum/ai_holder/proc/lose_target_position()
+ ai_log("lose_target_position() : Entering.", AI_LOG_TRACE)
if(last_turf_display && target_last_seen_turf)
target_last_seen_turf.cut_overlay(last_turf_overlay)
ai_log("lose_target_position() : Last position is being reset.", AI_LOG_INFO)
target_last_seen_turf = null
// Responds to a hostile action against its mob.
-/datum/ai_holder/proc/react_to_attack(atom/movable/attacker)
+/datum/ai_holder/proc/react_to_attack(atom/movable/attacker, ignore_timers = FALSE)
if(holder.stat) // We're dead.
ai_log("react_to_attack() : Was attacked by [attacker], but we are dead/unconscious.", AI_LOG_TRACE)
return FALSE
@@ -247,15 +250,10 @@
if(holder.IIsAlly(attacker)) // I'll overlook it THIS time...
ai_log("react_to_attack() : Was attacked by [attacker], but they were an ally.", AI_LOG_TRACE)
return FALSE
- if(target) // Already fighting someone. Switching every time we get hit would impact our combat performance.
- if(!retaliate) // If we don't get to fight back, we don't fight back...
- ai_log("react_to_attack() : Was attacked by [attacker], but we already have a target.", AI_LOG_TRACE)
- on_attacked(attacker) // So we attack immediately and not threaten.
- return FALSE
- else if(check_attacker(attacker) && world.time > last_target_time + 3 SECONDS) // Otherwise, let 'er rip
- ai_log("react_to_attack() : Was attacked by [attacker]. Can retaliate, waited 3 seconds.", AI_LOG_INFO)
- on_attacked(attacker) // So we attack immediately and not threaten.
- return give_target(attacker) // Also handles setting the appropiate stance.
+ if(target && !ignore_timers && (world.time < last_target_time + 8 SECONDS)) // Already fighting someone. Switching every time we get hit would impact our combat performance.
+ ai_log("react_to_attack() : Was attacked by [attacker], but we switched targets too recently to change.", AI_LOG_TRACE)
+ on_attacked(attacker)
+ return FALSE
if(stance == STANCE_SLEEP) // If we're asleep, try waking up if someone's wailing on us.
ai_log("react_to_attack() : AI is asleep. Waking up.", AI_LOG_TRACE)
diff --git a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm
index 2883e33ea7..a58a296cd7 100644
--- a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm
+++ b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm
@@ -18,25 +18,34 @@
//Area allowing backpacks to be placed on rigsuits.
/obj/item/weapon/rig/vox
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack, /obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
+
/obj/item/weapon/rig/combat
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
+
/obj/item/weapon/rig/ert
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \
/obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \
/obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
+
/obj/item/weapon/rig/light/ninja
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
+
/obj/item/weapon/rig/merc
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
+
/obj/item/weapon/rig/ce
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
+
/obj/item/weapon/rig/medical
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
+
/obj/item/weapon/rig/hazmat
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/weapon/storage/excavation,/obj/item/weapon/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/device/beacon_locator,/obj/item/device/radio/beacon,/obj/item/weapon/pickaxe/hand,/obj/item/weapon/storage/bag/fossils,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
+
/obj/item/weapon/rig/hazard
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
+
/obj/item/weapon/rig/industrial
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
@@ -45,6 +54,7 @@
/obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/weldingtool, /obj/item/weapon/tool, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \
/obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/device/suit_cooling_unit, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
+
/obj/item/weapon/rig/pmc
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \
/obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \
@@ -74,10 +84,11 @@
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE // so it's like a rig firesuit
armor = list("melee" = 40, "bullet" = 10, "laser" = 30, "energy" = 55, "bomb" = 70, "bio" = 100, "rad" = 100)
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack)
chest_type = /obj/item/clothing/suit/space/rig/focalpoint
helm_type = /obj/item/clothing/head/helmet/space/rig/focalpoint
- boot_type = /obj/item/clothing/shoes/magboots/rig/focalpoint
+ boot_type = /obj/item/clothing/shoes/magboots/rig/ce/focalpoint
glove_type = /obj/item/clothing/gloves/gauntlets/rig/focalpoint
/obj/item/weapon/rig/focalpoint/equipped
@@ -104,7 +115,7 @@
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
-/obj/item/clothing/shoes/magboots/rig/focalpoint
+/obj/item/clothing/shoes/magboots/rig/ce/focalpoint
icon = 'icons/inventory/feet/item_vr.dmi'
default_worn_icon = 'icons/inventory/feet/mob_vr.dmi'
icon_state = "techno_rig"
@@ -131,6 +142,10 @@
icon_state = "ihs_rig"
suit_type = "\improper Hephaestus hardsuit"
cell_type = /obj/item/weapon/cell/super
+ allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/handcuffs, \
+ /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/weldingtool, /obj/item/weapon/tool, /obj/item/device/multitool, \
+ /obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \
+ /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/device/suit_cooling_unit, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
armor = list("melee" = 70, "bullet" = 70, "laser" = 70, "energy" = 50, "bomb" = 60, "bio" = 100, "rad" = 20)
@@ -194,6 +209,8 @@
helm_type = /obj/item/clothing/head/helmet/space/rig/zero
boot_type = null
glove_type = null
+
+ allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack, /obj/item/device/bluespaceradio, /obj/item/device/defib_kit)
slowdown = 0
offline_slowdown = 1
@@ -237,15 +254,25 @@
chest_type = /obj/item/clothing/suit/space/rig/baymed
helm_type = /obj/item/clothing/head/helmet/space/rig/baymed
- boot_type = /obj/item/clothing/shoes/magboots/rig/baymed
+ boot_type = /obj/item/clothing/shoes/magboots/rig/ce/baymed
glove_type = /obj/item/clothing/gloves/gauntlets/rig/baymed
+ allowed = list(
+ /obj/item/device/flashlight,
+ /obj/item/weapon/tank,
+ /obj/item/device/suit_cooling_unit,
+ /obj/item/device/healthanalyzer,
+ /obj/item/stack/medical,
+ /obj/item/roller,
+ /obj/item/weapon/storage/backpack,
+ /obj/item/device/bluespaceradio,
+ /obj/item/device/defib_kit)
+
// speedy paper
slowdown = -0.5
armor = list("melee" = 10, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 25, "bio" = 100, "rad" = 20)
/obj/item/weapon/rig/baymed/equipped
- req_access = list(access_medical)
initial_modules = list(
/obj/item/rig_module/maneuvering_jets,
@@ -261,6 +288,7 @@
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
+ camera_networks = list(NETWORK_MEDICAL)
/obj/item/clothing/suit/space/rig/baymed
icon = 'icons/inventory/suit/item_vr.dmi'
@@ -270,7 +298,7 @@
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
-/obj/item/clothing/shoes/magboots/rig/baymed
+/obj/item/clothing/shoes/magboots/rig/ce/baymed
icon = 'icons/inventory/feet/item_vr.dmi'
default_worn_icon = 'icons/inventory/feet/mob_vr.dmi'
icon_state = "medical_rig_bay"
@@ -300,14 +328,26 @@
chest_type = /obj/item/clothing/suit/space/rig/bayeng
helm_type = /obj/item/clothing/head/helmet/space/rig/bayeng
- boot_type = /obj/item/clothing/shoes/magboots/rig/bayeng
+ boot_type = /obj/item/clothing/shoes/magboots/rig/ce/bayeng
glove_type = /obj/item/clothing/gloves/gauntlets/rig/bayeng
- slowdown = 1
+ allowed = list(
+ /obj/item/device/flashlight,
+ /obj/item/weapon/tank,
+ /obj/item/device/suit_cooling_unit,
+ /obj/item/device/t_scanner,
+ /obj/item/weapon/pickaxe,
+ /obj/item/weapon/rcd,
+ /obj/item/weapon/storage/backpack,
+ /obj/item/device/bluespaceradio,
+ /obj/item/device/defib_kit
+ )
+
+ slowdown = 0
offline_slowdown = 5 // very bulky
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 50)
-/obj/item/weapon/rig/bayeng//equipped
+/obj/item/weapon/rig/bayeng/equipped
initial_modules = list(
/obj/item/rig_module/maneuvering_jets,
/obj/item/rig_module/device/rcd,
@@ -323,6 +363,7 @@
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
+ camera_networks = list(NETWORK_ENGINEERING)
/obj/item/clothing/suit/space/rig/bayeng
icon = 'icons/inventory/suit/item_vr.dmi'
@@ -332,7 +373,7 @@
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
-/obj/item/clothing/shoes/magboots/rig/bayeng
+/obj/item/clothing/shoes/magboots/rig/ce/bayeng
icon = 'icons/inventory/feet/item_vr.dmi'
default_worn_icon = 'icons/inventory/feet/mob_vr.dmi'
icon_state = "engineering_rig_bay"
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm
index a4bdd6c978..745db9e568 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm
@@ -159,7 +159,7 @@ List of things solar grubs should be able to do:
"The solargrub chitters in irritation at your continued solidity, followed by a string of crushingly tight stomach clenches that grind its caustic stomach ooze into your body!",
"The deceptively severe heat trapped within the solargrub works in tandem with its inner muscles and your tingling, prickling stomach juice bath to weaken you!")
-/datum/ai_holder/simple_mob/retaliate/solargrub/react_to_attack(atom/movable/attacker)
+/datum/ai_holder/simple_mob/retaliate/solargrub/react_to_attack(atom/movable/attacker, ignore_timers = FALSE)
holder.anchored = FALSE
holder.set_AI_busy(FALSE)
..()
\ No newline at end of file
diff --git a/code/modules/tables/flipping.dm b/code/modules/tables/flipping.dm
index cc6be3352b..23d862d66d 100644
--- a/code/modules/tables/flipping.dm
+++ b/code/modules/tables/flipping.dm
@@ -86,7 +86,7 @@
if(dir != NORTH)
plane = MOB_PLANE
layer = ABOVE_MOB_LAYER
- climbable = FALSE //flipping tables allows them to be used as makeshift barriers
+ //climbable = FALSE //flipping tables allows them to be used as makeshift barriers
flipped = 1
flags |= ON_BORDER
for(var/D in list(turn(direction, 90), turn(direction, -90)))
@@ -105,7 +105,7 @@
reset_plane_and_layer()
flipped = 0
- climbable = initial(climbable)
+ //climbable = initial(climbable)
flags &= ~ON_BORDER
for(var/D in list(turn(dir, 90), turn(dir, -90)))
var/obj/structure/table/T = locate() in get_step(src.loc,D)
diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm
index 349624eb78..238942595e 100644
--- a/code/modules/tables/interactions.dm
+++ b/code/modules/tables/interactions.dm
@@ -1,11 +1,15 @@
/obj/structure/table/CanPass(atom/movable/mover, turf/target)
if(istype(mover,/obj/item/projectile))
return (check_cover(mover,target))
- if (flipped == 1)
- if (get_dir(loc, target) == dir)
+ if (flipped)
+ var/move_dir = get_dir(mover, target)
+ // Moving from back to front, gotta climb
+ if(move_dir == dir && target != loc)
return !density
- else
- return TRUE
+ // Moving from front to back, gotta climb
+ if(move_dir == reverse_dir[dir])
+ return !density
+ return TRUE
if(istype(mover) && mover.checkpass(PASSTABLE))
return TRUE
if(locate(/obj/structure/table/bench) in get_turf(mover))
@@ -15,6 +19,14 @@
return TRUE
return FALSE
+/obj/structure/table/climb_to(mob/living/mover)
+ if(flipped && mover.loc == loc)
+ var/turf/T = get_step(src, dir)
+ if(T.Enter(mover))
+ return T
+
+ return ..()
+
//checks if projectile 'P' from turf 'from' can hit whatever is behind the table. Returns 1 if it can, 0 if bullet stops.
/obj/structure/table/proc/check_cover(obj/item/projectile/P, turf/from)
var/turf/cover
diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm
index 54c0079ce5..a8aea6c376 100644
--- a/code/modules/vore/eating/belly_obj_vr.dm
+++ b/code/modules/vore/eating/belly_obj_vr.dm
@@ -218,7 +218,7 @@
vore_fx(M)
//Stop AI processing in bellies
if(M.ai_holder)
- M.ai_holder.go_sleep()
+ M.ai_holder.handle_eaten()
// Called whenever an atom leaves this belly
/obj/belly/Exited(atom/movable/thing, atom/OldLoc)
diff --git a/icons/_nanomaps/tether_nanomap_z2.png b/icons/_nanomaps/tether_nanomap_z2.png
index 3c49153eb6..a2d478b413 100644
Binary files a/icons/_nanomaps/tether_nanomap_z2.png and b/icons/_nanomaps/tether_nanomap_z2.png differ
diff --git a/icons/obj/structures/decor.dmi b/icons/obj/structures/decor.dmi
index fb79f4a39f..454f762ab9 100644
Binary files a/icons/obj/structures/decor.dmi and b/icons/obj/structures/decor.dmi differ
diff --git a/icons/obj/structures/decor32x64.dmi b/icons/obj/structures/decor32x64.dmi
index 71886fc328..267889a471 100644
Binary files a/icons/obj/structures/decor32x64.dmi and b/icons/obj/structures/decor32x64.dmi differ
diff --git a/icons/obj/structures/decor64x64.dmi b/icons/obj/structures/decor64x64.dmi
index 42f72c549c..e9ac905d19 100644
Binary files a/icons/obj/structures/decor64x64.dmi and b/icons/obj/structures/decor64x64.dmi differ
diff --git a/maps/offmap_vr/om_ships/aro3.dmm b/maps/offmap_vr/om_ships/aro3.dmm
index 1ae598e190..41bba6aafd 100644
--- a/maps/offmap_vr/om_ships/aro3.dmm
+++ b/maps/offmap_vr/om_ships/aro3.dmm
@@ -1934,6 +1934,7 @@
/obj/effect/floor_decal/milspec/color/orange/half{
dir = 6
},
+/obj/machinery/light,
/turf/simulated/floor/tiled/milspec,
/area/aro3/atmos)
"lI" = (
@@ -1948,6 +1949,13 @@
},
/turf/simulated/floor/tiled/milspec,
/area/aro3/hallway_port)
+"lJ" = (
+/obj/effect/floor_decal/milspec/hatchmarks,
+/obj/effect/floor_decal/industrial/warning/dust{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/space)
"lM" = (
/obj/effect/floor_decal/milspec/color/white/half,
/obj/effect/floor_decal/milspec/color/white/corner{
@@ -2314,6 +2322,12 @@
/obj/effect/floor_decal/milspec_sterile/green/half,
/turf/simulated/floor/tiled/milspec/sterile,
/area/aro3/medical)
+"ot" = (
+/obj/effect/floor_decal/industrial/warning/dust{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/space)
"ou" = (
/obj/effect/floor_decal/milspec/stripe{
dir = 4
@@ -2553,6 +2567,10 @@
/obj/effect/floor_decal/milspec_sterile/green/corner,
/turf/simulated/floor/tiled/milspec/sterile,
/area/aro3/medical)
+"pO" = (
+/obj/effect/floor_decal/milspec/hatchmarks,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/space)
"pP" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -3017,6 +3035,14 @@
},
/turf/simulated/floor/tiled/milspec,
/area/aro3/hallway_starboard)
+"sX" = (
+/obj/structure/prop/tgmc_minirockets,
+/obj/effect/floor_decal/milspec/hatchmarks,
+/obj/effect/floor_decal/industrial/warning/dust{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/space)
"td" = (
/obj/effect/floor_decal/milspec_sterile/green/half{
dir = 4
@@ -4159,6 +4185,10 @@
},
/turf/simulated/floor/tiled/eris/steel/panels,
/area/aro3/eva_hall)
+"Ab" = (
+/obj/effect/floor_decal/industrial/warning/dust,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/space)
"Ac" = (
/obj/structure/closet/crate/bin{
anchored = 1;
@@ -5093,6 +5123,14 @@
/obj/item/weapon/storage/firstaid/adv,
/turf/simulated/floor/tiled/techmaint,
/area/aro3/medical)
+"Hb" = (
+/obj/structure/prop/tgmc_minirockets,
+/obj/effect/floor_decal/milspec/hatchmarks,
+/obj/effect/floor_decal/industrial/warning/dust{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/space)
"Hc" = (
/obj/effect/floor_decal/milspec/color/red/half{
dir = 9
@@ -5235,6 +5273,14 @@
},
/turf/simulated/floor/tiled/milspec,
/area/aro3/atmos)
+"Im" = (
+/obj/structure/prop/tgmc_laser/loaded,
+/obj/effect/floor_decal/milspec/hatchmarks,
+/obj/effect/floor_decal/industrial/warning/dust{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/space)
"Io" = (
/obj/structure/cable/cyan{
icon_state = "1-2"
@@ -5977,7 +6023,7 @@
/turf/simulated/wall/tgmc/durawall,
/area/aro3/repair_bay)
"NF" = (
-/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/effect/floor_decal/milspec/hatchmarks,
/turf/simulated/floor/tiled/milspec,
/area/aro3/workshop)
"NG" = (
@@ -6172,6 +6218,14 @@
},
/turf/simulated/floor/plating/eris/under,
/area/aro3/atmos)
+"OM" = (
+/obj/structure/prop/tgmc_laser/loaded,
+/obj/effect/floor_decal/milspec/hatchmarks,
+/obj/effect/floor_decal/industrial/warning/dust{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/space)
"ON" = (
/obj/structure/table/steel,
/obj/item/weapon/storage/toolbox/electrical,
@@ -6226,6 +6280,13 @@
/obj/effect/floor_decal/milspec/monotile,
/turf/simulated/floor/tiled/milspec,
/area/aro3/surfluid)
+"Pa" = (
+/obj/effect/floor_decal/milspec/color/red/half{
+ dir = 9
+ },
+/obj/structure/prop/tgmc_missile/double,
+/turf/simulated/floor/tiled/milspec,
+/area/aro3/flight_deck)
"Pb" = (
/obj/machinery/light{
dir = 1
@@ -6359,6 +6420,11 @@
},
/turf/simulated/floor/tiled/milspec,
/area/aro3/power)
+"Qd" = (
+/obj/structure/prop/tgmc_minirockets,
+/obj/effect/floor_decal/milspec/hatchmarks,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/space)
"Qe" = (
/obj/effect/floor_decal/milspec/hatchmarks,
/turf/simulated/floor/tiled/milspec,
@@ -6392,6 +6458,7 @@
/obj/effect/floor_decal/milspec/color/red/half{
dir = 10
},
+/obj/structure/prop/tgmc_missile/fatty,
/turf/simulated/floor/tiled/milspec,
/area/aro3/flight_deck)
"QB" = (
@@ -6805,8 +6872,8 @@
/turf/space,
/area/space)
"TM" = (
-/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/machinery/light,
+/obj/effect/floor_decal/milspec/hatchmarks,
/turf/simulated/floor/tiled/milspec,
/area/aro3/workshop)
"TN" = (
@@ -6933,6 +7000,13 @@
},
/turf/simulated/floor/tiled/milspec,
/area/aro3/eva_hall)
+"UL" = (
+/obj/effect/floor_decal/milspec/hatchmarks,
+/obj/effect/floor_decal/industrial/warning/dust{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/space)
"UM" = (
/turf/simulated/wall/tgmc/durawall/deco1,
/area/aro3/atmos)
@@ -11400,8 +11474,8 @@ Ua
Ua
Ua
Ua
-hD
-hD
+pO
+Qd
tp
Ua
Ua
@@ -15499,8 +15573,8 @@ Ua
Ua
Ua
yn
-hD
-hD
+UL
+Hb
hD
hD
hD
@@ -15641,8 +15715,8 @@ Ua
Ua
Ua
yn
-hD
-hD
+ot
+Ab
hD
hD
hD
@@ -15783,8 +15857,8 @@ Ua
Ua
Ua
yn
-hD
-hD
+lJ
+Im
hD
hD
hD
@@ -16961,7 +17035,7 @@ NC
Ty
To
Iq
-Hc
+Pa
QA
HE
HE
@@ -19333,8 +19407,8 @@ Ua
Ua
Ua
yn
-hD
-hD
+UL
+OM
hD
hD
hD
@@ -19475,8 +19549,8 @@ Ua
Ua
Ua
yn
-hD
-hD
+ot
+Ab
hD
hD
hD
@@ -19617,8 +19691,8 @@ Ua
Ua
Ua
yn
-hD
-hD
+lJ
+sX
hD
hD
hD
@@ -23754,8 +23828,8 @@ Ua
Ua
Ua
Ua
-hD
-hD
+pO
+Qd
AA
Ua
Ua
diff --git a/maps/offmap_vr/om_ships/itglight.dmm b/maps/offmap_vr/om_ships/itglight.dmm
index cc619f7b2c..c422341e98 100644
--- a/maps/offmap_vr/om_ships/itglight.dmm
+++ b/maps/offmap_vr/om_ships/itglight.dmm
@@ -12,9 +12,11 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/door/airlock/mining{
- name = "Captain's Quarters";
- req_one_access = list(778)
+/obj/machinery/door/airlock/angled_bay/standard{
+ dir = 4;
+ door_color = "#a39342";
+ req_one_access = list(777);
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/captain)
@@ -22,7 +24,7 @@
/obj/structure/bed/chair/bay/chair/padded/red/bignest{
name = "large dog bed"
},
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 4;
pixel_x = -26
},
@@ -228,17 +230,16 @@
/turf/simulated/floor/tiled/eris/white/cargo,
/area/itglight/medbay)
"aK" = (
-/obj/machinery/door/airlock/glass_external{
- frequency = 1380;
- id_tag = "itglightshuttle_docker_hatch";
- name = "Shuttle Hatch"
- },
/obj/effect/map_helper/airlock/door/simple,
/obj/structure/cable/pink{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
+/obj/machinery/door/airlock/angled_bay/external/glass{
+ dir = 4;
+ door_color = "#AA0000"
+ },
/turf/simulated/shuttle/floor/yellow,
/area/shuttle/itglightshuttle)
"aN" = (
@@ -500,15 +501,15 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/door/airlock{
- id_tag = "dauntlesspq4";
- name = "Room 4"
+/obj/machinery/door/airlock/angled_bay/standard{
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/crew4)
"cp" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
pixel_x = 25
},
@@ -564,8 +565,9 @@
/obj/structure/bed/chair/bay/chair/padded/brown{
dir = 8
},
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
pixel_y = -25
},
/obj/structure/cable/pink,
@@ -656,12 +658,6 @@
/obj/structure/window/bay/reinforced,
/turf/simulated/floor,
/area/itglight/cockpit)
-"dv" = (
-/obj/machinery/door/airlock{
- name = "Unit 1"
- },
-/turf/simulated/floor/tiled/white,
-/area/itglight/restrooms)
"dB" = (
/obj/structure/table/steel_reinforced,
/obj/machinery/atmospherics/unary/vent_pump/on,
@@ -740,8 +736,9 @@
/turf/simulated/floor/carpet/turcarpet,
/area/itglight/crew1)
"ed" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
pixel_y = -25
},
/obj/structure/cable/pink,
@@ -764,9 +761,10 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/door/airlock/glass_mining{
- name = "Bridge";
- req_one_access = list(777)
+/obj/machinery/door/airlock/angled_bay/standard{
+ door_color = "#a39342";
+ req_one_access = list(777);
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/cockpit)
@@ -1181,7 +1179,7 @@
"gX" = (
/obj/structure/bed/chair/sofa/brown/left,
/obj/machinery/atmospherics/unary/vent_pump/on,
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 8;
pixel_x = 26
},
@@ -1264,7 +1262,7 @@
/obj/structure/bed/chair/bay/chair/padded/brown{
dir = 8
},
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 8;
pixel_x = 26
},
@@ -1463,9 +1461,11 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 8
},
-/obj/machinery/door/airlock/mining{
- name = "Starboard Engineering";
- req_one_access = list(777)
+/obj/machinery/door/airlock/angled_bay/standard{
+ dir = 4;
+ door_color = "#a39342";
+ req_one_access = list(777);
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/starboardengi)
@@ -1548,9 +1548,11 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/door/airlock/mining{
- name = "Ready Room";
- req_one_access = list(777)
+/obj/machinery/door/airlock/angled_bay/standard{
+ dir = 4;
+ door_color = "#a39342";
+ req_one_access = list(777);
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/readyroom)
@@ -1665,8 +1667,9 @@
"jE" = (
/obj/structure/table/steel_reinforced,
/obj/machinery/photocopier/faxmachine/itglight,
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 8;
nightshift_setting = 3;
pixel_x = -25
@@ -1723,12 +1726,12 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/door/airlock/glass_external{
+/obj/machinery/door/airlock/angled_bay/external/glass{
+ dir = 4;
+ door_color = "#AA0000";
icon_state = "door_locked";
id_tag = "itglight_shuttle_port";
- locked = 1;
- name = "Shuttle Hatch";
- req_one_access = list()
+ locked = 1
},
/turf/simulated/shuttle/floor/yellow,
/area/shuttle/itglightshuttle)
@@ -1777,7 +1780,7 @@
/obj/structure/bed/chair/bay/shuttle{
dir = 1
},
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 8;
pixel_x = 26
},
@@ -1838,8 +1841,9 @@
/turf/simulated/floor/tiled/eris/steel/gray_platform,
/area/itglight/starboardcargo)
"kU" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
pixel_x = 25
},
@@ -1870,8 +1874,9 @@
/turf/simulated/floor/tiled/eris/steel/brown_platform,
/area/itglight/metingroom)
"lh" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
pixel_x = 25
},
@@ -1904,9 +1909,10 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/door/airlock/glass_mining{
- name = "Bridge";
- req_one_access = list(777)
+/obj/machinery/door/airlock/angled_bay/standard{
+ door_color = "#a39342";
+ req_one_access = list(777);
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/cockpit)
@@ -2123,7 +2129,7 @@
/turf/simulated/floor/tiled/eris/steel/gray_platform,
/area/itglight/starboardhighsec)
"mL" = (
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 8;
pixel_x = 26
},
@@ -2142,8 +2148,9 @@
/turf/simulated/floor/carpet,
/area/itglight/readyroom)
"mZ" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 8;
nightshift_setting = 3;
pixel_x = -25
@@ -2223,9 +2230,10 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/door/airlock/mining{
- name = "Crew Access";
- req_one_access = list(777)
+/obj/machinery/door/airlock/angled_bay/standard{
+ door_color = "#a39342";
+ req_one_access = list(777);
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/forehall)
@@ -2491,8 +2499,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
dir = 6
},
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 8;
nightshift_setting = 3;
pixel_x = -25
@@ -2575,8 +2584,9 @@
/turf/simulated/floor/tiled/eris/steel/gray_platform,
/area/itglight/starboardcargo)
"pL" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
pixel_x = 25
},
@@ -2809,7 +2819,7 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 4
},
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 4;
pixel_x = -26
},
@@ -2931,8 +2941,9 @@
/obj/structure/bed/chair/bay/chair{
dir = 1
},
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
pixel_x = 25
},
@@ -3466,9 +3477,8 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/door/airlock{
- id_tag = "dauntlesspq2";
- name = "Room 2"
+/obj/machinery/door/airlock/angled_bay/standard{
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/crew2)
@@ -3491,9 +3501,11 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/door/airlock/mining{
- name = "Equipment Access";
- req_one_access = list(777)
+/obj/machinery/door/airlock/angled_bay/standard{
+ dir = 4;
+ door_color = "#a39342";
+ req_one_access = list(777);
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/starboardhighsec)
@@ -3506,10 +3518,10 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/door/airlock/mining{
- id_tag = "dauntlesspassengeraccessbolts";
- name = "Cargo Access";
- req_one_access = list(777)
+/obj/machinery/door/airlock/angled_bay/standard{
+ door_color = "#a39342";
+ req_one_access = list(777);
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/common)
@@ -3529,7 +3541,7 @@
/turf/simulated/floor/tiled/eris/steel/gray_platform,
/area/itglight/starboardhighsec)
"wS" = (
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 4;
pixel_x = -26
},
@@ -3582,8 +3594,9 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/door/airlock{
- name = "Locker Room"
+/obj/machinery/door/airlock/angled_bay/standard/glass{
+ dir = 4;
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/lockers)
@@ -3685,8 +3698,9 @@
/turf/simulated/floor/tiled/eris/steel/gray_platform,
/area/itglight/starboardhighsec)
"xE" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 1;
pixel_y = 25
},
@@ -3782,10 +3796,6 @@
/area/itglight/porthighsec)
"yy" = (
/obj/machinery/door/firedoor/glass,
-/obj/machinery/door/airlock/glass_external{
- frequency = 1380;
- id_tag = "itglight_port_inner"
- },
/obj/structure/cable/heavyduty{
icon_state = "4-8"
},
@@ -3800,6 +3810,10 @@
name = "interior access button";
pixel_y = 26
},
+/obj/machinery/door/airlock/angled_bay/external/glass{
+ dir = 4;
+ door_color = "#AA0000"
+ },
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/portengi)
"yD" = (
@@ -3839,14 +3853,16 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/door/airlock/mining{
- name = "High Security Cargo";
- req_one_access = list(777)
+/obj/machinery/door/airlock/angled_bay/standard{
+ dir = 4;
+ door_color = "#a39342";
+ req_one_access = list(777);
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/porthighsec)
"yK" = (
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 8;
pixel_x = 26
},
@@ -3900,8 +3916,9 @@
/turf/simulated/floor/tiled/techfloor/grid,
/area/itglight/starboarddocking)
"yY" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 1;
pixel_y = 25
},
@@ -4031,8 +4048,9 @@
/turf/simulated/floor/tiled/techfloor/grid,
/area/itglight/portdocking)
"zL" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
nightshift_setting = 3;
pixel_x = 25
@@ -4073,7 +4091,7 @@
/turf/simulated/floor/airless,
/area/itglight/portengi)
"Aa" = (
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
pixel_y = 26
},
/turf/simulated/floor/tiled/monotile,
@@ -4136,7 +4154,7 @@
d2 = 4;
icon_state = "1-4"
},
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 4;
pixel_x = -26
},
@@ -4163,8 +4181,9 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/door/airlock{
- name = "Passenger Common Sleeping"
+/obj/machinery/door/airlock/angled_bay/standard/glass{
+ dir = 4;
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/passengersleeping)
@@ -4186,8 +4205,9 @@
/turf/simulated/floor/tiled/eris/white/techfloor_grid,
/area/itglight/medbay)
"AJ" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 1;
pixel_y = 25
},
@@ -4255,8 +4275,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
pixel_x = 25
},
@@ -4299,7 +4320,7 @@
d2 = 4;
icon_state = "1-4"
},
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 4;
pixel_x = -26
},
@@ -4373,8 +4394,9 @@
/turf/simulated/floor/carpet/turcarpet,
/area/itglight/crew4)
"BU" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
pixel_x = 25
},
@@ -4400,18 +4422,15 @@
"Ca" = (
/obj/machinery/door/firedoor/glass,
/obj/effect/map_helper/airlock/door/ext_door,
-/obj/machinery/door/airlock/external{
- frequency = 1380;
- icon_state = "door_locked";
- id_tag = "itglight_dock_1_outer";
- locked = 1;
- name = "Port External Airlock"
- },
/obj/structure/cable/pink{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
+/obj/machinery/door/airlock/angled_bay/external/glass{
+ dir = 4;
+ door_color = "#AA0000"
+ },
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/portdocking)
"Cg" = (
@@ -4439,7 +4458,7 @@
d2 = 4;
icon_state = "1-4"
},
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 4;
pixel_x = -26
},
@@ -4578,10 +4597,6 @@
/area/itglight/starboardsolars)
"Db" = (
/obj/machinery/door/firedoor/glass,
-/obj/machinery/door/airlock/glass_external{
- frequency = 1380;
- id_tag = "itglight_dock_1_inner"
- },
/obj/structure/cable/pink{
d1 = 4;
d2 = 8;
@@ -4595,6 +4610,10 @@
name = "interior access button";
pixel_y = 26
},
+/obj/machinery/door/airlock/angled_bay/external/glass{
+ dir = 4;
+ door_color = "#AA0000"
+ },
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/portdocking)
"Dc" = (
@@ -4703,10 +4722,11 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/door/airlock/glass_mining{
- id_tag = "dauntlessportcargobolts";
- name = "Port Cargo Access";
- req_one_access = list(777)
+/obj/machinery/door/airlock/angled_bay/standard{
+ dir = 4;
+ door_color = "#a39342";
+ req_one_access = list(777);
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/portcargo)
@@ -4793,10 +4813,11 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/door/airlock/glass_mining{
- id_tag = "dauntlessstarboardcargobolts";
- name = "Starboard Cargo Access";
- req_one_access = list(777)
+/obj/machinery/door/airlock/angled_bay/standard{
+ dir = 4;
+ door_color = "#a39342";
+ req_one_access = list(777);
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/starboardcargo)
@@ -4846,7 +4867,7 @@
d2 = 4;
icon_state = "1-4"
},
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 4;
pixel_x = -26
},
@@ -4874,10 +4895,6 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/door/airlock/glass_external{
- frequency = 1380;
- id_tag = "itglight_dock_2_inner"
- },
/obj/machinery/access_button{
command = "cycle_interior";
frequency = 1380;
@@ -4885,6 +4902,10 @@
name = "interior access button";
pixel_y = 26
},
+/obj/machinery/door/airlock/angled_bay/external/glass{
+ dir = 4;
+ door_color = "#AA0000"
+ },
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/starboarddocking)
"EG" = (
@@ -5037,7 +5058,7 @@
"Fc" = (
/obj/machinery/atmospherics/portables_connector,
/obj/effect/floor_decal/industrial/outline,
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
pixel_y = 26
},
/turf/simulated/floor,
@@ -5045,18 +5066,15 @@
"Fe" = (
/obj/machinery/door/firedoor/glass,
/obj/effect/map_helper/airlock/door/ext_door,
-/obj/machinery/door/airlock/external{
- frequency = 1380;
- icon_state = "door_locked";
- id_tag = "itglight_dock_2_outer";
- locked = 1;
- name = "Starboard External Airlock"
- },
/obj/structure/cable/pink{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
+/obj/machinery/door/airlock/angled_bay/external/glass{
+ dir = 4;
+ door_color = "#AA0000"
+ },
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/starboarddocking)
"Ff" = (
@@ -5210,10 +5228,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 4
},
-/obj/machinery/door/airlock/glass_external{
- frequency = 1380;
- id_tag = "itglight_starboard_inner"
- },
/obj/effect/map_helper/airlock/door/int_door,
/obj/machinery/access_button{
command = "cycle_interior";
@@ -5222,6 +5236,10 @@
name = "interior access button";
pixel_y = 26
},
+/obj/machinery/door/airlock/angled_bay/external/glass{
+ dir = 4;
+ door_color = "#AA0000"
+ },
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/starboardengi)
"Gc" = (
@@ -5691,8 +5709,9 @@
},
/area/itglight/crew1)
"IM" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
pixel_x = 25
},
@@ -5741,8 +5760,9 @@
/turf/simulated/floor/tiled/eris/steel/gray_platform,
/area/itglight/starboardcargo)
"Jc" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 1;
nightshift_setting = 3;
pixel_y = 25
@@ -5758,11 +5778,6 @@
/obj/structure/cable/heavyduty{
icon_state = "4-8"
},
-/obj/machinery/door/airlock/glass_external{
- frequency = 1380;
- id_tag = "itglight_starboard_outer";
- name = "Starboard Solars External Airlock"
- },
/obj/effect/map_helper/airlock/door/ext_door,
/obj/machinery/access_button{
command = "cycle_exterior";
@@ -5772,6 +5787,10 @@
pixel_y = -27;
req_one_access = list(777)
},
+/obj/machinery/door/airlock/angled_bay/external/glass{
+ dir = 4;
+ door_color = "#AA0000"
+ },
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/starboardengi)
"Ji" = (
@@ -5897,8 +5916,9 @@
/turf/simulated/floor/tiled/eris/steel/gray_platform,
/area/itglight/portcargo)
"JR" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
pixel_x = 25
},
@@ -5951,8 +5971,9 @@
/turf/simulated/floor/tiled/eris/steel/gray_platform,
/area/itglight/starboardcargo)
"Kh" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 1;
nightshift_setting = 3;
pixel_y = 25
@@ -5963,12 +5984,6 @@
},
/turf/simulated/floor/tiled/eris/steel/gray_platform,
/area/itglight/starboardcargo)
-"Kj" = (
-/obj/machinery/door/airlock{
- name = "Unit 2"
- },
-/turf/simulated/floor/tiled/white,
-/area/itglight/restrooms)
"Kn" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -6020,8 +6035,9 @@
/turf/simulated/floor/tiled/eris/steel/gray_platform,
/area/itglight/portcargo)
"KB" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
nightshift_setting = 3;
pixel_x = 25
@@ -6041,9 +6057,9 @@
/obj/machinery/door/firedoor/glass,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/door/airlock/medical{
- name = "Surgery and Resleeving";
- req_one_access = list()
+/obj/machinery/door/airlock/angled_bay/standard{
+ door_color = "#FFFFFF";
+ stripe_color = "#0000AA"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/medbay)
@@ -6222,14 +6238,15 @@
/turf/simulated/floor/tiled/eris/steel/brown_platform,
/area/itglight/common)
"Mh" = (
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
pixel_y = 26
},
/turf/simulated/floor/carpet,
/area/itglight/readyroom)
"Mk" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
pixel_x = 25
},
@@ -6294,7 +6311,7 @@
dir = 8
},
/obj/effect/floor_decal/industrial/warning,
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
pixel_y = 26
},
/turf/simulated/floor/tiled/eris/steel/brown_platform,
@@ -6400,9 +6417,8 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/door/airlock{
- id_tag = "dauntlesspq3";
- name = "Room 3"
+/obj/machinery/door/airlock/angled_bay/standard{
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/crew3)
@@ -6550,8 +6566,9 @@
/turf/simulated/floor/tiled/monotile,
/area/itglight/lockers)
"NY" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 4;
pixel_x = 25
},
@@ -6566,8 +6583,9 @@
d2 = 2;
icon_state = "0-2"
},
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 1;
pixel_y = 25
},
@@ -6733,11 +6751,6 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/door/airlock/mining{
- id_tag = "dauntlessshuttlbaybolts";
- name = "Shuttle Bay";
- req_one_access = list(777)
- },
/obj/machinery/button/remote/airlock{
id = "dauntlessshuttlbaybolts";
name = "Door Bolts";
@@ -6745,6 +6758,9 @@
req_access = list(777);
specialfunctions = 4
},
+/obj/machinery/door/airlock/angled_bay/standard/glass{
+ stripe_color = "#785134"
+ },
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/shuttlebay)
"OF" = (
@@ -6794,7 +6810,7 @@
/turf/simulated/floor,
/area/itglight/kitchen)
"OX" = (
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
pixel_y = 26
},
/turf/simulated/floor,
@@ -6812,8 +6828,8 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/door/airlock/glass{
- name = "Kitchen"
+/obj/machinery/door/airlock/angled_bay/standard/glass{
+ dir = 4
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/kitchen)
@@ -6874,14 +6890,14 @@
/turf/simulated/floor/tiled/monotile,
/area/itglight/lockers)
"PE" = (
-/obj/structure/shuttle/engine/heater,
+/obj/effect/low_wall_spawner/bay/reinforced/rglass,
/turf/simulated/shuttle/plating/airless,
/area/shuttle/itglightshuttle)
"PJ" = (
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
pixel_y = 26
},
/turf/simulated/floor/tiled/eris/white/techfloor_grid,
@@ -6902,7 +6918,7 @@
/obj/item/weapon/bedsheet/brown,
/obj/structure/curtain/black,
/obj/structure/bed/padded,
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 4;
pixel_x = -26
},
@@ -6936,8 +6952,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 8
},
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 1;
pixel_y = 25
},
@@ -7011,8 +7028,10 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/door/airlock/glass{
- name = "Medical"
+/obj/machinery/door/airlock/angled_bay/standard/glass{
+ dir = 4;
+ door_color = "#FFFFFF";
+ stripe_color = "#0000AA"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/medbay)
@@ -7285,9 +7304,8 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/door/airlock{
- id_tag = "dauntlesspq1";
- name = "Room 1"
+/obj/machinery/door/airlock/angled_bay/standard{
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/crew1)
@@ -7384,9 +7402,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/door/airlock/glass{
- name = "Passenger Access"
- },
+/obj/machinery/door/airlock/angled_bay/standard/glass,
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/common)
"SV" = (
@@ -7395,7 +7411,7 @@
dir = 1
},
/obj/item/device/radio,
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
dir = 8;
pixel_x = 26
},
@@ -7472,7 +7488,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
pixel_y = 26
},
/turf/simulated/floor/tiled/white,
@@ -7537,10 +7553,7 @@
/turf/simulated/floor/tiled/eris/steel/brown_platform,
/area/itglight/afthall)
"Uj" = (
-/obj/structure/low_wall/bay/reinforced{
- stripe_color = "#785134"
- },
-/obj/structure/window/bay/reinforced,
+/obj/effect/low_wall_spawner/bay/reinforced/rglass,
/turf/simulated/floor/plating,
/area/shuttle/itglightshuttle)
"Um" = (
@@ -7666,7 +7679,7 @@
/obj/random/soap,
/obj/random/soap,
/obj/machinery/atmospherics/unary/vent_scrubber/on,
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
pixel_y = 26
},
/turf/simulated/floor/tiled/white,
@@ -7912,8 +7925,9 @@
"WG" = (
/obj/structure/table/wooden_reinforced,
/obj/random/plushie,
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
pixel_y = -25
},
/obj/structure/cable/pink,
@@ -7933,11 +7947,6 @@
/area/itglight/lockers)
"WP" = (
/obj/machinery/door/firedoor/glass,
-/obj/machinery/door/airlock/glass_external{
- frequency = 1380;
- id_tag = "itglight_port_outer";
- name = "Port Solars External Airlock"
- },
/obj/structure/cable/heavyduty{
icon_state = "4-8"
},
@@ -7950,6 +7959,10 @@
pixel_y = -27;
req_one_access = list(777)
},
+/obj/machinery/door/airlock/angled_bay/external/glass{
+ dir = 4;
+ door_color = "#AA0000"
+ },
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/portengi)
"WQ" = (
@@ -7987,8 +8000,8 @@
/obj/machinery/door/firedoor/glass,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/door/airlock{
- name = "Restroom"
+/obj/machinery/door/airlock/angled_bay/standard{
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/eris/steel/techfloor_grid,
/area/itglight/passengersleeping)
@@ -8000,8 +8013,9 @@
/turf/space,
/area/space)
"Xl" = (
-/obj/machinery/power/apc/hyper{
+/obj/machinery/power/apc/angled{
alarms_hidden = 1;
+ cell_type = /obj/item/weapon/cell/hyper;
dir = 8;
pixel_x = -25
},
@@ -8045,8 +8059,8 @@
/obj/machinery/door/firedoor/glass,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/door/airlock{
- name = "Showers"
+/obj/machinery/door/airlock/angled_bay/standard{
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/lockers)
@@ -8332,8 +8346,9 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/door/airlock{
- name = "Restroom"
+/obj/machinery/door/airlock/angled_bay/standard{
+ dir = 4;
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/restrooms)
@@ -8391,8 +8406,9 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/door/airlock{
- name = "Showers"
+/obj/machinery/door/airlock/angled_bay/standard{
+ dir = 4;
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/showers)
@@ -8451,14 +8467,16 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/door/airlock/mining{
- name = "Port Engineering";
- req_one_access = list(777)
+/obj/machinery/door/airlock/angled_bay/standard{
+ dir = 4;
+ door_color = "#a39342";
+ req_one_access = list(777);
+ stripe_color = "#785134"
},
/turf/simulated/floor/tiled/steel_ridged,
/area/itglight/portengi)
"Zm" = (
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
pixel_y = 26
},
/turf/simulated/floor/tiled/eris/cafe,
@@ -8502,12 +8520,6 @@
stripe_color = "#785134"
},
/area/itglight/kitchen)
-"Zz" = (
-/obj/machinery/door/airlock{
- name = "Unit 3"
- },
-/turf/simulated/floor/tiled/white,
-/area/itglight/restrooms)
"ZG" = (
/turf/simulated/wall/bay{
stripe_color = "#785134"
@@ -8566,7 +8578,7 @@
},
/area/itglight/portcargo)
"ZO" = (
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
pixel_y = 26
},
/obj/structure/closet/crate/bin{
@@ -8605,7 +8617,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/machinery/alarm/alarms_hidden{
+/obj/machinery/alarm/angled/hidden{
pixel_y = 26
},
/turf/simulated/floor/tiled/eris/steel/brown_platform,
@@ -17500,7 +17512,7 @@ SL
Xq
Tw
Xl
-Zz
+Tw
oK
ZG
uf
@@ -17784,7 +17796,7 @@ WC
Xq
Tz
Xv
-Kj
+Tw
Tb
ZG
VG
@@ -18068,7 +18080,7 @@ WE
Xu
TE
XM
-dv
+Tw
Tb
ZG
ZY
diff --git a/vorestation.dme b/vorestation.dme
index 4a315fa487..17132031db 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -25,6 +25,7 @@
#include "code\world.dm"
#include "code\__datastructures\globals.dm"
#include "code\__defines\__513_compatibility.dm"
+#include "code\__defines\__outdated_compatibility.dm"
#include "code\__defines\_compile_options.dm"
#include "code\__defines\_lists.dm"
#include "code\__defines\_planes+layers.dm"