diff --git a/code/__defines/colors.dm b/code/__defines/colors.dm
index 863a19bc014..7477331b43e 100644
--- a/code/__defines/colors.dm
+++ b/code/__defines/colors.dm
@@ -99,6 +99,7 @@
#define COLOR_VERDANT_GREEN "#287d00"
#define COLOR_SCIENCE_PURPLE "#6633cc"
#define COLOR_DAYLIGHT "#f3e6ca"
+#define COLOR_CHERRY_RED "#902630"
#define PIPE_COLOR_GREY "#808080"
#define PIPE_COLOR_RED "#ff0000"
diff --git a/code/__defines/tools.dm b/code/__defines/tools.dm
index 27efc1910f9..a041e9540c9 100644
--- a/code/__defines/tools.dm
+++ b/code/__defines/tools.dm
@@ -87,6 +87,7 @@
#define TOOL_PROP_COLOR_NAME "color_name" //Property containing a color name for some tools. Namely the pen tool.
#define TOOL_PROP_COLOR "color" //Property for specifying a color, for something like a pen.
#define TOOL_PROP_USES "uses_left" //Property for things that have a fixed amount of uses. -1 is unlimited.
+#define TOOL_PROP_EMPTY_MESSAGE "empty_msg" //The message given on depletion when a tool runs out of charges.
//Pen specific stuff
#define TOOL_PROP_PEN_FLAG "pen_flag" //Property for pens to specify additional properties about themselves
diff --git a/code/__defines/turfs.dm b/code/__defines/turfs.dm
index 54388d2c38f..6c46f5f1a9f 100644
--- a/code/__defines/turfs.dm
+++ b/code/__defines/turfs.dm
@@ -2,12 +2,10 @@
#define TURF_REMOVE_SCREWDRIVER BITFLAG(1)
#define TURF_REMOVE_SHOVEL BITFLAG(2)
#define TURF_REMOVE_WRENCH BITFLAG(3)
-#define TURF_CAN_BREAK BITFLAG(4)
-#define TURF_CAN_BURN BITFLAG(5)
-#define TURF_IS_FRAGILE BITFLAG(6)
-#define TURF_ACID_IMMUNE BITFLAG(7)
-#define TURF_IS_WET BITFLAG(8)
-#define TURF_HAS_RANDOM_BORDER BITFLAG(9)
+#define TURF_IS_FRAGILE BITFLAG(4)
+#define TURF_ACID_IMMUNE BITFLAG(5)
+#define TURF_IS_WET BITFLAG(6)
+#define TURF_HAS_RANDOM_BORDER BITFLAG(7)
//Used for floor/wall smoothing
#define SMOOTH_NONE 0 //Smooth only with itself
diff --git a/code/__defines/zmimic.dm b/code/__defines/zmimic.dm
index 71982547c3e..a9af1b126f5 100644
--- a/code/__defines/zmimic.dm
+++ b/code/__defines/zmimic.dm
@@ -52,7 +52,7 @@ var/global/list/mimic_defines = list(
)
// Movable flags.
-#define ZMM_IGNORE 1 //! Do not copy this movable.
-#define ZMM_MANGLE_PLANES 2 //! Check this movable's overlays/underlays for explicit plane use and mangle for compatibility with Z-Mimic. If you're using emissive overlays, you probably should be using this flag. Expensive, only use if necessary.
-#define ZMM_LOOKAHEAD 3 //! Look one turf ahead and one turf back when considering z-turfs that might be seeing this atom. Cheap, but not free.
-#define ZMM_LOOKBESIDE 4 //! Look one turf beside (left/right) when considering z-turfs that might be seeing this atom. Cheap, but not free.
+#define ZMM_IGNORE BITFLAG(0) //! Do not copy this movable.
+#define ZMM_MANGLE_PLANES BITFLAG(1) //! Check this movable's overlays/underlays for explicit plane use and mangle for compatibility with Z-Mimic. If you're using emissive overlays, you probably should be using this flag. Expensive, only use if necessary.
+#define ZMM_LOOKAHEAD BITFLAG(2) //! Look one turf ahead and one turf back when considering z-turfs that might be seeing this atom. Cheap, but not free.
+#define ZMM_LOOKBESIDE BITFLAG(3) //! Look one turf beside (left/right) when considering z-turfs that might be seeing this atom. Cheap, but not free.
diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index 7544fc7ce5a..3bb7bf3b1a7 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -24,16 +24,18 @@ avoid code duplication. This includes items that may sometimes act as a standard
var/datum/extension/tool/tool = get_extension(src, /datum/extension/tool)
return (tool?.handle_physical_manipulation(user)) || FALSE
+// If TRUE, prevent afterattack from running.
/obj/item/proc/resolve_attackby(atom/A, mob/user, var/click_params)
if(!(item_flags & ITEM_FLAG_NO_PRINT))
add_fingerprint(user)
return A.attackby(src, user, click_params)
+// If TRUE, prevent afterattack from running.
/atom/proc/attackby(obj/item/used_item, mob/user, var/click_params)
if(storage)
if(isrobot(user) && (used_item == user.get_active_held_item()))
return FALSE //Robots can't store their modules.
- if(!storage.can_be_inserted(used_item, user))
+ if(!storage.can_be_inserted(used_item, user, click_params = click_params))
return FALSE
used_item.add_fingerprint(user)
return storage.handle_item_insertion(user, used_item, click_params = click_params)
@@ -44,6 +46,7 @@ avoid code duplication. This includes items that may sometimes act as a standard
if(!.)
return bash(W,user)
+// Return TRUE if further actions (afterattack, etc) should be prevented, FALSE if they can proceed.
/atom/movable/proc/bash(obj/item/weapon, mob/user)
if(isliving(user) && user.a_intent == I_HELP)
return FALSE
@@ -105,6 +108,7 @@ avoid code duplication. This includes items that may sometimes act as a standard
var/mob/living/attackee = null
//I would prefer to rename this attack_as_weapon(), but that would involve touching hundreds of files.
+// If this returns TRUE, the interaction has been handled and other interactions like afterattack should be skipped.
/obj/item/proc/use_on_mob(mob/living/target, mob/living/user, animate = TRUE)
// TODO: revisit if this should be a silent failure/parent call instead, for mob-level storage interactions?
diff --git a/code/controllers/subsystems/mapping.dm b/code/controllers/subsystems/mapping.dm
index 1bdc5ddbdbf..ecc1ad88b1e 100644
--- a/code/controllers/subsystems/mapping.dm
+++ b/code/controllers/subsystems/mapping.dm
@@ -42,7 +42,7 @@ SUBSYSTEM_DEF(mapping)
/// Z-levels available to various consoles, such as the crew monitor. Defaults to station_levels if unset.
var/list/map_levels
/// The turf type used when generating floors between Z-levels at startup.
- var/base_floor_type = /turf/floor/airless
+ var/base_floor_type = /turf/floor/plating/airless
/// Replacement area, if a base_floor_type is generated. Leave blank to skip.
var/base_floor_area
/// A list of connected z-levels to avoid repeatedly rebuilding connections
diff --git a/code/controllers/subsystems/zcopy.dm b/code/controllers/subsystems/zcopy.dm
index ed4fd178390..1f550d0aeeb 100644
--- a/code/controllers/subsystems/zcopy.dm
+++ b/code/controllers/subsystems/zcopy.dm
@@ -496,10 +496,10 @@ SUBSYSTEM_DEF(zcopy)
ASSERT(!QDELETED(object))
var/turf/Tloc = object.loc
- if (!isturf(Tloc) || !Tloc.above)
+ if (!isturf(Tloc) || !MOVABLE_SHALL_MIMIC(object))
return TRUE
- var/turf/T = Tloc.above
+ var/turf/T = GetAbove(Tloc)
ZM_RECORD_START
diff --git a/code/datums/ai/_ai.dm b/code/datums/ai/_ai.dm
index ba6f3d2f81e..fc6101f3129 100644
--- a/code/datums/ai/_ai.dm
+++ b/code/datums/ai/_ai.dm
@@ -44,6 +44,8 @@
/// What directions can we wander in? Uses global.cardinal if unset.
var/list/wander_directions
+ /// Should we retaliate/startle when grabbed or buckled?
+ var/spooked_by_grab = TRUE
/// Can we automatically escape from buckling?
var/can_escape_buckles = FALSE
@@ -314,3 +316,15 @@
if(body)
return body.set_target_zone(ran_zone())
return FALSE
+
+/datum/mob_controller/proc/on_buckled(mob/scary_grabber)
+ if(!scary_grabber || body.buckled_mob != scary_grabber) // the buckle got cancelled somehow?
+ return
+ if(spooked_by_grab && !is_friend(scary_grabber))
+ retaliate(scary_grabber)
+
+/datum/mob_controller/proc/on_grabbed(mob/scary_grabber)
+ if(!scary_grabber)
+ return
+ if(spooked_by_grab && !is_friend(scary_grabber))
+ retaliate(scary_grabber)
\ No newline at end of file
diff --git a/code/datums/extensions/assembly/assembly_interaction.dm b/code/datums/extensions/assembly/assembly_interaction.dm
index e59c7d531da..9e250bb5d7b 100644
--- a/code/datums/extensions/assembly/assembly_interaction.dm
+++ b/code/datums/extensions/assembly/assembly_interaction.dm
@@ -102,4 +102,5 @@
return TRUE
if(istype(W, /obj/item/stock_parts))
- return try_install_component(user, W)
\ No newline at end of file
+ return try_install_component(user, W)
+ return FALSE
\ No newline at end of file
diff --git a/code/datums/extensions/storage/_storage.dm b/code/datums/extensions/storage/_storage.dm
index 2ca74cfaaeb..e6200fdaf08 100644
--- a/code/datums/extensions/storage/_storage.dm
+++ b/code/datums/extensions/storage/_storage.dm
@@ -124,7 +124,7 @@ var/global/list/_test_storage_items = list()
//This proc return 1 if the item can be picked up and 0 if it can't.
//Set the stop_messages to stop it from printing messages
-/datum/storage/proc/can_be_inserted(obj/item/W, mob/user, stop_messages = 0)
+/datum/storage/proc/can_be_inserted(obj/item/W, mob/user, stop_messages = 0, click_params = null)
if(!istype(W)) return //Not an item
if(user && !user.canUnEquip(W))
diff --git a/code/datums/extensions/storage/subtypes_backpack.dm b/code/datums/extensions/storage/subtypes_backpack.dm
index aee6fd622ee..3523c496826 100644
--- a/code/datums/extensions/storage/subtypes_backpack.dm
+++ b/code/datums/extensions/storage/subtypes_backpack.dm
@@ -7,7 +7,7 @@
max_w_class = ITEM_SIZE_NORMAL
max_storage_space = 56
-/datum/storage/backpack/holding/can_be_inserted(obj/item/W, stop_messages = 0)
+/datum/storage/backpack/holding/can_be_inserted(obj/item/W, mob/user, stop_messages = 0, click_params)
if(istype(W, /obj/item/backpack/holding))
return 1
return ..()
diff --git a/code/datums/extensions/storage/subtypes_bag.dm b/code/datums/extensions/storage/subtypes_bag.dm
index f6574b76258..07cdaf12cd2 100644
--- a/code/datums/extensions/storage/subtypes_bag.dm
+++ b/code/datums/extensions/storage/subtypes_bag.dm
@@ -15,7 +15,7 @@
var/obj/item/bag/bag = holder
bag.update_w_class()
-/datum/storage/bag/can_be_inserted(obj/item/W, mob/user, stop_messages = 0)
+/datum/storage/bag/can_be_inserted(obj/item/W, mob/user, stop_messages = 0, click_params = null)
var/mob/living/human/H = ishuman(user) ? user : null // if we're human, then we need to check if bag in a pocket
if(holder.loc?.storage || H?.is_in_pocket(holder))
if(!stop_messages)
diff --git a/code/datums/extensions/storage/subtypes_misc.dm b/code/datums/extensions/storage/subtypes_misc.dm
index faa5805f24c..fec9cd65cdf 100644
--- a/code/datums/extensions/storage/subtypes_misc.dm
+++ b/code/datums/extensions/storage/subtypes_misc.dm
@@ -106,7 +106,7 @@
can_hold = list(/obj/item)
expected_type = /obj/structure/reagent_dispensers/compost_bin
-/datum/storage/hopper/industrial/compost/can_be_inserted(obj/item/W, mob/user, stop_messages = 0)
+/datum/storage/hopper/industrial/compost/can_be_inserted(obj/item/W, mob/user, stop_messages = 0, click_params = null)
. = ..()
if(!.)
return
@@ -120,7 +120,7 @@
/datum/storage/hopper/mortar
max_w_class = ITEM_SIZE_NORMAL * 2
-/datum/storage/hopper/mortar/can_be_inserted(obj/item/inserting_item, mob/user, stop_messages)
+/datum/storage/hopper/mortar/can_be_inserted(obj/item/inserting_item, mob/user, stop_messages, click_params = null)
. = ..()
if(!.)
return
diff --git a/code/datums/extensions/storage/subtypes_pills.dm b/code/datums/extensions/storage/subtypes_pills.dm
index 4c6c3e90272..ca8287f168c 100644
--- a/code/datums/extensions/storage/subtypes_pills.dm
+++ b/code/datums/extensions/storage/subtypes_pills.dm
@@ -17,7 +17,7 @@
if(pop.pop_sound)
playsound(get_turf(pop), pop.pop_sound, 50)
-/datum/storage/pillbottle/foil/can_be_inserted(obj/item/W, mob/user, stop_messages = 0)
+/datum/storage/pillbottle/foil/can_be_inserted(obj/item/W, mob/user, stop_messages = 0, click_params = null)
return FALSE
/datum/storage/pillbottle/foil/remove_from_storage(mob/user, obj/item/W, atom/new_location, skip_update)
diff --git a/code/datums/extensions/storage/subtypes_secure.dm b/code/datums/extensions/storage/subtypes_secure.dm
index 09fe2b16c12..bf501d186be 100644
--- a/code/datums/extensions/storage/subtypes_secure.dm
+++ b/code/datums/extensions/storage/subtypes_secure.dm
@@ -16,7 +16,7 @@
. = ..()
//Must be overriden to prevent gathering from tile and using on items when locked!
-/datum/storage/secure/can_be_inserted(obj/item/W, mob/user, stop_messages)
+/datum/storage/secure/can_be_inserted(obj/item/W, mob/user, stop_messages, click_params = null)
if(is_locked())
if(!stop_messages)
to_chat(user, SPAN_WARNING("\The [holder] is locked, you cannot put anything inside."))
diff --git a/code/datums/extensions/storage/subtypes_sheets.dm b/code/datums/extensions/storage/subtypes_sheets.dm
index 47bc5925019..1db2042cb97 100644
--- a/code/datums/extensions/storage/subtypes_sheets.dm
+++ b/code/datums/extensions/storage/subtypes_sheets.dm
@@ -9,7 +9,7 @@
/datum/storage/sheets/robot
capacity = 500 //Borgs get more because >specialization
-/datum/storage/sheets/can_be_inserted(obj/item/W, mob/user, stop_messages = 0)
+/datum/storage/sheets/can_be_inserted(obj/item/W, mob/user, stop_messages = 0, click_params = null)
if(!istype(W,/obj/item/stack/material))
if(!stop_messages)
to_chat(user, "\The [holder] does not accept [W].")
diff --git a/code/datums/extensions/storage/subtypes_wallet.dm b/code/datums/extensions/storage/subtypes_wallet.dm
index 7f02a4c3e4c..c9318f0146d 100644
--- a/code/datums/extensions/storage/subtypes_wallet.dm
+++ b/code/datums/extensions/storage/subtypes_wallet.dm
@@ -51,7 +51,7 @@
wallet.front_stick = null
/datum/storage/wallet/handle_item_insertion(mob/user, obj/item/W, prevent_warning, skip_update, click_params)
- . = ..(W, prevent_warning)
+ . = ..()
if(. && istype(holder, /obj/item/wallet))
var/obj/item/wallet/wallet = holder
if(!wallet.front_id && istype(W, /obj/item/card/id))
diff --git a/code/datums/inventory_slots/_inventory_slot.dm b/code/datums/inventory_slots/_inventory_slot.dm
index 5f16030d362..204284e6f2c 100644
--- a/code/datums/inventory_slots/_inventory_slot.dm
+++ b/code/datums/inventory_slots/_inventory_slot.dm
@@ -39,6 +39,7 @@
prop.forceMove(user)
prop.hud_layerise()
prop.equipped(user, slot_id)
+ prop.compile_overlays() // avoid world overlays on inventory state and vice versa
// Clean up the preexisting item.
if(held)
diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm
index 5d04432b54e..5fb2378b8b2 100644
--- a/code/datums/outfits/outfit.dm
+++ b/code/datums/outfits/outfit.dm
@@ -99,23 +99,26 @@
post_equip(H)
if(outfit_flags & OUTFIT_HAS_VITALS_SENSOR)
- var/obj/item/clothing/sensor/vitals/sensor
- for(var/check_slot in global.vitals_sensor_equip_slots)
- if(!H.get_inventory_slot_datum(check_slot))
- continue
- if(!sensor) // only create the sensor if we have at least one eligible slot
- sensor = new(get_turf(H))
- var/obj/item/clothing/equipped = H.get_equipped_item(check_slot)
- if(istype(equipped) && !(locate(/obj/item/clothing/sensor/vitals) in equipped.accessories) && equipped.can_attach_accessory(sensor))
- equipped.attach_accessory(null, sensor)
- break
- if(isturf(sensor?.loc))
- H.put_in_hands(sensor)
- else
- qdel(sensor)
+ try_equip_vitals_sensor(H)
return 1
+/decl/outfit/proc/try_equip_vitals_sensor(mob/living/human/H)
+ var/obj/item/clothing/sensor/vitals/sensor
+ for(var/check_slot in global.vitals_sensor_equip_slots)
+ if(!H.get_inventory_slot_datum(check_slot))
+ continue
+ if(!sensor) // only create the sensor if we have at least one eligible slot
+ sensor = new(get_turf(H))
+ var/obj/item/clothing/equipped = H.get_equipped_item(check_slot)
+ if(istype(equipped) && !(locate(/obj/item/clothing/sensor/vitals) in equipped.accessories) && equipped.can_attach_accessory(sensor))
+ equipped.attach_accessory(null, sensor)
+ break
+ if(isturf(sensor?.loc))
+ H.put_in_hands(sensor)
+ else
+ qdel(sensor)
+
/decl/outfit/proc/equip_base(mob/living/human/H, var/equip_adjustments)
set waitfor = FALSE
pre_equip(H)
diff --git a/code/datums/trading/traders/ai.dm b/code/datums/trading/traders/ai.dm
index bb9d5c5d31f..5ca4c941b7a 100644
--- a/code/datums/trading/traders/ai.dm
+++ b/code/datums/trading/traders/ai.dm
@@ -91,7 +91,8 @@ They sell generic supplies and ask for generic supplies.
/obj/item/stack/material/ingot/mapped/osmium = TRADER_THIS_TYPE,
/obj/item/stack/material/sheet/mapped/steel = TRADER_THIS_TYPE,
/obj/item/stack/material/sheet/reinforced/mapped/plasteel = TRADER_THIS_TYPE,
- /obj/machinery/mining = TRADER_SUBTYPES_ONLY
+ /obj/machinery/mining_drill = TRADER_THIS_TYPE,
+ /obj/structure/drill_brace = TRADER_THIS_TYPE
)
/datum/trader/trading_beacon/manufacturing
diff --git a/code/datums/trading/traders/goods.dm b/code/datums/trading/traders/goods.dm
index 5935889e632..d260685de19 100644
--- a/code/datums/trading/traders/goods.dm
+++ b/code/datums/trading/traders/goods.dm
@@ -454,8 +454,8 @@ Sells devices, odds and ends, and medical stuff
)
possible_trading_items = list(
- /obj/machinery/mining/drill = TRADER_THIS_TYPE,
- /obj/machinery/mining/brace = TRADER_THIS_TYPE,
+ /obj/machinery/mining_drill = TRADER_THIS_TYPE,
+ /obj/structure/drill_brace = TRADER_THIS_TYPE,
/obj/machinery/floodlight = TRADER_THIS_TYPE,
/obj/item/box/greenglowsticks = TRADER_THIS_TYPE,
/obj/item/clothing/suit/space/void/engineering/salvage/prepared = TRADER_THIS_TYPE,
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index a2ea4962606..01856eb7773 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -737,7 +737,10 @@
LAZYREMOVE(climbers,user)
return FALSE
- var/target_turf = get_turf(src)
+ // handle multitile objects
+ // this should also be fine for non-multitile objects
+ // and ensures we don't ever move more than 1 tile
+ var/target_turf = get_step(user, get_dir(user, src))
//climbing over border objects like railings
if((atom_flags & ATOM_FLAG_CHECKS_BORDER) && get_turf(user) == target_turf)
diff --git a/code/game/atoms_init.dm b/code/game/atoms_init.dm
index 00ea47e6bb0..3a2f3b619c1 100644
--- a/code/game/atoms_init.dm
+++ b/code/game/atoms_init.dm
@@ -118,6 +118,8 @@
// Changing this behavior will almost certainly break power; update accordingly.
if (!ml && loc)
loc.Entered(src, null)
+ if(loc && (z_flags & ZMM_WIDE_LOAD))
+ SSzcopy.discover_movable(src)
/atom/movable/EarlyDestroy(force = FALSE)
loc = null // should NOT use forceMove, in order to avoid events
diff --git a/code/game/atoms_movable_overlay.dm b/code/game/atoms_movable_overlay.dm
index 9d286c7913f..c6beb4d1bec 100644
--- a/code/game/atoms_movable_overlay.dm
+++ b/code/game/atoms_movable_overlay.dm
@@ -42,6 +42,7 @@
/atom/movable/overlay/attackby(obj/item/I, mob/user)
if (master)
return master.attackby(I, user)
+ return TRUE
/atom/movable/overlay/attack_hand(mob/user)
SHOULD_CALL_PARENT(FALSE)
diff --git a/code/game/machinery/CableLayer.dm b/code/game/machinery/CableLayer.dm
index 8a4ff9d1bd6..16353f9bf47 100644
--- a/code/game/machinery/CableLayer.dm
+++ b/code/game/machinery/CableLayer.dm
@@ -34,7 +34,7 @@
to_chat(user, "\The [src]'s cable reel is full.")
else
to_chat(user, "You load [result] lengths of cable into [src].")
- return
+ return TRUE
if(IS_WIRECUTTER(O))
if(cable && cable.amount)
@@ -48,6 +48,8 @@
CC.amount = m
else
to_chat(usr, "There's no more cable on the reel.")
+ return TRUE
+ return ..()
/obj/machinery/cablelayer/examine(mob/user)
. = ..()
diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm
index cb50c4a6271..0c9c319aacf 100644
--- a/code/game/machinery/OpTable.dm
+++ b/code/game/machinery/OpTable.dm
@@ -48,7 +48,7 @@
if(stat & (NOPOWER|BROKEN))
to_chat(user, "You try to switch on the suppressor, yet nothing happens.")
- return
+ return TRUE
if(user != victim && !suppressing) // Skip checks if you're doing it to yourself or turning it off, this is an anti-griefing mechanic more than anything.
user.visible_message("\The [user] begins switching on \the [src]'s neural suppressor.")
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index ff647bdbbf5..dd697812746 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -308,7 +308,7 @@
add_fingerprint(user)
if(!beaker)
if(!user.try_unequip(I, src))
- return
+ return TRUE
beaker = I
user.visible_message(SPAN_NOTICE("\The [user] adds \a [I] to \the [src]."), SPAN_NOTICE("You add \a [I] to \the [src]."))
else
diff --git a/code/game/machinery/_machines_base/stock_parts/access_lock.dm b/code/game/machinery/_machines_base/stock_parts/access_lock.dm
index c69c206ed6e..1858545205e 100644
--- a/code/game/machinery/_machines_base/stock_parts/access_lock.dm
+++ b/code/game/machinery/_machines_base/stock_parts/access_lock.dm
@@ -61,8 +61,7 @@
if(I && check_access(I))
locked = !locked
visible_message(SPAN_NOTICE("\The [src] beeps and flashes green twice: it is now [locked ? "" : "un"]locked."))
- return TRUE
- return
+ return TRUE
return ..()
/obj/item/stock_parts/access_lock/attack_self(mob/user)
diff --git a/code/game/machinery/_machines_base/stock_parts/power/battery.dm b/code/game/machinery/_machines_base/stock_parts/power/battery.dm
index f883e307f14..c78b358aea6 100644
--- a/code/game/machinery/_machines_base/stock_parts/power/battery.dm
+++ b/code/game/machinery/_machines_base/stock_parts/power/battery.dm
@@ -163,7 +163,7 @@
return TRUE
if(!user.try_unequip(I, src))
- return
+ return TRUE
add_cell(machine, I)
user.visible_message(\
SPAN_WARNING("\The [user] has inserted the power cell to \the [src]!"),\
@@ -173,6 +173,7 @@
// Interactions without machine
if(!istype(machine))
return ..()
+ return FALSE
/obj/item/stock_parts/power/battery/attack_self(mob/user)
if(cell)
diff --git a/code/game/machinery/_machines_base/stock_parts/power/terminal.dm b/code/game/machinery/_machines_base/stock_parts/power/terminal.dm
index d267e96446e..041e68950f9 100644
--- a/code/game/machinery/_machines_base/stock_parts/power/terminal.dm
+++ b/code/game/machinery/_machines_base/stock_parts/power/terminal.dm
@@ -151,6 +151,7 @@
"You add cables to the \the [machine].")
make_terminal(machine)
return TRUE
+ return FALSE
/obj/item/stock_parts/power/terminal/get_source_info()
. = "The machine can receive power by direct connection to the powernet. "
diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm
index 78f73e8df9c..dc389cb9dec 100644
--- a/code/game/machinery/ai_slipper.dm
+++ b/code/game/machinery/ai_slipper.dm
@@ -25,7 +25,7 @@
/obj/machinery/ai_slipper/attackby(obj/item/W, mob/user)
if(stat & (NOPOWER|BROKEN))
- return
+ return FALSE
if (issilicon(user))
return attack_ai(user)
else // trying to unlock the interface
@@ -41,6 +41,7 @@
interact(user)
else
to_chat(user, "Access denied.")
+ return TRUE
/obj/machinery/ai_slipper/interface_interact(mob/user)
interact(user)
diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm
index e031dac2f19..06bed379ece 100644
--- a/code/game/machinery/atmoalter/scrubber.dm
+++ b/code/game/machinery/atmoalter/scrubber.dm
@@ -185,16 +185,16 @@
if(IS_WRENCH(I))
if(use_power == POWER_USE_ACTIVE)
to_chat(user, "Turn \the [src] off first!")
- return
+ return TRUE
anchored = !anchored
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
to_chat(user, "You [anchored ? "wrench" : "unwrench"] \the [src].")
- return
+ return TRUE
//doesn't hold tanks
if(istype(I, /obj/item/tank))
- return
+ return FALSE
return ..()
@@ -206,6 +206,6 @@
/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/attackby(var/obj/item/I, var/mob/user)
if(IS_WRENCH(I))
to_chat(user, "The bolts are too tight for you to unscrew!")
- return
+ return TRUE
return ..()
\ No newline at end of file
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index c87f51eb1f3..ee9a28eee31 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -186,7 +186,7 @@
/obj/machinery/camera/physical_attack_hand(mob/living/human/user)
if(!istype(user))
- return
+ return TRUE
if(user.species.can_shred(user))
user.do_attack_animation(src)
visible_message(SPAN_WARNING("\The [user] slashes at [src]!"))
@@ -194,6 +194,7 @@
add_hiddenprint(user)
take_damage(25)
return TRUE
+ return FALSE
/obj/machinery/camera/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/paper))
diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm
index efc4136a173..c76905972bc 100644
--- a/code/game/machinery/computer/ai_core.dm
+++ b/code/game/machinery/computer/ai_core.dm
@@ -225,9 +225,7 @@ var/global/list/deactivated_ai_cores = list()
qdel(src)
/obj/structure/aicore/deactivated/attackby(var/obj/item/W, var/mob/user)
- if(IS_WRENCH(W) || IS_WELDER(W))
- . = ..()
- else if(istype(W, /obj/item/aicard))
+ if(istype(W, /obj/item/aicard))
var/obj/item/aicard/card = W
var/mob/living/silicon/ai/transfer = locate() in card
if(transfer)
@@ -235,6 +233,7 @@ var/global/list/deactivated_ai_cores = list()
else
to_chat(user, SPAN_DANGER("ERROR: Unable to locate artificial intelligence."))
return TRUE
+ return ..()
/client/proc/empty_ai_core_toggle_latejoin()
set name = "Toggle AI Core Latejoin"
diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm
index 089a92f8471..37ac6e0d729 100644
--- a/code/game/machinery/computer/guestpass.dm
+++ b/code/game/machinery/computer/guestpass.dm
@@ -74,8 +74,8 @@
updateUsrDialog()
else if(giver)
to_chat(user, SPAN_WARNING("There is already ID card inside."))
- return
- ..()
+ return TRUE
+ return ..()
/obj/machinery/computer/guestpass/interface_interact(var/mob/user)
ui_interact(user)
diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm
index a186ccd2320..992d2b211b5 100644
--- a/code/game/machinery/computer/law.dm
+++ b/code/game/machinery/computer/law.dm
@@ -8,8 +8,9 @@
if(istype(O, /obj/item/aiModule))
var/obj/item/aiModule/M = O
M.install(src, user)
+ return TRUE
else
- ..()
+ return ..()
/obj/machinery/computer/upload/ai
name = "\improper AI upload console"
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index e81ec84863a..16503b09fe9 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -40,16 +40,14 @@
/obj/machinery/computer/message_monitor/attackby(obj/item/O, mob/user)
if(stat & (NOPOWER|BROKEN))
- ..()
- return
+ return ..()
if(!istype(user))
- return
+ return TRUE
if(IS_SCREWDRIVER(O) && emag)
//Stops people from just unscrewing the monitor and putting it back to get the console working again.
to_chat(user, "It is too hot to mess with!")
- return
- ..()
- return
+ return TRUE
+ return ..()
/obj/machinery/computer/message_monitor/emag_act(var/remaining_charges, var/mob/user)
diff --git a/code/game/machinery/computer/shuttle.dm b/code/game/machinery/computer/shuttle.dm
index f43c392a16c..dad8eb391e9 100644
--- a/code/game/machinery/computer/shuttle.dm
+++ b/code/game/machinery/computer/shuttle.dm
@@ -10,37 +10,28 @@
/obj/machinery/computer/shuttle/attackby(var/obj/item/card as obj, var/mob/user as mob)
- if(stat & (BROKEN|NOPOWER)) return
+ if(stat & (BROKEN|NOPOWER)) return TRUE
var/datum/evacuation_controller/shuttle/evac_control = SSevac.evacuation_controller
if(!istype(evac_control))
to_chat(user, "This console should not be in use on this map. Please report this to a developer.")
- return
+ return TRUE
if(!istype(card, /obj/item/card)) // don't try to get an ID card if we're an emag
card = card.GetIdCard() // handles stored IDs in modcomps and similar
if ((!istype(card, /obj/item/card) || evac_control.has_evacuated() || !user))
- return
+ return FALSE
if (istype(card, /obj/item/card/id))
var/obj/item/card/id/id_card = card
- if (!id_card.access) //no access
+ if(!LAZYISIN(id_card.access, access_bridge)) //doesn't have this access
to_chat(user, "The access level of [id_card.registered_name]\'s card is not high enough.")
- return
-
- var/list/cardaccess = id_card.access
- if(!istype(cardaccess, /list) || !cardaccess.len) //no access
- to_chat(user, "The access level of [id_card.registered_name]\'s card is not high enough.")
- return
-
- if(!(access_bridge in id_card.access)) //doesn't have this access
- to_chat(user, "The access level of [id_card.registered_name]\'s card is not high enough.")
- return 0
+ return TRUE
var/choice = alert(user, "Would you like to (un)authorize a shortened launch time? [auth_need - authorized.len] authorization\s are still needed. Use abort to cancel all authorizations.", "Shuttle Launch", "Authorize", "Repeal", "Abort")
if(evac_control.is_prepared() && user.get_active_held_item() != card)
- return 0
+ return TRUE
switch(choice)
if("Authorize")
src.authorized -= id_card.registered_name
@@ -66,16 +57,14 @@
to_world("All authorizations to shortening time for shuttle launch have been revoked!")
src.authorized.len = 0
src.authorized = list( )
+ return TRUE
else if (istype(card, /obj/item/card/emag) && !emagged)
var/choice = alert(user, "Would you like to launch the shuttle?","Shuttle control", "Launch", "Cancel")
- if(!emagged && !evac_control.is_prepared() && user.get_active_held_item() == card)
- switch(choice)
- if("Launch")
- to_world("Alert: Shuttle launch time shortened to 10 seconds!")
- evac_control.set_launch_time(world.time+100)
- emagged = 1
- if("Cancel")
- return
- return
+ if(!emagged && !evac_control.is_prepared() && user.get_active_held_item() == card && choice == "Launch")
+ to_world("Alert: Shuttle launch time shortened to 10 seconds!")
+ evac_control.set_launch_time(world.time+100)
+ emagged = 1
+ return TRUE
+ return FALSE
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index a30c7dfaf79..bfb361cfc83 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -523,22 +523,23 @@
/obj/structure/broken_cryo/attackby(obj/item/W, mob/user)
if (busy)
to_chat(user, SPAN_NOTICE("Someone else is attempting to open this."))
- return
- if (closed)
- if (IS_CROWBAR(W))
- busy = 1
- visible_message("[user] starts to pry the glass cover off of \the [src].")
- if (!do_after(user, 50, src))
- visible_message("[user] stops trying to pry the glass off of \the [src].")
- busy = 0
- return
- closed = 0
- busy = 0
- icon_state = "broken_cryo_open"
- var/obj/dead = new remains_type(loc)
- dead.set_dir(dir) //skeleton is oriented as cryo
- else
+ return TRUE
+ if (!closed)
to_chat(user, SPAN_NOTICE("The glass cover is already open."))
+ return TRUE
+ if (IS_CROWBAR(W))
+ busy = 1
+ visible_message("[user] starts to pry the glass cover off of \the [src].")
+ if (!do_after(user, 50, src))
+ visible_message("[user] stops trying to pry the glass off of \the [src].")
+ busy = 0
+ return TRUE
+ closed = 0
+ busy = 0
+ icon_state = "broken_cryo_open"
+ var/obj/dead = new remains_type(loc)
+ dead.set_dir(dir) //skeleton is oriented as cryo
+ return TRUE
/obj/machinery/cryopod/proc/on_mob_spawn()
playsound(src, 'sound/machines/ding.ogg', 30, 1)
\ No newline at end of file
diff --git a/code/game/machinery/dehumidifier.dm b/code/game/machinery/dehumidifier.dm
index fa5f0789e5e..eaef14277b2 100644
--- a/code/game/machinery/dehumidifier.dm
+++ b/code/game/machinery/dehumidifier.dm
@@ -62,6 +62,7 @@
SPAN_NOTICE("[user] switches [active ? "on" : "off"] \the [src]."),
SPAN_NOTICE("You switch [active ? "on" : "off"] \the [src]."))
return TRUE
+ return FALSE
/obj/machinery/dehumidifier/Process()
if(!active)
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index a4a16386ee9..5b319d56bcb 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -28,15 +28,14 @@
src.icon_state = "barrier[src.locked]"
if ((src.locked == 1.0) && (src.emagged < 2.0))
to_chat(user, "Barrier lock toggled on.")
- return
+ return TRUE
else if ((src.locked == 0.0) && (src.emagged < 2.0))
to_chat(user, "Barrier lock toggled off.")
- return
+ return TRUE
else
spark_at(src, amount=2, cardinal_only = TRUE)
visible_message("BZZzZZzZZzZT")
- return
- return
+ return TRUE
else if(IS_WRENCH(W))
var/current_max_health = get_max_health()
if (current_health < current_max_health)
@@ -44,13 +43,12 @@
emagged = 0
req_access = list(access_security)
visible_message("[user] repairs \the [src]!")
- return
+ return TRUE
else if (src.emagged > 0)
src.emagged = 0
src.req_access = list(access_security)
visible_message("[user] repairs \the [src]!")
- return
- return
+ return TRUE
else
switch(W.atom_damage_type)
if(BURN)
@@ -59,7 +57,8 @@
current_health -= W.get_attack_force(user) * 0.5
if (current_health <= 0)
explode()
- ..()
+ return TRUE
+ return ..()
/obj/machinery/deployable/barrier/explosion_act(severity)
. = ..()
diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm
index 707a91143d3..8b1112a39ed 100644
--- a/code/game/machinery/doors/blast_door.dm
+++ b/code/game/machinery/doors/blast_door.dm
@@ -157,16 +157,16 @@
to_chat(user, "You must remain still while working on \the [src].")
else
to_chat(user, "[src]'s motors resist your effort.")
- return
+ return TRUE
if(istype(C, /obj/item/stack/material) && C.get_material_type() == /decl/material/solid/metal/plasteel)
var/amt = ceil((get_max_health() - current_health)/150)
if(!amt)
to_chat(user, "\The [src] is already fully functional.")
- return
+ return TRUE
var/obj/item/stack/P = C
if(!P.can_use(amt))
to_chat(user, "You don't have enough sheets to repair this! You need at least [amt] sheets.")
- return
+ return TRUE
to_chat(user, "You begin repairing \the [src]...")
if(do_after(user, 5 SECONDS, src))
if(P.use(amt))
@@ -176,6 +176,7 @@
to_chat(user, "You don't have enough sheets to repair this! You need at least [amt] sheets.")
else
to_chat(user, "You must remain still while working on \the [src].")
+ return TRUE
return ..()
// Proc: open()
diff --git a/code/game/machinery/doors/braces.dm b/code/game/machinery/doors/braces.dm
index c007643e9f8..8b9f2f8319b 100644
--- a/code/game/machinery/doors/braces.dm
+++ b/code/game/machinery/doors/braces.dm
@@ -69,11 +69,9 @@
electronics.attack_self(user)
/obj/item/airlock_brace/attackby(obj/item/W, mob/user)
- ..()
if (istype(W.GetIdCard(), /obj/item/card/id))
if(!airlock)
- attack_self(user)
- return
+ return attack_self(user)
else
var/obj/item/card/id/C = W.GetIdCard()
if(check_access(C))
@@ -83,23 +81,23 @@
unlock_brace(usr)
else
to_chat(user, "You swipe \the [C] through \the [src], but it does not react.")
- return
+ return TRUE
if (istype(W, /obj/item/crowbar/brace_jack))
if(!airlock)
- return
+ return FALSE
var/obj/item/crowbar/brace_jack/C = W
to_chat(user, "You begin forcibly removing \the [src] with \the [C].")
if(do_after(user, rand(150,300), airlock))
to_chat(user, "You finish removing \the [src].")
unlock_brace(user)
- return
+ return TRUE
if(IS_WELDER(W))
var/obj/item/weldingtool/C = W
if(!is_damaged())
to_chat(user, "\The [src] does not require repairs.")
- return
+ return TRUE
if(C.weld(0,user))
playsound(src, 'sound/items/Welder.ogg', 100, 1)
current_health = min(current_health + rand(20,30), get_max_health())
@@ -107,6 +105,8 @@
to_chat(user, "You repair some dents on \the [src]. It is in perfect condition now.")
else
to_chat(user, "You repair some dents on \the [src].")
+ return TRUE
+ return ..()
/obj/item/airlock_brace/physically_destroyed(skip_qdel)
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 8e60582e0a3..fab7e5836fe 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -219,23 +219,22 @@
/obj/machinery/door/firedoor/attackby(obj/item/C, mob/user)
add_fingerprint(user, 0, C)
if(operating)
- return//Already doing something.
+ return TRUE //Already doing something.
if(IS_WELDER(C) && !repairing)
var/obj/item/weldingtool/W = C
if(W.weld(0, user))
playsound(src, 'sound/items/Welder.ogg', 100, 1)
if(do_after(user, 2 SECONDS, src))
- if(!W.isOn()) return
+ if(!W.isOn()) return TRUE
blocked = !blocked
user.visible_message("\The [user] [blocked ? "welds" : "unwelds"] \the [src] with \a [W].",\
"You [blocked ? "weld" : "unweld"] \the [src] with \the [W].",\
"You hear something being welded.")
playsound(src, 'sound/items/Welder.ogg', 100, 1)
update_icon()
- return TRUE
else
to_chat(user, SPAN_WARNING("You must remain still to complete this task."))
- return TRUE
+ return TRUE
if(blocked && IS_CROWBAR(C))
user.visible_message("\The [user] pries at \the [src] with \a [C], but \the [src] is welded in place!",\
@@ -255,7 +254,7 @@
user.visible_message("\The [user] starts to force \the [src] [density ? "open" : "closed"] with \a [C]!",\
"You start forcing \the [src] [density ? "open" : "closed"] with \the [C]!",\
"You hear metal strain.")
- if(do_after(user,30,src))
+ if(do_after(user, 3 SECONDS, src))
if(IS_CROWBAR(C))
if(stat & (BROKEN|NOPOWER) || !density)
user.visible_message("\The [user] forces \the [src] [density ? "open" : "closed"] with \a [C]!",\
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 1a75bb12f6a..6ec853d2eb8 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -176,7 +176,7 @@
/obj/machinery/door/window/attackby(obj/item/I, mob/user)
//If it's in the process of opening/closing, ignore the click
if(operating)
- return
+ return TRUE
if(bash(I, user))
return TRUE
@@ -191,11 +191,13 @@
else
if (emagged)
to_chat(user, SPAN_WARNING("\The [src] seems to be stuck and refuses to close!"))
- return
+ return TRUE
close()
+ return TRUE
else if (density)
flick("[base_state]deny", src)
+ return TRUE
/obj/machinery/door/window/bash(obj/item/weapon, mob/user)
//Emags and energy swords? You may pass.
diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller.dm b/code/game/machinery/embedded_controller/airlock_docking_controller.dm
index 99141afeb5d..87696262c88 100644
--- a/code/game/machinery/embedded_controller/airlock_docking_controller.dm
+++ b/code/game/machinery/embedded_controller/airlock_docking_controller.dm
@@ -21,8 +21,9 @@
else
code = stars(code)
to_chat(user,"[W]'s screen displays '[code]'")
+ return TRUE
else
- ..()
+ return ..()
/obj/machinery/embedded_controller/radio/airlock/docking_port/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/nanoui/master_ui = null, var/datum/topic_state/state = global.default_topic_state)
var/data[0]
diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm
index 0ad47a51f86..b70c00dbe1a 100644
--- a/code/game/machinery/flasher.dm
+++ b/code/game/machinery/flasher.dm
@@ -43,8 +43,9 @@
user.visible_message("[user] has disconnected \the [src]'s flashbulb!", "You disconnect \the [src]'s flashbulb!")
if (!src.disable)
user.visible_message("[user] has connected \the [src]'s flashbulb!", "You connect \the [src]'s flashbulb!")
+ return TRUE
else
- ..()
+ return ..()
//Let the AI trigger them directly.
/obj/machinery/flasher/attack_ai()
@@ -134,6 +135,8 @@
else if (src.anchored)
user.show_message(text("[src] is now secured."))
src.overlays += "[base_state]-s"
+ return TRUE
+ return ..()
/obj/machinery/button/flasher
name = "flasher button"
diff --git a/code/game/machinery/floor_light.dm b/code/game/machinery/floor_light.dm
index b8fd988c7e3..65fef9d81f1 100644
--- a/code/game/machinery/floor_light.dm
+++ b/code/game/machinery/floor_light.dm
@@ -75,6 +75,7 @@ var/global/list/floor_light_cache = list()
if(isnull(damaged))
damaged = 0
return TRUE
+ return FALSE
/obj/machinery/floor_light/interface_interact(var/mob/user)
if(!CanInteract(user, DefaultTopicState()))
diff --git a/code/game/machinery/floorlayer.dm b/code/game/machinery/floorlayer.dm
index e51b20d8362..6d804caa374 100644
--- a/code/game/machinery/floorlayer.dm
+++ b/code/game/machinery/floorlayer.dm
@@ -42,14 +42,14 @@
mode[m] = !mode[m]
var/O = mode[m]
user.visible_message("[usr] has set \the [src] [m] mode [!O?"off":"on"].", "You set \the [src] [m] mode [!O?"off":"on"].")
- return
+ return TRUE
if(istype(W, /obj/item/stack/tile))
if(!user.try_unequip(W, T))
- return
+ return TRUE
to_chat(user, "\The [W] successfully loaded.")
TakeTile(T)
- return
+ return TRUE
if(IS_CROWBAR(W))
if(!length(contents))
@@ -60,12 +60,12 @@
to_chat(user, "You remove \the [E] from \the [src].")
E.dropInto(loc)
T = null
- return
+ return TRUE
if(IS_SCREWDRIVER(W))
T = input("Choose tile type.", "Tiles") as null|anything in contents
- return
- ..()
+ return TRUE
+ return ..()
/obj/machinery/floorlayer/examine(mob/user)
. = ..()
diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm
index 77640b003a7..f086a33332b 100644
--- a/code/game/machinery/igniter.dm
+++ b/code/game/machinery/igniter.dm
@@ -128,8 +128,9 @@
else if(!disable)
user.visible_message("[user] has reconnected \the [src]!", "You fix the connection to \the [src].")
update_icon()
+ return TRUE
else
- ..()
+ return ..()
/obj/machinery/sparker/attack_ai()
if (anchored)
diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm
index d6ef1ab8daa..6351cca16c7 100644
--- a/code/game/machinery/jukebox.dm
+++ b/code/game/machinery/jukebox.dm
@@ -157,7 +157,7 @@
add_fingerprint(user)
wrench_floor_bolts(user, 0, W)
power_change()
- return
+ return TRUE
return ..()
/obj/machinery/media/jukebox/emag_act(var/remaining_charges, var/mob/user)
diff --git a/code/game/machinery/kitchen/cooking_machines/_cooker.dm b/code/game/machinery/kitchen/cooking_machines/_cooker.dm
index 96a007811d7..e632cedf9b8 100644
--- a/code/game/machinery/kitchen/cooking_machines/_cooker.dm
+++ b/code/game/machinery/kitchen/cooking_machines/_cooker.dm
@@ -70,29 +70,29 @@
if(cooking)
to_chat(user, "\The [src] is running!")
- return
+ return TRUE
if((. = component_attackby(I, user)))
return
if(!cook_type || (stat & (NOPOWER|BROKEN)))
to_chat(user, "\The [src] is not working.")
- return
+ return TRUE
// We're trying to cook something else. Check if it's valid.
var/obj/item/food/check = I
if(istype(check) && islist(check.cooked) && (cook_type in check.cooked))
to_chat(user, "\The [check] has already been [cook_type].")
- return 0
+ return TRUE
else if(istype(check, /obj/item/chems/glass))
to_chat(user, "That would probably break [src].")
- return 0
+ return TRUE
else if(istype(check, /obj/item/disk/nuclear))
to_chat(user, "Central Command would kill you if you [cook_type] that.")
- return 0
+ return TRUE
else if(!istype(check) && !istype(check, /obj/item/holder))
to_chat(user, "That's not edible.")
- return 0
+ return TRUE
// Gotta hurt.
if(istype(cooking_obj, /obj/item/holder))
@@ -101,7 +101,7 @@
// Not sure why a food item that passed the previous checks would fail to drop, but safety first.
if(!user.try_unequip(I))
- return
+ return TRUE
// We can actually start cooking now.
user.visible_message("\The [user] puts \the [I] into \the [src].")
@@ -115,7 +115,7 @@
// Sanity checks.
if(check_cooking_obj())
- return // Cooking failed/was terminated.
+ return TRUE // Cooking failed/was terminated.
// RIP slow-moving held mobs.
if(istype(cooking_obj, /obj/item/holder))
@@ -183,6 +183,7 @@
cooking = 0
icon_state = off_icon
break
+ return TRUE
/obj/machinery/cooker/proc/check_cooking_obj()
if(!cooking_obj || cooking_obj.loc != src)
diff --git a/code/game/machinery/kitchen/icecream.dm b/code/game/machinery/kitchen/icecream.dm
index 81ee7881574..2a893f6e61b 100644
--- a/code/game/machinery/kitchen/icecream.dm
+++ b/code/game/machinery/kitchen/icecream.dm
@@ -132,11 +132,11 @@
to_chat(user, "There is not enough icecream left!")
else
to_chat(user, "[O] already has icecream in it.")
- return 1
+ return TRUE
else if(ATOM_IS_OPEN_CONTAINER(O))
- return
+ return TRUE
else
- ..()
+ return ..()
/obj/machinery/icecream_vat/proc/make(var/mob/user, var/make_type, var/amount)
for(var/R in get_ingredient_list(make_type))
diff --git a/code/game/machinery/kitchen/smartfridge.dm b/code/game/machinery/kitchen/smartfridge.dm
index b11991c25ca..e9020da7cf0 100644
--- a/code/game/machinery/kitchen/smartfridge.dm
+++ b/code/game/machinery/kitchen/smartfridge.dm
@@ -187,7 +187,7 @@
/obj/machinery/smartfridge/attackby(var/obj/item/O, var/mob/user)
if(accept_check(O))
if(!user.try_unequip(O))
- return
+ return TRUE
stock_item(O)
user.visible_message("\The [user] has added \the [O] to \the [src].", "You add \the [O] to \the [src].")
update_icon()
diff --git a/code/game/machinery/message_server.dm b/code/game/machinery/message_server.dm
index ba19c1bb7b9..fdec0c2b48e 100644
--- a/code/game/machinery/message_server.dm
+++ b/code/game/machinery/message_server.dm
@@ -140,7 +140,8 @@ var/global/list/message_servers = list()
istype(O,/obj/item/stock_parts/circuitboard/message_monitor))
spamfilter_limit += round(MESSAGE_SERVER_DEFAULT_SPAM_LIMIT / 2)
qdel(O)
- to_chat(user, "You install additional memory and processors into message server. Its filtering capabilities been enhanced.")
+ to_chat(user, "You install additional memory and processors into \the [src]. Its filtering capabilities been enhanced.")
+ return TRUE
else
return ..()
diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm
index 0fedef9c7c8..2e01d126217 100644
--- a/code/game/machinery/navbeacon.dm
+++ b/code/game/machinery/navbeacon.dm
@@ -44,14 +44,13 @@ var/global/list/navbeacons = list()
/obj/machinery/navbeacon/attackby(var/obj/item/I, var/mob/user)
var/turf/T = loc
if(!T.is_plating())
- return // prevent intraction when T-scanner revealed
+ return TRUE // prevent intraction when T-scanner revealed
if(IS_SCREWDRIVER(I))
open = !open
-
user.visible_message("\The [user] [open ? "opens" : "closes"] cover of \the [src].", "You [open ? "open" : "close"] cover of \the [src].")
-
update_icon()
+ return TRUE
else if(I.GetIdCard())
if(open)
@@ -63,7 +62,8 @@ var/global/list/navbeacons = list()
updateDialog()
else
to_chat(user, "You must open the cover first!")
- return
+ return TRUE
+ return FALSE
/obj/machinery/navbeacon/interface_interact(var/mob/user)
interact(user)
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index b6bfde194b1..75221d30278 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -874,21 +874,19 @@ var/global/list/allCasters = list() //Global list that will contain reference to
if(src.scribble_page == src.curr_page)
to_chat(user, SPAN_WARNING("There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?"))
return TRUE
- else
- var/s = input(user, "Write something", "Newspaper") as null | message
- if(!length(s))
- return
- if(!CanPhysicallyInteractWith(user, src))
- to_chat(user, SPAN_WARNING("You must stay close to \the [src]!"))
- return
- if(W.do_tool_interaction(TOOL_PEN, user, src, 0, fuel_expenditure = 1) && !QDELETED(src)) //Make it instant, since handle_writing_literacy does the waiting
- s = sanitize(s)
- s = user.handle_writing_literacy(user, s)
- src.scribble_page = src.curr_page
- src.scribble = s
- src.attack_self(user)
- return TRUE
- return
+ var/s = input(user, "Write something", "Newspaper") as null | message
+ if(!length(s))
+ return TRUE
+ if(!CanPhysicallyInteractWith(user, src))
+ to_chat(user, SPAN_WARNING("You must stay close to \the [src]!"))
+ return TRUE
+ if(W.do_tool_interaction(TOOL_PEN, user, src, 0, fuel_expenditure = 1) && !QDELETED(src)) //Make it instant, since handle_writing_literacy does the waiting
+ s = sanitize(s)
+ s = user.handle_writing_literacy(user, s)
+ src.scribble_page = src.curr_page
+ src.scribble = s
+ src.attack_self(user)
+ return TRUE
return ..()
////////////////////////////////////helper procs
diff --git a/code/game/machinery/nuclear_bomb.dm b/code/game/machinery/nuclear_bomb.dm
index d3465ff698f..27e7d81ea03 100644
--- a/code/game/machinery/nuclear_bomb.dm
+++ b/code/game/machinery/nuclear_bomb.dm
@@ -67,7 +67,7 @@ var/global/bomb_set
to_chat(user, "You screw the control panel of \the [src] back on.")
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
flick("lock", src)
- return
+ return TRUE
if(panel_open && (IS_MULTITOOL(O) || IS_WIRECUTTER(O)))
return attack_hand_with_interaction_checks(user)
@@ -75,7 +75,7 @@ var/global/bomb_set
if(extended)
if(istype(O, /obj/item/disk/nuclear))
if(!user.try_unequip(O, src))
- return
+ return TRUE
auth = O
add_fingerprint(user)
return attack_hand_with_interaction_checks(user)
@@ -85,66 +85,67 @@ var/global/bomb_set
if(0)
if(IS_WELDER(O))
var/obj/item/weldingtool/WT = O
- if(!WT.isOn()) return
+ if(!WT.isOn()) return TRUE
if(WT.get_fuel() < 5) // uses up 5 fuel.
to_chat(user, "You need more fuel to complete this task.")
- return
+ return TRUE
user.visible_message("[user] starts cutting loose the anchoring bolt covers on [src].", "You start cutting loose the anchoring bolt covers with [O]...")
- if(do_after(user,40, src))
- if(!src || !user || !WT.weld(5, user)) return
+ if(do_after(user, 4 SECONDS, src))
+ if(QDELETED(src) || QDELETED(user) || !WT.weld(5, user)) return TRUE
user.visible_message("\The [user] cuts through the bolt covers on \the [src].", "You cut through the bolt cover.")
removal_stage = 1
- return
+ return TRUE
if(1)
if(IS_CROWBAR(O))
user.visible_message("[user] starts forcing open the bolt covers on [src].", "You start forcing open the anchoring bolt covers with [O]...")
- if(do_after(user, 15, src))
- if(!src || !user) return
+ if(do_after(user, 1.5 SECONDS, src))
+ if(QDELETED(src) || QDELETED(user)) return TRUE
user.visible_message("\The [user] forces open the bolt covers on \the [src].", "You force open the bolt covers.")
removal_stage = 2
- return
+ return TRUE
if(2)
if(IS_WELDER(O))
var/obj/item/weldingtool/WT = O
- if(!WT.isOn()) return
+ if(!WT.isOn()) return TRUE
if (WT.get_fuel() < 5) // uses up 5 fuel.
to_chat(user, "You need more fuel to complete this task.")
- return
+ return TRUE
user.visible_message("[user] starts cutting apart the anchoring system sealant on [src].", "You start cutting apart the anchoring system's sealant with [O]...")
- if(do_after(user, 40, src))
- if(!src || !user || !WT.weld(5, user)) return
+ if(do_after(user, 4 SECONDS, src))
+ if(QDELETED(src) || QDELETED(user) || !WT.weld(5, user)) return TRUE
user.visible_message("\The [user] cuts apart the anchoring system sealant on \the [src].", "You cut apart the anchoring system's sealant.")
removal_stage = 3
- return
+ return TRUE
if(3)
if(IS_WRENCH(O))
user.visible_message("[user] begins unwrenching the anchoring bolts on [src].", "You begin unwrenching the anchoring bolts...")
- if(do_after(user, 50, src))
- if(!src || !user) return
+ if(do_after(user, 5 SECONDS, src))
+ if(QDELETED(src) || QDELETED(user)) return TRUE
user.visible_message("[user] unwrenches the anchoring bolts on [src].", "You unwrench the anchoring bolts.")
removal_stage = 4
- return
+ return TRUE
if(4)
if(IS_CROWBAR(O))
user.visible_message("[user] begins lifting [src] off of the anchors.", "You begin lifting the device off the anchors...")
- if(do_after(user, 80, src))
- if(!src || !user) return
+ if(do_after(user, 8 SECONDS, src))
+ if(QDELETED(src) || QDELETED(user)) return TRUE
user.visible_message("\The [user] crowbars \the [src] off of the anchors. It can now be moved.", "You jam the crowbar under the nuclear device and lift it off its anchors. You can now move it!")
anchored = FALSE
removal_stage = 5
- return
- ..()
+ return TRUE
+ return ..()
/obj/machinery/nuclearbomb/physical_attack_hand(mob/user)
+ . = FALSE
if(!extended && deployable)
. = TRUE
if(removal_stage < 5)
@@ -469,8 +470,7 @@ var/global/bomb_set
inserters += ch
/obj/machinery/nuclearbomb/station/attackby(obj/item/O, mob/user)
- if(IS_WRENCH(O))
- return
+ return TRUE // cannot be moved
/obj/machinery/nuclearbomb/station/Topic(href, href_list)
if((. = ..()))
diff --git a/code/game/machinery/oxygen_pump.dm b/code/game/machinery/oxygen_pump.dm
index b72f83b4267..27a13a93063 100644
--- a/code/game/machinery/oxygen_pump.dm
+++ b/code/game/machinery/oxygen_pump.dm
@@ -62,6 +62,7 @@
if(breather)
detach_mask(user)
return TRUE
+ return FALSE
/obj/machinery/oxygen_pump/interface_interact(mob/user)
ui_interact(user)
@@ -143,18 +144,21 @@
icon_state = icon_state_open
if(!stat)
icon_state = icon_state_closed
- //TO-DO: Open icon
+ return TRUE
if(istype(W, /obj/item/tank) && (stat & MAINT))
if(tank)
to_chat(user, SPAN_WARNING("\The [src] already has a tank installed!"))
- else
- if(!user.try_unequip(W, src))
- return
- tank = W
- user.visible_message(SPAN_NOTICE("\The [user] installs \the [tank] into \the [src]."), SPAN_NOTICE("You install \the [tank] into \the [src]."))
- src.add_fingerprint(user)
+ return TRUE
+ if(!user.try_unequip(W, src))
+ return TRUE
+ tank = W
+ user.visible_message(SPAN_NOTICE("\The [user] installs \the [tank] into \the [src]."), SPAN_NOTICE("You install \the [tank] into \the [src]."))
+ src.add_fingerprint(user)
+ return TRUE
if(istype(W, /obj/item/tank) && !stat)
to_chat(user, SPAN_WARNING("Please open the maintenance hatch first."))
+ return TRUE
+ return FALSE // TODO: should this be a parent call? do we want this to be (de)constructable?
/obj/machinery/oxygen_pump/examine(mob/user)
. = ..()
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index a27ec6c7ab3..57fe940fe0b 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -134,6 +134,7 @@ Buildable meters
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
to_chat(user, "You have fastened \the [src].")
qdel(src)
+ return TRUE
/obj/item/machine_chassis/air_sensor
name = "gas sensor"
diff --git a/code/game/machinery/pipe/pipelayer.dm b/code/game/machinery/pipe/pipelayer.dm
index 457062889fa..647e9c0b572 100644
--- a/code/game/machinery/pipe/pipelayer.dm
+++ b/code/game/machinery/pipe/pipelayer.dm
@@ -45,12 +45,12 @@
P_type_t = input("Choose pipe type", "Pipe type") as null|anything in Pipes
P_type = Pipes[P_type_t]
user.visible_message("[user] has set \the [src] to manufacture [P_type_t].", "You set \the [src] to manufacture [P_type_t].")
- return
+ return TRUE
if(IS_CROWBAR(W))
a_dis=!a_dis
user.visible_message("[user] has [!a_dis?"de":""]activated auto-dismantling.", "You [!a_dis?"de":""]activate auto-dismantling.")
- return
+ return TRUE
if(istype(W, /obj/item/stack/material) && W.get_material_type() == /decl/material/solid/metal/steel)
@@ -62,7 +62,7 @@
else
user.visible_message("[user] has loaded metal into \the [src].", "You load metal into \the [src]")
- return
+ return TRUE
if(IS_SCREWDRIVER(W))
if(metal)
@@ -76,8 +76,8 @@
user.visible_message("[user] removes [m] sheet\s of metal from the \the [src].", "You remove [m] sheet\s of metal from \the [src]")
else
to_chat(user, "\The [src] is empty.")
- return
- ..()
+ return TRUE
+ return ..()
/obj/machinery/pipelayer/examine(mob/user)
. = ..()
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index 1aa1dc86ccb..e7f5b123b93 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -236,6 +236,7 @@ var/global/list/turret_icons
new /obj/item/assembly/prox_sensor(loc)
. = ..()
+// TODO: remove these or refactor to use construct states
/obj/machinery/porta_turret/attackby(obj/item/I, mob/user)
if(stat & BROKEN)
if(IS_CROWBAR(I))
@@ -248,17 +249,19 @@ var/global/list/turret_icons
physically_destroyed()
else
to_chat(user, "You remove the turret but did not manage to salvage anything.")
+ return TRUE
+ return FALSE
else if(IS_WRENCH(I))
if(enabled || raised)
to_chat(user, "You cannot unsecure an active turret!")
- return
+ return TRUE
if(wrenching)
to_chat(user, "Someone is already [anchored ? "un" : ""]securing the turret!")
- return
+ return TRUE
if(!anchored && isspaceturf(get_turf(src)))
to_chat(user, "Cannot secure turrets in space!")
- return
+ return TRUE
user.visible_message( \
"[user] begins [anchored ? "un" : ""]securing the turret.", \
@@ -266,19 +269,14 @@ var/global/list/turret_icons
)
wrenching = 1
- if(do_after(user, 50, src))
+ if(do_after(user, 5 SECONDS, src))
//This code handles moving the turret around. After all, it's a portable turret!
- if(!anchored)
- playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
- anchored = TRUE
- update_icon()
- to_chat(user, "You secure the exterior bolts on the turret.")
- else if(anchored)
- playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
- anchored = FALSE
- to_chat(user, "You unsecure the exterior bolts on the turret.")
- update_icon()
+ playsound(loc, 'sound/items/Ratchet.ogg', 100, TRUE)
+ anchored = !anchored
+ update_icon()
+ to_chat(user, "You [anchored ? "secure" : "unsecure"] the exterior bolts on [src].")
wrenching = 0
+ return TRUE
else if(istype(I, /obj/item/card/id)||istype(I, /obj/item/modular_computer))
//Behavior lock/unlock mangement
@@ -288,6 +286,7 @@ var/global/list/turret_icons
updateUsrDialog()
else
to_chat(user, "Access denied.")
+ return TRUE
else
//if the turret was attacked with the intention of harming it:
@@ -298,9 +297,9 @@ var/global/list/turret_icons
if(!attacked && !emagged)
attacked = 1
spawn()
- sleep(60)
+ sleep(6 SECONDS)
attacked = 0
- ..()
+ return TRUE
/obj/machinery/porta_turret/emag_act(var/remaining_charges, var/mob/user)
if(!emagged)
diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index 33e8bee28d0..fc240f89e81 100644
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -71,6 +71,7 @@
charging = null
update_icon()
return TRUE
+ return FALSE
/obj/machinery/recharger/Process()
if(stat & (NOPOWER|BROKEN) || !anchored)
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index f8ee5e4f63b..2fe46fa3e1d 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -208,26 +208,29 @@ var/global/req_console_information = list()
/obj/machinery/network/requests_console/attackby(var/obj/item/O, var/mob/user)
if (istype(O, /obj/item/card/id))
- if(inoperable(MAINT)) return
- if(screen == RCS_MESSAUTH)
- var/obj/item/card/id/T = O
- msgVerified = text("Verified by [T.registered_name] ([T.assignment])")
- SSnano.update_uis(src)
- if(screen == RCS_ANNOUNCE)
- var/obj/item/card/id/ID = O
- if (access_RC_announce in ID.GetAccess())
- announceAuth = 1
- announcement.announcer = ID.assignment ? "[ID.assignment] [ID.registered_name]" : ID.registered_name
- else
- reset_message()
- to_chat(user, "You are not authorized to send announcements.")
- SSnano.update_uis(src)
+ if(inoperable(MAINT)) return TRUE
+ switch(screen)
+ if(RCS_MESSAUTH)
+ var/obj/item/card/id/T = O
+ msgVerified = text("Verified by [T.registered_name] ([T.assignment])")
+ SSnano.update_uis(src)
+ if(RCS_ANNOUNCE)
+ var/obj/item/card/id/ID = O
+ if (access_RC_announce in ID.GetAccess())
+ announceAuth = 1
+ announcement.announcer = ID.assignment ? "[ID.assignment] [ID.registered_name]" : ID.registered_name
+ else
+ reset_message()
+ to_chat(user, "You are not authorized to send announcements.")
+ SSnano.update_uis(src)
+ return TRUE
if (istype(O, /obj/item/stamp))
- if(inoperable(MAINT)) return
+ if(inoperable(MAINT)) return TRUE
if(screen == RCS_MESSAUTH)
var/obj/item/stamp/T = O
msgStamped = "Stamped with the [T.name]"
SSnano.update_uis(src)
+ return TRUE
return ..()
/obj/machinery/network/requests_console/proc/reset_message(var/mainmenu = 0)
diff --git a/code/game/machinery/self_destruct.dm b/code/game/machinery/self_destruct.dm
index 6b516eb954f..ee842c32e23 100644
--- a/code/game/machinery/self_destruct.dm
+++ b/code/game/machinery/self_destruct.dm
@@ -11,33 +11,35 @@
/obj/machinery/self_destruct/attackby(obj/item/W, mob/user)
if(IS_WELDER(W))
- if(damaged)
- user.visible_message("[user] begins to repair [src].", "You begin repairing [src].")
- if(do_after(usr, 100, src))
- var/obj/item/weldingtool/w = W
- if(w.weld(10))
- damaged = 0
- user.visible_message("[user] repairs [src].", "You repair [src].")
- else
- to_chat(user, "There is not enough fuel to repair [src].")
- return
+ if(!damaged)
+ return FALSE
+ user.visible_message("[user] begins to repair [src].", "You begin repairing [src].")
+ if(do_after(usr, 100, src))
+ var/obj/item/weldingtool/w = W
+ if(w.weld(10))
+ damaged = 0
+ user.visible_message("[user] repairs [src].", "You repair [src].")
+ else
+ to_chat(user, "There is not enough fuel to repair [src].")
+ return TRUE
if(istype(W, /obj/item/nuclear_cylinder))
if(damaged)
to_chat(user, "[src] is damaged, you cannot place the cylinder.")
- return
+ return TRUE
if(cylinder)
to_chat(user, "There is already a cylinder here.")
- return
- user.visible_message("[user] begins to carefully place [W] onto the Inserter.", "You begin to carefully place [W] onto the Inserter.")
+ return TRUE
+ user.visible_message("[user] begins to carefully place [W] onto [src].", "You begin to carefully place [W] onto [src].")
if(do_after(user, 80, src) && user.try_unequip(W, src))
cylinder = W
density = TRUE
- user.visible_message("[user] places [W] onto the Inserter.", "You place [W] onto the Inserter.")
+ user.visible_message("[user] places [W] onto [src].", "You place [W] onto [src].")
update_icon()
- return
- ..()
+ return TRUE
+ return ..()
/obj/machinery/self_destruct/physical_attack_hand(mob/user)
+ . = FALSE
if(cylinder)
. = TRUE
if(armed)
diff --git a/code/game/machinery/self_destruct_storage.dm b/code/game/machinery/self_destruct_storage.dm
index 09f2e613213..d8cd3e9d3a0 100644
--- a/code/game/machinery/self_destruct_storage.dm
+++ b/code/game/machinery/self_destruct_storage.dm
@@ -65,15 +65,6 @@
/obj/machinery/nuclear_cylinder_storage/physical_attack_hand(mob/user)
if(!panel_open)
- if(operable() && locked && check_access(user))
- locked = FALSE
- user.visible_message(
- "\The [user] unlocks \the [src].",
- "You unlock \the [src]."
- )
- update_icon()
- return TRUE
-
if(!locked)
open = !open
user.visible_message(
@@ -82,14 +73,24 @@
)
update_icon()
return TRUE
+ if(operable() && check_access(user))
+ locked = FALSE
+ user.visible_message(
+ "\The [user] unlocks \the [src].",
+ "You unlock \the [src]."
+ )
+ update_icon()
+ return TRUE
else
to_chat(user, SPAN_WARNING("\The [src] is currently in maintenance mode!"))
+ return TRUE
+ return FALSE
/obj/machinery/nuclear_cylinder_storage/attackby(obj/item/O, mob/user)
if(!open && operable() && istype(O, /obj/item/card/id))
if(panel_open)
to_chat(user, SPAN_WARNING("\The [src] is currently in maintenance mode!"))
- return
+ return TRUE
var/obj/item/card/id/id = O
if(check_access(id))
@@ -99,12 +100,12 @@
"You [locked ? "lock" : "unlock"] \the [src]."
)
update_icon()
- return
+ return TRUE
if(open && istype(O, /obj/item/nuclear_cylinder) && (length(cylinders) < max_cylinders))
if(panel_open)
to_chat(user, SPAN_WARNING("\The [src] is currently in maintenance mode!"))
- return
+ return TRUE
user.visible_message(
"\The [user] begins inserting \the [O] into storage.",
@@ -117,8 +118,9 @@
)
cylinders.Add(O)
update_icon()
+ return TRUE
- ..()
+ return ..()
/obj/machinery/nuclear_cylinder_storage/handle_mouse_drop(atom/over, mob/user, params)
if(over == user && open && !panel_open && length(cylinders))
diff --git a/code/game/machinery/singularitybeacon.dm b/code/game/machinery/singularitybeacon.dm
index b47720adbfe..5d8690d5676 100644
--- a/code/game/machinery/singularitybeacon.dm
+++ b/code/game/machinery/singularitybeacon.dm
@@ -58,18 +58,15 @@ var/global/list/singularity_beacons = list()
if(IS_SCREWDRIVER(W))
if(use_power)
to_chat(user, SPAN_DANGER("You need to deactivate the beacon first!"))
- return
+ return TRUE
+ anchored = !anchored
if(anchored)
- anchored = FALSE
- to_chat(user, SPAN_NOTICE("You unscrew the beacon from the floor."))
- return
- else
- anchored = TRUE
to_chat(user, SPAN_NOTICE("You screw the beacon to the floor."))
- return
- ..()
- return
+ else
+ to_chat(user, SPAN_NOTICE("You unscrew the beacon from the floor."))
+ return TRUE
+ return ..()
// Ensure the terminal is always accessible to be plugged in.
/obj/machinery/singularity_beacon/components_are_accessible(var/path)
diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm
index 8cdbd6c835c..e59df75a663 100644
--- a/code/game/machinery/spaceheater.dm
+++ b/code/game/machinery/spaceheater.dm
@@ -91,6 +91,7 @@
user.visible_message("[user] switches [on ? "on" : "off"] \the [src].","You switch [on ? "on" : "off"] \the [src].")
update_icon()
return TRUE
+ return FALSE
/obj/machinery/space_heater/Topic(href, href_list, state = global.physical_topic_state)
if (..())
diff --git a/code/game/machinery/suit_cycler.dm b/code/game/machinery/suit_cycler.dm
index 784d08b1f4a..7f899870a1c 100644
--- a/code/game/machinery/suit_cycler.dm
+++ b/code/game/machinery/suit_cycler.dm
@@ -209,12 +209,12 @@
if(istype(I, /obj/item/clothing/shoes/magboots))
if(locked)
to_chat(user, SPAN_WARNING("The suit cycler is locked."))
- return
+ return TRUE
if(boots)
to_chat(user, SPAN_WARNING("The cycler already contains some boots."))
- return
+ return TRUE
if(!user.try_unequip(I, src))
- return
+ return TRUE
to_chat(user, "You fit \the [I] into the suit cycler.")
set_boots(I)
update_icon()
diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm
index 8088e75e97b..141619bd14f 100644
--- a/code/game/machinery/turret_control.dm
+++ b/code/game/machinery/turret_control.dm
@@ -86,7 +86,7 @@
/obj/machinery/turretid/attackby(obj/item/W, mob/user)
if(stat & BROKEN)
- return
+ return FALSE
if(istype(W, /obj/item/card/id)||istype(W, /obj/item/modular_computer))
if(src.allowed(usr))
@@ -95,7 +95,7 @@
else
locked = !locked
to_chat(user, "You [ locked ? "lock" : "unlock"] the panel.")
- return
+ return TRUE
return ..()
/obj/machinery/turretid/emag_act(var/remaining_charges, var/mob/user)
diff --git a/code/game/machinery/turrets/_turrets.dm b/code/game/machinery/turrets/_turrets.dm
index b3801efe75a..3030bc2bef9 100644
--- a/code/game/machinery/turrets/_turrets.dm
+++ b/code/game/machinery/turrets/_turrets.dm
@@ -133,20 +133,18 @@
update_use_power(POWER_USE_IDLE)
/obj/machinery/turret/attackby(obj/item/I, mob/user)
- if(istype(I, /obj/item/gun))
- if(!installed_gun)
- if(!user.try_unequip(I, src))
- return
- to_chat(user, SPAN_NOTICE("You install \the [I] into \the [src]!"))
- installed_gun = I
- setup_gun()
- return
+ if(istype(I, /obj/item/gun) && !installed_gun)
+ if(!user.try_unequip(I, src))
+ return TRUE
+ to_chat(user, SPAN_NOTICE("You install \the [I] into \the [src]!"))
+ installed_gun = I
+ setup_gun()
+ return TRUE
if(istype(I, /obj/item/ammo_magazine) || istype(I, /obj/item/ammo_casing))
var/obj/item/stock_parts/ammo_box/ammo_box = get_component_of_type(/obj/item/stock_parts/ammo_box)
if(istype(ammo_box))
- ammo_box.attackby(I, user)
- return
+ return ammo_box.attackby(I, user)
. = ..()
// This is called after the gun gets instantiated or slotted in.
diff --git a/code/game/machinery/vending/_vending.dm b/code/game/machinery/vending/_vending.dm
index 9bac9df3284..9e08c83653a 100644
--- a/code/game/machinery/vending/_vending.dm
+++ b/code/game/machinery/vending/_vending.dm
@@ -251,6 +251,7 @@
if(seconds_electrified != 0)
if(shock(user, 100))
return TRUE
+ return FALSE
/obj/machinery/vending/interface_interact(mob/user)
ui_interact(user)
diff --git a/code/game/machinery/wall_frames.dm b/code/game/machinery/wall_frames.dm
index f3f7fb0ed89..7e7e2717612 100644
--- a/code/game/machinery/wall_frames.dm
+++ b/code/game/machinery/wall_frames.dm
@@ -292,7 +292,8 @@
if(.)
M = build_machine_type
to_chat(user, SPAN_NOTICE("You setup \the [src]'s software to work as a '[initial(M.name)]', using \the [W]."))
- return .
+ return TRUE
+ return FALSE
/obj/item/frame/button/airlock_controller/kit
fully_construct = TRUE
@@ -321,7 +322,7 @@
var/choice = input(user, "Chose the type of controller to build:", "Select Controller Type") as null|anything in possible_kit_type_names
if(!choice || !CanPhysicallyInteract(user))
build_machine_type = initial(build_machine_type)
- return
+ return TRUE
build_machine_type = possible_kit_type_names[choice]
M = build_machine_type
to_chat(user, SPAN_NOTICE("You set the kit type to '[initial(M.name)]'!"))
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index d470bdcaf28..a82e8082510 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -97,12 +97,12 @@
if(istype(W, /obj/item/chems/pill/detergent))
if(!(atom_flags & ATOM_FLAG_OPEN_CONTAINER))
to_chat(user, SPAN_WARNING("Open the detergent port first!"))
- return
+ return TRUE
if(reagents.total_volume >= reagents.maximum_volume)
to_chat(user, SPAN_WARNING("The detergent port is full!"))
- return
+ return TRUE
if(!user.try_unequip(W))
- return
+ return TRUE
// Directly transfer to the holder to avoid touch reactions.
W.reagents?.trans_to_holder(reagents, W.reagents.total_volume)
to_chat(user, SPAN_NOTICE("You dissolve \the [W] in the detergent port."))
@@ -131,14 +131,14 @@
else if((!length(wash_whitelist) || is_type_in_list(W, wash_whitelist)) && !is_type_in_list(W, wash_blacklist))
if(W.w_class > max_item_size)
to_chat(user, SPAN_WARNING("\The [W] is too large for \the [src]!"))
- return
+ return TRUE
if(!user.try_unequip(W, src))
- return
+ return TRUE
state |= WASHER_STATE_LOADED
update_icon()
else
to_chat(user, SPAN_WARNING("You can't put \the [W] in \the [src]."))
- return
+ return TRUE
else
to_chat(user, SPAN_NOTICE("\The [src] is full."))
return TRUE
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index 1a577cb0063..a1a3fd87bd3 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -55,6 +55,7 @@
current_health -= damage
healthcheck()
+ return TRUE
/obj/effect/spider/bullet_act(var/obj/item/projectile/Proj)
..()
@@ -194,7 +195,7 @@
. = ..()
/obj/effect/spider/spiderling/attackby(var/obj/item/W, var/mob/user)
- ..()
+ . = ..()
if(current_health > 0)
disturbed()
diff --git a/code/game/objects/items/__item.dm b/code/game/objects/items/__item.dm
index c5bb66a77c5..3575c49f2f4 100644
--- a/code/game/objects/items/__item.dm
+++ b/code/game/objects/items/__item.dm
@@ -93,7 +93,7 @@
var/replaced_in_loadout = TRUE
var/paint_color
- var/paint_verb = "painted"
+ var/paint_verb
/// What dexterity is required to attack with this item?
var/needs_attack_dexterity = DEXTERITY_WIELD_ITEM
@@ -167,6 +167,7 @@
material_key = material
if(material_key)
set_material(material_key)
+ paint_verb ||= "painted" // fallback for the case of no material
. = ..()
@@ -289,7 +290,8 @@
desc_comp += "[desc_damage]"
if(paint_color)
- desc_comp += "\The [src] has been [paint_verb]."
+ var/decl/pronouns/obj_pronouns = get_pronouns() // so we can do 'have' for plural objects like sheets
+ desc_comp += "\The [src] [obj_pronouns.has] been [paint_verb]."
var/added_header = FALSE
if(user?.get_preference_value(/datum/client_preference/inquisitive_examine) == PREF_ON)
@@ -1035,7 +1037,7 @@ modules/mob/living/human/life.dm if you die, you will be zoomed out.
LAZYADD(., slot_belt_str)
// Updates the icons of the mob wearing the clothing item, if any.
-/obj/item/proc/update_clothing_icon()
+/obj/item/proc/update_clothing_icon(do_update_icon = TRUE)
var/mob/wearer = loc
if(!istype(wearer))
return FALSE
@@ -1044,7 +1046,8 @@ modules/mob/living/human/life.dm if you die, you will be zoomed out.
return FALSE
for(var/slot in equip_slots)
wearer.update_equipment_overlay(slot, FALSE)
- wearer.update_icon()
+ if(do_update_icon)
+ wearer.update_icon()
return TRUE
/obj/item/proc/reconsider_client_screen_presence(var/client/client, var/slot)
@@ -1193,7 +1196,11 @@ modules/mob/living/human/life.dm if you die, you will be zoomed out.
return watertight || ..()
// TODO: merge beakers etc down into this proc.
-/obj/item/proc/get_reagents_overlay()
+/// @params:
+/// - state_prefix as text: if non-null, this string is prepended to the reagent overlay state, typically world/inventory/etc
+/// @returns:
+/// - reagent_overlay as /image|null - the overlay image representing the reagents in this object
+/obj/item/proc/get_reagents_overlay(state_prefix)
if(reagents?.total_volume <= 0)
return
var/decl/material/primary_reagent = reagents.get_primary_reagent_decl()
@@ -1204,11 +1211,14 @@ modules/mob/living/human/life.dm if you die, you will be zoomed out.
reagents_state = primary_reagent.reagent_overlay_base
else
reagents_state = "reagent_base"
+ if(state_prefix)
+ reagents_state = "[state_prefix]_[reagents_state]" // prepend world, inventory, or slot
if(!reagents_state || !check_state_in_icon(reagents_state, icon))
return
var/image/reagent_overlay = overlay_image(icon, reagents_state, reagents.get_color(), RESET_COLOR | RESET_ALPHA)
for(var/reagent_type in reagents.reagent_volumes)
var/decl/material/reagent = GET_DECL(reagent_type)
- if(reagent.reagent_overlay && check_state_in_icon(reagent.reagent_overlay, icon))
- reagent_overlay.overlays += overlay_image(icon, reagent.reagent_overlay, reagent.get_reagent_color(), RESET_COLOR | RESET_ALPHA)
+ var/modified_reagent_overlay = state_prefix ? "[state_prefix]_[reagent.reagent_overlay]" : reagent.reagent_overlay
+ if(modified_reagent_overlay && check_state_in_icon(modified_reagent_overlay, icon))
+ reagent_overlay.overlays += overlay_image(icon, modified_reagent_overlay, reagent.get_reagent_color(), RESET_COLOR | RESET_ALPHA)
return reagent_overlay
diff --git a/code/game/objects/items/_item_materials.dm b/code/game/objects/items/_item_materials.dm
index ab9d0ed512a..95bc6402777 100644
--- a/code/game/objects/items/_item_materials.dm
+++ b/code/game/objects/items/_item_materials.dm
@@ -89,6 +89,8 @@
obj_flags |= OBJ_FLAG_CONDUCTIBLE
else
obj_flags &= (~OBJ_FLAG_CONDUCTIBLE)
+ if(isnull(initial(paint_verb)))
+ paint_verb = material.paint_verb
update_attack_force()
update_name()
if(material_armor_multiplier)
diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index f3cd559ec44..4313657b12d 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -58,7 +58,7 @@
/obj/structure/closet/body_bag/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/hand_labeler))
- return //Prevent the labeler from opening the bag when trying to apply a label
+ return FALSE //Prevent the labeler from opening the bag when trying to apply a label
. = ..()
/obj/structure/closet/body_bag/store_mobs(var/stored_units)
diff --git a/code/game/objects/items/books/skill/_skill_custom.dm b/code/game/objects/items/books/skill/_skill_custom.dm
index 8cea8528099..2d9bfa2a359 100644
--- a/code/game/objects/items/books/skill/_skill_custom.dm
+++ b/code/game/objects/items/books/skill/_skill_custom.dm
@@ -54,44 +54,43 @@
icon = 'icons/obj/items/books/book_white_question.dmi'
/obj/item/book/skill/custom/attackby(obj/item/pen, mob/user)
- if(IS_PEN(pen))
-
- if(!user.skill_check(SKILL_LITERACY, SKILL_BASIC))
- to_chat(user, SPAN_WARNING("You can't even read, yet you want to write a whole educational textbook?"))
- return
- if(!user.skill_check(SKILL_LITERACY, SKILL_PROF))
- to_chat(user, SPAN_WARNING("You have no clue as to how to write an entire textbook in a way that is actually useful. Maybe a regular book would be better?"))
- return
- var/state_check = skill_option_string // the state skill_option_string is in just before opening the input
- var/choice = input(user, "What would you like to change?","Textbook editing") as null|anything in list("Title", "Author", skill_option_string)
- if(!can_write(pen,user))
- return
+ if(!IS_PEN(pen))
+ return ..()
+ if(!user.skill_check(SKILL_LITERACY, SKILL_BASIC))
+ to_chat(user, SPAN_WARNING("You can't even read, yet you want to write a whole educational textbook?"))
+ return TRUE
+ if(!user.skill_check(SKILL_LITERACY, SKILL_PROF))
+ to_chat(user, SPAN_WARNING("You have no clue as to how to write an entire textbook in a way that is actually useful. Maybe a regular book would be better?"))
+ return TRUE
+ var/state_check = skill_option_string // the state skill_option_string is in just before opening the input
+ var/choice = input(user, "What would you like to change?","Textbook editing") as null|anything in list("Title", "Author", skill_option_string)
+ if(!can_write(pen,user))
+ return TRUE
- switch(choice)
- if("Title")
- edit_title(pen, user)
+ switch(choice)
+ if("Title")
+ edit_title(pen, user)
- if("Skill")
- if(state_check != "Skill") // make sure someone hasn't already started the book while we were staring at menus woops
- to_chat(user, SPAN_WARNING("The skill has already been selected and the writing started."))
- return
- edit_skill(pen, user)
+ if("Skill")
+ if(state_check != "Skill") // make sure someone hasn't already started the book while we were staring at menus woops
+ to_chat(user, SPAN_WARNING("The skill has already been selected and the writing started."))
+ return TRUE
+ edit_skill(pen, user)
- if("Continue writing content")
- if(state_check != "Continue writing content")
- return
- continue_skill(pen, user)
+ if("Continue writing content")
+ if(state_check != "Continue writing content")
+ return TRUE
+ continue_skill(pen, user)
- if("Author")
- edit_author(pen, user)
+ if("Author")
+ edit_author(pen, user)
- else
- return
+ else
+ return TRUE
- if(skill && title && author) // we have everything we need so lets set a good description
- desc = "A handwritten textbook titled [title], by [author]. Looks like it teaches [skill_name]."
- return
- ..()
+ if(skill && title && author) // we have everything we need so lets set a good description
+ desc = "A handwritten textbook titled [title], by [author]. Looks like it teaches [skill_name]."
+ return TRUE
/obj/item/book/skill/custom/proc/can_write(var/obj/item/pen, var/mob/user)
if(user.get_active_held_item() == pen && CanPhysicallyInteractWith(user,src) && !QDELETED(src) && !QDELETED(pen))
diff --git a/code/game/objects/items/crutches.dm b/code/game/objects/items/crutches.dm
new file mode 100644
index 00000000000..19221c12eb7
--- /dev/null
+++ b/code/game/objects/items/crutches.dm
@@ -0,0 +1,59 @@
+/obj/item/crutch
+ abstract_type = /obj/item/crutch
+ name = "crutch"
+ desc = "A mobility aid for those with impaired use of their legs or feet, placed underneath the arm for support."
+ icon = 'icons/obj/items/crutches.dmi'
+ icon_state = ICON_STATE_WORLD
+ base_parry_chance = 10
+ material_alteration = MAT_FLAG_ALTERATION_ALL
+ w_class = ITEM_SIZE_LARGE
+ max_health = null // autoset from material
+ /// The material used for the padding. If null, the crutch is unpadded. Initially a typepath, set to an instance in Initialize.
+ var/decl/material/padding_material
+ /// The color used for the padding, in the case of paint or dye. If null, falls back to padding material color.
+ var/padding_color = null
+
+/obj/item/crutch/Initialize(ml, material_key)
+ padding_material = GET_DECL(padding_material)
+ return ..()
+
+// potential todo: to avoid matter shenanigans make padding a separate item that can be removed via alt interaction and added via attackby?
+// add padding by clicking with sewing tools in active hand and fabric in offhand?
+/obj/item/crutch/create_matter()
+ . = ..()
+ if(padding_material)
+ matter[padding_material.type] += MATTER_AMOUNT_TRACE
+
+/obj/item/crutch/get_stance_support_value()
+ return LIMB_UNUSABLE
+
+/obj/item/crutch/get_autopsy_descriptors()
+ . = ..() + "narrow"
+
+/obj/item/crutch/on_update_icon()
+ . = ..()
+ if(padding_material)
+ add_overlay(overlay_image(icon, "[icon_state]-padding", padding_color || padding_material.color, RESET_COLOR | RESET_ALPHA))
+
+/obj/item/crutch/apply_additional_mob_overlays(mob/living/user_mob, bodytype, image/overlay, slot, bodypart, use_fallback_if_icon_missing = TRUE)
+ if(padding_material)
+ overlay.add_overlay(overlay_image(icon, "[overlay.icon_state]-padding", padding_color || padding_material.color, RESET_COLOR | RESET_ALPHA))
+ . = ..()
+
+/obj/item/crutch/examine(mob/user, distance, infix, suffix)
+ . = ..()
+ if(padding_material)
+ to_chat(user, "It has been padded with [padding_color ? "[padding_material.paint_verb] " : null][padding_material.use_name].")
+
+/obj/item/crutch/aluminum
+ material = /decl/material/solid/metal/aluminium
+
+/obj/item/crutch/aluminum/padded
+ padding_material = /decl/material/solid/organic/plastic/foam
+ padding_color = COLOR_GRAY20
+
+/obj/item/crutch/wooden
+ material = /decl/material/solid/organic/wood // oak
+
+/obj/item/crutch/wooden/padded
+ padding_material = /decl/material/solid/organic/leather
\ No newline at end of file
diff --git a/code/game/objects/items/devices/hacktool.dm b/code/game/objects/items/devices/hacktool.dm
index a6815ebad30..1b06acd9f0d 100644
--- a/code/game/objects/items/devices/hacktool.dm
+++ b/code/game/objects/items/devices/hacktool.dm
@@ -27,8 +27,9 @@
if(IS_SCREWDRIVER(W))
in_hack_mode = !in_hack_mode
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
+ return TRUE
else
- ..()
+ return ..()
/obj/item/multitool/hacktool/resolve_attackby(atom/A, mob/user)
sanity_check()
diff --git a/code/game/objects/items/devices/holowarrant.dm b/code/game/objects/items/devices/holowarrant.dm
index ef61c11117b..63575144f88 100644
--- a/code/game/objects/items/devices/holowarrant.dm
+++ b/code/game/objects/items/devices/holowarrant.dm
@@ -82,20 +82,20 @@
return TOPIC_HANDLED
/obj/item/holowarrant/attackby(obj/item/W, mob/user)
- if(active)
- var/obj/item/card/id/I = W.GetIdCard()
- if(I && check_access_list(I.GetAccess()))
- var/choice = alert(user, "Would you like to authorize this warrant?","Warrant authorization","Yes","No")
- var/datum/report_field/signature/auth = active.field_from_name("Authorized by")
- if(choice == "Yes")
- auth.ask_value(user)
- user.visible_message(SPAN_NOTICE("You swipe \the [I] through \the [src]."),
- SPAN_NOTICE("[user] swipes \the [I] through \the [src]."))
- broadcast_security_hud_message("[active.get_broadcast_summary()] has been authorized by [auth.get_value()].", src)
- else
- to_chat(user, "A red \"Access Denied\" light blinks on \the [src]")
- return 1
- ..()
+ if(!active)
+ return ..()
+ var/obj/item/card/id/I = W.GetIdCard()
+ if(I && check_access_list(I.GetAccess()))
+ var/choice = alert(user, "Would you like to authorize this warrant?","Warrant authorization","Yes","No")
+ var/datum/report_field/signature/auth = active.field_from_name("Authorized by")
+ if(choice == "Yes")
+ auth.ask_value(user)
+ user.visible_message(SPAN_NOTICE("You swipe \the [I] through \the [src]."),
+ SPAN_NOTICE("[user] swipes \the [I] through \the [src]."))
+ broadcast_security_hud_message("[active.get_broadcast_summary()] has been authorized by [auth.get_value()].", src)
+ else
+ to_chat(user, "A red \"Access Denied\" light blinks on \the [src]")
+ return TRUE
//hit other people with it
/obj/item/holowarrant/use_on_mob(mob/living/target, mob/living/user, animate = TRUE)
diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm
index c91167d3d05..3565259a08e 100644
--- a/code/game/objects/items/devices/lightreplacer.dm
+++ b/code/game/objects/items/devices/lightreplacer.dm
@@ -90,32 +90,33 @@
return
. = ..()
+// TODO: Refactor this to check matter or maybe even just use the fabricator recipe for lights directly
/obj/item/lightreplacer/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/stack/material) && W.get_material_type() == /decl/material/solid/glass)
var/obj/item/stack/G = W
if(uses >= max_uses)
- to_chat(user, "[src.name] is full.")
- return
+ to_chat(user, "\The [src] is full.")
else if(G.use(1))
- AddUses(16) //Autolathe converts 1 sheet into 16 lights.
+ AddUses(16) //Autolathe converts 1 sheet into 16 lights. // TODO: Make this use matter instead
to_chat(user, "You insert a piece of glass into \the [src]. You have [uses] light\s remaining.")
- return
else
to_chat(user, "You need one sheet of glass to replace lights.")
+ return TRUE
if(istype(W, /obj/item/light))
var/obj/item/light/L = W
if(L.status == 0) // LIGHT OKAY
if(uses < max_uses)
if(!user.try_unequip(L))
- return
+ return TRUE
AddUses(1)
to_chat(user, "You insert \the [L.name] into \the [src]. You have [uses] light\s remaining.")
qdel(L)
- return
+ return TRUE
else
to_chat(user, "You need a working light.")
- return
+ return TRUE
+ return ..()
/obj/item/lightreplacer/attack_self(mob/user)
/* // This would probably be a bit OP. If you want it though, uncomment the code.
diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm
index 9a9348e6b77..890fb77b269 100644
--- a/code/game/objects/items/devices/powersink.dm
+++ b/code/game/objects/items/devices/powersink.dm
@@ -89,6 +89,7 @@
"[user] detaches \the [src] from the cable.", \
"You detach \the [src] from the cable.",
"You hear some wires being disconnected from something.")
+ return TRUE
else
return ..()
diff --git a/code/game/objects/items/devices/spy_bug.dm b/code/game/objects/items/devices/spy_bug.dm
index 338e4d65151..ec7786717f7 100644
--- a/code/game/objects/items/devices/spy_bug.dm
+++ b/code/game/objects/items/devices/spy_bug.dm
@@ -42,8 +42,9 @@
if(istype(W, /obj/item/spy_monitor))
var/obj/item/spy_monitor/SM = W
SM.pair(src, user)
+ return TRUE
else
- ..()
+ return ..()
/obj/item/spy_bug/hear_talk(mob/M, var/msg, verb, decl/language/speaking)
radio.hear_talk(M, msg, speaking)
@@ -90,6 +91,7 @@
/obj/item/spy_monitor/attackby(obj/W, mob/user)
if(istype(W, /obj/item/spy_bug))
pair(W, user)
+ return TRUE
else
return ..()
diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm
index c7aaf05fe82..670c9f9856f 100644
--- a/code/game/objects/items/devices/suit_cooling.dm
+++ b/code/game/objects/items/devices/suit_cooling.dm
@@ -115,7 +115,7 @@
cover_open = 1
to_chat(user, "You unscrew the panel.")
update_icon()
- return
+ return TRUE
if (istype(W, /obj/item/cell))
if(cover_open)
@@ -123,11 +123,11 @@
to_chat(user, "There is a [cell] already installed here.")
else
if(!user.try_unequip(W, src))
- return
+ return TRUE
cell = W
to_chat(user, "You insert \the [cell].")
update_icon()
- return
+ return TRUE
return ..()
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index 9420c22919e..2e5b4f58e20 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -42,19 +42,19 @@
if(IS_SCREWDRIVER(I))
maintenance = !maintenance
to_chat(user, "You [maintenance ? "open" : "secure"] the lid.")
- return
+ return TRUE
if(istype(I, /obj/item/magnetic_tape))
if(mytape)
to_chat(user, "There's already a tape inside.")
- return
+ return TRUE
if(!user.try_unequip(I))
- return
+ return TRUE
I.forceMove(src)
mytape = I
to_chat(user, "You insert [I] into [src].")
update_icon()
- return
- ..()
+ return TRUE
+ return ..()
/obj/item/taperecorder/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
@@ -422,21 +422,21 @@
/obj/item/magnetic_tape/attackby(obj/item/I, mob/user, params)
- if(user.incapacitated())
- return
+ if(user.incapacitated()) // TODO: this may not be necessary since OnClick checks before starting the attack chain
+ return TRUE
if(ruined && IS_SCREWDRIVER(I))
if(!max_capacity)
to_chat(user, "There is no tape left inside.")
- return
+ return TRUE
to_chat(user, "You start winding the tape back in...")
if(do_after(user, 120, target = src))
to_chat(user, "You wound the tape back in.")
fix()
- return
+ return TRUE
else if(IS_PEN(I))
if(loc == user)
var/new_name = input(user, "What would you like to label the tape?", "Tape labeling") as null|text
- if(isnull(new_name)) return
+ if(isnull(new_name)) return TRUE
new_name = sanitize_safe(new_name)
if(new_name)
SetName("tape - '[new_name]'")
@@ -444,12 +444,14 @@
else
SetName("tape")
to_chat(user, "You scratch off the label.")
- return
+ return TRUE
else if(IS_WIRECUTTER(I))
cut(user)
+ return TRUE
else if(istype(I, /obj/item/magnetic_tape/loose))
join(user, I)
- ..()
+ return TRUE
+ return ..()
/obj/item/magnetic_tape/proc/cut(mob/user)
if(!LAZYLEN(timestamp))
diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm
index a6fa67849f8..b83f35bca48 100644
--- a/code/game/objects/items/devices/transfer_valve.dm
+++ b/code/game/objects/items/devices/transfer_valve.dm
@@ -15,15 +15,14 @@
/obj/item/transfer_valve/attackby(obj/item/item, mob/user)
var/turf/location = get_turf(src) // For admin logs
if(istype(item, /obj/item/tank))
-
var/T1_weight = 0
var/T2_weight = 0
if(tank_one && tank_two)
to_chat(user, "There are already two tanks attached, remove one first.")
- return
+ return TRUE
if(!user.try_unequip(item, src))
- return
+ return TRUE
if(!tank_one)
tank_one = item
else
@@ -37,21 +36,18 @@
T2_weight = tank_two.w_class
src.w_class = max(initial(src.w_class),T1_weight,T2_weight) //gets w_class of biggest object, because you shouldn't be able to just shove tanks in and have them be tiny.
-
- update_icon()
-
- SSnano.update_uis(src) // update all UIs attached to src
+ . = TRUE
//TODO: Have this take an assemblyholder
else if(isassembly(item))
var/obj/item/assembly/A = item
if(A.secured)
to_chat(user, "The device is secured.")
- return
+ return TRUE
if(attached_device)
to_chat(user, "There is already an device attached to the valve, remove it first.")
- return
+ return TRUE
if(!user.try_unequip(item, src))
- return
+ return TRUE
attached_device = A
to_chat(user, "You attach \the [item] to the valve controls and secure it.")
A.holder = src
@@ -61,8 +57,12 @@
message_admins("[key_name_admin(user)] attached a [item] to a transfer valve. (JMP)")
log_game("[key_name_admin(user)] attached a [item] to a transfer valve.")
attacher = user
+ . = TRUE
+ if(.)
+ update_icon()
SSnano.update_uis(src) // update all UIs attached to src
- return
+ return TRUE
+ return ..()
/obj/item/transfer_valve/HasProximity(atom/movable/AM)
diff --git a/code/game/objects/items/devices/tvcamera.dm b/code/game/objects/items/devices/tvcamera.dm
index 53c9f559bc5..bbcbc43e488 100644
--- a/code/game/objects/items/devices/tvcamera.dm
+++ b/code/game/objects/items/devices/tvcamera.dm
@@ -97,20 +97,20 @@
/* Assembly by a roboticist */
/obj/item/robot_parts/head/attackby(var/obj/item/assembly/S, mob/user)
- if ((!istype(S, /obj/item/assembly/infra)))
- ..()
- return
+ if (!istype(S, /obj/item/assembly/infra))
+ return ..()
var/obj/item/TVAssembly/A = new(user)
qdel(S)
user.put_in_hands(A)
to_chat(user, "You add the infrared sensor to the robot head.")
qdel(src)
+ return TRUE
/* Using camcorder icon as I can't sprite.
Using robohead because of restricting to roboticist */
/obj/item/TVAssembly
name = "TV Camera assembly"
- desc = "A robotic head with an infrared sensor inside"
+ desc = "A robotic head with an infrared sensor inside."
icon = 'icons/obj/robot_parts.dmi'
icon_state = "head"
item_state = "head"
@@ -118,6 +118,7 @@ Using robohead because of restricting to roboticist */
w_class = ITEM_SIZE_LARGE
material = /decl/material/solid/metal/steel
+// TODO: refactor this to use slapcrafting? remove entirely?
/obj/item/TVAssembly/attackby(var/obj/item/W, var/mob/user)
switch(buildstep)
if(0)
@@ -126,30 +127,30 @@ Using robohead because of restricting to roboticist */
qdel(W)
desc = "This TV camera assembly has a camera module."
buildstep++
+ return TRUE
if(1)
if(istype(W, /obj/item/taperecorder))
qdel(W)
buildstep++
to_chat(user, "You add the tape recorder to [src]")
desc = "This TV camera assembly has a camera and audio module."
- return
+ return TRUE
if(2)
if(IS_COIL(W))
var/obj/item/stack/cable_coil/C = W
if(!C.use(3))
to_chat(user, "You need three cable coils to wire the devices.")
- ..()
- return
+ return TRUE
buildstep++
to_chat(user, SPAN_NOTICE("You wire the assembly."))
desc = "This TV camera assembly has wires sticking out."
- return
+ return TRUE
if(3)
if(IS_WIRECUTTER(W))
to_chat(user, " You trim the wires.")
buildstep++
desc = "This TV camera assembly needs casing."
- return
+ return TRUE
if(4)
if(istype(W, /obj/item/stack/material))
var/obj/item/stack/material/S = W
@@ -159,8 +160,8 @@ Using robohead because of restricting to roboticist */
var/turf/T = get_turf(src)
new /obj/item/camera/tvcamera(T)
qdel(src)
- return
- ..()
+ return TRUE
+ return ..()
/datum/extension/network_device/camera/television
expected_type = /obj/item/camera/tvcamera
diff --git a/code/game/objects/items/glassjar.dm b/code/game/objects/items/glassjar.dm
index 01a23dd12ca..22e99321baa 100644
--- a/code/game/objects/items/glassjar.dm
+++ b/code/game/objects/items/glassjar.dm
@@ -76,12 +76,14 @@
if(contains == 0)
contains = 1
if(contains != 1)
- return
+ return TRUE
if(!user.try_unequip(W, src))
- return
+ return TRUE
var/obj/item/cash/S = W
user.visible_message("[user] puts \the [S] into \the [src].")
update_icon()
+ return TRUE
+ return ..()
/obj/item/glass_jar/on_update_icon() // Also updates name and desc
. = ..()
diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm
index 3caccdad337..6066fbeaede 100644
--- a/code/game/objects/items/latexballoon.dm
+++ b/code/game/objects/items/latexballoon.dm
@@ -1,3 +1,4 @@
+// TODO: This is literally only available from abandoned mining crates. Remove?
/obj/item/latexballon
name = "latex glove"
desc = "A latex glove, usually used as a balloon."
@@ -45,3 +46,5 @@
/obj/item/latexballon/attackby(obj/item/W, mob/user)
if (W.can_puncture())
burst()
+ return TRUE
+ return FALSE
diff --git a/code/game/objects/items/rescuebag.dm b/code/game/objects/items/rescuebag.dm
index c8d9504aa83..da10d3c8500 100644
--- a/code/game/objects/items/rescuebag.dm
+++ b/code/game/objects/items/rescuebag.dm
@@ -35,18 +35,19 @@
if(istype(W,/obj/item/tank))
if(airtank)
to_chat(user, "\The [src] already has an air tank installed.")
- return 1
- else if(user.try_unequip(W))
+ return TRUE
+ if(user.try_unequip(W))
W.forceMove(src)
airtank = W
to_chat(user, "You install \the [W] in \the [src].")
- return 1
+ return TRUE
else if(airtank && IS_SCREWDRIVER(W))
to_chat(user, "You remove \the [airtank] from \the [src].")
airtank.dropInto(loc)
airtank = null
+ return TRUE
else
- ..()
+ return ..()
/obj/item/bodybag/rescue/examine(mob/user)
. = ..()
@@ -88,21 +89,21 @@
add_overlay("tank")
/obj/structure/closet/body_bag/rescue/attackby(obj/item/W, mob/user, var/click_params)
- if(istype(W,/obj/item/tank/))
+ if(istype(W,/obj/item/tank))
if(airtank)
to_chat(user, "\The [src] already has an air tank installed.")
- return 1
else if(user.try_unequip(W, src))
set_tank(W)
to_chat(user, "You install \the [W] in \the [src].")
- return 1
+ return TRUE
else if(airtank && IS_SCREWDRIVER(W))
to_chat(user, "You remove \the [airtank] from \the [src].")
airtank.dropInto(loc)
airtank = null
update_icon()
+ return TRUE
else
- ..()
+ return ..()
/obj/structure/closet/body_bag/rescue/fold(var/user)
var/obj/item/tank/my_tank = airtank
diff --git a/code/game/objects/items/robot/robot_frame.dm b/code/game/objects/items/robot/robot_frame.dm
index 6c6f6857f79..bd8f71787b8 100644
--- a/code/game/objects/items/robot/robot_frame.dm
+++ b/code/game/objects/items/robot/robot_frame.dm
@@ -38,7 +38,7 @@
if(IS_CROWBAR(W))
if(!parts.len)
to_chat(user, SPAN_WARNING("\The [src] has no parts to remove."))
- return
+ return TRUE
var/removing = pick(parts)
var/obj/item/robot_parts/part = parts[removing]
part.forceMove(get_turf(src))
@@ -46,44 +46,44 @@
parts -= removing
to_chat(user, SPAN_WARNING("You lever \the [part] off \the [src]."))
update_icon()
+ return TRUE
// Install a robotic part.
else if (istype(W, /obj/item/robot_parts))
var/obj/item/robot_parts/part = W
if(!required_parts[part.bp_tag] || !istype(W, required_parts[part.bp_tag]))
to_chat(user, SPAN_WARNING("\The [src] is not compatible with \the [W]."))
- return
- if(parts[part.bp_tag])
+ else if(parts[part.bp_tag])
to_chat(user, SPAN_WARNING("\The [src] already has \a [W] installed."))
- return
- if(part.can_install(user) && user.try_unequip(W, src))
+ else if(part.can_install(user) && user.try_unequip(W, src))
parts[part.bp_tag] = part
update_icon()
+ return TRUE
// Install a brain.
else if(istype(W, /obj/item/organ/internal/brain_interface))
if(!isturf(loc))
to_chat(user, SPAN_WARNING("You can't put \the [W] in without the frame being on the ground."))
- return
+ return TRUE
if(!check_completion())
to_chat(user, SPAN_WARNING("The frame is not ready for the central processor to be installed."))
- return
+ return TRUE
var/obj/item/organ/internal/brain_interface/M = W
var/mob/living/brainmob = M?.get_brainmob()
if(!brainmob)
to_chat(user, SPAN_WARNING("Sticking an empty [W.name] into the frame would sort of defeat the purpose."))
- return
+ return TRUE
if(jobban_isbanned(brainmob, ASSIGNMENT_ROBOT))
to_chat(user, SPAN_WARNING("\The [W] does not seem to fit."))
- return
+ return TRUE
if(brainmob.stat == DEAD)
to_chat(user, SPAN_WARNING("Sticking a dead [W.name] into the frame would sort of defeat the purpose."))
- return
+ return TRUE
var/ghost_can_reenter = 0
if(brainmob.mind)
@@ -96,15 +96,15 @@
ghost_can_reenter = 1
if(!ghost_can_reenter)
to_chat(user, SPAN_WARNING("\The [W] is completely unresponsive; there's no point."))
- return
+ return TRUE
if(!user.try_unequip(W))
- return
+ return TRUE
SSstatistics.add_field("cyborg_frames_built",1)
var/mob/living/silicon/robot/O = new product(get_turf(loc))
if(!O)
- return
+ return TRUE
O.central_processor = W
O.set_invisibility(INVISIBILITY_NONE)
@@ -131,13 +131,15 @@
RAISE_EVENT(/decl/observ/cyborg_created, O)
O.Namepick()
qdel(src)
+ return TRUE
else if(IS_PEN(W))
var/t = sanitize_safe(input(user, "Enter new robot name", src.name, src.created_name), MAX_NAME_LEN)
if(t && (in_range(src, user) || loc == user))
created_name = t
+ return TRUE
else
- ..()
+ return ..()
/obj/item/robot_parts/robot_suit/Destroy()
parts.Cut()
diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm
index 8c2ab4a8b85..1ddf859d338 100644
--- a/code/game/objects/items/robot/robot_parts.dm
+++ b/code/game/objects/items/robot/robot_parts.dm
@@ -107,38 +107,39 @@
return success && ..()
/obj/item/robot_parts/chest/attackby(obj/item/W, mob/user)
- ..()
if(istype(W, /obj/item/cell))
if(src.cell)
to_chat(user, "You have already inserted a cell!")
- return
else
if(!user.try_unequip(W, src))
- return
+ return TRUE
src.cell = W
to_chat(user, "You insert the cell!")
+ return TRUE
if(IS_COIL(W))
if(src.wires)
to_chat(user, "You have already inserted wire!")
- return
else
var/obj/item/stack/cable_coil/coil = W
if(coil.use(1))
src.wires = 1.0
to_chat(user, "You insert the wire!")
+ return TRUE
+ return ..()
/obj/item/robot_parts/head/attackby(obj/item/W, mob/user)
- ..()
if(istype(W, /obj/item/flash))
if(isrobot(user))
var/current_module = user.get_active_held_item()
if(current_module == W)
to_chat(user, "How do you propose to do that?")
- return
+ return TRUE
else
add_flashes(W,user)
else
add_flashes(W,user)
+ return TRUE
+ return ..()
/obj/item/robot_parts/head/proc/add_flashes(obj/item/W, mob/user) //Made into a seperate proc to avoid copypasta
if(src.flash1 && src.flash2)
diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm
index 6bade0a529e..18dce99c9e5 100644
--- a/code/game/objects/items/shooting_range.dm
+++ b/code/game/objects/items/shooting_range.dm
@@ -23,8 +23,9 @@
overlays.Cut()
bulletholes.Cut()
hp = initial(hp)
- to_chat(usr, "You slice off [src]'s uneven chunks of aluminium and scorch marks.")
- return
+ to_chat(user, "You slice off [src]'s uneven chunks of aluminium and scorch marks.")
+ return TRUE
+ return ..()
/obj/item/target/attack_hand(var/mob/user)
// taking pinned targets off!
diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm
index 31e220e6cf3..86363f815e9 100644
--- a/code/game/objects/items/stacks/rods.dm
+++ b/code/game/objects/items/stacks/rods.dm
@@ -60,7 +60,7 @@
if(!can_use(2))
to_chat(user, "You need at least two rods to do this.")
- return
+ return TRUE
if(WT.weld(0,user))
visible_message(SPAN_NOTICE("\The [src] is fused together by \the [user] with \the [WT]."), 3, SPAN_NOTICE("You hear welding."), 2)
@@ -69,13 +69,13 @@
if(user.is_holding_offhand(src))
user.put_in_hands(new_item)
use(2)
- return
+ return TRUE
if (istype(W, /obj/item/stack/tape_roll/duct_tape))
var/obj/item/stack/tape_roll/duct_tape/T = W
if(!T.can_use(4))
to_chat(user, SPAN_WARNING("You need 4 [T.plural_name] to make a splint!"))
- return
+ return TRUE
T.use(4)
var/obj/item/stack/medical/splint/improvised/new_splint = new(user.loc)
@@ -85,10 +85,8 @@
user.visible_message(SPAN_NOTICE("\The [user] constructs \a [new_splint] out of a [singular_name]."), \
SPAN_NOTICE("You use make \a [new_splint] out of a [singular_name]."))
src.use(1)
-
- return
-
- ..()
+ return TRUE
+ return ..()
/obj/item/stack/material/rods/attack_self(mob/user)
add_fingerprint(user)
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index 131b9f2c4ee..a53c61d5bad 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -286,7 +286,8 @@
/obj/item/stack/tile/carpet/on_update_icon()
. = ..()
color = get_color()
- set_overlays(overlay_image(icon, "[icon_state]-detail", detail_color, RESET_COLOR))
+ if(detail_color)
+ set_overlays(overlay_image(icon, "[icon_state]-detail", detail_color, RESET_COLOR))
/obj/item/stack/tile/carpet/fifty
amount = 50
@@ -370,6 +371,13 @@
/obj/item/stack/tile/carpet/red/fifty
amount = 50
+/obj/item/stack/tile/carpet/rustic
+ name = "rustic carpet"
+ desc = "A piece of simple, rustic carpeting."
+ singular_name = "rustic carpet"
+ paint_color = COLOR_CHESTNUT
+ detail_color = null
+
/obj/item/stack/tile/pool
name = "pool tiling"
desc = "A set of tiles designed to build fluid pools."
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index b6058c4afa8..78dd90338f6 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -496,7 +496,7 @@
name = "foam sword"
desc = "An arcane weapon (made of foam) wielded by the followers of the hit Saturday morning cartoon \"King Nursee and the Acolytes of Heroism\"."
icon = 'icons/obj/items/weapon/swords/cult.dmi'
- material = /decl/material/solid/organic/plastic
+ material = /decl/material/solid/organic/plastic/foam
edge = 0
sharp = 0
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index b652975ccaf..8e40d1f38f8 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -50,19 +50,17 @@
update_icon() //Initializes the ammo counter
/obj/item/rcd/attackby(obj/item/W, mob/user)
-
if(istype(W, /obj/item/rcd_ammo))
var/obj/item/rcd_ammo/cartridge = W
if((stored_matter + cartridge.remaining) > max_stored_matter)
to_chat(user, "The RCD can't hold that many additional matter-units.")
- return
+ return TRUE
stored_matter += cartridge.remaining
qdel(W)
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
to_chat(user, "The RCD now holds [stored_matter]/[max_stored_matter] matter-units.")
update_icon()
- return
-
+ return TRUE
if(IS_SCREWDRIVER(W))
crafting = !crafting
if(!crafting)
@@ -70,9 +68,8 @@
else
to_chat(user, "The RCD can now be modified.")
src.add_fingerprint(user)
- return
-
- ..()
+ return TRUE
+ return ..()
/obj/item/rcd/attack_self(mob/user)
//Change the mode
@@ -165,7 +162,7 @@
return 0
/obj/item/rcd/borg/attackby()
- return
+ return FALSE
/obj/item/rcd/borg/can_use(var/mob/user,var/turf/T)
return (user.Adjacent(T) && !user.incapacitated())
@@ -185,7 +182,7 @@
return 0
/obj/item/rcd/mounted/attackby()
- return
+ return FALSE
/obj/item/rcd/mounted/can_use(var/mob/user,var/turf/T)
return (user.Adjacent(T) && !user.incapacitated())
@@ -271,7 +268,7 @@
/decl/hierarchy/rcd_mode/floor_and_walls/base_turf
cost = 1
delay = 2 SECONDS
- work_type = /turf/floor/airless
+ work_type = /turf/floor/plating/airless
/decl/hierarchy/rcd_mode/floor_and_walls/base_turf/can_handle_work(var/rcd, var/turf/target)
return istype(target) && (isspaceturf(target) || istype(target, get_base_turf_by_area(target)))
diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm
index 1a1af2f8a79..cf1a465a2e3 100644
--- a/code/game/objects/items/weapons/RPD.dm
+++ b/code/game/objects/items/weapons/RPD.dm
@@ -165,10 +165,10 @@ var/global/list/rpd_pipe_selection_skilled = list()
/obj/item/rpd/attackby(var/obj/item/W, var/mob/user)
if(istype(W, /obj/item/pipe))
if(!user.try_unequip(W))
- return
+ return TRUE
recycle(W,user)
- return
- ..()
+ return TRUE
+ return ..()
/obj/item/rpd/proc/recycle(var/obj/item/W,var/mob/user)
if(!user.skill_check(SKILL_ATMOS,SKILL_BASIC))
diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm
index 5184c06fdad..0f0a7ecb4d0 100644
--- a/code/game/objects/items/weapons/RSF.dm
+++ b/code/game/objects/items/weapons/RSF.dm
@@ -28,19 +28,16 @@ RSF
to_chat(user, "It currently holds [stored_matter]/30 fabrication-units.")
/obj/item/rsf/attackby(obj/item/W, mob/user)
- ..()
if (istype(W, /obj/item/rcd_ammo))
-
if ((stored_matter + 10) > 30)
to_chat(user, "The RSF can't hold any more matter.")
- return
-
+ return TRUE
qdel(W)
-
stored_matter += 10
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
to_chat(user, "The RSF now holds [stored_matter]/30 fabrication-units.")
- return
+ return TRUE
+ return ..()
/obj/item/rsf/attack_self(mob/user)
playsound(src.loc, 'sound/effects/pop.ogg', 50, 0)
diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm
index 96db0d005ea..f367fe6ebb2 100644
--- a/code/game/objects/items/weapons/cards_ids.dm
+++ b/code/game/objects/items/weapons/cards_ids.dm
@@ -44,8 +44,8 @@
if(signature && !signed_by && !user.incapacitated() && Adjacent(user))
signed_by = signature
user.visible_message(SPAN_NOTICE("\The [user] signs \the [src] with a flourish."))
- return
- ..()
+ return TRUE
+ return ..()
/obj/item/card/data
name = "data card"
diff --git a/code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm b/code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm
index a625fb1edaf..6835b272aa6 100644
--- a/code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm
+++ b/code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm
@@ -1,21 +1,15 @@
/obj/item/stock_parts/circuitboard/miningdrill
name = "circuitboard (mining drill head)"
- build_path = /obj/machinery/mining/drill
+ build_path = /obj/machinery/mining_drill
board_type = "machine"
origin_tech = @'{"programming":1,"engineering":1}'
req_components = list(
/obj/item/stock_parts/capacitor = 1,
/obj/item/stock_parts/matter_bin = 1,
- /obj/item/stock_parts/micro_laser = 1)
+ /obj/item/stock_parts/micro_laser = 1,
+ /obj/item/stock_parts/scanning_module = 1
+ )
additional_spawn_components = list(
/obj/item/stock_parts/power/battery/buildable/stock,
/obj/item/cell = 1
)
-
-/obj/item/stock_parts/circuitboard/miningdrillbrace
- name = "circuitboard (mining drill brace)"
- build_path = /obj/machinery/mining/brace
- board_type = "machine"
- origin_tech = @'{"programming":1,"engineering":1}'
- req_components = list()
- additional_spawn_components = null
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index 1ad21ad4a4f..18ed460f4b2 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -68,19 +68,22 @@
toggle_paddles()
return TRUE
+// TODO: This should really use the cell extension
/obj/item/defibrillator/attackby(obj/item/W, mob/user, params)
if(W == paddles)
reattach_paddles(user)
+ return TRUE
else if(istype(W, /obj/item/cell))
if(bcell)
- to_chat(user, "\the [src] already has a cell.")
+ to_chat(user, "\The [src] already has a cell.")
else
if(!user.try_unequip(W))
- return
+ return TRUE
W.forceMove(src)
bcell = W
to_chat(user, "You install a cell in \the [src].")
update_icon()
+ return TRUE
else if(IS_SCREWDRIVER(W))
if(bcell)
@@ -89,6 +92,8 @@
bcell = null
to_chat(user, "You remove the cell from \the [src].")
update_icon()
+ return TRUE
+ return FALSE
else
return ..()
diff --git a/code/game/objects/items/weapons/electric_welder.dm b/code/game/objects/items/weapons/electric_welder.dm
index 9357b47ec24..cb949be907d 100644
--- a/code/game/objects/items/weapons/electric_welder.dm
+++ b/code/game/objects/items/weapons/electric_welder.dm
@@ -44,7 +44,7 @@
/obj/item/weldingtool/electric/attackby(var/obj/item/W, var/mob/user)
if(istype(W,/obj/item/stack/material/rods) || istype(W, /obj/item/chems/welder_tank))
- return
+ return FALSE // NO ELECTRIC FLAMETHROWER
return ..()
/obj/item/weldingtool/electric/use_fuel(var/amount)
diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm
index 375674a32f9..289c8d6fcd5 100644
--- a/code/game/objects/items/weapons/explosives.dm
+++ b/code/game/objects/items/weapons/explosives.dm
@@ -32,10 +32,11 @@
if(IS_SCREWDRIVER(I))
open_panel = !open_panel
to_chat(user, "You [open_panel ? "open" : "close"] the wire panel.")
+ return TRUE
else if(IS_WIRECUTTER(I) || IS_MULTITOOL(I) || istype(I, /obj/item/assembly/signaler ))
- wires.Interact(user)
+ return wires.Interact(user)
else
- ..()
+ return ..()
/obj/item/plastique/attack_self(mob/user)
var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num
diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm
index 0aa918ffbc2..a59f5ec44ba 100644
--- a/code/game/objects/items/weapons/gift_wrappaper.dm
+++ b/code/game/objects/items/weapons/gift_wrappaper.dm
@@ -28,17 +28,17 @@
if(!QDELETED(src))
qdel(src)
+// this can't be made, should it just be removed?
+// should it be made into a subtype of closet? of living statue?
/obj/effect/spresent/relaymove(mob/user)
if (user.stat)
return
to_chat(user, "You can't move.")
/obj/effect/spresent/attackby(obj/item/W, mob/user)
- ..()
-
if(!IS_WIRECUTTER(W))
to_chat(user, "I need wirecutters for that.")
- return
+ return TRUE
to_chat(user, "You cut open the present.")
@@ -49,6 +49,7 @@
M.client.perspective = MOB_PERSPECTIVE
qdel(src)
+ return TRUE
/obj/item/a_gift/attack_self(mob/M)
var/gift_type = pick(
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index 8645c5fde80..020e4634208 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -53,12 +53,12 @@
var/obj/item/assembly_holder/det = W
if(istype(det.a_left,det.a_right.type) || (!isigniter(det.a_left) && !isigniter(det.a_right)))
to_chat(user, "Assembly must contain one igniter.")
- return
+ return TRUE
if(!det.secured)
to_chat(user, "Assembly must be secured with screwdriver.")
- return
+ return TRUE
if(!user.try_unequip(det, src))
- return
+ return TRUE
path = 1
log_and_message_admins("has attached \a [W] to \the [src].")
to_chat(user, "You add [W] to the metal casing.")
@@ -72,6 +72,7 @@
det_time = 10*T.time
SetName("unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]")
stage = 1
+ . = TRUE
else if(IS_SCREWDRIVER(W) && path != 2)
if(stage == 1)
path = 1
@@ -83,33 +84,40 @@
SetName("fake grenade")
playsound(src.loc, 'sound/items/Screwdriver.ogg', 25, -3)
stage = 2
+ . = TRUE
else if(stage == 2)
if(active && prob(95))
to_chat(user, "You trigger the assembly!")
detonate()
- return
+ return TRUE
else
to_chat(user, "You unlock the assembly.")
playsound(src.loc, 'sound/items/Screwdriver.ogg', 25, -3)
SetName("unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]")
stage = 1
active = FALSE
+ . = TRUE
else if(is_type_in_list(W, allowed_containers) && (!stage || stage==1) && path != 2)
path = 1
if(beakers.len == 2)
to_chat(user, "The grenade can not hold more containers.")
- return
+ return TRUE
else
if(W.reagents.total_volume)
if(!user.try_unequip(W, src))
- return
+ return TRUE
to_chat(user, "You add \the [W] to the assembly.")
beakers += W
stage = 1
SetName("unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]")
+ . = TRUE
else
to_chat(user, "\The [W] is empty.")
- update_icon()
+ return TRUE
+ if(.)
+ update_icon()
+ return TRUE
+ return ..()
/obj/item/grenade/chem_grenade/activate(mob/user)
if(active)
diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm
index afa8ce2a0e5..36bb284a2c5 100644
--- a/code/game/objects/items/weapons/implants/implantcase.dm
+++ b/code/game/objects/items/weapons/implants/implantcase.dm
@@ -39,13 +39,14 @@
else
icon_state = "implantcase-0"
+// TODO: the name stuff here probably doesn't work, this needs an update_name override
/obj/item/implantcase/attackby(obj/item/I, mob/user)
if (IS_PEN(I))
var/t = input(user, "What would you like the label to be?", src.name, null)
if (user.get_active_held_item() != I)
- return
+ return TRUE
if((!in_range(src, usr) && loc != user))
- return
+ return TRUE
t = sanitize_safe(t, MAX_NAME_LEN)
if(t)
SetName("glass case - '[t]'")
@@ -53,9 +54,9 @@
else
SetName(initial(name))
desc = "A case containing an implant."
- else if(istype(I, /obj/item/chems/syringe))
- if(istype(imp,/obj/item/implant/chem))
- imp.attackby(I,user)
+ return TRUE
+ else if(istype(I, /obj/item/chems/syringe) && istype(imp,/obj/item/implant/chem))
+ return imp.attackby(I,user)
else if (istype(I, /obj/item/implanter))
var/obj/item/implanter/M = I
if (M.imp && !imp && !M.imp.implanted)
@@ -69,10 +70,11 @@
update_description()
update_icon()
M.update_icon()
+ return TRUE
else if (istype(I, /obj/item/implant) && user.try_unequip(I, src))
to_chat(usr, "You slide \the [I] into \the [src].")
imp = I
update_description()
update_icon()
- else
- return ..()
\ No newline at end of file
+ return TRUE
+ return ..()
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/implants/implantpad.dm b/code/game/objects/items/weapons/implants/implantpad.dm
index a0af46a9e31..7f1226b1eae 100644
--- a/code/game/objects/items/weapons/implants/implantpad.dm
+++ b/code/game/objects/items/weapons/implants/implantpad.dm
@@ -23,7 +23,6 @@
return TRUE
/obj/item/implantpad/attackby(obj/item/I, mob/user)
- ..()
if(istype(I, /obj/item/implantcase))
var/obj/item/implantcase/C = I
if(!imp && C.imp)
@@ -35,6 +34,7 @@
C.imp = imp
imp = null
C.update_icon()
+ . = TRUE
else if(istype(I, /obj/item/implanter))
var/obj/item/implanter/C = I
if(!imp && C.imp)
@@ -46,9 +46,14 @@
C.imp = imp
imp = null
C.update_icon()
+ . = TRUE
else if(istype(I, /obj/item/implant) && user.try_unequip(I, src))
imp = I
- update_icon()
+ . = TRUE
+ if(.)
+ update_icon()
+ return TRUE
+ return ..()
/obj/item/implantpad/attack_self(mob/user)
if (imp)
diff --git a/code/game/objects/items/weapons/implants/implants/chem.dm b/code/game/objects/items/weapons/implants/implants/chem.dm
index 882ac22ddcc..ccb8f8467b1 100644
--- a/code/game/objects/items/weapons/implants/implants/chem.dm
+++ b/code/game/objects/items/weapons/implants/implants/chem.dm
@@ -48,8 +48,9 @@ var/global/list/chem_implants = list()
if(do_after(user,5,src))
I.reagents.trans_to_obj(src, 5)
to_chat(user, "You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units.")
+ return TRUE
else
- ..()
+ return ..()
/obj/item/implantcase/chem
name = "glass case - 'chem'"
diff --git a/code/game/objects/items/weapons/material/ashtray.dm b/code/game/objects/items/weapons/material/ashtray.dm
index e659fe3fd4d..fe6ac6673c9 100644
--- a/code/game/objects/items/weapons/material/ashtray.dm
+++ b/code/game/objects/items/weapons/material/ashtray.dm
@@ -28,7 +28,7 @@
if (istype(W,/obj/item/trash/cigbutt) || istype(W,/obj/item/clothing/mask/smokable/cigarette) || istype(W, /obj/item/flame/match))
if (contents.len >= max_butts)
to_chat(user, "\The [src] is full.")
- return
+ return TRUE
if (istype(W,/obj/item/clothing/mask/smokable/cigarette))
var/obj/item/clothing/mask/smokable/cigarette/cig = W
@@ -43,6 +43,7 @@
if(user.try_unequip(W, src))
set_extension(src, /datum/extension/scent/ashtray)
update_icon()
+ return TRUE
return ..()
/obj/item/ashtray/throw_impact(atom/hit_atom)
diff --git a/code/game/objects/items/weapons/material/shards.dm b/code/game/objects/items/weapons/material/shards.dm
index 0b21d442b09..0f7ba375f55 100644
--- a/code/game/objects/items/weapons/material/shards.dm
+++ b/code/game/objects/items/weapons/material/shards.dm
@@ -64,24 +64,24 @@
if(WT.weld(0, user))
material.create_object(get_turf(src))
qdel(src)
- return
+ return TRUE
if(istype(W, /obj/item/stack/cable_coil))
if(!material || (material.shard_type in list(SHARD_SPLINTER, SHARD_SHRAPNEL)))
to_chat(user, SPAN_WARNING("\The [src] is not suitable for using as a shank."))
- return
+ return TRUE
if(has_handle)
to_chat(user, SPAN_WARNING("\The [src] already has a handle."))
- return
+ return TRUE
var/obj/item/stack/cable_coil/cable = W
if(cable.use(3))
to_chat(user, SPAN_NOTICE("You wind some cable around the thick end of \the [src]."))
has_handle = cable.color
SetName("[material.solid_name] shank")
update_icon()
- return
+ return TRUE
to_chat(user, SPAN_WARNING("You need 3 or more units of cable to give \the [src] a handle."))
- return
+ return TRUE
return ..()
/obj/item/shard/on_update_icon()
diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm
index 7b453b2eca3..6520154a48c 100644
--- a/code/game/objects/items/weapons/mop.dm
+++ b/code/game/objects/items/weapons/mop.dm
@@ -69,8 +69,8 @@
/obj/effect/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/mop) || istype(I, /obj/item/soap))
- return
- ..()
+ return FALSE
+ return ..()
/obj/item/mop/advanced
desc = "The most advanced tool in a custodian's arsenal, with a cleaner synthesizer to boot! Just think of all the viscera you will clean up with this!"
diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm
index 4bab4c615ee..c7443568027 100644
--- a/code/game/objects/items/weapons/policetape.dm
+++ b/code/game/objects/items/weapons/policetape.dm
@@ -89,7 +89,8 @@ var/global/list/image/hazard_overlays //Cached hazard floor overlays for the bar
return ..()
/obj/item/stack/tape_roll/barricade_tape/attack_hand()
- if((. = ..()) && !QDELETED(src))
+ . = ..()
+ if(. && !QDELETED(src))
update_icon()
/**Callback used when whoever holds us moved to a new turf. */
diff --git a/code/game/objects/items/weapons/secrets_disk.dm b/code/game/objects/items/weapons/secrets_disk.dm
index 83a80ac651e..ee152b86151 100644
--- a/code/game/objects/items/weapons/secrets_disk.dm
+++ b/code/game/objects/items/weapons/secrets_disk.dm
@@ -48,7 +48,7 @@
to_chat(user, "You swipe your card and [locked ? "lock":"unlock"] the disk.")
else
to_chat(user, "The disk's screen flashes 'Access Denied'.")
- return
+ return TRUE
. = ..()
/obj/item/disk/secret_project/verb/change_codename()
diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm
index 65a980ac373..db21be248f5 100644
--- a/code/game/objects/items/weapons/shields.dm
+++ b/code/game/objects/items/weapons/shields.dm
@@ -91,8 +91,9 @@
user.visible_message("[user] bashes [src] with [W]!")
playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1)
cooldown = world.time
+ return TRUE
else
- ..()
+ return ..()
/obj/item/shield/riot/metal
name = "plasteel combat shield"
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index c18a442a2fb..3d6aa29ea00 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -64,7 +64,7 @@
/obj/item/belt/holster/attackby(obj/item/W, mob/user)
var/datum/extension/holster/H = get_extension(src, /datum/extension/holster)
if(H.holster(W, user))
- return
+ return TRUE
else
. = ..(W, user)
diff --git a/code/game/objects/items/weapons/storage/fancy/cigarettes.dm b/code/game/objects/items/weapons/storage/fancy/cigarettes.dm
index 8f1f1efa1ff..b8f10502a53 100644
--- a/code/game/objects/items/weapons/storage/fancy/cigarettes.dm
+++ b/code/game/objects/items/weapons/storage/fancy/cigarettes.dm
@@ -25,10 +25,6 @@
. = ..()
/obj/item/box/fancy/cigarettes/use_on_mob(mob/living/target, mob/living/user, animate = TRUE)
-
- if(!ismob(target))
- return
-
if(target == user && user.get_target_zone() == BP_MOUTH && contents.len > 0 && !user.get_equipped_item(slot_wear_mask_str))
// Find ourselves a cig. Note that we could be full of lighters.
var/obj/item/clothing/mask/smokable/cigarette/cig = null
diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm
index 27b3d4c0c4c..3ad6fb923d8 100644
--- a/code/game/objects/items/weapons/storage/lockbox.dm
+++ b/code/game/objects/items/weapons/storage/lockbox.dm
@@ -22,30 +22,30 @@
if (istype(W, /obj/item/card/id))
if(src.broken)
to_chat(user, "It appears to be broken.")
- return
+ return TRUE
if(src.allowed(user))
src.locked = !( src.locked )
if(src.locked)
src.icon_state = src.icon_locked
to_chat(user, "You lock \the [src]!")
storage?.close_all()
- return
else
src.icon_state = src.icon_closed
to_chat(user, "You unlock \the [src]!")
- return
else
to_chat(user, "Access Denied")
+ return TRUE
else if(istype(W, /obj/item/energy_blade))
var/obj/item/energy_blade/blade = W
if(blade.is_special_cutting_tool() && emag_act(INFINITY, user, W, "The locker has been sliced open by [user] with an energy blade!", "You hear metal being sliced and sparks flying."))
spark_at(src.loc, amount=5)
playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
+ return TRUE
if(!locked)
- ..()
+ return ..()
else
to_chat(user, "It's locked!")
- return
+ return TRUE
/obj/item/lockbox/emag_act(var/remaining_charges, var/mob/user, var/emag_source, var/visual_feedback = "", var/audible_feedback = "")
if(!broken)
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index 5eb5f0a1de4..19eed200847 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -49,11 +49,12 @@
/obj/item/secure_storage/attackby(obj/item/W, mob/user)
var/datum/extension/lockable/lock = get_extension(src, /datum/extension/lockable)
if(lock.attackby(W, user))
- return
+ return TRUE
// -> storage/attackby() what with handle insertion, etc
if(!lock.locked)
. = ..()
+ return FALSE
/obj/item/secure_storage/handle_mouse_drop(atom/over, mob/user, params)
var/datum/extension/lockable/lock = get_extension(src, /datum/extension/lockable)
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 4ae5178f282..506f7399815 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -172,7 +172,7 @@
return 0
/obj/item/baton/robot/attackby(obj/item/W, mob/user)
- return
+ return FALSE
/obj/item/baton/robot/setup_power_supply(loaded_cell_type, accepted_cell_type, power_supply_extension_type, charge_value)
SHOULD_CALL_PARENT(FALSE)
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index 0ecc535440b..02b8102756d 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -117,17 +117,17 @@ var/global/list/global/tank_gauge_cache = list()
/obj/item/tank/attackby(var/obj/item/W, var/mob/user)
- ..()
if (istype(loc, /obj/item/assembly))
icon = loc
if (istype(W, /obj/item/scanner/gas))
- return
+ return TRUE
if (istype(W,/obj/item/latexballon))
var/obj/item/latexballon/LB = W
LB.blow(src)
add_fingerprint(user)
+ return TRUE
if(IS_COIL(W))
var/obj/item/stack/cable_coil/C = W
@@ -135,6 +135,7 @@ var/global/list/global/tank_gauge_cache = list()
wired = 1
to_chat(user, "You attach the wires to the tank.")
update_icon(TRUE)
+ return TRUE
if(IS_WIRECUTTER(W))
if(wired && proxyassembly.assembly)
@@ -162,6 +163,7 @@ var/global/list/global/tank_gauge_cache = list()
to_chat(user, "You slip and bump the igniter!")
if(prob(85))
proxyassembly.receive_signal()
+ return TRUE
else if(wired)
if(do_after(user, 10, src))
@@ -171,6 +173,7 @@ var/global/list/global/tank_gauge_cache = list()
else
to_chat(user, "There are no wires to cut!")
+ return TRUE
if(istype(W, /obj/item/assembly_holder))
if(wired)
@@ -184,6 +187,7 @@ var/global/list/global/tank_gauge_cache = list()
to_chat(user, "You stop attaching the assembly.")
else
to_chat(user, "You need to wire the device up first.")
+ return TRUE
if(IS_WELDER(W))
var/obj/item/weldingtool/WT = W
@@ -205,14 +209,17 @@ var/global/list/global/tank_gauge_cache = list()
else
to_chat(user, "The emergency pressure relief valve has already been welded.")
add_fingerprint(user)
+ return TRUE
if(istype(W, /obj/item/flamethrower))
var/obj/item/flamethrower/F = W
if(!F.secured || F.tank || !user.try_unequip(src, F))
- return
+ return TRUE
master = F
F.tank = src
+ return TRUE
+ return ..()
/obj/item/tank/attack_self(mob/user)
add_fingerprint(user)
diff --git a/code/game/objects/items/weapons/tape.dm b/code/game/objects/items/weapons/tape.dm
index 7a527b80a92..8a9364e1e32 100644
--- a/code/game/objects/items/weapons/tape.dm
+++ b/code/game/objects/items/weapons/tape.dm
@@ -149,9 +149,9 @@
/obj/item/stack/tape_roll/duct_tape/proc/stick(var/obj/item/W, mob/user)
if(!(W.item_flags & ITEM_FLAG_CAN_TAPE) || !user.try_unequip(W))
- return
+ return FALSE
if(!can_use(1))
- return
+ return FALSE
use(1)
var/obj/item/duct_tape/tape = new(get_turf(src))
tape.attach(W)
diff --git a/code/game/objects/items/weapons/tools/weldingtool.dm b/code/game/objects/items/weapons/tools/weldingtool.dm
index 2143a7297eb..6cc583631c2 100644
--- a/code/game/objects/items/weapons/tools/weldingtool.dm
+++ b/code/game/objects/items/weapons/tools/weldingtool.dm
@@ -147,7 +147,7 @@
/obj/item/weldingtool/attackby(obj/item/W, mob/user)
if(welding)
to_chat(user, SPAN_WARNING("Stop welding first!"))
- return
+ return TRUE
if (istype(W, /obj/item/chems/welder_tank))
return insert_tank(W, user)
@@ -213,11 +213,11 @@
//Removes fuel from the welding tool. If a mob is passed, it will perform an eyecheck on the mob.
/obj/item/weldingtool/proc/weld(var/fuel_usage = 1, var/mob/user = null)
if(!welding)
- return
+ return FALSE
if(get_fuel() < fuel_usage)
if(user)
to_chat(user, SPAN_NOTICE("You need more [welding_resource] to complete this task."))
- return
+ return FALSE
use_fuel(fuel_usage)
if(user)
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index 47af2bcad50..73a259e6458 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -210,7 +210,7 @@
/obj/effect/energy_net/attackby(obj/item/W, mob/user)
current_health -= W.get_attack_force(user)
healthcheck()
- ..()
+ return TRUE
/obj/effect/energy_net/user_unbuckle_mob(mob/user)
return escape_net(user)
diff --git a/code/game/objects/structures/__structure.dm b/code/game/objects/structures/__structure.dm
index db2c0c92707..6c3032c8709 100644
--- a/code/game/objects/structures/__structure.dm
+++ b/code/game/objects/structures/__structure.dm
@@ -18,7 +18,7 @@
var/mob_offset
var/paint_color
- var/paint_verb = "painted"
+ var/paint_verb
/obj/structure/get_color()
if(paint_color)
@@ -80,7 +80,8 @@
to_chat(user, damage_desc)
if(paint_color)
- to_chat(user, "\The [src] has been [paint_verb].")
+ var/decl/pronouns/structure_pronouns = get_pronouns() // so we can do 'have' for plural objects like sheets
+ to_chat(user, "\The [src] [structure_pronouns.has] been [paint_verb].")
if(tool_interaction_flags & TOOL_INTERACTION_ANCHOR)
if(anchored)
@@ -305,8 +306,15 @@ Note: This proc can be overwritten to allow for different types of auto-alignmen
// Calculation to apply new pixelshift.
var/mouse_x = text2num(click_data["icon-x"])-1 // Ranging from 0 to 31
var/mouse_y = text2num(click_data["icon-y"])-1
- var/cell_x = clamp(round(mouse_x/CELLSIZE), 0, CELLS-1) // Ranging from 0 to CELLS-1
- var/cell_y = clamp(round(mouse_y/CELLSIZE), 0, CELLS-1)
+ var/span_x = CELLS
+ var/span_y = CELLS
+ // In case we're a multitile object.
+ if(bound_width > world.icon_size)
+ span_x = bound_width / CELLSIZE
+ if(bound_height > world.icon_size)
+ span_y = bound_height / CELLSIZE
+ var/cell_x = clamp(round(mouse_x/CELLSIZE), 0, span_x-1) // Ranging from 0 to span_x-1
+ var/cell_y = clamp(round(mouse_y/CELLSIZE), 0, span_y-1)
var/list/center = cached_json_decode(W.center_of_mass)
W.pixel_x = (CELLSIZE * (cell_x + 0.5)) - center["x"]
W.pixel_y = (CELLSIZE * (cell_y + 0.5)) - center["y"]
diff --git a/code/game/objects/structures/_structure_materials.dm b/code/game/objects/structures/_structure_materials.dm
index bd070bd0a05..2c50f024bbe 100644
--- a/code/game/objects/structures/_structure_materials.dm
+++ b/code/game/objects/structures/_structure_materials.dm
@@ -22,6 +22,8 @@
set_opacity(FALSE)
else
set_opacity(initial(opacity))
+ if(isnull(initial(paint_verb)) && !isnull(material))
+ paint_verb = material.paint_verb
hitsound = material?.hitsound || initial(hitsound)
if(max_health != -1)
max_health = initial(max_health) + material?.integrity * get_material_health_modifier()
diff --git a/code/game/objects/structures/banners.dm b/code/game/objects/structures/banners.dm
index c00d20b438a..11f37de7bfd 100644
--- a/code/game/objects/structures/banners.dm
+++ b/code/game/objects/structures/banners.dm
@@ -88,7 +88,6 @@
icon_state = "banner"
material = /decl/material/solid/organic/cloth
color = /decl/material/solid/organic/cloth::color
- paint_verb = "dyed"
max_health = 20
material_alteration = MAT_FLAG_ALTERATION_COLOR | MAT_FLAG_ALTERATION_NAME
w_class = ITEM_SIZE_NORMAL
diff --git a/code/game/objects/structures/barsign.dm b/code/game/objects/structures/barsign.dm
index 42f4ad03af0..b867efb2361 100644
--- a/code/game/objects/structures/barsign.dm
+++ b/code/game/objects/structures/barsign.dm
@@ -42,11 +42,11 @@
if(access_bar in card.GetAccess())
var/sign_type = input(user, "What would you like to change the barsign to?") as null|anything in get_valid_states(0)
if(!sign_type)
- return
+ return TRUE
icon_state = sign_type
to_chat(user, "You change the barsign.")
else
to_chat(user, "Access denied.")
- return
+ return TRUE
return ..()
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index 1fd7e744110..bca9199f37d 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -26,8 +26,8 @@ LINEN BINS
for(var/i in 1 to rand(2,5))
new /obj/item/chems/glass/rag(get_turf(src))
qdel(src)
- return
- ..()
+ return TRUE
+ return ..()
/obj/item/bedsheet/yellowed
desc = "A surprisingly soft bedsheet. This one is old and yellowed."
@@ -142,9 +142,9 @@ LINEN BINS
if(istype(I, /obj/item/bedsheet))
if(curamount >= max_stored)
to_chat(user, SPAN_WARNING("\The [src] is full!"))
- return
+ return TRUE
if(!user.try_unequip(I, src))
- return
+ return TRUE
LAZYDISTINCTADD(sheets, I)
update_icon()
to_chat(user, SPAN_NOTICE("You put [I] in [src]."))
@@ -156,7 +156,7 @@ LINEN BINS
if(!.)
if(curamount && !hidden && I.w_class < w_class) //make sure there's sheets to hide it among, make sure nothing else is hidden in there.
if(!user.try_unequip(I, src))
- return
+ return TRUE
hidden = I
to_chat(user, SPAN_NOTICE("You hide [I] among the sheets."))
return TRUE
diff --git a/code/game/objects/structures/charge_pylon.dm b/code/game/objects/structures/charge_pylon.dm
index b6d071e8f5d..fd12329b714 100644
--- a/code/game/objects/structures/charge_pylon.dm
+++ b/code/game/objects/structures/charge_pylon.dm
@@ -45,12 +45,15 @@
visible_message("\The [user] has been shocked by \the [src]!")
user.throw_at(get_step(user,get_dir(src,user)), 5, 10)
-/obj/structure/charge_pylon/attackby(var/obj/item/grab/grab, mob/user)
- if(!istype(grab))
- return
+/obj/structure/charge_pylon/attackby(var/obj/item/item, mob/user)
+ if(!istype(item, /obj/item/grab))
+ return FALSE
+ var/obj/item/grab/grab = item
var/mob/M = grab.get_affecting_mob()
if(M)
charge_user(M)
+ return TRUE
+ return FALSE
/obj/structure/charge_pylon/Bumped(atom/AM)
if(ishuman(AM))
diff --git a/code/game/objects/structures/crates_lockers/closets/__closet.dm b/code/game/objects/structures/crates_lockers/closets/__closet.dm
index 3130191f59f..70b311eb6dc 100644
--- a/code/game/objects/structures/crates_lockers/closets/__closet.dm
+++ b/code/game/objects/structures/crates_lockers/closets/__closet.dm
@@ -319,7 +319,7 @@ var/global/list/closets = list()
if(!WT.weld(0,user))
if(WT.isOn())
to_chat(user, SPAN_NOTICE("You need more welding fuel to complete this task."))
- return
+ return TRUE
welded = !welded
update_icon()
user.visible_message(SPAN_WARNING("\The [src] has been [welded?"welded shut":"unwelded"] by \the [user]."), blind_message = "You hear welding.", range = 3)
diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/crates_lockers/closets/statue.dm
index a944adc5cd2..b34c334d77e 100644
--- a/code/game/objects/structures/crates_lockers/closets/statue.dm
+++ b/code/game/objects/structures/crates_lockers/closets/statue.dm
@@ -103,6 +103,7 @@
user.do_attack_animation(src)
visible_message("[user] strikes [src] with [I].")
check_health()
+ return TRUE
/obj/structure/closet/statue/receive_mouse_drop(atom/dropping, mob/user, params)
return TRUE
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index 087ab07f181..925b88e9b16 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -9,7 +9,7 @@
var/rigged = 0
/obj/structure/closet/crate/open(mob/user)
- if((atom_flags & ATOM_FLAG_OPEN_CONTAINER) && !opened && can_open(user))
+ if((atom_flags & ATOM_FLAG_CLIMBABLE) && !opened && can_open(user))
object_shaken()
. = ..()
if(.)
@@ -36,28 +36,29 @@
if(opened)
return ..()
else if(istype(W, /obj/item/stack/package_wrap))
- return
+ return FALSE // let afterattack run
else if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = W
if(rigged)
to_chat(user, "[src] is already rigged!")
- return
+ return TRUE
if (C.use(1))
to_chat(user, "You rig [src].")
rigged = 1
- return
- else if(istype(W, /obj/item/assembly_holder) || istype(W, /obj/item/assembly))
- if(rigged)
- if(!user.try_unequip(W, src))
- return
- to_chat(user, "You attach [W] to [src].")
- return
+ return TRUE
+ return FALSE
+ else if((istype(W, /obj/item/assembly_holder) || istype(W, /obj/item/assembly)) && rigged)
+ if(!user.try_unequip(W, src))
+ return TRUE
+ to_chat(user, "You attach [W] to [src].")
+ return TRUE
else if(IS_WIRECUTTER(W))
if(rigged)
to_chat(user, "You cut away the wiring.")
playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1)
rigged = 0
- return
+ return TRUE
+ return FALSE
else
return ..()
diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm
index 31bd49e65e3..bffd87cc4fe 100644
--- a/code/game/objects/structures/curtains.dm
+++ b/code/game/objects/structures/curtains.dm
@@ -26,15 +26,15 @@
/obj/item/curtain/attackby(obj/item/W, mob/user)
if(IS_SCREWDRIVER(W))
if(!curtain_kind_path)
- return
+ return TRUE
if(!isturf(loc))
to_chat(user, SPAN_DANGER("You cannot install \the [src] from your hands."))
- return
+ return TRUE
if(isspaceturf(loc))
to_chat(user, SPAN_DANGER("You cannot install \the [src] in space."))
- return
+ return TRUE
user.visible_message(
SPAN_NOTICE("\The [user] begins installing \the [src]."),
@@ -42,17 +42,18 @@
playsound(src, 'sound/items/Screwdriver.ogg', 100, 1)
if(!do_after(user, 4 SECONDS, src))
- return
+ return TRUE
if(QDELETED(src))
- return
+ return TRUE
var/decl/curtain_kind/kind = GET_DECL(curtain_kind_path)
var/obj/structure/curtain/C = kind.make_structure(loc, dir)
transfer_fingerprints_to(C)
qdel(src)
+ return TRUE
else
- ..()
+ return ..()
/obj/item/curtain/on_update_icon()
. = ..()
@@ -110,27 +111,25 @@
return ..()
/obj/structure/curtain/attackby(obj/item/W, mob/user)
- if(IS_SCREWDRIVER(W))
- if(!curtain_kind_path)
- return
-
+ if(IS_SCREWDRIVER(W) && curtain_kind_path)
user.visible_message(
SPAN_NOTICE("\The [user] begins uninstalling \the [src]."),
SPAN_NOTICE("You begin uninstalling \the [src]."))
playsound(src, 'sound/items/Screwdriver.ogg', 100, 1)
if(!do_after(user, 4 SECONDS, src))
- return
+ return TRUE
if(QDELETED(src))
- return
+ return TRUE
var/decl/curtain_kind/kind = GET_DECL(curtain_kind_path)
var/obj/item/curtain/C = kind.make_item(loc)
transfer_fingerprints_to(C)
qdel(src)
+ return TRUE
else
- ..()
+ return ..()
/obj/structure/curtain/proc/toggle()
playsound(src, 'sound/effects/curtain.ogg', 15, 1, -5)
diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index 7ecd8f61262..9b6fa1c413a 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -96,22 +96,22 @@
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
var/obj/item/card/id/id = W.GetIdCard()
if(istype(id))
- if(allowed(usr))
+ if(allowed(user))
locked = !locked
to_chat(user, "\The [src] was [locked ? "locked" : "unlocked"].")
else
to_chat(user, "\The [src]'s card reader denies you access.")
- return
+ return TRUE
if(isitem(W) && (!locked || destroyed))
if(!W.simulated || W.anchored)
- return
+ return FALSE
if(user.try_unequip(W, src))
W.pixel_x = 0
W.pixel_y = -7
update_icon()
- return
+ return TRUE
. = ..()
/obj/structure/displaycase/attack_hand(mob/user)
@@ -126,7 +126,7 @@
var/obj/item/selected_item
selected_item = show_radial_menu(user, src, make_item_radial_menu_choices(src), radius = 42, require_near = TRUE, use_labels = RADIAL_LABELS_OFFSET)
if(QDELETED(selected_item) || !contents.Find(selected_item) || !Adjacent(user) || user.incapacitated())
- return
+ return TRUE
to_chat(user, SPAN_NOTICE("You remove \the [selected_item] from \the [src]."))
selected_item.dropInto(loc)
@@ -137,3 +137,4 @@
visible_message(SPAN_WARNING("[user] kicks \the [src]."), SPAN_WARNING("You kick \the [src]."))
take_damage(2)
return TRUE
+ return FALSE
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index 2652614a082..93ef799d01a 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -128,10 +128,10 @@
if(IS_PEN(W))
var/t = sanitize_safe(input(user, "Enter the name for the door.", src.name, src.created_name), MAX_NAME_LEN)
if(!length(t))
- return
+ return TRUE
if(!CanPhysicallyInteractWith(user, src))
to_chat(user, SPAN_WARNING("You must stay close to \the [src]!"))
- return
+ return TRUE
created_name = t
return TRUE
@@ -144,7 +144,7 @@
if(glass_material_datum)
var/mat_name = glass_material_datum.solid_name || glass_material_datum.name
user.visible_message("[user] welds the [mat_name] plating off the airlock assembly.", "You start to weld the [mat_name] plating off the airlock assembly.")
- if(do_after(user, 40,src))
+ if(do_after(user, 4 SECONDS, src))
if(!WT.isOn())
return TRUE
to_chat(user, "You welded the [mat_name] plating off!")
@@ -154,12 +154,12 @@
return TRUE
if(!anchored)
user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.")
- if(do_after(user, 40,src))
+ if(do_after(user, 4 SECONDS, src))
if(!WT.isOn())
- return
+ return TRUE
to_chat(user, "You dissasembled the airlock assembly!")
dismantle_structure(user)
- return TRUE
+ return TRUE
else
to_chat(user, "You need more welding fuel.")
return TRUE
@@ -171,52 +171,56 @@
else
user.visible_message("[user] begins securing the airlock assembly to the floor.", "You begin securing the airlock assembly to the floor.")
- if(do_after(user, 40,src))
- if(!src) return
+ if(do_after(user, 4 SECONDS, src))
+ if(QDELETED(src)) return TRUE
to_chat(user, "You [anchored? "un" : ""]secured the airlock assembly!")
anchored = !anchored
update_icon()
+ return TRUE
else if(IS_COIL(W) && state == 0 && anchored)
var/obj/item/stack/cable_coil/C = W
if (C.get_amount() < 1)
to_chat(user, "You need one length of coil to wire the airlock assembly.")
- return
+ return TRUE
user.visible_message("[user] wires the airlock assembly.", "You start to wire the airlock assembly.")
- if(do_after(user, 40,src) && state == 0 && anchored)
+ if(do_after(user, 4 SECONDS, src) && state == 0 && anchored)
if (C.use(1))
src.state = 1
to_chat(user, "You wire the airlock.")
update_icon()
+ return TRUE
else if(IS_WIRECUTTER(W) && state == 1 )
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
user.visible_message("[user] cuts the wires from the airlock assembly.", "You start to cut the wires from airlock assembly.")
if(do_after(user, 40,src))
- if(!src) return
+ if(QDELETED(src)) return TRUE
to_chat(user, "You cut the airlock wires.!")
new/obj/item/stack/cable_coil(src.loc, 1)
src.state = 0
update_icon()
+ return TRUE
else if(istype(W, /obj/item/stock_parts/circuitboard/airlock_electronics) && state == 1)
var/obj/item/stock_parts/circuitboard/airlock_electronics/E = W
if(!ispath(airlock_type, E.build_path))
- return
+ return FALSE
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.")
if(do_after(user, 40,src))
- if(!src) return
+ if(QDELETED(src)) return TRUE
if(!user.try_unequip(W, src))
- return
+ return TRUE
to_chat(user, "You installed the airlock electronics!")
src.state = 2
src.SetName("Near finished Airlock Assembly")
src.electronics = W
update_icon()
+ return TRUE
else if(IS_CROWBAR(W) && state == 2 )
//This should never happen, but just in case I guess
@@ -224,19 +228,20 @@
to_chat(user, "There was nothing to remove.")
src.state = 1
update_icon()
- return
+ return TRUE
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
user.visible_message("\The [user] starts removing the electronics from the airlock assembly.", "You start removing the electronics from the airlock assembly.")
- if(do_after(user, 40,src))
- if(!src) return
+ if(do_after(user, 4 SECONDS, src))
+ if(QDELETED(src)) return TRUE
to_chat(user, "You removed the airlock electronics!")
src.state = 1
src.SetName("Wired Airlock Assembly")
electronics.dropInto(loc)
electronics = null
update_icon()
+ return TRUE
else if(istype(W, /obj/item/stack/material) && !glass)
var/obj/item/stack/material/S = W
@@ -244,26 +249,28 @@
if (S.get_amount() >= 2)
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.")
- if(do_after(user, 40,src) && !glass)
+ if(do_after(user, 4 SECONDS, src) && !glass)
if (S.use(2))
to_chat(user, "You installed reinforced glass windows into the airlock assembly.")
glass = 1
glass_material = material_name
update_icon()
return TRUE
+ return FALSE
else if(IS_SCREWDRIVER(W) && state == 2 )
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
to_chat(user, "Now finishing the airlock.")
- if(do_after(user, 40,src))
- if(!src) return
+ if(do_after(user, 4 SECONDS, src))
+ if(QDELETED(src)) return TRUE
to_chat(user, "You finish the airlock!")
var/obj/machinery/door/door = new airlock_type(get_turf(src), dir, FALSE, src)
door.construct_state.post_construct(door) // it eats the circuit inside Initialize
qdel(src)
+ return TRUE
else
- ..()
+ return ..()
/obj/structure/door_assembly/on_update_icon()
..()
diff --git a/code/game/objects/structures/drain.dm b/code/game/objects/structures/drain.dm
index 13d950ed738..cca6fa3bebf 100644
--- a/code/game/objects/structures/drain.dm
+++ b/code/game/objects/structures/drain.dm
@@ -17,7 +17,6 @@
to_chat(user, "It is welded shut.")
/obj/structure/hygiene/drain/attackby(var/obj/item/thing, var/mob/user)
- ..()
if(IS_WELDER(thing))
var/obj/item/weldingtool/WT = thing
if(WT.isOn())
@@ -26,13 +25,13 @@
else
to_chat(user, "Turn \the [thing] on, first.")
update_icon()
- return
+ return TRUE
if(IS_WRENCH(thing))
new /obj/item/drain(src.loc)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
to_chat(user, "[user] unwrenches \the [src].")
qdel(src)
- return
+ return TRUE
return ..()
/obj/structure/hygiene/drain/on_update_icon()
@@ -59,7 +58,7 @@
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
to_chat(user, SPAN_NOTICE("\The [user] wrenches \the [src] down."))
qdel(src)
- return
+ return TRUE
return ..()
/obj/structure/hygiene/drain/bath
diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm
index b2b2358d04f..03d91b43ce4 100644
--- a/code/game/objects/structures/extinguisher.dm
+++ b/code/game/objects/structures/extinguisher.dm
@@ -14,9 +14,11 @@
. = ..()
has_extinguisher = new/obj/item/chems/spray/extinguisher(src)
+// TODO: I wanted to make it so you had to actually use your hand to open it if it's closed, but
+// that'd be out of scope for just an attackby audit. Someone fix this so it can call parent please.
/obj/structure/extinguisher_cabinet/attackby(obj/item/O, mob/user)
if(isrobot(user))
- return
+ return FALSE
if(istype(O, /obj/item/chems/spray/extinguisher))
if(!has_extinguisher && opened && user.try_unequip(O, src))
has_extinguisher = O
@@ -27,6 +29,7 @@
else
opened = !opened
update_icon()
+ return TRUE
/obj/structure/extinguisher_cabinet/attack_hand(mob/user)
diff --git a/code/game/objects/structures/fences.dm b/code/game/objects/structures/fences.dm
index 5abc3447cf0..ddeb006f1aa 100644
--- a/code/game/objects/structures/fences.dm
+++ b/code/game/objects/structures/fences.dm
@@ -91,11 +91,11 @@
if(IS_WIRECUTTER(tool))
if(!cuttable)
to_chat(user, SPAN_WARNING("This section of the fence can't be cut."))
- return
+ return TRUE
var/current_stage = hole_size
if(current_stage >= MAX_HOLE_SIZE)
to_chat(user, SPAN_NOTICE("This fence has too much cut out of it already."))
- return
+ return TRUE
if(tool.do_tool_interaction(TOOL_WIRECUTTERS, user, src, CUT_TIME, "cutting through", "cutting through", check_skill = FALSE) && current_stage == hole_size) // do_tool_interaction sleeps, so make sure it hasn't been cut more while we waited
switch(++hole_size)
diff --git a/code/game/objects/structures/fireaxe_cabinet.dm b/code/game/objects/structures/fireaxe_cabinet.dm
index 97e82f89b64..f16681fa2d4 100644
--- a/code/game/objects/structures/fireaxe_cabinet.dm
+++ b/code/game/objects/structures/fireaxe_cabinet.dm
@@ -68,7 +68,7 @@
if(IS_MULTITOOL(O))
toggle_lock(user)
- return
+ return TRUE
if(istype(O, /obj/item/bladed/axe/fire))
if(open)
@@ -79,7 +79,7 @@
fireaxe = O
to_chat(user, "You place \the [fireaxe] into \the [src].")
update_icon()
- return
+ return TRUE
var/force = O.get_attack_force(user)
if(force)
@@ -89,15 +89,15 @@
visible_message("[user] [pick(O.attack_verb)] \the [src]!")
if(damage_threshold > force)
to_chat(user, "Your strike is deflected by the reinforced glass!")
- return
+ return TRUE
if(shattered)
- return
+ return TRUE
shattered = 1
unlocked = 1
open = 1
playsound(user, 'sound/effects/Glassbr3.ogg', 100, 1)
update_icon()
- return
+ return TRUE
return ..()
diff --git a/code/game/objects/structures/fitness.dm b/code/game/objects/structures/fitness.dm
index b83a6aa499e..25be6aa2bf0 100644
--- a/code/game/objects/structures/fitness.dm
+++ b/code/game/objects/structures/fitness.dm
@@ -47,6 +47,8 @@
playsound(src.loc, 'sound/items/Deconstruct.ogg', 75, 1)
weight = (weight % max_weight) + 1
to_chat(user, "You set the machine's weight level to [weight].")
+ return TRUE
+ return ..()
/obj/structure/fitness/weightlifter/attack_hand(mob/user)
if(!ishuman(user))
diff --git a/code/game/objects/structures/flaps.dm b/code/game/objects/structures/flaps.dm
index cdcc5012722..00e3257a5b6 100644
--- a/code/game/objects/structures/flaps.dm
+++ b/code/game/objects/structures/flaps.dm
@@ -47,11 +47,14 @@
if(user.do_skilled(3 SECONDS, SKILL_CONSTRUCTION, src))
user.visible_message("\The [user] deconstructs \the [src].", "You deconstruct \the [src].")
qdel(src)
+ return TRUE
if(IS_SCREWDRIVER(W) && anchored)
airtight = !airtight
airtight ? become_airtight() : clear_airtight()
user.visible_message("\The [user] adjusts \the [src], [airtight ? "preventing" : "allowing"] air flow.")
- else ..()
+ return TRUE
+ else
+ return ..()
/obj/structure/flaps/explosion_act(severity)
..()
diff --git a/code/game/objects/structures/fountain.dm b/code/game/objects/structures/fountain.dm
index d4d962c6544..7df7c3ee307 100644
--- a/code/game/objects/structures/fountain.dm
+++ b/code/game/objects/structures/fountain.dm
@@ -33,7 +33,7 @@
var/datum/appearance_descriptor/age/age = my_bodytype && LAZYACCESS(my_bodytype.appearance_descriptors, "age")
if(H.isSynthetic() || !my_bodytype || !age)
to_chat(H, SPAN_WARNING("A feeling of foreboding stills your hand. The fountain is not for your kind."))
- return
+ return TRUE
if(alert("As you reach out to touch the fountain, a feeling of doubt overcomes you. Steel yourself and proceed?",,"Yes", "No") == "Yes")
visible_message("\The [H] touches \the [src].")
diff --git a/code/game/objects/structures/fuel_port.dm b/code/game/objects/structures/fuel_port.dm
index 4e5589fd37e..91eef126f0b 100644
--- a/code/game/objects/structures/fuel_port.dm
+++ b/code/game/objects/structures/fuel_port.dm
@@ -52,6 +52,7 @@
add_overlay("[icon_state]_closed")
/obj/structure/fuel_port/attackby(obj/item/W, mob/user)
+ . = FALSE
if(W.do_tool_interaction(TOOL_CROWBAR, user, src, 1 SECOND))
if(open)
playsound(src, sound_open, 25, 0, -3)
@@ -59,19 +60,22 @@
else
playsound(src, sound_close, 15, 1, -3)
open = TRUE
+ . = TRUE
else if(istype(W, /obj/item/tank))
if(!open)
to_chat(user, SPAN_WARNING("\The [src] door is still closed!"))
- return
+ return TRUE
if(locate_tank())
to_chat(user, SPAN_WARNING("\The [src] already has a tank inside!"))
- return
+ return TRUE
else
user.try_unequip(W, src)
+ . = TRUE
- update_icon()
+ if(.)
+ update_icon()
// Walls hide stuff inside them, but we want to be visible.
/obj/structure/fuel_port/hide()
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index 25abc7a0369..d4aed89ecdc 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -101,7 +101,7 @@
if(istype(W, /obj/item/gun/energy/plasmacutter))
var/obj/item/gun/energy/plasmacutter/cutter = W
if(!cutter.slice(user))
- return
+ return TRUE
playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
visible_message(SPAN_NOTICE("\The [user] begins slicing apart \the [src] with \the [W]."))
if(do_after(user,reinf_material ? 40: 20,src))
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index 14b73b0e268..6bde6ee9cb1 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -191,7 +191,7 @@
if(istype(W,/obj/item/stack/material))
var/obj/item/stack/material/ST = W
if(ST.material.opacity > 0.7)
- return 0
+ return FALSE
var/dir_to_set = 5
if(!is_on_frame())
@@ -201,7 +201,7 @@
dir_to_set = get_dir(loc, user)
if(dir_to_set & (dir_to_set - 1)) //Only works for cardinal direcitons, diagonals aren't supposed to work like this.
to_chat(user, "You can't reach.")
- return
+ return TRUE
place_window(user, loc, dir_to_set, ST)
return TRUE
diff --git a/code/game/objects/structures/holosigns.dm b/code/game/objects/structures/holosigns.dm
index 2d9a51c5737..5e9ace14110 100644
--- a/code/game/objects/structures/holosigns.dm
+++ b/code/game/objects/structures/holosigns.dm
@@ -28,6 +28,7 @@
/obj/structure/holosign/attackby(obj/W, mob/user)
visible_message(SPAN_NOTICE("\The [user] waves \a [W] through \the [src], causing it to dissipate."))
deactivate(user)
+ return TRUE
/obj/structure/holosign/proc/deactivate(mob/living/user)
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
diff --git a/code/game/objects/structures/ironing_board.dm b/code/game/objects/structures/ironing_board.dm
index 95a44a1a42f..77bcb0ec064 100644
--- a/code/game/objects/structures/ironing_board.dm
+++ b/code/game/objects/structures/ironing_board.dm
@@ -63,22 +63,22 @@
if(!density)
if(istype(I,/obj/item/clothing) || istype(I,/obj/item/ironingiron))
to_chat(user, "[src] isn't deployed!")
- return
+ return TRUE
return ..()
if(istype(I,/obj/item/clothing))
if(cloth)
to_chat(user, "[cloth] is already on the ironing table!")
- return
+ return TRUE
if(buckled_mob)
to_chat(user, "[buckled_mob] is already on the ironing table!")
- return
+ return TRUE
if(user.try_unequip(I, src))
cloth = I
events_repository.register(/decl/observ/destroyed, I, src, TYPE_PROC_REF(/obj/structure/bed/roller/ironingboard, remove_item))
update_icon()
- return
+ return TRUE
else if(istype(I,/obj/item/ironingiron))
var/obj/item/ironingiron/R = I
@@ -90,32 +90,32 @@
visible_message("[user] begins ironing [src.buckled_mob]'s [parsed]!", "You begin ironing [buckled_mob]'s [parsed]!")
if(!do_after(user, 40, src))
- return
+ return TRUE
visible_message("[user] irons [src.buckled_mob]'s [parsed]!", "You iron [buckled_mob]'s [parsed]!")
var/obj/item/organ/external/affecting = GET_EXTERNAL_ORGAN(H, zone)
affecting.take_external_damage(0, 15, used_weapon = "Hot metal")
- return
+ return TRUE
if(!cloth)
if(!holding && !R.enabled && user.try_unequip(I, src))
holding = R
events_repository.register(/decl/observ/destroyed, I, src, TYPE_PROC_REF(/obj/structure/bed/roller/ironingboard, remove_item))
update_icon()
- return
+ return TRUE
to_chat(user, "There isn't anything on the ironing board.")
- return
+ return TRUE
visible_message("[user] begins ironing [cloth].")
- if(!do_after(user, 40, src))
- return
+ if(!do_after(user, 4 SECONDS, src))
+ return TRUE
visible_message("[user] finishes ironing [cloth].")
cloth.ironed_state = WRINKLES_NONE
- return
+ return TRUE
- ..()
+ return ..()
/obj/structure/bed/roller/ironingboard/attack_hand(var/mob/user)
if(!user.check_dexterity(DEXTERITY_SIMPLE_MACHINES, TRUE) || buckled_mob)
diff --git a/code/game/objects/structures/iv_drip.dm b/code/game/objects/structures/iv_drip.dm
index 44c3e904348..8dfa1d6269d 100644
--- a/code/game/objects/structures/iv_drip.dm
+++ b/code/game/objects/structures/iv_drip.dm
@@ -88,12 +88,13 @@
if (istype(W, /obj/item/chems))
if(!isnull(src.beaker))
to_chat(user, "There is already a reagent container loaded!")
- return
+ return TRUE
if(!user.try_unequip(W, src))
- return
+ return TRUE
beaker = W
to_chat(user, "You attach \the [W] to \the [src].")
queue_icon_update()
+ return TRUE
else
return ..()
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index 2ffea94388c..b2ed1afb24a 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -27,11 +27,12 @@
/obj/structure/janitorialcart/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/bag/trash) && !mybag)
if(!user.try_unequip(I, src))
- return
+ return TRUE
mybag = I
update_icon()
updateUsrDialog()
to_chat(user, "You put [I] into [src].")
+ return TRUE
else if(istype(I, /obj/item/mop))
if(I.reagents.total_volume < I.reagents.maximum_volume) //if it's not completely soaked we assume they want to wet it, otherwise store it
@@ -41,47 +42,52 @@
reagents.trans_to_obj(I, I.reagents.maximum_volume)
to_chat(user, "You wet [I] in [src].")
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
- return
+ return TRUE
if(!mymop)
if(!user.try_unequip(I, src))
- return
+ return TRUE
mymop = I
update_icon()
updateUsrDialog()
to_chat(user, "You put [I] into [src].")
+ return TRUE
else if(istype(I, /obj/item/chems/spray) && !myspray)
if(!user.try_unequip(I, src))
- return
+ return TRUE
myspray = I
update_icon()
updateUsrDialog()
to_chat(user, "You put [I] into [src].")
+ return TRUE
else if(istype(I, /obj/item/lightreplacer) && !myreplacer)
if(!user.try_unequip(I, src))
- return
+ return TRUE
myreplacer = I
update_icon()
updateUsrDialog()
to_chat(user, "You put [I] into [src].")
+ return TRUE
else if(istype(I, /obj/item/caution))
if(signs < 4)
if(!user.try_unequip(I, src))
- return
+ return TRUE
signs++
update_icon()
updateUsrDialog()
to_chat(user, "You put [I] into [src].")
else
to_chat(user, "[src] can't hold any more signs.")
+ return TRUE
else if(istype(I, /obj/item/chems/glass))
- return // So we do not put them in the trash bag as we mean to fill the mop bucket
+ return FALSE // So we do not put them in the trash bag as we mean to fill the mop bucket; FALSE means run afterattack
else if(mybag)
- mybag.attackby(I, user)
+ return mybag.attackby(I, user)
+ return ..()
/obj/structure/janitorialcart/attack_hand(mob/user)
@@ -225,7 +231,7 @@
if(istype(I, /obj/item/bag/trash))
if(!user.try_unequip(I, src))
- return
+ return TRUE
to_chat(user, SPAN_NOTICE("You hook \the [I] onto the [callme]."))
mybag = I
return TRUE
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index d8fae002798..cfdce2510d7 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -65,22 +65,21 @@
physically_destroyed()
/obj/structure/lattice/attackby(obj/item/C, mob/user)
-
if (istype(C, /obj/item/stack/tile))
var/turf/T = get_turf(src)
T.attackby(C, user) //BubbleWrap - hand this off to the underlying turf instead
- return
+ return TRUE
if(IS_WELDER(C))
var/obj/item/weldingtool/WT = C
if(WT.weld(0, user))
deconstruct(user)
- return
+ return TRUE
if(istype(C, /obj/item/gun/energy/plasmacutter))
var/obj/item/gun/energy/plasmacutter/cutter = C
if(!cutter.slice(user))
- return
+ return TRUE
deconstruct(user)
- return
+ return TRUE
if (istype(C, /obj/item/stack/material/rods))
var/ladder = (locate(/obj/structure/ladder) in loc)
@@ -91,13 +90,15 @@
var/obj/item/stack/material/rods/R = C
if(locate(/obj/structure/catwalk) in get_turf(src))
to_chat(user, SPAN_WARNING("There is already a catwalk here."))
- return
+ return TRUE
else if(R.use(2))
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
new /obj/structure/catwalk(src.loc, R.material.type)
- return
+ return TRUE
else
to_chat(user, SPAN_WARNING("You require at least two rods to complete the catwalk."))
+ return TRUE
+ return ..()
/obj/structure/lattice/on_update_icon()
..()
diff --git a/code/game/objects/structures/memorial.dm b/code/game/objects/structures/memorial.dm
index 221284037e0..a320fee2245 100644
--- a/code/game/objects/structures/memorial.dm
+++ b/code/game/objects/structures/memorial.dm
@@ -18,6 +18,8 @@
to_chat(user, "You add \the [T.owner_name]'s \the [T] to \the [src].")
fallen += "[T.owner_rank] [T.owner_name] | [T.owner_branch]"
qdel(T)
+ return TRUE
+ return ..()
/obj/structure/memorial/examine(mob/user, distance)
. = ..()
diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm
index 3f7febf0835..afc4805a96e 100644
--- a/code/game/objects/structures/mop_bucket.dm
+++ b/code/game/objects/structures/mop_bucket.dm
@@ -27,3 +27,5 @@
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
else
to_chat(user, SPAN_WARNING("\The [I] is saturated."))
+ return TRUE
+ return ..()
diff --git a/code/game/objects/structures/pit.dm b/code/game/objects/structures/pit.dm
index 2c2e0825418..69fab843a65 100644
--- a/code/game/objects/structures/pit.dm
+++ b/code/game/objects/structures/pit.dm
@@ -180,7 +180,7 @@
var/msg = sanitize(input(user, "What should it say?", "Grave marker", html_decode(message)) as text|null)
if(!CanPhysicallyInteract(user))
to_chat(user, SPAN_WARNING("You must stay close to \the [src]!"))
- return
+ return TRUE
if(msg && used_item.do_tool_interaction(TOOL_PEN, user, src, 1 SECOND, fuel_expenditure = 1))
message = msg
return TRUE
@@ -314,7 +314,7 @@
var/msg = sanitize(input(user, "What should it say?", "Grave marker", html_decode(message)) as text|null)
if(!CanPhysicallyInteract(user))
to_chat(user, SPAN_WARNING("You must stay close to \the [src]!"))
- return
+ return TRUE
if(msg && used_item.do_tool_interaction(TOOL_PEN, user, src, 1 SECOND, fuel_expenditure = 1))
message = msg
return TRUE
diff --git a/code/game/objects/structures/quicksand.dm b/code/game/objects/structures/quicksand.dm
index b19e717dfc6..383b435943b 100644
--- a/code/game/objects/structures/quicksand.dm
+++ b/code/game/objects/structures/quicksand.dm
@@ -82,8 +82,9 @@
/obj/effect/quicksand/attackby(obj/item/W, mob/user)
if(!exposed && W.get_attack_force(user))
expose()
+ return TRUE
else
- ..()
+ return ..()
/obj/effect/quicksand/Crossed(atom/movable/AM)
if(!isliving(AM))
diff --git a/code/game/objects/structures/railing.dm b/code/game/objects/structures/railing.dm
index bd89fda94cd..01e7a84e68a 100644
--- a/code/game/objects/structures/railing.dm
+++ b/code/game/objects/structures/railing.dm
@@ -235,19 +235,19 @@ WOOD_RAILING_SUBTYPE(yew)
visible_message(SPAN_DANGER("\The [user] throws \the [victim] over \the [src]!"))
return TRUE
+// TODO: rewrite to use handle_default_wrench_attackby, bash, etc
/obj/structure/railing/attackby(var/obj/item/W, var/mob/user)
-
// Dismantle
if(IS_WRENCH(W))
if(!anchored)
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
- if(do_after(user, 20, src))
+ if(do_after(user, 2 SECONDS, src))
if(anchored)
- return
+ return TRUE
user.visible_message("\The [user] dismantles \the [src].", "You dismantle \the [src].")
material.create_object(loc, 2)
qdel(src)
- return
+ return TRUE
// Wrench Open
else
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
@@ -258,7 +258,7 @@ WOOD_RAILING_SUBTYPE(yew)
user.visible_message("\The [user] wrenches \the [src] closed.", "You wrench \the [src] closed.")
density = TRUE
update_icon()
- return
+ return TRUE
// Repair
if(IS_WELDER(W))
var/obj/item/weldingtool/F = W
@@ -266,34 +266,34 @@ WOOD_RAILING_SUBTYPE(yew)
var/current_max_health = get_max_health()
if(current_health >= current_max_health)
to_chat(user, "\The [src] does not need repairs.")
- return
+ return TRUE
playsound(loc, 'sound/items/Welder.ogg', 50, 1)
if(do_after(user, 20, src))
if(current_health >= current_max_health)
- return
+ return TRUE
user.visible_message("\The [user] repairs some damage to \the [src].", "You repair some damage to \the [src].")
current_health = min(current_health+(current_max_health/5), current_max_health)
- return
+ return TRUE
// Install
if(IS_SCREWDRIVER(W))
if(!density)
to_chat(user, "You need to wrench \the [src] from back into place first.")
- return
+ return TRUE
user.visible_message(anchored ? "\The [user] begins unscrew \the [src]." : "\The [user] begins fasten \the [src]." )
playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1)
if(do_after(user, 10, src) && density)
to_chat(user, (anchored ? "You have unfastened \the [src] from the floor." : "You have fastened \the [src] to the floor."))
anchored = !anchored
update_icon()
- return
+ return TRUE
var/force = W.get_attack_force(user)
if(force && (W.atom_damage_type == BURN || W.atom_damage_type == BRUTE))
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
visible_message("\The [src] has been [LAZYLEN(W.attack_verb) ? pick(W.attack_verb) : "attacked"] with \the [W] by \the [user]!")
take_damage(force, W.atom_damage_type)
- return
+ return TRUE
. = ..()
/obj/structure/railing/explosion_act(severity)
diff --git a/code/game/objects/structures/rubble.dm b/code/game/objects/structures/rubble.dm
index 2920faf0ac5..69a41833792 100644
--- a/code/game/objects/structures/rubble.dm
+++ b/code/game/objects/structures/rubble.dm
@@ -51,7 +51,7 @@
if(!is_rummaging)
if(!lootleft)
to_chat(user, SPAN_NOTICE("There's nothing left in this one but unusable garbage..."))
- return
+ return TRUE
visible_message(SPAN_NOTICE("\The [user] starts rummaging through \the [src]."))
is_rummaging = TRUE
if(do_after(user, 30))
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index 9f1c725a947..7b78fc8c944 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -21,10 +21,11 @@ FLOOR SAFES
var/space = 0 //the combined w_class of everything in the safe
var/maxspace = 24 //the maximum combined w_class of stuff in the safe
+// TODO: make this use a storage datum?
/obj/structure/safe/Initialize()
for(var/obj/item/I in loc)
if(space >= maxspace)
- return
+ break
if(I.w_class + space <= maxspace) //todo replace with internal storage or something
space += I.w_class
I.forceMove(src)
@@ -142,18 +143,19 @@ FLOOR SAFES
if(open)
if(I.w_class + space <= maxspace)
if(!user.try_unequip(I, src))
- return
+ return TRUE
space += I.w_class
to_chat(user, "You put [I] in [src].")
updateUsrDialog()
- return
+ return TRUE
else
to_chat(user, "[I] won't fit in [src].")
- return
+ return TRUE
else
if(istype(I, /obj/item/clothing/neck/stethoscope))
to_chat(user, "Hold [I] in one of your hands while you manipulate the dial.")
- return
+ return TRUE
+ return FALSE
/obj/structure/safe/explosion_act(severity)
diff --git a/code/game/objects/structures/skele_stand.dm b/code/game/objects/structures/skele_stand.dm
index 63a64f070c8..e45d1c326ea 100644
--- a/code/game/objects/structures/skele_stand.dm
+++ b/code/game/objects/structures/skele_stand.dm
@@ -61,18 +61,21 @@
var/nuname = sanitize(input(user,"What do you want to name this skeleton as?","Skeleton Christening",name) as text|null)
if(nuname && CanPhysicallyInteract(user))
SetName(nuname)
- return 1
+ return TRUE
if(istype(W,/obj/item/clothing))
var/obj/item/clothing/clothes = W
- if(clothes.fallback_slot)
- if(swag[clothes.fallback_slot])
- to_chat(user,SPAN_NOTICE("There is already that kind of clothing on \the [src]."))
- else if(user.try_unequip(W, src))
- swag[clothes.fallback_slot] = W
- update_icon()
- return 1
- else
+ if(!clothes.fallback_slot)
+ return FALSE
+ if(swag[clothes.fallback_slot])
+ to_chat(user,SPAN_NOTICE("There is already that kind of clothing on \the [src]."))
+ else if(user.try_unequip(W, src))
+ swag[clothes.fallback_slot] = W
+ update_icon()
+ return TRUE
+ . = ..()
+ if(!.)
rattle_bones(user, W)
+ return TRUE
/obj/structure/skele_stand/Destroy()
for(var/slot in swag)
diff --git a/code/game/objects/structures/stool_bed_chair_nest_sofa/bed.dm b/code/game/objects/structures/stool_bed_chair_nest_sofa/bed.dm
index 70886c64c30..519dae2ab6e 100644
--- a/code/game/objects/structures/stool_bed_chair_nest_sofa/bed.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest_sofa/bed.dm
@@ -191,6 +191,7 @@
anchored = FALSE
buckle_pixel_shift = list("x" = 0, "y" = 0, "z" = 6)
movable_flags = MOVABLE_FLAG_WHEELED
+ tool_interaction_flags = 0
var/item_form_type = /obj/item/roller //The folded-up object path.
var/obj/item/chems/beaker
var/iv_attached = 0
@@ -214,17 +215,18 @@
iv.pixel_y = 6
add_overlay(iv)
+/obj/structure/bed/roller/can_apply_padding()
+ return FALSE
+
/obj/structure/bed/roller/attackby(obj/item/I, mob/user)
- if(IS_WRENCH(I) || istype(I, /obj/item/stack) || IS_WIRECUTTER(I))
- return 1
if(iv_stand && !beaker && istype(I, /obj/item/chems))
if(!user.try_unequip(I, src))
- return
+ return TRUE
to_chat(user, "You attach \the [I] to \the [src].")
beaker = I
queue_icon_update()
- return 1
- ..()
+ return TRUE
+ return ..()
/obj/structure/bed/roller/attack_hand(mob/user)
if(!beaker || buckled_mob || !user.check_dexterity(DEXTERITY_HOLD_ITEM, TRUE))
diff --git a/code/game/objects/structures/stool_bed_chair_nest_sofa/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest_sofa/chairs.dm
index 5beb7c1b697..93979252fa1 100644
--- a/code/game/objects/structures/stool_bed_chair_nest_sofa/chairs.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest_sofa/chairs.dm
@@ -304,10 +304,8 @@
color = WOOD_COLOR_GENERIC
material = /decl/material/solid/organic/wood
-/obj/structure/bed/chair/wood/attackby(obj/item/W, mob/user)
- if(istype(W,/obj/item/stack) || IS_WIRECUTTER(W))
- return
- ..()
+/obj/structure/bed/chair/wood/can_apply_padding()
+ return FALSE
/obj/structure/bed/chair/wood/mahogany
color = WOOD_COLOR_RICH
diff --git a/code/game/objects/structures/stool_bed_chair_nest_sofa/rustic_chairs.dm b/code/game/objects/structures/stool_bed_chair_nest_sofa/rustic_chairs.dm
new file mode 100644
index 00000000000..b36f4fae215
--- /dev/null
+++ b/code/game/objects/structures/stool_bed_chair_nest_sofa/rustic_chairs.dm
@@ -0,0 +1,27 @@
+/obj/structure/bed/chair/rustic
+ desc = "A simple, rustic-looking chair. Looks like it'd hurt to sit on for too long..."
+ icon = 'icons/obj/structures/rustic_chair.dmi'
+ material = /decl/material/solid/organic/wood/walnut
+ color = /decl/material/solid/organic/wood/walnut::color
+ user_comfort = -0.5
+
+/obj/structure/bed/chair/rustic/update_material_name(override_name)
+ . = ..()
+ SetName("rustic [name]") // rustic oaken chair, not oaken rustic chair
+
+/obj/structure/bed/chair/rustic_fancy
+ name = "chair"
+ desc = "An ornate, detailed chair made from wood. It has armrests!"
+ icon = 'icons/obj/structures/fancy_rustic_chair.dmi'
+ material = /decl/material/solid/organic/wood
+ color = COLOR_WHITE // preview state is precolored
+ reinf_material = /decl/material/solid/organic/cloth
+ padding_color = COLOR_CHERRY_RED
+ user_comfort = 1.25
+
+/obj/structure/bed/chair/rustic_fancy/ebony
+ material = /decl/material/solid/organic/wood/ebony
+
+/obj/structure/bed/chair/rustic_fancy/update_material_name(override_name)
+ . = ..()
+ SetName("fancy [name]") // see above, 'fancy ebony chair' not 'ebony fancy chair'
\ No newline at end of file
diff --git a/code/game/objects/structures/stool_bed_chair_nest_sofa/stools.dm b/code/game/objects/structures/stool_bed_chair_nest_sofa/stools.dm
index dfa2b41a411..59ccd454a5d 100644
--- a/code/game/objects/structures/stool_bed_chair_nest_sofa/stools.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest_sofa/stools.dm
@@ -1,16 +1,15 @@
//Todo: add leather and cloth for arbitrary coloured stools.
/obj/item/stool
- name = "stool"
- desc = "Apply butt."
- icon = 'icons/obj/furniture.dmi'
- icon_state = "stool_preview" //set for the map
- item_state = "stool"
- randpixel = 0
- w_class = ITEM_SIZE_HUGE
- material = DEFAULT_FURNITURE_MATERIAL
- obj_flags = OBJ_FLAG_SUPPORT_MOB | OBJ_FLAG_ROTATABLE
- _base_attack_force = 10
- var/base_icon = "stool"
+ name = "stool"
+ desc = "Apply butt."
+ icon = 'icons/obj/stool.dmi'
+ icon_state = ICON_STATE_WORLD
+ randpixel = 0
+ w_class = ITEM_SIZE_HUGE
+ material = DEFAULT_FURNITURE_MATERIAL
+ material_alteration = MAT_FLAG_ALTERATION_NAME | MAT_FLAG_ALTERATION_COLOR
+ obj_flags = OBJ_FLAG_SUPPORT_MOB | OBJ_FLAG_ROTATABLE
+ _base_attack_force = 10
var/padding_color
var/decl/material/padding_material
@@ -29,32 +28,38 @@
/obj/item/stool/bar
name = "bar stool"
- icon_state = "bar_stool_preview" //set for the map
- item_state = "bar_stool"
- base_icon = "bar_stool"
+ icon = 'icons/obj/bar_stool.dmi'
/obj/item/stool/bar/padded
icon_state = "bar_stool_padded_preview"
padding_material = /decl/material/solid/organic/cloth
padding_color = "#9d2300"
+/obj/item/stool/update_name()
+ ..()
+ if(material_alteration & MAT_FLAG_ALTERATION_NAME)
+ SetName("[padding_material?.adjective_name || material.adjective_name] [base_name || initial(name)]")
+ update_desc()
+
+/obj/item/stool/proc/update_desc()
+ if(padding_material)
+ desc = "A padded stool. Apply butt. It's made of [material.use_name] and covered with [padding_material.use_name]."
+ else
+ desc = "A stool. Apply butt with care. It's made of [material.use_name]."
+
/obj/item/stool/on_update_icon()
. = ..()
- // Prep icon.
- icon_state = ""
- // Base icon.
- var/list/noverlays = list(overlay_image(icon, "[base_icon]_base", get_color(), RESET_COLOR|RESET_ALPHA))
- // Padding overlay.
+ icon_state = get_world_inventory_state()
if(padding_material)
- noverlays += overlay_image(icon, "[base_icon]_padding", padding_color || padding_material.color)
- set_overlays(noverlays)
+ add_overlay(overlay_image(icon, "[icon_state]-padding", padding_color || padding_material.color, RESET_COLOR|RESET_ALPHA))
// Strings.
+ update_name()
+ update_desc()
+
+/obj/item/stool/apply_additional_mob_overlays(mob/living/user_mob, bodytype, image/overlay, slot, bodypart, use_fallback_if_icon_missing)
+ . = ..()
if(padding_material)
- SetName("[padding_material.solid_name] [initial(name)]") //this is not perfect but it will do for now.
- desc = "A padded stool. Apply butt. It's made of [material.use_name] and covered with [padding_material.use_name]."
- else
- SetName("[material.solid_name] [initial(name)]")
- desc = "A stool. Apply butt with care. It's made of [material.use_name]."
+ overlay.add_overlay(overlay_image(icon, "[overlay.icon_state]-padding", padding_color || padding_material.color, RESET_COLOR|RESET_ALPHA))
/obj/item/stool/proc/add_padding(var/padding_type, var/new_padding_color)
padding_material = GET_DECL(padding_type)
@@ -97,52 +102,75 @@
padding_material.create_object(get_turf(src))
qdel(src)
+/// Return TRUE if the stool is capable of supporting padding.
+/// This should not check existing padding state, just whether
+/// the behavior is supported at all.
+/obj/item/stool/proc/can_be_padded()
+ return TRUE
+
/obj/item/stool/attackby(obj/item/W, mob/user)
if(IS_WRENCH(W))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
dismantle()
- qdel(src)
- else if(istype(W,/obj/item/stack))
- if(padding_material)
- to_chat(user, "\The [src] is already padded.")
- return
- var/obj/item/stack/C = W
- if(C.get_amount() < 1) // How??
- qdel(C)
- return
-
- var/padding_type
- var/new_padding_color
- if(istype(W, /obj/item/stack/tile) || istype(W, /obj/item/stack/material/bolt))
- padding_type = W.material?.type
- new_padding_color = W.paint_color
-
- if(padding_type)
- var/decl/material/padding_mat = GET_DECL(padding_type)
- if(!istype(padding_mat) || !(padding_mat.flags & MAT_FLAG_PADDING))
- padding_type = null
-
- if(!padding_type)
- to_chat(user, "You cannot pad \the [src] with that.")
- return
-
- C.use(1)
- if(!isturf(src.loc))
- user.drop_from_inventory(src)
- src.dropInto(loc)
- to_chat(user, "You add padding to \the [src].")
- add_padding(padding_type, new_padding_color)
- return
-
- else if(IS_WIRECUTTER(W))
- if(!padding_material)
- to_chat(user, "\The [src] has no padding to remove.")
- return
- to_chat(user, "You remove the padding from \the [src].")
- playsound(src, 'sound/items/Wirecutter.ogg', 100, 1)
- remove_padding()
- else
- ..()
+ return TRUE
+ else if(can_be_padded())
+ if(istype(W,/obj/item/stack))
+ if(padding_material)
+ to_chat(user, "\The [src] is already padded.")
+ return TRUE
+ var/obj/item/stack/C = W
+ if(C.get_amount() < 1) // How??
+ qdel(C)
+ return TRUE
+
+ var/padding_type
+ var/new_padding_color
+ if(istype(W, /obj/item/stack/tile) || istype(W, /obj/item/stack/material/bolt))
+ padding_type = W.material?.type
+ new_padding_color = W.paint_color
+
+ if(padding_type)
+ var/decl/material/padding_mat = GET_DECL(padding_type)
+ if(!istype(padding_mat) || !(padding_mat.flags & MAT_FLAG_PADDING))
+ padding_type = null
+
+ if(!padding_type)
+ to_chat(user, "You cannot pad \the [src] with that.")
+ return TRUE
+
+ C.use(1)
+ if(!isturf(src.loc))
+ user.drop_from_inventory(src)
+ src.dropInto(loc)
+ to_chat(user, "You add padding to \the [src].")
+ add_padding(padding_type, new_padding_color)
+ return TRUE
+
+ else if(IS_WIRECUTTER(W))
+ if(!padding_material)
+ to_chat(user, "\The [src] has no padding to remove.")
+ return TRUE
+ to_chat(user, "You remove the padding from \the [src].")
+ playsound(src, 'sound/items/Wirecutter.ogg', 100, 1)
+ remove_padding()
+ return TRUE
+ return ..()
+
+/obj/item/stool/rustic
+ name = "stool"
+ icon = 'icons/obj/stool_rustic.dmi'
+ material = /decl/material/solid/organic/wood/walnut
+ color = /decl/material/solid/organic/wood/walnut::color
+
+/obj/item/stool/rustic/update_name()
+ ..()
+ SetName("rustic [name]") // rustic oaken stool, not oaken rustic stool
+
+/obj/item/stool/rustic/can_be_padded()
+ return FALSE
+
+/obj/item/stool/rustic/update_desc()
+ desc = "A rustic stool carved from wood. It's a little rickety and wobbles under any weight, but it'll do."
//Generated subtypes for mapping porpoises
/obj/item/stool/wood
diff --git a/code/game/objects/structures/stool_bed_chair_nest_sofa/wheelchair.dm b/code/game/objects/structures/stool_bed_chair_nest_sofa/wheelchair.dm
index 9fcd778de35..caa3e14df93 100644
--- a/code/game/objects/structures/stool_bed_chair_nest_sofa/wheelchair.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest_sofa/wheelchair.dm
@@ -9,6 +9,7 @@
/datum/movement_handler/delay = list(5),
/datum/movement_handler/move_relay_self
)
+ tool_interaction_flags = 0
var/item_form_type = /obj/item/wheelchair_kit
var/bloodiness
@@ -22,10 +23,8 @@
/obj/structure/bed/chair/wheelchair/on_update_icon()
set_overlays(image(icon = 'icons/obj/furniture.dmi', icon_state = "w_overlay", layer = ABOVE_HUMAN_LAYER))
-/obj/structure/bed/chair/wheelchair/attackby(obj/item/W, mob/user)
- if(IS_WRENCH(W) || istype(W,/obj/item/stack) || IS_WIRECUTTER(W))
- return
- ..()
+/obj/structure/bed/chair/wheelchair/can_apply_padding()
+ return FALSE
/obj/structure/bed/chair/wheelchair/attack_hand(mob/user)
if(!user.check_dexterity(DEXTERITY_SIMPLE_MACHINES, TRUE))
diff --git a/code/game/objects/structures/tables.dm b/code/game/objects/structures/tables.dm
index a2194715605..c66281e59f2 100644
--- a/code/game/objects/structures/tables.dm
+++ b/code/game/objects/structures/tables.dm
@@ -270,11 +270,11 @@
/obj/structure/table/update_material_name(override_name)
if(reinf_material)
- name = "[reinf_material.solid_name] table"
+ SetName("[reinf_material.adjective_name] table")
else if(material)
- name = "[material.solid_name] table frame"
+ SetName("[material.adjective_name] table frame")
else
- name = "table frame"
+ SetName("table frame")
/obj/structure/table/update_material_desc(override_desc)
desc = initial(desc)
@@ -296,6 +296,9 @@
alpha = 255
..()
+ if(!handle_generic_blending)
+ return
+
icon_state = "blank"
if(!is_flipped)
mob_offset = initial(mob_offset)
@@ -547,6 +550,8 @@
L.Add(turn(src.dir,90))
for(var/new_dir in L)
var/obj/structure/table/T = locate() in get_step(src.loc,new_dir)
+ if(L == src) // multitile objeeeects!
+ continue
if(blend_with(T) && T.is_flipped && T.dir == dir && !T.unflipping_check(new_dir))
return FALSE
return TRUE
@@ -772,3 +777,139 @@
/obj/structure/table/woodentable_reinforced/ebony/walnut
additional_reinf_material = /decl/material/solid/organic/wood/walnut
+
+// A table that doesn't smooth, intended for bedside tables or otherwise standalone tables.
+// TODO: make table legs use material and tabletop use reinf_material
+// theoretically, this could also be made to use the normal table icon system, unlike desks?
+/obj/structure/table/end
+ name = "end table"
+ icon = 'icons/obj/structures/endtable.dmi'
+ icon_state = "end_table_1"
+ handle_generic_blending = FALSE
+ color = /decl/material/solid/organic/wood/walnut::color
+ material = /decl/material/solid/organic/wood/walnut
+ reinf_material = /decl/material/solid/organic/wood/walnut
+ material_alteration = MAT_FLAG_ALTERATION_ALL
+ can_flip = FALSE
+
+/obj/structure/table/end/alt
+ icon_state = "end_table_2"
+
+/obj/structure/table/end/alt/ebony
+ color = /decl/material/solid/organic/wood/ebony::color
+ material = /decl/material/solid/organic/wood/ebony
+ reinf_material = /decl/material/solid/organic/wood/ebony
+
+/obj/structure/table/end/Initialize()
+ . = ..()
+ // we don't do frames or anything, just skip right to decon
+ tool_interaction_flags |= TOOL_INTERACTION_DECONSTRUCT
+
+/obj/structure/table/end/reinforce_table(obj/item/stack/material/S, mob/user)
+ return FALSE
+
+/obj/structure/table/end/finish_table(obj/item/stack/material/S, mob/user)
+ return FALSE
+
+/obj/structure/table/end/handle_default_screwdriver_attackby(mob/user, obj/item/screwdriver)
+ return FALSE
+
+/obj/structure/table/end/update_material_name(override_name)
+ SetName("[reinf_material.adjective_name] end table")
+
+/obj/structure/table/desk
+ name = "desk"
+ icon_state = "desk_left"
+ icon = 'icons/obj/structures/desk_large.dmi'
+ handle_generic_blending = FALSE
+ color = /decl/material/solid/organic/wood/walnut::color
+ material = /decl/material/solid/organic/wood/walnut
+ reinf_material = /decl/material/solid/organic/wood/walnut
+ storage = /datum/storage/structure/desk
+ bound_width = 64
+ material_alteration = MAT_FLAG_ALTERATION_ALL
+ can_flip = FALSE
+ top_surface_noun = "desktop"
+ /// The pixel height at which point clicks start registering for the tabletop and not the drawers.
+ var/tabletop_height = 9
+
+/obj/structure/table/desk/Initialize()
+ . = ..()
+ // we don't do frames or anything, just skip right to decon
+ tool_interaction_flags |= TOOL_INTERACTION_DECONSTRUCT
+
+/obj/structure/table/desk/right
+ icon_state = "desk_right"
+
+/obj/structure/table/desk/ebony
+ color = /decl/material/solid/organic/wood/ebony::color
+ material = /decl/material/solid/organic/wood/ebony
+ reinf_material = /decl/material/solid/organic/wood/ebony
+
+/obj/structure/table/desk/ebony/right
+ icon_state = "desk_right"
+
+/obj/structure/table/desk/update_material_name(override_name)
+ SetName("[reinf_material.adjective_name] desk")
+
+/obj/structure/table/desk/reinforce_table(obj/item/stack/material/S, mob/user)
+ return FALSE
+
+/obj/structure/table/desk/finish_table(obj/item/stack/material/S, mob/user)
+ return FALSE
+
+/obj/structure/table/desk/handle_default_screwdriver_attackby(mob/user, obj/item/screwdriver)
+ return FALSE
+
+/obj/structure/table/desk/on_update_icon()
+ . = ..()
+ if(storage)
+ if(storage.opened)
+ icon_state = "[initial(icon_state)]_open"
+ else
+ icon_state = initial(icon_state)
+
+/datum/storage/structure/desk
+ use_sound = null
+ open_sound = 'sound/foley/drawer-open.ogg'
+ close_sound = 'sound/foley/drawer-close.ogg'
+ max_storage_space = DEFAULT_BOX_STORAGE * 2 // two drawers!
+
+/datum/storage/structure/desk/can_be_inserted(obj/item/prop, mob/user, stop_messages = 0, click_params = null)
+ var/list/params = params2list(click_params)
+ var/obj/structure/table/desk/desk = holder
+ if(LAZYLEN(params) && text2num(params["icon-y"]) > desk.tabletop_height)
+ return FALSE // don't insert when clicking the tabletop
+ return ..()
+
+/datum/storage/structure/desk/play_open_sound()
+ . = ..()
+ flick("[initial(holder.icon_state)]_opening", holder)
+
+/datum/storage/structure/desk/play_close_sound()
+ . = ..()
+ flick("[initial(holder.icon_state)]_closing", holder)
+
+/obj/structure/table/desk/storage_inserted()
+ if(storage && !storage.opened)
+ playsound(src, 'sound/foley/drawer-oneshot.ogg', 50, FALSE, -5)
+ flick("[initial(icon_state)]_oneoff", src)
+
+/obj/structure/table/desk/dresser
+ icon = 'icons/obj/structures/dresser.dmi'
+ icon_state = "dresser"
+ bound_width = 32
+ top_surface_noun = "surface"
+ tabletop_height = 15
+ mob_offset = 18
+
+/obj/structure/table/desk/dresser/update_material_name(override_name)
+ SetName("[reinf_material.adjective_name] dresser")
+
+/obj/structure/table/desk/dresser/ebony
+ color = /decl/material/solid/organic/wood/ebony::color
+ material = /decl/material/solid/organic/wood/ebony
+ reinf_material = /decl/material/solid/organic/wood/ebony
+
+/datum/storage/structure/desk/dresser
+ max_storage_space = DEFAULT_BOX_STORAGE * 3 // THREE drawers!
\ No newline at end of file
diff --git a/code/game/objects/structures/target_stake.dm b/code/game/objects/structures/target_stake.dm
index 07d1f16441a..d1e4d36df79 100644
--- a/code/game/objects/structures/target_stake.dm
+++ b/code/game/objects/structures/target_stake.dm
@@ -12,6 +12,8 @@
if (!pinned_target && istype(W, /obj/item/target) && user.try_unequip(W, get_turf(src)))
to_chat(user, "You slide [W] into the stake.")
set_target(W)
+ return TRUE
+ return ..()
/obj/structure/target_stake/attack_hand(var/mob/user)
if (!pinned_target || !user.check_dexterity(DEXTERITY_HOLD_ITEM, TRUE))
diff --git a/code/game/objects/structures/under_wardrobe.dm b/code/game/objects/structures/under_wardrobe.dm
index 2a4e6fa7253..db853713b21 100644
--- a/code/game/objects/structures/under_wardrobe.dm
+++ b/code/game/objects/structures/under_wardrobe.dm
@@ -8,12 +8,14 @@
density = TRUE
var/static/list/amount_of_underwear_by_id_card
-/obj/structure/undies_wardrobe/attackby(var/obj/item/underwear/underwear, var/mob/user)
- if(istype(underwear))
+/obj/structure/undies_wardrobe/attackby(var/obj/item/item, var/mob/user)
+ if(istype(item, /obj/item/underwear))
+ var/obj/item/underwear/underwear = item
if(!user.try_unequip(underwear))
- return
+ return TRUE
qdel(underwear)
- user.visible_message("\The [user] inserts \their [underwear.name] into \the [src].", "You insert your [underwear.name] into \the [src].")
+ var/decl/pronouns/user_pronouns = user.get_pronouns()
+ user.visible_message("\The [user] inserts [user_pronouns.his] [underwear.name] into \the [src].", "You insert your [underwear.name] into \the [src].")
var/id = user.GetIdCard()
var/message
@@ -30,9 +32,9 @@
events_repository.register(/decl/observ/destroyed, id, src, TYPE_PROC_REF(/obj/structure/undies_wardrobe, remove_id_card))
else
remove_id_card(id)
-
+ return TRUE
else
- ..()
+ return ..()
/obj/structure/undies_wardrobe/proc/remove_id_card(var/id_card)
LAZYREMOVE(amount_of_underwear_by_id_card, id_card)
diff --git a/code/game/objects/structures/wall_sconce.dm b/code/game/objects/structures/wall_sconce.dm
index 8339a0d3b6c..c66f3e453fd 100644
--- a/code/game/objects/structures/wall_sconce.dm
+++ b/code/game/objects/structures/wall_sconce.dm
@@ -30,6 +30,7 @@
w_class = ITEM_SIZE_LARGE
directional_offset = @'{"NORTH":{"y":24}, "SOUTH":{"y":-1}, "EAST":{"x":10,"y":10}, "WEST":{"x":-10,"y":10}}'
layer = ABOVE_HUMAN_LAYER
+ anchored = TRUE
/// Reference to the currently attached item.
var/obj/item/flame/light_source
/// Whether or not the light source, if present, is automatically lit on Initialize.
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 4d9e2bd2e9c..454e6e9b6b5 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -48,7 +48,7 @@ var/global/list/hygiene_props = list()
clogged--
if(clogged <= 0)
unclog()
- return
+ return TRUE
. = ..()
/obj/structure/hygiene/examine(mob/user)
@@ -182,20 +182,20 @@ var/global/list/hygiene_props = list()
"You hear grinding porcelain.")
cistern = !cistern
update_icon()
- return
+ return TRUE
if(cistern && !isrobot(user)) //STOP PUTTING YOUR MODULES IN THE TOILET.
if(I.w_class > ITEM_SIZE_NORMAL)
to_chat(user, SPAN_WARNING("\The [I] does not fit."))
- return
+ return TRUE
if(w_items + I.w_class > ITEM_SIZE_HUGE)
to_chat(user, SPAN_WARNING("The cistern is full."))
- return
+ return TRUE
if(!user.try_unequip(I, src))
- return
+ return TRUE
w_items += I.w_class
to_chat(user, SPAN_NOTICE("You carefully place \the [I] into the cistern."))
- return
+ return TRUE
. = ..()
@@ -286,7 +286,7 @@ var/global/list/hygiene_props = list()
/obj/structure/hygiene/shower/attackby(obj/item/I, var/mob/user)
if(istype(I, /obj/item/scanner/gas))
to_chat(user, SPAN_NOTICE("The water temperature seems to be [watertemp]."))
- return
+ return TRUE
if(IS_WRENCH(I))
var/newtemp = input(user, "What setting would you like to set the temperature valve to?", "Water Temperature Valve") in temperature_settings
@@ -394,7 +394,7 @@ var/global/list/hygiene_props = list()
if(busy)
to_chat(user, SPAN_WARNING("Someone's already washing here."))
- return
+ return TRUE
var/obj/item/chems/chem_container = hit_with
if (istype(chem_container) && ATOM_IS_OPEN_CONTAINER(chem_container) && chem_container.reagents)
@@ -426,14 +426,14 @@ var/global/list/hygiene_props = list()
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
else
to_chat(user, SPAN_WARNING("\The [hit_with] is saturated."))
- return
+ return TRUE
var/turf/location = user.loc
if(!isturf(location))
- return
+ return FALSE
if(!istype(hit_with))
- return
+ return FALSE
to_chat(usr, SPAN_NOTICE("You start washing \the [hit_with]."))
playsound(loc, 'sound/effects/sink_long.ogg', 75, 1)
@@ -451,6 +451,7 @@ var/global/list/hygiene_props = list()
user.visible_message( \
SPAN_NOTICE("\The [user] washes \a [hit_with] using \the [src]."),
SPAN_NOTICE("You wash \a [hit_with] using \the [src]."))
+ return TRUE
/obj/structure/hygiene/sink/kitchen
@@ -470,7 +471,7 @@ var/global/list/hygiene_props = list()
/obj/structure/hygiene/sink/puddle/attackby(obj/item/O, var/mob/user)
icon_state = "puddle-splash"
- ..()
+ . = ..()
icon_state = "puddle"
//toilet paper interaction for clogging toilets and other facilities
@@ -480,18 +481,19 @@ var/global/list/hygiene_props = list()
return ..()
if (clogged == -1)
to_chat(user, SPAN_WARNING("Try as you might, you can not clog \the [src] with \the [I]."))
- return
+ return TRUE
if (clogged)
to_chat(user, SPAN_WARNING("\The [src] is already clogged."))
- return
+ return TRUE
if (!do_after(user, 3 SECONDS, src))
to_chat(user, SPAN_WARNING("You must stay still to clog \the [src]."))
- return
+ return TRUE
if (clogged || QDELETED(I) || !user.try_unequip(I))
- return
+ return TRUE
to_chat(user, SPAN_NOTICE("You unceremoniously jam \the [src] with \the [I]. What a rebel."))
clog(1)
qdel(I)
+ return TRUE
////////////////////////////////////////////////////
// Toilet Paper Roll
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 751cac70ac9..4ad6358add5 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -150,8 +150,7 @@
if (ishuman(user))
var/mob/living/human/H = user
if(H.species.can_shred(H))
- attack_generic(H,25)
- return
+ return attack_generic(H,25)
playsound(src.loc, 'sound/effects/glassknock.ogg', 80, 1)
user.do_attack_animation(src)
@@ -596,7 +595,7 @@
return TRUE
/obj/structure/window/reinforced/crescent/attackby()
- return
+ return TRUE
/obj/structure/window/reinforced/crescent/explosion_act()
SHOULD_CALL_PARENT(FALSE)
diff --git a/code/game/turfs/flooring/_flooring.dm b/code/game/turfs/flooring/_flooring.dm
index 1ff678dddc3..981d5aa6b81 100644
--- a/code/game/turfs/flooring/_flooring.dm
+++ b/code/game/turfs/flooring/_flooring.dm
@@ -80,6 +80,9 @@ var/global/list/flooring_cache = list()
var/holographic = FALSE
var/dirt_color = "#7c5e42"
+ var/list/burned_states
+ var/list/broken_states
+
/decl/flooring/Initialize()
. = ..()
@@ -135,6 +138,14 @@ var/global/list/flooring_cache = list()
if(icon && icon_base)
+ for(var/check_state in broken_states)
+ if(!check_state_in_icon(check_state, icon))
+ . += "missing broken state '[check_state]' in '[icon]'"
+
+ for(var/check_state in burned_states)
+ if(!check_state_in_icon(check_state, icon))
+ . += "missing burned state '[check_state]' in '[icon]'"
+
if(!check_state_in_icon("trench", icon))
. += "no trench wall state"
@@ -179,7 +190,7 @@ var/global/list/flooring_cache = list()
if(color)
target.color = color
- else
+ else if(!can_paint || isnull(target.paint_color))
var/decl/material/use_material = target.get_material()
target.color = use_material?.color
@@ -218,6 +229,20 @@ var/global/list/flooring_cache = list()
if(length(edge_overlays))
target.add_overlay(edge_overlays)
+ if(target.is_floor_broken())
+ target.add_overlay(get_damage_overlay(target._floor_broken))
+ if(target.is_floor_burned())
+ target.add_overlay(get_damage_overlay(target._floor_burned))
+
+/decl/flooring/proc/get_damage_overlay(var/overlay_state)
+ var/cache_key = "[icon]-[overlay_state]"
+ if(!global.flooring_cache[cache_key])
+ var/image/I = image(icon = icon, icon_state = overlay_state)
+ I.blend_mode = BLEND_MULTIPLY
+ I.layer = DECAL_LAYER
+ global.flooring_cache[cache_key] = I
+ return global.flooring_cache[cache_key]
+
/decl/flooring/proc/get_flooring_overlay(var/cache_key, var/icon_base, var/icon_dir = 0, var/external = FALSE, var/edge_layer)
cache_key = "[cache_key]-[edge_layer]"
if(!global.flooring_cache[cache_key])
diff --git a/code/game/turfs/flooring/flooring_carpet.dm b/code/game/turfs/flooring/flooring_carpet.dm
index 4963275744d..8c7be4c850f 100644
--- a/code/game/turfs/flooring/flooring_carpet.dm
+++ b/code/game/turfs/flooring/flooring_carpet.dm
@@ -6,11 +6,22 @@
icon_edge_layer = FLOOR_EDGE_CARPET
build_type = /obj/item/stack/tile/carpet
damage_temperature = T0C+200
- flooring_flags = TURF_REMOVE_CROWBAR | TURF_CAN_BURN
+ flooring_flags = TURF_REMOVE_CROWBAR
can_engrave = FALSE
footstep_type = /decl/footsteps/carpet
force_material = /decl/material/solid/organic/cloth
constructed = TRUE
+ burned_states = list(
+ "burned0",
+ "burned1"
+ )
+ broken_states = list(
+ "broken0",
+ "broken1",
+ "broken2",
+ "broken3",
+ "broken4"
+ )
/decl/flooring/carpet/blue
name = "blue carpet"
@@ -51,3 +62,14 @@
name = "red carpet"
icon_base = "red"
build_type = /obj/item/stack/tile/carpet/red
+
+/decl/flooring/carpet/rustic
+ name = "rustic carpet"
+ desc = "A stretch of simple woven carpet. Cozy, but a little itchy."
+ icon = 'icons/turf/flooring/simple_carpet.dmi'
+ icon_base = "carpet"
+ build_type = /obj/item/stack/tile/carpet/rustic
+ can_paint = TRUE
+ color = null
+ broken_states = null
+ burned_states = null
diff --git a/code/game/turfs/flooring/flooring_misc.dm b/code/game/turfs/flooring/flooring_misc.dm
index 48598df7f40..eaed5e06b52 100644
--- a/code/game/turfs/flooring/flooring_misc.dm
+++ b/code/game/turfs/flooring/flooring_misc.dm
@@ -16,7 +16,7 @@
icon = 'icons/turf/flooring/crystal.dmi'
icon_base = "crystal"
build_type = null
- flooring_flags = TURF_ACID_IMMUNE | TURF_CAN_BREAK | TURF_REMOVE_CROWBAR
+ flooring_flags = TURF_ACID_IMMUNE | TURF_REMOVE_CROWBAR
color = "#00ffe1"
force_material = /decl/material/solid/gemstone/crystal
constructed = TRUE
diff --git a/code/game/turfs/flooring/flooring_plating.dm b/code/game/turfs/flooring/flooring_plating.dm
index f708ff94f77..505bad7a3ed 100644
--- a/code/game/turfs/flooring/flooring_plating.dm
+++ b/code/game/turfs/flooring/flooring_plating.dm
@@ -6,3 +6,14 @@
floor_layer = PLATING_LAYER
force_material = /decl/material/solid/metal/steel
constructed = TRUE
+ burned_states = list(
+ "burned0",
+ "burned1"
+ )
+ broken_states = list(
+ "broken0",
+ "broken1",
+ "broken2",
+ "broken3",
+ "broken4"
+ )
diff --git a/code/game/turfs/flooring/flooring_reinforced.dm b/code/game/turfs/flooring/flooring_reinforced.dm
index 88756a989e3..a926312bc8f 100644
--- a/code/game/turfs/flooring/flooring_reinforced.dm
+++ b/code/game/turfs/flooring/flooring_reinforced.dm
@@ -13,6 +13,17 @@
force_material = /decl/material/solid/metal/steel
constructed = TRUE
gender = NEUTER
+ burned_states = list(
+ "burned0",
+ "burned1"
+ )
+ broken_states = list(
+ "broken0",
+ "broken1",
+ "broken2",
+ "broken3",
+ "broken4"
+ )
/decl/flooring/reinforced/circuit
name = "processing strata"
@@ -20,24 +31,30 @@
icon = 'icons/turf/flooring/circuit.dmi'
icon_base = "bcircuit"
build_type = null
- flooring_flags = TURF_ACID_IMMUNE | TURF_CAN_BREAK | TURF_REMOVE_WRENCH
+ flooring_flags = TURF_ACID_IMMUNE | TURF_REMOVE_WRENCH
can_paint = 1
can_engrave = FALSE
+ turf_light_range = 2
+ turf_light_power = 3
+ turf_light_color = COLOR_BLUE
/decl/flooring/reinforced/circuit/green
- icon_base = "gcircuit"
+ icon_base = "gcircuit"
+ turf_light_color = COLOR_GREEN
/decl/flooring/reinforced/circuit/red
- icon_base = "rcircuit"
- flooring_flags = TURF_ACID_IMMUNE
- can_paint = 0
+ icon_base = "rcircuit"
+ flooring_flags = TURF_ACID_IMMUNE
+ can_paint = 0
+ turf_light_power = 2
+ turf_light_color = COLOR_RED
/decl/flooring/reinforced/shuttle
name = "floor"
desc = "A stretch of plastic shuttle flooring."
icon = 'icons/turf/flooring/shuttle.dmi'
build_type = null
- flooring_flags = TURF_ACID_IMMUNE | TURF_CAN_BREAK | TURF_REMOVE_CROWBAR
+ flooring_flags = TURF_ACID_IMMUNE | TURF_REMOVE_CROWBAR
can_paint = 1
can_engrave = FALSE
gender = NEUTER
diff --git a/code/game/turfs/flooring/flooring_tiled.dm b/code/game/turfs/flooring/flooring_tiled.dm
index 3f826561b8b..96c1fb9c5e9 100644
--- a/code/game/turfs/flooring/flooring_tiled.dm
+++ b/code/game/turfs/flooring/flooring_tiled.dm
@@ -6,7 +6,7 @@
descriptor = "tiles"
color = COLOR_DARK_GUNMETAL
damage_temperature = T0C+1400
- flooring_flags = TURF_REMOVE_CROWBAR | TURF_CAN_BREAK | TURF_CAN_BURN
+ flooring_flags = TURF_REMOVE_CROWBAR
build_type = /obj/item/stack/tile/floor
can_paint = 1
footstep_type = /decl/footsteps/tiles
@@ -15,6 +15,17 @@
space_smooth = SMOOTH_ALL
constructed = TRUE
gender = NEUTER
+ burned_states = list(
+ "burned0",
+ "burned1"
+ )
+ broken_states = list(
+ "broken0",
+ "broken1",
+ "broken2",
+ "broken3",
+ "broken4"
+ )
/decl/flooring/tiling/mono
icon_base = "monotile"
diff --git a/code/game/turfs/flooring/flooring_wood.dm b/code/game/turfs/flooring/flooring_wood.dm
index a7f19021bfe..a9c136bfcb5 100644
--- a/code/game/turfs/flooring/flooring_wood.dm
+++ b/code/game/turfs/flooring/flooring_wood.dm
@@ -3,15 +3,25 @@
desc = "A stretch of closely-fitted wooden planks."
icon = 'icons/turf/flooring/wood.dmi'
icon_base = "wood"
+ has_base_range = 4
damage_temperature = T0C+200
descriptor = "planks"
build_type = /obj/item/stack/tile/wood
- flooring_flags = TURF_CAN_BREAK | TURF_IS_FRAGILE | TURF_REMOVE_SCREWDRIVER
+ flooring_flags = TURF_IS_FRAGILE | TURF_REMOVE_SCREWDRIVER
footstep_type = /decl/footsteps/wood
color = /decl/material/solid/organic/wood::color
force_material = /decl/material/solid/organic/wood
constructed = TRUE
gender = NEUTER
+ broken_states = list(
+ "broken0",
+ "broken1",
+ "broken2",
+ "broken3",
+ "broken4",
+ "broken5",
+ "broken6"
+ )
/decl/flooring/wood/mahogany
color = /decl/material/solid/organic/wood/mahogany::color
diff --git a/code/game/turfs/floors/_floor.dm b/code/game/turfs/floors/_floor.dm
index 42d143ab385..8a5562d03ad 100644
--- a/code/game/turfs/floors/_floor.dm
+++ b/code/game/turfs/floors/_floor.dm
@@ -149,7 +149,9 @@
CRASH("[src] at ([x], [y], [z]) cannot create stack because it has a bad build_material path: '[_flooring.build_material]'")
M.create_object(src, _flooring.build_cost, _flooring.build_type)
else
- new _flooring.build_type(src)
+ var/obj/item/stack/tile/new_tile = new _flooring.build_type(src)
+ if(_flooring.can_paint && paint_color)
+ new_tile.paint_color = paint_color
if(_flooring.has_environment_proc && is_processing)
STOP_PROCESSING(SSobj, src)
diff --git a/code/game/turfs/floors/floor_damage.dm b/code/game/turfs/floors/floor_damage.dm
index b312a1ab300..05e7630e0a1 100644
--- a/code/game/turfs/floors/floor_damage.dm
+++ b/code/game/turfs/floors/floor_damage.dm
@@ -5,14 +5,14 @@
/turf/floor/proc/break_tile()
var/decl/flooring/flooring = get_topmost_flooring()
- if(!istype(flooring) || !(flooring.flooring_flags & TURF_CAN_BREAK) || is_floor_broken())
+ if(!istype(flooring) || !length(flooring.broken_states) || is_floor_broken())
return
set_floor_broken(TRUE)
remove_decals()
/turf/floor/proc/burn_tile(var/exposed_temperature)
var/decl/flooring/flooring = get_topmost_flooring()
- if(!istype(flooring) || !(flooring.flooring_flags & TURF_CAN_BURN) || is_floor_burned())
+ if(!istype(flooring) || !length(flooring.burned_states) || is_floor_burned())
return
set_floor_burned(TRUE)
remove_decals()
diff --git a/code/game/turfs/floors/floor_icon.dm b/code/game/turfs/floors/floor_icon.dm
index 16b41e64ec8..5e060f35848 100644
--- a/code/game/turfs/floors/floor_icon.dm
+++ b/code/game/turfs/floors/floor_icon.dm
@@ -112,11 +112,6 @@
continue
add_overlay(I)
- if(is_floor_broken())
- add_overlay(get_turf_damage_overlay(_floor_broken))
- if(is_floor_burned())
- add_overlay(get_turf_damage_overlay(_floor_burned))
-
if(update_neighbors)
for(var/turf/floor/F in orange(src, 1))
F.queue_ao()
@@ -140,11 +135,11 @@
/turf/floor/proc/is_floor_broken()
var/decl/flooring/flooring = get_topmost_flooring()
- return !isnull(_floor_broken) && (!istype(flooring) || (flooring.flooring_flags & TURF_CAN_BREAK))
+ return !isnull(_floor_broken) && (!istype(flooring) || length(flooring.broken_states))
/turf/floor/proc/is_floor_burned()
var/decl/flooring/flooring = get_topmost_flooring()
- return !isnull(_floor_burned) && (!istype(flooring) || (flooring.flooring_flags & TURF_CAN_BURN))
+ return !isnull(_floor_burned) && (!istype(flooring) || length(flooring.burned_states))
/turf/floor/proc/is_floor_damaged()
return is_floor_broken() || is_floor_burned()
@@ -152,19 +147,10 @@
/turf/floor/proc/set_floor_broken(new_broken, skip_update)
var/decl/flooring/flooring = get_topmost_flooring()
- if(istype(flooring) && !(flooring.flooring_flags & TURF_CAN_BREAK))
+ if(!istype(flooring) || !length(flooring.broken_states))
return FALSE
-
- // Hardcoded because they're bundled into the same icon file at the moment.
- var/static/list/broken_states = list(
- "broken0",
- "broken1",
- "broken2",
- "broken3",
- "broken4"
- )
- if(new_broken && (!istext(new_broken) || !(new_broken in broken_states)))
- new_broken = "broken[rand(0,4)]"
+ if(new_broken && (!istext(new_broken) || !(new_broken in flooring.broken_states)))
+ new_broken = pick(flooring.broken_states)
if(_floor_broken != new_broken)
_floor_broken = new_broken
if(!skip_update)
@@ -175,16 +161,10 @@
/turf/floor/proc/set_floor_burned(new_burned, skip_update)
var/decl/flooring/flooring = get_topmost_flooring()
- if(istype(flooring) && !(flooring.flooring_flags & TURF_CAN_BURN))
+ if(!istype(flooring) || !length(flooring.burned_states))
return FALSE
-
- // Hardcoded because they're bundled into the same icon file at the moment.
- var/static/list/burned_states = list(
- "burned0",
- "burned1"
- )
- if(new_burned && (!istext(new_burned) || !(new_burned in burned_states)))
- new_burned = "burned[rand(0,1)]"
+ if(new_burned && (!istext(new_burned) || !(new_burned in flooring.burned_states)))
+ new_burned = pick(flooring.burned_states)
if(_floor_burned != new_burned)
_floor_burned = new_burned
if(!skip_update)
@@ -192,19 +172,6 @@
return TRUE
return FALSE
-/turf/proc/get_turf_damage_overlay_icon()
- return 'icons/turf/flooring/damage.dmi'
-
-/turf/proc/get_turf_damage_overlay(var/overlay_state)
- var/damage_overlay_icon = get_turf_damage_overlay_icon()
- var/cache_key = "[icon]-[overlay_state]"
- if(!global.flooring_cache[cache_key])
- var/image/I = image(icon = damage_overlay_icon, icon_state = overlay_state)
- I.blend_mode = BLEND_MULTIPLY
- I.layer = DECAL_LAYER
- global.flooring_cache[cache_key] = I
- return global.flooring_cache[cache_key]
-
/decl/flooring/proc/test_link(var/turf/origin, var/turf/opponent)
if(!istype(origin) || !istype(opponent))
return FALSE
diff --git a/code/game/turfs/floors/subtypes/floor_carpet.dm b/code/game/turfs/floors/subtypes/floor_carpet.dm
index 6911f3500e5..8292e7cbdc8 100644
--- a/code/game/turfs/floors/subtypes/floor_carpet.dm
+++ b/code/game/turfs/floors/subtypes/floor_carpet.dm
@@ -5,6 +5,15 @@
icon_state = "brown"
_flooring = /decl/flooring/carpet
+/turf/floor/carpet/broken
+ _floor_broken = TRUE
+
+/turf/floor/carpet/broken/Initialize()
+ . = ..()
+ var/setting_broken = _floor_broken
+ _floor_broken = null
+ set_floor_broken(setting_broken)
+
/turf/floor/carpet/blue
name = "blue carpet"
icon_state = "blue1"
@@ -44,3 +53,11 @@
name = "red carpet"
icon_state = "red"
_flooring = /decl/flooring/carpet/red
+
+/turf/floor/carpet/rustic
+ name = "rustic carpet"
+ icon = 'icons/turf/flooring/simple_carpet.dmi'
+ icon_state = "carpet"
+ _flooring = /decl/flooring/carpet/rustic
+ paint_color = COLOR_CHESTNUT
+ color = COLOR_CHESTNUT
\ No newline at end of file
diff --git a/code/game/turfs/floors/subtypes/floor_circuit.dm b/code/game/turfs/floors/subtypes/floor_circuit.dm
index 7f934481deb..f050f13a93e 100644
--- a/code/game/turfs/floors/subtypes/floor_circuit.dm
+++ b/code/game/turfs/floors/subtypes/floor_circuit.dm
@@ -3,23 +3,21 @@
icon = 'icons/turf/flooring/circuit.dmi'
icon_state = "bcircuit"
_flooring = /decl/flooring/reinforced/circuit
- light_range = 2
- light_power = 3
- light_color = COLOR_BLUE
/turf/floor/bluegrid/airless
name = "airless floor"
initial_gas = null
temperature = TCMB
+/turf/floor/bluegrid/mainframe
+ name = "mainframe base" // TODO: force name overriding flooring?
+ temperature = 263
+
/turf/floor/greengrid
name = "mainframe floor"
icon = 'icons/turf/flooring/circuit.dmi'
icon_state = "gcircuit"
_flooring = /decl/flooring/reinforced/circuit/green
- light_range = 2
- light_power = 3
- light_color = COLOR_GREEN
/turf/floor/greengrid/airless
name = "airless floor"
@@ -34,6 +32,3 @@
icon = 'icons/turf/flooring/circuit.dmi'
icon_state = "rcircuit"
_flooring = /decl/flooring/reinforced/circuit/red
- light_range = 2
- light_power = 2
- light_color = COLOR_RED
diff --git a/code/game/turfs/floors/subtypes/floor_misc.dm b/code/game/turfs/floors/subtypes/floor_misc.dm
index 437b1cb3398..fbc7d2400e1 100644
--- a/code/game/turfs/floors/subtypes/floor_misc.dm
+++ b/code/game/turfs/floors/subtypes/floor_misc.dm
@@ -4,10 +4,6 @@
icon_state = "lino"
_flooring = /decl/flooring/linoleum
-/turf/floor/airless
- name = "airless plating"
- initial_gas = null
- temperature = TCMB
/turf/floor/crystal
name = "crystal floor"
@@ -56,3 +52,39 @@
// Defining this here as a dummy mapping shorthand so mappers can search for 'plating'.
/turf/floor/plating
+ _base_flooring = /decl/flooring/plating // Setting here so overrides on /turf/floor do not impact explicitly typed plating turfs.
+
+/turf/floor/plating/broken
+ _floor_broken = TRUE
+
+/turf/floor/plating/broken/Initialize(ml, floortype)
+ . = ..()
+ var/setting_broken = _floor_broken
+ _floor_broken = null
+ set_floor_broken(setting_broken)
+
+/turf/floor/plating/airless
+ name = "airless plating"
+ initial_gas = null
+ temperature = TCMB
+
+/turf/floor/plating/airless/broken
+ _floor_broken = TRUE
+
+/turf/floor/plating/airless/broken/Initialize(ml, floortype)
+ . = ..()
+ var/setting_broken = _floor_broken
+ _floor_broken = null
+ set_floor_broken(setting_broken)
+
+/turf/floor/plating/broken/one
+ _floor_broken = "broken1"
+
+/turf/floor/plating/broken/two
+ _floor_broken = "broken2"
+
+/turf/floor/plating/broken/three
+ _floor_broken = "broken3"
+
+/turf/floor/plating/broken/four
+ _floor_broken = "broken4"
diff --git a/code/game/turfs/floors/subtypes/floor_natural.dm b/code/game/turfs/floors/subtypes/floor_natural.dm
index 4b6b98437d5..4b2ddd092f9 100644
--- a/code/game/turfs/floors/subtypes/floor_natural.dm
+++ b/code/game/turfs/floors/subtypes/floor_natural.dm
@@ -11,13 +11,6 @@
color = "#41311b"
_base_flooring = /decl/flooring/dirt
-/turf/floor/wood/walnut
- name = "wooden floor"
- icon = 'icons/turf/flooring/wood.dmi'
- icon_state = "wood"
- color = /decl/material/solid/organic/wood/walnut::color
- _flooring = /decl/flooring/wood/walnut
-
/turf/floor/chlorine_sand
name = "chlorinated sand"
icon = 'icons/turf/flooring/chlorine_sand.dmi'
diff --git a/code/game/turfs/floors/subtypes/floor_static.dm b/code/game/turfs/floors/subtypes/floor_static.dm
index d55afe9df24..47cf104cd6a 100644
--- a/code/game/turfs/floors/subtypes/floor_static.dm
+++ b/code/game/turfs/floors/subtypes/floor_static.dm
@@ -11,7 +11,7 @@
/turf/floor/fixed/attackby(var/obj/item/C, var/mob/user)
if(istype(C, /obj/item/stack) && !IS_COIL(C))
- return
+ return TRUE
return ..()
/turf/floor/fixed/on_update_icon()
diff --git a/code/game/turfs/floors/subtypes/floor_tiled.dm b/code/game/turfs/floors/subtypes/floor_tiled.dm
index 2adff8faa9b..b92260c905e 100644
--- a/code/game/turfs/floors/subtypes/floor_tiled.dm
+++ b/code/game/turfs/floors/subtypes/floor_tiled.dm
@@ -15,6 +15,10 @@
icon_state = "monotiledark"
_flooring = /decl/flooring/tiling/mono/dark
+/turf/floor/tiled/dark/monotile/telecomms
+ name = "telecomms dark floor" // TODO: force name overriding flooring?
+ temperature = 263
+
/turf/floor/tiled/dark/airless
initial_gas = null
@@ -43,6 +47,10 @@
icon_state = "freezer"
_flooring = /decl/flooring/tiling/freezer
+/turf/floor/tiled/freezer/kitchen
+ name = "kitchen freezer floor" // TODO: force override of flooring name
+ temperature = 263
+
/turf/floor/tiled/techmaint
name = "floor"
icon = 'icons/turf/flooring/tiles.dmi'
@@ -104,3 +112,12 @@
name = "airless floor"
initial_gas = null
temperature = TCMB
+
+/turf/floor/tiled/airless/broken
+ _floor_broken = TRUE
+
+/turf/floor/tiled/airless/broken/Initialize()
+ . = ..()
+ var/setting_broken = _floor_broken
+ _floor_broken = null
+ set_floor_broken(setting_broken)
diff --git a/code/game/turfs/floors/subtypes/floor_wood.dm b/code/game/turfs/floors/subtypes/floor_wood.dm
index 89a834a2956..9ab163825a6 100644
--- a/code/game/turfs/floors/subtypes/floor_wood.dm
+++ b/code/game/turfs/floors/subtypes/floor_wood.dm
@@ -1,10 +1,36 @@
/turf/floor/wood
name = "wooden floor"
icon = 'icons/turf/flooring/wood.dmi'
- icon_state = "wood"
+ icon_state = "wood0"
color = /decl/material/solid/organic/wood::color
_flooring = /decl/flooring/wood
+/turf/floor/wood/broken
+ icon_state = "wood_broken0"
+ _floor_broken = TRUE
+
+/turf/floor/wood/broken/Initialize()
+ . = ..()
+ var/setting_broken = _floor_broken
+ _floor_broken = null
+ set_floor_broken(setting_broken)
+
+/turf/floor/wood/broken/one
+ icon_state = "wood_broken1"
+ _floor_broken = "broken1"
+
+/turf/floor/wood/broken/two
+ icon_state = "wood_broken2"
+ _floor_broken = "broken2"
+
+/turf/floor/wood/broken/three
+ icon_state = "wood_broken3"
+ _floor_broken = "broken3"
+
+/turf/floor/wood/broken/four
+ icon_state = "wood_broken4"
+ _floor_broken = "broken4"
+
/turf/floor/wood/mahogany
color = /decl/material/solid/organic/wood/mahogany::color
_flooring = /decl/flooring/wood/mahogany
diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm
index 65a78a72fcf..4dae8e23057 100644
--- a/code/game/turfs/space/space.dm
+++ b/code/game/turfs/space/space.dm
@@ -110,13 +110,14 @@
if(L)
var/obj/item/stack/tile/floor/S = C
if (!S.use(1))
- return
+ return TRUE
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
- ChangeTurf(/turf/floor/airless)
+ ChangeTurf(/turf/floor/plating/airless)
qdel(L)
else
to_chat(user, "The plating is going to need some support.")
return TRUE
+ return FALSE
// Ported from unstable r355
@@ -137,3 +138,6 @@
/turf/space/infinity
name = "\proper infinity"
icon_state = "bluespace"
+
+/turf/space/black
+ icon_state = "black"
diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm
index 7a4b0d889c1..9a6aff50393 100644
--- a/code/game/turfs/space/transit.dm
+++ b/code/game/turfs/space/transit.dm
@@ -3,7 +3,7 @@
//Overwrite because we dont want people building rods in space.
/turf/space/transit/attackby(obj/O, mob/user)
- return
+ return TRUE
/turf/space/transit/Initialize()
. = ..()
diff --git a/code/game/turfs/unsimulated/beach.dm b/code/game/turfs/unsimulated/beach.dm
deleted file mode 100644
index a55e53e0ed2..00000000000
--- a/code/game/turfs/unsimulated/beach.dm
+++ /dev/null
@@ -1,23 +0,0 @@
-/turf/unsimulated/beach
- name = "Beach"
- icon = 'icons/misc/beach.dmi'
- turf_flags = TURF_FLAG_BACKGROUND
- abstract_type = /turf/unsimulated/beach
-
-/turf/unsimulated/beach/sand
- name = "Sand"
- icon_state = "sand"
-
-/turf/unsimulated/beach/coastline
- name = "Coastline"
- icon = 'icons/misc/beach2.dmi'
- icon_state = "sandwater"
-
-/turf/unsimulated/beach/water
- name = "Water"
- icon_state = "water"
- turf_flags = TURF_FLAG_BACKGROUND | TURF_IS_WET | TURF_IS_HOLOMAP_PATH
-
-/turf/unsimulated/beach/water/New()
- ..()
- overlays += image("icon"='icons/misc/beach.dmi',"icon_state"="water2","layer"=MOB_LAYER+0.1)
diff --git a/code/game/turfs/unsimulated/floor.dm b/code/game/turfs/unsimulated/floor.dm
index 21f843cf699..449745e5e12 100644
--- a/code/game/turfs/unsimulated/floor.dm
+++ b/code/game/turfs/unsimulated/floor.dm
@@ -13,21 +13,6 @@
icon_state = "bluespace"
desc = "Looks like eternity."
-/turf/unsimulated/mask
- name = "mask"
- icon = 'icons/turf/walls.dmi'
- icon_state = "rockvault"
-
-/turf/unsimulated/mask_alt // just a second mask type for maps needing two random map runs
- name = "mask"
- icon = 'icons/turf/walls.dmi'
- icon_state = "rockvault"
- color = COLOR_SILVER
-
-/turf/unsimulated/mask/flooded
- flooded = /decl/material/liquid/water
- color = COLOR_LIQUID_WATER
-
/turf/unsimulated/floor/rescue_base
icon_state = "asteroidfloor"
@@ -49,3 +34,83 @@
name = "snowy plating"
icon = 'icons/turf/flooring/snow_plating.dmi'
icon_state = "snowplating"
+
+/turf/unsimulated/floor/wood
+ name = "wooden floor"
+ icon = 'icons/turf/flooring/wood.dmi'
+ icon_state = "wood0"
+
+/turf/unsimulated/floor/wood/broken
+ icon_state = "wood_broken0"
+
+/turf/unsimulated/floor/wood/broken1
+ icon_state = "wood_broken1"
+
+/turf/unsimulated/floor/wood/broken2
+ icon_state = "wood_broken2"
+
+/turf/unsimulated/floor/wood/broken6
+ icon_state = "wood_broken6"
+
+/turf/unsimulated/floor/vault
+ icon_state = "vault"
+
+/turf/unsimulated/floor/dark
+ icon_state = "dark"
+
+/turf/unsimulated/floor/freezer
+ icon_state = "freezerfloor"
+
+/turf/unsimulated/floor/plating
+ name = "plating"
+ icon_state = "plating"
+
+/turf/unsimulated/floor/asteroid
+ icon_state = "asteroid"
+
+/turf/unsimulated/floor/asteroidplating
+ icon_state = "asteroidplating"
+
+/turf/unsimulated/floor/cult
+ name = "plating"
+ icon_state = "cult"
+
+/turf/unsimulated/floor/water
+ name = "water"
+ icon = 'icons/misc/beach.dmi'
+ icon_state = "seashallow"
+
+/turf/unsimulated/floor/lava
+ icon_state = "lava"
+ name = "lava"
+
+/turf/unsimulated/floor/grass
+ name = "grass"
+ icon_state = "grass0"
+
+/turf/unsimulated/floor/steel
+ icon_state = "steel"
+
+/turf/unsimulated/floor/bcircuit
+ icon_state = "bcircuit"
+
+/turf/unsimulated/floor/hydro
+ icon_state = "hydrofloor"
+
+/turf/unsimulated/floor/white
+ icon_state = "white"
+
+/turf/unsimulated/floor/carpet
+ name = "carpet"
+ icon_state = "carpet"
+
+/turf/unsimulated/floor/bcarpet
+ icon_state = "bcarpet"
+
+/turf/unsimulated/floor/sand
+ name = "sand"
+ icon = 'icons/turf/flooring/sand.dmi'
+ icon_state = "sand0"
+
+/turf/unsimulated/floor/lino
+ icon_state = "lino"
diff --git a/code/game/turfs/unsimulated/mask.dm b/code/game/turfs/unsimulated/mask.dm
new file mode 100644
index 00000000000..1b82356696e
--- /dev/null
+++ b/code/game/turfs/unsimulated/mask.dm
@@ -0,0 +1,14 @@
+/turf/unsimulated/mask
+ name = "mask"
+ icon = 'icons/turf/walls.dmi'
+ icon_state = "rockvault"
+
+/turf/unsimulated/mask_alt // just a second mask type for maps needing two random map runs
+ name = "mask"
+ icon = 'icons/turf/walls.dmi'
+ icon_state = "rockvault"
+ color = COLOR_SILVER
+
+/turf/unsimulated/mask/flooded
+ flooded = /decl/material/liquid/water
+ color = COLOR_LIQUID_WATER
diff --git a/code/game/turfs/unsimulated/walls.dm b/code/game/turfs/unsimulated/walls.dm
index 2ad278be533..24193a5e805 100644
--- a/code/game/turfs/unsimulated/walls.dm
+++ b/code/game/turfs/unsimulated/walls.dm
@@ -11,6 +11,9 @@
icon_state = "fakewindows"
opacity = FALSE
+/turf/unsimulated/wall/fakeglass/alt
+ icon_state = "fakewindows2"
+
/turf/unsimulated/wall/other
icon_state = "r_wall"
@@ -19,3 +22,9 @@
desc = "Hideous images dance beneath the surface."
icon = 'icons/turf/walls/cult.dmi'
icon_state = "preview"
+
+/turf/unsimulated/wall/airlock
+ name = "Facility Access"
+ desc = "A secure airlock. Doesn't look like you can get through easily."
+ icon = 'icons/obj/doors/centcomm/door.dmi'
+ icon_state = "closed"
diff --git a/code/game/turfs/walls/_wall.dm b/code/game/turfs/walls/_wall.dm
index f85c812bf9e..084fb135e17 100644
--- a/code/game/turfs/walls/_wall.dm
+++ b/code/game/turfs/walls/_wall.dm
@@ -324,3 +324,7 @@ var/global/list/wall_fullblend_objects = list(
/turf/wall/proc/get_hit_sound()
return 'sound/effects/metalhit.ogg'
+
+// Mapped premade for false walls
+/turf/wall/false
+ can_open = TRUE
diff --git a/code/game/turfs/walls/wall_brick.dm b/code/game/turfs/walls/wall_brick.dm
index 5317df3af83..28f4df68b14 100644
--- a/code/game/turfs/walls/wall_brick.dm
+++ b/code/game/turfs/walls/wall_brick.dm
@@ -36,6 +36,9 @@
/turf/wall/brick/##material_name/shutter { \
shutter_state = FALSE; \
icon_state = "brick_shutter"; \
+}; \
+/turf/wall/brick/##material_name/shutter/open { \
+ shutter_state = TRUE; \
}
MATERIAL_BRICK_WALL(sandstone)
diff --git a/code/game/turfs/walls/wall_log.dm b/code/game/turfs/walls/wall_log.dm
index eb44eda2bef..3d092408226 100644
--- a/code/game/turfs/walls/wall_log.dm
+++ b/code/game/turfs/walls/wall_log.dm
@@ -37,8 +37,10 @@
/turf/wall/log/##material_name/shutter { \
shutter_state = FALSE; \
icon_state = "log_shutter"; \
+}; \
+/turf/wall/log/##material_name/shutter/open { \
+ shutter_state = TRUE; \
}
-
LOG_WALL_SUBTYPE(fungal)
LOG_WALL_SUBTYPE(ebony)
LOG_WALL_SUBTYPE(walnut)
diff --git a/code/game/turfs/walls/wall_types.dm b/code/game/turfs/walls/wall_types.dm
index fd6a1f61921..45f51c0c7b6 100644
--- a/code/game/turfs/walls/wall_types.dm
+++ b/code/game/turfs/walls/wall_types.dm
@@ -87,7 +87,7 @@
material = /decl/material/solid/metal/alienalloy
/turf/wall/raidershuttle/attackby()
- return
+ return TRUE
//Alien metal walls
/turf/wall/alium
diff --git a/code/modules/ZAS/Atom.dm b/code/modules/ZAS/Atom.dm
index 67489bd4d69..d8575f1f9ce 100644
--- a/code/modules/ZAS/Atom.dm
+++ b/code/modules/ZAS/Atom.dm
@@ -38,3 +38,8 @@
/atom/movable
var/atmos_canpass = CANPASS_ALWAYS
+
+// Make sure you know what you're doing if you call this
+// You probably want CanPass()
+/atom/movable/Cross(atom/movable/crossed_atom)
+ return CanPass(crossed_atom, crossed_atom.loc)
\ No newline at end of file
diff --git a/code/modules/ZAS/Turf.dm b/code/modules/ZAS/Turf.dm
index e0a7767b212..82312858622 100644
--- a/code/modules/ZAS/Turf.dm
+++ b/code/modules/ZAS/Turf.dm
@@ -231,6 +231,10 @@ var/global/list/STANDARD_AIRMIX = list(
/turf/return_air()
RETURN_TYPE(/datum/gas_mixture)
+ // TODO: immutable gas mixtures for stuff like this, to avoid creating new datums every time.
+ if(!simulated)
+ return make_air()
+
// ZAS participation
if(zone && !zone.invalid)
SSair.mark_zone_update(zone)
@@ -261,7 +265,7 @@ var/global/list/STANDARD_AIRMIX = list(
return FALSE
/turf/proc/make_air()
- air = new/datum/gas_mixture
+ air = new /datum/gas_mixture
air.temperature = temperature
if(initial_gas)
if(initial_gas == GAS_STANDARD_AIRMIX)
diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm
index e26b157adde..e583f5664ce 100644
--- a/code/modules/assembly/assembly.dm
+++ b/code/modules/assembly/assembly.dm
@@ -120,15 +120,14 @@
var/obj/item/assembly/assembly = component
if(!assembly.secured && !secured)
attach_assembly(assembly, user)
- return
+ return TRUE
if(IS_SCREWDRIVER(component))
if(toggle_secure())
to_chat(user, SPAN_NOTICE("\The [src] is ready!"))
else
to_chat(user, SPAN_NOTICE("\The [src] can now be attached!"))
- return
- ..()
- return
+ return TRUE
+ return ..()
/obj/item/assembly/Process()
diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm
index 4b312321fb7..c4ef0fcdbfa 100644
--- a/code/modules/assembly/holder.dm
+++ b/code/modules/assembly/holder.dm
@@ -113,7 +113,7 @@
if(IS_SCREWDRIVER(W))
if(!a_left || !a_right)
to_chat(user, "BUG:Assembly part missing, please report this!")
- return
+ return TRUE
a_left.toggle_secure()
a_right.toggle_secure()
secured = !secured
@@ -122,11 +122,8 @@
else
to_chat(user, "\The [src] can now be taken apart!")
update_icon()
- return
- else
- ..()
- return
-
+ return TRUE
+ return ..()
/obj/item/assembly_holder/attack_self(mob/user as mob)
src.add_fingerprint(user)
diff --git a/code/modules/atmospherics/components/unary/outlet_injector.dm b/code/modules/atmospherics/components/unary/outlet_injector.dm
index 5521f5016ca..2c0ed7952a9 100644
--- a/code/modules/atmospherics/components/unary/outlet_injector.dm
+++ b/code/modules/atmospherics/components/unary/outlet_injector.dm
@@ -132,7 +132,7 @@
var/datum/browser/written_digital/popup = new (user, "Vent Configuration Utility", "[src] Configuration Panel", 600, 200)
popup.set_content(jointext(get_console_data(),"
"))
popup.open()
- return
+ return TRUE
return ..()
/decl/public_access/public_variable/volume_rate
diff --git a/code/modules/augment/active/circuit.dm b/code/modules/augment/active/circuit.dm
index 6fe25252764..913820ec276 100644
--- a/code/modules/augment/active/circuit.dm
+++ b/code/modules/augment/active/circuit.dm
@@ -20,7 +20,7 @@
holding = null
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
else to_chat(user, SPAN_WARNING("The augment is empty!"))
- return
+ return TRUE
if(istype(W, /obj/item/electronic_assembly/augment))
if(holding)
to_chat(user, SPAN_WARNING("There's already an assembly in there."))
@@ -28,6 +28,5 @@
holding = W
holding.canremove = 0
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
- return
-
- ..()
\ No newline at end of file
+ return TRUE
+ return ..()
\ No newline at end of file
diff --git a/code/modules/augment/active/cyberbrain.dm b/code/modules/augment/active/cyberbrain.dm
index f8fc92ecca1..caa75054b29 100644
--- a/code/modules/augment/active/cyberbrain.dm
+++ b/code/modules/augment/active/cyberbrain.dm
@@ -56,7 +56,8 @@
/obj/item/organ/internal/augment/active/cyberbrain/attackby(var/obj/item/W, var/mob/user)
var/datum/extension/assembly/assembly = get_extension(src, /datum/extension/assembly)
- if(assembly.attackby(W, user))
+ . = assembly.attackby(W, user)
+ if(.)
return
return ..()
diff --git a/code/modules/augment/augment.dm b/code/modules/augment/augment.dm
index 7297b6a1ba5..9b43eea445c 100644
--- a/code/modules/augment/augment.dm
+++ b/code/modules/augment/augment.dm
@@ -24,8 +24,8 @@
organ_tag = input(user, "Adjust installation parameters") as null|anything in allowed_organs
update_parent_organ()
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
- return
- ..()
+ return TRUE
+ return ..()
/obj/item/organ/internal/augment/do_install(var/mob/living/human/target, var/obj/item/organ/external/affected, var/in_place = FALSE, var/update_icon = TRUE, var/detached = FALSE)
. = ..()
diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm
index 576eaf7ad1c..13f96d15a00 100644
--- a/code/modules/awaymissions/gateway.dm
+++ b/code/modules/awaymissions/gateway.dm
@@ -130,7 +130,8 @@
/obj/machinery/gateway/centerstation/attackby(obj/item/W, mob/user)
if(IS_MULTITOOL(W))
to_chat(user, "The gate is already calibrated, there is no work for you to do here.")
- return
+ return TRUE
+ return FALSE
/////////////////////////////////////Away////////////////////////
@@ -226,8 +227,9 @@
if(IS_MULTITOOL(W))
if(calibrated)
to_chat(user, "The gate is already calibrated, there is no work for you to do here.")
- return
+ return TRUE
else
to_chat(user, "Recalibration successful!: This gate's systems have been fine tuned. Travel to this gate will now be on target.")
calibrated = 1
- return
+ return TRUE
+ return FALSE
diff --git a/code/modules/awaymissions/loot.dm b/code/modules/awaymissions/loot.dm
index 4b88e2c9e93..76ee712b3b8 100644
--- a/code/modules/awaymissions/loot.dm
+++ b/code/modules/awaymissions/loot.dm
@@ -12,7 +12,7 @@
if(things && things.len)
for(var/i = lootcount, i > 0, i--)
if(!things.len)
- return
+ break
var/loot_spawn = pick(things)
var/loot_path = text2path(loot_spawn)
diff --git a/code/modules/blob/blob.dm b/code/modules/blob/blob.dm
index 7b7b288a4d5..e8f001355f0 100644
--- a/code/modules/blob/blob.dm
+++ b/code/modules/blob/blob.dm
@@ -168,16 +168,16 @@
if(IS_WIRECUTTER(W))
if(prob(user.skill_fail_chance(SKILL_SCIENCE, 90, SKILL_EXPERT)))
to_chat(user, SPAN_WARNING("You fail to collect a sample from \the [src]."))
- return
+ return TRUE
else
if(!pruned)
to_chat(user, SPAN_NOTICE("You collect a sample from \the [src]."))
new product(user.loc)
pruned = TRUE
- return
+ return TRUE
else
to_chat(user, SPAN_WARNING("\The [src] has already been pruned."))
- return
+ return TRUE
var/damage = 0
switch(W.atom_damage_type)
@@ -189,7 +189,7 @@
damage = (W.get_attack_force(user) / brute_resist)
take_damage(damage, W.atom_damage_type)
- return
+ return TRUE
/obj/effect/blob/core
name = "master nucleus"
diff --git a/code/modules/clothing/_clothing_accessories.dm b/code/modules/clothing/_clothing_accessories.dm
index e75fda7a26c..81e9d41a80a 100644
--- a/code/modules/clothing/_clothing_accessories.dm
+++ b/code/modules/clothing/_clothing_accessories.dm
@@ -65,7 +65,7 @@
if(length(accessories))
for(var/obj/item/clothing/accessory in accessories)
accessory.attackby(I, user)
- return
+ return TRUE
. = ..()
diff --git a/code/modules/clothing/badges/holobadge.dm b/code/modules/clothing/badges/holobadge.dm
index 4f24ba140a4..31aed4af787 100644
--- a/code/modules/clothing/badges/holobadge.dm
+++ b/code/modules/clothing/badges/holobadge.dm
@@ -46,7 +46,7 @@
var/obj/item/card/id/id_card = O.GetIdCard()
if(!id_card)
- return
+ return TRUE
if((badge_access in id_card.access) || emagged)
to_chat(user, "You imprint your ID details onto the badge.")
@@ -54,8 +54,8 @@
set_desc(user)
else
to_chat(user, "[src] rejects your ID, and flashes 'Insufficient access!'")
- return
- ..()
+ return TRUE
+ return ..()
/obj/item/box/holobadge
name = "holobadge box"
diff --git a/code/modules/clothing/gloves/jewelry/rings/material.dm b/code/modules/clothing/gloves/jewelry/rings/material.dm
index d800229d7ef..f2ac541d18e 100644
--- a/code/modules/clothing/gloves/jewelry/rings/material.dm
+++ b/code/modules/clothing/gloves/jewelry/rings/material.dm
@@ -12,12 +12,15 @@
/obj/item/clothing/gloves/ring/material/attackby(var/obj/item/S, var/mob/user)
if(S.sharp)
var/inscription = sanitize(input("Enter an inscription to engrave.", "Inscription") as null|text)
- if(!user.stat && !user.incapacitated() && user.Adjacent(src) && S.loc == user)
- if(!inscription)
- return
- desc = "A ring made from [material.solid_name]."
- to_chat(user, "You carve \"[inscription]\" into \the [src].")
- desc += "
Written on \the [src] is the inscription \"[inscription]\""
+ if(user.stat || !user.incapacitated() || !user.Adjacent(src) || S.loc != user)
+ return TRUE
+ if(!inscription)
+ return TRUE
+ desc = "A ring made from [material.solid_name]."
+ to_chat(user, "You carve \"[inscription]\" into \the [src].")
+ desc += "
Written on \the [src] is the inscription \"[inscription]\""
+ return TRUE
+ return ..()
/obj/item/clothing/gloves/ring/material/OnTopic(var/mob/user, var/list/href_list)
if(href_list["examine"])
diff --git a/code/modules/clothing/masks/cig_crafting.dm b/code/modules/clothing/masks/cig_crafting.dm
index b3cb976a4d1..c3405f77bdf 100644
--- a/code/modules/clothing/masks/cig_crafting.dm
+++ b/code/modules/clothing/masks/cig_crafting.dm
@@ -59,19 +59,20 @@
seed = "finetobacco"
/obj/item/clothing/mask/smokable/cigarette/rolled/attackby(obj/item/I, mob/user)
- if(istype(I, /obj/item/cigarette_filter))
- if(filter)
- to_chat(user, "[src] already has a filter!")
- return
- if(lit)
- to_chat(user, "[src] is lit already!")
- return
- if(user.try_unequip(I))
- to_chat(user, "You stick [I] into \the [src]")
- filter = 1
- SetName("filtered [name]")
- brand = "[brand] with a filter"
- update_icon()
- qdel(I)
- return
- ..()
+ if(!istype(I, /obj/item/cigarette_filter))
+ return ..()
+ if(filter)
+ to_chat(user, "[src] already has a filter!")
+ return TRUE
+ if(lit)
+ to_chat(user, "[src] is lit already!")
+ return TRUE
+ if(!user.try_unequip(I))
+ return TRUE
+ to_chat(user, "You stick [I] into \the [src]")
+ filter = 1
+ SetName("filtered [name]")
+ brand = "[brand] with a filter"
+ update_icon()
+ qdel(I)
+ return TRUE
diff --git a/code/modules/clothing/masks/smokable.dm b/code/modules/clothing/masks/smokable.dm
index e8fef1b82ac..c270ba8e802 100644
--- a/code/modules/clothing/masks/smokable.dm
+++ b/code/modules/clothing/masks/smokable.dm
@@ -110,7 +110,7 @@
if(ismob(loc))
var/mob/living/M = loc
- M.update_equipment_overlay(slot_wear_mask_str, FALSE)
+ update_clothing_icon(do_update_icon = FALSE)
M.update_inhand_overlays()
/obj/item/clothing/mask/smokable/adjust_mob_overlay(mob/living/user_mob, bodytype, image/overlay, slot, bodypart, use_fallback_if_icon_missing = TRUE)
@@ -161,7 +161,6 @@
update_icon()
/obj/item/clothing/mask/smokable/attackby(var/obj/item/W, var/mob/user)
- ..()
if(W.isflamesource() || W.get_heat() >= T100C)
var/text = matchmes
if(istype(W, /obj/item/flame/match))
@@ -180,6 +179,8 @@
text = replacetext(text, "NAME", "[name]")
text = replacetext(text, "FLAME", "[W.name]")
light(text)
+ return TRUE
+ return ..()
/obj/item/clothing/mask/smokable/use_on_mob(mob/living/target, mob/living/user, animate = TRUE)
if(target.on_fire)
@@ -472,11 +473,6 @@
desc = "A manky old cigar butt."
icon = 'icons/clothing/mask/smokables/cigar_butt.dmi'
-/obj/item/clothing/mask/smokable/cigarette/cigar/attackby(var/obj/item/W, var/mob/user)
- ..()
- user.update_equipment_overlay(slot_wear_mask_str, FALSE)
- user.update_inhand_overlays()
-
//Bizarre
/obj/item/clothing/mask/smokable/cigarette/rolled/sausage
name = "sausage"
@@ -560,40 +556,27 @@
SetName("empty [initial(name)]")
/obj/item/clothing/mask/smokable/pipe/attackby(var/obj/item/W, var/mob/user)
- if(istype(W, /obj/item/energy_blade/sword))
- return
-
- ..()
-
- if (istype(W, /obj/item/food))
+ if(istype(W, /obj/item/energy_blade/sword)) // Can't light a pipe with an esword
+ return TRUE
+ if (istype(W, /obj/item/food/grown))
var/obj/item/food/grown/grown = W
if (!grown.dry)
to_chat(user, SPAN_NOTICE("\The [grown] must be dried before you stuff it into \the [src]."))
- return
+ return TRUE
if (smoketime)
to_chat(user, SPAN_NOTICE("\The [src] is already packed."))
- return
+ return TRUE
smoketime = 1000
if(grown.reagents)
grown.reagents.trans_to_obj(src, grown.reagents.total_volume)
SetName("[grown.name]-packed [initial(name)]")
qdel(grown)
-
- else if(istype(W, /obj/item/flame/fuelled/lighter))
- var/obj/item/flame/fuelled/lighter/L = W
- if(L.lit)
- light(SPAN_NOTICE("[user] manages to light their [name] with [W]."))
-
- else if(istype(W, /obj/item/flame/match))
- var/obj/item/flame/match/M = W
- if(M.lit)
- light(SPAN_NOTICE("[user] lights their [name] with their [W]."))
-
- else if(istype(W, /obj/item/assembly/igniter))
- light(SPAN_NOTICE("[user] fiddles with [W], and manages to light their [name] with the power of science."))
-
- user.update_equipment_overlay(slot_wear_mask_str, FALSE)
- user.update_inhand_overlays()
+ update_icon()
+ return TRUE
+ . = ..()
+ if(.)
+ return
+ return TRUE
/obj/item/clothing/mask/smokable/pipe/cobpipe
name = "corn cob pipe"
diff --git a/code/modules/clothing/spacesuits/breaches.dm b/code/modules/clothing/spacesuits/breaches.dm
index 16689040470..82a201e5fcf 100644
--- a/code/modules/clothing/spacesuits/breaches.dm
+++ b/code/modules/clothing/spacesuits/breaches.dm
@@ -190,23 +190,23 @@
repair_power = 1
if(!repair_power)
- return
+ return FALSE
if(ishuman(loc))
var/mob/living/human/H = loc
if(H.get_equipped_item(slot_wear_suit_str) == src)
to_chat(user, SPAN_WARNING("You cannot repair \the [src] while it is being worn."))
- return
+ return TRUE
if(burn_damage <= 0)
to_chat(user, "There is no surface damage on \the [src] to repair.") //maybe change the descriptor to more obvious? idk what
- return
+ return TRUE
var/obj/item/stack/P = W
var/use_amt = min(P.get_amount(), 3)
if(use_amt && P.use(use_amt))
repair_breaches(BURN, use_amt * repair_power, user)
- return
+ return TRUE
else if(IS_WELDER(W))
@@ -214,19 +214,19 @@
var/mob/living/human/H = loc
if(H.get_equipped_item(slot_wear_suit_str) == src)
to_chat(user, SPAN_WARNING("You cannot repair \the [src] while it is being worn."))
- return
+ return TRUE
if (brute_damage <= 0)
to_chat(user, "There is no structural damage on \the [src] to repair.")
- return
+ return TRUE
var/obj/item/weldingtool/WT = W
if(!WT.weld(5))
to_chat(user, SPAN_WARNING("You need more welding fuel to repair this suit."))
- return
+ return TRUE
repair_breaches(BRUTE, 3, user)
- return
+ return TRUE
else if(istype(W, /obj/item/stack/tape_roll/duct_tape))
var/datum/breach/target_breach //Target the largest unpatched breach.
@@ -239,17 +239,13 @@
if(!target_breach)
to_chat(user, "There are no open breaches to seal with \the [W].")
else
- var/mob/living/human/H = user
- if(!istype(H))
- return
-
var/obj/item/stack/tape_roll/duct_tape/D = W
var/amount_needed = ceil(target_breach.class * 2)
if(!D.can_use(amount_needed))
to_chat(user, SPAN_WARNING("There's not enough [D.plural_name] in your [src] to seal \the [target_breach.descriptor] on \the [src]! You need at least [amount_needed] [D.plural_name]."))
- return
+ return TRUE
- if(do_after(user, H.get_equipped_item(slot_wear_suit_str) == src? 60 : 30, isliving(loc)? loc : null)) //Sealing a breach on your own suit is awkward and time consuming
+ if(do_after(user, user.get_equipped_item(slot_wear_suit_str) == src? 6 SECONDS : 3 SECONDS, isliving(loc)? loc : null)) //Sealing a breach on your own suit is awkward and time consuming
D.use(amount_needed)
playsound(src, 'sound/effects/tape.ogg',25)
user.visible_message(
@@ -259,9 +255,8 @@
target_breach.patched = TRUE
target_breach.update_descriptor()
calc_breach_damage()
- return
-
- ..()
+ return TRUE
+ return ..()
/obj/item/clothing/suit/space/examine(mob/user)
. = ..()
diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm
index 9d5a0897ddd..893ec665f88 100644
--- a/code/modules/clothing/spacesuits/rig/modules/modules.dm
+++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm
@@ -75,43 +75,43 @@
if(damage == 0)
to_chat(user, "There is no damage to mend.")
- return
+ return TRUE
to_chat(user, "You start mending the damaged portions of \the [src]...")
if(!do_after(user,30,src) || !W || !src)
- return
+ return TRUE
var/obj/item/stack/nanopaste/paste = W
damage = 0
to_chat(user, "You mend the damage to [src] with [W].")
paste.use(1)
- return
+ return TRUE
else if(IS_COIL(W))
switch(damage)
if(0)
to_chat(user, "There is no damage to mend.")
- return
+ return TRUE
if(2)
to_chat(user, "There is no damage that you are capable of mending with such crude tools.")
- return
+ return TRUE
var/obj/item/stack/cable_coil/cable = W
if(!cable.can_use(5))
to_chat(user, "You need five units of cable to repair \the [src].")
- return
+ return TRUE
to_chat(user, "You start mending the damaged portions of \the [src]...")
if(!do_after(user,30,src) || !W || !src)
- return
+ return TRUE
damage = 1
- to_chat(user, "You mend some of damage to [src] with [W], but you will need more advanced tools to fix it completely.")
+ to_chat(user, "You mend some of the damage to [src] with [W], but you will need more advanced tools to fix it completely.")
cable.use(5)
- return
- ..()
+ return TRUE
+ return ..()
/obj/item/rig_module/Initialize()
. =..()
diff --git a/code/modules/clothing/spacesuits/rig/modules/utility.dm b/code/modules/clothing/spacesuits/rig/modules/utility.dm
index 19d799aa217..b3d1533d3b6 100644
--- a/code/modules/clothing/spacesuits/rig/modules/utility.dm
+++ b/code/modules/clothing/spacesuits/rig/modules/utility.dm
@@ -387,7 +387,7 @@
if(istype(W, /obj/item/tank/jetpack/rig))
if(jets)
to_chat(user, SPAN_WARNING("There's already a propellant tank inside of \the [src]!"))
- return
+ return TRUE
if(user.try_unequip(W))
to_chat(user, SPAN_NOTICE("You insert \the [W] into [src]."))
W.forceMove(src)
diff --git a/code/modules/clothing/spacesuits/rig/rig_attackby.dm b/code/modules/clothing/spacesuits/rig/rig_attackby.dm
index 79954b69547..9c15918e7ca 100644
--- a/code/modules/clothing/spacesuits/rig/rig_attackby.dm
+++ b/code/modules/clothing/spacesuits/rig/rig_attackby.dm
@@ -1,10 +1,10 @@
/obj/item/rig/attackby(obj/item/W, mob/user)
- if(!isliving(user)) return 0
+ if(!isliving(user)) return FALSE
if(electrified != 0)
if(shock(user)) //Handles removing charge from the cell, as well. No need to do that here.
- return
+ return TRUE
// Pass repair items on to the chestpiece.
if(chest && (istype(W,/obj/item/stack/material) || IS_WELDER(W)))
@@ -15,34 +15,35 @@
if(subverted)
locked = 0
to_chat(user, "It looks like the locking system has been shorted out.")
- return
+ return TRUE
if(!length(req_access))
locked = 0
to_chat(user, "\The [src] doesn't seem to have a locking mechanism.")
- return
+ return TRUE
if(security_check_enabled && !src.allowed(user))
to_chat(user, "Access denied.")
- return
+ return TRUE
locked = !locked
to_chat(user, "You [locked ? "lock" : "unlock"] \the [src] access panel.")
- return
+ return TRUE
else if(IS_CROWBAR(W))
if(!open && locked)
to_chat(user, "The access panel is locked shut.")
- return
+ return TRUE
open = !open
to_chat(user, "You [open ? "open" : "close"] the access panel.")
- return
+ return TRUE
else if(IS_SCREWDRIVER(W))
p_open = !p_open
to_chat(user, "You [p_open ? "open" : "close"] the wire cover.")
+ return TRUE
// Hacking.
else if(IS_WIRECUTTER(W) || IS_MULTITOOL(W))
@@ -50,7 +51,7 @@
wires.Interact(user)
else
to_chat(user, "You can't reach the wiring.")
- return
+ return TRUE
if(open)
@@ -60,13 +61,14 @@
if(air_supply)
to_chat(user, "\The [src] already has a tank installed.")
- return
+ return TRUE
- if(!user.try_unequip(W)) return
+ if(!user.try_unequip(W))
+ return TRUE
air_supply = W
W.forceMove(src)
to_chat(user, "You slot [W] into [src] and tighten the connecting valve.")
- return
+ return TRUE
// Check if this is a hardsuit upgrade or a modification.
else if(istype(W,/obj/item/rig_module))
@@ -75,11 +77,11 @@
var/mob/living/human/H = src.loc
if(H.get_equipped_item(slot_back_str) == src)
to_chat(user, "You can't install a hardsuit module while the suit is being worn.")
- return 1
+ return TRUE
if(is_type_in_list(W,banned_modules))
to_chat(user, SPAN_DANGER("\The [src] cannot mount this type of module."))
- return 1
+ return TRUE
var/obj/item/rig_module/mod = W
@@ -88,35 +90,35 @@
for(var/obj/item/rig_module/installed_mod in installed_modules)
if(is_type_in_list(installed_mod,mod.banned_modules))
to_chat(user, SPAN_DANGER("\The [installed_mod] is incompatible with this module."))
- return 1
+ return TRUE
if(installed_mod.banned_modules.len)
if(is_type_in_list(W,installed_mod.banned_modules))
to_chat(user, SPAN_DANGER("\The [installed_mod] is incompatible with this module."))
- return 1
+ return TRUE
if(!installed_mod.redundant && installed_mod.type == W.type)
to_chat(user, "The hardsuit already has a module of that class installed.")
- return 1
+ return TRUE
to_chat(user, "You begin installing \the [mod] into \the [src].")
if(!do_after(user,40,src))
- return
+ return TRUE
if(!user || !W)
- return
- if(!user.try_unequip(mod)) return
+ return TRUE
+ if(!user.try_unequip(mod)) return TRUE
to_chat(user, "You install \the [mod] into \the [src].")
installed_modules |= mod
mod.forceMove(src)
mod.installed(src)
update_icon()
- return 1
+ return TRUE
else if(!cell && istype(W,/obj/item/cell))
- if(!user.try_unequip(W)) return
+ if(!user.try_unequip(W)) return TRUE
to_chat(user, "You jack \the [W] into \the [src]'s battery mount.")
W.forceMove(src)
src.cell = W
- return
+ return TRUE
else if(IS_WRENCH(W))
@@ -127,13 +129,13 @@
var/to_remove = input("Which would you like to modify?") as null|anything in current_mounts
if(!to_remove)
- return
+ return TRUE
if(ishuman(src.loc) && to_remove != "cell" && to_remove != "tank")
var/mob/living/human/H = src.loc
if(H.get_equipped_item(slot_back_str) == src)
to_chat(user, "You can't remove an installed device while the hardsuit is being worn.")
- return
+ return TRUE
switch(to_remove)
@@ -151,7 +153,7 @@
if("tank")
if(!air_supply)
to_chat(user, "There is no tank to remove.")
- return
+ return TRUE
user.put_in_hands(air_supply)
to_chat(user, "You detach and remove \the [air_supply].")
@@ -167,11 +169,11 @@
if(!possible_removals.len)
to_chat(user, "There are no installed modules to remove.")
- return
+ return TRUE
var/removal_choice = input("Which module would you like to remove?") as null|anything in possible_removals
if(!removal_choice)
- return
+ return TRUE
var/obj/item/rig_module/removed = possible_removals[removal_choice]
to_chat(user, "You detach \the [removed] from \the [src].")
@@ -191,15 +193,14 @@
to_chat(user, "\The [S] is empty!")
else
to_chat(user, "You don't see any use for \the [S].")
-
- return
+ return TRUE
// If we've gotten this far, all we have left to do before we pass off to root procs
// is check if any of the loaded modules want to use the item we've been given.
for(var/obj/item/rig_module/module in installed_modules)
if(module.accepts_item(W,user)) //Item is handled in this proc
- return
- ..()
+ return TRUE
+ return ..()
/obj/item/rig/attack_hand(var/mob/user)
diff --git a/code/modules/clothing/webbing/holster.dm b/code/modules/clothing/webbing/holster.dm
index 8c56984d9c8..47ca037c939 100644
--- a/code/modules/clothing/webbing/holster.dm
+++ b/code/modules/clothing/webbing/holster.dm
@@ -15,7 +15,7 @@
/obj/item/clothing/webbing/holster/attackby(obj/item/W, mob/user)
var/datum/extension/holster/H = get_extension(src, /datum/extension/holster)
if(H.holster(W, user))
- return
+ return TRUE
else
. = ..(W, user)
diff --git a/code/modules/codex/entries/machinery.dm b/code/modules/codex/entries/machinery.dm
index 6854c68862d..62f34de3efe 100644
--- a/code/modules/codex/entries/machinery.dm
+++ b/code/modules/codex/entries/machinery.dm
@@ -150,4 +150,16 @@
lore_text = "A signal repeater, capable of transmitting and decoding hyperintense radio waves to and from PLEXUS uplinks."
mechanics_text = "Allows for network devices in its sector to connect to and communicate with distant networks over PLEXUS.
Networks requires a modem to utilize PLEXUS connections."
disambiguator = "machine"
+ available_to_map_tech_level = MAP_TECH_LEVEL_SPACE
+
+/datum/codex_entry/mining_drill
+ associated_paths = list(/obj/machinery/mining_drill)
+ mechanics_text = "When properly supported by two adjacent braces, the mining drill can automatically mine underground mineral deposits.
\
+ You can empty the ore storage by click-dragging the drill onto an ore box, or using the Unload Drill verb.
\
+ The drill head can be upgraded using a number of different components:
\
+ - Micro lasers control the drill's mining speed. The drill's energy usage proportionally increases with faster speed.
\
+ - Matter bins expand the drill's internal ore storage, allowing it to mine for longer before it gets fill.
\
+ - Scanning modules expand the drill's ore scanner radius, allowing it to mine from farther away.
\
+ - Capacitors improve the drill's energy efficiency, reducing how much energy is required to extract a piece of ore from the ground."
+ disambiguator = "machine"
available_to_map_tech_level = MAP_TECH_LEVEL_SPACE
\ No newline at end of file
diff --git a/code/modules/crafting/stack_recipes/recipes_steel.dm b/code/modules/crafting/stack_recipes/recipes_steel.dm
index 8175e180629..8f15300c367 100644
--- a/code/modules/crafting/stack_recipes/recipes_steel.dm
+++ b/code/modules/crafting/stack_recipes/recipes_steel.dm
@@ -105,3 +105,6 @@
/decl/stack_recipe/steel/furniture/tank
result_type = /obj/item/pipe/tank
+
+/decl/stack_recipe/steel/furniture/drill_brace
+ result_type = /obj/structure/drill_brace
diff --git a/code/modules/detectivework/microscope/_forensic_machine.dm b/code/modules/detectivework/microscope/_forensic_machine.dm
index 4b2c2f14aae..a5edee029bd 100644
--- a/code/modules/detectivework/microscope/_forensic_machine.dm
+++ b/code/modules/detectivework/microscope/_forensic_machine.dm
@@ -42,28 +42,30 @@
return res + ..()
/obj/machinery/forensic/attackby(obj/item/W, mob/user)
+ if(component_attackby(W, user))
+ return TRUE
+
if(user?.a_intent == I_HURT)
- return ..()
+ return ..() // bash, bash!
if(sample)
- to_chat(user, SPAN_WARNING("There is already a slide in \the [src]."))
- return
+ to_chat(user, SPAN_WARNING("There is already a sample in \the [src]."))
+ return TRUE
- if(istype(W))
- if(istype(W, /obj/item/evidencebag))
- var/obj/item/evidencebag/B = W
- if(B.stored_item)
- to_chat(user, SPAN_NOTICE("You insert \the [B.stored_item] from \the [B]."))
- B.stored_item.forceMove(src)
- set_sample(B.stored_item)
- B.empty()
- return
- if(!user.try_unequip(W, src))
- return
- to_chat(user, SPAN_NOTICE("You insert \the [W] into \the [src]."))
- set_sample(W)
- update_icon()
- return
+ if(istype(W, /obj/item/evidencebag))
+ var/obj/item/evidencebag/B = W
+ if(B.stored_item)
+ to_chat(user, SPAN_NOTICE("You insert \the [B.stored_item] from \the [B]."))
+ B.stored_item.forceMove(src)
+ set_sample(B.stored_item)
+ B.empty()
+ return TRUE
+ if(!user.try_unequip(W, src))
+ return TRUE
+ to_chat(user, SPAN_NOTICE("You insert \the [W] into \the [src]."))
+ set_sample(W)
+ update_icon()
+ return TRUE
/obj/machinery/forensic/proc/get_report()
if(!sample)
diff --git a/code/modules/detectivework/tools/sample_kits/swabs.dm b/code/modules/detectivework/tools/sample_kits/swabs.dm
index be2cc6d32b0..08d0dd1ffcb 100644
--- a/code/modules/detectivework/tools/sample_kits/swabs.dm
+++ b/code/modules/detectivework/tools/sample_kits/swabs.dm
@@ -26,22 +26,22 @@
user.visible_message(SPAN_NOTICE("\The [user] starts swabbing a sample from \the [H]."))
if(!do_mob(user, H, time_to_take))
user.visible_message(SPAN_WARNING("\The [user] tried to take a swab sample from \the [H], but they moved away."))
- return
+ return TRUE
if(user.get_target_zone() == BP_MOUTH)
var/cover = H.get_covering_equipped_item(SLOT_FACE)
if(cover)
to_chat(user, SPAN_WARNING("\The [H]'s [cover] is in the way."))
- return
+ return TRUE
var/unique_enzymes = H.get_unique_enzymes()
if(!unique_enzymes)
to_chat(user, SPAN_WARNING("They don't seem to have DNA!"))
- return
+ return TRUE
if(!H.check_has_mouth())
to_chat(user, SPAN_WARNING("They don't have a mouth."))
- return
+ return TRUE
user.visible_message(SPAN_NOTICE("[user] swabs \the [H]'s mouth for a saliva sample."))
var/datum/forensics/trace_dna/trace = new()
@@ -54,7 +54,7 @@
var/zone = user.get_target_zone()
if(!H.has_organ(zone))
to_chat(user, SPAN_WARNING("They don't have that part!"))
- return
+ return TRUE
var/obj/object_to_swab = GET_EXTERNAL_ORGAN(H, zone)
var/cover = H.get_covering_equipped_item_by_zone(zone)
if(cover)
@@ -68,12 +68,12 @@
has_evidence = TRUE
if(!has_evidence)
to_chat(user, SPAN_WARNING("You can't find anything useful on \the [object_to_swab]."))
- return
+ return TRUE
user.visible_message(SPAN_NOTICE("[user] swabs [H]'s [object_to_swab.name] for a sample."))
var/obj/item/forensics/sample/swab/S = new /obj/item/forensics/sample/swab/(get_turf(user), object_to_swab)
user.put_in_hands(S)
update_icon()
- return 1
+ return TRUE
/obj/item/forensics/sample/swab
diff --git a/code/modules/economy/cael/ATM.dm b/code/modules/economy/cael/ATM.dm
index 4aec5d0c993..bcd301d8c97 100644
--- a/code/modules/economy/cael/ATM.dm
+++ b/code/modules/economy/cael/ATM.dm
@@ -80,19 +80,20 @@
if(emagged > 0)
//prevent inserting id into an emagged ATM
to_chat(user, "[html_icon(src)] CARD READER ERROR. This system has been compromised!")
- return
+ return TRUE
if(stat & NOPOWER)
to_chat(user, "You try to insert your card into [src], but nothing happens.")
- return
+ return TRUE
var/obj/item/card/id/idcard = I
if(!held_card)
if(!user.try_unequip(idcard, src))
- return
+ return TRUE
held_card = idcard
if(authenticated_account && held_card.associated_account_number != authenticated_account.account_number)
authenticated_account = null
attack_hand_with_interaction_checks(user)
+ return TRUE
else if(authenticated_account)
if(istype(I,/obj/item/cash))
@@ -105,6 +106,7 @@
to_chat(user, "You insert [I] into [src].")
attack_hand_with_interaction_checks(user)
qdel(I)
+ return TRUE
if(istype(I,/obj/item/charge_stick))
var/obj/item/charge_stick/stick = I
@@ -118,8 +120,8 @@
to_chat(user, "You insert [I] into [src].")
attack_hand_with_interaction_checks(user)
qdel(I)
- else
- ..()
+ return TRUE
+ return ..()
/obj/machinery/atm/interface_interact(mob/user)
interact(user)
diff --git a/code/modules/economy/cael/EFTPOS.dm b/code/modules/economy/cael/EFTPOS.dm
index cc4ab8dc712..551e88a70c0 100644
--- a/code/modules/economy/cael/EFTPOS.dm
+++ b/code/modules/economy/cael/EFTPOS.dm
@@ -87,7 +87,8 @@
if(linked_account)
scan_card(I, O)
else
- to_chat(usr, "[html_icon(src)]Unable to connect to linked account.")
+ to_chat(user, "[html_icon(src)]Unable to connect to linked account.")
+ return TRUE
else if (istype(O, /obj/item/charge_stick))
var/obj/item/charge_stick/E = O
if (linked_account)
@@ -102,14 +103,14 @@
visible_message("[html_icon(src)] \The [src] chimes.")
transaction_paid = 1
else
- to_chat(usr, "[html_icon(src)]Transaction failed! Please try again.")
+ to_chat(user, "[html_icon(src)]Transaction failed! Please try again.")
else
- to_chat(usr, "[html_icon(src)]\The [O] doesn't have that much money!")
+ to_chat(user, "[html_icon(src)]\The [O] doesn't have that much money!")
else
- to_chat(usr, "[html_icon(src)]EFTPOS is not connected to an account.")
-
+ to_chat(user, "[html_icon(src)]EFTPOS is not connected to an account.")
+ return TRUE
else
- ..()
+ return ..()
/obj/item/eftpos/Topic(var/href, var/href_list)
if(href_list["choice"])
diff --git a/code/modules/economy/worth_cash.dm b/code/modules/economy/worth_cash.dm
index 789152d0f6d..fda0929fe7c 100644
--- a/code/modules/economy/worth_cash.dm
+++ b/code/modules/economy/worth_cash.dm
@@ -60,7 +60,7 @@
var/obj/item/cash/cash = W
if(cash.currency != currency)
to_chat(user, SPAN_WARNING("You can't mix two different currencies, it would be uncivilized."))
- return
+ return TRUE
if(user.try_unequip(W))
adjust_worth(cash.absolute_worth)
var/decl/currency/cur = GET_DECL(currency)
@@ -71,6 +71,8 @@
else if(istype(W, /obj/item/gun/launcher/money))
var/obj/item/gun/launcher/money/L = W
L.absorb_cash(src, user)
+ return TRUE
+ return ..()
/obj/item/cash/on_update_icon()
. = ..()
diff --git a/code/modules/events/meteors.dm b/code/modules/events/meteors.dm
index 824d31b395a..f291cda35f5 100644
--- a/code/modules/events/meteors.dm
+++ b/code/modules/events/meteors.dm
@@ -299,8 +299,8 @@ var/global/list/meteors_major = list(
/obj/effect/meteor/attackby(obj/item/W, mob/user, params)
if(IS_PICK(W))
qdel(src)
- return
- ..()
+ return TRUE
+ return ..()
/obj/effect/meteor/proc/make_debris()
if(meteordrop && dropamt)
diff --git a/code/modules/fabrication/designs/imprinter/designs_misc_circuits.dm b/code/modules/fabrication/designs/imprinter/designs_misc_circuits.dm
index 2f251c975da..c817352197f 100644
--- a/code/modules/fabrication/designs/imprinter/designs_misc_circuits.dm
+++ b/code/modules/fabrication/designs/imprinter/designs_misc_circuits.dm
@@ -302,9 +302,6 @@
/datum/fabricator_recipe/imprinter/circuit/miningdrill
path = /obj/item/stock_parts/circuitboard/miningdrill
-/datum/fabricator_recipe/imprinter/circuit/miningdrillbrace
- path = /obj/item/stock_parts/circuitboard/miningdrillbrace
-
/datum/fabricator_recipe/imprinter/circuit/floodlight
path = /obj/item/stock_parts/circuitboard/floodlight
diff --git a/code/modules/fabrication/fabricator_intake.dm b/code/modules/fabrication/fabricator_intake.dm
index 420e31c5bc1..8013c8e63da 100644
--- a/code/modules/fabrication/fabricator_intake.dm
+++ b/code/modules/fabrication/fabricator_intake.dm
@@ -100,7 +100,7 @@
if((obj_flags & OBJ_FLAG_ANCHORABLE) && (IS_WRENCH(O) || IS_HAMMER(O)))
return ..()
if(stat & (NOPOWER | BROKEN))
- return
+ return TRUE
// Gate some simple interactions beind intent so people can still feed lathes disks.
if(user.a_intent != I_HURT)
@@ -109,27 +109,27 @@
if(IS_MULTITOOL(O))
var/datum/extension/local_network_member/fabnet = get_extension(src, /datum/extension/local_network_member)
fabnet.get_new_tag(user)
- return
+ return TRUE
// Install new designs.
if(istype(O, /obj/item/disk/design_disk))
var/obj/item/disk/design_disk/disk = O
if(!disk.blueprint)
to_chat(usr, SPAN_WARNING("\The [O] is blank."))
- return
+ return TRUE
if(disk.blueprint in installed_designs)
to_chat(usr, SPAN_WARNING("\The [src] is already loaded with the blueprint stored on \the [O]."))
- return
+ return TRUE
installed_designs += disk.blueprint
design_cache |= disk.blueprint
visible_message(SPAN_NOTICE("\The [user] inserts \the [O] into \the [src], and after a second or so of loud clicking, the fabricator beeps and spits it out again."))
- return
+ return TRUE
// TEMP HACK FIX:
// Autolathes currently do not process atom contents. As a workaround, refuse all atoms with contents.
if(length(O.contents) && !ignore_input_contents_length)
to_chat(user, SPAN_WARNING("\The [src] cannot process an object containing other objects. Empty it out first."))
- return
+ return TRUE
// REMOVE FIX WHEN LATHES TAKE CONTENTS PLS.
// Take reagents, if any are applicable.
@@ -139,8 +139,13 @@
show_intake_message(user, reagents_taken, atom_name, took_reagents = TRUE)
updateUsrDialog()
return TRUE
+
+ if(!can_ingest(O))
+ to_chat(user, SPAN_WARNING("\The [src] cannot process \the [O]."))
+ return TRUE
+
// Take everything if we have a recycler.
- if(can_ingest(O) && !is_robot_module(O) && user.try_unequip(O))
+ if(!is_robot_module(O) && user.try_unequip(O))
var/result = max(take_materials(O, user), max(reagents_taken, take_reagents(O, user, TRUE)))
show_intake_message(user, result, atom_name)
if(result == SUBSTANCE_TAKEN_NONE)
@@ -160,6 +165,7 @@
if(fab_status_flags & FAB_SHOCKED)
shock(user, 50)
return TRUE
+ return FALSE
/obj/machinery/fabricator/interface_interact(mob/user)
if((fab_status_flags & FAB_DISABLED) && !panel_open)
diff --git a/code/modules/games/boardgame.dm b/code/modules/games/boardgame.dm
index f326cc6036d..ee09f1cfba9 100644
--- a/code/modules/games/boardgame.dm
+++ b/code/modules/games/boardgame.dm
@@ -24,8 +24,9 @@
return TRUE
/obj/item/board/attackby(obj/item/I, mob/user)
- if(!addPiece(I,user))
- ..()
+ if(addPiece(I,user))
+ return TRUE
+ return ..()
/obj/item/board/proc/addPiece(obj/item/I, mob/user, var/tile = 0)
if(I.w_class != ITEM_SIZE_TINY) //only small stuff
diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm
index 1ca1c8faa3d..3bd0346b3a8 100644
--- a/code/modules/games/cards.dm
+++ b/code/modules/games/cards.dm
@@ -156,8 +156,8 @@ var/global/list/card_decks = list()
qdel(O)
to_chat(user, "You place your cards on the bottom of \the [src].")
- return
- ..()
+ return TRUE
+ return ..()
/obj/item/deck/verb/draw_card()
diff --git a/code/modules/goals/definitions/department_clerical.dm b/code/modules/goals/definitions/department_clerical.dm
index 0f5ac8c07d8..9538699b386 100644
--- a/code/modules/goals/definitions/department_clerical.dm
+++ b/code/modules/goals/definitions/department_clerical.dm
@@ -132,10 +132,10 @@
if(IS_PEN(W))
if(user.real_name in has_signed)
to_chat(user, SPAN_WARNING("You have already signed \the [src]."))
- return
+ return TRUE
if(!(user.real_name in needs_signed))
to_chat(user, SPAN_WARNING("You can't see anywhere on \the [src] for you to sign; it doesn't need your signature."))
- return
+ return TRUE
LAZYADD(has_signed, user.real_name)
LAZYREMOVE(needs_signed, user.real_name)
user.visible_message(SPAN_NOTICE("\The [user] signs \the [src] with \the [W]."))
diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm
index 95d296ae679..2d9b37d4209 100644
--- a/code/modules/holodeck/HolodeckObjects.dm
+++ b/code/modules/holodeck/HolodeckObjects.dm
@@ -10,7 +10,7 @@
return 0.8
/turf/floor/holofloor/attackby(obj/item/W, mob/user)
- return
+ return TRUE
// HOLOFLOOR DOES NOT GIVE A FUCK
/turf/floor/holofloor/carpet
@@ -56,7 +56,7 @@
/turf/floor/holofloor/wood
name = "wooden floor"
icon = 'icons/turf/flooring/wood.dmi'
- icon_state = "wood"
+ icon_state = "wood0"
color = WOOD_COLOR_CHOCOLATE
_flooring = /decl/flooring/wood
@@ -151,27 +151,27 @@
/obj/machinery/door/window/holowindoor/attackby(obj/item/I, mob/user)
if (src.operating == 1)
- return
+ return TRUE
if(src.density && istype(I, /obj/item) && !istype(I, /obj/item/card))
playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1)
visible_message("\The [src] was hit by \the [I].")
if(I.atom_damage_type == BRUTE || I.atom_damage_type == BURN)
take_damage(I.get_attack_force(user))
- return
+ return TRUE
src.add_fingerprint(user)
- if (!src.requiresID())
- user = null
-
if (src.allowed(user))
if (src.density)
open()
else
close()
+ return TRUE
else if (src.density)
flick("[base_state]deny", src)
+ return TRUE
+ return FALSE
/obj/machinery/door/window/holowindoor/shatter(var/display_message = TRUE)
set_density(FALSE)
@@ -322,6 +322,7 @@
/obj/machinery/readybutton/attackby(obj/item/W, mob/user)
to_chat(user, "The device is a solid button, there's nothing you can do with it!")
+ return TRUE
/obj/machinery/readybutton/physical_attack_hand(mob/user)
currentarea = get_area(src)
diff --git a/code/modules/holomap/holomap.dm b/code/modules/holomap/holomap.dm
index 8b787a8bd18..6c298d6b99c 100644
--- a/code/modules/holomap/holomap.dm
+++ b/code/modules/holomap/holomap.dm
@@ -66,10 +66,10 @@
return ..()
if(watching_mob && (watching_mob != user))
to_chat(user, SPAN_WARNING("Someone else is currently watching the holomap."))
- return
+ return TRUE
if(user.loc != loc)
to_chat(user, SPAN_WARNING("You need to stand in front of \the [src]."))
- return
+ return TRUE
startWatching(user)
return TRUE
diff --git a/code/modules/hydroponics/beekeeping/beehive.dm b/code/modules/hydroponics/beekeeping/beehive.dm
index c96cd9fa269..fdcb8b8adbe 100644
--- a/code/modules/hydroponics/beekeeping/beehive.dm
+++ b/code/modules/hydroponics/beekeeping/beehive.dm
@@ -50,49 +50,49 @@
closed = !closed
user.visible_message("\The [user] [closed ? "closes" : "opens"] \the [src].", "You [closed ? "close" : "open"] \the [src].")
update_icon()
- return
+ return TRUE
else if(IS_WRENCH(I))
anchored = !anchored
user.visible_message("\The [user] [anchored ? "wrenches" : "unwrenches"] \the [src].", "You [anchored ? "wrench" : "unwrench"] \the [src].")
- return
+ return TRUE
else if(istype(I, /obj/item/bee_smoker))
if(closed)
to_chat(user, "You need to open \the [src] with a crowbar before smoking the bees.")
- return
+ return TRUE
user.visible_message("\The [user] smokes the bees in \the [src].", "You smoke the bees in \the [src].")
smoked = 30
update_icon()
- return
+ return TRUE
else if(istype(I, /obj/item/honey_frame))
if(closed)
to_chat(user, "You need to open \the [src] with a crowbar before inserting \the [I].")
- return
+ return TRUE
if(frames >= maxFrames)
to_chat(user, "There is no place for an another frame.")
- return
+ return TRUE
var/obj/item/honey_frame/H = I
if(H.honey)
to_chat(user, "\The [I] is full with beeswax and honey, empty it in the extractor first.")
- return
+ return TRUE
++frames
user.visible_message("\The [user] loads \the [I] into \the [src].", "You load \the [I] into \the [src].")
update_icon()
qdel(I)
- return
+ return TRUE
else if(istype(I, /obj/item/bee_pack))
var/obj/item/bee_pack/B = I
if(B.full && bee_count)
to_chat(user, "\The [src] already has bees inside.")
- return
+ return TRUE
if(!B.full && bee_count < 90)
to_chat(user, "\The [src] is not ready to split.")
- return
+ return TRUE
if(!B.full && !smoked)
to_chat(user, "Smoke \the [src] first!")
- return
+ return TRUE
if(closed)
to_chat(user, "You need to open \the [src] with a crowbar before moving the bees.")
- return
+ return TRUE
if(B.full)
user.visible_message("\The [user] puts the queen and the bees from \the [I] into \the [src].", "You put the queen and the bees from \the [I] into \the [src].")
bee_count = 20
@@ -102,7 +102,7 @@
bee_count /= 2
B.fill()
update_icon()
- return
+ return TRUE
else if(istype(I, /obj/item/scanner/plant))
to_chat(user, "Scan result of \the [src]...")
to_chat(user, "Beehive is [bee_count ? "[round(bee_count)]% full" : "empty"].[bee_count > 90 ? " Colony is ready to split." : ""]")
@@ -114,36 +114,38 @@
to_chat(user, "No frames installed.")
if(smoked)
to_chat(user, "The hive is smoked.")
- return 1
+ return TRUE
else if(IS_SCREWDRIVER(I))
if(bee_count)
to_chat(user, "You can't dismantle \the [src] with these bees inside.")
- return
+ return TRUE
to_chat(user, "You start dismantling \the [src]...")
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
if(do_after(user, 30, src))
user.visible_message("\The [user] dismantles \the [src].", "You dismantle \the [src].")
new /obj/item/beehive_assembly(loc)
qdel(src)
- return
+ return TRUE
+ return FALSE // this should probably not be a machine, so don't do any component interactions
/obj/machinery/beehive/physical_attack_hand(var/mob/user)
- if(!closed)
- . = TRUE
- if(honeycombs < 100)
- to_chat(user, "There are no filled honeycombs.")
- return
- if(!smoked && bee_count)
- to_chat(user, "The bees won't let you take the honeycombs out like this, smoke them first.")
- return
- user.visible_message("\The [user] starts taking the honeycombs out of \the [src].", "You start taking the honeycombs out of \the [src]...")
- while(honeycombs >= 100 && do_after(user, 30, src))
- new /obj/item/honey_frame/filled(loc)
- honeycombs -= 100
- --frames
- update_icon()
- if(honeycombs < 100)
- to_chat(user, "You take all filled honeycombs out.")
+ if(closed)
+ return FALSE
+ . = TRUE
+ if(honeycombs < 100)
+ to_chat(user, "There are no filled honeycombs.")
+ return
+ if(!smoked && bee_count)
+ to_chat(user, "The bees won't let you take the honeycombs out like this, smoke them first.")
+ return
+ user.visible_message("\The [user] starts taking the honeycombs out of \the [src].", "You start taking the honeycombs out of \the [src]...")
+ while(honeycombs >= 100 && do_after(user, 30, src))
+ new /obj/item/honey_frame/filled(loc)
+ honeycombs -= 100
+ --frames
+ update_icon()
+ if(honeycombs < 100)
+ to_chat(user, "You take all filled honeycombs out.")
/obj/machinery/beehive/Process()
if(closed && !smoked && bee_count)
@@ -188,14 +190,12 @@
/obj/machinery/honey_extractor/attackby(var/obj/item/I, var/mob/user)
if(processing)
to_chat(user, "\The [src] is currently spinning, wait until it's finished.")
- return
- if((. = component_attackby(I, user)))
- return
+ return TRUE
if(istype(I, /obj/item/honey_frame))
var/obj/item/honey_frame/H = I
if(!H.honey)
to_chat(user, "\The [H] is empty, put it into a beehive.")
- return
+ return TRUE
user.visible_message("\The [user] loads \the [H] into \the [src] and turns it on.", "You load \the [H] into \the [src] and turn it on.")
processing = H.honey
icon_state = "centrifuge_moving"
@@ -206,16 +206,18 @@
honey += processing
processing = 0
icon_state = "centrifuge"
+ return TRUE
else if(istype(I, /obj/item/chems/glass))
if(!honey)
to_chat(user, "There is no honey in \the [src].")
- return
+ return TRUE
var/obj/item/chems/glass/G = I
var/transferred = min(G.reagents.maximum_volume - G.reagents.total_volume, honey)
G.add_to_reagents(/decl/material/liquid/nutriment/honey, transferred)
honey -= transferred
user.visible_message("\The [user] collects honey from \the [src] into \the [G].", "You collect [transferred] units of honey from \the [src] into \the [G].")
- return 1
+ return TRUE
+ return ..() // smack it, interact with components, etc.
/obj/item/bee_smoker
name = "bee smoker"
diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm
index 9477b981d8e..e9cdda705d9 100644
--- a/code/modules/hydroponics/grown_inedible.dm
+++ b/code/modules/hydroponics/grown_inedible.dm
@@ -10,12 +10,12 @@
material = /decl/material/solid/organic/plantmatter
/obj/item/corncob/attackby(obj/item/W, mob/user)
- ..()
if(istype(W, /obj/item/circular_saw) || IS_HATCHET(W) || istype(W, /obj/item/knife))
to_chat(user, "You use [W] to fashion a pipe out of the corn cob!")
new /obj/item/clothing/mask/smokable/pipe/cobpipe (user.loc)
qdel(src)
- return
+ return TRUE
+ return ..()
/obj/item/bananapeel
name = "banana peel"
diff --git a/code/modules/hydroponics/seed_machines.dm b/code/modules/hydroponics/seed_machines.dm
index b56c5a6ca90..418afb41d29 100644
--- a/code/modules/hydroponics/seed_machines.dm
+++ b/code/modules/hydroponics/seed_machines.dm
@@ -70,47 +70,43 @@
if(istype(W,/obj/item/seeds))
if(seed)
to_chat(user, "There is already a seed loaded.")
- return
- var/obj/item/seeds/S =W
+ return TRUE
+ var/obj/item/seeds/S = W
if(S.seed && S.seed.get_trait(TRAIT_IMMUTABLE) > 0)
to_chat(user, "That seed is not compatible with our genetics technology.")
else if(user.try_unequip(W, src))
seed = W
to_chat(user, "You load [W] into [src].")
- return
+ return TRUE
if(IS_SCREWDRIVER(W))
open = !open
to_chat(user, "You [open ? "open" : "close"] the maintenance panel.")
- return
+ return TRUE
- if(open)
- if(IS_CROWBAR(W))
- dismantle()
- return
+ if(open && IS_CROWBAR(W))
+ dismantle()
+ return TRUE
if(istype(W,/obj/item/disk/botany))
if(loaded_disk)
to_chat(user, "There is already a data disk loaded.")
- return
+ return TRUE
+ var/obj/item/disk/botany/B = W
+ if(B.genes && B.genes.len)
+ if(!disk_needs_genes)
+ to_chat(user, "That disk already has gene data loaded.")
+ return TRUE
else
- var/obj/item/disk/botany/B = W
-
- if(B.genes && B.genes.len)
- if(!disk_needs_genes)
- to_chat(user, "That disk already has gene data loaded.")
- return
- else
- if(disk_needs_genes)
- to_chat(user, "That disk does not have any gene data loaded.")
- return
- if(!user.try_unequip(W, src))
- return
- loaded_disk = W
- to_chat(user, "You load [W] into [src].")
-
- return
- ..()
+ if(disk_needs_genes)
+ to_chat(user, "That disk does not have any gene data loaded.")
+ return TRUE
+ if(!user.try_unequip(W, src))
+ return TRUE
+ loaded_disk = W
+ to_chat(user, "You load [W] into [src].")
+ return TRUE
+ return ..()
// Allows for a trait to be extracted from a seed packet, destroying that seed.
/obj/machinery/botany/extractor
diff --git a/code/modules/hydroponics/spreading/spreading.dm b/code/modules/hydroponics/spreading/spreading.dm
index 2fbce535f1f..25734ea911c 100644
--- a/code/modules/hydroponics/spreading/spreading.dm
+++ b/code/modules/hydroponics/spreading/spreading.dm
@@ -36,6 +36,7 @@
/obj/effect/dead_plant/attackby()
..()
qdel(src)
+ return TRUE // if we're deleted we can't do any further interactions
/obj/effect/vine
name = "vine"
@@ -202,18 +203,19 @@
if(W.edge && W.w_class < ITEM_SIZE_NORMAL && user.a_intent != I_HURT)
if(!is_mature())
to_chat(user, SPAN_WARNING("\The [src] is not mature enough to yield a sample yet."))
- return
+ return TRUE
if(!seed)
to_chat(user, SPAN_WARNING("There is nothing to take a sample from."))
- return
+ return TRUE
var/needed_skill = seed.mysterious ? SKILL_ADEPT : SKILL_BASIC
if(prob(user.skill_fail_chance(SKILL_BOTANY, 90, needed_skill)))
to_chat(user, SPAN_WARNING("You failed to get a usable sample."))
else
seed.harvest(user,0,1)
current_health -= (rand(3,5)*5)
+ return TRUE
else
- ..()
+ . = ..()
var/damage = W.get_attack_force(user)
if(W.edge)
damage *= 2
diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm
index 0abf0f8e999..321b940dd9e 100644
--- a/code/modules/hydroponics/trays/tray.dm
+++ b/code/modules/hydroponics/trays/tray.dm
@@ -568,6 +568,7 @@
if(dead)
remove_dead(user)
return TRUE
+ return FALSE
/obj/machinery/portable_atmospherics/hydroponics/examine(mob/user)
. = ..(user)
diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm
index 0499326aaad..52bd8428add 100644
--- a/code/modules/integrated_electronics/core/printer.dm
+++ b/code/modules/integrated_electronics/core/printer.dm
@@ -70,11 +70,13 @@
var/amt = M.amount
if(amt * SHEET_MATERIAL_AMOUNT + materials[M.material.type] > metal_max)
amt = ceil((metal_max - materials[M.material.type]) / SHEET_MATERIAL_AMOUNT)
- if(M.use(amt))
- materials[M.material.type] = min(metal_max, materials[M.material.type] + amt * SHEET_MATERIAL_AMOUNT)
- to_chat(user, "You insert [M.material.solid_name] into \the [src].")
- if(user)
- attack_self(user) // We're really bad at refreshing the UI, so this is the best we've got.
+ if(!M.use(amt))
+ return FALSE
+ materials[M.material.type] = min(metal_max, materials[M.material.type] + amt * SHEET_MATERIAL_AMOUNT)
+ to_chat(user, "You insert [M.material.solid_name] into \the [src].")
+ if(user)
+ attack_self(user) // We're really bad at refreshing the UI, so this is the best we've got.
+ return TRUE
if(istype(O, /obj/item/disk/integrated_circuit/upgrade/advanced))
if(upgraded)
to_chat(user, "[src] already has this upgrade. ")
@@ -99,22 +101,22 @@
var/obj/item/electronic_assembly/EA = O //microtransactions not included
if(EA.battery)
to_chat(user, "Remove [EA]'s power cell first!")
- return
+ return TRUE
if(EA.assembly_components.len)
if(recycling)
- return
+ return TRUE
if(!EA.opened)
to_chat(user, "You can't reach [EA]'s components to remove them!")
- return
+ return TRUE
for(var/V in EA.assembly_components)
var/obj/item/integrated_circuit/IC = V
if(!IC.removable)
to_chat(user, "[EA] has irremovable components in the casing, preventing you from emptying it.")
- return
+ return TRUE
to_chat(user, "You begin recycling [EA]'s components...")
playsound(src, 'sound/items/electronic_assembly_emptying.ogg', 50, TRUE)
if(!do_after(user, 30, target = src) || recycling) //short channel so you don't accidentally start emptying out a complex assembly
- return
+ return TRUE
recycling = TRUE
for(var/V in EA.assembly_components)
recycle(V, null, EA)
diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm
index 34a70cfee41..0fd00002576 100644
--- a/code/modules/integrated_electronics/subtypes/manipulation.dm
+++ b/code/modules/integrated_electronics/subtypes/manipulation.dm
@@ -39,9 +39,9 @@
var/obj/item/gun/energy/gun = O
if(installed_gun)
to_chat(user, "There's already a weapon installed.")
- return
+ return TRUE
if(!user.try_unequip(gun,src))
- return
+ return TRUE
installed_gun = gun
to_chat(user, "You slide \the [gun] into the firing mechanism.")
playsound(src, 'sound/items/Crowbar.ogg', 50, 1)
@@ -56,8 +56,9 @@
var/datum/firemode/fm = installed_gun.firemodes[installed_gun.sel_mode]
set_pin_data(IC_OUTPUT, 2, fm.name)
push_data()
+ return TRUE
else
- ..()
+ return ..()
/obj/item/integrated_circuit/manipulation/weapon_firing/attack_self(var/mob/user)
if(installed_gun)
@@ -184,10 +185,12 @@
if(istype(G))
if(attached_grenade)
to_chat(user, "There is already a grenade attached!")
- else if(user.try_unequip(G,src))
+ return TRUE
+ if(user.try_unequip(G,src))
user.visible_message("\The [user] attaches \a [G] to \the [src]!", "You attach \the [G] to \the [src].")
attach_grenade(G)
G.forceMove(src)
+ return TRUE
else
return ..()
@@ -650,6 +653,7 @@
/obj/item/integrated_circuit/manipulation/ai/attackby(var/obj/item/I, var/mob/user)
if(is_type_in_list(I, list(/obj/item/aicard, /obj/item/paicard, /obj/item/organ/internal/brain_interface)))
load_ai(user, I)
+ return TRUE
else return ..()
/obj/item/integrated_circuit/manipulation/ai/attack_self(user)
diff --git a/code/modules/locks/lock_construct.dm b/code/modules/locks/lock_construct.dm
index 5a64b0c780b..a1060c0063d 100644
--- a/code/modules/locks/lock_construct.dm
+++ b/code/modules/locks/lock_construct.dm
@@ -27,13 +27,13 @@
K.key_data = lock_data
else
to_chat(user, SPAN_WARNING("\The [I] already unlocks something..."))
- return
+ return TRUE
if(istype(I,/obj/item/lock_construct))
var/obj/item/lock_construct/L = I
src.lock_data = L.lock_data
to_chat(user, SPAN_NOTICE("You copy the lock from \the [L] to \the [src], making them identical."))
- return
- ..()
+ return TRUE
+ return ..()
/obj/item/lock_construct/proc/create_lock(var/atom/target, var/mob/user)
. = new /datum/lock(target, lock_data, material?.type)
diff --git a/code/modules/maps/reader.dm b/code/modules/maps/reader.dm
index 59cc3764bf5..efc444d7b0a 100644
--- a/code/modules/maps/reader.dm
+++ b/code/modules/maps/reader.dm
@@ -373,6 +373,8 @@ var/global/dmm_suite/preloader/_preloader = new
if (clear_contents && is_not_noop)
for (var/type_to_delete in types_to_delete())
for (var/atom/pre_existing in crds)
+ if(crds != pre_existing.loc) // avoid deleting multitile objects unnecessarily, only check their 'real' loc
+ continue
if (istype(pre_existing, type_to_delete))
atoms_to_delete |= pre_existing
diff --git a/code/modules/materials/_materials.dm b/code/modules/materials/_materials.dm
index d5aff1e2028..e615eefe25a 100644
--- a/code/modules/materials/_materials.dm
+++ b/code/modules/materials/_materials.dm
@@ -359,6 +359,10 @@ INITIALIZE_IMMEDIATE(/obj/effect/gas_overlay)
/// How much of this boils away per evaporation run?
var/boil_evaporation_per_run = 1
+ /// What verb is used when describing a colored piece of this material? e.g. 'dyed' or 'painted'
+ /// If an item has a null paint_verb, it automatically sets it based on material.
+ var/paint_verb = "painted"
+
// Placeholders for light tiles and rglass.
/decl/material/proc/reinforce(var/mob/user, var/obj/item/stack/material/used_stack, var/obj/item/stack/material/target_stack, var/use_sheets = 1)
if(!used_stack.can_use(use_sheets))
@@ -457,7 +461,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/gas_overlay)
cocktail_ingredient = TRUE
break
-#define FALSEWALL_STATE "fwall_open"
/decl/material/validate()
. = ..()
@@ -522,12 +525,15 @@ INITIALIZE_IMMEDIATE(/obj/effect/gas_overlay)
total += checking_list[chem]
if(total != 1)
. += "[field] adds up to [total] (should be 1)"
- if(icon_base && !check_state_in_icon(FALSEWALL_STATE, icon_base))
- . += "[type] - '[icon_base]' - missing false wall opening animation '[FALSEWALL_STATE]'"
if(dissolves_in == MAT_SOLVENT_IMMUNE && LAZYLEN(dissolves_into))
. += "material is immune to solvents, but has dissolves_into products."
+ if(!paint_verb)
+ . += "material does not have a paint_verb set"
+ else if(!istext(paint_verb))
+ . += "material has a non-text paint_verb value"
+
for(var/i = 0 to 7)
if(icon_base)
if(!check_state_in_icon("[i]", icon_base))
@@ -562,7 +568,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/gas_overlay)
if(length(color) != 7)
. += "invalid color (not #RRGGBB)"
-#undef FALSEWALL_STATE
// Return the matter comprising this material.
/decl/material/proc/get_matter()
diff --git a/code/modules/materials/definitions/liquids/materials_liquid_soup.dm b/code/modules/materials/definitions/liquids/materials_liquid_soup.dm
index d6b9769954a..364ccab4bfe 100644
--- a/code/modules/materials/definitions/liquids/materials_liquid_soup.dm
+++ b/code/modules/materials/definitions/liquids/materials_liquid_soup.dm
@@ -47,10 +47,11 @@
var/list/name_ingredients = ingredients.Copy()
if(length(name_ingredients) > 3)
name_ingredients.Cut(4)
- if(allergen_flags & ALLERGEN_DAIRY) // TODO: check ALLEGEN_CHEESE for cheese-based soups
- LAZYSET(., DATA_MASK_NAME, "[english_list(name_ingredients)] cream [mask_name_suffix]")
- else
- LAZYSET(., DATA_MASK_NAME, "[english_list(name_ingredients)] [mask_name_suffix]")
+ if(isnull(.[DATA_MASK_NAME]) || .[DATA_MASK_NAME] != newdata?[DATA_MASK_NAME]) // preserve custom name if both have it
+ if(allergen_flags & ALLERGEN_DAIRY) // TODO: check ALLEGEN_CHEESE for cheese-based soups
+ LAZYSET(., DATA_MASK_NAME, "[english_list(name_ingredients)] cream [mask_name_suffix]")
+ else
+ LAZYSET(., DATA_MASK_NAME, "[english_list(name_ingredients)] [mask_name_suffix]")
else
LAZYREMOVE(., DATA_MASK_NAME)
diff --git a/code/modules/materials/definitions/solids/materials_solid_butchery.dm b/code/modules/materials/definitions/solids/materials_solid_butchery.dm
index c106771d16f..666d18c6517 100644
--- a/code/modules/materials/definitions/solids/materials_solid_butchery.dm
+++ b/code/modules/materials/definitions/solids/materials_solid_butchery.dm
@@ -120,6 +120,7 @@
sound_manipulate = 'sound/foley/paperpickup2.ogg'
sound_dropped = 'sound/foley/paperpickup1.ogg'
fishing_bait_value = 0
+ paint_verb = "dyed"
/decl/material/solid/organic/skin/fur/gray
uid = "solid_fur_gray"
diff --git a/code/modules/materials/definitions/solids/materials_solid_organic.dm b/code/modules/materials/definitions/solids/materials_solid_organic.dm
index 14d26af5535..b410f85be58 100644
--- a/code/modules/materials/definitions/solids/materials_solid_organic.dm
+++ b/code/modules/materials/definitions/solids/materials_solid_organic.dm
@@ -39,6 +39,14 @@
tensile_strength = 0.75
compost_value = 0
+/decl/material/solid/organic/plastic/foam
+ name = "foam"
+ lore_text = "A plastic polymer in a sponge-like form, filled with air bubbles that make it springy and compressible."
+ hardness = MAT_VALUE_SOFT + 5
+ taste_description = "foam"
+ color = COLOR_BLUE_GRAY // dunno why foam is this gray-teal color in my mind, but it is. maybe gray would also work
+ uid = "solid_foam"
+
/decl/material/solid/organic/wax
name = "wax"
uid = "solid_wax"
@@ -59,6 +67,7 @@
ignition_point = 473
boiling_point = 643
compost_value = 0.2
+ paint_verb = "colored"
/decl/material/solid/organic/plastic/holographic
name = "holographic plastic"
@@ -126,11 +135,11 @@
sound_manipulate = 'sound/foley/paperpickup2.ogg'
sound_dropped = 'sound/foley/paperpickup1.ogg'
compost_value = 0.8
+ paint_verb = "painted"
/decl/material/solid/organic/cloth
name = "cotton"
uid = "solid_cotton"
- use_name = "cotton"
color = "#ffffff"
stack_origin_tech = @'{"materials":2}'
door_icon_base = "wood"
@@ -152,6 +161,7 @@
sound_dropped = 'sound/foley/paperpickup1.ogg'
compost_value = 0.8
has_textile_fibers = TRUE
+ paint_verb = "dyed"
/decl/material/solid/organic/cloth/hemp
name = "hemp"
@@ -288,6 +298,7 @@
/decl/material/solid/organic/leather/fur
name = "tanned pelt"
uid = "solid_tanned_pelt"
+ paint_verb = "dyed"
/decl/material/solid/organic/leather/chitin
name = "treated chitin"
diff --git a/code/modules/materials/definitions/solids/materials_solid_stone.dm b/code/modules/materials/definitions/solids/materials_solid_stone.dm
index 3454761c950..6334b03f1b8 100644
--- a/code/modules/materials/definitions/solids/materials_solid_stone.dm
+++ b/code/modules/materials/definitions/solids/materials_solid_stone.dm
@@ -9,6 +9,7 @@
brute_armor = 3
conductive = 0
construction_difficulty = MAT_VALUE_NORMAL_DIY
+ wall_flags = WALL_HAS_EDGES
wall_blend_icons = list(
'icons/turf/walls/solid.dmi' = TRUE,
'icons/turf/walls/wood.dmi' = TRUE,
diff --git a/code/modules/materials/definitions/solids/materials_solid_wood.dm b/code/modules/materials/definitions/solids/materials_solid_wood.dm
index 6a6f23c98ba..01629ab0acf 100644
--- a/code/modules/materials/definitions/solids/materials_solid_wood.dm
+++ b/code/modules/materials/definitions/solids/materials_solid_wood.dm
@@ -47,6 +47,7 @@
sound_dropped = 'sound/foley/wooddrop1.ogg'
compost_value = 0.2
temperature_burn_milestone_material = /decl/material/solid/organic/wood
+ paint_verb = "stained"
// Wood is hard but can't really give it an edge.
/decl/material/solid/organic/wood/can_hold_edge()
diff --git a/code/modules/materials/material_stack_animal.dm b/code/modules/materials/material_stack_animal.dm
index adb15ced5a0..1ca093a9c26 100644
--- a/code/modules/materials/material_stack_animal.dm
+++ b/code/modules/materials/material_stack_animal.dm
@@ -79,6 +79,7 @@
singular_name = "feather"
plural_name = "feathers"
stack_merge_type = /obj/item/stack/material/skin/feathers
+ paint_verb = "dyed"
/obj/item/stack/material/bone
name = "bones"
diff --git a/code/modules/mechs/components/_components.dm b/code/modules/mechs/components/_components.dm
index 128278d9d65..64ecc2a71d2 100644
--- a/code/modules/mechs/components/_components.dm
+++ b/code/modules/mechs/components/_components.dm
@@ -49,7 +49,8 @@
/obj/item/mech_component/proc/install_component(var/obj/item/thing, var/mob/user)
if(user.try_unequip(thing, src))
user.visible_message(SPAN_NOTICE("\The [user] installs \the [thing] in \the [src]."))
- return 1
+ return TRUE
+ return FALSE
/obj/item/mech_component/proc/update_component_health()
total_damage = brute_damage + burn_damage
diff --git a/code/modules/mechs/components/arms.dm b/code/modules/mechs/components/arms.dm
index 18785d2f72b..009f02efd0c 100644
--- a/code/modules/mechs/components/arms.dm
+++ b/code/modules/mechs/components/arms.dm
@@ -28,8 +28,11 @@
if(istype(thing,/obj/item/robot_parts/robot_component/actuator))
if(motivator)
to_chat(user, SPAN_WARNING("\The [src] already has an actuator installed."))
- return
- if(install_component(thing, user)) motivator = thing
+ return TRUE
+ if(install_component(thing, user))
+ motivator = thing
+ return TRUE
+ return FALSE
else
return ..()
diff --git a/code/modules/mechs/components/body.dm b/code/modules/mechs/components/body.dm
index e5f1a9a4f1b..4d8016e7138 100644
--- a/code/modules/mechs/components/body.dm
+++ b/code/modules/mechs/components/body.dm
@@ -144,19 +144,27 @@
if(istype(thing,/obj/item/robot_parts/robot_component/diagnosis_unit))
if(diagnostics)
to_chat(user, SPAN_WARNING("\The [src] already has a diagnostic system installed."))
- return
- if(install_component(thing, user)) diagnostics = thing
+ return TRUE
+ if(install_component(thing, user))
+ diagnostics = thing
+ return TRUE
+ return FALSE
else if(istype(thing, /obj/item/cell))
if(cell)
to_chat(user, SPAN_WARNING("\The [src] already has a cell installed."))
- return
- if(install_component(thing,user)) cell = thing
+ return TRUE
+ if(install_component(thing,user))
+ cell = thing
+ return TRUE
+ return FALSE
else if(istype(thing, /obj/item/robot_parts/robot_component/armour/exosuit))
if(m_armour)
to_chat(user, SPAN_WARNING("\The [src] already has armour installed."))
- return
+ return TRUE
if(install_component(thing, user))
m_armour = thing
+ return TRUE
+ return FALSE
else
return ..()
diff --git a/code/modules/mechs/components/frame.dm b/code/modules/mechs/components/frame.dm
index 0e34f5b3455..79dcade3a3a 100644
--- a/code/modules/mechs/components/frame.dm
+++ b/code/modules/mechs/components/frame.dm
@@ -72,23 +72,22 @@
return ..(SOUTH)
/obj/structure/heavy_vehicle_frame/attackby(var/obj/item/thing, var/mob/user)
-
// Removing components.
if(IS_CROWBAR(thing))
if(is_reinforced == FRAME_REINFORCED)
if(!do_after(user, 5 * user.skill_delay_mult(SKILL_DEVICES)) || !material)
- return
+ return TRUE
user.visible_message(SPAN_NOTICE("\The [user] crowbars the reinforcement off \the [src]."))
material.create_object(src.loc, 10)
material = null
is_reinforced = 0
- return
+ return TRUE
var/to_remove = input("Which component would you like to remove") as null|anything in list(arms, body, legs, head)
if(!to_remove)
to_chat(user, SPAN_WARNING("There are no components to remove."))
- return
+ return TRUE
if(uninstall_component(to_remove, user))
if(to_remove == arms)
@@ -101,7 +100,7 @@
head = null
update_icon()
- return
+ return TRUE
// Final construction step.
else if(IS_SCREWDRIVER(thing))
@@ -109,7 +108,7 @@
// Check for basic components.
if(!(arms && legs && head && body))
to_chat(user, SPAN_WARNING("There are still parts missing from \the [src]."))
- return
+ return TRUE
// Check for wiring.
if(is_wired < FRAME_WIRED_ADJUSTED)
@@ -117,7 +116,7 @@
to_chat(user, SPAN_WARNING("\The [src]'s wiring has not been adjusted!"))
else
to_chat(user, SPAN_WARNING("\The [src] is not wired!"))
- return
+ return TRUE
// Check for basing metal internal plating.
if(is_reinforced < FRAME_REINFORCED_WELDED)
@@ -127,14 +126,14 @@
to_chat(user, SPAN_WARNING("\The [src]'s internal reinforcement has not been welded down!"))
else
to_chat(user, SPAN_WARNING("\The [src] has no internal reinforcement!"))
- return
+ return TRUE
visible_message(SPAN_NOTICE("\The [user] begins tightening screws, flipping connectors and finishing off \the [src]."))
if(!user.do_skilled(50, SKILL_DEVICES, src))
- return
+ return TRUE
if(is_reinforced < FRAME_REINFORCED_WELDED || is_wired < FRAME_WIRED_ADJUSTED || !(arms && legs && head && body) || QDELETED(src) || QDELETED(user))
- return
+ return TRUE
// We're all done. Finalize the exosuit and pass the frame to the new system.
var/mob/living/exosuit/M = new(get_turf(src), src)
@@ -147,27 +146,27 @@
body = null
qdel(src)
- return
+ return TRUE
// Installing wiring.
else if(IS_COIL(thing))
if(is_wired)
to_chat(user, SPAN_WARNING("\The [src] has already been wired."))
- return
+ return TRUE
var/obj/item/stack/cable_coil/CC = thing
if(CC.get_amount() < 10)
to_chat(user, SPAN_WARNING("You need at least ten units of cable to complete the exosuit."))
- return
+ return TRUE
user.visible_message("\The [user] begins wiring \the [src]...")
if(!do_after(user, 30 * user.skill_delay_mult(SKILL_ELECTRICAL)))
- return
+ return TRUE
if(!CC || !user || !src || CC.get_amount() < 10 || is_wired)
- return
+ return TRUE
CC.use(10)
user.visible_message("\The [user] installs wiring in \the [src].")
@@ -177,12 +176,12 @@
else if(IS_WIRECUTTER(thing))
if(!is_wired)
to_chat(user, "There is no wiring in \the [src] to neaten.")
- return
+ return TRUE
user.visible_message("\The [user] begins adjusting the wiring inside \the [src]...")
var/last_wiring_state = is_wired
if(!do_after(user, 30 * user.skill_delay_mult(SKILL_ELECTRICAL)) || last_wiring_state != is_wired)
- return
+ return TRUE
visible_message("\The [user] [(is_wired == FRAME_WIRED_ADJUSTED) ? "snips some of" : "neatens"] the wiring in \the [src].")
playsound(user.loc, 'sound/items/Wirecutter.ogg', 100, 1)
@@ -193,15 +192,15 @@
if(M.material)
if(is_reinforced)
to_chat(user, SPAN_WARNING("There is already a material reinforcement installed in \the [src]."))
- return
+ return TRUE
if(M.get_amount() < 10)
to_chat(user, SPAN_WARNING("You need at least ten sheets to reinforce \the [src]."))
- return
+ return TRUE
visible_message("\The [user] begins layering the interior of the \the [src] with \the [M].")
if(!do_after(user, 30 * user.skill_delay_mult(SKILL_DEVICES)) || is_reinforced)
- return
+ return TRUE
visible_message("\The [user] reinforces \the [src] with \the [M].")
playsound(user.loc, 'sound/items/Deconstruct.ogg', 50, 1)
@@ -214,16 +213,16 @@
else if(IS_WRENCH(thing))
if(!is_reinforced)
to_chat(user, SPAN_WARNING("There is no metal to secure inside \the [src]."))
- return
+ return TRUE
if(is_reinforced == FRAME_REINFORCED_WELDED)
to_chat(user, SPAN_WARNING("\The [src]'s internal reinforcment has been welded in."))
- return
+ return TRUE
var/last_reinforced_state = is_reinforced
visible_message("\The [user] begins adjusting the metal reinforcement inside \the [src].")
if(!user.do_skilled(4 SECONDS, SKILL_DEVICES,src) || last_reinforced_state != is_reinforced)
- return
+ return TRUE
visible_message("\The [user] [(is_reinforced == 2) ? "unsecures" : "secures"] the metal reinforcement inside \the [src].")
playsound(user.loc, 'sound/items/Ratchet.ogg', 100, 1)
@@ -233,66 +232,67 @@
var/obj/item/weldingtool/WT = thing
if(!is_reinforced)
to_chat(user, SPAN_WARNING("There is no metal to secure inside \the [src]."))
- return
+ return TRUE
if(is_reinforced == FRAME_REINFORCED)
to_chat(user, SPAN_WARNING("The reinforcement inside \the [src] has not been secured."))
- return
+ return TRUE
if(!WT.isOn())
to_chat(user, SPAN_WARNING("Turn \the [WT] on, first."))
- return
+ return TRUE
if(WT.weld(1, user))
var/last_reinforced_state = is_reinforced
visible_message("\The [user] begins welding the metal reinforcement inside \the [src].")
if(!do_after(user, 20 * user.skill_delay_mult(SKILL_DEVICES)) || last_reinforced_state != is_reinforced)
- return
+ return TRUE
visible_message("\The [user] [(is_reinforced == FRAME_REINFORCED_WELDED) ? "unwelds the reinforcement from" : "welds the reinforcement into"] \the [src].")
is_reinforced = (is_reinforced == FRAME_REINFORCED_WELDED) ? FRAME_REINFORCED_SECURE : FRAME_REINFORCED_WELDED
playsound(user.loc, 'sound/items/Welder.ogg', 50, 1)
else
to_chat(user, SPAN_WARNING("Not enough fuel!"))
- return
+ return TRUE
// Installing basic components.
else if(istype(thing,/obj/item/mech_component/manipulators))
if(arms)
to_chat(user, SPAN_WARNING("\The [src] already has manipulators installed."))
- return
+ return TRUE
if(install_component(thing, user))
if(arms)
thing.dropInto(loc)
- return
+ return TRUE
arms = thing
else if(istype(thing,/obj/item/mech_component/propulsion))
if(legs)
to_chat(user, SPAN_WARNING("\The [src] already has a propulsion system installed."))
- return
+ return TRUE
if(install_component(thing, user))
if(legs)
thing.dropInto(loc)
- return
+ return TRUE
legs = thing
else if(istype(thing,/obj/item/mech_component/sensors))
if(head)
to_chat(user, SPAN_WARNING("\The [src] already has a sensor array installed."))
- return
+ return TRUE
if(install_component(thing, user))
if(head)
thing.dropInto(loc)
- return
+ return TRUE
head = thing
else if(istype(thing,/obj/item/mech_component/chassis))
if(body)
to_chat(user, SPAN_WARNING("\The [src] already has an outer chassis installed."))
- return
+ return TRUE
if(install_component(thing, user))
if(body)
thing.dropInto(loc)
- return
+ return TRUE
body = thing
else
return ..()
update_icon()
+ return TRUE
/obj/structure/heavy_vehicle_frame/proc/install_component(var/obj/item/thing, var/mob/user)
var/obj/item/mech_component/MC = thing
diff --git a/code/modules/mechs/components/head.dm b/code/modules/mechs/components/head.dm
index b6b0263522c..98443399466 100644
--- a/code/modules/mechs/components/head.dm
+++ b/code/modules/mechs/components/head.dm
@@ -59,18 +59,27 @@
if(istype(thing, /obj/item/mech_component/control_module))
if(software)
to_chat(user, SPAN_WARNING("\The [src] already has a control modules installed."))
- return
- if(install_component(thing, user)) software = thing
+ return TRUE
+ if(install_component(thing, user))
+ software = thing
+ return TRUE
+ return FALSE
else if(istype(thing,/obj/item/robot_parts/robot_component/radio))
if(radio)
to_chat(user, SPAN_WARNING("\The [src] already has a radio installed."))
- return
- if(install_component(thing, user)) radio = thing
+ return TRUE
+ if(install_component(thing, user))
+ radio = thing
+ return TRUE
+ return FALSE
else if(istype(thing,/obj/item/robot_parts/robot_component/camera))
if(camera)
to_chat(user, SPAN_WARNING("\The [src] already has a camera installed."))
- return
- if(install_component(thing, user)) camera = thing
+ return TRUE
+ if(install_component(thing, user))
+ camera = thing
+ return TRUE
+ return FALSE
else
return ..()
@@ -107,15 +116,14 @@
to_chat(user, SPAN_NOTICE("It has [max_installed_software - LAZYLEN(installed_software)] empty slot\s remaining out of [max_installed_software]."))
/obj/item/mech_component/control_module/attackby(var/obj/item/thing, var/mob/user)
-
if(istype(thing, /obj/item/stock_parts/circuitboard/exosystem))
install_software(thing, user)
- return
+ return TRUE
if(IS_SCREWDRIVER(thing))
- var/result = ..()
+ . = ..()
update_software()
- return result
+ return
else
return ..()
diff --git a/code/modules/mechs/components/legs.dm b/code/modules/mechs/components/legs.dm
index b6d0d492316..39c096f7153 100644
--- a/code/modules/mechs/components/legs.dm
+++ b/code/modules/mechs/components/legs.dm
@@ -26,8 +26,11 @@
if(istype(thing,/obj/item/robot_parts/robot_component/actuator))
if(motivator)
to_chat(user, SPAN_WARNING("\The [src] already has an actuator installed."))
- return
- if(install_component(thing, user)) motivator = thing
+ return TRUE
+ if(install_component(thing, user))
+ motivator = thing
+ return TRUE
+ return FALSE
else
return ..()
diff --git a/code/modules/mechs/equipment/combat_projectile.dm b/code/modules/mechs/equipment/combat_projectile.dm
index ee9047d24e9..16756e060d6 100644
--- a/code/modules/mechs/equipment/combat_projectile.dm
+++ b/code/modules/mechs/equipment/combat_projectile.dm
@@ -1,13 +1,14 @@
/obj/item/mech_equipment/mounted_system/projectile/attackby(var/obj/item/O, var/mob/user)
var/obj/item/gun/projectile/automatic/A = holding
if(!istype(A))
- return
+ return FALSE
if(istype(O, /obj/item/crowbar))
A.unload_ammo(user)
to_chat(user, SPAN_NOTICE("You remove the ammo magazine from \the [src]."))
else if(istype(O, A.magazine_type))
A.load_ammo(O, user)
to_chat(user, SPAN_NOTICE("You load the ammo magazine into \the [src]."))
+ return TRUE
/obj/item/mech_equipment/mounted_system/projectile/attack_self(var/mob/user)
. = ..()
diff --git a/code/modules/mechs/equipment/medical.dm b/code/modules/mechs/equipment/medical.dm
index 4dc126c7cc7..7c39947f122 100644
--- a/code/modules/mechs/equipment/medical.dm
+++ b/code/modules/mechs/equipment/medical.dm
@@ -31,8 +31,9 @@
/obj/item/mech_equipment/sleeper/attackby(var/obj/item/I, var/mob/user)
if(istype(I, /obj/item/chems/glass))
- sleeper.attackby(I, user)
- else return ..()
+ return sleeper.attackby(I, user)
+ else
+ return ..()
/obj/item/mech_equipment/sleeper/afterattack(var/atom/target, var/mob/living/user, var/inrange, var/params)
. = ..()
@@ -77,11 +78,11 @@
/obj/machinery/sleeper/mounted/attackby(var/obj/item/I, var/mob/user)
if(istype(I, /obj/item/chems/glass))
if(!user.try_unequip(I, src))
- return
-
+ return TRUE
if(beaker)
- beaker.forceMove(get_turf(src))
+ user.put_in_hands(beaker)
user.visible_message("\The [user] removes \the [beaker] from \the [src].", "You remove \the [beaker] from \the [src].")
beaker = I
user.visible_message("\The [user] adds \a [I] to \the [src].", "You add \a [I] to \the [src].")
-
+ return TRUE
+ return FALSE
diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm
index b5557bda3c9..15c5846a8a4 100644
--- a/code/modules/mining/abandonedcrates.dm
+++ b/code/modules/mining/abandonedcrates.dm
@@ -173,24 +173,24 @@
. = 0
/obj/structure/closet/crate/secure/loot/attackby(obj/item/W, mob/user)
- if(locked)
- if (IS_MULTITOOL(W)) // Greetings Urist McProfessor, how about a nice game of cows and bulls?
- to_chat(user, "DECA-CODE LOCK ANALYSIS:")
- if (attempts == 1)
- to_chat(user, "* Anti-Tamper system will activate on the next failed access attempt.")
- else
- to_chat(user, "* Anti-Tamper system will activate after [src.attempts] failed access attempts.")
- if(lastattempt.len)
- var/bulls = 0
- var/cows = 0
+ if(!locked || !IS_MULTITOOL(W))
+ return ..()
+ // Greetings Urist McProfessor, how about a nice game of cows and bulls?
+ to_chat(user, "DECA-CODE LOCK ANALYSIS:")
+ if (attempts == 1)
+ to_chat(user, "* Anti-Tamper system will activate on the next failed access attempt.")
+ else
+ to_chat(user, "* Anti-Tamper system will activate after [src.attempts] failed access attempts.")
+ if(lastattempt.len)
+ var/bulls = 0
+ var/cows = 0
- var/list/code_contents = code.Copy()
- for(var/i in 1 to codelen)
- if(lastattempt[i] == code[i])
- ++bulls
- else if(lastattempt[i] in code_contents)
- ++cows
- code_contents -= lastattempt[i]
- to_chat(user, "Last code attempt had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.")
- return
- ..()
+ var/list/code_contents = code.Copy()
+ for(var/i in 1 to codelen)
+ if(lastattempt[i] == code[i])
+ ++bulls
+ else if(lastattempt[i] in code_contents)
+ ++cows
+ code_contents -= lastattempt[i]
+ to_chat(user, "Last code attempt had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.")
+ return TRUE
diff --git a/code/modules/mining/drilling/brace.dm b/code/modules/mining/drilling/brace.dm
new file mode 100644
index 00000000000..44441e2f834
--- /dev/null
+++ b/code/modules/mining/drilling/brace.dm
@@ -0,0 +1,56 @@
+/obj/structure/drill_brace
+ name = "mining drill brace"
+ desc = "A machinery brace for an industrial drill. It looks like it's about half a metre thick."
+ icon = 'icons/obj/mining_drill.dmi'
+ icon_state = "mining_brace"
+ density = TRUE
+ layer = ABOVE_HUMAN_LAYER
+ obj_flags = OBJ_FLAG_ROTATABLE|OBJ_FLAG_ANCHORABLE
+ var/obj/machinery/mining_drill/connected = null
+
+/obj/structure/drill_brace/Destroy()
+ if(connected)
+ disconnect_from_drill()
+ return ..()
+
+/obj/structure/drill_brace/on_update_icon()
+ icon_state = "mining_brace[connected ? "_active" : ""]"
+ return ..()
+
+/obj/structure/drill_brace/wrench_floor_bolts(mob/user, delay, obj/item/tool)
+ if(connected && connected.use_power != POWER_USE_OFF)
+ to_chat(user, SPAN_NOTICE("You can't work with the brace of a running drill!"))
+ return
+ if(isspaceturf(get_turf(src)))
+ to_chat(user, SPAN_NOTICE("You can't anchor something to empty space. Idiot."))
+ return
+
+ var/old_anchored = anchored
+ ..() // Call parent to try to actually anchor/unanchor it.
+ if(anchored != old_anchored)
+ if(anchored && connect_to_drill())
+ to_chat(user, SPAN_NOTICE("You attach \the [src] to \the [connected]."))
+ else if(disconnect_from_drill())
+ to_chat(user, SPAN_NOTICE("You detatch \the [src]."))
+
+/obj/structure/drill_brace/proc/connect_to_drill()
+ var/turf/front_turf = get_step(get_turf(src), dir)
+ if(!istype(front_turf))
+ return FALSE
+ var/obj/machinery/mining_drill/drill = locate(/obj/machinery/mining_drill) in front_turf
+ if(drill)
+ connected = drill
+ connected.supports += src
+ connected.handle_supports()
+ update_icon()
+ return TRUE
+ return FALSE
+
+/obj/structure/drill_brace/proc/disconnect_from_drill()
+ if(!connected)
+ return FALSE
+ connected.supports -= src
+ connected.handle_supports()
+ connected = null
+ update_icon()
+ return TRUE
diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm
index fea0961004f..acf7751d981 100644
--- a/code/modules/mining/drilling/drill.dm
+++ b/code/modules/mining/drilling/drill.dm
@@ -1,299 +1,204 @@
-/obj/machinery/mining
+/obj/machinery/mining_drill
+ name = "mining drill head"
+ desc = "An enormous drill."
icon = 'icons/obj/mining_drill.dmi'
+ icon_state = "mining_drill_off"
+ layer = ABOVE_HUMAN_LAYER
anchored = FALSE
- use_power = POWER_USE_OFF //The drill takes power directly from a cell.
density = TRUE
- layer = ABOVE_HUMAN_LAYER //So it draws over mobs in the tile north of it.
+ use_power = POWER_USE_OFF
+ power_channel = LOCAL
+ active_power_usage = 10 KILOWATTS
+ idle_power_usage = 500
construct_state = /decl/machine_construction/default/panel_closed
uncreated_component_parts = null
stat_immune = 0
+ base_type = /obj/machinery/mining_drill
+ z_flags = ZMM_WIDE_LOAD
-/obj/machinery/mining/drill
- name = "mining drill head"
- desc = "An enormous drill."
- icon_state = "mining_drill"
- power_channel = LOCAL
- active_power_usage = 10 KILOWATTS
- base_type = /obj/machinery/mining/drill
- var/list/generated_ore = list()
- var/braces_needed = 2
- var/list/supports = list()
- var/supported = 0
- var/active = FALSE
- var/list/resource_field = list()
-
- //Upgrades
- var/harvest_speed
- var/capacity
-
- //Flags
- var/need_update_field = 0
- var/need_player_check = 0
+ /// The drill's FSM, keeping track of which state the drill is currently in.
+ var/datum/state_machine/drill/state_machine = null
-/obj/machinery/mining/drill/Process()
- if(need_player_check)
- return
-
- check_supports()
+ /// Ore that is presently inside of the drill, ready to be extracted.
+ var/list/contained_ore = list()
- if(!active) return
-
- if(!anchored)
- system_error("system configuration error")
- return
-
- if(stat & NOPOWER)
- system_error("insufficient charge")
- return
+ /// Drill supports presently connected to the drill head.
+ var/list/supports = list()
- if(need_update_field)
- get_resource_field()
+ /// How many braces are required for the drill to operate.
+ var/const/MINIMUM_SUPPORT_NUMBER = 2
- if(world.time % 10 == 0)
- update_icon()
+ /// List of turfs that the drill will attempt to mine.
+ var/list/turfs_to_mine = list()
- if(!active)
- return
+ /// The turf that the drill is presently mining.
+ var/turf/current_turf = null
- //Drill through the flooring, if any.
- var/turf/T = get_turf(src)
- if(T)
- T.drill_act()
-
- while(length(resource_field))
- var/turf/harvesting = pick(resource_field)
- var/datum/extension/buried_resources/resources = get_extension(harvesting, /datum/extension/buried_resources)
- if(!length(resources?.resources))
- if(resources)
- remove_extension(harvesting, /datum/extension/buried_resources)
- resource_field -= harvesting
- continue
- break
-
- if(!length(resource_field))
- set_active(FALSE)
- need_player_check = 1
- update_icon()
- return
+ //Upgrades
+ /// The radius for the drill to use when populating `turfs_to_mine`. Upgraded with scanning modules.
+ var/drill_radius = 2
- var/turf/harvesting = pick(resource_field)
- var/datum/extension/buried_resources/resources = get_extension(harvesting, /datum/extension/buried_resources)
- var/harvested = 0
- for(var/metal in resources.resources)
+ /// The ore capacity for the drill. The drill will stop mining if it gets full. Upgraded with matter bins.
+ var/ore_capacity = 200
- if(length(generated_ore) >= capacity)
- system_error("insufficient storage space")
- set_active(FALSE)
- need_player_check = 1
- update_icon()
- return
+ /// How fast the drill mines out the ore contained within `turfs_to_mine`. Faster speed requires more power. Upgraded with micro lasers.
+ var/mining_speed = 1
- var/generating_ore = min(capacity - length(generated_ore), resources.resources[metal])
- resources.resources[metal] -= generating_ore
- if(resources.resources[metal] <= 0)
- resources.resources -= metal
-
- for(var/i=1, i <= generating_ore, i++)
- harvested++
- if(harvested >= harvest_speed)
- break
- generated_ore += new /obj/item/stack/material/ore(src, metal)
- if(harvested >= harvest_speed)
- break
+ /// Modifies how much energy is required to extract one piece of ore, with diminishing returns for higher values. Upgraded with capacitors.
+ var/efficiency_rating = 1
- if(!length(resources.resources))
- remove_extension(harvesting, /datum/extension/buried_resources)
- resource_field -= harvesting
+ /// Determines how much less energy each capacitor rating reduces. Every capacitor after the first reduces the power draw by this amount each time.
+ var/const/EFFICIENCY_EXPONENT = 0.8 // Raise this closer to 1 to make capacitors less powerful.
-/obj/machinery/mining/drill/proc/set_active(var/new_active)
- if(active != new_active)
- active = new_active
- update_use_power(active ? POWER_USE_ACTIVE : POWER_USE_OFF)
+/obj/machinery/mining_drill/Initialize()
+ state_machine = add_state_machine(src, /datum/state_machine/drill)
+ return ..()
-/obj/machinery/mining/drill/cannot_transition_to(state_path)
- if(active)
- return SPAN_NOTICE("You must turn \the [src] off first.")
+/obj/machinery/mining_drill/Destroy()
+ remove_state_machine(src, /datum/state_machine/drill)
+ turfs_to_mine.Cut()
+ current_turf = null
+ QDEL_NULL_LIST(contained_ore)
+ for(var/thing in supports)
+ var/obj/structure/drill_brace/B = thing
+ B.disconnect_from_drill()
return ..()
-/obj/machinery/mining/drill/components_are_accessible(path)
- return !active && ..()
-
-/obj/machinery/mining/drill/physical_attack_hand(mob/user)
- check_supports()
- if(need_player_check)
- if(can_use_power_oneoff(10 KILOWATTS) > 0)
- system_error("insufficient charge")
- else if(anchored)
- get_resource_field()
- to_chat(user, "You hit the manual override and reset the drill's error checking.")
- need_player_check = 0
- update_icon()
- return TRUE
- if(supported && !panel_open)
- if(!(stat & NOPOWER))
- set_active(!active)
- if(active)
- visible_message("\The [src] lurches downwards, grinding noisily.")
- need_update_field = 1
- else
- visible_message("\The [src] shudders to a grinding halt.")
+/obj/machinery/mining_drill/Process()
+ state_machine.evaluate()
+ var/decl/state/drill/current_state = state_machine.current_state
+ current_state.process(src)
+
+/obj/machinery/mining_drill/physical_attack_hand(mob/user)
+ if(!panel_open)
+ var/on = use_power ? TRUE : FALSE
+ on = !on
+ if(on)
+ update_use_power(POWER_USE_IDLE)
else
- to_chat(user, "The drill is unpowered.")
+ update_use_power(POWER_USE_OFF)
+ playsound(src, "button", 60)
+ to_chat(user, SPAN_NOTICE("You turn \the [src] [use_power ? "on" : "off"]."))
+ state_machine.evaluate()
+
+/obj/machinery/mining_drill/on_update_icon()
+ icon_state = "mining_drill_[use_power == POWER_USE_ACTIVE ? "on" : "off"]"
+ z_flags &= ~ZMM_MANGLE_PLANES
+ cut_overlays()
+ var/decl/state/drill/current_state = state_machine.current_state
+ if(current_state.light_icon_state)
+ add_overlay(emissive_overlay(icon, current_state.light_icon_state, src, SOUTH, current_state.light_color))
+ z_flags |= ZMM_MANGLE_PLANES
+ set_light(2, 0.4, current_state.light_color)
else
- to_chat(user, "Turning on a piece of industrial machinery without sufficient bracing or wires exposed is a bad idea.")
-
- update_icon()
- return TRUE
-
-/obj/machinery/mining/drill/on_update_icon()
- if(need_player_check)
- icon_state = "mining_drill_error"
- else if(active)
- var/status = clamp(round( (length(generated_ore) / capacity) * 4 ), 0, 3)
- icon_state = "mining_drill_active[status]"
- else if(supported)
- icon_state = "mining_drill_braced"
- else
- icon_state = "mining_drill"
- return
+ set_light(0)
+ return ..()
-/obj/machinery/mining/drill/RefreshParts()
- ..()
- harvest_speed = clamp(total_component_rating_of_type(/obj/item/stock_parts/micro_laser), 0, 10)
- capacity = 200 * clamp(total_component_rating_of_type(/obj/item/stock_parts/matter_bin), 0, 10)
- var/charge_multiplier = clamp(total_component_rating_of_type(/obj/item/stock_parts/capacitor), 0.1, 10)
- change_power_consumption(initial(active_power_usage) / charge_multiplier, POWER_USE_ACTIVE)
+/obj/machinery/mining_drill/proc/handle_supports()
+ state_machine.evaluate()
+ anchored = length(supports) >= 1 ? TRUE : FALSE
+ if(can_fall())
+ fall()
-/obj/machinery/mining/drill/proc/check_supports()
- anchored = initial(anchored)
- if(length(supports) <= 0)
- set_active(FALSE)
- else
- anchored = TRUE
+/obj/machinery/mining_drill/proc/reset_drill()
+ turfs_to_mine.Cut()
+ current_turf = null
- var/last_supported = supported
- supported = (length(supports) >= braces_needed)
- if(supported != last_supported && !supported && can_fall())
- fall()
+/obj/machinery/mining_drill/cannot_transition_to(state_path)
+ if(use_power != POWER_USE_OFF)
+ return SPAN_NOTICE("You must turn \the [src] off first.")
+ return ..()
- update_icon()
+/obj/machinery/mining_drill/components_are_accessible(path)
+ return (use_power == POWER_USE_OFF) && ..()
-/obj/machinery/mining/drill/can_fall()
- . = (length(supports) <= 0)
-/obj/machinery/mining/drill/proc/system_error(var/error)
+/obj/machinery/mining_drill/RefreshParts()
+ . = ..()
+ drill_radius = 1 + total_component_rating_of_type(/obj/item/stock_parts/scanning_module)
+ ore_capacity = 200 * total_component_rating_of_type(/obj/item/stock_parts/matter_bin)
+ mining_speed = total_component_rating_of_type(/obj/item/stock_parts/micro_laser)
+ efficiency_rating = total_component_rating_of_type(/obj/item/stock_parts/capacitor)
- if(error)
- src.visible_message("\The [src] flashes a '[error]' warning.")
- need_player_check = 1
- set_active(FALSE)
- update_icon()
+ var/efficiency = EFFICIENCY_EXPONENT ** (efficiency_rating - 1)
+ change_power_consumption(initial(active_power_usage) * efficiency * mining_speed, POWER_USE_ACTIVE)
-/obj/machinery/mining/drill/proc/get_resource_field()
+/obj/machinery/mining_drill/proc/populate_turfs_to_mine()
+ turfs_to_mine.Cut()
+ var/list/turf_candidates = RANGE_TURFS(src, drill_radius)
+ for(var/thing in turf_candidates)
+ var/turf/T = thing
+ if(turf_has_ore(T))
+ turfs_to_mine += T
- resource_field = list()
- need_update_field = 0
+/obj/machinery/mining_drill/proc/scan_visuals()
+ for(var/thing in RANGE_TURFS(src, drill_radius))
+ var/turf/T = thing
+ var/delay = (get_dist(get_turf(src), T) + 1) * 3
+ addtimer(CALLBACK(src, PROC_REF(scan_visual_tile), T), delay)
- var/turf/T = get_turf(src)
- if(!istype(T)) return
- var/tx = T.x - 2
- var/ty = T.y - 2
- var/turf/mine_turf
- for(var/iy = 0,iy < 5, iy++)
- for(var/ix = 0, ix < 5, ix++)
- mine_turf = locate(tx + ix, ty + iy, T.z)
- if(mine_turf && has_extension(mine_turf, /datum/extension/buried_resources))
- resource_field += mine_turf
+/obj/machinery/mining_drill/proc/scan_visual_tile(turf/T)
+ var/obj/effect/temporary/temp = new(T, 1 SECOND, 'icons/effects/effects.dmi', "sonar_ping")
+ temp.color = "#00ffff77"
- if(!resource_field.len)
- system_error("resources depleted")
+/obj/machinery/mining_drill/proc/turf_has_ore(turf/T)
+ if(!istype(T) || !has_extension(T, /datum/extension/buried_resources))
+ return FALSE
+ var/datum/extension/buried_resources/resources = get_extension(T, /datum/extension/buried_resources)
+ return length(resources?.resources)
-/obj/machinery/mining/drill/verb/unload()
+/obj/machinery/mining_drill/proc/mine_ore(turf/T)
+ if(!T)
+ return
+ // Was tempted to add a drilling sound but it was awful.
+ var/datum/extension/buried_resources/resources = get_extension(T, /datum/extension/buried_resources)
+ for(var/i in 1 to mining_speed)
+ if(!length(resources.resources))
+ break
+ var/material_typepath = pick(resources.resources)
+ contained_ore += new /obj/item/stack/material/ore(src, 1, material_typepath)
+ resources.resources[material_typepath] -= 1
+ if(resources.resources[material_typepath] <= 0)
+ // Remove the typepath if it ran out.
+ resources.resources -= material_typepath
+
+/obj/machinery/mining_drill/proc/deplete_turf(turf/T)
+ if(!turf_has_ore(T))
+ if(istype(T))
+ turfs_to_mine -= T
+ if(has_extension(T, /datum/extension/buried_resources))
+ remove_extension(T, /datum/extension/buried_resources)
+
+/obj/machinery/mining_drill/proc/choose_turf_to_mine()
+ current_turf = turfs_to_mine[1]
+
+/obj/machinery/mining_drill/verb/unload_verb()
set name = "Unload Drill"
set category = "Object"
set src in oview(1)
- if(usr.stat) return
-
var/obj/structure/ore_box/B = locate() in orange(1)
if(B)
- B.insert_ores(generated_ore, usr)
- generated_ore.Cut()
- to_chat(usr, "You unload the drill's storage cache into the ore box.")
- else
- to_chat(usr, "You must move an ore box up to the drill before you can unload it.")
-
-
-/obj/machinery/mining/brace
- name = "mining drill brace"
- desc = "A machinery brace for an industrial drill. It looks easily two feet thick."
- icon_state = "mining_brace"
- obj_flags = OBJ_FLAG_ROTATABLE
- interact_offline = 1
+ unload_into_box(B, usr)
- var/obj/machinery/mining/drill/connected
-
-/obj/machinery/mining/brace/cannot_transition_to(state_path)
- if(connected && connected.active)
- return SPAN_NOTICE("You can't work with the brace of a running drill!")
- return ..()
-
-/obj/machinery/mining/brace/attackby(obj/item/W, mob/user)
- if(connected && connected.active)
- to_chat(user, "You can't work with the brace of a running drill!")
- return TRUE
- if(component_attackby(W, user))
- return TRUE
- if(IS_WRENCH(W))
-
- if(isspaceturf(get_turf(src)))
- to_chat(user, "You can't anchor something to empty space. Idiot.")
- return
-
- playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
- to_chat(user, "You [anchored ? "un" : ""]anchor the brace.")
-
- anchored = !anchored
- if(anchored)
- connect()
- else
- disconnect()
-
-/obj/machinery/mining/brace/proc/connect()
-
- var/turf/T = get_step(get_turf(src), src.dir)
-
- for(var/thing in T.contents)
- if(istype(thing, /obj/machinery/mining/drill))
- connected = thing
- break
-
- if(!connected)
+/obj/machinery/mining_drill/proc/unload_into_box(obj/structure/ore_box/box, mob/user)
+ if(!CanPhysicallyInteract(user))
return
- if(!connected.supports)
- connected.supports = list()
-
- icon_state = "mining_brace_active"
-
- connected.supports += src
- connected.check_supports()
-
-/obj/machinery/mining/brace/proc/disconnect()
-
- if(!connected) return
-
- if(!connected.supports) connected.supports = list()
-
- icon_state = "mining_brace"
-
- connected.supports -= src
- connected.check_supports()
- connected = null
-
-/obj/machinery/mining/brace/dismantle()
- if(connected)
- disconnect()
- ..()
\ No newline at end of file
+ if(box?.Adjacent(src))
+ if(!length(contained_ore))
+ to_chat(user, SPAN_NOTICE("\The [src]'s storage cache is empty."))
+ return
+ box.insert_ores(contained_ore, user)
+ contained_ore.Cut()
+ playsound(src, 'sound/machines/vending_machine.ogg', 60, 1)
+ playsound(box, 'sound/effects/rockcrumble.ogg', 60, 1)
+ visible_message(
+ SPAN_NOTICE("\The [user] unloads \the [src]'s storage cache into \the [box]."),
+ SPAN_NOTICE("You unload \the [src]'s storage cache into \the [box]."),
+ SPAN_NOTICE("You hear rocks falling into a container.")
+ )
+ else
+ to_chat(user, SPAN_NOTICE("You must move an ore box up to \the [src] before you can unload it."))
diff --git a/code/modules/mining/drilling/drill_fsm.dm b/code/modules/mining/drilling/drill_fsm.dm
new file mode 100644
index 00000000000..de129e235ed
--- /dev/null
+++ b/code/modules/mining/drilling/drill_fsm.dm
@@ -0,0 +1,212 @@
+/datum/state_machine/drill
+ current_state = /decl/state/drill/unpowered
+ expected_type = /obj/machinery/mining_drill
+ base_type = /datum/state_machine/drill
+
+
+/decl/state/drill
+ var/light_color = null
+ var/light_icon_state = "blink_slow"
+ var/entered_sound = null
+ var/exited_sound = null
+ var/power_usage = POWER_USE_IDLE
+
+/decl/state/drill/entered_state(obj/machinery/mining_drill/drill)
+ drill.queue_icon_update()
+ if(entered_sound)
+ playsound(drill, entered_sound, 40, FALSE)
+ drill.update_use_power(power_usage)
+
+/decl/state/drill/exited_state(obj/machinery/mining_drill/drill)
+ if(exited_sound)
+ playsound(drill, exited_sound, 40, FALSE)
+
+/decl/state/drill/proc/process(obj/machinery/mining_drill/drill)
+
+
+/decl/state_transition/drill/is_open(obj/machinery/mining_drill/drill)
+ return drill.operable()
+
+
+/// Unpowered state. Occurs when the battery dies or when turned off.
+/decl/state/drill/unpowered
+ light_color = "#00000000"
+ power_usage = POWER_USE_OFF
+ light_icon_state = null
+ entered_sound = 'sound/mecha/mech-shutdown.ogg'
+ exited_sound = 'sound/mecha/powerup.ogg'
+ transitions = list(
+ /decl/state_transition/drill/recover_from_unpowered
+ )
+
+/decl/state_transition/drill/unpowered
+ target = /decl/state/drill/unpowered
+
+/decl/state_transition/drill/unpowered/is_open(obj/machinery/mining_drill/drill)
+ return drill.inoperable() || drill.use_power == POWER_USE_OFF
+
+
+/decl/state_transition/drill/recover_from_unpowered
+ target = /decl/state/drill/idle
+
+/decl/state_transition/drill/recover_from_unpowered/is_open(obj/machinery/mining_drill/drill)
+ return drill.operable() && drill.use_power != POWER_USE_OFF
+
+
+/// Starting state for drills that are turned on or recovered from an issue.
+/decl/state/drill/idle
+ light_color = "#ffffff"
+ transitions = list(
+ /decl/state_transition/drill/unpowered,
+ /decl/state_transition/drill/error,
+ /decl/state_transition/drill/storage_full,
+ /decl/state_transition/drill/scanning,
+ /decl/state_transition/drill/switching_target,
+ /decl/state_transition/drill/mining,
+ /decl/state_transition/drill/finished
+ )
+
+/decl/state/drill/idle/entered_state(obj/machinery/mining_drill/drill)
+ . = ..()
+ drill.reset_drill()
+
+
+/// State that occurs if there is a problem with the drill setup, such as lacking braces.
+/decl/state/drill/error
+ light_color = "#ff0000"
+ entered_sound = 'sound/machines/buzz-sigh.ogg'
+ transitions = list(
+ /decl/state_transition/drill/unpowered,
+ /decl/state_transition/drill/recover_from_error
+ )
+
+/decl/state_transition/drill/error
+ target = /decl/state/drill/error
+
+/decl/state_transition/drill/error/is_open(obj/machinery/mining_drill/drill)
+ return ..() && length(drill.supports) < drill.MINIMUM_SUPPORT_NUMBER
+
+
+/decl/state_transition/drill/recover_from_error
+ target = /decl/state/drill/idle
+
+/decl/state_transition/drill/recover_from_error/is_open(obj/machinery/mining_drill/drill)
+ return ..() && length(drill.supports) >= drill.MINIMUM_SUPPORT_NUMBER
+
+
+/// State that follows the starting state, where it determines which turfs to mine, and gives a visual effect of it scanning the surrounding ground.
+/decl/state/drill/scanning
+ light_color = "#00ffff"
+ entered_sound = 'sound/effects/scanbeep.ogg'
+ transitions = list(
+ /decl/state_transition/drill/unpowered,
+ /decl/state_transition/drill/error,
+ /decl/state_transition/drill/switching_target,
+ /decl/state_transition/drill/finished
+ )
+
+/decl/state/drill/scanning/process(obj/machinery/mining_drill/drill)
+ drill.populate_turfs_to_mine()
+ drill.scan_visuals()
+
+
+/decl/state_transition/drill/scanning
+ target = /decl/state/drill/scanning
+
+/decl/state_transition/drill/scanning/is_open(obj/machinery/mining_drill/drill)
+ return ..() && !length(drill.turfs_to_mine)
+
+
+/// State where the drill is actively mining a specific turf.
+/decl/state/drill/mining
+ light_color = "#00ff00"
+ light_icon_state = "blink_fast"
+ power_usage = POWER_USE_ACTIVE
+ transitions = list(
+ /decl/state_transition/drill/unpowered,
+ /decl/state_transition/drill/error,
+ /decl/state_transition/drill/storage_full,
+ /decl/state_transition/drill/switching_target,
+ /decl/state_transition/drill/finished
+ )
+
+/decl/state/drill/mining/process(obj/machinery/mining_drill/drill)
+ drill.mine_ore(drill.current_turf)
+
+/decl/state_transition/drill/mining
+ target = /decl/state/drill/mining
+
+/decl/state_transition/drill/mining/is_open(obj/machinery/mining_drill/drill)
+ return ..() && length(drill.turfs_to_mine) && drill.current_turf
+
+
+/// State which occurs when the currently mined turf is depleted, and there is another turf to mine from,
+/// thus the drill visually targets the next spot and provides some feedback to the player on how fast the mining is going.
+/decl/state/drill/switching_target
+ light_color = "#008800"
+ light_icon_state = "blink_fast"
+ power_usage = POWER_USE_IDLE
+ entered_sound = 'sound/machines/airlock_open_force.ogg'
+ exited_sound = 'sound/machines/airlock_close_force.ogg'
+ transitions = list(
+ /decl/state_transition/drill/unpowered,
+ /decl/state_transition/drill/error,
+ /decl/state_transition/drill/mining,
+ /decl/state_transition/drill/finished
+ )
+
+/decl/state/drill/switching_target/process(obj/machinery/mining_drill/drill)
+ if(!drill.turf_has_ore(drill.current_turf))
+ if(istype(drill.current_turf))
+ drill.turfs_to_mine -= drill.current_turf
+ if(has_extension(drill.current_turf, /datum/extension/buried_resources))
+ remove_extension(drill.current_turf, /datum/extension/buried_resources)
+ if(length(drill.turfs_to_mine))
+ drill.current_turf = drill.turfs_to_mine[1]
+ else
+ drill.current_turf = null
+
+/decl/state_transition/drill/switching_target
+ target = /decl/state/drill/switching_target
+
+/decl/state_transition/drill/switching_target/is_open(obj/machinery/mining_drill/drill)
+ return ..() && length(drill.turfs_to_mine) && !drill.turf_has_ore(drill.current_turf)
+
+
+/// State which occurs when the ore storage is full, and the player needs to unload the ore for it to resume mining.
+/decl/state/drill/storage_full
+ light_color = "#ffff00"
+ entered_sound = 'sound/machines/buzz-two.ogg'
+ transitions = list(
+ /decl/state_transition/drill/unpowered,
+ /decl/state_transition/drill/error,
+ /decl/state_transition/drill/recover_from_storage_full
+ )
+
+/decl/state_transition/drill/storage_full
+ target = /decl/state/drill/storage_full
+
+/decl/state_transition/drill/storage_full/is_open(obj/machinery/mining_drill/drill)
+ return ..() && length(drill.contained_ore) >= drill.ore_capacity
+
+/decl/state_transition/drill/recover_from_storage_full
+ target = /decl/state/drill/idle
+
+/decl/state_transition/drill/recover_from_storage_full/is_open(obj/machinery/mining_drill/drill)
+ return ..() && length(drill.contained_ore) < drill.ore_capacity
+
+
+/// State which occurs when there is no more ore to mine from the surrounding tiles.
+/decl/state/drill/finished
+ light_color = "#0000ff"
+ entered_sound = 'sound/machines/ping.ogg'
+ transitions = list(
+ /decl/state_transition/drill/unpowered,
+ /decl/state_transition/drill/error
+ )
+
+/decl/state_transition/drill/finished
+ target = /decl/state/drill/finished
+
+/decl/state_transition/drill/finished/is_open(obj/machinery/mining_drill/drill)
+ return ..() && !drill.current_turf && !length(drill.turfs_to_mine)
\ No newline at end of file
diff --git a/code/modules/mining/machinery/material_extractor.dm b/code/modules/mining/machinery/material_extractor.dm
index bd6e33dc6a4..2481dfbd8b4 100644
--- a/code/modules/mining/machinery/material_extractor.dm
+++ b/code/modules/mining/machinery/material_extractor.dm
@@ -156,28 +156,28 @@
var/datum/extension/atmospherics_connection/connection = get_extension(src, /datum/extension/atmospherics_connection)
if(connection.disconnect())
to_chat(user, SPAN_NOTICE("You disconnect \the [src] from the port."))
- return
+ return TRUE
else
var/obj/machinery/atmospherics/portables_connector/possible_port = locate(/obj/machinery/atmospherics/portables_connector) in loc
if(possible_port)
if(connection.connect(possible_port))
to_chat(user, SPAN_NOTICE("You connect \the [src] to the port."))
- return
+ return TRUE
else
to_chat(user, SPAN_WARNING("\The [src] failed to connect to the port."))
- return
+ return TRUE
if(istype(I, /obj/item/chems/glass))
if(isnull(output_container))
if(!user.try_unequip(I, src))
- return
+ return TRUE
output_container = I
events_repository.register(/decl/observ/destroyed, output_container, src, TYPE_PROC_REF(/obj/machinery/material_processing/extractor, remove_container))
user.visible_message(SPAN_NOTICE("\The [user] places \a [I] in \the [src]."), SPAN_NOTICE("You place \a [I] in \the [src]."))
- return
+ return TRUE
to_chat(user, SPAN_WARNING("\The [src] already has an output container!"))
- return
+ return TRUE
. = ..()
/obj/machinery/material_processing/extractor/proc/remove_container()
diff --git a/code/modules/mining/ore_box.dm b/code/modules/mining/ore_box.dm
index 7c0adf71070..7dff5769a88 100644
--- a/code/modules/mining/ore_box.dm
+++ b/code/modules/mining/ore_box.dm
@@ -134,6 +134,13 @@
if(. && !QDELETED(src) && (severity == 1 || prob(50)))
physically_destroyed()
+/obj/structure/ore_box/receive_mouse_drop(atom/dropping, mob/user, params)
+ . = ..()
+ if(!. && istype(dropping, /obj/machinery/mining_drill))
+ var/obj/machinery/mining_drill/D = dropping
+ D.unload_into_box(src, user)
+
+
/obj/structure/ore_box/get_alt_interactions(mob/user)
. = ..()
LAZYADD(., /decl/interaction_handler/empty/ore_box)
diff --git a/code/modules/mob/grab/grab_datum.dm b/code/modules/mob/grab/grab_datum.dm
index 0423cd2b536..333030b75ef 100644
--- a/code/modules/mob/grab/grab_datum.dm
+++ b/code/modules/mob/grab/grab_datum.dm
@@ -218,9 +218,10 @@
/decl/grab/proc/enter_as_up(var/obj/item/grab/grab)
/decl/grab/proc/item_attack(var/obj/item/grab/grab, var/obj/item)
+ return FALSE
/decl/grab/proc/resolve_item_attack(var/obj/item/grab/grab, var/mob/living/human/user, var/obj/item/I, var/target_zone)
- return 0
+ return FALSE
/decl/grab/proc/handle_resist(var/obj/item/grab/grab)
var/mob/living/affecting = grab.get_affecting_mob()
diff --git a/code/modules/mob/grab/grab_object.dm b/code/modules/mob/grab/grab_object.dm
index 5003b39ae9b..2bfa1693d4c 100644
--- a/code/modules/mob/grab/grab_object.dm
+++ b/code/modules/mob/grab/grab_object.dm
@@ -279,7 +279,8 @@
/obj/item/grab/attackby(obj/W, mob/user)
if(user == assailant)
- current_grab.item_attack(src, W)
+ return current_grab.item_attack(src, W)
+ return FALSE
/obj/item/grab/proc/assailant_reverse_facing()
return current_grab.reverse_facing
diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm
index a3b3e4a2b07..5d8cd67706c 100644
--- a/code/modules/mob/inventory.dm
+++ b/code/modules/mob/inventory.dm
@@ -310,16 +310,18 @@
unequip(object)
if(client)
client.screen -= object
- object.reset_plane_and_layer()
object.screen_loc = null
if(!QDELETED(object))
if(target)
object.forceMove(target)
else
object.dropInto(loc)
+ object.reset_plane_and_layer() // this should be done post-move to avoid wasting an icon update
if(isitem(object))
var/obj/item/item = object
item.dropped(src, play_dropsound)
+ if(!QDELETED(object)) // dropped might qdelete us
+ object.compile_overlays() // avoid world overlays on inventory state and vice versa
return TRUE
/mob/proc/drop_held_items()
diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm
index 89b581adbf3..4a88a0fa035 100644
--- a/code/modules/mob/living/bot/bot.dm
+++ b/code/modules/mob/living/bot/bot.dm
@@ -94,7 +94,7 @@
to_chat(user, "Please close the access panel before locking it.")
else
to_chat(user, "Access denied.")
- return
+ return TRUE
else if(IS_SCREWDRIVER(O))
if(!locked)
open = !open
@@ -102,7 +102,7 @@
Interact(usr)
else
to_chat(user, "You need to unlock the controls first.")
- return
+ return TRUE
else if(IS_WELDER(O))
if(current_health < get_max_health())
if(open)
@@ -112,9 +112,9 @@
to_chat(user, "Unable to repair with the maintenance panel closed.")
else
to_chat(user, "\The [src] does not need a repair.")
- return
+ return TRUE
else
- ..()
+ return ..()
/mob/living/bot/attack_ai(var/mob/living/user)
Interact(user)
diff --git a/code/modules/mob/living/bot/medibot.dm b/code/modules/mob/living/bot/medibot.dm
index e0f4c842d86..cf174faa8ce 100644
--- a/code/modules/mob/living/bot/medibot.dm
+++ b/code/modules/mob/living/bot/medibot.dm
@@ -159,18 +159,18 @@
if(istype(O, /obj/item/chems/glass))
if(locked)
to_chat(user, "You cannot insert a beaker because the panel is locked.")
- return
+ return TRUE
if(!isnull(reagent_glass))
to_chat(user, "There is already a beaker loaded.")
- return
+ return TRUE
if(!user.try_unequip(O, src))
- return
+ return TRUE
reagent_glass = O
to_chat(user, "You insert [O].")
- return
+ return TRUE
else
- ..()
+ return ..()
/mob/living/bot/medbot/default_disarm_interaction(mob/user)
if(!is_tipped)
diff --git a/code/modules/mob/living/bot/mulebot.dm b/code/modules/mob/living/bot/mulebot.dm
index 255cc333ade..12d54b83759 100644
--- a/code/modules/mob/living/bot/mulebot.dm
+++ b/code/modules/mob/living/bot/mulebot.dm
@@ -116,7 +116,7 @@
safety = !safety
/mob/living/bot/mulebot/attackby(var/obj/item/O, var/mob/user)
- ..()
+ . = ..()
update_icon()
/mob/living/bot/mulebot/proc/obeyCommand(var/command)
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 821768957c1..ea245a54955 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -1521,12 +1521,12 @@ default behaviour is:
if(grab.get_affecting_mob() == src && !istype(grab.current_grab, /decl/grab/simple/control))
qdel(grab)
if(istype(ai))
- ai.retaliate(M)
+ ai.on_buckled(M)
/mob/living/try_make_grab(mob/living/user, defer_hand = FALSE)
. = ..()
if(istype(ai))
- ai.retaliate(user)
+ ai.on_grabbed(user)
/mob/living/can_buckle_mob(var/mob/living/dropping)
. = ..() && stat == CONSCIOUS && !buckled && dropping.mob_size <= mob_size
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 7fd42741310..feec39924e9 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -559,7 +559,6 @@ var/global/list/custom_ai_icons_by_ckey_and_name = list()
/mob/living/silicon/ai/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/aicard))
-
var/obj/item/aicard/card = W
card.grab_ai(src, user)
@@ -568,24 +567,23 @@ var/global/list/custom_ai_icons_by_ckey_and_name = list()
user.visible_message("\The [user] starts to unbolt \the [src] from the plating...")
if(!do_after(user,40, src))
user.visible_message("\The [user] decides not to unbolt \the [src].")
- return
+ return TRUE
user.visible_message("\The [user] finishes unfastening \the [src]!")
anchored = FALSE
- return
+ return TRUE
else
user.visible_message("\The [user] starts to bolt \the [src] to the plating...")
if(!do_after(user,40,src))
user.visible_message("\The [user] decides not to bolt \the [src].")
- return
+ return TRUE
user.visible_message("\The [user] finishes fastening down \the [src]!")
anchored = TRUE
- return
+ return TRUE
if(try_stock_parts_install(W, user))
- return
+ return TRUE
if(try_stock_parts_removal(W, user))
- return
- else
- return ..()
+ return TRUE
+ return ..()
/mob/living/silicon/ai/proc/control_integrated_radio()
set name = "Radio Settings"
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
index 9abf40bffb9..742c03a9c49 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -284,9 +284,9 @@ var/global/list/possible_say_verbs = list(
to_chat(src, SPAN_NOTICE("Your access has been updated!"))
return FALSE // don't continue processing click callstack.
if(try_stock_parts_install(W, user))
- return
+ return TRUE
if(try_stock_parts_removal(W, user))
- return
+ return TRUE
var/force = W.get_attack_force(user)
if(force)
visible_message(SPAN_DANGER("[user] attacks [src] with [W]!"))
@@ -296,7 +296,7 @@ var/global/list/possible_say_verbs = list(
spawn(1)
if(stat != DEAD) fold()
- return
+ return TRUE
/mob/living/silicon/pai/default_interaction(mob/user)
. = ..()
diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm
index 93eafd58082..dcb63ea586c 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone.dm
@@ -167,33 +167,26 @@
//Drones cannot be upgraded with borg modules so we need to catch some items before they get used in ..().
/mob/living/silicon/robot/drone/attackby(var/obj/item/W, var/mob/user)
-
if(istype(W, /obj/item/borg/upgrade))
to_chat(user, "\The [src] is not compatible with \the [W].")
return TRUE
-
else if(IS_CROWBAR(W) && user.a_intent != I_HURT)
to_chat(user, "\The [src] is hermetically sealed. You can't open the case.")
- return
-
+ return TRUE
else if (istype(W, /obj/item/card/id)||istype(W, /obj/item/modular_computer))
-
if(stat == DEAD)
-
if(!get_config_value(/decl/config/toggle/on/allow_drone_spawn) || emagged || should_be_dead()) //It's dead, Dave.
to_chat(user, "The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one.")
- return
-
+ return TRUE
if(!allowed(usr))
to_chat(user, "Access denied.")
- return
-
+ return TRUE
var/decl/pronouns/pronouns = user.get_pronouns()
user.visible_message( \
SPAN_NOTICE("\The [user] swipes [pronouns.his] ID card through \the [src], attempting to reboot it."), \
SPAN_NOTICE("You swipe your ID card through \the [src], attempting to reboot it."))
request_player()
- return
+ return TRUE
var/decl/pronouns/pronouns = user.get_pronouns()
user.visible_message( \
@@ -204,9 +197,8 @@
shut_down()
else
to_chat(user, SPAN_DANGER("Access denied."))
- return
-
- ..()
+ return TRUE
+ return ..()
/mob/living/silicon/robot/drone/emag_act(var/remaining_charges, var/mob/user)
if(!client || stat == DEAD)
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 4d2dd4da771..e588fc13400 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -443,7 +443,6 @@
return 2
/mob/living/silicon/robot/attackby(obj/item/W, mob/user)
-
if(istype(W, /obj/item/inducer) || istype(W, /obj/item/handcuffs))
return TRUE
@@ -452,7 +451,7 @@
var/datum/robot_component/C = components[V]
if(!C.installed && C.accepts_component(W))
if(!user.try_unequip(W))
- return
+ return TRUE
C.installed = 1
C.wrapped = W
C.install()
@@ -463,20 +462,19 @@
C.brute_damage = WC.brute_damage
C.electronics_damage = WC.burn_damage
- to_chat(usr, "You install the [W.name].")
- return
+ to_chat(user, "You install the [W.name].")
+ return TRUE
// If the robot is having something inserted which will remain inside it, self-inserting must be handled before exiting to avoid logic errors. Use the handle_selfinsert proc.
if(try_stock_parts_install(W, user))
- return
+ return TRUE
if(IS_WELDER(W) && user.a_intent != I_HURT)
if (src == user)
to_chat(user, "You lack the reach to be able to repair yourself.")
- return
-
+ return TRUE
if (!get_damage(BRUTE))
to_chat(user, "Nothing to fix here!")
- return
+ return TRUE
var/obj/item/weldingtool/WT = W
if (WT.weld(0))
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
@@ -485,22 +483,22 @@
user.visible_message(SPAN_NOTICE("\The [user] has fixed some of the dents on \the [src]!"))
else
to_chat(user, "Need more welding fuel!")
- return
+ return TRUE
else if(istype(W, /obj/item/stack/cable_coil) && (wiresexposed || isdrone(src)))
if (!get_damage(BURN))
to_chat(user, "Nothing to fix here!")
- return
+ return TRUE
var/obj/item/stack/cable_coil/coil = W
if (coil.use(1))
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
heal_damage(BURN, 30)
user.visible_message(SPAN_NOTICE("\The [user] has fixed some of the burnt wires on \the [src]!"))
+ return TRUE
else if(IS_CROWBAR(W) && user.a_intent != I_HURT) // crowbar means open or close the cover - we all know what a crowbar is by now
if(opened)
if(cell)
-
user.visible_message(
SPAN_NOTICE("\The [user] begins clasping shut \the [src]'s maintenance hatch."),
SPAN_NOTICE("You begin closing up \the [src]."))
@@ -514,7 +512,7 @@
//Cell is out, wires are exposed, remove CPU, produce damaged chassis, baleet original mob.
if(!central_processor)
to_chat(user, "\The [src] has no central processor to remove.")
- return
+ return TRUE
user.visible_message(
SPAN_NOTICE("\The [user] begins ripping \the [central_processor] out of \the [src]."),
@@ -522,7 +520,6 @@
if(do_after(user, 50, src))
dismantle(user)
-
else
// Okay we're not removing the cell or a CPU, but maybe something else?
var/list/removable_components = list()
@@ -534,7 +531,7 @@
removable_components |= stock_parts
var/remove = input(user, "Which component do you want to pry out?", "Remove Component") as null|anything in removable_components
if(!remove || !opened || !(remove in (stock_parts|components)) || !Adjacent(user))
- return
+ return TRUE
var/obj/item/removed_item
if(istype(components[remove], /datum/robot_component))
var/datum/robot_component/C = components[remove]
@@ -562,7 +559,7 @@
to_chat(user, "You open \the [src]'s maintenance hatch.")
opened = 1
update_icon()
-
+ return TRUE
else if (istype(W, /obj/item/cell) && opened) // trying to put a cell inside
var/datum/robot_component/C = components["power cell"]
if(wiresexposed)
@@ -581,62 +578,64 @@
// This means that removing and replacing a power cell will repair the mount.
C.brute_damage = 0
C.electronics_damage = 0
-
+ return TRUE
else if(IS_WIRECUTTER(W) || IS_MULTITOOL(W))
if (wiresexposed)
wires.Interact(user)
else
to_chat(user, "You can't reach the wiring.")
+ return TRUE
else if(IS_SCREWDRIVER(W) && opened && !cell) // haxing
wiresexposed = !wiresexposed
to_chat(user, "The wires have been [wiresexposed ? "exposed" : "unexposed"].")
update_icon()
-
+ return TRUE
else if(IS_SCREWDRIVER(W) && opened && cell) // radio
if(silicon_radio)
silicon_radio.attackby(W,user)//Push it to the radio to let it handle everything
else
to_chat(user, "Unable to locate a radio.")
update_icon()
-
+ return TRUE
else if(istype(W, /obj/item/encryptionkey/) && opened)
if(silicon_radio)//sanityyyyyy
silicon_radio.attackby(W,user)//GTFO, you have your own procs
else
to_chat(user, "Unable to locate a radio.")
+ return TRUE
else if (istype(W, /obj/item/card/id)||istype(W, /obj/item/modular_computer)||istype(W, /obj/item/card/robot)) // trying to unlock the interface with an ID card
if(emagged)//still allow them to open the cover
to_chat(user, "The interface seems slightly damaged.")
if(opened)
to_chat(user, "You must close the cover to swipe an ID card.")
else
- if(allowed(usr))
+ if(allowed(user))
locked = !locked
to_chat(user, "You [ locked ? "lock" : "unlock"] [src]'s interface.")
update_icon()
else
to_chat(user, "Access denied.")
+ return TRUE
else if(istype(W, /obj/item/borg/upgrade))
var/obj/item/borg/upgrade/U = W
if(!opened)
- to_chat(usr, "You must access the borgs internals!")
+ to_chat(user, "You must access [src]'s internals!")
else if(!src.module && U.require_module)
- to_chat(usr, "The borg must choose a module before he can be upgraded!")
+ to_chat(user, "[src] must choose a module before they can be upgraded!")
else if(U.locked)
- to_chat(usr, "The upgrade is locked and cannot be used yet!")
+ to_chat(user, "The upgrade is locked and cannot be used yet!")
else
if(U.action(src))
if(!user.try_unequip(U, src))
- return
- to_chat(usr, "You apply the upgrade to [src]!")
+ return TRUE
+ to_chat(user, "You apply the upgrade to [src]!")
handle_selfinsert(W, user)
else
- to_chat(usr, "Upgrade error!")
-
- else
- if(!(istype(W, /obj/item/robotanalyzer) || istype(W, /obj/item/scanner/health)) && W.get_attack_force(user) && user.a_intent != I_HELP)
- spark_at(src, 5, holder=src)
- return ..()
+ to_chat(user, "Upgrade error!")
+ return TRUE
+ if(!(istype(W, /obj/item/robotanalyzer) || istype(W, /obj/item/scanner/health)) && W.get_attack_force(user) && user.a_intent != I_HELP)
+ spark_at(src, 5, holder=src)
+ return ..()
/mob/living/silicon/robot/proc/handle_selfinsert(obj/item/W, mob/user)
if ((user == src) && istype(get_active_held_item(),/obj/item/gripper))
diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm
index afc7f628eb2..eef4666321c 100644
--- a/code/modules/mob/living/simple_animal/friendly/corgi.dm
+++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm
@@ -127,15 +127,14 @@
dance()
/mob/living/simple_animal/corgi/attackby(var/obj/item/O, var/mob/user) //Marker -Agouri
- if(istype(O, /obj/item/newspaper))
- if(!stat)
- visible_message(SPAN_NOTICE("\The [user] baps \the [src] on the nose with the rolled-up [O.name]!"))
- spawn(0)
- for(var/i in list(1,2,4,8,4,2,1,2))
- set_dir(i)
- sleep(1)
+ if(istype(O, /obj/item/newspaper) && !stat)
+ visible_message(SPAN_NOTICE("\The [user] baps \the [src] on the nose with the rolled-up [O.name]!"))
+ var/datum/mob_controller/corgi/corgi_ai = ai
+ if(istype(corgi_ai))
+ corgi_ai.dance()
+ return TRUE
else
- ..()
+ return ..()
/mob/living/simple_animal/corgi/puppy
name = "\improper corgi puppy"
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index c0fb4c3055b..b1df77c7be4 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -245,19 +245,19 @@ var/global/chicken_count = 0
global.chicken_count -= 1
/mob/living/simple_animal/fowl/chicken/attackby(var/obj/item/O, var/mob/user)
- if(istype(O, /obj/item/food)) //feedin' dem chickens
- var/obj/item/food/G = O
- if(findtext(G.get_grown_tag(), "wheat")) // includes chopped, crushed, dried etc.
- if(!stat && eggsleft < 4)
- user.visible_message(SPAN_NOTICE("[user] feeds \the [O] to \the [src]! It clucks happily."), SPAN_NOTICE("You feed \the [O] to \the [src]! It clucks happily."), SPAN_NOTICE("You hear clucking."))
- qdel(O)
- eggsleft += rand(1, 2)
- else
- to_chat(user, SPAN_NOTICE("\The [src] doesn't seem hungry!"))
+ if(istype(O, /obj/item/food))
+ return ..()
+ var/obj/item/food/G = O //feedin' dem chickens
+ if(findtext(G.get_grown_tag(), "wheat")) // includes chopped, crushed, dried etc.
+ if(!stat && eggsleft < 4)
+ user.visible_message(SPAN_NOTICE("[user] feeds \the [O] to \the [src]! It clucks happily."), SPAN_NOTICE("You feed \the [O] to \the [src]! It clucks happily."), SPAN_NOTICE("You hear clucking."))
+ qdel(O)
+ eggsleft += rand(1, 2)
else
- to_chat(user, "\The [src] doesn't seem interested in that.")
+ to_chat(user, SPAN_NOTICE("\The [src] doesn't seem hungry!"))
else
- ..()
+ to_chat(user, "\The [src] doesn't seem interested in that.")
+ return TRUE
/mob/living/simple_animal/fowl/chicken/handle_living_non_stasis_processes()
if((. = ..()) && prob(1) && eggsleft > 0)
diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm
index 8c03c14db01..c32b39b1a42 100644
--- a/code/modules/mob/living/simple_animal/hostile/bear.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bear.dm
@@ -108,7 +108,7 @@
var/datum/mob_controller/aggressive/bear/bearbrain = ai
bearbrain.stance_step = 12
ai.set_target(user)
- ..()
+ return ..()
/mob/living/simple_animal/hostile/bear/attack_hand(mob/user)
if(istype(ai))
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/parrot.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/parrot.dm
index a517ee82346..5f8e5040ffb 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/parrot.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/parrot.dm
@@ -332,15 +332,14 @@
//Mobs with objects
/mob/living/simple_animal/hostile/parrot/attackby(var/obj/item/O, var/mob/user)
- ..()
- if(!stat && !client && !istype(O, /obj/item/stack/medical))
- if(O.get_attack_force(user))
- if(parrot_state == PARROT_PERCH)
- parrot_sleep_dur = parrot_sleep_max //Reset it's sleep timer if it was perched
- parrot_interest = user
- parrot_state = PARROT_SWOOP | PARROT_FLEE
- drop_held_item(0)
- update_icon()
+ . = ..()
+ if(!stat && !client && !istype(O, /obj/item/stack/medical) && O.get_attack_force(user))
+ if(parrot_state == PARROT_PERCH)
+ parrot_sleep_dur = parrot_sleep_max //Reset it's sleep timer if it was perched
+ parrot_interest = user
+ parrot_state = PARROT_SWOOP | PARROT_FLEE
+ drop_held_item(0)
+ update_icon()
//Bullets
/mob/living/simple_animal/hostile/parrot/bullet_act(var/obj/item/projectile/Proj)
diff --git a/code/modules/mob/living/simple_animal/passive/horse.dm b/code/modules/mob/living/simple_animal/passive/horse.dm
index b2b7590e9bc..d9ea080a559 100644
--- a/code/modules/mob/living/simple_animal/passive/horse.dm
+++ b/code/modules/mob/living/simple_animal/passive/horse.dm
@@ -21,6 +21,7 @@
emote_speech = list("Neigh!","NEIGH!","Neigh?")
emote_hear = list("neighs","whinnies")
emote_see = list("canters", "scuffs the ground", "shakes its mane", "tosses its head")
+ spooked_by_grab = FALSE // todo: tamed vs untamed?
/datum/mob_controller/passive/horse/retaliate(atom/source)
SHOULD_CALL_PARENT(FALSE)
diff --git a/code/modules/mob_holder/_holder.dm b/code/modules/mob_holder/_holder.dm
index 7efdbfa7f9c..a462eff5ba0 100644
--- a/code/modules/mob_holder/_holder.dm
+++ b/code/modules/mob_holder/_holder.dm
@@ -143,4 +143,7 @@
/obj/item/holder/attackby(obj/item/W, mob/user)
for(var/mob/M in src.contents)
- M.attackby(W,user)
+ . = M.attackby(W,user)
+ if(.)
+ return
+ return FALSE
\ No newline at end of file
diff --git a/code/modules/modular_computers/computers/modular_computer/interaction.dm b/code/modules/modular_computers/computers/modular_computer/interaction.dm
index b219fec7dcf..6bb4a4f41b8 100644
--- a/code/modules/modular_computers/computers/modular_computer/interaction.dm
+++ b/code/modules/modular_computers/computers/modular_computer/interaction.dm
@@ -87,20 +87,21 @@
/obj/item/modular_computer/attackby(var/obj/item/W, var/mob/user)
var/datum/extension/assembly/assembly = get_extension(src, /datum/extension/assembly)
- if(assembly.attackby(W, user))
+ . = assembly.attackby(W, user)
+ if(.)
update_verbs()
- return
+ return TRUE
if(IS_PEN(W) && (W.w_class <= ITEM_SIZE_TINY) && stores_pen)
if(istype(stored_pen))
to_chat(user, "There is already a pen in [src].")
- return
+ return TRUE
if(!user.try_unequip(W, src))
- return
+ return TRUE
stored_pen = W
update_verbs()
to_chat(user, "You insert [W] into [src].")
- return
+ return TRUE
return ..()
/obj/item/modular_computer/examine(mob/user)
diff --git a/code/modules/modular_computers/hardware/ai_slot.dm b/code/modules/modular_computers/hardware/ai_slot.dm
index 8fb4f56a57a..c25e0abb1d5 100644
--- a/code/modules/modular_computers/hardware/ai_slot.dm
+++ b/code/modules/modular_computers/hardware/ai_slot.dm
@@ -22,19 +22,19 @@
..()
/obj/item/stock_parts/computer/ai_slot/attackby(var/obj/item/W, var/mob/user)
- if(..())
- return 1
if(istype(W, /obj/item/aicard))
if(stored_card)
to_chat(user, "\The [src] is already occupied.")
- return
+ return TRUE
if(!user.try_unequip(W, src))
- return
+ return TRUE
do_insert_ai(user, W)
return TRUE
if(IS_SCREWDRIVER(W))
to_chat(user, "You manually remove \the [stored_card] from \the [src].")
do_eject_ai(user)
+ return TRUE
+ return ..()
/obj/item/stock_parts/computer/ai_slot/Destroy()
if(stored_card)
diff --git a/code/modules/modular_computers/hardware/charge_stick_slot.dm b/code/modules/modular_computers/hardware/charge_stick_slot.dm
index d2f7b010d7c..451696ff85d 100644
--- a/code/modules/modular_computers/hardware/charge_stick_slot.dm
+++ b/code/modules/modular_computers/hardware/charge_stick_slot.dm
@@ -82,9 +82,9 @@
loc.verbs |= /obj/item/stock_parts/computer/charge_stick_slot/proc/verb_eject_stick
return TRUE
-/obj/item/stock_parts/computer/charge_stick_slot/attackby(obj/item/card/id/I, mob/user)
+/obj/item/stock_parts/computer/charge_stick_slot/attackby(obj/item/charge_stick/I, mob/user)
if(!istype(I))
- return
+ return ..()
insert_stick(I, user)
return TRUE
diff --git a/code/modules/modular_computers/hardware/disk_slot.dm b/code/modules/modular_computers/hardware/disk_slot.dm
index 3bf653e67b4..cae1cb5fccf 100644
--- a/code/modules/modular_computers/hardware/disk_slot.dm
+++ b/code/modules/modular_computers/hardware/disk_slot.dm
@@ -99,7 +99,7 @@
/obj/item/stock_parts/computer/data_disk_drive/attackby(obj/item/disk/new_disk, mob/user)
if(!istype(new_disk))
- return
+ return ..()
insert_disk(new_disk, user)
return TRUE
diff --git a/code/modules/modular_computers/hardware/drive_slot.dm b/code/modules/modular_computers/hardware/drive_slot.dm
index dacade6012b..8da6019f774 100644
--- a/code/modules/modular_computers/hardware/drive_slot.dm
+++ b/code/modules/modular_computers/hardware/drive_slot.dm
@@ -96,7 +96,7 @@
/obj/item/stock_parts/computer/drive_slot/attackby(obj/item/stock_parts/computer/hard_drive/portable/I, mob/user)
if(!istype(I))
- return
+ return ..()
insert_drive(I, user)
return TRUE
diff --git a/code/modules/modular_computers/hardware/lan_port.dm b/code/modules/modular_computers/hardware/lan_port.dm
index 09e516f290b..cde307de70d 100644
--- a/code/modules/modular_computers/hardware/lan_port.dm
+++ b/code/modules/modular_computers/hardware/lan_port.dm
@@ -95,3 +95,4 @@
to_chat(user, SPAN_NOTICE("You cut the cables and dismantle the network terminal."))
qdel(terminal)
return TRUE
+ return FALSE
\ No newline at end of file
diff --git a/code/modules/modular_computers/hardware/nano_printer.dm b/code/modules/modular_computers/hardware/nano_printer.dm
index 68b4968a247..6495b77d0ed 100644
--- a/code/modules/modular_computers/hardware/nano_printer.dm
+++ b/code/modules/modular_computers/hardware/nano_printer.dm
@@ -37,11 +37,12 @@
return 0
return 1
+// TODO: unify with /obj/item/stock_parts/printer somehow?
/obj/item/stock_parts/computer/nano_printer/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/paper))
if(stored_paper >= max_paper)
to_chat(user, "You try to add \the [W] into \the [src], but its paper bin is full.")
- return
+ return TRUE
to_chat(user, "You insert \the [W] into [src].")
qdel(W)
@@ -51,13 +52,16 @@
var/num_of_pages_added = 0
if(stored_paper >= max_paper)
to_chat(user, "You try to add \the [W] into \the [src], but its paper bin is full.")
- return
- for(var/obj/item/bundleitem in B) //loop through items in bundle
- if(istype(bundleitem, /obj/item/paper)) //if item is paper (and not photo), add into the bin
- B.pages.Remove(bundleitem)
- qdel(bundleitem)
- num_of_pages_added++
- stored_paper++
+ return TRUE
+ if(!B.is_blank())
+ if(user)
+ to_chat(user, SPAN_WARNING("\The [B] contains some non-blank pages, or something else than paper sheets!"))
+ return TRUE
+ for(var/obj/item/paper/bundleitem in B) //loop through papers in bundle
+ B.pages.Remove(bundleitem)
+ qdel(bundleitem)
+ num_of_pages_added++
+ stored_paper++
if(stored_paper >= max_paper) //check if the printer is full yet
to_chat(user, "The printer has been filled to full capacity.")
break
@@ -71,4 +75,5 @@
else //if at least two items remain, just update the bundle icon
B.update_icon()
to_chat(user, "You add [num_of_pages_added] papers from \the [W] into \the [src].")
- return
+ return TRUE
+ return ..()
diff --git a/code/modules/modular_computers/hardware/scanners/scanner.dm b/code/modules/modular_computers/hardware/scanners/scanner.dm
index b84dc782e6d..ea42566d7a0 100644
--- a/code/modules/modular_computers/hardware/scanners/scanner.dm
+++ b/code/modules/modular_computers/hardware/scanners/scanner.dm
@@ -54,8 +54,10 @@
/obj/item/stock_parts/computer/scanner/proc/do_on_afterattack(mob/user, atom/target, proximity)
+// TODO: Revisit to see if we can make do_on_attackby return a bool so that normal afterattack can run.
/obj/item/stock_parts/computer/scanner/attackby(obj/W, mob/user)
do_on_attackby(user, W)
+ return TRUE
/obj/item/stock_parts/computer/scanner/proc/do_on_attackby(mob/user, atom/target)
diff --git a/code/modules/multiz/map_data.dm b/code/modules/multiz/map_data.dm
index 38a074ba092..ea7f0954511 100644
--- a/code/modules/multiz/map_data.dm
+++ b/code/modules/multiz/map_data.dm
@@ -7,11 +7,11 @@
var/turf/edge_type ///< What the map edge should be formed with. (null = world.turf)
// If the height is more than 1, we mark all contained levels as connected.
-// This is in New because it is an auxiliary effect specifically needed pre-init.
+// This initializes immediately because it is an auxiliary effect specifically needed pre-SSatoms init.
INITIALIZE_IMMEDIATE(/obj/abstract/map_data)
/obj/abstract/map_data/Initialize(mapload, _height)
if(!istype(loc)) // Using loc.z is safer when using the maploader and New.
- return
+ return INITIALIZE_HINT_QDEL
if(_height)
height = _height
for(var/i = (loc.z - height + 1) to (loc.z-1))
diff --git a/code/modules/multiz/zmimic/mimic_movable.dm b/code/modules/multiz/zmimic/mimic_movable.dm
index 23d2964cf06..32f5f80e691 100644
--- a/code/modules/multiz/zmimic/mimic_movable.dm
+++ b/code/modules/multiz/zmimic/mimic_movable.dm
@@ -148,6 +148,7 @@
/atom/movable/openspace/mimic/attackby(obj/item/W, mob/user)
to_chat(user, SPAN_NOTICE("\The [src] is too far away."))
+ return TRUE
/atom/movable/openspace/mimic/attack_hand(mob/user)
SHOULD_CALL_PARENT(FALSE)
@@ -195,7 +196,7 @@
z_flags = ZMM_IGNORE // Only one of these should ever be visible at a time, the mimic logic will handle that.
/atom/movable/openspace/turf_proxy/attackby(obj/item/W, mob/user)
- loc.attackby(W, user)
+ return loc.attackby(W, user)
/atom/movable/openspace/turf_proxy/attack_hand(mob/user as mob)
SHOULD_CALL_PARENT(FALSE)
@@ -223,7 +224,7 @@
delegate = loc:below
/atom/movable/openspace/turf_mimic/attackby(obj/item/W, mob/user)
- loc.attackby(W, user)
+ return loc.attackby(W, user)
/atom/movable/openspace/turf_mimic/attack_hand(mob/user as mob)
SHOULD_CALL_PARENT(FALSE)
diff --git a/code/modules/organs/external/_external.dm b/code/modules/organs/external/_external.dm
index af5df473fba..57bf6892044 100644
--- a/code/modules/organs/external/_external.dm
+++ b/code/modules/organs/external/_external.dm
@@ -260,7 +260,7 @@
if(length(connecting_limb.children))
to_chat(usr, SPAN_WARNING("You cannot connect additional limbs to \the [connecting_limb]."))
- return
+ return TRUE
var/mob/holder = loc
if(istype(holder))
@@ -270,7 +270,7 @@
forceMove(connecting_limb)
if(loc != connecting_limb)
- return
+ return TRUE
if(istype(connecting_limb.owner))
connecting_limb.owner.add_organ(src, connecting_limb)
@@ -283,10 +283,10 @@
if(LAZYLEN(children))
to_chat(usr, SPAN_WARNING("You cannot connect additional limbs to \the [src]."))
- return
+ return TRUE
if(!user.try_unequip(connecting_limb, src))
- return
+ return TRUE
if(istype(connecting_limb.owner))
connecting_limb.owner.add_organ(connecting_limb, src)
@@ -297,7 +297,7 @@
else
to_chat(user, SPAN_WARNING("\The [connecting_limb] cannot be connected to \the [src]."))
- return
+ return TRUE
if(combined)
to_chat(user, SPAN_NOTICE("You connect \the [connecting_limb] to \the [src]."))
@@ -305,15 +305,15 @@
update_icon()
connecting_limb.compile_icon()
connecting_limb.update_icon()
- return
+ return TRUE
//Remove sub-limbs
if(used_item.get_tool_quality(TOOL_SAW) && LAZYLEN(children) && try_saw_off_child(used_item, user))
- return
+ return TRUE
//Remove internal items/organs/implants
if(try_remove_internal_item(used_item, user))
- return
- ..()
+ return TRUE
+ return ..()
//Handles removing internal organs/implants/items still in the detached limb.
/obj/item/organ/external/proc/try_remove_internal_item(var/obj/item/used_item, var/mob/user)
diff --git a/code/modules/organs/internal/cell.dm b/code/modules/organs/internal/cell.dm
index f08b5aad7ed..fbae8b33d6b 100644
--- a/code/modules/organs/internal/cell.dm
+++ b/code/modules/organs/internal/cell.dm
@@ -60,29 +60,32 @@
if(cell)
cell.emp_act(severity)
+// TODO: Make this use the cell extension instead?
+// Or have it grant a subtype of cell extension to the mob, maybe?
/obj/item/organ/internal/cell/attackby(obj/item/W, mob/user)
if(IS_SCREWDRIVER(W))
if(open)
- open = 0
+ open = FALSE
to_chat(user, SPAN_NOTICE("You screw the battery panel in place."))
else
- open = 1
+ open = TRUE
to_chat(user, SPAN_NOTICE("You unscrew the battery panel."))
-
- if(IS_CROWBAR(W))
- if(open)
+ return TRUE
+ else if(open)
+ if(IS_CROWBAR(W))
if(cell)
user.put_in_hands(cell)
to_chat(user, SPAN_NOTICE("You remove \the [cell] from \the [src]."))
cell = null
-
- if (istype(W, /obj/item/cell))
- if(open)
+ return TRUE
+ else if (istype(W, /obj/item/cell))
if(cell)
to_chat(user, SPAN_WARNING("There is a power cell already installed."))
else if(user.try_unequip(W, src))
cell = W
to_chat(user, SPAN_NOTICE("You insert \the [cell]."))
+ return TRUE
+ return ..()
/obj/item/organ/internal/cell/on_add_effects()
. = ..()
diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm
index 4d4f558a676..dc2f2b105a1 100644
--- a/code/modules/organs/organ.dm
+++ b/code/modules/organs/organ.dm
@@ -379,21 +379,21 @@
owner.update_health()
/obj/item/organ/use_on_mob(mob/living/target, mob/living/user, animate = TRUE)
-
if(BP_IS_PROSTHETIC(src) || !istype(target) || !istype(user) || (user != target && user.a_intent == I_HELP))
return ..()
if(alert("Do you really want to use this organ as food? It will be useless for anything else afterwards.",,"Ew, no.","Bon appetit!") == "Ew, no.")
to_chat(user, SPAN_NOTICE("You successfully repress your cannibalistic tendencies."))
- return
+ return TRUE
if(QDELETED(src))
- return
+ return TRUE
if(!user.try_unequip(src))
- return
+ return TRUE
target.attackby(convert_to_food(user), user)
+ return TRUE
/obj/item/organ/proc/convert_to_food(mob/user)
var/obj/item/food/organ/yum = new(get_turf(src))
diff --git a/code/modules/overmap/disperser/disperser.dm b/code/modules/overmap/disperser/disperser.dm
index 8283e28a897..77110bc3f4e 100644
--- a/code/modules/overmap/disperser/disperser.dm
+++ b/code/modules/overmap/disperser/disperser.dm
@@ -20,6 +20,7 @@
playsound(src, 'sound/items/jaws_pry.ogg', 50, 1)
else
to_chat(user,"The maintenance panel must be screwed open for this!")
+ return TRUE
else
return ..()
diff --git a/code/modules/overmap/ftl_shunt/core.dm b/code/modules/overmap/ftl_shunt/core.dm
index 0471f4fec3a..e5ba54d71f7 100644
--- a/code/modules/overmap/ftl_shunt/core.dm
+++ b/code/modules/overmap/ftl_shunt/core.dm
@@ -585,16 +585,15 @@
QDEL_NULL(fuel)
/obj/machinery/ftl_shunt/fuel_port/attackby(var/obj/item/O, var/mob/user)
- if(istype(O, /obj/item/fuel_assembly))
- if(!fuel)
- if(!do_after(user, 2 SECONDS, src) || fuel)
- return
- if(!user || !user.try_unequip(O, src))
- return
- fuel = O
- max_fuel = get_fuel_joules(TRUE)
- update_icon()
+ if(istype(O, /obj/item/fuel_assembly) && !fuel)
+ if(!do_after(user, 2 SECONDS, src) || fuel)
return TRUE
+ if(!user || !user.try_unequip(O, src))
+ return TRUE
+ fuel = O
+ max_fuel = get_fuel_joules(TRUE)
+ update_icon()
+ return TRUE
. = ..()
diff --git a/code/modules/overmap/ships/machines/fusion_thruster.dm b/code/modules/overmap/ships/machines/fusion_thruster.dm
index cb4aee84e4c..c8e10e58d04 100644
--- a/code/modules/overmap/ships/machines/fusion_thruster.dm
+++ b/code/modules/overmap/ships/machines/fusion_thruster.dm
@@ -29,7 +29,7 @@
var/datum/extension/local_network_member/lanm = get_extension(src, /datum/extension/local_network_member)
var/datum/local_network/lan = lanm.get_local_network()
- if(lan)
+ if(lan)
var/list/fusion_cores = lan.get_devices(/obj/machinery/fusion_core)
if(fusion_cores && fusion_cores.len)
harvest_from = fusion_cores[1]
@@ -40,5 +40,5 @@
var/datum/extension/local_network_member/lanm = get_extension(src, /datum/extension/local_network_member)
if(lanm.get_new_tag(user))
find_core()
- return
+ return TRUE
return ..()
\ No newline at end of file
diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm
index 9227787900a..19b2df3bfbe 100644
--- a/code/modules/paperwork/clipboard.dm
+++ b/code/modules/paperwork/clipboard.dm
@@ -70,7 +70,7 @@
var/obj/item/top_paper = top_paper()
if(istype(W, /obj/item/paper) || istype(W, /obj/item/photo))
if(!user.try_unequip(W, src))
- return
+ return TRUE
push_paper(W)
to_chat(user, SPAN_NOTICE("You clip the [W] onto \the [src]."))
return TRUE
diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm
index 2634c4b0e60..1a5bbeb9e74 100644
--- a/code/modules/paperwork/faxmachine.dm
+++ b/code/modules/paperwork/faxmachine.dm
@@ -138,7 +138,8 @@ var/global/list/adminfaxes = list() //cache for faxes that have been sent to
/obj/machinery/faxmachine/attackby(obj/item/I, mob/user)
if(istype(construct_state, /decl/machine_construction/default/panel_closed))
if(istype(I, /obj/item/paper) || istype(I, /obj/item/photo) || istype(I, /obj/item/paper_bundle))
- return insert_scanner_item(I, user)
+ insert_scanner_item(I, user)
+ return TRUE
. = ..()
/obj/machinery/faxmachine/ui_data(mob/user, ui_key)
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index c63df5d0d77..e6014e8f4f7 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -28,16 +28,16 @@
. = ..()
/obj/structure/filing_cabinet/attackby(obj/item/P, mob/user)
- if(is_type_in_list(P, can_hold))
- if(!user.try_unequip(P, src))
- return
- add_fingerprint(user)
- to_chat(user, SPAN_NOTICE("You put [P] in [src]."))
- flick("[initial(icon_state)]-open",src)
- updateUsrDialog()
+ if(!is_type_in_list(P, can_hold))
+ return ..()
+ if(!user.try_unequip(P, src))
return TRUE
+ add_fingerprint(user)
+ to_chat(user, SPAN_NOTICE("You put [P] in [src]."))
+ flick("[initial(icon_state)]-open",src)
+ updateUsrDialog()
+ return TRUE
- return ..()
/obj/structure/filing_cabinet/interact(mob/user)
user.set_machine(src)
var/dat = "
"
diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm
index 0935fd8c3e3..cdcbe7b3444 100644
--- a/code/modules/paperwork/folders.dm
+++ b/code/modules/paperwork/folders.dm
@@ -36,7 +36,7 @@
/obj/item/folder/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/paper) || istype(W, /obj/item/photo) || istype(W, /obj/item/paper_bundle))
if(!user.try_unequip(W, src))
- return
+ return TRUE
to_chat(user, SPAN_NOTICE("You put the [W] into \the [src]."))
updateUsrDialog()
update_icon()
@@ -47,10 +47,10 @@
var/n_name = sanitize_safe(input(usr, "What would you like to label the folder?", "Folder Labelling", null) as text, MAX_NAME_LEN)
if(!CanPhysicallyInteractWith(user, src))
to_chat(user, SPAN_WARNING("You must stay close to \the [src]."))
- return
+ return TRUE
SetName("folder[(n_name ? text("- '[n_name]'") : null)]")
return TRUE
- return
+ return ..()
/obj/item/folder/attack_self(mob/user)
return interact(user)
@@ -119,6 +119,6 @@
/obj/item/folder/envelope/attackby(obj/item/W, mob/user)
if(sealed)
sealcheck(user)
- return
+ return TRUE
else
- ..()
\ No newline at end of file
+ return ..()
\ No newline at end of file
diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm
index 736c5361202..24666d60883 100644
--- a/code/modules/paperwork/handlabeler.dm
+++ b/code/modules/paperwork/handlabeler.dm
@@ -154,7 +154,7 @@
var/obj/item/paper/P = W
if(!P.is_blank())
to_chat(user, SPAN_WARNING("\The [P] is not blank. You can't use that for refilling \the [src]."))
- return
+ return TRUE
var/incoming_amt = LAZYACCESS(P.matter, /decl/material/solid/organic/paper)
var/current_amt = LAZYACCESS(matter, /decl/material/solid/organic/paper)
@@ -162,12 +162,12 @@
if(incoming_amt < LABEL_MATERIAL_COST)
to_chat(user, SPAN_WARNING("\The [P] does not contains enough paper."))
- return
+ return TRUE
if(((incoming_amt + current_amt) / LABEL_MATERIAL_COST) > max_labels)
to_chat(user, SPAN_WARNING("There's not enough room in \the [src] for the [label_added] label(s) \the [P] is worth."))
- return
+ return TRUE
if(!user.do_skilled(2 SECONDS, SKILL_LITERACY, src) || (QDELETED(W) || QDELETED(src)))
- return
+ return TRUE
to_chat(user, SPAN_NOTICE("You slice \the [P] into [label_added] small strips and insert them into \the [src]'s paper feed."))
add_paper_labels(label_added)
@@ -206,7 +206,6 @@
else
//Abort because not enough materials for even a single label
to_chat(user, SPAN_WARNING("There's not enough [ST.plural_name] in \the [ST] to refil \the [src]!"))
- return
update_icon()
return TRUE
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index a69722435dc..1de729a2deb 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -171,12 +171,12 @@
target.set_organ_sprite_accessory_by_category(null, SAC_COSMETICS, null, FALSE, FALSE, target_zone, FALSE)
return TRUE
user.visible_message(
- SPAN_NOTICE("\The [user] begins to wipe \the [target]'s makeup off with \the [src]."),
+ SPAN_NOTICE("\The [user] begins to wipe \the [target]'s makeup off with \the [src]."),
SPAN_NOTICE("You begin to wipe off [target]'s makeup .")
)
if(do_after(user, 10, target) && do_after(target, 10, check_holding = 0)) //user needs to keep their active hand, H does not.
user.visible_message(
- SPAN_NOTICE("\The [user] wipes \the [target]'s makeup off with \the [src]."),
+ SPAN_NOTICE("\The [user] wipes \the [target]'s makeup off with \the [src]."),
SPAN_NOTICE("You wipe off \the [target]'s makeup .")
)
target.set_organ_sprite_accessory_by_category(null, SAC_COSMETICS, null, FALSE, FALSE, target_zone, FALSE)
@@ -330,8 +330,8 @@
return TOPIC_NOACTION
var/pen_flags = I.get_tool_property(TOOL_PEN, TOOL_PROP_PEN_FLAG)
+ var/decl/tool_archetype/pen/parch = GET_DECL(TOOL_PEN)
if(!(pen_flags & PEN_FLAG_ACTIVE))
- var/decl/tool_archetype/pen/parch = GET_DECL(TOOL_PEN)
parch.toggle_active(usr, I)
var/iscrayon = pen_flags & PEN_FLAG_CRAYON
var/isfancy = pen_flags & PEN_FLAG_FANCY
@@ -351,6 +351,13 @@
var/processed_text = user.handle_writing_literacy(user, t)
if(length(t))
playsound(src, pick('sound/effects/pen1.ogg','sound/effects/pen2.ogg'), 30)
+ var/actual_characters = length_char(strip_html_properly(t))
+ if(actual_characters > 0)
+ // 25 characters per charge, crayons get 30 charges
+ // we're really permissive here, we don't cut you short
+ // but we also use a charge even if you write <25 characters
+ if(parch.decrement_uses(user, I, max(round(actual_characters / 25, 1), 1)) <= 0)
+ parch.warn_out_of_ink(user, I)
if(id!="end")
addtofield(text2num(id), processed_text) // He wants to edit a field, let him.
@@ -377,7 +384,7 @@
else if(istype(P, /obj/item/paper) || istype(P, /obj/item/photo))
var/obj/item/paper_bundle/B = try_bundle_with(P, user)
if(!B)
- return
+ return TRUE
user.put_in_hands(B)
to_chat(user, SPAN_NOTICE("You clip \the [P] and \the [name] together."))
return TRUE
@@ -385,7 +392,7 @@
else if(IS_PEN(P))
if(is_crumpled)
to_chat(user, SPAN_WARNING("\The [src] is too crumpled to write on."))
- return
+ return TRUE
var/obj/item/pen/robopen/RP = P
if ( istype(RP) && RP.mode == 2 )
diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm
index 70c5874d206..bf75bc60846 100644
--- a/code/modules/paperwork/paper_bundle.dm
+++ b/code/modules/paperwork/paper_bundle.dm
@@ -34,7 +34,7 @@
if(istype(W, /obj/item/paper) || istype(W, /obj/item/photo))
var/obj/item/paper/paper = W
if(istype(paper) && !paper.can_bundle())
- return //non-paper or bundlable paper only
+ return TRUE //non-paper or bundlable paper only
merge(W, user, cur_page)
return TRUE
@@ -54,7 +54,8 @@
. = P.attackby(W, user)
update_icon()
updateUsrDialog()
- return
+ return
+ // How did we not have a page? Dunno, fall through to parent call anyway, I guess
else if(IS_PEN(W) || istype(W, /obj/item/stamp))
close_browser(user, "window=[name]")
@@ -63,7 +64,8 @@
. = P.attackby(W, user)
update_icon()
updateUsrDialog()
- return
+ return
+ // How did we not have a page? Dunno, fall through to parent call anyway, I guess
return ..()
diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm
index e526d22b499..e84ba856232 100644
--- a/code/modules/paperwork/paperbin.dm
+++ b/code/modules/paperwork/paperbin.dm
@@ -59,7 +59,7 @@
if("Carbon-Copy")
P = new /obj/item/paper/carbon
else
- return
+ return TRUE
if(!istype(P, /obj/item/paper/carbon) && global.current_holiday?.name == "April Fool's Day" && prob(30))
P.rigged = TRUE
@@ -76,17 +76,16 @@
if(istype(I, /obj/item/paper))
if(amount >= max_amount)
to_chat(user, SPAN_WARNING("\The [src] is full!"))
- return
+ return TRUE
if(!user.try_unequip(I, src))
- return
+ return TRUE
add_paper(I)
to_chat(user, SPAN_NOTICE("You put [I] in [src]."))
return TRUE
-
else if(istype(I, /obj/item/paper_bundle))
if(amount >= max_amount)
to_chat(user, SPAN_WARNING("\The [src] is full!"))
- return
+ return TRUE
var/obj/item/paper_bundle/B = I
var/was_there_a_photo = FALSE
for(var/obj/item/bundleitem in I) //loop through items in bundle
@@ -102,7 +101,6 @@
if(was_there_a_photo)
to_chat(user, SPAN_NOTICE("The photo cannot go into \the [src]."))
return TRUE
-
return ..()
/obj/item/paper_bin/examine(mob/user, distance)
diff --git a/code/modules/paperwork/pen/fancy.dm b/code/modules/paperwork/pen/fancy.dm
index dedc918bbbb..9c7e149a7be 100644
--- a/code/modules/paperwork/pen/fancy.dm
+++ b/code/modules/paperwork/pen/fancy.dm
@@ -11,20 +11,3 @@
/obj/item/pen/fancy/make_pen_description()
desc = "A high quality [istype(material)?"[material.name] ":null]traditional [stroke_color_name] [medium_name] fountain pen with an internal reservoir and an extra fine gold-platinum nib. Guaranteed never to leak."
-
-/obj/item/pen/fancy/quill
- name = "quill pen"
- icon = 'icons/obj/items/pens/pen_quill.dmi'
- sharp = 0
- material = /decl/material/solid/organic/skin/feathers
- pen_quality = TOOL_QUALITY_DEFAULT
-
-/obj/item/pen/fancy/quill/make_pen_description()
- desc = "A large feather, sharpened and cut to hold ink for scribing."
-
-/obj/item/pen/fancy/quill/goose
- name = "dire goose quill"
- pen_quality = TOOL_QUALITY_BEST
-
-/obj/item/pen/fancy/quill/goose/make_pen_description()
- desc = "A quill fashioned from a feather of the dire goose makes an excellent writing instrument, as well as a valuable trophy."
diff --git a/code/modules/paperwork/pen/quill_and_ink.dm b/code/modules/paperwork/pen/quill_and_ink.dm
new file mode 100644
index 00000000000..c9cdf1af927
--- /dev/null
+++ b/code/modules/paperwork/pen/quill_and_ink.dm
@@ -0,0 +1,131 @@
+/obj/item/pen/fancy/quill
+ name = "quill pen"
+ icon = 'icons/obj/items/pens/pen_quill.dmi'
+ sharp = 0
+ material = /decl/material/solid/organic/skin/feathers
+ pen_quality = TOOL_QUALITY_DEFAULT
+ max_uses = 5 // gotta re-ink it often!
+ stroke_color = /decl/material/liquid/pigment/black/ink::color
+ stroke_color_name = "inky black"
+
+/obj/item/pen/fancy/quill/Initialize(ml, material_key)
+ . = ..()
+ set_tool_property(TOOL_PEN, TOOL_PROP_EMPTY_MESSAGE, "out of ink")
+
+/obj/item/pen/fancy/quill/fluid_act(datum/reagents/fluids)
+ . = ..()
+ if(!IS_PEN(src))
+ return // someone made us not a pen, somehow
+ var/ink_amount = fluids.has_reagent(/decl/material/liquid/pigment/black/ink)
+ if(ink_amount <= 0)
+ return
+ // be lenient about contamination; it just has to be at least half
+ if(!istype(fluids.get_primary_reagent_decl(), /decl/material/liquid/pigment/black/ink))
+ return
+ var/current_uses = get_tool_property(TOOL_PEN, TOOL_PROP_USES)
+ var/const/charges_per_ink = 4 // this many charges per unit of ink
+ var/ink_used = CHEMS_QUANTIZE(min((max_uses - current_uses) / charges_per_ink, ink_amount))
+ fluids.remove_reagent(/decl/material/liquid/pigment/black/ink, ink_used)
+ set_tool_property(TOOL_PEN, TOOL_PROP_USES, max(max_uses, current_uses + (ink_used * charges_per_ink)))
+ update_icon()
+
+// ink overlay that fades as we run out of ink
+/obj/item/pen/fancy/quill/on_update_icon()
+ . = ..()
+ var/ink_alpha = 255 * get_tool_property(TOOL_PEN, TOOL_PROP_USES) / max_uses
+ if(ink_alpha > 25) // some arbitrary minimum alpha cutoff
+ var/image/ink_overlay = overlay_image(icon, "[icon_state]-inked")
+ ink_overlay.alpha = ink_alpha
+ add_overlay(ink_overlay)
+
+/obj/item/pen/fancy/quill/make_pen_description()
+ desc = "A large feather, sharpened and cut to hold ink for scribing."
+
+/obj/item/pen/fancy/quill/goose
+ name = "dire goose quill"
+ icon = 'icons/obj/items/pens/pen_dire_quill.dmi'
+ pen_quality = TOOL_QUALITY_BEST
+ max_uses = 10
+
+/obj/item/pen/fancy/quill/goose/make_pen_description()
+ desc = "A quill fashioned from a feather of the dire goose makes an excellent writing instrument, as well as a valuable trophy."
+
+// Inkwell
+/obj/item/chems/glass/inkwell
+ name = "inkwell"
+ icon = 'icons/obj/items/inkwell.dmi'
+ icon_state = ICON_STATE_WORLD
+ desc = "An inkwell used to hold ink. Dip a quill pen into this to re-ink it."
+ volume = 30
+ /// The minimum amount of ink in the inkwell when populating reagents.
+ var/starting_volume_low = 20
+ /// The maximum amount of ink in the inkwell when populating reagents.
+ var/starting_volume_high = 30
+
+/obj/item/chems/glass/inkwell/can_lid()
+ return FALSE
+
+/obj/item/chems/glass/inkwell/populate_reagents()
+ . = ..()
+ add_to_reagents(/decl/material/liquid/pigment/black/ink, rand(starting_volume_low, starting_volume_high))
+
+/obj/item/chems/glass/inkwell/on_update_icon()
+ . = ..()
+ icon_state = get_world_inventory_state()
+ if(locate(/obj/item/pen/fancy/quill) in src)
+ add_overlay("[icon_state]-quill")
+
+/obj/item/chems/glass/inkwell/attackby(obj/item/used_item, mob/user)
+ if(IS_PEN(used_item) && istype(used_item, /obj/item/pen/fancy/quill))
+ var/obj/item/pen/fancy/quill/quill = used_item
+ var/current_uses = quill.get_tool_property(TOOL_PEN, TOOL_PROP_USES)
+ if(current_uses >= quill.max_uses)
+ to_chat(user, SPAN_WARNING("\The [quill] doesn't need any more ink!"))
+ return TRUE
+ if(reagents?.total_liquid_volume <= 0)
+ to_chat(user, SPAN_WARNING("\The [src] is empty!"))
+ return TRUE
+ to_chat(user, SPAN_NOTICE("You dip \the [quill] into \the [src]."))
+ quill.fluid_act(reagents)
+ update_icon()
+ return TRUE
+ return ..()
+
+/obj/item/chems/glass/inkwell/attack_hand(mob/user)
+ var/obj/item/pen/fancy/quill/existing_quill = locate(/obj/item/pen/fancy/quill) in src
+ if(existing_quill)
+ user.put_in_hands(existing_quill)
+ to_chat(user, SPAN_NOTICE("You remove \the [existing_quill] from \the [src]."))
+ update_icon()
+ return TRUE
+ return ..()
+
+// This override lets you pick up an inkwell without removing the quill in it first.
+/obj/item/chems/glass/inkwell/handle_mouse_drop(atom/over, mob/user, params)
+ if(over == user && Adjacent(user) && user.get_empty_hand_slot())
+ user.put_in_hands(src)
+ return TRUE
+ . = ..()
+
+/obj/item/chems/glass/inkwell/receive_mouse_drop(atom/dropping, mob/user, params)
+ if(istype(dropping, /obj/item/pen/fancy/quill) && Adjacent(user) && user.Adjacent(dropping))
+ var/obj/item/pen/fancy/quill/new_quill = dropping
+ var/obj/item/pen/fancy/quill/existing_quill = locate(/obj/item/pen/fancy/quill) in src
+ if(existing_quill)
+ to_chat(user, SPAN_WARNING("\The [existing_quill] is already in \the [src], \the [new_quill] won't fit!"))
+ return TRUE
+ to_chat(user, SPAN_NOTICE("You put \the [new_quill] into \the [src]."))
+ user.remove_from_mob(new_quill, src)
+ update_icon()
+ return TRUE
+ return ..()
+
+// This subtype starts with a quill.
+/obj/item/chems/glass/inkwell/quilled
+ icon_state = "quilled_preview"
+
+/obj/item/chems/glass/inkwell/quilled/Initialize(ml, material_key)
+ . = ..()
+ var/obj/item/new_quill = new /obj/item/pen/fancy/quill(src)
+ new_quill.fluid_act(reagents)
+ update_icon()
\ No newline at end of file
diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm
index c548011086d..af80b04dadd 100644
--- a/code/modules/paperwork/photography.dm
+++ b/code/modules/paperwork/photography.dm
@@ -112,7 +112,7 @@
if(IS_PEN(P))
if(!CanPhysicallyInteractWith(user, src))
to_chat(user, SPAN_WARNING("You can't interact with this!"))
- return
+ return TRUE
scribble = sanitize(input(user, "What would you like to write on the back? (Leave empty to erase)", "Photo Writing", scribble), MAX_DESC_LEN)
return TRUE
return ..()
@@ -269,10 +269,10 @@
user.put_in_active_hand(film)
film = I
return TRUE
- return
+ return TRUE
//Unskilled losers have to remove it first
to_chat(user, SPAN_NOTICE("[src] already has some film in it! Remove it first!"))
- return
+ return TRUE
else
if(user.do_skilled(1 SECONDS, SKILL_DEVICES, src))
if(user.get_skill_value(SKILL_DEVICES) >= SKILL_EXPERT)
@@ -286,7 +286,7 @@
user.try_unequip(I, src)
film = I
return TRUE
- return
+ return TRUE
return ..()
/obj/item/camera/proc/get_mobs(turf/the_turf)
diff --git a/code/modules/paperwork/printer.dm b/code/modules/paperwork/printer.dm
index 6365808ceaf..3c7bda42989 100644
--- a/code/modules/paperwork/printer.dm
+++ b/code/modules/paperwork/printer.dm
@@ -62,12 +62,14 @@
if(istype(W, /obj/item/chems/toner_cartridge))
if(toner)
to_chat(user, SPAN_WARNING("There is already \a [W] in \the [src]!"))
+ return TRUE
else
return insert_toner(W, user)
- else if((istype(W, /obj/item/paper) || istype(W, /obj/item/paper_bundle)))
+ else if(istype(W, /obj/item/paper) || istype(W, /obj/item/paper_bundle))
if(paper_left >= paper_max)
to_chat(user, SPAN_WARNING("There is no more room for paper in \the [src]!"))
+ return TRUE
else
return insert_paper(W, user)
. = ..()
@@ -144,10 +146,10 @@
if(toner)
if(user)
to_chat(user, SPAN_WARNING("There's already a cartridge in \the [src]."))
- return
+ return TRUE
if(!user.try_unequip(T, src))
- return
+ return TRUE
toner = T
if(user)
to_chat(user, SPAN_NOTICE("You install \a [T] in \the [src]."))
@@ -160,7 +162,7 @@
if(!toner)
if(user)
to_chat(user, SPAN_WARNING("There is no toner cartridge in \the [src]."))
- return
+ return TRUE
if(user)
user.put_in_hands(toner)
@@ -177,16 +179,16 @@
if(paper_left >= paper_max)
if(user)
to_chat(user, SPAN_WARNING("There is no room for more paper in \the [src]."))
- return
+ return TRUE
if(istype(paper_refill, /obj/item/paper))
var/obj/item/paper/P = paper_refill
if(!P.is_blank())
if(user)
to_chat(user, SPAN_WARNING("\The [P] isn't blank!"))
- return
+ return TRUE
if(!user?.try_unequip(paper_refill))
- return
+ return TRUE
if(user)
to_chat(user, SPAN_NOTICE("You insert \a [paper_refill] in \the [src]."))
qdel(paper_refill)
@@ -197,17 +199,16 @@
if(!B.is_blank())
if(user)
to_chat(user, SPAN_WARNING("\The [B] contains some non-blank pages, or something else than paper sheets!"))
- return
+ return TRUE
var/amt_papers = B.get_amount_papers()
var/to_insert = min((paper_max - paper_left), amt_papers)
- if(user)
- to_chat(user, SPAN_NOTICE("You insert \a [paper_refill] in \the [src]."))
if(to_insert >= amt_papers)
- if(user.try_unequip(B))
- qdel(B)
- else
- return
+ if(!user.try_unequip(B))
+ return TRUE
+ if(user)
+ to_chat(user, SPAN_NOTICE("You insert \a [paper_refill] in \the [src]."))
+ qdel(B)
else
B.remove_sheets(to_insert, user)
paper_left += to_insert
diff --git a/code/modules/persistence/graffiti.dm b/code/modules/persistence/graffiti.dm
index 5630d349336..ed62d878dfc 100644
--- a/code/modules/persistence/graffiti.dm
+++ b/code/modules/persistence/graffiti.dm
@@ -38,27 +38,17 @@
to_chat(user, "It reads \"[processed_message]\".")
/obj/effect/decal/writing/attackby(var/obj/item/thing, var/mob/user)
- if(IS_WELDER(thing))
- if(thing.do_tool_interaction(TOOL_WELDER, user, src, 3 SECONDS))
- playsound(src, 'sound/items/Welder2.ogg', 50, TRUE)
- user.visible_message(SPAN_NOTICE("\The [user] clears away some graffiti."))
- qdel(src)
- return TRUE
-
+ if(IS_WELDER(thing) && thing.do_tool_interaction(TOOL_WELDER, user, src, 3 SECONDS))
+ playsound(src, 'sound/items/Welder2.ogg', 50, TRUE)
+ user.visible_message(SPAN_NOTICE("\The [user] clears away some graffiti."))
+ qdel(src)
+ return TRUE
else if(thing.sharp && user.a_intent != I_HELP) //Check intent so you don't go insane trying to unscrew a light fixture over a graffiti
-
if(jobban_isbanned(user, "Graffiti"))
to_chat(user, SPAN_WARNING("You are banned from leaving persistent information across rounds."))
- return
-
- var/_message = sanitize(input("Enter an additional message to engrave.", "Graffiti") as null|text, trim = TRUE)
- if(_message && loc && user && !user.incapacitated() && user.Adjacent(loc) && thing.loc == user)
- user.visible_message(SPAN_WARNING("\The [user] begins carving something into \the [loc]."))
- if(do_after(user, max(20, length(_message)), src) && loc)
- user.visible_message(SPAN_DANGER("\The [user] carves some graffiti into \the [loc]."))
- message = "[message] [_message]"
- author = user.ckey
- if(lowertext(message) == "elbereth")
- to_chat(user, SPAN_NOTICE("You feel much safer."))
- else
- . = ..()
+ return TRUE
+ var/turf/T = get_turf(src)
+ if(T)
+ T.try_graffiti(user, thing)
+ return TRUE
+ return ..()
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index fd35c5522d9..053432007e6 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -440,12 +440,13 @@ var/global/list/all_apcs = list()
/obj/machinery/power/apc/attackby(obj/item/W, mob/user)
if (istype(construct_state, /decl/machine_construction/wall_frame/panel_closed/hackable/hacking) && (IS_MULTITOOL(W) || IS_WIRECUTTER(W) || istype(W, /obj/item/assembly/signaler)))
- return wires.Interact(user)
+ wires.Interact(user)
+ return TRUE
return ..()
/obj/machinery/power/apc/bash(obj/item/used_item, mob/user)
if (!(user.a_intent == I_HURT) || (used_item.item_flags & ITEM_FLAG_NO_BLUDGEON))
- return
+ return FALSE
if(!used_item.user_can_attack_with(user))
return FALSE
@@ -505,6 +506,7 @@ var/global/list/all_apcs = list()
else
beenhit += 1
return TRUE
+ return FALSE
/obj/machinery/power/apc/interface_interact(mob/user)
ui_interact(user)
diff --git a/code/modules/power/batteryrack.dm b/code/modules/power/batteryrack.dm
index 6d5065007fa..ec8e3abac1c 100644
--- a/code/modules/power/batteryrack.dm
+++ b/code/modules/power/batteryrack.dm
@@ -229,13 +229,15 @@
return ..()
/obj/machinery/power/smes/batteryrack/attackby(var/obj/item/W, var/mob/user)
- if(..())
- return TRUE
+ . = ..()
+ if(.)
+ return
if(istype(W, /obj/item/cell)) // ID Card, try to insert it.
if(insert_cell(W, user))
to_chat(user, "You insert \the [W] into \the [src].")
else
to_chat(user, "\The [src] has no empty slot for \the [W].")
+ return TRUE
/obj/machinery/power/smes/batteryrack/interface_interact(var/mob/user)
ui_interact(user)
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 28b6fbc3c98..4cc7b4d0751 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -157,6 +157,7 @@ By design, d1 is the smallest direction and d2 is the highest
// - Multitool : get the power currently passing through the cable
//
+// TODO: take a closer look at cable attackby, make it call parent?
/obj/structure/cable/attackby(obj/item/W, mob/user)
if(IS_WIRECUTTER(W))
cut_wire(W, user)
@@ -165,7 +166,7 @@ By design, d1 is the smallest direction and d2 is the highest
var/obj/item/stack/cable_coil/coil = W
if (coil.get_amount() < 1)
to_chat(user, "You don't have enough cable to lay down.")
- return
+ return TRUE
coil.cable_join(src, user)
else if(IS_MULTITOOL(W))
@@ -198,6 +199,7 @@ By design, d1 is the smallest direction and d2 is the highest
visible_message(SPAN_WARNING("[user] stops cutting before any damage is done."))
src.add_fingerprint(user)
+ return TRUE
/obj/structure/cable/proc/cut_wire(obj/item/W, mob/user)
var/turf/T = get_turf(src)
diff --git a/code/modules/power/fission/core.dm b/code/modules/power/fission/core.dm
index 0ed5dcc2732..d8a6abb38b2 100644
--- a/code/modules/power/fission/core.dm
+++ b/code/modules/power/fission/core.dm
@@ -202,22 +202,22 @@
if(IS_MULTITOOL(W))
var/datum/extension/local_network_member/fission = get_extension(src, /datum/extension/local_network_member)
fission.get_new_tag(user)
- return
+ return TRUE
// Cannot deconstruct etc. the core while it is active.
if(check_active())
to_chat(user, SPAN_WARNING("You cannot do that while \the [src] is active!"))
- return
+ return TRUE
if(istype(W, /obj/item/fuel_assembly))
if(length(fuel_rods) >= MAX_RODS)
to_chat(user, SPAN_WARNING("\The [src] is full!"))
- return
+ return TRUE
if(!user.try_unequip(W, src))
- return
+ return TRUE
fuel_rods[W] = FALSE // Rod is not exposed to begin with.
user.visible_message(SPAN_NOTICE("\The [user] inserts \a [W] into \the [src]."), SPAN_NOTICE("You insert \a [W] into \the [src]."))
- return
+ return TRUE
. = ..()
/obj/machinery/atmospherics/unary/fission_core/proc/jump_start()
diff --git a/code/modules/power/fusion/consoles/_consoles.dm b/code/modules/power/fusion/consoles/_consoles.dm
index 2d1745b6b0c..f6e16cfae34 100644
--- a/code/modules/power/fusion/consoles/_consoles.dm
+++ b/code/modules/power/fusion/consoles/_consoles.dm
@@ -26,7 +26,7 @@
if(IS_MULTITOOL(thing))
var/datum/extension/local_network_member/fusion = get_extension(src, /datum/extension/local_network_member)
fusion.get_new_tag(user)
- return
+ return TRUE
else
return ..()
diff --git a/code/modules/power/fusion/core/_core.dm b/code/modules/power/fusion/core/_core.dm
index bc927413925..3f667ebaa7d 100644
--- a/code/modules/power/fusion/core/_core.dm
+++ b/code/modules/power/fusion/core/_core.dm
@@ -102,12 +102,12 @@
if(owned_field)
to_chat(user,"Shut \the [src] off first!")
- return
+ return TRUE
if(IS_MULTITOOL(W))
var/datum/extension/local_network_member/fusion = get_extension(src, /datum/extension/local_network_member)
fusion.get_new_tag(user)
- return
+ return TRUE
else if(IS_WRENCH(W))
anchored = !anchored
@@ -120,7 +120,7 @@
user.visible_message("[user.name] unsecures [src.name] from the floor.", \
"You unsecure \the [src] from the floor.", \
"You hear a ratchet.")
- return
+ return TRUE
return ..()
diff --git a/code/modules/power/fusion/fuel_injector/fuel_injector.dm b/code/modules/power/fusion/fuel_injector/fuel_injector.dm
index db6569659ad..3bbf1a2dcfb 100644
--- a/code/modules/power/fusion/fuel_injector/fuel_injector.dm
+++ b/code/modules/power/fusion/fuel_injector/fuel_injector.dm
@@ -50,15 +50,15 @@
if(IS_MULTITOOL(W))
var/datum/extension/local_network_member/fusion = get_extension(src, /datum/extension/local_network_member)
fusion.get_new_tag(user)
- return
+ return TRUE
if(istype(W, /obj/item/fuel_assembly))
if(injecting)
to_chat(user, "Shut \the [src] off before playing with the fuel rod!")
- return
+ return TRUE
if(!user.try_unequip(W, src))
- return
+ return TRUE
if(cur_assembly)
visible_message("\The [user] swaps \the [src]'s [cur_assembly] for \a [W].")
else
@@ -67,19 +67,19 @@
cur_assembly.dropInto(loc)
user.put_in_hands(cur_assembly)
cur_assembly = W
- return
+ return TRUE
if(IS_WRENCH(W))
if(injecting)
to_chat(user, "Shut \the [src] off first!")
- return
+ return TRUE
anchored = !anchored
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
if(anchored)
user.visible_message("\The [user] secures \the [src] to the floor.")
else
user.visible_message("\The [user] unsecures \the [src] from the floor.")
- return
+ return TRUE
return ..()
diff --git a/code/modules/power/fusion/gyrotron/gyrotron.dm b/code/modules/power/fusion/gyrotron/gyrotron.dm
index 343fa0425c1..db11e44f9b1 100644
--- a/code/modules/power/fusion/gyrotron/gyrotron.dm
+++ b/code/modules/power/fusion/gyrotron/gyrotron.dm
@@ -60,7 +60,7 @@
if(IS_MULTITOOL(W))
var/datum/extension/local_network_member/fusion = get_extension(src, /datum/extension/local_network_member)
fusion.get_new_tag(user)
- return
+ return TRUE
return ..()
#undef GYRO_POWER
diff --git a/code/modules/power/fusion/kinetic_harvester.dm b/code/modules/power/fusion/kinetic_harvester.dm
index 2f7a20b706e..d866bf68034 100644
--- a/code/modules/power/fusion/kinetic_harvester.dm
+++ b/code/modules/power/fusion/kinetic_harvester.dm
@@ -37,7 +37,7 @@
var/datum/extension/local_network_member/lanm = get_extension(src, /datum/extension/local_network_member)
if(lanm.get_new_tag(user))
find_core()
- return
+ return TRUE
return ..()
/obj/machinery/kinetic_harvester/proc/find_core()
diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm
index ea34916985a..06b68c98531 100644
--- a/code/modules/power/generator.dm
+++ b/code/modules/power/generator.dm
@@ -154,16 +154,16 @@
generate_power(effective_gen)
/obj/machinery/generator/attackby(obj/item/W, mob/user)
- if(IS_WRENCH(W))
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- anchored = !anchored
- user.visible_message("[user.name] [anchored ? "secures" : "unsecures"] the bolts holding [src.name] to the floor.", \
- "You [anchored ? "secure" : "unsecure"] the bolts holding [src] to the floor.", \
- "You hear a ratchet.")
- update_use_power(anchored)
- reconnect()
- else
- ..()
+ if(!IS_WRENCH(W))
+ return ..()
+ playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ anchored = !anchored
+ user.visible_message("[user.name] [anchored ? "secures" : "unsecures"] the bolts holding [src.name] to the floor.", \
+ "You [anchored ? "secure" : "unsecure"] the bolts holding [src] to the floor.", \
+ "You hear a ratchet.")
+ update_use_power(anchored)
+ reconnect()
+ return TRUE
/obj/machinery/generator/CanUseTopic(mob/user)
if(!anchored)
diff --git a/code/modules/power/heavycable.dm b/code/modules/power/heavycable.dm
index 0e4a4af5902..b0a37913ceb 100644
--- a/code/modules/power/heavycable.dm
+++ b/code/modules/power/heavycable.dm
@@ -27,7 +27,7 @@
if(istype(item, /obj/item/stack/cable_coil) && !istype(item, /obj/item/stack/cable_coil/heavyduty))
to_chat(user, SPAN_WARNING("\The [item] isn't heavy enough to connect to \the [src]."))
return TRUE
- ..()
+ return ..()
#undef IS_TOOL_WITH_QUALITY
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index f2e9059f9f0..a04cc415262 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -306,12 +306,12 @@
var/amount = min((max_sheets - sheets), addstack.amount)
if(amount < 1)
to_chat(user, "\The [src] is full!")
- return
+ return TRUE
to_chat(user, "You add [amount] sheet\s to \the [src].")
sheets += amount
addstack.use(amount)
updateUsrDialog()
- return
+ return TRUE
if(IS_WRENCH(O) && !active)
if(!anchored)
to_chat(user, "You secure \the [src] to the floor.")
@@ -320,6 +320,7 @@
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
anchored = !anchored
+ return TRUE
return component_attackby(O, user)
/obj/machinery/port_gen/pacman/dismantle()
diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm
index 9c5365521fe..377adc538b1 100644
--- a/code/modules/power/singularity/collector.dm
+++ b/code/modules/power/singularity/collector.dm
@@ -91,33 +91,33 @@ var/global/list/rad_collectors = list()
if(istype(W, /obj/item/tank/phoron))
if(!src.anchored)
to_chat(user, "\The [src] needs to be secured to the floor first.")
- return 1
+ return TRUE
if(src.loaded_tank)
to_chat(user, "There's already a tank loaded.")
- return 1
+ return TRUE
if(!user.try_unequip(W, src))
- return
+ return TRUE
src.loaded_tank = W
update_icon()
- return 1
+ return TRUE
else if(IS_CROWBAR(W))
if(loaded_tank && !src.locked)
eject()
- return 1
+ return TRUE
else if(IS_WRENCH(W))
if(loaded_tank)
to_chat(user, "Remove the tank first.")
- return 1
+ return TRUE
for(var/obj/machinery/rad_collector/R in get_turf(src))
if(R != src)
to_chat(user, "You cannot install more than one collector on the same spot.")
- return 1
+ return TRUE
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
src.anchored = !src.anchored
user.visible_message("[user.name] [anchored? "secures":"unsecures"] \the [src].", \
"You [anchored? "secure":"undo"] the external bolts.", \
"You hear a ratchet.")
- return 1
+ return TRUE
else if(istype(W, /obj/item/card/id)||istype(W, /obj/item/modular_computer))
if (src.allowed(user))
if(active)
@@ -128,7 +128,7 @@ var/global/list/rad_collectors = list()
to_chat(user, SPAN_WARNING("The controls can only be locked when \the [src] is active."))
else
to_chat(user, "Access denied!")
- return 1
+ return TRUE
return ..()
/obj/machinery/rad_collector/examine(mob/user, distance)
diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm
index d1391fbe882..58102806b84 100644
--- a/code/modules/power/singularity/containment_field.dm
+++ b/code/modules/power/singularity/containment_field.dm
@@ -11,7 +11,7 @@
movable_flags = MOVABLE_FLAG_PROXMOVE
var/obj/machinery/field_generator/FG1 = null
var/obj/machinery/field_generator/FG2 = null
- var/hasShocked = 0 //Used to add a delay between shocks. In some cases this used to crash servers by spawning hundreds of sparks every second.
+ var/next_shock_time = 0 SECONDS //Used to add a delay between shocks. In some cases this used to crash servers by spawning hundreds of sparks every second.
/obj/effect/containment_field/Destroy()
if(FG1 && !FG1.clean_up)
@@ -22,7 +22,8 @@
/obj/effect/containment_field/attack_hand(mob/user)
SHOULD_CALL_PARENT(FALSE)
- return shock(user)
+ shock(user)
+ return TRUE
/obj/effect/containment_field/explosion_act(severity)
SHOULD_CALL_PARENT(FALSE)
@@ -34,23 +35,19 @@
shock(AM)
/obj/effect/containment_field/proc/shock(mob/living/user)
- if(hasShocked)
- return 0
+ if(next_shock_time > world.time)
+ return FALSE
if(!FG1 || !FG2)
qdel(src)
- return 0
+ return FALSE
if(isliving(user))
- hasShocked = 1
+ next_shock_time = world.time + 2 SECONDS
var/shock_damage = min(rand(30,40),rand(30,40))
user.electrocute_act(shock_damage, src)
-
var/atom/target = get_edge_target_turf(user, get_dir(src, get_step_away(user, src)))
user.throw_at(target, 200, 4)
-
- sleep(20)
-
- hasShocked = 0
return TRUE
+ return FALSE
/obj/effect/containment_field/proc/set_master(var/master1,var/master2)
if(!master1 || !master2)
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index af92c39b88c..d7ae1df1a1a 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -138,7 +138,7 @@
if(IS_WRENCH(W))
if(active)
to_chat(user, "Turn off [src] first.")
- return
+ return TRUE
switch(state)
if(0)
state = 1
@@ -156,54 +156,55 @@
anchored = FALSE
if(2)
to_chat(user, "\The [src] needs to be unwelded from the floor.")
- return
+ return TRUE
if(IS_WELDER(W))
var/obj/item/weldingtool/WT = W
if(active)
to_chat(user, "Turn off [src] first.")
- return
+ return TRUE
switch(state)
if(0)
to_chat(user, "\The [src] needs to be wrenched to the floor.")
if(1)
- if (WT.weld(0,user))
- playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to weld [src] to the floor.", \
- "You start to weld [src] to the floor.", \
- "You hear welding.")
- if (do_after(user,20,src))
- if(!src || !WT.isOn()) return
- state = 2
- to_chat(user, "You weld [src] to the floor.")
- else
+ if (!WT.weld(0,user))
to_chat(user, "You need more welding fuel to complete this task.")
+ return TRUE
+ playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
+ user.visible_message("[user.name] starts to weld [src] to the floor.", \
+ "You start to weld [src] to the floor.", \
+ "You hear welding.")
+ if (!do_after(user, 2 SECONDS, src))
+ return TRUE
+ if(!src || !WT.isOn()) return TRUE
+ state = 2
+ to_chat(user, "You weld [src] to the floor.")
if(2)
if (WT.weld(0,user))
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
user.visible_message("[user.name] starts to cut [src] free from the floor.", \
"You start to cut [src] free from the floor.", \
"You hear welding.")
- if (do_after(user,20,src))
- if(!src || !WT.isOn()) return
- state = 1
- to_chat(user, "You cut [src] free from the floor.")
+ if (!do_after(user, 2 SECONDS, src))
+ return TRUE
+ if(!src || !WT.isOn()) return TRUE
+ state = 1
+ to_chat(user, "You cut [src] free from the floor.")
else
to_chat(user, "You need more welding fuel to complete this task.")
- return
+ return TRUE
if(istype(W, /obj/item/card/id) || istype(W, /obj/item/modular_computer))
if(emagged)
to_chat(user, "The lock seems to be broken.")
- return
+ return TRUE
if(allowed(user))
locked = !locked
to_chat(user, "The controls are now [locked ? "locked." : "unlocked."]")
else
to_chat(user, "Access denied.")
- return
- ..()
- return
+ return TRUE
+ return ..()
/obj/machinery/emitter/emag_act(var/remaining_charges, var/mob/user)
if(!emagged)
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index 15b3c0c9d2f..bf7de4d3974 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -92,6 +92,7 @@ field_generator power level display
src.add_fingerprint(user)
return TRUE
+ return FALSE
else
to_chat(user, "\The [src] needs to be firmly secured to the floor first.")
return TRUE
@@ -99,7 +100,7 @@ field_generator power level display
/obj/machinery/field_generator/attackby(obj/item/W, mob/user)
if(active)
to_chat(user, "\The [src] needs to be off.")
- return
+ return TRUE
else if(IS_WRENCH(W))
switch(state)
if(0)
@@ -109,6 +110,7 @@ field_generator power level display
"You secure the external reinforcing bolts to the floor.", \
"You hear ratchet.")
src.anchored = TRUE
+ return TRUE
if(1)
state = 0
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
@@ -116,42 +118,43 @@ field_generator power level display
"You undo the external reinforcing bolts.", \
"You hear ratchet.")
src.anchored = FALSE
+ return TRUE
if(2)
to_chat(user, " \The [src] needs to be unwelded from the floor.")
- return
+ return TRUE
else if(IS_WELDER(W))
var/obj/item/weldingtool/WT = W
switch(state)
if(0)
to_chat(user, "\The [src] needs to be wrenched to the floor.")
- return
+ return TRUE
if(1)
- if (WT.weld(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to weld \the [src] to the floor.", \
- "You start to weld \the [src] to the floor.", \
- "You hear welding.")
- if (do_after(user,20,src))
- if(!src || !WT.isOn()) return
- state = 2
- to_chat(user, "You weld the field generator to the floor.")
- else
- return
+ if (!WT.weld(0,user))
+ return TRUE
+ playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
+ user.visible_message("[user.name] starts to weld \the [src] to the floor.", \
+ "You start to weld \the [src] to the floor.", \
+ "You hear welding.")
+ if (!do_after(user, 2 SECONDS, src))
+ return TRUE
+ if(!src || !WT.isOn()) return TRUE
+ state = 2
+ to_chat(user, "You weld the field generator to the floor.")
+ return TRUE
if(2)
- if (WT.weld(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to cut \the [src] free from the floor.", \
- "You start to cut \the [src] free from the floor.", \
- "You hear welding.")
- if (do_after(user,20,src))
- if(!src || !WT.isOn()) return
- state = 1
- to_chat(user, "You cut \the [src] free from the floor.")
- else
- return
- else
- ..()
- return
+ if (!WT.weld(0,user))
+ return TRUE
+ playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
+ user.visible_message("[user.name] starts to cut \the [src] free from the floor.", \
+ "You start to cut \the [src] free from the floor.", \
+ "You hear welding.")
+ if (!do_after(user, 2 SECONDS, src))
+ return TRUE
+ if(!src || !WT.isOn()) return TRUE
+ state = 1
+ to_chat(user, "You cut \the [src] free from the floor.")
+ return TRUE
+ return ..()
/obj/machinery/field_generator/emp_act()
diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm
index 7b60f76bac9..fc1b54c7edc 100644
--- a/code/modules/power/singularity/generator.dm
+++ b/code/modules/power/singularity/generator.dm
@@ -40,16 +40,16 @@
qdel(src)
/obj/machinery/singularity_generator/attackby(obj/item/W, mob/user)
- if(IS_WRENCH(W))
- anchored = !anchored
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- if(anchored)
- user.visible_message("[user.name] secures \the [src] to the floor.", \
- "You secure \the [src] to the floor.", \
- "You hear a ratchet.")
- else
- user.visible_message("[user.name] unsecures \the [src] from the floor.", \
- "You unsecure \the [src] from the floor.", \
- "You hear a ratchet.")
- return
- return ..()
+ if(!IS_WRENCH(W))
+ return ..()
+ anchored = !anchored
+ playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ if(anchored)
+ user.visible_message("[user.name] secures \the [src] to the floor.", \
+ "You secure \the [src] to the floor.", \
+ "You hear a ratchet.")
+ else
+ user.visible_message("[user.name] unsecures \the [src] from the floor.", \
+ "You unsecure \the [src] from the floor.", \
+ "You hear a ratchet.")
+ return TRUE
\ No newline at end of file
diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
index df11fcbf912..a6dec80f7c0 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
@@ -103,8 +103,10 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
/obj/structure/particle_accelerator/attackby(obj/item/W, mob/user)
- if(!has_extension(W, /datum/extension/tool) || !process_tool_hit(W,user))
- return ..()
+ if(has_extension(W, /datum/extension/tool))
+ if(process_tool_hit(W,user))
+ return TRUE
+ return ..()
/obj/structure/particle_accelerator/Move()
..()
@@ -242,8 +244,10 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
/obj/machinery/particle_accelerator/attackby(obj/item/W, mob/user)
- if(!has_extension(W, /datum/extension/tool) || !process_tool_hit(W,user))
- return ..()
+ if(has_extension(W, /datum/extension/tool))
+ if(process_tool_hit(W,user))
+ return TRUE
+ return ..()
/obj/machinery/particle_accelerator/explosion_act(severity)
. = ..()
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index 427930ad2ac..6ad9f2fbc7f 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -223,10 +223,7 @@
/obj/machinery/power/smes/attackby(var/obj/item/W, var/mob/user)
if(component_attackby(W, user))
return TRUE
-
- if (!panel_open)
- to_chat(user, "You need to open the access hatch on \the [src] first!")
- return TRUE
+ return bash(W, user)
/obj/machinery/power/smes/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
// this is the data which will be sent to the ui
diff --git a/code/modules/power/smes_construction.dm b/code/modules/power/smes_construction.dm
index 6002333a815..3a956c49e00 100644
--- a/code/modules/power/smes_construction.dm
+++ b/code/modules/power/smes_construction.dm
@@ -334,16 +334,18 @@
// No more disassembling of overloaded SMESs. You broke it, now enjoy the consequences.
if (failing)
to_chat(user, "\The [src]'s screen is flashing with alerts. It seems to be overloaded! Touching it now is probably not a good idea.")
+ return TRUE
+ . = ..()
+ if(.)
return
-
- if (!..())
-
- // Multitool - change RCON tag
- if(IS_MULTITOOL(W))
- var/newtag = input(user, "Enter new RCON tag. Use \"NO_TAG\" to disable RCON or leave empty to cancel.", "SMES RCON system") as text
- if(newtag)
- RCon_tag = newtag
- to_chat(user, "You changed the RCON tag to: [newtag]")
+ // Multitool - change RCON tag
+ if(IS_MULTITOOL(W))
+ var/newtag = input(user, "Enter new RCON tag. Use \"NO_TAG\" to disable RCON or leave empty to cancel.", "SMES RCON system") as text
+ if(newtag)
+ RCon_tag = newtag
+ to_chat(user, "You changed the RCON tag to: [newtag]")
+ return TRUE
+ return FALSE
// Proc: toggle_input()
// Parameters: None
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index 1676b1cd787..bd129184831 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -74,7 +74,6 @@ var/global/list/solars_list = list()
/obj/machinery/power/solar/attackby(obj/item/W, mob/user)
-
if(IS_CROWBAR(W))
playsound(loc, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] begins to take the glass off the solar panel.")
@@ -86,12 +85,12 @@ var/global/list/solars_list = list()
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
user.visible_message("[user] takes the glass off the solar panel.")
qdel(src)
- return
+ return TRUE
else if (W)
add_fingerprint(user)
current_health -= W.get_attack_force(user)
healthcheck()
- ..()
+ return ..()
/obj/machinery/power/solar/proc/healthcheck()
if (current_health <= 0)
@@ -242,9 +241,8 @@ var/global/list/solars_list = list()
glass_reinforced = null
/obj/item/solar_assembly/attackby(var/obj/item/W, var/mob/user)
-
- if(!anchored && isturf(loc))
- if(IS_WRENCH(W))
+ if(IS_WRENCH(W))
+ if(!anchored && isturf(loc))
anchored = TRUE
default_pixel_x = 0
default_pixel_y = 0
@@ -252,43 +250,37 @@ var/global/list/solars_list = list()
reset_offsets(0)
user.visible_message("[user] wrenches the solar assembly into place.")
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
- return 1
- else
- if(IS_WRENCH(W))
+ return TRUE
+ else
anchored = FALSE
- user.visible_message("[user] unwrenches the solar assembly from it's place.")
+ user.visible_message("[user] unwrenches the solar assembly from its place.")
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
- return 1
-
- if(istype(W, /obj/item/stack/material) && W.get_material_type() == /decl/material/solid/glass)
- var/obj/item/stack/material/S = W
- if(S.use(2))
- glass_type = S.material.type
- glass_reinforced = S.reinf_material?.type
- playsound(loc, 'sound/machines/click.ogg', 50, 1)
- user.visible_message("[user] places the glass on the solar assembly.")
- if(tracker)
- new /obj/machinery/power/tracker(get_turf(src), src)
- else
- new /obj/machinery/power/solar(get_turf(src), src)
- else
- to_chat(user, "You need two sheets of glass to put them into a solar panel.")
- return
- return 1
-
- if(!tracker)
- if(istype(W, /obj/item/tracker_electronics))
- tracker = 1
- qdel(W)
- user.visible_message("[user] inserts the electronics into the solar assembly.")
- return 1
- else
- if(IS_CROWBAR(W))
- new /obj/item/tracker_electronics(loc)
- tracker = 0
- user.visible_message("[user] takes out the electronics from the solar assembly.")
- return 1
- ..()
+ return TRUE
+ else if(istype(W, /obj/item/stack/material) && W.get_material_type() == /decl/material/solid/glass)
+ var/obj/item/stack/material/S = W
+ if(!S.use(2))
+ to_chat(user, "You need two sheets of glass to put them into a solar panel.")
+ return TRUE
+ glass_type = S.material.type
+ glass_reinforced = S.reinf_material?.type
+ playsound(loc, 'sound/machines/click.ogg', 50, 1)
+ user.visible_message("[user] places the glass on the solar assembly.")
+ if(tracker)
+ new /obj/machinery/power/tracker(get_turf(src), src)
+ else
+ new /obj/machinery/power/solar(get_turf(src), src)
+ return TRUE
+ if(!tracker && istype(W, /obj/item/tracker_electronics))
+ tracker = TRUE
+ qdel(W)
+ user.visible_message("[user] inserts the electronics into the solar assembly.")
+ return TRUE
+ else if(IS_CROWBAR(W))
+ new /obj/item/tracker_electronics(loc)
+ tracker = 0
+ user.visible_message("[user] takes out the electronics from the solar assembly.")
+ return TRUE
+ return ..()
//
// Solar Control Computer
diff --git a/code/modules/power/stirling.dm b/code/modules/power/stirling.dm
index b3e94d0f3e5..2b0c633059f 100644
--- a/code/modules/power/stirling.dm
+++ b/code/modules/power/stirling.dm
@@ -145,9 +145,9 @@
/obj/machinery/atmospherics/binary/stirling/attackby(var/obj/item/W, var/mob/user)
if((istype(W, /obj/item/tank/stirling)))
if(inserted_cylinder)
- return
+ return TRUE
if(!user.try_unequip(W, src))
- return
+ return TRUE
to_chat(user, SPAN_NOTICE("You insert \the [W] into \the [src]."))
inserted_cylinder = W
update_icon()
@@ -164,9 +164,9 @@
if(IS_WRENCH(W))
var/target_frequency = input(user, "Enter the cycle frequency you would like \the [src] to operate at ([MAX_FREQUENCY/4] - [MAX_FREQUENCY] Hz)", "Stirling Frequency", cycle_frequency) as num | null
if(!CanPhysicallyInteract(user) || !target_frequency)
- return
+ return TRUE
cycle_frequency = round(clamp(target_frequency, MAX_FREQUENCY/4, MAX_FREQUENCY))
- to_chat(usr, SPAN_NOTICE("You adjust \the [src] to operate at a frequency of [cycle_frequency] Hz."))
+ to_chat(user, SPAN_NOTICE("You adjust \the [src] to operate at a frequency of [cycle_frequency] Hz."))
return TRUE
. = ..()
@@ -178,12 +178,13 @@
if(!inserted_cylinder)
to_chat(user, SPAN_WARNING("You must insert a stirling piston cylinder into \the [src] before you can start it!"))
- return
+ return TRUE
to_chat(user, "You start trying to manually rev up \the [src].")
if(do_after(user, 2 SECONDS, src) && !active && inserted_cylinder && !(stat & BROKEN))
visible_message("[user] pulls on the starting cord of \the [src], revving it up!", "You pull on the starting cord of \the [src], revving it up!")
playsound(src.loc, 'sound/machines/engine.ogg', 35, 1)
active = TRUE
+ return TRUE
/obj/machinery/atmospherics/binary/stirling/on_update_icon()
cut_overlays()
diff --git a/code/modules/power/terminal.dm b/code/modules/power/terminal.dm
index 80036c842a1..70c6cb0f425 100644
--- a/code/modules/power/terminal.dm
+++ b/code/modules/power/terminal.dm
@@ -34,12 +34,12 @@
if(istype(T) && !T.is_plating())
to_chat(user, SPAN_WARNING("You must remove the floor plating in front of \the [machine] first!"))
- return
+ return TRUE
// If this is a terminal that's somehow been left behind, let it be removed freely.
if(machine && !machine.components_are_accessible(/obj/item/stock_parts/power/terminal))
to_chat(user, SPAN_WARNING("You must open the panel on \the [machine] first!"))
- return
+ return TRUE
user.visible_message(SPAN_WARNING("\The [user] dismantles the power terminal from \the [machine]."), \
"You begin to cut the cables...")
@@ -53,6 +53,7 @@
new /obj/item/stack/cable_coil(T, 10)
to_chat(user, SPAN_NOTICE("You cut the cables and dismantle the power terminal."))
qdel_self()
+ return TRUE
. = ..()
/obj/machinery/power/terminal/examine(mob/user)
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index 5275043c617..2c99034e7f3 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -60,16 +60,17 @@
if(IS_CROWBAR(W))
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] begins to take the glass off the solar tracker.")
- if(do_after(user, 50,src))
- var/obj/item/solar_assembly/S = locate() in src
- if(S)
- S.dropInto(loc)
- S.give_glass()
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user.visible_message("[user] takes the glass off the tracker.")
- qdel(src)
- return
- ..()
+ if(!do_after(user, 5 SECONDS, src))
+ return TRUE
+ var/obj/item/solar_assembly/S = locate() in src
+ if(S)
+ S.dropInto(loc)
+ S.give_glass()
+ playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
+ user.visible_message("[user] takes the glass off the tracker.")
+ qdel(src)
+ return TRUE
+ return ..()
// Tracker Electronic
diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm
index ab08615c8cc..a26611bd894 100644
--- a/code/modules/projectiles/ammunition.dm
+++ b/code/modules/projectiles/ammunition.dm
@@ -87,22 +87,23 @@
forensics.add_from_atom(/datum/forensics/gunshot_residue, src)
/obj/item/ammo_casing/attackby(obj/item/W, mob/user)
- if(IS_SCREWDRIVER(W))
- if(!BB)
- to_chat(user, "There is no bullet in the casing to inscribe anything into.")
- return
-
- var/tmp_label = ""
- var/label_text = sanitize_safe(input(user, "Inscribe some text into \the [initial(BB.name)]","Inscription",tmp_label), MAX_NAME_LEN)
- if(length(label_text) > 20)
- to_chat(user, "The inscription can be at most 20 characters long.")
- else if(!label_text)
- to_chat(user, "You scratch the inscription off of [initial(BB)].")
- BB.SetName(initial(BB.name))
- else
- to_chat(user, "You inscribe \"[label_text]\" into \the [initial(BB.name)].")
- BB.SetName("[initial(BB.name)] (\"[label_text]\")")
- else ..()
+ if(!IS_SCREWDRIVER(W))
+ return ..()
+ if(!BB)
+ to_chat(user, "There is no bullet in the casing to inscribe anything into.")
+ return TRUE
+
+ var/tmp_label = ""
+ var/label_text = sanitize_safe(input(user, "Inscribe some text into \the [initial(BB.name)]","Inscription",tmp_label), MAX_NAME_LEN)
+ if(length(label_text) > 20)
+ to_chat(user, "The inscription can be at most 20 characters long.")
+ else if(!label_text)
+ to_chat(user, "You scratch the inscription off of [initial(BB)].")
+ BB.SetName(initial(BB.name))
+ else
+ to_chat(user, "You inscribe \"[label_text]\" into \the [initial(BB.name)].")
+ BB.SetName("[initial(BB.name)] (\"[label_text]\")")
+ return TRUE
/obj/item/ammo_casing/on_update_icon()
. = ..()
@@ -189,20 +190,21 @@
update_icon()
/obj/item/ammo_magazine/attackby(obj/item/W, mob/user)
- if(istype(W, /obj/item/ammo_casing))
- var/obj/item/ammo_casing/C = W
- if(C.caliber != caliber)
- to_chat(user, "[C] does not fit into [src].")
- return
- if(get_stored_ammo_count() >= max_ammo)
- to_chat(user, "[src] is full!")
- return
- if(!user.try_unequip(C, src))
- return
- stored_ammo.Add(C)
- playsound(user, 'sound/weapons/guns/interaction/bullet_insert.ogg', 50, 1)
- update_icon()
- else ..()
+ if(!istype(W, /obj/item/ammo_casing))
+ return ..()
+ var/obj/item/ammo_casing/C = W
+ if(C.caliber != caliber)
+ to_chat(user, "[C] does not fit into [src].")
+ return TRUE
+ if(get_stored_ammo_count() >= max_ammo)
+ to_chat(user, "[src] is full!")
+ return TRUE
+ if(!user.try_unequip(C, src))
+ return TRUE
+ stored_ammo.Add(C)
+ playsound(user, 'sound/weapons/guns/interaction/bullet_insert.ogg', 50, 1)
+ update_icon()
+ return TRUE
/obj/item/ammo_magazine/attack_self(mob/user)
create_initial_contents()
diff --git a/code/modules/projectiles/guns/launcher/bows/crossbow_powered.dm b/code/modules/projectiles/guns/launcher/bows/crossbow_powered.dm
index 3e354e4a50b..d3b40093e7a 100644
--- a/code/modules/projectiles/guns/launcher/bows/crossbow_powered.dm
+++ b/code/modules/projectiles/guns/launcher/bows/crossbow_powered.dm
@@ -121,23 +121,25 @@
var/obj/item/rcd_ammo/cartridge = W
if((stored_matter + cartridge.remaining) > max_stored_matter)
to_chat(user, SPAN_NOTICE("The RCD can't hold that many additional matter-units."))
- return
+ return TRUE
stored_matter += cartridge.remaining
qdel(W)
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
to_chat(user, SPAN_NOTICE("The RCD now holds [stored_matter]/[max_stored_matter] matter-units."))
update_icon()
-
+ return TRUE
if(istype(W, /obj/item/stack/material/bow_ammo/bolt/rcd))
var/obj/item/stack/material/bow_ammo/bolt/rcd/A = W
if((stored_matter + 10) > max_stored_matter)
to_chat(user, SPAN_NOTICE("Unable to reclaim flashforged bolt. The RCD can't hold that many additional matter-units."))
- return
+ return TRUE
stored_matter += 10
qdel(A)
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
to_chat(user, SPAN_NOTICE("Flashforged bolt reclaimed. The RCD now holds [stored_matter]/[max_stored_matter] matter-units."))
update_icon()
+ return TRUE
+ return ..()
/obj/item/gun/launcher/bow/crossbow/powered/rapidcrossbowdevice/on_update_icon()
. = ..()
diff --git a/code/modules/projectiles/guns/launcher/foam_gun.dm b/code/modules/projectiles/guns/launcher/foam_gun.dm
index 23a12c8b15b..33eaae8345c 100644
--- a/code/modules/projectiles/guns/launcher/foam_gun.dm
+++ b/code/modules/projectiles/guns/launcher/foam_gun.dm
@@ -19,14 +19,17 @@
var/list/darts = new/list()
/obj/item/gun/launcher/foam/attackby(obj/item/I, mob/user)
- if(istype(I, /obj/item/foam_dart))
- if(darts.len < max_darts)
- if(!user.try_unequip(I, src))
- return
- darts += I
- to_chat(user, SPAN_NOTICE("You slot \the [I] into \the [src]."))
- else
- to_chat(user, SPAN_WARNING("\The [src] can hold no more darts."))
+ if(!istype(I, /obj/item/foam_dart))
+ return ..()
+ if(darts.len < max_darts)
+ if(!user.try_unequip(I, src))
+ return TRUE
+ darts += I
+ to_chat(user, SPAN_NOTICE("You slot \the [I] into \the [src]."))
+ return TRUE
+ else
+ to_chat(user, SPAN_WARNING("\The [src] can hold no more darts."))
+ return TRUE
/obj/item/gun/launcher/foam/consume_next_projectile()
if(darts.len)
@@ -87,7 +90,7 @@
randpixel = 10
throw_range = 3
does_spin = FALSE
- material = /decl/material/solid/organic/plastic
+ material = /decl/material/solid/organic/plastic/foam
_base_attack_force = 0
_thrown_force_multiplier = 5
diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm
index 2ad57cd181d..caf74b0989c 100644
--- a/code/modules/projectiles/guns/launcher/grenade_launcher.dm
+++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm
@@ -79,10 +79,11 @@
pump(user)
/obj/item/gun/launcher/grenade/attackby(obj/item/I, mob/user)
- if((istype(I, /obj/item/grenade)))
+ if(istype(I, /obj/item/grenade))
load(I, user)
+ return TRUE
else
- ..()
+ return ..()
/obj/item/gun/launcher/grenade/attack_hand(mob/user)
if(!user.is_holding_offhand(src) || !user.check_dexterity(DEXTERITY_HOLD_ITEM, TRUE))
diff --git a/code/modules/projectiles/guns/launcher/money_cannon.dm b/code/modules/projectiles/guns/launcher/money_cannon.dm
index f540fc0fe29..6b19d382aec 100644
--- a/code/modules/projectiles/guns/launcher/money_cannon.dm
+++ b/code/modules/projectiles/guns/launcher/money_cannon.dm
@@ -112,23 +112,23 @@
return TRUE
/obj/item/gun/launcher/money/attackby(obj/item/W, mob/user)
- if(istype(W, /obj/item/cash/))
+ if(istype(W, /obj/item/cash))
var/obj/item/cash/bling = W
if(bling.absolute_worth < 1)
to_chat(user, "You can't seem to get \the [bling] to slide into the receptacle.")
- return
+ return TRUE
var/decl/currency/cur = GET_DECL(bling.currency)
if(bling.currency != global.using_map.default_currency)
to_chat(user, SPAN_WARNING("Due to local legislation and budget cuts, \the [src] will only accept [cur.name]."))
- return
+ return TRUE
receptacle_value += bling.absolute_worth
to_chat(user, "You slide [bling.get_worth()] [cur.name_singular] into [src]'s receptacle.")
qdel(bling)
-
+ return TRUE
else
- to_chat(user, "That's not going to fit in there.")
+ return ..()
/obj/item/gun/launcher/money/examine(mob/user)
. = ..(user)
diff --git a/code/modules/projectiles/guns/launcher/rocket.dm b/code/modules/projectiles/guns/launcher/rocket.dm
index 7398c688628..ee2bc15639b 100644
--- a/code/modules/projectiles/guns/launcher/rocket.dm
+++ b/code/modules/projectiles/guns/launcher/rocket.dm
@@ -26,12 +26,15 @@
if(istype(I, /obj/item/ammo_casing/rocket))
if(rockets.len < max_rockets)
if(!user.try_unequip(I, src))
- return
+ return TRUE
rockets += I
to_chat(user, "You put the rocket in [src].")
to_chat(user, "[rockets.len] / [max_rockets] rockets.")
+ return TRUE
else
to_chat(usr, "\The [src] cannot hold more rockets.")
+ return TRUE
+ return ..()
/obj/item/gun/launcher/rocket/consume_next_projectile()
if(rockets.len)
diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm
index 69d244a3137..d44be24924d 100644
--- a/code/modules/projectiles/guns/launcher/syringe_gun.dm
+++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm
@@ -25,12 +25,16 @@
underlays += MA
/obj/item/syringe_cartridge/attackby(obj/item/I, mob/user)
- if(istype(I, /obj/item/chems/syringe) && user.try_unequip(I, src))
+ if(istype(I, /obj/item/chems/syringe))
+ if(!user.try_unequip(I, src))
+ return TRUE
syringe = I
to_chat(user, "You carefully insert [syringe] into [src].")
- sharp = 1
+ sharp = TRUE
name = "syringe dart"
update_icon()
+ return TRUE
+ return ..()
/obj/item/syringe_cartridge/attack_self(mob/user)
if(syringe)
@@ -129,13 +133,14 @@
var/obj/item/syringe_cartridge/C = A
if(darts.len >= max_darts)
to_chat(user, "[src] is full!")
- return
+ return TRUE
if(!user.try_unequip(C, src))
- return
+ return TRUE
darts += C //add to the end
user.visible_message("[user] inserts \a [C] into [src].", "You insert \a [C] into [src].")
+ return TRUE
else
- ..()
+ return ..()
/obj/item/gun/launcher/syringe/rapid
name = "syringe gun revolver"
diff --git a/code/modules/projectiles/guns/magnetic/magnetic.dm b/code/modules/projectiles/guns/magnetic/magnetic.dm
index 06e3c1c0951..0a411685685 100644
--- a/code/modules/projectiles/guns/magnetic/magnetic.dm
+++ b/code/modules/projectiles/guns/magnetic/magnetic.dm
@@ -104,71 +104,71 @@
if(IS_SCREWDRIVER(thing))
if(!capacitor)
to_chat(user, "\The [src] has no capacitor installed.")
- return
+ return TRUE
user.put_in_hands(capacitor)
user.visible_message("\The [user] unscrews \the [capacitor] from \the [src].")
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
capacitor = null
update_icon()
- return
+ return TRUE
if(istype(thing, /obj/item/stock_parts/capacitor))
if(capacitor)
to_chat(user, "\The [src] already has \a [capacitor] installed.")
- return
+ return TRUE
if(!user.try_unequip(thing, src))
- return
+ return TRUE
capacitor = thing
playsound(loc, 'sound/machines/click.ogg', 10, 1)
power_per_tick = (power_cost*0.15) * capacitor.rating
user.visible_message("\The [user] slots \the [capacitor] into \the [src].")
update_icon()
- return
-
- if(istype(thing, load_type))
-
- // This is not strictly necessary for the magnetic gun but something using
- // specific ammo types may exist down the track.
- var/obj/item/stack/ammo = thing
- if(!istype(ammo))
- if(loaded)
- to_chat(user, "\The [src] already has \a [loaded] loaded.")
- return
- var/obj/item/magnetic_ammo/mag = thing
- if(istype(mag))
- if(!(load_type == mag.basetype))
- to_chat(user, "\The [src] doesn't seem to accept \a [mag].")
- return
- projectile_type = mag.projectile_type
- if(!user.try_unequip(thing, src))
- return
-
- loaded = thing
- else if(load_sheet_max > 1)
- var ammo_count = 0
- var/obj/item/stack/loaded_ammo = loaded
- if(!istype(loaded_ammo))
- ammo_count = min(load_sheet_max,ammo.amount)
- loaded = new load_type(src, ammo_count)
- else
- ammo_count = min(load_sheet_max-loaded_ammo.amount,ammo.amount)
- loaded_ammo.amount += ammo_count
- if(ammo_count <= 0)
- // This will also display when someone tries to insert a stack of 0, but that shouldn't ever happen anyway.
- to_chat(user, "\The [src] is already fully loaded.")
- return
- ammo.use(ammo_count)
+ return TRUE
+
+ if(!istype(thing, load_type))
+ return ..()
+
+ // This is not strictly necessary for the magnetic gun but something using
+ // specific ammo types may exist down the track.
+ var/obj/item/stack/ammo = thing
+ if(!istype(ammo))
+ if(loaded)
+ to_chat(user, "\The [src] already has \a [loaded] loaded.")
+ return TRUE
+ var/obj/item/magnetic_ammo/mag = thing
+ if(istype(mag))
+ if(!(load_type == mag.basetype))
+ to_chat(user, "\The [src] doesn't seem to accept \a [mag].")
+ return TRUE
+ projectile_type = mag.projectile_type
+ if(!user.try_unequip(thing, src))
+ return TRUE
+
+ loaded = thing
+ else if(load_sheet_max > 1)
+ var ammo_count = 0
+ var/obj/item/stack/loaded_ammo = loaded
+ if(!istype(loaded_ammo))
+ ammo_count = min(load_sheet_max,ammo.amount)
+ loaded = new load_type(src, ammo_count)
else
- if(loaded)
- to_chat(user, "\The [src] already has \a [loaded] loaded.")
- return
- loaded = new load_type(src, 1)
- ammo.use(1)
-
- user.visible_message("\The [user] loads \the [src] with \the [loaded].")
- playsound(loc, 'sound/weapons/flipblade.ogg', 50, 1)
- update_icon()
- return
- . = ..()
+ ammo_count = min(load_sheet_max-loaded_ammo.amount,ammo.amount)
+ loaded_ammo.amount += ammo_count
+ if(ammo_count <= 0)
+ // This will also display when someone tries to insert a stack of 0, but that shouldn't ever happen anyway.
+ to_chat(user, "\The [src] is already fully loaded.")
+ return TRUE
+ ammo.use(ammo_count)
+ else
+ if(loaded)
+ to_chat(user, "\The [src] already has \a [loaded] loaded.")
+ return TRUE
+ loaded = new load_type(src, 1)
+ ammo.use(1)
+
+ user.visible_message("\The [user] loads \the [src] with \the [loaded].")
+ playsound(loc, 'sound/weapons/flipblade.ogg', 50, 1)
+ update_icon()
+ return TRUE
/obj/item/gun/magnetic/attack_hand(var/mob/user)
if(!user.is_holding_offhand(src) || !user.check_dexterity(DEXTERITY_HOLD_ITEM, TRUE))
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index a515bf9592f..7505d0152aa 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -97,10 +97,10 @@
launcher = new(src)
/obj/item/gun/projectile/automatic/assault_rifle/grenade/attackby(obj/item/I, mob/user)
- if((istype(I, /obj/item/grenade)))
- launcher.load(I, user)
- else
- ..()
+ if(!istype(I, /obj/item/grenade))
+ return ..()
+ launcher.load(I, user)
+ return TRUE
/obj/item/gun/projectile/automatic/assault_rifle/grenade/attack_hand(mob/user)
if(!user.is_holding_offhand(src) || !use_launcher || !user.check_dexterity(DEXTERITY_HOLD_ITEM, TRUE))
diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm
index cf92798707d..a34c5d36ae9 100644
--- a/code/modules/projectiles/guns/projectile/dartgun.dm
+++ b/code/modules/projectiles/guns/projectile/dartgun.dm
@@ -70,8 +70,8 @@
/obj/item/gun/projectile/dartgun/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/chems/glass))
add_beaker(I, user)
- return 1
- ..()
+ return TRUE
+ return ..()
/obj/item/gun/projectile/dartgun/proc/add_beaker(var/obj/item/chems/glass/B, mob/user)
if(!istype(B, container_type))
diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm
index 9b70f8ea17e..0021fc7522b 100644
--- a/code/modules/projectiles/guns/projectile/shotgun.dm
+++ b/code/modules/projectiles/guns/projectile/shotgun.dm
@@ -91,15 +91,17 @@
for(var/i in 1 to max_shells)
Fire(user, user) //will this work? //it will. we call it twice, for twice the FUN
user.visible_message("The shotgun goes off!", "The shotgun goes off in your face!")
- return
- if(do_after(user, 30, src)) //SHIT IS STEALTHY EYYYYY
- user.try_unequip(src)
- var/obj/item/gun/projectile/shotgun/doublebarrel/sawn/empty/buddy = new(loc)
- transfer_fingerprints_to(buddy)
- qdel(src)
- to_chat(user, "You shorten the barrel of \the [src]!")
+ return TRUE
+ if(!do_after(user, 3 SECONDS, src)) //SHIT IS STEALTHY EYYYYY
+ return TRUE
+ user.try_unequip(src)
+ var/obj/item/gun/projectile/shotgun/doublebarrel/sawn/empty/buddy = new(loc)
+ transfer_fingerprints_to(buddy)
+ qdel(src)
+ to_chat(user, "You shorten the barrel of \the [src]!")
+ return TRUE
else
- ..()
+ return ..()
/obj/item/gun/projectile/shotgun/doublebarrel/sawn
name = "sawn-off shotgun"
diff --git a/code/modules/projectiles/secure.dm b/code/modules/projectiles/secure.dm
index 430df6ac42f..241a0e0a8af 100644
--- a/code/modules/projectiles/secure.dm
+++ b/code/modules/projectiles/secure.dm
@@ -35,10 +35,12 @@
verbs += /obj/item/gun/proc/reset_registration
registered_owner = id.registered_name
to_chat(user, SPAN_NOTICE("\The [src] chimes quietly as it registers to \"[registered_owner]\"."))
+ return TRUE
else
to_chat(user, SPAN_NOTICE("\The [src] buzzes quietly, refusing to register without first being reset."))
+ return TRUE
else
- ..()
+ return ..()
/obj/item/gun/emag_act(var/charges, var/mob/user)
if(!charges)
diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm
index 16fd08aed18..4357110ccbb 100644
--- a/code/modules/reagents/Chemistry-Holder.dm
+++ b/code/modules/reagents/Chemistry-Holder.dm
@@ -761,7 +761,7 @@ var/global/datum/reagents/sink/infinite_reagent_sink = new
if(transferred_phases & MAT_PHASE_SOLID)
var/solid_transferred = NONUNIT_FLOOR(min(amount_remaining, SOLID_VOLUME(src, type)), MINIMUM_CHEMICAL_VOLUME)
F.add_reagent(type, solid_transferred, REAGENT_DATA(src, type), defer_update = TRUE, phase = MAT_PHASE_SOLID)
- remove_reagent(type, solid_transferred, defer_update = TRUE, removed_phases = MAT_PHASE_LIQUID)
+ remove_reagent(type, solid_transferred, defer_update = TRUE, removed_phases = MAT_PHASE_SOLID)
amount_remaining -= solid_transferred
// Now that both liquid and solid components are removed, we can update if necessary.
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index ca7534a67df..eaac5570598 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -44,9 +44,9 @@
if(beaker)
to_chat(user, SPAN_WARNING("A beaker is already loaded into the machine."))
- return
+ return TRUE
if(!user.try_unequip(B, src))
- return
+ return TRUE
beaker = B
to_chat(user, SPAN_NOTICE("You add the beaker to the machine!"))
updateUsrDialog()
@@ -61,9 +61,9 @@
if(loaded_pill_bottle)
to_chat(user, SPAN_WARNING("A pill bottle is already loaded into the machine."))
- return
+ return TRUE
if(!user.try_unequip(B, src))
- return
+ return TRUE
loaded_pill_bottle = B
to_chat(user, SPAN_NOTICE("You add the pill bottle into the dispenser slot!"))
updateUsrDialog()
diff --git a/code/modules/reagents/chems/chems_pigments.dm b/code/modules/reagents/chems/chems_pigments.dm
index dafbb8f7870..d110680a76e 100644
--- a/code/modules/reagents/chems/chems_pigments.dm
+++ b/code/modules/reagents/chems/chems_pigments.dm
@@ -58,6 +58,11 @@
color = "#222222"
uid = "chem_pigment_black"
+/decl/material/liquid/pigment/black/ink
+ name = "ink"
+ lore_text = "Ink used for writing or dyeing materials, often made from soot or charcoal and some sort of binder."
+ uid = "chem_ink"
+
/decl/material/liquid/pigment/white
name = "white pigment"
color = "#aaaaaa"
diff --git a/code/modules/reagents/dispenser/dispenser2.dm b/code/modules/reagents/dispenser/dispenser2.dm
index 619b8e964bf..668594fcd71 100644
--- a/code/modules/reagents/dispenser/dispenser2.dm
+++ b/code/modules/reagents/dispenser/dispenser2.dm
@@ -93,7 +93,7 @@
if(IS_CROWBAR(hit_with) && !panel_open && length(cartridges))
var/label = input(user, "Which cartridge would you like to remove?", "Chemical Dispenser") as null|anything in cartridges
- if(!label) return
+ if(!label) return TRUE
var/obj/item/chems/chem_disp_cartridge/C = remove_cartridge(label)
if(C)
to_chat(user, SPAN_NOTICE("You remove \the [C] from \the [src]."))
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index 8203dfba6cd..49d66cb0af7 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -27,10 +27,16 @@
/obj/item/chems/on_update_icon()
. = ..()
- var/image/contents_overlay = get_reagents_overlay()
+ var/image/contents_overlay = get_reagents_overlay(use_single_icon ? icon_state : null)
if(contents_overlay)
add_overlay(contents_overlay)
+/obj/item/chems/apply_additional_mob_overlays(mob/living/user_mob, bodytype, image/overlay, slot, bodypart, use_fallback_if_icon_missing)
+ var/image/reagents_overlay = get_reagents_overlay(overlay.icon_state)
+ if(reagents_overlay)
+ overlay.add_overlay(reagents_overlay)
+ return ..()
+
/obj/item/chems/set_custom_desc(var/new_desc)
base_desc = new_desc
update_container_desc()
diff --git a/code/modules/reagents/reagent_containers/bucket.dm b/code/modules/reagents/reagent_containers/bucket.dm
new file mode 100644
index 00000000000..1e072a63217
--- /dev/null
+++ b/code/modules/reagents/reagent_containers/bucket.dm
@@ -0,0 +1,72 @@
+/obj/item/chems/glass/bucket
+ name = "bucket"
+ desc = "It's a bucket."
+ icon = 'icons/obj/items/bucket.dmi'
+ icon_state = ICON_STATE_WORLD
+ center_of_mass = @'{"x":16,"y":9}'
+ w_class = ITEM_SIZE_NORMAL
+ amount_per_transfer_from_this = 20
+ possible_transfer_amounts = @"[10,20,30,60,120,150,180]"
+ volume = 180
+ atom_flags = ATOM_FLAG_OPEN_CONTAINER
+ presentation_flags = PRESENTATION_FLAG_NAME
+ material = /decl/material/solid/organic/plastic
+ slot_flags = SLOT_HEAD
+ drop_sound = 'sound/foley/donk1.ogg'
+ pickup_sound = 'sound/foley/pickup2.ogg'
+
+/obj/item/chems/glass/bucket/attackby(var/obj/D, mob/user)
+ if(istype(D, /obj/item/mop))
+ if(reagents.total_volume < 1)
+ to_chat(user, SPAN_WARNING("\The [src] is empty!"))
+ else if(REAGENTS_FREE_SPACE(D.reagents) >= 5)
+ reagents.trans_to_obj(D, 5)
+ to_chat(user, SPAN_NOTICE("You wet \the [D] in \the [src]."))
+ playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
+ else
+ to_chat(user, SPAN_WARNING("\The [D] is saturated."))
+ return TRUE
+ return ..()
+
+/obj/item/chems/glass/bucket/on_update_icon()
+ . = ..()
+ if (!ATOM_IS_OPEN_CONTAINER(src))
+ add_overlay("lid_[initial(icon_state)]")
+
+/obj/item/chems/glass/bucket/get_reagents_overlay(state_prefix)
+ if(!ATOM_IS_OPEN_CONTAINER(src))
+ return null // no overlay while closed!
+ if(!reagents || (reagents.total_volume / volume) < 0.8)
+ return null // must be at least 80% full to show
+ return ..()
+
+/obj/item/chems/glass/bucket/wood
+ desc = "It's a wooden bucket. How rustic."
+ icon = 'icons/obj/items/wooden_bucket.dmi'
+ volume = 200
+ material = /decl/material/solid/organic/wood
+ material_alteration = MAT_FLAG_ALTERATION_NAME | MAT_FLAG_ALTERATION_COLOR // name is already modified
+ /// The material used for the chain, belts, and rivets holding the wood together, typically iron or steel.
+ /// Mostly used for visual and matter reasons. Initially a typepath, set to a decl on init.
+ var/decl/material/rivet_material = /decl/material/solid/metal/iron
+
+/obj/item/chems/glass/bucket/wood/Initialize(ml, material_key)
+ rivet_material = GET_DECL(rivet_material)
+ . = ..()
+
+// Until a future point where the bucket recipe is redone, the rivet material will be entirely visual.
+// At some point, there could be a create_matter override to handle it, but that would require
+// the crafting recipe to be changed.
+// Also, pre-emptively, the entry needs to be inserted into the matter list BEFORE the parent call.
+// You'll thank me later when you don't make the same mistake a second time.
+
+/obj/item/chems/glass/bucket/wood/apply_additional_mob_overlays(mob/living/user_mob, bodytype, image/overlay, slot, bodypart, use_fallback_if_icon_missing)
+ overlay.add_overlay(overlay_image(icon, "[overlay.icon_state]_overlay", rivet_material.get_reagent_color(), RESET_COLOR | RESET_ALPHA))
+ return ..()
+
+/obj/item/chems/glass/bucket/wood/on_update_icon()
+ . = ..()
+ add_overlay(overlay_image(icon, "[icon_state]_overlay", rivet_material.get_reagent_color(), RESET_COLOR | RESET_ALPHA))
+
+/obj/item/chems/glass/bucket/wood/can_lid()
+ return FALSE // todo: add lid sprite?
\ No newline at end of file
diff --git a/code/modules/reagents/reagent_containers/condiments/__condiment.dm b/code/modules/reagents/reagent_containers/condiments/__condiment.dm
index 255ffef4b7c..b450ee55549 100644
--- a/code/modules/reagents/reagent_containers/condiments/__condiment.dm
+++ b/code/modules/reagents/reagent_containers/condiments/__condiment.dm
@@ -23,20 +23,21 @@
if(IS_PEN(W))
var/tmp_label = sanitize_safe(input(user, "Enter a label for [name]", "Label", label_text), MAX_NAME_LEN)
if(tmp_label == label_text)
- return
+ return TRUE
if(length(tmp_label) > 10)
to_chat(user, SPAN_NOTICE("The label can be at most 10 characters long."))
+ return TRUE
+ if(length(tmp_label))
+ to_chat(user, SPAN_NOTICE("You set the label to \"[tmp_label]\"."))
+ label_text = tmp_label
else
- if(length(tmp_label))
- to_chat(user, SPAN_NOTICE("You set the label to \"[tmp_label]\"."))
- label_text = tmp_label
- else
- to_chat(user, SPAN_NOTICE("You remove the label."))
- label_text = null
- update_name()
- update_container_desc()
- update_icon()
- return
+ to_chat(user, SPAN_NOTICE("You remove the label."))
+ label_text = null
+ update_name()
+ update_container_desc()
+ update_icon()
+ return TRUE
+ return ..()
/obj/item/chems/condiment/afterattack(var/obj/target, var/mob/user, var/proximity)
if(!proximity)
diff --git a/code/modules/reagents/reagent_containers/drinkingglass/drinkingglass.dm b/code/modules/reagents/reagent_containers/drinkingglass/drinkingglass.dm
index 0a4dd77dabe..809c6cedb83 100644
--- a/code/modules/reagents/reagent_containers/drinkingglass/drinkingglass.dm
+++ b/code/modules/reagents/reagent_containers/drinkingglass/drinkingglass.dm
@@ -214,10 +214,12 @@ var/global/const/DRINK_ICON_NOISY = "noise"
user.visible_message("The contents of \the [src] splash all over [user]!")
reagents.splash(user, reagents.total_volume)
qdel(src)
- return
+ return TRUE
user.visible_message("[user] gently strikes \the [src] with a spoon, calling the room to attention.")
playsound(src, "sound/items/wineglass.ogg", 65, 1)
- else return ..()
+ return TRUE
+ else
+ return ..()
/obj/item/chems/drinks/glass2/ProcessAtomTemperature()
var/old_temp = temperature
diff --git a/code/modules/reagents/reagent_containers/drinkingglass/extras.dm b/code/modules/reagents/reagent_containers/drinkingglass/extras.dm
index d50d6717448..0372bc390fb 100644
--- a/code/modules/reagents/reagent_containers/drinkingglass/extras.dm
+++ b/code/modules/reagents/reagent_containers/drinkingglass/extras.dm
@@ -3,25 +3,27 @@
if(istype(I, /obj/item/glass_extra))
var/obj/item/glass_extra/GE = I
- if(can_add_extra(GE))
- extras += GE
- if(!user.try_unequip(GE, src))
- return
- to_chat(user, "You add \the [GE] to \the [src].")
- update_icon()
- else
+ if(!can_add_extra(GE))
to_chat(user, "There's no space to put \the [GE] on \the [src]!")
+ return TRUE
+ extras += GE
+ if(!user.try_unequip(GE, src))
+ return TRUE
+ to_chat(user, "You add \the [GE] to \the [src].")
+ update_icon()
+ return TRUE
else if(istype(I, /obj/item/food/processed_grown/slice))
if(!rim_pos)
to_chat(user, "There's no space to put \the [I] on \the [src]!")
- return
+ return TRUE
var/obj/item/food/processed_grown/slice/FS = I
extras += FS
if(!user.try_unequip(FS, src))
- return
+ return TRUE
reset_offsets(0) // Reset its pixel offsets so the icons work!
to_chat(user, "You add \the [FS] to \the [src].")
update_icon()
+ return TRUE
else
return ..()
diff --git a/code/modules/reagents/reagent_containers/food/baking/leavened_dough.dm b/code/modules/reagents/reagent_containers/food/baking/leavened_dough.dm
index 6718dbfee2e..f9e86d7cd55 100644
--- a/code/modules/reagents/reagent_containers/food/baking/leavened_dough.dm
+++ b/code/modules/reagents/reagent_containers/food/baking/leavened_dough.dm
@@ -13,11 +13,13 @@
// Dough + rolling pin = flat dough
/obj/item/food/dough/attackby(obj/item/W, mob/user)
- if(istype(W,/obj/item/kitchen/rollingpin))
- var/obj/item/food/sliceable/flatdough/result = new()
- result.dropInto(loc)
- to_chat(user, "You flatten the dough.")
- qdel(src)
+ if(!istype(W,/obj/item/kitchen/rollingpin))
+ return ..()
+ var/obj/item/food/sliceable/flatdough/result = new()
+ result.dropInto(loc)
+ to_chat(user, "You flatten the dough.")
+ qdel(src)
+ return TRUE
// slicable into 3x doughslices
/obj/item/food/sliceable/flatdough
diff --git a/code/modules/reagents/reagent_containers/food/canned/_canned.dm b/code/modules/reagents/reagent_containers/food/canned/_canned.dm
index e3dac503ede..5e4c35d8129 100644
--- a/code/modules/reagents/reagent_containers/food/canned/_canned.dm
+++ b/code/modules/reagents/reagent_containers/food/canned/_canned.dm
@@ -35,22 +35,23 @@
unseal()
/obj/item/food/can/attackby(obj/item/W, mob/user)
- if(istype(W, /obj/item/knife) && !ATOM_IS_OPEN_CONTAINER(src))
- user.visible_message(
- SPAN_NOTICE("\The [user] is trying to open \the [src] with \the [W]."),
- SPAN_NOTICE("You start to open \the [src].")
- )
- var/open_timer = istype(W, /obj/item/knife/opener) ? 5 SECONDS : 15 SECONDS
- if(do_after(user, open_timer, src))
+ if(!ATOM_IS_OPEN_CONTAINER(src))
+ if(istype(W, /obj/item/knife))
+ user.visible_message(
+ SPAN_NOTICE("\The [user] starts trying to open \the [src] with \the [W]."),
+ SPAN_NOTICE("You start to open \the [src].")
+ )
+ var/open_timer = istype(W, /obj/item/knife/opener) ? 5 SECONDS : 15 SECONDS
+ if(!do_after(user, open_timer, src))
+ to_chat(user, SPAN_WARNING("You must remain uninterrupted to open \the [src]."))
+ return TRUE
to_chat(user, SPAN_NOTICE("You unseal \the [src] with a crack of metal."))
unseal()
- return
-
- else if(istype(W,/obj/item/utensil))
- if(ATOM_IS_OPEN_CONTAINER(src))
- ..()
- else
- to_chat(user, SPAN_WARNING("You need a can-opener to open this!"))
+ return TRUE
+ else if(istype(W,/obj/item/utensil))
+ to_chat(user, SPAN_WARNING("You need a can opener to open this!"))
+ return TRUE
+ return ..()
/obj/item/food/can/on_update_icon()
. = ..()
diff --git a/code/modules/reagents/reagent_containers/food/eggs.dm b/code/modules/reagents/reagent_containers/food/eggs.dm
index 89f0e101d5c..bf707313e55 100644
--- a/code/modules/reagents/reagent_containers/food/eggs.dm
+++ b/code/modules/reagents/reagent_containers/food/eggs.dm
@@ -40,7 +40,7 @@
if(!(clr in list("blue","green","mime","orange","purple","rainbow","red","yellow")))
to_chat(usr, SPAN_WARNING("The egg refuses to take on this color!"))
- return
+ return TRUE
to_chat(usr, SPAN_NOTICE("You color \the [src] [clr]"))
icon_state = "egg-[clr]"
diff --git a/code/modules/reagents/reagent_containers/food/fish.dm b/code/modules/reagents/reagent_containers/food/fish.dm
index 3e90bb133bf..d4a3a57106b 100644
--- a/code/modules/reagents/reagent_containers/food/fish.dm
+++ b/code/modules/reagents/reagent_containers/food/fish.dm
@@ -73,5 +73,5 @@
if(thing.sharp || thing.edge)
user.visible_message(SPAN_NOTICE("\The [user] cracks open \the [src] with \the [thing]."))
crack_shell(user)
- return
+ return TRUE
. = ..()
diff --git a/code/modules/reagents/reagent_containers/food/sandwich.dm b/code/modules/reagents/reagent_containers/food/sandwich.dm
index 2209d52ed0a..ca69321a749 100644
--- a/code/modules/reagents/reagent_containers/food/sandwich.dm
+++ b/code/modules/reagents/reagent_containers/food/sandwich.dm
@@ -5,7 +5,8 @@
S.dropInto(loc)
S.attackby(W,user)
qdel(src)
- ..()
+ return TRUE
+ return ..()
/obj/item/food/csandwich
name = "sandwich"
@@ -17,6 +18,8 @@
var/list/ingredients = list()
/obj/item/food/csandwich/attackby(obj/item/W, mob/user)
+ if(!istype(W, /obj/item/food) && !istype(W, /obj/item/shard))
+ return ..()
var/sandwich_limit = 4
for(var/obj/item/O in ingredients)
@@ -24,24 +27,24 @@
sandwich_limit += 4
if(src.contents.len > sandwich_limit)
- to_chat(user, "If you put anything else on \the [src] it's going to collapse.")
- return
- else if(istype(W,/obj/item/shard))
+ to_chat(user, "If you put anything else on \the [src] it's going to collapse.")
+ return TRUE
+ if(istype(W,/obj/item/shard))
if(!user.try_unequip(W, src))
- return
+ return TRUE
to_chat(user, "You hide [W] in \the [src].")
update_icon()
- return
+ return TRUE
else if(istype(W,/obj/item/food))
if(!user.try_unequip(W, src))
- return
+ return TRUE
to_chat(user, "You layer [W] over \the [src].")
var/obj/item/chems/F = W
F.reagents.trans_to_obj(src, F.reagents.total_volume)
ingredients += W
update_icon()
- return
- ..()
+ return TRUE
+ return FALSE // This shouldn't ever happen but okay.
/obj/item/food/csandwich/on_update_icon()
. = ..()
diff --git a/code/modules/reagents/reagent_containers/food/sushi.dm b/code/modules/reagents/reagent_containers/food/sushi.dm
index f74ead79e3f..4941b2aabed 100644
--- a/code/modules/reagents/reagent_containers/food/sushi.dm
+++ b/code/modules/reagents/reagent_containers/food/sushi.dm
@@ -91,16 +91,16 @@
var/obj/item/food/sashimi/other_sashimi = I
if(slices + other_sashimi.slices > 5)
to_chat(user, "Show some restraint, would you?")
- return
+ return TRUE
if(!user.try_unequip(I))
- return
+ return TRUE
slices += other_sashimi.slices
bitesize = slices
update_icon()
if(I.reagents)
I.reagents.trans_to(src, I.reagents.total_volume)
qdel(I)
- return
+ return TRUE
// Make sushi.
if(istype(I, /obj/item/food/boiledrice))
@@ -108,9 +108,9 @@
to_chat(user, "Putting more than one slice of fish on your sushi is just greedy.")
else
if(!user.try_unequip(I))
- return
+ return TRUE
new /obj/item/food/sushi(get_turf(src), null, TRUE, I, src)
- return
+ return TRUE
. = ..()
/obj/item/food/sashimi/handle_utensil_cutting(obj/item/tool, mob/user)
@@ -133,7 +133,7 @@
to_chat(user, "Putting more than one slice of fish on your sushi is just greedy.")
else
new /obj/item/food/sushi(get_turf(src), null, TRUE, src, I)
- return
+ return TRUE
var/static/list/sushi_types = list(
/obj/item/food/friedegg,
/obj/item/food/tofu,
@@ -144,27 +144,28 @@
)
if(is_type_in_list(I, sushi_types))
new /obj/item/food/sushi(get_turf(src), null, TRUE, src, I)
- return
+ return TRUE
. = ..()
// Used for turning other food into sushi.
+// TODO: maybe make these resolve_attackby overrides on boiledrice instead?
/obj/item/food/friedegg/attackby(var/obj/item/I, var/mob/user)
if((locate(/obj/structure/table) in loc) && istype(I, /obj/item/food/boiledrice))
new /obj/item/food/sushi(get_turf(src), null, TRUE, I, src)
- return
+ return TRUE
. = ..()
/obj/item/food/tofu/attackby(var/obj/item/I, var/mob/user)
if((locate(/obj/structure/table) in loc) && istype(I, /obj/item/food/boiledrice))
new /obj/item/food/sushi(get_turf(src), null, TRUE, I, src)
- return
+ return TRUE
. = ..()
/obj/item/food/butchery/cutlet/raw/attackby(var/obj/item/I, var/mob/user)
if((locate(/obj/structure/table) in loc) && istype(I, /obj/item/food/boiledrice))
new /obj/item/food/sushi(get_turf(src), null, TRUE, I, src)
- return
+ return TRUE
. = ..()
/obj/item/food/butchery/cutlet/attackby(var/obj/item/I, var/mob/user)
if((locate(/obj/structure/table) in loc) && istype(I, /obj/item/food/boiledrice))
new /obj/item/food/sushi(get_turf(src), null, TRUE, I, src)
- return
+ return TRUE
. = ..()
// End non-fish sushi.
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 11b23defd9f..64473fa9530 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -98,47 +98,3 @@
reagents.splash(target, min(reagents.total_volume, 5))
return TRUE
. = ..()
-
-/obj/item/chems/glass/bucket
- name = "bucket"
- desc = "It's a bucket."
- icon = 'icons/obj/items/bucket.dmi'
- icon_state = ICON_STATE_WORLD
- center_of_mass = @'{"x":16,"y":9}'
- w_class = ITEM_SIZE_NORMAL
- amount_per_transfer_from_this = 20
- possible_transfer_amounts = @"[10,20,30,60,120,150,180]"
- volume = 180
- atom_flags = ATOM_FLAG_OPEN_CONTAINER
- presentation_flags = PRESENTATION_FLAG_NAME
- material = /decl/material/solid/organic/plastic
- slot_flags = SLOT_HEAD
- drop_sound = 'sound/foley/donk1.ogg'
- pickup_sound = 'sound/foley/pickup2.ogg'
-
-/obj/item/chems/glass/bucket/wood
- desc = "It's a wooden bucket. How rustic."
- icon = 'icons/obj/items/wooden_bucket.dmi'
- volume = 200
- material = /decl/material/solid/organic/wood
-
-/obj/item/chems/glass/bucket/attackby(var/obj/D, mob/user)
- if(istype(D, /obj/item/mop))
- if(reagents.total_volume < 1)
- to_chat(user, SPAN_WARNING("\The [src] is empty!"))
- else if(REAGENTS_FREE_SPACE(D.reagents) >= 5)
- reagents.trans_to_obj(D, 5)
- to_chat(user, SPAN_NOTICE("You wet \the [D] in \the [src]."))
- playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
- else
- to_chat(user, SPAN_WARNING("\The [D] is saturated."))
- return
- else
- return ..()
-
-/obj/item/chems/glass/bucket/on_update_icon()
- . = ..()
- if (!ATOM_IS_OPEN_CONTAINER(src))
- add_overlay("lid_[initial(icon_state)]")
- else if(reagents && reagents.total_volume && round((reagents.total_volume / volume) * 100) > 80)
- add_overlay(overlay_image('icons/obj/reagentfillings.dmi', "bucket", reagents.get_color()))
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 32808ef48c3..af8367645f7 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -152,12 +152,12 @@
return TRUE
/obj/item/chems/hypospray/vial/attackby(obj/item/W, mob/user)
- if(istype(W, /obj/item/chems/glass/beaker/vial))
- if(!do_after(user,10) || !(W in user))
- return
- insert_vial(W, user)
+ if(!istype(W, /obj/item/chems/glass/beaker/vial))
+ return ..()
+ if(!do_after(user, 1 SECOND, src))
return TRUE
- . = ..()
+ insert_vial(W, user)
+ return TRUE
/obj/item/chems/hypospray/vial/afterattack(obj/target, mob/user, proximity) // hyposprays can be dumped into, why not out? uses standard_pour_into helper checks.
if(!proximity)
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 8f842d8fca6..af3b52c34c2 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -65,7 +65,7 @@
update_icon()
/obj/item/chems/syringe/attackby(obj/item/I, mob/user)
- return
+ return FALSE // allow afterattack to proceed
/obj/item/chems/syringe/afterattack(obj/target, mob/user, proximity)
if(!proximity)
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index 6c87855793c..febab7b3c6b 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -208,12 +208,14 @@ var/global/list/all_conveyor_switches = list()
position = 0
/obj/machinery/conveyor_switch/attackby(obj/item/I, mob/user, params)
- if(IS_CROWBAR(I))
- var/obj/item/conveyor_switch_construct/C = new/obj/item/conveyor_switch_construct(src.loc)
- C.id_tag = id_tag
- transfer_fingerprints_to(C)
- to_chat(user, "You deattach the conveyor switch.")
- qdel(src)
+ if(!IS_CROWBAR(I))
+ return ..()
+ var/obj/item/conveyor_switch_construct/C = new/obj/item/conveyor_switch_construct(src.loc)
+ C.id_tag = id_tag
+ transfer_fingerprints_to(C)
+ to_chat(user, "You detach the conveyor switch.")
+ qdel(src)
+ return TRUE
/obj/machinery/conveyor_switch/oneway
var/convdir = 1 //Set to 1 or -1 depending on which way you want the convayor to go. (In other words keep at 1 and set the proper dir on the belts.)
@@ -240,11 +242,12 @@ var/global/list/all_conveyor_switches = list()
var/id_tag
/obj/item/conveyor_construct/attackby(obj/item/I, mob/user, params)
- ..()
- if(istype(I, /obj/item/conveyor_switch_construct))
- to_chat(user, "You link the switch to the conveyor belt assembly.")
- var/obj/item/conveyor_switch_construct/C = I
- id_tag = C.id_tag
+ if(!istype(I, /obj/item/conveyor_switch_construct))
+ return ..()
+ to_chat(user, "You link the switch to the conveyor belt assembly.")
+ var/obj/item/conveyor_switch_construct/C = I
+ id_tag = C.id_tag
+ return TRUE
/obj/item/conveyor_construct/afterattack(atom/A, mob/user, proximity)
if(!proximity || !istype(A, /turf/floor) || user.incapacitated())
diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm
index 872ba33b569..132771035d4 100644
--- a/code/modules/recycling/disposal-construction.dm
+++ b/code/modules/recycling/disposal-construction.dm
@@ -123,10 +123,10 @@
/obj/structure/disposalconstruct/attackby(var/obj/item/I, var/mob/user)
var/turf/T = loc
if(!istype(T))
- return
+ return TRUE
if(!T.is_plating())
- to_chat(user, "You can only manipulate \the [src] if the floor plating is removed.")
- return
+ to_chat(user, "You can only manipulate \the [src] if the plating is exposed.")
+ return TRUE
var/obj/structure/disposalpipe/CP = locate() in T
@@ -137,31 +137,33 @@
to_chat(user, "You detach \the [src] from the underfloor.")
else
if(!check_buildability(CP, user))
- return
+ return TRUE
wrench_down(TRUE)
to_chat(user, "You attach \the [src] to the underfloor.")
playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
update()
update_verbs()
-
+ return TRUE
else if(istype(I, /obj/item/weldingtool))
if(anchored)
var/obj/item/weldingtool/W = I
if(W.weld(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
to_chat(user, "Welding \the [src] in place.")
- if(do_after(user, 20, src))
- if(!src || !W.isOn()) return
+ if(do_after(user, 2 SECONDS, src))
+ if(!src || !W.isOn()) return TRUE
to_chat(user, "\The [src] has been welded in place!")
build(CP)
qdel(src)
- return
+ return TRUE
+ return TRUE
else
to_chat(user, "You need more welding fuel to complete this task.")
- return
+ return TRUE
else
to_chat(user, "You need to attach it to the plating first!")
- return
+ return TRUE
+ return TRUE
/obj/structure/disposalconstruct/hides_under_flooring()
return anchored
@@ -211,6 +213,7 @@
/obj/structure/disposalconstruct/machine
obj_flags = 0 // No rotating
+ constructed_path = /obj/machinery/disposal/buildable
/obj/structure/disposalconstruct/machine/Initialize(mapload, P)
. = ..()
@@ -225,7 +228,7 @@
update_icon()
/obj/structure/disposalconstruct/machine/build(obj/structure/disposalpipe/CP)
- var/obj/machinery/disposal/machine = new /obj/machinery/disposal(get_turf(src), dir)
+ var/obj/machinery/disposal/machine = new constructed_path(get_turf(src), dir)
var/datum/extension/parts_stash/stash = get_extension(src, /datum/extension/parts_stash)
if(stash)
stash.install_into(machine)
@@ -240,6 +243,9 @@
else
..()
+/obj/structure/disposalconstruct/machine/outlet
+ constructed_path = /obj/structure/disposaloutlet
+
/obj/structure/disposalconstruct/machine/outlet/build(obj/structure/disposalpipe/CP)
var/obj/structure/disposaloutlet/P = new constructed_path(loc)
transfer_fingerprints_to(P)
@@ -248,4 +254,5 @@
Trunk.linked = P
/obj/structure/disposalconstruct/machine/chute
- obj_flags = OBJ_FLAG_ROTATABLE
\ No newline at end of file
+ obj_flags = OBJ_FLAG_ROTATABLE
+ constructed_path = /obj/machinery/disposal/deliveryChute/buildable
\ No newline at end of file
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index 17283b5fef7..a753cdde1c7 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -213,6 +213,7 @@ var/global/list/diversion_junctions = list()
flush = !flush
update_icon()
return TRUE
+ return FALSE
/obj/machinery/disposal/interface_interact(mob/user)
interact(user)
@@ -571,38 +572,44 @@ var/global/list/diversion_junctions = list()
playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0)
/obj/structure/disposaloutlet/attackby(var/obj/item/I, var/mob/user)
- if(!I || !user)
- return
src.add_fingerprint(user, 0, I)
if(IS_SCREWDRIVER(I))
- if(mode==0)
- mode=1
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
- to_chat(user, "You remove the screws around the power connection.")
- return
- else if(mode==1)
- mode=0
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
- to_chat(user, "You attach the screws around the power connection.")
- return
+ switch(mode)
+ if(0)
+ mode=1
+ playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
+ to_chat(user, "You remove the screws around the power connection.")
+ return TRUE
+ if(1)
+ mode=0
+ playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
+ to_chat(user, "You attach the screws around the power connection.")
+ return TRUE
+ else // This should be invalid?
+ return FALSE
else if(istype(I,/obj/item/weldingtool) && mode==1)
var/obj/item/weldingtool/W = I
if(W.weld(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
to_chat(user, "You start slicing the floorweld off the disposal outlet.")
- if(do_after(user,20, src))
- if(!src || !W.isOn()) return
- to_chat(user, "You sliced the floorweld off the disposal outlet.")
- var/obj/structure/disposalconstruct/machine/outlet/C = new (loc, src)
- src.transfer_fingerprints_to(C)
- C.anchored = TRUE
- C.set_density(1)
- C.update()
- qdel(src)
- return
+ if(!do_after(user, 2 SECONDS, src))
+ to_chat(user, "You must remain still to deconstruct \the [src].")
+ return TRUE
+ if(QDELETED(src) || !W.isOn())
+ return TRUE
+ to_chat(user, "You sliced the floorweld off the disposal outlet.")
+ var/obj/structure/disposalconstruct/machine/outlet/C = new (loc, src)
+ src.transfer_fingerprints_to(C)
+ C.anchored = TRUE
+ C.set_density(1)
+ C.update()
+ qdel(src)
+ return TRUE
else
to_chat(user, "You need more welding fuel to complete this task.")
- return
+ return TRUE
+ else
+ return ..()
/obj/structure/disposaloutlet/forceMove()//updates this when shuttle moves. So you can YEET things out the airlock
. = ..()
diff --git a/code/modules/recycling/disposalpipe.dm b/code/modules/recycling/disposalpipe.dm
index 520a867f0ff..60401186373 100644
--- a/code/modules/recycling/disposalpipe.dm
+++ b/code/modules/recycling/disposalpipe.dm
@@ -196,31 +196,31 @@
else
take_damage(rand(5,15))
+/obj/structure/disposalpipe/proc/can_deconstruct()
+ var/turf/T = get_turf(src)
+ return T.is_plating() // prevent interaction with T-scanner revealed pipes
+
//attack by item
//weldingtool: unfasten and convert to obj/disposalconstruct
/obj/structure/disposalpipe/attackby(var/obj/item/I, var/mob/user)
-
- var/turf/T = src.loc
- if(!T.is_plating())
- return // prevent interaction with T-scanner revealed pipes
+ if(!istype(I, /obj/item/weldingtool))
+ return ..()
+ if(!can_deconstruct())
+ return TRUE
src.add_fingerprint(user, 0, I)
- if(istype(I, /obj/item/weldingtool))
- var/obj/item/weldingtool/W = I
- if(W.weld(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- // check if anything changed over 2 seconds
- var/turf/uloc = user.loc
- var/atom/wloc = W.loc
- to_chat(user, "Slicing the disposal pipe.")
- sleep(30)
- if(!W.isOn()) return
- if(user.loc == uloc && wloc == W.loc)
- welded()
- else
- to_chat(user, "You must stay still while welding the pipe.")
- else
- to_chat(user, "You need more welding fuel to cut the pipe.")
- return
+ var/obj/item/weldingtool/W = I
+ if(W.weld(0,user))
+ playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
+ to_chat(user, "You begin slicing \the [src].")
+ if(!do_after(user, 3 SECONDS, src))
+ to_chat(user, "You must stay still while welding the pipe.")
+ return TRUE
+ if(!W.isOn())
+ return TRUE
+ welded()
+ return TRUE
+ to_chat(user, "You need more welding fuel to cut the pipe.")
+ return TRUE
// called when pipe is cut with welder
/obj/structure/disposalpipe/proc/welded()
@@ -466,19 +466,17 @@
updatedesc()
update()
-/obj/structure/disposalpipe/tagger/attackby(var/obj/item/I, var/mob/user)
- if(..())
- return
-
- if(istype(I, /obj/item/destTagger))
- var/obj/item/destTagger/O = I
- if(O.current_tag)// Tag set
- sort_tag = O.current_tag
- playsound(src.loc, 'sound/machines/twobeep.ogg', 100, 1)
- to_chat(user, SPAN_NOTICE("Changed tag to '[sort_tag]'."))
- updatename()
- updatedesc()
- return TRUE
+/obj/structure/disposalpipe/tagger/attackby(var/obj/item/item, var/mob/user)
+ if(!istype(item, /obj/item/destTagger))
+ return ..()
+ var/obj/item/destTagger/tagger = item
+ if(tagger.current_tag)// Tag set
+ sort_tag = tagger.current_tag
+ playsound(src.loc, 'sound/machines/twobeep.ogg', 100, 1)
+ to_chat(user, SPAN_NOTICE("Changed tag to '[sort_tag]'."))
+ updatename()
+ updatedesc()
+ return TRUE
/obj/structure/disposalpipe/tagger/transfer(var/obj/structure/disposalholder/H)
if(sort_tag)
@@ -542,16 +540,15 @@
linked = null
return ..()
-/obj/structure/disposalpipe/diversion_junction/attackby(var/obj/item/I, var/mob/user)
- if(..())
- return 1
-
- if(istype(I, /obj/item/disposal_switch_construct))
- var/obj/item/disposal_switch_construct/C = I
- if(C.id_tag)
- id_tag = C.id_tag
- playsound(src.loc, 'sound/machines/twobeep.ogg', 100, 1)
- user.visible_message("\The [user] changes \the [src]'s tag.")
+/obj/structure/disposalpipe/diversion_junction/attackby(var/obj/item/item, var/mob/user)
+ if(!istype(item, /obj/item/disposal_switch_construct))
+ return ..()
+ var/obj/item/disposal_switch_construct/switchcon = item
+ if(switchcon.id_tag)
+ id_tag = switchcon.id_tag
+ playsound(src.loc, 'sound/machines/twobeep.ogg', 100, TRUE)
+ user.visible_message("\The [user] changes \the [src]'s tag.")
+ return TRUE
/obj/structure/disposalpipe/diversion_junction/nextdir(var/fromdir, var/sortTag)
@@ -635,19 +632,17 @@
updatedesc()
updatename()
-/obj/structure/disposalpipe/sortjunction/attackby(var/obj/item/I, var/mob/user)
- if(..())
- return
-
- if(istype(I, /obj/item/destTagger))
- var/obj/item/destTagger/O = I
-
- if(O.current_tag)// Tag set
- sort_type = O.current_tag
- playsound(src.loc, 'sound/machines/twobeep.ogg', 100, 1)
- to_chat(user, SPAN_NOTICE("Changed filter to '[sort_type]'."))
- updatename()
- updatedesc()
+/obj/structure/disposalpipe/sortjunction/attackby(var/obj/item/item, var/mob/user)
+ if(!istype(item, /obj/item/destTagger))
+ return ..()
+ var/obj/item/destTagger/tagger = item
+ if(tagger.current_tag)// Tag set
+ sort_type = tagger.current_tag
+ playsound(src.loc, 'sound/machines/twobeep.ogg', 100, TRUE)
+ to_chat(user, SPAN_NOTICE("Changed filter to '[sort_type]'."))
+ updatename()
+ updatedesc()
+ return TRUE
/obj/structure/disposalpipe/sortjunction/proc/divert_check(var/checkTag)
return sort_type == checkTag
@@ -748,41 +743,22 @@
update()
return
- // Override attackby so we disallow trunkremoval when somethings ontop
-/obj/structure/disposalpipe/trunk/attackby(var/obj/item/I, var/mob/user)
-
+// Override can_deconstruct so we disallow trunkremoval when something's on top
+/obj/structure/disposalpipe/trunk/can_deconstruct()
+ . = ..()
+ var/turf/T = get_turf(src)
//Disposal constructors
- var/obj/structure/disposalconstruct/C = locate() in src.loc
- if(C && C.anchored)
- return
-
- var/turf/T = src.loc
- if(!T.is_plating())
- return // prevent interaction with T-scanner revealed pipes
- src.add_fingerprint(user, 0, I)
- if(istype(I, /obj/item/weldingtool))
- var/obj/item/weldingtool/W = I
-
- if(W.weld(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- // check if anything changed over 2 seconds
- var/turf/uloc = user.loc
- var/atom/wloc = W.loc
- to_chat(user, "Slicing the disposal pipe.")
- sleep(30)
- if(!W.isOn()) return
- if(user.loc == uloc && wloc == W.loc)
- welded()
- else
- to_chat(user, "You must stay still while welding the pipe.")
- else
- to_chat(user, "You need more welding fuel to cut the pipe.")
- return
-
- // would transfer to next pipe segment, but we are in a trunk
- // if not entering from disposal bin,
- // transfer to linked object (outlet or bin)
-
+ for(var/obj/structure/disposalconstruct/C in T)
+ if(C.anchored)
+ return FALSE
+ // Disposal machinery
+ for(var/obj/machinery/disposal/disposal in T)
+ if(disposal.anchored)
+ return FALSE
+
+// would transfer to next pipe segment, but we are in a trunk
+// if not entering from disposal bin,
+// transfer to linked object (outlet or bin)
/obj/structure/disposalpipe/trunk/transfer(var/obj/structure/disposalholder/H)
if(H.dir == DOWN) // we just entered from a disposer
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index e281cf1841a..76e6c440ec3 100644
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -80,35 +80,33 @@
return
/obj/machinery/disposal/deliveryChute/attackby(var/obj/item/I, var/mob/user)
- if(!I || !user)
- return
-
if(IS_SCREWDRIVER(I))
if(c_mode==0)
c_mode=1
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
+ playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, TRUE)
to_chat(user, "You remove the screws around the power connection.")
- return
+ return TRUE
else if(c_mode==1)
c_mode=0
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
+ playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, TRUE)
to_chat(user, "You attach the screws around the power connection.")
- return
+ return TRUE
else if(IS_WELDER(I) && c_mode==1)
var/obj/item/weldingtool/W = I
- if(W.weld(1,user))
- to_chat(user, "You start slicing the floorweld off the delivery chute.")
- if(do_after(user,20, src))
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- if(!src || !W.isOn()) return
- to_chat(user, "You sliced the floorweld off the delivery chute.")
- var/obj/structure/disposalconstruct/C = new (loc, src)
- C.update()
- qdel(src)
- return
- else
- to_chat(user, "You need more welding fuel to complete this task.")
- return
+ if(!W.weld(1,user)) // 'you need more welding fuel' messages are already handled
+ return TRUE
+ to_chat(user, "You start slicing the floorweld off the delivery chute.")
+ if(!do_after(user, 2 SECONDS, src))
+ to_chat(user, "You stop slicing the floorweld off the delivery chute.")
+ return TRUE
+ playsound(src.loc, 'sound/items/Welder2.ogg', 100, TRUE)
+ if(!src || !W.isOn()) return TRUE
+ to_chat(user, "You slice the floorweld off the delivery chute.")
+ var/obj/structure/disposalconstruct/C = new (loc, src)
+ C.update()
+ qdel(src)
+ return TRUE
+ return ..()
/obj/machinery/disposal/deliveryChute/Destroy()
if(trunk)
diff --git a/code/modules/research/design_console.dm b/code/modules/research/design_console.dm
index 5e2ee5b1194..73b6abc3255 100644
--- a/code/modules/research/design_console.dm
+++ b/code/modules/research/design_console.dm
@@ -25,11 +25,11 @@
if(istype(I, /obj/item/disk/design_disk))
if(disk)
to_chat(user, SPAN_WARNING("\The [src] already has a disk inserted."))
- return
+ return TRUE
if(user.try_unequip(I, src))
visible_message("\The [user] slots \the [I] into \the [src].")
disk = I
- return
+ return TRUE
. = ..()
/obj/machinery/computer/design_console/proc/eject_disk(var/mob/user)
diff --git a/code/modules/research/design_database.dm b/code/modules/research/design_database.dm
index f2095ae7714..11e53477ef5 100644
--- a/code/modules/research/design_database.dm
+++ b/code/modules/research/design_database.dm
@@ -155,13 +155,13 @@ var/global/list/default_initial_tech_levels
if(istype(I, /obj/item/disk/tech_disk))
if(disk)
to_chat(user, SPAN_WARNING("\The [src] already has a disk inserted."))
- return
+ return TRUE
if(user.try_unequip(I, src))
visible_message("\The [user] slots \the [I] into \the [src].")
visible_message(SPAN_NOTICE("\The [src]'s I/O light begins to blink."))
disk = I
need_disk_operation = TRUE
- return
+ return TRUE
. = ..()
diff --git a/code/modules/research/design_database_analyzer.dm b/code/modules/research/design_database_analyzer.dm
index b4b8b587365..ad1c78d239a 100644
--- a/code/modules/research/design_database_analyzer.dm
+++ b/code/modules/research/design_database_analyzer.dm
@@ -86,13 +86,13 @@
fabnet.get_new_tag(user)
return TRUE
- if(isrobot(user))
- return
if(busy)
to_chat(user, SPAN_WARNING("\The [src] is busy right now."))
return TRUE
if(component_attackby(O, user))
return TRUE
+ if(isrobot(user))
+ return TRUE
if(loaded_item)
to_chat(user, SPAN_WARNING("There is something already loaded into \the [src]."))
return TRUE
@@ -109,13 +109,14 @@
to_chat(user, SPAN_WARNING("You cannot deconstruct this item."))
return TRUE
- if(user.try_unequip(O, src))
- busy = TRUE
- loaded_item = O
- to_chat(user, SPAN_NOTICE("You add \the [O] to \the [src]."))
- flick("d_analyzer_la", src)
- addtimer(CALLBACK(src, PROC_REF(refresh_busy)), 1 SECOND)
+ if(!user.try_unequip(O, src))
return TRUE
+ busy = TRUE
+ loaded_item = O
+ to_chat(user, SPAN_NOTICE("You add \the [O] to \the [src]."))
+ flick("d_analyzer_la", src)
+ addtimer(CALLBACK(src, PROC_REF(refresh_busy)), 1 SECOND)
+ return TRUE
/obj/machinery/destructive_analyzer/proc/refresh_busy()
if(busy)
diff --git a/code/modules/security levels/keycard_authentication.dm b/code/modules/security levels/keycard_authentication.dm
index 3e65d1a901e..d7cb76c4ead 100644
--- a/code/modules/security levels/keycard_authentication.dm
+++ b/code/modules/security levels/keycard_authentication.dm
@@ -26,26 +26,32 @@
/obj/machinery/keycard_auth/attack_ai(mob/living/silicon/ai/user)
to_chat(user, "A firewall prevents you from interfacing with this device!")
- return
+ return TRUE
/obj/machinery/keycard_auth/attackby(obj/item/W, mob/user)
+ if(!istype(W,/obj/item/card/id))
+ return ..()
if(stat & (NOPOWER|BROKEN))
to_chat(user, "This device is not powered.")
- return
- if(istype(W,/obj/item/card/id))
- visible_message(SPAN_NOTICE("[user] swipes \the [W] through \the [src]."))
- var/obj/item/card/id/ID = W
- if(access_keycard_auth in ID.access)
- if(active)
- if(event_source && initial_card?.resolve() != ID)
- event_source.confirmed = 1
- event_source.event_confirmed_by = user
- else
- visible_message(SPAN_WARNING("\The [src] blinks and displays a message: Unable to confirm the event with the same card."), range=2)
- else if(screen == 2)
- event_triggered_by = user
- initial_card = weakref(ID)
- broadcast_request() //This is the device making the initial event request. It needs to broadcast to other devices
+ return TRUE
+ visible_message(SPAN_NOTICE("[user] swipes \the [W] through \the [src]."))
+ var/obj/item/card/id/ID = W
+ if(!(access_keycard_auth in ID.access)) // you get nothing!
+ return TRUE
+ if(active)
+ if(!event_source) // Is this even possible? Should active just be !isnull(event_source)?
+ return TRUE
+ if(initial_card?.resolve() == ID)
+ visible_message(SPAN_WARNING("\The [src] blinks and displays a message: Unable to confirm the event with the same card."), range=2)
+ return TRUE
+ event_source.confirmed = 1
+ event_source.event_confirmed_by = user
+ return TRUE
+ if(screen == 2)
+ event_triggered_by = user
+ initial_card = weakref(ID)
+ broadcast_request() //This is the device making the initial event request. It needs to broadcast to other devices
+ return TRUE
//icon_state gets set everwhere besides here, that needs to be fixed sometime
/obj/machinery/keycard_auth/on_update_icon()
diff --git a/code/modules/shield_generators/shield.dm b/code/modules/shield_generators/shield.dm
index 835699d6671..0b97dd24cbf 100644
--- a/code/modules/shield_generators/shield.dm
+++ b/code/modules/shield_generators/shield.dm
@@ -208,22 +208,27 @@
// Attacks with hand tools. Blocked by Hyperkinetic flag.
/obj/effect/shield/attackby(var/obj/item/I, var/mob/user)
+ return bash(I, user)
+
+/obj/effect/shield/bash(obj/item/weapon, mob/user)
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
user.do_attack_animation(src)
- if(gen.check_flag(MODEFLAG_HYPERKINETIC))
- var/force = I.get_attack_force(user)
- user.visible_message("\The [user] [pick(I.attack_verb)] \the [src] with \the [I]!")
- if(I.atom_damage_type == BURN)
+ if(!gen.check_flag(MODEFLAG_HYPERKINETIC))
+ user.visible_message("\The [user] tries to attack \the [src] with \the [weapon], but it passes through!")
+ return TRUE
+ var/force = weapon.get_attack_force(user)
+ user.visible_message("\The [user] [pick(weapon.attack_verb)] \the [src] with \the [weapon]!")
+ switch(weapon.atom_damage_type)
+ if(BURN)
take_damage(force, SHIELD_DAMTYPE_HEAT)
- else if (I.atom_damage_type == BRUTE)
+ if (BRUTE)
take_damage(force, SHIELD_DAMTYPE_PHYSICAL)
else
take_damage(force, SHIELD_DAMTYPE_EM)
- if(gen.check_flag(MODEFLAG_OVERCHARGE) && (I.obj_flags & OBJ_FLAG_CONDUCTIBLE))
- overcharge_shock(user)
- else
- user.visible_message("\The [user] tries to attack \the [src] with \the [I], but it passes through!")
+ if(gen.check_flag(MODEFLAG_OVERCHARGE) && (weapon.obj_flags & OBJ_FLAG_CONDUCTIBLE))
+ overcharge_shock(user)
+ return TRUE
// Special treatment for meteors because they would otherwise penetrate right through the shield.
diff --git a/code/modules/shieldgen/emergency_shield.dm b/code/modules/shieldgen/emergency_shield.dm
index 752c5b2767f..61f0f341e6e 100644
--- a/code/modules/shieldgen/emergency_shield.dm
+++ b/code/modules/shieldgen/emergency_shield.dm
@@ -40,22 +40,33 @@
if(!height || air_group) return 0
else return ..()
-/obj/machinery/shield/attackby(obj/item/W, mob/user)
- if(!istype(W)) return
+// Circumvent base machinery attackby
+// TODO: MAKE SHIELDS NOT MACHINERY???
+/obj/machinery/shield/attackby(obj/item/I, mob/user)
+ return bash(I, user)
+/obj/machinery/shield/bash(obj/item/W, mob/user)
+ if(isliving(user) && user.a_intent == I_HELP)
+ return FALSE
+ if(!W.user_can_attack_with(user))
+ return FALSE
+ if(W.item_flags & ITEM_FLAG_NO_BLUDGEON)
+ return FALSE
//Calculate damage
- if(W.atom_damage_type == BRUTE || W.atom_damage_type == BURN)
- current_health -= W.get_attack_force(user)
+ switch(W.atom_damage_type)
+ if(BRUTE, BURN)
+ current_health -= W.get_attack_force(user)
+ else
+ return FALSE
//Play a fitting sound
playsound(src.loc, 'sound/effects/EMPulse.ogg', 75, 1)
check_failure()
- set_opacity(1)
- spawn(20) if(!QDELETED(src)) set_opacity(0)
+ set_opacity(TRUE)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, set_opacity), FALSE), 2 SECONDS)
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
-
- ..()
+ return TRUE
/obj/machinery/shield/bullet_act(var/obj/item/projectile/Proj)
current_health -= Proj.get_structure_damage()
@@ -264,21 +275,23 @@
else
to_chat(user, "You open the panel and expose the wiring.")
is_open = 1
-
+ return TRUE
else if(IS_COIL(W) && malfunction && is_open)
var/obj/item/stack/cable_coil/coil = W
to_chat(user, "You begin to replace the wires.")
- if(do_after(user, 30,src))
- if (coil.use(1))
- current_health = get_max_health()
- malfunction = 0
- to_chat(user, "You repair \the [src]!")
- update_icon()
-
+ if(!do_after(user, 3 SECONDS, src))
+ to_chat(user, SPAN_NOTICE("You stop repairing \the [src]."))
+ return TRUE
+ if (coil.use(1))
+ current_health = get_max_health()
+ malfunction = 0
+ to_chat(user, "You repair \the [src]!")
+ update_icon()
+ return TRUE
else if(IS_WRENCH(W))
if(locked)
to_chat(user, "The bolts are covered, unlocking this would retract the covers.")
- return
+ return TRUE
if(anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
to_chat(user, "'You unsecure \the [src] from the floor!")
@@ -286,21 +299,19 @@
to_chat(user, "\The [src] shuts off!")
src.shields_down()
anchored = FALSE
- else
- if(isspaceturf(get_turf(src))) return //No wrenching these in space!
+ else if(!isspaceturf(get_turf(src))) //No wrenching these in space!
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
to_chat(user, "You secure \the [src] to the floor!")
anchored = TRUE
-
-
+ return TRUE
else if(istype(W, /obj/item/card/id) || istype(W, /obj/item/modular_computer/pda))
if(src.allowed(user))
src.locked = !src.locked
to_chat(user, "The controls are now [src.locked ? "locked." : "unlocked."]")
else
to_chat(user, "Access denied.")
- else
- ..()
+ return TRUE
+ return ..()
/obj/machinery/shieldgen/on_update_icon()
diff --git a/code/modules/shieldgen/shieldwallgen.dm b/code/modules/shieldgen/shieldwallgen.dm
index 8677e270fa1..12682043752 100644
--- a/code/modules/shieldgen/shieldwallgen.dm
+++ b/code/modules/shieldgen/shieldwallgen.dm
@@ -207,19 +207,16 @@
if(IS_WRENCH(W))
if(active)
to_chat(user, "Turn off the field generator first.")
- return
-
- else if(anchored == 0)
+ return TRUE
+ if(!anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
to_chat(user, "You secure the external reinforcing bolts to the floor.")
src.anchored = TRUE
- return
-
- else if(anchored == 1)
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- to_chat(user, "You undo the external reinforcing bolts.")
- src.anchored = FALSE
- return
+ return TRUE
+ playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ to_chat(user, "You undo the external reinforcing bolts.")
+ src.anchored = FALSE
+ return TRUE
if(istype(W, /obj/item/card/id)||istype(W, /obj/item/modular_computer))
if (src.allowed(user))
@@ -227,11 +224,8 @@
to_chat(user, "Controls are now [src.locked ? "locked." : "unlocked."]")
else
to_chat(user, "Access denied.")
- return
-
- else
- src.add_fingerprint(user)
- ..()
+ return TRUE
+ return ..()
/obj/machinery/shieldwallgen/proc/cleanup(var/NSEW)
@@ -300,14 +294,11 @@
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
user.do_attack_animation(src)
playsound(loc, 'sound/weapons/smash.ogg', 75, 1)
+ return TRUE
/obj/machinery/shieldwall/Process()
if(needs_power)
- if(isnull(gen_primary)||isnull(gen_secondary))
- qdel(src)
- return
-
- if(!(gen_primary.active)||!(gen_secondary.active))
+ if(!gen_primary?.active || !gen_secondary?.active)
qdel(src)
return
diff --git a/code/modules/shuttles/docking_beacon.dm b/code/modules/shuttles/docking_beacon.dm
index b83716138f2..8c0f64d87b1 100644
--- a/code/modules/shuttles/docking_beacon.dm
+++ b/code/modules/shuttles/docking_beacon.dm
@@ -49,11 +49,11 @@
if(IS_WRENCH(I))
if(!allowed(user))
to_chat(user, SPAN_WARNING("The bolts on \the [src] are locked!"))
- return
+ return TRUE
playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
to_chat(user, SPAN_NOTICE("You [anchored ? "unanchor" : "anchor"] \the [src]."))
anchored = !anchored
- return
+ return TRUE
. = ..()
diff --git a/code/modules/shuttles/shuttle_emergency.dm b/code/modules/shuttles/shuttle_emergency.dm
index 5fbe4603afb..2bdc11d2284 100644
--- a/code/modules/shuttles/shuttle_emergency.dm
+++ b/code/modules/shuttles/shuttle_emergency.dm
@@ -175,8 +175,9 @@
return 1
/obj/machinery/computer/shuttle_control/emergency/attackby(obj/item/W, mob/user)
- read_authorization(W)
- ..()
+ if(read_authorization(W))
+ return TRUE
+ return ..()
/obj/machinery/computer/shuttle_control/emergency/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
var/data[0]
diff --git a/code/modules/spells/general/mark_recall.dm b/code/modules/spells/general/mark_recall.dm
index 8fc704fbea0..11131e72ece 100644
--- a/code/modules/spells/general/mark_recall.dm
+++ b/code/modules/spells/general/mark_recall.dm
@@ -64,7 +64,7 @@
/obj/effect/cleanable/wizard_mark/Destroy()
spell.mark = null //dereference pls.
spell = null
- ..()
+ return ..()
/obj/effect/cleanable/wizard_mark/attack_hand(var/mob/user)
if(user != spell.holder)
diff --git a/code/modules/spells/spellbook.dm b/code/modules/spells/spellbook.dm
index d1aedf64925..fa43c3e8d63 100644
--- a/code/modules/spells/spellbook.dm
+++ b/code/modules/spells/spellbook.dm
@@ -103,7 +103,7 @@ var/global/list/artefact_feedback = list(
if(I.reagents.has_reagent(id, 5))
make_sacrifice(I, user, id)
return TRUE
- ..()
+ return ..()
/obj/item/book/spell/interact(mob/user)
var/dat = null
diff --git a/code/modules/supermatter/supermatter.dm b/code/modules/supermatter/supermatter.dm
index 5b94b22d65d..9ade7220a4b 100644
--- a/code/modules/supermatter/supermatter.dm
+++ b/code/modules/supermatter/supermatter.dm
@@ -629,11 +629,12 @@ var/global/list/supermatter_delam_accent_sounds = list(
var/obj/item/stack/tape_roll/duct_tape/T = W
if(!T.can_use(20))
to_chat(user, SPAN_WARNING("You need at least 20 [T.plural_name] to repair \the [src]."))
- return
+ return TRUE
T.use(20)
playsound(src, 'sound/effects/tape.ogg', 100, TRUE)
to_chat(user, SPAN_NOTICE("You begin to repair some of the damage to \the [src] with \the [W]."))
damage = max(damage -10, 0)
+ return TRUE // be nice, the extra duct tape if you have 21 or more doesn't turn to ash and irradiate you.
if(!QDELETED(W))
user.visible_message(SPAN_WARNING("\The [user] touches \the [src] with \a [W] as silence fills the room..."),\
@@ -644,6 +645,7 @@ var/global/list/supermatter_delam_accent_sounds = list(
user.drop_from_inventory(W)
Consume(user, W, TRUE)
user.apply_damage(150, IRRADIATE, damage_flags = DAM_DISPERSED)
+ return TRUE
/obj/machinery/power/supermatter/Bumped(atom/AM)
if(!Consume(null, AM))
diff --git a/code/modules/synthesized_instruments/real_instruments/Synthesizer/synthesizer.dm b/code/modules/synthesized_instruments/real_instruments/Synthesizer/synthesizer.dm
index 02e62c31578..b9537a30da8 100644
--- a/code/modules/synthesized_instruments/real_instruments/Synthesizer/synthesizer.dm
+++ b/code/modules/synthesized_instruments/real_instruments/Synthesizer/synthesizer.dm
@@ -16,26 +16,27 @@
if (IS_WRENCH(O))
if (!anchored && !isspaceturf(get_turf(src)))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
- to_chat(usr, " You begin to tighten \the [src] to the floor...")
- if (do_after(user, 20))
+ to_chat(user, "You begin to tighten \the [src] to the floor...")
+ if (do_after(user, 2 SECONDS))
if(!anchored && !isspaceturf(get_turf(src)))
user.visible_message( \
"[user] tightens \the [src]'s casters.", \
- " You tighten \the [src]'s casters. Now it can be played again.", \
- "You hear ratchet.")
+ "You tighten \the [src]'s casters. Now it can be played again.", \
+ "You hear a ratchet.")
src.anchored = TRUE
else if(anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
- to_chat(usr, " You begin to loosen \the [src]'s casters...")
- if (do_after(user, 40))
+ to_chat(user, "You begin to loosen \the [src]'s casters...")
+ if (do_after(user, 4 SECONDS))
if(anchored)
user.visible_message( \
"[user] loosens \the [src]'s casters.", \
- " You loosen \the [src]. Now it can be pulled somewhere else.", \
- "You hear ratchet.")
+ "You loosen \the [src]. Now it can be pulled somewhere else.", \
+ "You hear a ratchet.")
src.anchored = FALSE
- else
- ..()
+ return TRUE
+ // we failed to do anything because we were unanchored in space, fall through to parent and smack it?
+ return ..()
/obj/structure/synthesized_instrument/synthesizer/shouldStopPlaying(mob/user)
return !((src && in_range(src, user) && src.anchored) || src.real_instrument.player.song.autorepeat)
diff --git a/code/modules/tools/archetypes/tool_archetype_definition_pen.dm b/code/modules/tools/archetypes/tool_archetype_definition_pen.dm
index 33796155a6f..4fd8e0f8bdf 100644
--- a/code/modules/tools/archetypes/tool_archetype_definition_pen.dm
+++ b/code/modules/tools/archetypes/tool_archetype_definition_pen.dm
@@ -27,11 +27,16 @@
return TRUE
. -= decrement
tool.set_tool_property(TOOL_PEN, TOOL_PROP_USES, max(0, .)) //Prevent negatives and turning the pen into an infinite uses pen
+ tool.update_icon()
if(. <= 0 && (tool.get_tool_property(TOOL_PEN, TOOL_PROP_PEN_FLAG) & PEN_FLAG_DEL_EMPTY))
. = 0
if(destroy_on_zero)
qdel(tool)
+/decl/tool_archetype/pen/proc/warn_out_of_ink(mob/user, obj/item/tool, default = "spent")
+ var/message = tool.get_tool_property(TOOL_PEN, TOOL_PROP_EMPTY_MESSAGE) || default
+ to_chat(user, SPAN_WARNING("\The [tool] is [message].")) // example: 'out of ink'
+
/**Toggles the active/inactive state of some pens */
/decl/tool_archetype/pen/proc/toggle_active(var/mob/user, var/obj/item/pen/tool)
//only a single type of pen can toggle
@@ -47,11 +52,11 @@
if(uses_left < 0)
return TOOL_USE_SUCCESS //Infinite
if(uses_left == 0)
- to_chat(user, SPAN_WARNING("\The [tool] is spent."))
+ warn_out_of_ink(user, tool)
return TOOL_USE_FAILURE
return TOOL_USE_SUCCESS
/decl/tool_archetype/pen/handle_post_interaction(mob/user, obj/item/tool, expend_fuel = 1)
if(decrement_uses(user, tool, expend_fuel) <= 0)
- to_chat(user, SPAN_WARNING("You used up your [tool]!"))
+ warn_out_of_ink(user, tool)
return TOOL_USE_SUCCESS
\ No newline at end of file
diff --git a/code/modules/vehicles/bike.dm b/code/modules/vehicles/bike.dm
index bacbcbc4dc5..08318914e2e 100644
--- a/code/modules/vehicles/bike.dm
+++ b/code/modules/vehicles/bike.dm
@@ -112,16 +112,16 @@
if(istype(W, /obj/item/engine))
if(engine)
to_chat(user, "There is already an engine block in \the [src].")
- return 1
+ return TRUE
user.visible_message("\The [user] installs \the [W] into \the [src].")
load_engine(W)
- return
+ return TRUE
else if(engine && engine.attackby(W,user))
- return 1
+ return TRUE
else if(IS_CROWBAR(W) && engine)
to_chat(user, "You pop out \the [engine] from \the [src].")
unload_engine()
- return 1
+ return TRUE
return ..()
/obj/vehicle/bike/receive_mouse_drop(atom/dropping, mob/user, params)
diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm
index d2ab6861d6d..342d8dbba7e 100644
--- a/code/modules/vehicles/cargo_train.dm
+++ b/code/modules/vehicles/cargo_train.dm
@@ -71,18 +71,16 @@
if(open && IS_WIRECUTTER(W))
passenger_allowed = !passenger_allowed
user.visible_message("[user] [passenger_allowed ? "cuts" : "mends"] a cable in [src].","You [passenger_allowed ? "cut" : "mend"] the load limiter cable.")
- else
- ..()
+ return TRUE
+ return ..()
/obj/vehicle/train/cargo/engine/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/key/cargo_train))
- if(!key)
- if(!user.try_unequip(W, src))
- return
+ if(!key && user.try_unequip(W, src))
key = W
verbs += /obj/vehicle/train/cargo/engine/verb/remove_key
- return
- ..()
+ return TRUE
+ return ..()
//cargo trains are open topped, so there is a chance the projectile will hit the mob ridding the train instead
/obj/vehicle/train/cargo/bullet_act(var/obj/item/projectile/Proj)
diff --git a/code/modules/vehicles/engine.dm b/code/modules/vehicles/engine.dm
index 78d02003a9c..6f5737bccfc 100644
--- a/code/modules/vehicles/engine.dm
+++ b/code/modules/vehicles/engine.dm
@@ -41,14 +41,17 @@
cell = I
user.drop_from_inventory(I)
I.forceMove(src)
- return 1
+ return TRUE
else if(IS_CROWBAR(I))
if(cell)
- to_chat(user, "You pry out \the [cell].")
+ to_chat(user, "You pry out \the [cell] with \the [I].")
cell.dropInto(loc)
cell = null
- return 1
- ..()
+ return TRUE
+ if(user.a_intent != I_HURT)
+ to_chat(user, SPAN_WARNING("There is no cell in \the [src] to remove with \the [I]!"))
+ return TRUE
+ return ..()
/obj/item/engine/electric/prefill()
cell = new /obj/item/cell/high(src.loc)
diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm
index 016691ecd5a..01d1a248b88 100644
--- a/code/modules/vehicles/vehicle.dm
+++ b/code/modules/vehicles/vehicle.dm
@@ -70,40 +70,59 @@
/obj/vehicle/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/hand_labeler))
- return
+ return FALSE // allow afterattack to run
if(IS_SCREWDRIVER(W))
if(!locked)
open = !open
update_icon()
to_chat(user, "Maintenance panel is now [open ? "opened" : "closed"].")
+ return TRUE
+ to_chat(user, SPAN_WARNING("You can't [open ? "close" : "open"] the maintenance panel while \the [src] is locked!"))
+ return TRUE
else if(IS_CROWBAR(W) && cell && open)
remove_cell(user)
-
+ return TRUE
else if(istype(W, /obj/item/cell) && !cell && open)
insert_cell(W, user)
+ return TRUE
else if(IS_WELDER(W))
- var/obj/item/weldingtool/T = W
- if(T.welding)
- var/current_max_health = get_max_health()
- if(current_health < current_max_health)
- if(open)
- current_health = min(current_max_health, current_health+10)
- user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
- user.visible_message("\The [user] repairs \the [src]!","You repair \the [src]!")
- else
- to_chat(user, "Unable to repair with the maintenance panel closed.")
- else
- to_chat(user, "[src] does not need a repair.")
+ var/current_max_health = get_max_health()
+ if(current_health >= current_max_health)
+ to_chat(user, "[src] does not need repairs.")
+ return TRUE
+ if(!open)
+ to_chat(user, "Unable to repair with the maintenance panel closed.")
+ return TRUE
+ var/obj/item/weldingtool/welder = W
+ if(!welder.welding)
+ to_chat(user, "Unable to repair while [W] is off.")
+ return TRUE
+ if(welder.weld(5, user))
+ current_health = min(current_max_health, current_health+10)
+ user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
+ user.visible_message("\The [user] repairs \the [src] with \the [welder]!","You repair \the [src] with \the [welder]!")
+ return TRUE
+ return TRUE // welder.weld already includes on-fail feedback
+ return ..() // handles bash()
+
+/obj/vehicle/bash(obj/item/weapon, mob/user)
+ if(isliving(user) && user.a_intent == I_HELP)
+ return FALSE
+ if(!weapon.user_can_attack_with(user))
+ return FALSE
+ if(weapon.item_flags & ITEM_FLAG_NO_BLUDGEON)
+ return FALSE
+ // physical damage types that can impart force; swinging a bat or energy sword
+ switch(weapon.atom_damage_type)
+ if(BURN)
+ current_health -= weapon.get_attack_force(user) * fire_dam_coeff
+ . = TRUE
+ if(BRUTE)
+ current_health -= weapon.get_attack_force(user) * brute_dam_coeff
+ . = TRUE
else
- to_chat(user, "Unable to repair while [src] is off.")
- else
- user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
- switch(W.atom_damage_type)
- if(BURN)
- current_health -= W.get_attack_force(user) * fire_dam_coeff
- if(BRUTE)
- current_health -= W.get_attack_force(user) * brute_dam_coeff
- ..()
+ . = FALSE
+ if(.)
healthcheck()
/obj/vehicle/bullet_act(var/obj/item/projectile/Proj)
diff --git a/code/modules/xenoarcheaology/artifacts/standalone/replicator.dm b/code/modules/xenoarcheaology/artifacts/standalone/replicator.dm
index ec01c88cba6..736ce1295ea 100644
--- a/code/modules/xenoarcheaology/artifacts/standalone/replicator.dm
+++ b/code/modules/xenoarcheaology/artifacts/standalone/replicator.dm
@@ -127,9 +127,10 @@
/obj/machinery/replicator/attackby(obj/item/W, mob/user)
if(!user.try_unequip(W, src))
- return
+ return FALSE
stored_materials.Add(W)
- src.visible_message("\The [user] inserts \the [W] into \the [src].")
+ user.visible_message(SPAN_NOTICE("\The [user] inserts \the [W] into \the [src]."), SPAN_NOTICE("You insert \the [W] into \the [src]."))
+ return TRUE
/obj/machinery/replicator/OnTopic(user, href_list)
if(href_list["activate"])
diff --git a/code/modules/xenoarcheaology/finds/find_types/fossils.dm b/code/modules/xenoarcheaology/finds/find_types/fossils.dm
index 1e96b2bbfb0..00c2680ab6a 100644
--- a/code/modules/xenoarcheaology/finds/find_types/fossils.dm
+++ b/code/modules/xenoarcheaology/finds/find_types/fossils.dm
@@ -53,15 +53,14 @@
icon_state = "hskull"
/obj/item/fossil/skull/attackby(obj/item/W, mob/user)
- if(istype(W, /obj/item/fossil/animal))
- if(!user.canUnEquip(W))
- return
- var/mob/M = get_recursive_loc_of_type(/mob)
- if(M && !M.try_unequip(src))
- return
- var/obj/o = new /obj/structure/skeleton(get_turf(src))
- user.try_unequip(W, o)
- forceMove(o)
+ if(!istype(W, /obj/item/fossil/animal))
+ return ..()
+ if(!user.try_unequip(src))
+ return FALSE
+ var/obj/structure/skeleton/skellybones = new (get_turf(src))
+ user.try_unequip(W, skellybones)
+ forceMove(skellybones)
+ return TRUE
/obj/structure/skeleton
name = "alien skeleton display"
@@ -85,16 +84,18 @@
/obj/structure/skeleton/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/fossil/animal))
- if(bone_count < required_bones)
- if(user.try_unequip(W, src))
- bone_count++
- if(bone_count == required_bones)
- icon_state = "skel"
- set_density(1)
- else
+ if(bone_count >= required_bones)
to_chat(user, SPAN_NOTICE("\The [src] is already complete."))
+ return TRUE
+ if(!user.try_unequip(W, src))
+ return TRUE
+ bone_count++
+ if(bone_count == required_bones)
+ icon_state = "skel"
+ set_density(1)
+ return TRUE
else if(IS_PEN(W))
plaque_contents = sanitize(input("What would you like to write on the plaque:","Skeleton plaque",""))
user.visible_message("[user] writes something on the base of [src].","You relabel the plaque on the base of [src].")
- else
- ..()
\ No newline at end of file
+ return TRUE
+ return ..()
\ No newline at end of file
diff --git a/code/modules/xenoarcheaology/finds/strange_rock.dm b/code/modules/xenoarcheaology/finds/strange_rock.dm
index a18758c6e93..7f0713988ff 100644
--- a/code/modules/xenoarcheaology/finds/strange_rock.dm
+++ b/code/modules/xenoarcheaology/finds/strange_rock.dm
@@ -55,3 +55,5 @@
if(prob(33))
visible_message(SPAN_WARNING("[src] crumbles away, leaving some dust and gravel behind."))
physically_destroyed()
+ return TRUE
+ return FALSE
diff --git a/code/modules/xenoarcheaology/machinery/artifact_harvester.dm b/code/modules/xenoarcheaology/machinery/artifact_harvester.dm
index 3b7f727b735..848a0033f32 100644
--- a/code/modules/xenoarcheaology/machinery/artifact_harvester.dm
+++ b/code/modules/xenoarcheaology/machinery/artifact_harvester.dm
@@ -57,17 +57,17 @@
cur_artifact = new_artifact
/obj/machinery/artifact_harvester/attackby(var/obj/I, var/mob/user)
- if(istype(I,/obj/item/anobattery))
- if(!inserted_battery)
- if(!user.try_unequip(I, src))
- return
- to_chat(user, "You insert [I] into [src].")
- inserted_battery = I
- updateDialog()
- else
- to_chat(user, "There is already a battery in [src].")
- else
- return..()
+ if(!istype(I, /obj/item/anobattery))
+ return ..()
+ if(inserted_battery)
+ to_chat(user, SPAN_WARNING("There is already a battery in [src]."))
+ return TRUE
+ if(!user.try_unequip(I, src))
+ return TRUE
+ to_chat(user, SPAN_NOTICE("You insert [I] into [src]."))
+ inserted_battery = I
+ updateDialog()
+ return TRUE
/obj/machinery/artifact_harvester/interface_interact(user)
ui_interact(user)
diff --git a/code/modules/xenoarcheaology/machinery/geosample_scanner.dm b/code/modules/xenoarcheaology/machinery/geosample_scanner.dm
index c8d58f7a874..eba847f98f2 100644
--- a/code/modules/xenoarcheaology/machinery/geosample_scanner.dm
+++ b/code/modules/xenoarcheaology/machinery/geosample_scanner.dm
@@ -64,7 +64,7 @@
if(istype(I, /obj/item/stack/nanopaste))
if(scanning)
to_chat(user, SPAN_WARNING("You can't do that while [src] is scanning!"))
- return
+ return TRUE
var/choice = alert("What do you want to do with the nanopaste?","Radiometric Scanner","Scan nanopaste","Fix seal integrity")
if(CanPhysicallyInteract(user) && !QDELETED(I) && I.loc == user && choice == "Fix seal integrity")
var/obj/item/stack/nanopaste/N = I
@@ -75,7 +75,7 @@
if(istype(I, /obj/item/chems/glass))
if(scanning)
to_chat(user, SPAN_WARNING("You can't do that while [src] is scanning!"))
- return
+ return TRUE
var/choice = alert("What do you want to do with the container?","Radiometric Scanner","Add coolant","Empty coolant","Scan container")
if(CanPhysicallyInteract(user) && !QDELETED(I) && I.loc == user)
//#TODO: The add coolant stuff could probably be handled by the default reagent handling code. And the emptying could be done with an alt interaction.
@@ -102,12 +102,13 @@
if(istype(I))
if(scanned_item)
to_chat(user, SPAN_WARNING("\The [src] already has \a [scanned_item] inside!"))
- return
+ return TRUE
if(!user.try_unequip(I, src))
- return
+ return TRUE
scanned_item = I
to_chat(user, SPAN_NOTICE("You put \the [I] into \the [src]."))
return TRUE
+ return FALSE
/obj/machinery/radiocarbon_spectrometer/proc/update_coolant()
var/total_purity = 0
diff --git a/code/modules/xenoarcheaology/tools/ano_device_battery.dm b/code/modules/xenoarcheaology/tools/ano_device_battery.dm
index 39a3dd1915f..0ac71ec2278 100644
--- a/code/modules/xenoarcheaology/tools/ano_device_battery.dm
+++ b/code/modules/xenoarcheaology/tools/ano_device_battery.dm
@@ -60,15 +60,16 @@
. = ..()
/obj/item/anodevice/attackby(var/obj/I, var/mob/user)
- if(istype(I, /obj/item/anobattery))
- if(!inserted_battery)
- if(!user.try_unequip(I, src))
- return
- to_chat(user, "You insert \the [I] into \the [src].")
- inserted_battery = I
- update_icon()
- else
+ if(!istype(I, /obj/item/anobattery))
return ..()
+ if(inserted_battery)
+ return TRUE
+ if(!user.try_unequip(I, src))
+ return TRUE
+ to_chat(user, SPAN_NOTICE("You insert \the [I] into \the [src]."))
+ inserted_battery = I
+ update_icon()
+ return TRUE
/obj/item/anodevice/attack_self(var/mob/user)
ui_interact(user)
diff --git a/code/modules/xgm/xgm_gas_mixture.dm b/code/modules/xgm/xgm_gas_mixture.dm
index 81a9d3752e6..e16bba237e7 100644
--- a/code/modules/xgm/xgm_gas_mixture.dm
+++ b/code/modules/xgm/xgm_gas_mixture.dm
@@ -505,6 +505,7 @@
return 1
/datum/gas_mixture/proc/get_mass()
+ . = 0
for(var/g in gas)
var/decl/material/mat = GET_DECL(g)
. += gas[g] * mat.molar_mass * group_multiplier
@@ -513,6 +514,7 @@
var/M = get_total_moles()
if(M)
return get_mass()/M
+ return 0
///Returns a color blended from all materials the gas mixture contains
/datum/gas_mixture/proc/get_overall_color()
diff --git a/code/unit_tests/materials.dm b/code/unit_tests/materials.dm
index 27f46bbd25b..703f45346ba 100644
--- a/code/unit_tests/materials.dm
+++ b/code/unit_tests/materials.dm
@@ -42,7 +42,7 @@
for(var/stack_type in stack_types)
for(var/tool_type in tool_types)
for(var/decl/material/material in test_materials)
- for(var/decl/material/reinforced in test_materials)
+ for(var/decl/material/reinforced as anything in (test_materials + null))
// Get a linear list of all recipes available to this combination.
var/list/recipes = get_stack_recipes(material, reinforced, stack_type, tool_type, flat = TRUE)
@@ -55,31 +55,31 @@
if(!test_type || ispath(test_type, /turf)) // Cannot exist without a loc and doesn't have matter, cannot assess here.
continue
var/atom/product = LAZYACCESS(recipe.spawn_result(null, null, 1, material, reinforced, null), 1)
- var/failed
+ var/list/failed = list()
if(!product)
- failed = "no product returned"
+ failed += "no product returned"
else if(!istype(product, recipe.expected_product_type))
- failed = "unexpected product type returned ([product.type])"
+ failed += "unexpected product type returned ([product.type])"
else if(isobj(product))
var/obj/product_obj = product
LAZYINITLIST(product_obj.matter) // For the purposes of the following tests not runtiming.
if(!material && !reinforced)
if(length(product_obj.matter))
- failed = "unsupplied material types"
+ failed += "unsupplied material types"
else if(material && (product_obj.matter[material.type]) > recipe.req_amount)
- failed = "excessive base material ([recipe.req_amount]/[ceil(product_obj.matter[material.type])])"
+ failed += "excessive base material ([recipe.req_amount]/[ceil(product_obj.matter[material.type])])"
else if(reinforced && (product_obj.matter[reinforced.type]) > recipe.req_amount)
- failed = "excessive reinf material ([recipe.req_amount]/[ceil(product_obj.matter[reinforced.type])])"
+ failed += "excessive reinf material ([recipe.req_amount]/[ceil(product_obj.matter[reinforced.type])])"
else
for(var/mat in product_obj.matter)
if(mat != material?.type && mat != reinforced?.type)
- failed = "extra material type ([mat])"
+ failed += "extra material type ([mat])"
- if(failed) // Try to prune out some duplicate error spam, we have too many materials now
+ if(length(failed)) // Try to prune out some duplicate error spam, we have too many materials now
if(!(recipe.type in seen_design_types))
- failed_designs += "[material?.type || "null mat"] - [reinforced?.type || "null reinf"] - [tool_type] - [stack_type] - [recipe.type] - [failed]"
+ failed_designs += "[material?.type || "null mat"] - [reinforced?.type || "null reinf"] - [tool_type] - [stack_type] - [recipe.type] - [english_list(failed)]"
seen_design_types += recipe.type
- failed_count++
+ failed_count++
else
passed_designs += recipe
if(!QDELETED(product))
diff --git a/code/unit_tests/turf_icons.dm b/code/unit_tests/turf_icons.dm
index 4baaafd593e..e0b6a7e17ae 100644
--- a/code/unit_tests/turf_icons.dm
+++ b/code/unit_tests/turf_icons.dm
@@ -1,7 +1,31 @@
/datum/unit_test/turf_floor_icons_shall_be_valid
- name = "TURF ICONS: Floors Shall Have All Required Icon States"
+ name = "TURF ICONS: Turfs Shall Have All Required Icon States"
var/turf/floor/floor
var/original_type
+ var/list/tested_types = list(
+ /turf/floor,
+ /turf/wall,
+ /turf/unsimulated
+ )
+ var/list/excepted_types = list(
+ /turf/unsimulated/map,
+ /turf/unsimulated/wall/cascade
+ )
+
+/datum/unit_test/turf_floor_icons_shall_be_valid/setup_test()
+
+ . = ..()
+
+ // We only care about the base turf icon instance, not updating them etc.
+ floor = locate(world.maxx, world.maxy, 1)
+ original_type = floor?.type
+ SSair.suspend()
+ SSairflow.suspend()
+ SSfluids.suspend()
+ SSicon_update.suspend()
+ SSambience.suspend()
+ SSoverlays.suspend()
+ SSmaterials.suspend()
/datum/unit_test/turf_floor_icons_shall_be_valid/start_test()
@@ -9,13 +33,18 @@
fail("Unable to locate an appropriate turf at [world.maxx],[world.maxy],1.")
return 1
+ var/list/validate_types = list()
+ for(var/test_type in tested_types)
+ validate_types |= typesof(test_type)
+ for(var/test_type in excepted_types)
+ validate_types -= typesof(test_type)
+
var/list/failures = list()
- for(var/floor_type in typesof(/turf/floor))
- var/turf/floor/check_floor = floor_type
- if(TYPE_IS_ABSTRACT(check_floor))
+ for(var/turf/floor_type as anything in validate_types)
+ if(TYPE_IS_ABSTRACT(floor_type))
continue
floor = floor.ChangeTurf(floor_type, FALSE, FALSE, FALSE, FALSE, FALSE)
- if(istype(floor))
+ if(istype(floor, floor_type))
var/list/turf_failures = floor.validate_turf()
if(length(turf_failures))
failures[floor_type] = turf_failures
@@ -31,21 +60,6 @@
pass("All floor types had all required icon_states.")
return 1
-/datum/unit_test/turf_floor_icons_shall_be_valid/setup_test()
-
- . = ..()
-
- // We only care about the base turf icon instance, not updating them etc.
- floor = locate(world.maxx, world.maxy, 1)
- original_type = floor?.type
- SSair.suspend()
- SSairflow.suspend()
- SSfluids.suspend()
- SSicon_update.suspend()
- SSambience.suspend()
- SSoverlays.suspend()
- SSmaterials.suspend()
-
/datum/unit_test/turf_floor_icons_shall_be_valid/teardown_test()
. = ..()
@@ -72,8 +86,8 @@
SSoverlays.wake()
SSmaterials.wake()
-// Procs used for validation below.
-/turf/floor/proc/validate_turf()
+/turf/proc/validate_turf()
+ SHOULD_CALL_PARENT(TRUE)
. = list()
if(isnull(icon))
. += "null icon"
@@ -81,7 +95,121 @@
. += "null or invalid icon_state '[icon_state]'"
if(icon && icon_state && !check_state_in_icon(icon_state, icon))
. += "missing initial icon_state '[icon_state]' from '[icon]'"
+
+/turf/wall/proc/get_turf_validation_single_states()
+ return list(
+ "fwall_open",
+ "blank"
+ )
+
+// TODO: add some support to 'simple' walls for falsewalls?
+/turf/wall/brick/get_turf_validation_single_states()
+ return list(
+ "blank"
+ )
+
+/turf/wall/log/get_turf_validation_single_states()
+ return list(
+ "blank"
+ )
+
+/turf/wall/natural/get_turf_validation_single_states()
+ return list(
+ "blank",
+ "ramp-single",
+ "ramp-blend-full",
+ "ramp-blend-left",
+ "ramp-blend-right",
+ "ramp-single-shine",
+ "ramp-blend-full-shine",
+ "ramp-blend-left-shine",
+ "ramp-blend-right-shine"
+ )
+
+/turf/wall/proc/get_turf_validation_corner_states()
+ . = list("", "other")
+ if(paint_color)
+ . |= "paint"
+ if(stripe_color)
+ . |= "stripe"
+
+/turf/wall/natural/get_turf_validation_corner_states()
+ return list("", "shine")
+
+/turf/wall/validate_turf()
+
+ // Walls generate their own icons, icon/icon_state are largely irrelevant other than map previews.
+ SHOULD_CALL_PARENT(FALSE)
+ . = ..()
+
+ // Check our in-mapper preview icons.
+ var/preview_icon = initial(icon)
+ if(isnull(preview_icon))
+ . += "null initial icon"
+ var/preview_icon_state = initial(icon_state)
+ if(!istext(preview_icon_state))
+ . += "null or invalid initial icon_state '[preview_icon_state]'"
+ if(preview_icon && preview_icon_state && !check_state_in_icon(preview_icon_state, preview_icon))
+ . += "missing initial initial icon_state '[preview_icon_state]' from '[preview_icon]'"
+
+ // Check for shutters, if this wall expects to have one.
+ if(!isnull(shutter_state))
+ if(isnull(shutter_icon))
+ . += "shutter state is non-null but missing shutter icon"
+ else
+ var/static/list/shutter_states = list("0", "1", "glow")
+ for(var/check_shutter_state in shutter_states)
+ if(!check_state_in_icon(check_shutter_state, shutter_icon))
+ . += "shutter state '[check_shutter_state]' missing from shutter icon '[shutter_icon]'"
+
+ // Check that our wall icon has all appropriate corner states and overlays.
+ var/wall_icon = get_wall_icon()
+ if(!wall_icon)
+ . += "missing wall_icon"
+ else
+ // Check for false wall animations and states.
+ // didn't we used to have more of these?
+ for(var/false_wall_state in get_turf_validation_single_states())
+ if(!check_state_in_icon(false_wall_state, wall_icon))
+ . += "missing wall icon_state '[false_wall_state]' from icon '[wall_icon]'"
+
+ for(var/wall_icon_state in get_turf_validation_corner_states())
+ for(var/blend_index = 0 to 7)
+ var/test_state = "[wall_icon_state][blend_index]"
+ if(!check_state_in_icon(test_state, wall_icon))
+ . += "missing blend state '[test_state]' from icon '[wall_icon]'"
+
+// Procs used for validation below.
+/turf/floor/validate_turf()
+ . = ..()
if(!istype(_base_flooring))
. += "null or invalid _base_flooring ([_base_flooring || "NULL"])"
if(_flooring && !istype(_flooring))
. += "invalid post-init type for _flooring ([_flooring || "NULL"])"
+
+ var/decl/flooring/check_flooring = get_topmost_flooring()
+
+ var/initial_floor_broken = initial(_floor_broken)
+ if(initial_floor_broken)
+ if(!istype(check_flooring))
+ . += "non-null initial _floor_broken, but no valid flooring found"
+ else if(!length(check_flooring.broken_states))
+ . += "non-null initial _floor_broken, but no flooring broken states found in [check_flooring]"
+ else if(istext(initial_floor_broken))
+ if(!(initial_floor_broken in check_flooring.broken_states))
+ . += "non-null initial _floor_broken not found in [check_flooring] broken states"
+ else if(initial_floor_broken != TRUE)
+ . += "non-TRUE, non-null, non-text initial _floor_broken value."
+
+ var/initial_floor_burned = initial(_floor_burned)
+ if(initial_floor_burned)
+ if(!istype(check_flooring))
+ . += "non-null initial _floor_burned, but no valid flooring found"
+ else if(!length(check_flooring.burned_states))
+ . += "non-null initial _floor_burned, but no flooring burned states found in [check_flooring]"
+ else if(istext(initial_floor_burned))
+ if(!(initial_floor_burned in check_flooring.burned_states))
+ . += "non-null initial _floor_burned not found in [check_flooring] burned states"
+ else if(initial_floor_burned != TRUE)
+ . += "non-TRUE, non-null, non-text initial _floor_burned value."
+
diff --git a/html/changelog.html b/html/changelog.html
index 04f8f5100dd..c693f51951e 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -52,6 +52,23 @@
-->
+
13 November 2024
+
Penelope Haze updated:
+
+ - Added a new wooden bucket sprite.
+ - Quills now have a limited amount of ink, which can be refilled in an inkwell.
+ - Crayons are now slowly used up while writing on paper, at a rate of one charge per 25 characters. (Crayons have a default of 30 charges.)
+ - Added new furniture to the Shaded Hills inn.
+
+
+
05 November 2024
+
Neerti updated:
+
+ - Mining drill braces are now crafted from steel sheets directly.
+ - Microlasers added to mining drills no longer multiply ore out of the ground, but make the drill mine faster, proportionally increasing the energy usage.
+ - Capacitors added to mining drills are less powerful.
+
+
01 November 2024
MistakeNot4892 updated:
diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml
index afedde036bc..74940df8c73 100644
--- a/html/changelogs/.all_changelog.yml
+++ b/html/changelogs/.all_changelog.yml
@@ -14907,3 +14907,17 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
MistakeNot4892:
- tweak: Curries, soups and stews have been rewritten, please refer to the codex
for recipes.
+2024-11-05:
+ Neerti:
+ - tweak: Mining drill braces are now crafted from steel sheets directly.
+ - balance: Microlasers added to mining drills no longer multiply ore out of the
+ ground, but make the drill mine faster, proportionally increasing the energy
+ usage.
+ - balance: Capacitors added to mining drills are less powerful.
+2024-11-13:
+ Penelope Haze:
+ - imageadd: Added a new wooden bucket sprite.
+ - tweak: Quills now have a limited amount of ink, which can be refilled in an inkwell.
+ - tweak: Crayons are now slowly used up while writing on paper, at a rate of one
+ charge per 25 characters. (Crayons have a default of 30 charges.)
+ - tweak: Added new furniture to the Shaded Hills inn.
diff --git a/icons/mob/onmob/items/lefthand.dmi b/icons/mob/onmob/items/lefthand.dmi
index ba9da8d9578..2714bd1248b 100644
Binary files a/icons/mob/onmob/items/lefthand.dmi and b/icons/mob/onmob/items/lefthand.dmi differ
diff --git a/icons/mob/onmob/items/righthand.dmi b/icons/mob/onmob/items/righthand.dmi
index f3baea031c3..acbb83adbeb 100644
Binary files a/icons/mob/onmob/items/righthand.dmi and b/icons/mob/onmob/items/righthand.dmi differ
diff --git a/icons/obj/bar_stool.dmi b/icons/obj/bar_stool.dmi
new file mode 100644
index 00000000000..93ffba3e873
Binary files /dev/null and b/icons/obj/bar_stool.dmi differ
diff --git a/icons/obj/food/plates/bowl.dmi b/icons/obj/food/plates/bowl.dmi
index 944e0add796..b57ceec1651 100644
Binary files a/icons/obj/food/plates/bowl.dmi and b/icons/obj/food/plates/bowl.dmi differ
diff --git a/icons/obj/furniture.dmi b/icons/obj/furniture.dmi
index e41e77dba92..00943fee562 100644
Binary files a/icons/obj/furniture.dmi and b/icons/obj/furniture.dmi differ
diff --git a/icons/obj/items/bucket.dmi b/icons/obj/items/bucket.dmi
index 0af2ebd29cc..f84a2069ccc 100644
Binary files a/icons/obj/items/bucket.dmi and b/icons/obj/items/bucket.dmi differ
diff --git a/icons/obj/items/crutches.dmi b/icons/obj/items/crutches.dmi
new file mode 100644
index 00000000000..73ae3732ee0
Binary files /dev/null and b/icons/obj/items/crutches.dmi differ
diff --git a/icons/obj/items/flame/lantern.dmi b/icons/obj/items/flame/lantern.dmi
index 00aa548c264..ba1e586e171 100644
Binary files a/icons/obj/items/flame/lantern.dmi and b/icons/obj/items/flame/lantern.dmi differ
diff --git a/icons/obj/items/inkwell.dmi b/icons/obj/items/inkwell.dmi
new file mode 100644
index 00000000000..1ca6665039a
Binary files /dev/null and b/icons/obj/items/inkwell.dmi differ
diff --git a/icons/obj/items/paperwork/scroll.dmi b/icons/obj/items/paperwork/scroll.dmi
index 7b41db4e746..1e828970ae2 100644
Binary files a/icons/obj/items/paperwork/scroll.dmi and b/icons/obj/items/paperwork/scroll.dmi differ
diff --git a/icons/obj/items/pens/pen_dire_quill.dmi b/icons/obj/items/pens/pen_dire_quill.dmi
new file mode 100644
index 00000000000..a965cb9685a
Binary files /dev/null and b/icons/obj/items/pens/pen_dire_quill.dmi differ
diff --git a/icons/obj/items/pens/pen_quill.dmi b/icons/obj/items/pens/pen_quill.dmi
index 4fc9c4746b2..1f5f0c53265 100644
Binary files a/icons/obj/items/pens/pen_quill.dmi and b/icons/obj/items/pens/pen_quill.dmi differ
diff --git a/icons/obj/items/storage/basket.dmi b/icons/obj/items/storage/basket.dmi
index e043f02b8cb..8f6981dc10d 100644
Binary files a/icons/obj/items/storage/basket.dmi and b/icons/obj/items/storage/basket.dmi differ
diff --git a/icons/obj/items/wooden_bucket.dmi b/icons/obj/items/wooden_bucket.dmi
index 14e9289375c..ae01b083384 100644
Binary files a/icons/obj/items/wooden_bucket.dmi and b/icons/obj/items/wooden_bucket.dmi differ
diff --git a/icons/obj/mining_drill.dmi b/icons/obj/mining_drill.dmi
index 95aab5f5bea..108c4a0a4a9 100644
Binary files a/icons/obj/mining_drill.dmi and b/icons/obj/mining_drill.dmi differ
diff --git a/icons/obj/pottery/bowl.dmi b/icons/obj/pottery/bowl.dmi
index 13ce5a90da3..46550a0a386 100644
Binary files a/icons/obj/pottery/bowl.dmi and b/icons/obj/pottery/bowl.dmi differ
diff --git a/icons/obj/pottery/cup.dmi b/icons/obj/pottery/cup.dmi
index 4fe54debc70..09d0afb49de 100644
Binary files a/icons/obj/pottery/cup.dmi and b/icons/obj/pottery/cup.dmi differ
diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi
index 4a50ad97576..5542584eb41 100644
Binary files a/icons/obj/reagentfillings.dmi and b/icons/obj/reagentfillings.dmi differ
diff --git a/icons/obj/stool.dmi b/icons/obj/stool.dmi
new file mode 100644
index 00000000000..00ad7ebbc65
Binary files /dev/null and b/icons/obj/stool.dmi differ
diff --git a/icons/obj/stool_rustic.dmi b/icons/obj/stool_rustic.dmi
new file mode 100644
index 00000000000..b41e91edd15
Binary files /dev/null and b/icons/obj/stool_rustic.dmi differ
diff --git a/icons/obj/structures/desk_large.dmi b/icons/obj/structures/desk_large.dmi
new file mode 100644
index 00000000000..0deadba2403
Binary files /dev/null and b/icons/obj/structures/desk_large.dmi differ
diff --git a/icons/obj/structures/dresser.dmi b/icons/obj/structures/dresser.dmi
new file mode 100644
index 00000000000..7b02142210a
Binary files /dev/null and b/icons/obj/structures/dresser.dmi differ
diff --git a/icons/obj/structures/endtable.dmi b/icons/obj/structures/endtable.dmi
new file mode 100644
index 00000000000..037d1c770b7
Binary files /dev/null and b/icons/obj/structures/endtable.dmi differ
diff --git a/icons/obj/structures/fancy_rustic_chair.dmi b/icons/obj/structures/fancy_rustic_chair.dmi
new file mode 100644
index 00000000000..9062f59e4aa
Binary files /dev/null and b/icons/obj/structures/fancy_rustic_chair.dmi differ
diff --git a/icons/obj/structures/rustic_chair.dmi b/icons/obj/structures/rustic_chair.dmi
new file mode 100644
index 00000000000..1e48dd9c579
Binary files /dev/null and b/icons/obj/structures/rustic_chair.dmi differ
diff --git a/icons/turf/flooring/carpet.dmi b/icons/turf/flooring/carpet.dmi
index fd71d009049..2861e59ba1b 100644
Binary files a/icons/turf/flooring/carpet.dmi and b/icons/turf/flooring/carpet.dmi differ
diff --git a/icons/turf/flooring/circuit.dmi b/icons/turf/flooring/circuit.dmi
index 8181d0445b5..9062af5b4d6 100644
Binary files a/icons/turf/flooring/circuit.dmi and b/icons/turf/flooring/circuit.dmi differ
diff --git a/icons/turf/flooring/concrete.dmi b/icons/turf/flooring/concrete.dmi
index 69467b1ac4b..a733780b4ff 100644
Binary files a/icons/turf/flooring/concrete.dmi and b/icons/turf/flooring/concrete.dmi differ
diff --git a/icons/turf/flooring/cult.dmi b/icons/turf/flooring/cult.dmi
index 8c0bf519905..8cfc970e0fc 100644
Binary files a/icons/turf/flooring/cult.dmi and b/icons/turf/flooring/cult.dmi differ
diff --git a/icons/turf/flooring/damage.dmi b/icons/turf/flooring/damage.dmi
deleted file mode 100644
index 29788bec761..00000000000
Binary files a/icons/turf/flooring/damage.dmi and /dev/null differ
diff --git a/icons/turf/flooring/linoleum.dmi b/icons/turf/flooring/linoleum.dmi
index ad77becd86f..8d28351d5a7 100644
Binary files a/icons/turf/flooring/linoleum.dmi and b/icons/turf/flooring/linoleum.dmi differ
diff --git a/icons/turf/flooring/plating.dmi b/icons/turf/flooring/plating.dmi
index fec66386a7a..d3ef26d034d 100644
Binary files a/icons/turf/flooring/plating.dmi and b/icons/turf/flooring/plating.dmi differ
diff --git a/icons/turf/flooring/pool.dmi b/icons/turf/flooring/pool.dmi
index 0fb075bdff0..02caa57b579 100644
Binary files a/icons/turf/flooring/pool.dmi and b/icons/turf/flooring/pool.dmi differ
diff --git a/icons/turf/flooring/shuttle.dmi b/icons/turf/flooring/shuttle.dmi
index eac88fc06bb..9a53c879bf4 100644
Binary files a/icons/turf/flooring/shuttle.dmi and b/icons/turf/flooring/shuttle.dmi differ
diff --git a/icons/turf/flooring/simple_carpet.dmi b/icons/turf/flooring/simple_carpet.dmi
new file mode 100644
index 00000000000..5a66bf0a301
Binary files /dev/null and b/icons/turf/flooring/simple_carpet.dmi differ
diff --git a/icons/turf/flooring/snow_plating.dmi b/icons/turf/flooring/snow_plating.dmi
index 5da1c62f0ac..9a82cd77526 100644
Binary files a/icons/turf/flooring/snow_plating.dmi and b/icons/turf/flooring/snow_plating.dmi differ
diff --git a/icons/turf/flooring/techfloor.dmi b/icons/turf/flooring/techfloor.dmi
index 24af3597618..73f76ba1349 100644
Binary files a/icons/turf/flooring/techfloor.dmi and b/icons/turf/flooring/techfloor.dmi differ
diff --git a/icons/turf/flooring/tiles.dmi b/icons/turf/flooring/tiles.dmi
index 760deec1a8f..20fbf25e745 100644
Binary files a/icons/turf/flooring/tiles.dmi and b/icons/turf/flooring/tiles.dmi differ
diff --git a/icons/turf/flooring/wood.dmi b/icons/turf/flooring/wood.dmi
index 2caf240e138..a93de0fefca 100644
Binary files a/icons/turf/flooring/wood.dmi and b/icons/turf/flooring/wood.dmi differ
diff --git a/icons/turf/walls/stone.dmi b/icons/turf/walls/stone.dmi
index 285201a5e8b..4fd7d86d9ed 100644
Binary files a/icons/turf/walls/stone.dmi and b/icons/turf/walls/stone.dmi differ
diff --git a/maps/antag_spawn/ert/ert_base.dmm b/maps/antag_spawn/ert/ert_base.dmm
index 61309ead733..30c9701f6a8 100644
--- a/maps/antag_spawn/ert/ert_base.dmm
+++ b/maps/antag_spawn/ert/ert_base.dmm
@@ -7,151 +7,101 @@
/area/map_template/rescue_base/base)
"ae" = (
/obj/machinery/computer/teleporter,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"af" = (
/obj/machinery/teleport/station,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ag" = (
/obj/machinery/teleport/hub,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ah" = (
-/turf/unsimulated/wall{
- desc = "A secure airlock. Doesn't look like you can get through easily.";
- icon = 'icons/obj/doors/centcomm/door.dmi';
- icon_state = "closed";
- name = "Facility Access"
- },
+/turf/unsimulated/wall/airlock,
/area/map_template/rescue_base/base)
"ai" = (
/obj/structure/table/steel_reinforced,
/obj/item/clothing/shoes/magboots/rig/combat,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"aj" = (
/obj/structure/table/steel_reinforced,
/obj/item/firstaid/regular,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"ak" = (
/obj/machinery/floodlight,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"al" = (
/obj/structure/table/steel_reinforced,
/obj/item/box/bodybags,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"am" = (
/obj/structure/table/steel_reinforced,
/obj/item/firstaid/surgery,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"ao" = (
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ap" = (
/obj/machinery/door/airlock/centcom{
name = "Emergency Insertion"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"aq" = (
/obj/structure/table/steel_reinforced,
/obj/item/taperecorder,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"ar" = (
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"as" = (
/obj/structure/table/steel_reinforced,
/obj/item/bikehorn/rubberducky,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"au" = (
/obj/structure/hygiene/toilet{
pixel_y = 16
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/rescue_base/base)
"av" = (
/obj/structure/hygiene/shower{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/rescue_base/base)
"aw" = (
/obj/item/soap,
/obj/structure/hygiene/shower{
pixel_y = 32
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/rescue_base/base)
"ax" = (
/obj/structure/table/steel_reinforced,
/obj/item/assembly/mousetrap,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"ay" = (
/obj/structure/bed/chair,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"az" = (
/obj/structure/table/steel_reinforced,
/obj/item/baseball_bat/aluminium,
/obj/item/tool/axe/hatchet,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"aB" = (
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/rescue_base/base)
"aC" = (
/obj/item/aiModule/reset,
@@ -162,10 +112,7 @@
/obj/item/aiModule/robocop,
/obj/item/aiModule/safeguard,
/obj/structure/rack,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"aD" = (
/obj/structure/rack,
@@ -178,10 +125,7 @@
/obj/item/plastique,
/obj/item/plastique,
/obj/item/plastique,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"aE" = (
/obj/structure/rack,
@@ -190,10 +134,7 @@
/obj/item/radio/intercom{
pixel_y = 20
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"aF" = (
/obj/structure/rack,
@@ -205,10 +146,7 @@
/obj/item/box/ammo/shotgunammo,
/obj/item/box/ammo/shotgunshells,
/obj/item/box/ammo/shotgunshells,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"aG" = (
/obj/structure/rack,
@@ -216,10 +154,7 @@
/obj/item/gun/energy/gun/nuclear,
/obj/item/gun/energy/gun/nuclear,
/obj/item/gun/energy/gun/nuclear,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"aH" = (
/obj/structure/table/steel_reinforced,
@@ -235,17 +170,13 @@
pixel_x = 3;
pixel_y = 9
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"aI" = (
/obj/structure/table/steel_reinforced,
/obj/item/belt/utility/full,
/obj/item/assembly/igniter,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"aK" = (
/obj/structure/mopbucket,
@@ -254,9 +185,7 @@
/obj/structure/hygiene/sink/kitchen{
pixel_y = 21
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"aL" = (
/obj/structure/reagent_dispensers/watertank,
@@ -264,9 +193,7 @@
/obj/item/radio/intercom{
pixel_y = 20
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"aM" = (
/obj/structure/table/reinforced,
@@ -275,9 +202,7 @@
/obj/item/radio/intercom{
pixel_y = 20
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"aN" = (
/obj/structure/table/reinforced,
@@ -286,31 +211,23 @@
/obj/machinery/vending/boozeomat{
pixel_y = 32
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"aO" = (
/obj/structure/closet/secure_closet/freezer/fridge,
/obj/effect/floor_decal/corner/blue/diagonal,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"aP" = (
/obj/effect/floor_decal/corner/blue/diagonal,
/obj/structure/closet/secure_closet/freezer/meat,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"aQ" = (
/obj/machinery/door/airlock/centcom{
name = "Stall"
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/rescue_base/base)
"aR" = (
/obj/structure/mirror,
@@ -320,25 +237,17 @@
/obj/machinery/door/airlock/centcom{
name = "Showers"
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/rescue_base/base)
"aT" = (
/obj/structure/rack,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"aU" = (
/obj/item/radio/intercom{
pixel_y = 20
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"aV" = (
/obj/structure/rack,
@@ -347,68 +256,49 @@
pixel_x = -3;
pixel_y = -3
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"aW" = (
/obj/structure/rack,
/obj/item/gun/projectile/automatic/smg,
/obj/item/gun/projectile/automatic/smg,
/obj/item/gun/projectile/automatic/smg,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"aX" = (
/obj/machinery/door/airlock/centcom{
name = "Processing"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"aZ" = (
/obj/effect/floor_decal/corner/blue/diagonal,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"ba" = (
/obj/effect/floor_decal/corner/blue/diagonal,
/obj/machinery/door/airlock/centcom{
name = "Storage"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bb" = (
/obj/machinery/door/airlock/centcom{
name = "Head"
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/rescue_base/base)
"bc" = (
/obj/structure/hygiene/sink{
dir = 1;
pixel_y = 16
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/rescue_base/base)
"bd" = (
/obj/structure/rack,
/obj/item/gun/projectile/automatic/assault_rifle,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"be" = (
/obj/structure/rack,
@@ -424,10 +314,7 @@
/obj/item/clothing/suit/armor/laserproof,
/obj/item/clothing/suit/armor/laserproof,
/obj/item/clothing/suit/armor/laserproof,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bf" = (
/obj/structure/rack,
@@ -440,24 +327,16 @@
/obj/item/ammo_magazine/smg/rubber,
/obj/item/ammo_magazine/smg/rubber,
/obj/item/ammo_magazine/smg/rubber,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bg" = (
/obj/effect/wingrille_spawn/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/rescue_base/base)
"bh" = (
/obj/structure/table/reinforced,
/obj/item/box/handcuffs,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bi" = (
/obj/structure/table/reinforced,
@@ -467,31 +346,23 @@
/obj/item/radio/intercom{
pixel_y = 20
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bj" = (
/obj/structure/bed,
/obj/item/bedsheet/orange,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bk" = (
/obj/structure/hygiene/toilet{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bm" = (
/obj/machinery/vending/dinnerware,
/obj/effect/floor_decal/corner/blue/diagonal,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bn" = (
/obj/structure/rack,
@@ -501,10 +372,7 @@
/obj/item/rig/ert/assetprotection,
/obj/item/rig/ert/assetprotection,
/obj/item/rig/ert/assetprotection,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bo" = (
/obj/structure/rack,
@@ -520,10 +388,7 @@
/obj/item/clothing/suit/armor/bulletproof,
/obj/item/clothing/suit/armor/bulletproof,
/obj/item/clothing/suit/armor/bulletproof,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bp" = (
/obj/structure/rack,
@@ -537,48 +402,34 @@
/obj/item/ammo_magazine/smg,
/obj/item/ammo_magazine/smg,
/obj/item/ammo_magazine/smg,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bq" = (
/obj/structure/bed/chair/office/dark{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"br" = (
/obj/structure/table/reinforced,
/obj/item/flash,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bs" = (
-/turf/unsimulated/floor{
- dir = 9;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bt" = (
/obj/machinery/door/airlock/centcom{
name = "Cell 2"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bu" = (
/obj/structure/rack,
/obj/item/lightreplacer,
/obj/item/lightreplacer,
/obj/effect/floor_decal/corner/blue/diagonal,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bv" = (
/obj/structure/rack,
@@ -598,17 +449,13 @@
/obj/item/grenade/chem_grenade/cleaner,
/obj/item/grenade/chem_grenade/cleaner,
/obj/effect/floor_decal/corner/blue/diagonal,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bw" = (
/obj/structure/table/reinforced,
/obj/effect/floor_decal/corner/blue/diagonal,
/obj/machinery/microwave,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bx" = (
/obj/structure/table/reinforced,
@@ -619,9 +466,7 @@
/obj/item/chems/condiment/small/peppermill{
pixel_x = 3
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"by" = (
/obj/structure/table/reinforced,
@@ -630,43 +475,30 @@
pixel_x = 3;
pixel_y = 3
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bz" = (
/obj/effect/floor_decal/corner/blue/diagonal,
/obj/item/box/sinpockets,
/obj/structure/closet/secure_closet/freezer/kitchen,
/obj/item/chems/condiment/enzyme,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bA" = (
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/rescue_base/base)
"bB" = (
-/turf/unsimulated/floor{
- icon_state = "asteroidplating"
- },
+/turf/unsimulated/floor/asteroidplating,
/area/map_template/rescue_base/base)
"bC" = (
/obj/structure/flora/bush/fullgrass,
-/turf/unsimulated/floor{
- icon_state = "asteroidplating"
- },
+/turf/unsimulated/floor/asteroidplating,
/area/map_template/rescue_base/base)
"bD" = (
/obj/structure/rack,
/obj/item/gun/projectile/automatic/assault_rifle,
/obj/item/gun/projectile/automatic/assault_rifle,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bE" = (
/obj/machinery/door/airlock/centcom{
@@ -676,55 +508,39 @@
id_tag = "heavyrescue";
name = "Restricted Equipment"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bF" = (
/obj/structure/rack,
/obj/item/box/smokes,
/obj/item/box/smokes,
/obj/item/box/flashbangs,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bG" = (
/obj/structure/table/reinforced,
/obj/item/camera,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bH" = (
/obj/item/stool,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bI" = (
/obj/structure/table,
/obj/item/paper,
/obj/item/pen,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bJ" = (
/obj/machinery/door/airlock/centcom{
name = "Galley"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bK" = (
/obj/structure/flora/bush/fullgrass,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/rescue_base/base)
"bL" = (
/obj/structure/rack,
@@ -734,18 +550,12 @@
/obj/item/ammo_magazine/rifle,
/obj/item/ammo_magazine/rifle,
/obj/item/ammo_magazine/rifle,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bM" = (
/obj/structure/rack,
/obj/item/gun/launcher/grenade,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bN" = (
/obj/structure/rack,
@@ -754,27 +564,18 @@
/obj/item/box/emps,
/obj/item/box/emps,
/obj/item/box/frags,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bO" = (
/obj/structure/closet{
name = "emergency response team wardrobe"
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bP" = (
/obj/structure/bed/padded,
/obj/item/bedsheet/captain,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bQ" = (
/obj/structure/bed/padded,
@@ -782,19 +583,13 @@
/obj/item/radio/intercom{
pixel_y = 20
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bR" = (
/obj/machinery/vending/coffee{
markup = 0
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bS" = (
/obj/machinery/door/airlock/centcom{
@@ -804,57 +599,39 @@
id_tag = "standardrescue";
name = "Heavy Equipment"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bT" = (
/obj/machinery/door/airlock/centcom{
name = "Detention"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bU" = (
/obj/machinery/acting/changer,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bV" = (
/obj/abstract/landmark{
name = "Response Team"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bW" = (
/obj/machinery/door/airlock/centcom{
name = "Squad Bay"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bX" = (
/obj/machinery/door/airlock/centcom{
name = "Cell 1"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"bY" = (
/obj/structure/undies_wardrobe,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"bZ" = (
/obj/item/clothing/shoes/color/orange,
@@ -862,28 +639,20 @@
/obj/structure/closet{
name = "Prisoner's Locker"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"ca" = (
/obj/structure/table/reinforced,
/obj/machinery/recharger{
pixel_y = 4
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cb" = (
/obj/machinery/door/airlock/centcom{
name = "Ready Room"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cc" = (
/obj/structure/rack,
@@ -907,10 +676,7 @@
},
/obj/item/stack/tape_roll/barricade_tape/police,
/obj/item/stack/tape_roll/barricade_tape/police,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cd" = (
/obj/structure/rack,
@@ -920,10 +686,7 @@
/obj/item/clothing/glasses/night,
/obj/item/clothing/glasses/tacgoggles,
/obj/item/clothing/glasses/tacgoggles,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ce" = (
/obj/structure/rack,
@@ -931,19 +694,13 @@
/obj/item/backpack/ert/security,
/obj/item/belt/holster/security/tactical,
/obj/item/belt/holster/security/tactical,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cf" = (
/obj/structure/rack,
/obj/item/gun/energy/gun/nuclear,
/obj/item/gun/energy/gun/nuclear,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cg" = (
/obj/structure/rack,
@@ -955,10 +712,7 @@
/obj/item/clothing/suit/armor/pcarrier/medium,
/obj/item/clothing/head/helmet,
/obj/item/clothing/head/helmet,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ch" = (
/obj/structure/rack,
@@ -966,19 +720,13 @@
/obj/item/clothing/suit/armor/pcarrier/medium,
/obj/item/clothing/head/helmet,
/obj/item/clothing/head/helmet,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ci" = (
/obj/structure/rack,
/obj/item/gun/energy/gun,
/obj/item/gun/energy/gun,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cj" = (
/obj/structure/rack,
@@ -988,10 +736,7 @@
/obj/item/belt/medical,
/obj/item/belt/medical/emt,
/obj/item/belt/medical/emt,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ck" = (
/obj/structure/rack,
@@ -1002,10 +747,7 @@
/obj/item/box/gloves,
/obj/item/box/gloves,
/obj/item/box/masks,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cl" = (
/obj/structure/rack,
@@ -1029,10 +771,7 @@
/obj/item/box/syringegun,
/obj/item/gun/launcher/syringe/rapid,
/obj/item/gun/launcher/syringe/rapid,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cm" = (
/obj/structure/table/reinforced,
@@ -1046,10 +785,7 @@
/obj/item/chems/glass/bottle/stabilizer,
/obj/item/chems/glass/bottle/stabilizer,
/obj/item/chems/glass/bottle/stabilizer,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cn" = (
/obj/structure/rack,
@@ -1060,10 +796,7 @@
/obj/structure/window/reinforced/crescent{
dir = 8
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"co" = (
/obj/structure/rack,
@@ -1071,10 +804,7 @@
/obj/structure/window/reinforced/crescent{
dir = 1
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cp" = (
/obj/structure/rack,
@@ -1094,10 +824,7 @@
/obj/structure/window/reinforced/crescent{
dir = 4
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cq" = (
/obj/structure/rack,
@@ -1110,10 +837,7 @@
/obj/item/radio/intercom{
pixel_y = 20
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cs" = (
/obj/structure/rack,
@@ -1137,10 +861,7 @@
/obj/structure/window/reinforced/crescent{
dir = 8
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ct" = (
/obj/structure/rack,
@@ -1148,10 +869,7 @@
/obj/structure/window/reinforced/crescent{
dir = 1
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cu" = (
/obj/structure/rack,
@@ -1162,16 +880,11 @@
/obj/structure/window/reinforced/crescent{
dir = 4
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cv" = (
/obj/machinery/hologram/holopad/longrange,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"cw" = (
/obj/structure/rack,
@@ -1183,10 +896,7 @@
/obj/item/stack/material/sheet/mapped/steel/fifty,
/obj/item/stack/material/sheet/mapped/steel/fifty,
/obj/item/stack/material/sheet/mapped/steel/fifty,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cx" = (
/obj/structure/rack,
@@ -1194,18 +904,12 @@
/obj/item/gun/energy/laser,
/obj/item/gun/energy/laser,
/obj/item/gun/energy/laser,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cy" = (
/obj/machinery/chemical_dispenser/ert,
/obj/item/chems/glass/beaker/large,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cz" = (
/obj/structure/window/reinforced/crescent{
@@ -1216,40 +920,27 @@
},
/obj/structure/rack,
/obj/item/rig/ert/janitor,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cA" = (
/obj/structure/table/reinforced,
/obj/item/paper_bin,
/obj/item/pen,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"cB" = (
/obj/structure/table/reinforced,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"cD" = (
/obj/machinery/fabricator/hacked,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cE" = (
/obj/structure/rack,
/obj/item/gun/energy/ionrifle,
/obj/item/gun/energy/ionrifle,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cF" = (
/obj/structure/rack,
@@ -1265,10 +956,7 @@
/obj/item/shield/riot,
/obj/item/shield/riot,
/obj/item/shield/riot,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cG" = (
/obj/structure/table/reinforced,
@@ -1288,10 +976,7 @@
/obj/item/bodybag/cryobag,
/obj/item/bodybag/cryobag,
/obj/item/defibrillator/compact/loaded,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cH" = (
/obj/structure/table/reinforced,
@@ -1301,25 +986,17 @@
/obj/item/roller,
/obj/item/roller,
/obj/item/roller,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cI" = (
/obj/structure/closet{
name = "insignias closet"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"cJ" = (
/obj/machinery/chem_master,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cK" = (
/obj/structure/window/reinforced/crescent{
@@ -1328,10 +1005,7 @@
/obj/structure/window/reinforced/crescent,
/obj/structure/rack,
/obj/item/rig/ert/janitor,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cL" = (
/obj/structure/table/reinforced,
@@ -1341,10 +1015,7 @@
/obj/item/paicard,
/obj/item/paicard,
/obj/item/paicard,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cM" = (
/obj/structure/rack,
@@ -1352,10 +1023,7 @@
/obj/item/gun/energy/gun,
/obj/item/gun/energy/gun,
/obj/item/gun/energy/gun,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cN" = (
/obj/structure/rack,
@@ -1363,26 +1031,18 @@
/obj/item/shield/riot/metal,
/obj/item/shield/riot/metal,
/obj/item/shield/riot/metal,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cO" = (
/obj/machinery/chemical_dispenser/full,
/obj/item/chems/glass/beaker/large,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cP" = (
/obj/structure/bed/chair{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"cQ" = (
/obj/structure/table/reinforced,
@@ -1395,26 +1055,17 @@
/obj/structure/noticeboard{
default_pixel_x = 32
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cR" = (
/obj/structure/closet{
name = "insignias closet"
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cS" = (
/obj/structure/iv_drip,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cT" = (
/obj/structure/table/reinforced,
@@ -1427,10 +1078,7 @@
/obj/item/stack/tape_roll/barricade_tape/medical,
/obj/item/flashlight/pen,
/obj/item/flashlight/pen,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cU" = (
/obj/structure/table/reinforced,
@@ -1443,10 +1091,7 @@
/obj/item/firstaid/o2,
/obj/item/firstaid/o2,
/obj/item/firstaid/o2,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cV" = (
/obj/structure/table/reinforced,
@@ -1459,17 +1104,11 @@
/obj/item/firstaid/combat,
/obj/item/firstaid/combat,
/obj/item/firstaid/combat,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cW" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cX" = (
/obj/structure/window/reinforced/crescent,
@@ -1478,10 +1117,7 @@
/obj/structure/window/reinforced/crescent{
dir = 8
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cY" = (
/obj/structure/window/reinforced/crescent,
@@ -1492,10 +1128,7 @@
/obj/structure/window/reinforced/crescent{
dir = 4
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"cZ" = (
/obj/structure/window/reinforced/crescent,
@@ -1515,19 +1148,13 @@
/obj/structure/window/reinforced/crescent{
dir = 8
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"da" = (
/obj/structure/window/reinforced/crescent,
/obj/structure/rack,
/obj/item/rig/ert/engineer,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"db" = (
/obj/structure/window/reinforced/crescent,
@@ -1536,31 +1163,20 @@
/obj/structure/window/reinforced/crescent{
dir = 4
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dc" = (
-/turf/unsimulated/wall{
- desc = "A secure airlock. Doesn't look like you can get through easily.";
- icon = 'icons/obj/doors/centcomm/door.dmi';
- icon_state = "closed";
+/turf/unsimulated/wall/airlock{
name = "Foxtrot Barracks"
},
/area/map_template/rescue_base/base)
"dd" = (
/obj/structure/flora/bush/palebush,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/rescue_base/base)
"de" = (
/obj/structure/table/reinforced,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"df" = (
/obj/machinery/vending/security,
@@ -1570,19 +1186,13 @@
/obj/machinery/door/airlock/centcom{
name = "Security"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dh" = (
/obj/machinery/door/airlock/centcom{
name = "Medical"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"di" = (
/obj/machinery/vending/medical,
@@ -1600,53 +1210,35 @@
id_tag = "standardrescue";
name = "EVA"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dl" = (
/obj/machinery/door/airlock/centcom{
name = "Unit Area"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dm" = (
/obj/machinery/recharger/wallcharger{
pixel_x = 4;
pixel_y = 32
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dn" = (
/obj/machinery/door/airlock/centcom{
name = "Echo Barracks"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"do" = (
-/turf/unsimulated/wall{
- desc = "A secure airlock. Doesn't look like you can get through easily.";
- dir = 4;
- icon = 'icons/obj/doors/centcomm/door.dmi';
- icon_state = "closed";
+/turf/unsimulated/wall/airlock{
name = "Delta Barracks"
},
/area/map_template/rescue_base/base)
"dp" = (
/obj/structure/flora/bush/sunnybush,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/rescue_base/base)
"dq" = (
/obj/structure/table/reinforced,
@@ -1656,17 +1248,11 @@
/obj/item/modular_computer/tablet/lease/preset/command,
/obj/item/modular_computer/tablet/lease/preset/command,
/obj/item/modular_computer/tablet/lease/preset/command,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dr" = (
/obj/machinery/recharge_station,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ds" = (
/obj/structure/rack,
@@ -1676,10 +1262,7 @@
/obj/item/clothing/webbing/vest,
/obj/item/clothing/webbing/vest,
/obj/item/clothing/webbing/vest,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dt" = (
/obj/structure/rack,
@@ -1689,10 +1272,7 @@
/obj/item/clothing/webbing/vest/black,
/obj/item/clothing/webbing/vest/black,
/obj/item/clothing/webbing/vest/black,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"du" = (
/obj/structure/rack,
@@ -1702,10 +1282,7 @@
/obj/item/clothing/webbing/vest/brown,
/obj/item/clothing/webbing/vest/brown,
/obj/item/clothing/webbing/vest/brown,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dv" = (
/obj/structure/rack,
@@ -1715,20 +1292,14 @@
/obj/item/clothing/webbing/holster/thigh,
/obj/item/clothing/webbing/holster/thigh,
/obj/item/clothing/webbing/holster/thigh,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dw" = (
/obj/item/radio/intercom{
dir = 1;
pixel_y = -30
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dx" = (
/obj/machinery/embedded_controller/radio/simple_docking_controller{
@@ -1737,37 +1308,25 @@
pixel_x = 5;
pixel_y = -25
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dy" = (
/obj/machinery/door/airlock/centcom{
name = "Squad Leader's Office"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dz" = (
/obj/machinery/door/airlock/centcom{
name = "Command"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dA" = (
/obj/machinery/door/airlock/centcom{
name = "Engineering"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dB" = (
/obj/machinery/vending/engineering,
@@ -1778,27 +1337,18 @@
id_tag = "ert_rescue_base_hatch";
name = "Landing Pad"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dD" = (
/obj/structure/table/reinforced,
/obj/item/box/trackimp,
/obj/item/box/cdeathalarm_kit,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dE" = (
/obj/structure/table/reinforced,
/obj/prefab/hand_teleporter,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dF" = (
/obj/structure/table/reinforced,
@@ -1807,85 +1357,54 @@
/obj/item/radio/intercom{
pixel_y = 20
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dG" = (
/obj/structure/table/reinforced,
/obj/machinery/cell_charger,
/obj/item/cell/hyper,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dH" = (
/obj/machinery/vending/engivend,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dI" = (
/obj/machinery/vending/tool,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dJ" = (
/obj/machinery/vending/assist,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dK" = (
/obj/machinery/fabricator/pipe,
/obj/item/radio/intercom{
pixel_y = 20
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dL" = (
/obj/machinery/fabricator/pipe/disposal,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dN" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"dO" = (
/obj/structure/bed/chair/office/dark,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dP" = (
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dQ" = (
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/machinery/door/airlock/external/shuttle{
id_tag = "ert_rescue_base_hatch"
},
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"dR" = (
/obj/machinery/door/airlock/centcom{
@@ -1895,72 +1414,48 @@
id_tag = "standardrescue";
name = "Garage"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dS" = (
/obj/structure/table/steel,
/obj/item/radio/intercom,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"dT" = (
/obj/structure/table/steel,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"dU" = (
/obj/structure/table/steel,
/obj/item/box/fancy/cigar,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"dV" = (
/obj/machinery/door/airlock/centcom{
name = "Command"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"dW" = (
/obj/structure/reagent_dispensers/watertank,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dX" = (
/obj/machinery/portable_atmospherics/powered/pump/filled,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dY" = (
/obj/machinery/shieldgen,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"dZ" = (
/obj/effect/floor_decal/industrial/outline/yellow,
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"ea" = (
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/effect/floor_decal/industrial/warning/corner,
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"eb" = (
/obj/machinery/button/blast_door{
@@ -1969,44 +1464,29 @@
pixel_x = -24;
pixel_y = -4
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ec" = (
/obj/structure/table/reinforced,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ed" = (
/obj/structure/table/reinforced,
/obj/item/radio/intercom{
pixel_y = 20
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ee" = (
/obj/structure/table/reinforced,
/obj/machinery/cell_charger,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eg" = (
/obj/structure/bed/chair/office/dark{
dir = 4
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eh" = (
/obj/structure/rack,
@@ -2014,59 +1494,39 @@
/obj/item/box/teargas,
/obj/item/box/handcuffs,
/obj/item/baton/loaded,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ei" = (
/obj/structure/rack,
/obj/item/clothing/mask/gas,
/obj/item/clothing/glasses/tacgoggles,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ej" = (
/obj/structure/rack,
/obj/item/backpack/ert/commander,
/obj/item/belt/holster/security/tactical,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ek" = (
/obj/structure/rack,
/obj/item/gun/energy/gun,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"em" = (
/obj/structure/reagent_dispensers/fueltank,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"en" = (
/obj/machinery/portable_atmospherics/powered/scrubber,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eo" = (
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"ep" = (
/obj/machinery/door/blast/regular{
@@ -2074,38 +1534,25 @@
id_tag = "rescuegarage";
name = "Garage Exit"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eq" = (
/obj/machinery/mech_recharger,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"er" = (
/obj/item/card/id/centcom,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"et" = (
/obj/structure/rack,
/obj/item/secure_storage/briefcase,
/obj/item/clothing/head/beret/corp/centcom/captain,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eu" = (
/obj/machinery/emitter,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ev" = (
/obj/structure/table/woodentable{
@@ -2117,10 +1564,7 @@
pixel_x = -5;
pixel_y = 4
},
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/rescue_base/base)
"ew" = (
/obj/structure/table/woodentable{
@@ -2130,10 +1574,7 @@
desc = "Should anything ever go wrong...";
frequency = 1345
},
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/rescue_base/base)
"ex" = (
/obj/structure/table/woodentable{
@@ -2145,10 +1586,7 @@
pixel_x = 5;
pixel_y = 4
},
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/rescue_base/base)
"ey" = (
/obj/structure/rack,
@@ -2160,10 +1598,7 @@
/obj/item/clothing/gloves/insulated,
/obj/item/clothing/gloves/insulated,
/obj/item/clothing/gloves/insulated,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"ez" = (
/obj/structure/rack,
@@ -2173,10 +1608,7 @@
/obj/item/clothing/glasses/meson,
/obj/item/clothing/glasses/welding/superior,
/obj/item/clothing/glasses/welding/superior,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eA" = (
/obj/structure/rack,
@@ -2212,10 +1644,7 @@
pixel_x = 3;
pixel_y = 3
},
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eB" = (
/obj/structure/table/reinforced,
@@ -2233,10 +1662,7 @@
/obj/item/cell/high,
/obj/item/cell/high,
/obj/item/cell/high,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eC" = (
/obj/structure/table/reinforced,
@@ -2256,10 +1682,7 @@
/obj/item/rcd,
/obj/item/rcd,
/obj/item/rcd,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eD" = (
/obj/structure/table/reinforced,
@@ -2299,10 +1722,7 @@
/obj/item/stack/material/pane/mapped/rborosilicate/twenty,
/obj/item/stack/material/pane/mapped/rborosilicate/twenty,
/obj/item/stack/material/pane/mapped/rborosilicate/twenty,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eE" = (
/obj/structure/table/reinforced,
@@ -2314,25 +1734,17 @@
/obj/item/stock_parts/smes_coil/super_capacity,
/obj/item/stock_parts/smes_coil/super_io,
/obj/item/stock_parts/smes_coil/super_io,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eF" = (
/obj/machinery/portable_atmospherics/canister/air,
-/turf/unsimulated/floor{
- dir = 1;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eG" = (
/obj/item/radio/intercom{
pixel_y = 20
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"eH" = (
/obj/structure/table/woodentable{
@@ -2340,28 +1752,19 @@
},
/obj/item/ashtray,
/obj/item/trash/cigbutt/cigarbutt,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/rescue_base/base)
"eI" = (
/obj/structure/bed/chair/comfy/brown{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/rescue_base/base)
"eJ" = (
/obj/structure/table/woodentable{
dir = 5
},
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/rescue_base/base)
"eK" = (
/obj/machinery/door/airlock/centcom{
@@ -2372,77 +1775,56 @@
id_tag = "heavyrescue";
name = "Combat Exosuit"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/rescue_base/base)
"eL" = (
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/effect/floor_decal/industrial/warning/corner{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"eM" = (
/obj/effect/floor_decal/industrial/warning{
dir = 9
},
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"eN" = (
/obj/effect/floor_decal/industrial/warning{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"eO" = (
/obj/effect/floor_decal/industrial/warning{
dir = 5
},
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"eP" = (
/obj/effect/floor_decal/industrial/warning{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"eQ" = (
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"eR" = (
/obj/effect/floor_decal/industrial/loading,
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"eS" = (
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"eT" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/machinery/porta_turret/crescent,
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"eU" = (
/obj/effect/paint/blue,
@@ -2687,9 +2069,7 @@
/area/map_template/rescue_base/start)
"fB" = (
/obj/structure/flora/bush/palebush,
-/turf/unsimulated/floor{
- icon_state = "asteroidplating"
- },
+/turf/unsimulated/floor/asteroidplating,
/area/map_template/rescue_base/base)
"fC" = (
/obj/machinery/door/blast/regular/open{
@@ -3152,9 +2532,7 @@
/area/map_template/rescue_base/start)
"gT" = (
/obj/item/flashlight/lantern,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/rescue_base/base)
"gU" = (
/obj/effect/wallframe_spawn/reinforced/titanium,
@@ -3220,9 +2598,7 @@
/area/map_template/rescue_base/start)
"hc" = (
/obj/item/tool/drill/diamond,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/rescue_base/base)
"hd" = (
/obj/structure/bed/chair{
@@ -3271,58 +2647,44 @@
/obj/effect/floor_decal/industrial/warning{
dir = 10
},
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"hk" = (
/obj/effect/floor_decal/industrial/warning,
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"hl" = (
/obj/effect/floor_decal/industrial/warning{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "asteroidfloor"
- },
+/turf/unsimulated/floor/rescue_base,
/area/map_template/rescue_base/base)
"jY" = (
/obj/machinery/network/acl{
initial_network_id = "responsenet";
req_access = list("ACCESS_CENT_SPECOPS")
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"mp" = (
/obj/machinery/door/airlock/centcom{
name = "Telecommunications"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"qE" = (
/obj/machinery/network/mainframe{
initial_network_id = "responsenet";
req_access = list("ACCESS_CENT_SPECOPS")
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"ty" = (
/obj/machinery/computer/message_monitor{
dir = 4;
throwpass = 1
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"vA" = (
/obj/machinery/network/relay/long_range{
@@ -3336,15 +2698,11 @@
initial_network_id = "responsenet";
req_access = list("ACCESS_CENT_SPECOPS")
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
"Qa" = (
/obj/machinery/network/telecomms_hub/ert,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/rescue_base/base)
(1,1,1) = {"
diff --git a/maps/antag_spawn/mercenary/mercenary_base.dmm b/maps/antag_spawn/mercenary/mercenary_base.dmm
index 082f05c1afe..86f6f092e57 100644
--- a/maps/antag_spawn/mercenary/mercenary_base.dmm
+++ b/maps/antag_spawn/mercenary/mercenary_base.dmm
@@ -1589,7 +1589,7 @@
initial_network_id = "mercnet";
req_access = list("ACCESS_MERCENARY")
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/merc_spawn)
"cX" = (
/obj/structure/handrail{
@@ -1630,7 +1630,7 @@
/turf/floor/tiled,
/area/map_template/merc_spawn)
"dP" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/merc_spawn)
"eb" = (
/obj/abstract/landmark{
@@ -1657,7 +1657,7 @@
/area/map_template/merc_shuttle/rear)
"eA" = (
/obj/structure/railing,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"eP" = (
/obj/structure/closet/crate/uranium,
@@ -1700,7 +1700,7 @@
/turf/floor/plating,
/area/map_template/merc_spawn)
"fV" = (
-/obj/machinery/mining/drill,
+/obj/machinery/mining_drill,
/obj/structure/railing/mapped/no_density{
dir = 8
},
@@ -1795,7 +1795,7 @@
/obj/structure/railing{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"hX" = (
/obj/structure/rack,
@@ -1950,10 +1950,10 @@
/obj/structure/railing{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ls" = (
-/obj/machinery/mining/drill,
+/obj/machinery/mining_drill,
/obj/structure/railing/mapped/no_density{
dir = 8
},
@@ -2070,7 +2070,7 @@
/turf/floor/tiled,
/area/map_template/merc_spawn)
"qq" = (
-/obj/machinery/mining/brace,
+/obj/structure/drill_brace,
/obj/machinery/light/spot,
/turf/floor/plating,
/area/map_template/merc_spawn)
@@ -2189,7 +2189,7 @@
initial_network_id = "mercnet";
req_access = list("ACCESS_MERCENARY")
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/merc_spawn)
"wG" = (
/obj/effect/floor_decal/industrial/warning{
@@ -2198,7 +2198,7 @@
/obj/structure/railing{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"xb" = (
/obj/effect/floor_decal/industrial/warning/corner{
@@ -2217,11 +2217,11 @@
initial_network_id = "mercnet";
req_access = list("ACCESS_MERCENARY")
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/merc_spawn)
"yr" = (
/obj/machinery/computer/message_monitor,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/merc_spawn)
"yz" = (
/obj/effect/shuttle_landmark/merc/nav3,
@@ -2239,10 +2239,7 @@
/obj/item/grenade/anti_photon,
/obj/item/grenade/anti_photon,
/obj/item/box/frags,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/map_template/merc_spawn)
"zC" = (
/obj/machinery/vending/cigarette{
@@ -2271,7 +2268,7 @@
/area/map_template/merc_spawn)
"DM" = (
/obj/vehicle/bike/electric,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/merc_spawn)
"Fm" = (
/obj/structure/rack,
@@ -2309,7 +2306,7 @@
/obj/structure/railing{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"FO" = (
/obj/effect/floor_decal/industrial/warning{
@@ -2450,7 +2447,7 @@
/turf/floor/plating,
/area/map_template/merc_spawn)
"LI" = (
-/obj/machinery/mining/brace,
+/obj/structure/drill_brace,
/turf/floor/plating,
/area/map_template/merc_spawn)
"LY" = (
@@ -2526,10 +2523,10 @@
/area/space)
"NZ" = (
/obj/machinery/network/telecomms_hub/mercenary,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/merc_spawn)
"Ok" = (
-/obj/machinery/mining/brace,
+/obj/structure/drill_brace,
/obj/structure/railing/mapped/no_density{
dir = 1
},
@@ -2549,7 +2546,7 @@
/turf/floor/tiled,
/area/map_template/merc_spawn)
"Pb" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"PE" = (
/obj/structure/rack,
diff --git a/maps/antag_spawn/wizard/wizard_base.dmm b/maps/antag_spawn/wizard/wizard_base.dmm
index d8cb235fb58..965c15e71e6 100644
--- a/maps/antag_spawn/wizard/wizard_base.dmm
+++ b/maps/antag_spawn/wizard/wizard_base.dmm
@@ -11,9 +11,8 @@
/turf/floor/carpet,
/area/map_template/wizard_station)
"ad" = (
-/turf/unsimulated/wall/fakeglass{
- dir = 8;
- icon_state = "fakewindows2"
+/turf/unsimulated/wall/fakeglass/alt{
+ dir = 8
},
/area/map_template/wizard_station)
"ae" = (
@@ -55,10 +54,7 @@
"al" = (
/obj/structure/table/woodentable,
/obj/item/dice,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"am" = (
/obj/structure/bed/padded,
@@ -68,10 +64,7 @@
"an" = (
/obj/structure/table/woodentable,
/obj/item/dice/d20,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"ao" = (
/obj/structure/table/woodentable,
@@ -83,18 +76,12 @@
/mob/living/human/monkey{
name = "Murphey"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aq" = (
/obj/structure/table/woodentable,
/obj/item/food/chawanmushi,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"ar" = (
/obj/structure/table/woodentable,
@@ -107,24 +94,15 @@
"as" = (
/obj/structure/table/woodentable,
/obj/item/megaphone,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"at" = (
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"au" = (
/obj/structure/table/woodentable,
/obj/item/cash/c1,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"av" = (
/obj/structure/table/woodentable,
@@ -133,26 +111,17 @@
dir = 8;
pixel_x = 22
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aw" = (
/obj/machinery/vending/magivend,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"ax" = (
/obj/structure/bed/chair/wood/wings{
dir = 8
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"ay" = (
/obj/abstract/landmark/start{
@@ -176,36 +145,24 @@
name = "Forbidden Knowledge"
},
/obj/effect/decal/cleanable/cobweb,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aC" = (
/obj/structure/bookcase{
name = "bookcase (Tactics)"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aD" = (
/obj/structure/bookcase,
/obj/item/book/manual/nuclear,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aE" = (
/obj/structure/bookcase{
name = "Forbidden Knowledge"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aF" = (
/turf/unsimulated/wall/fakeglass{
@@ -213,27 +170,16 @@
},
/area/map_template/wizard_station)
"aG" = (
-/turf/unsimulated/floor{
- icon = 'icons/misc/beach.dmi';
- icon_state = "seashallow";
- name = "water"
- },
+/turf/unsimulated/floor/water,
/area/map_template/wizard_station)
"aH" = (
/obj/structure/bookcase,
/obj/item/book/manual/robotics_cyborgs,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aI" = (
/obj/item/bikehorn/rubberducky,
-/turf/unsimulated/floor{
- icon = 'icons/misc/beach.dmi';
- icon_state = "seashallow";
- name = "water"
- },
+/turf/unsimulated/floor/water,
/area/map_template/wizard_station)
"aJ" = (
/obj/effect/floor_decal/spline/fancy/wood{
@@ -242,17 +188,13 @@
/obj/machinery/acting/changer/mirror{
pixel_y = 32
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/wizard_station)
"aK" = (
/obj/structure/hygiene/toilet{
pixel_y = 8
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/wizard_station)
"aL" = (
/obj/structure/table/woodentable,
@@ -260,34 +202,22 @@
dir = 4;
pixel_x = -22
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aM" = (
/obj/structure/closet/coffin,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/wizard_station)
"aN" = (
/obj/structure/bed/chair/wood/wings{
dir = 4
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aO" = (
/obj/structure/table/woodentable,
/obj/item/box/cups,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aP" = (
/obj/structure/closet,
@@ -295,17 +225,12 @@
/obj/item/clothing/shoes/sandal,
/obj/item/clothing/head/wizard/red,
/obj/item/staff/crystal/beacon,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/map_template/wizard_station)
"aQ" = (
/obj/structure/table/woodentable,
/obj/item/bag/cash,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aR" = (
/obj/structure/closet,
@@ -313,91 +238,62 @@
/obj/item/clothing/shoes/sandal/marisa,
/obj/item/clothing/head/wizard/marisa,
/obj/item/staff/broom,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/map_template/wizard_station)
"aS" = (
/obj/structure/table/woodentable,
/obj/item/box/candles,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aT" = (
/obj/structure/closet,
/obj/item/clothing/suit/wizrobe/magusblue,
/obj/item/clothing/head/wizard/magus,
/obj/item/staff/crystal,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/map_template/wizard_station)
"aU" = (
/obj/structure/closet,
/obj/item/chems/drinks/bottle/pwine,
/obj/item/chems/drinks/bottle/agedwhiskey,
/obj/item/chems/drinks/bottle/cognac,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/map_template/wizard_station)
"aV" = (
/obj/effect/floor_decal/spline/fancy/wood{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/wizard_station)
"aW" = (
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/wizard_station)
"aX" = (
/obj/structure/door/iron,
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/wizard_station)
"aY" = (
/obj/structure/table/woodentable,
/obj/item/box/fancy/donut,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"aZ" = (
/obj/structure/door/wood,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/map_template/wizard_station)
"ba" = (
/obj/structure/door/silver,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"bb" = (
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/map_template/wizard_station)
"bc" = (
/turf/unsimulated/wall/fakeglass,
/area/map_template/wizard_station)
"bd" = (
/obj/item/soap,
-/turf/unsimulated/floor{
- icon = 'icons/misc/beach.dmi';
- icon_state = "seashallow";
- name = "water"
- },
+/turf/unsimulated/floor/water,
/area/map_template/wizard_station)
"be" = (
/obj/effect/floor_decal/spline/fancy/wood{
@@ -407,9 +303,7 @@
dir = 1;
pixel_y = -30
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/wizard_station)
"bf" = (
/obj/structure/hygiene/sink{
@@ -419,30 +313,22 @@
/obj/structure/mirror{
pixel_x = 32
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/wizard_station)
"bg" = (
/obj/structure/table/woodentable,
/obj/item/chems/glass/bowl/mapped/meatball,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"bh" = (
/obj/structure/closet,
/obj/item/clothing/jumpsuit/psysuit,
/obj/item/clothing/suit/wizrobe/psypurple,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/map_template/wizard_station)
"bi" = (
-/turf/unsimulated/wall/fakeglass{
- dir = 1;
- icon_state = "fakewindows2"
+/turf/unsimulated/wall/fakeglass/alt{
+ dir = 1
},
/area/map_template/wizard_station)
"bj" = (
@@ -460,184 +346,116 @@
dir = 1;
pixel_y = -30
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/map_template/wizard_station)
"bk" = (
/obj/structure/closet,
/obj/item/clothing/suit/wizrobe/magusred,
/obj/item/clothing/head/wizard/magus,
/obj/item/staff/crystal/beacon,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/map_template/wizard_station)
"bl" = (
/obj/structure/closet,
/obj/item/briefcase,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/map_template/wizard_station)
"bm" = (
/obj/structure/bookcase,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"bn" = (
/obj/item/radio/intercom/wizard{
dir = 1;
pixel_y = -30
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/wizard_station)
"bo" = (
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/wizard_station)
"bp" = (
/obj/item/radio/intercom/wizard{
pixel_y = 20
},
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/wizard_station)
"bq" = (
/obj/structure/fake_pylon,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/wizard_station)
"br" = (
/obj/structure/meat_hook,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/wizard_station)
"bs" = (
/obj/item/remains/human,
-/turf/unsimulated/floor{
- icon_state = "lava";
- name = "plating"
- },
+/turf/unsimulated/floor/lava,
/area/map_template/wizard_station)
"bt" = (
-/turf/unsimulated/floor{
- icon_state = "lava";
- name = "plating"
- },
+/turf/unsimulated/floor/lava,
/area/map_template/wizard_station)
"bu" = (
-/turf/unsimulated/floor{
- icon_state = "grass0";
- name = "grass"
- },
+/turf/unsimulated/floor/grass,
/area/map_template/wizard_station)
"bv" = (
/obj/structure/flora/bush/fullgrass,
-/turf/unsimulated/floor{
- icon_state = "grass0";
- name = "grass"
- },
+/turf/unsimulated/floor/grass,
/area/map_template/wizard_station)
"bw" = (
/mob/living/simple_animal/hostile/creature{
name = "Experiment 35b"
},
-/turf/unsimulated/floor{
- icon_state = "lava";
- name = "plating"
- },
+/turf/unsimulated/floor/lava,
/area/map_template/wizard_station)
"bx" = (
/obj/structure/talisman_altar,
/obj/item/knife/ritual,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/wizard_station)
"by" = (
/obj/structure/table/woodentable,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/wizard_station)
"bz" = (
/obj/effect/gateway/active/spooky,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/wizard_station)
"bA" = (
/obj/structure/table/marble,
/obj/item/flashlight/slime,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/wizard_station)
"bB" = (
/mob/living/simple_animal/hostile/goat{
name = "Experiment 97d"
},
-/turf/unsimulated/floor{
- icon_state = "grass0";
- name = "grass"
- },
+/turf/unsimulated/floor/grass,
/area/map_template/wizard_station)
"bC" = (
/obj/structure/flora/bush/grassybush,
-/turf/unsimulated/floor{
- icon_state = "grass0";
- name = "grass"
- },
+/turf/unsimulated/floor/grass,
/area/map_template/wizard_station)
"bD" = (
/obj/structure/flora/pottedplant/unusual,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/map_template/wizard_station)
"bE" = (
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/wizard_station)
"bF" = (
/obj/effect/overlay/palmtree_r,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/wizard_station)
"bG" = (
/mob/living/simple_animal/crab{
name = "Experiment 68a"
},
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/wizard_station)
"bH" = (
/obj/effect/overlay/coconut,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/wizard_station)
(1,1,1) = {"
diff --git a/maps/away/bearcat/bearcat-1.dmm b/maps/away/bearcat/bearcat-1.dmm
index 9a6fc4c3102..947b876eee6 100644
--- a/maps/away/bearcat/bearcat-1.dmm
+++ b/maps/away/bearcat/bearcat-1.dmm
@@ -57,7 +57,7 @@
/obj/machinery/door/blast/regular/open{
id_tag = "engwindow"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/escape_port)
"aj" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
@@ -103,7 +103,7 @@
/obj/machinery/door/blast/regular/open{
id_tag = "engwindow"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/escape_star)
"aq" = (
/obj/effect/paint/brown,
@@ -114,7 +114,7 @@
dir = 4
},
/obj/machinery/door/window/southright,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/escape_port)
"at" = (
/obj/machinery/atmospherics/pipe/simple/hidden,
@@ -167,7 +167,7 @@
dir = 4
},
/obj/machinery/door/window/southright,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/escape_star)
"ay" = (
/turf/wall/r_wall,
@@ -814,7 +814,7 @@
icon_state = "bulb1"
},
/obj/effect/floor_decal/industrial/warning/corner,
-/obj/machinery/mining/brace,
+/obj/structure/drill_brace,
/turf/floor/tiled/usedup,
/area/ship/scrap/cargo/lower)
"bP" = (
diff --git a/maps/away/bearcat/bearcat-2.dmm b/maps/away/bearcat/bearcat-2.dmm
index c82fabb2558..c167b8ef9e0 100644
--- a/maps/away/bearcat/bearcat-2.dmm
+++ b/maps/away/bearcat/bearcat-2.dmm
@@ -2881,7 +2881,7 @@
id_tag = "scraplock";
name = "External Blast Doors"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/port)
"fG" = (
/obj/structure/lattice,
@@ -3385,9 +3385,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/wall/r_wall{
- can_open = 1
- },
+/turf/wall/false,
/area/ship/scrap/hidden)
"gG" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -3856,7 +3854,7 @@
/turf/space,
/area/ship/scrap/maintenance/atmos)
"hx" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/atmos)
"hy" = (
/obj/structure/window/reinforced{
@@ -4066,7 +4064,7 @@
/area/ship/scrap/maintenance/atmos)
"hN" = (
/obj/item/shard,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/atmos)
"hO" = (
/obj/machinery/atmospherics/unary/outlet_injector{
@@ -4253,7 +4251,7 @@
/area/ship/scrap/maintenance/atmos)
"ie" = (
/obj/item/stack/material/sheet/mapped/steel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/atmos)
"if" = (
/obj/structure/window/reinforced{
@@ -4390,14 +4388,14 @@
},
/obj/machinery/atmospherics/portables_connector,
/obj/item/stack/material/pane/mapped/rborosilicate/five,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"iv" = (
/obj/machinery/light_switch{
pixel_y = 25
},
/obj/machinery/atmospherics/unary/tank/carbon_dioxide,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"iw" = (
/obj/machinery/atmospherics/portables_connector,
@@ -4407,7 +4405,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 5
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"ix" = (
/obj/machinery/light/small{
@@ -4420,11 +4418,11 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"iy" = (
/obj/machinery/atmospherics/portables_connector,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"iA" = (
/obj/structure/closet/radiation,
@@ -4484,32 +4482,32 @@
pixel_x = -22;
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"iG" = (
/obj/machinery/atmospherics/pipe/manifold/visible/fuel{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"iH" = (
/obj/machinery/meter,
/obj/machinery/atmospherics/pipe/manifold/visible/fuel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"iI" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
dir = 9
},
/mob/living/simple_animal/hostile/carp,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"iJ" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1;
level = 2
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"iL" = (
/obj/machinery/atmospherics/omni/mixer{
@@ -4519,7 +4517,7 @@
tag_west = 1;
tag_west_con = 0.64
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"iM" = (
/obj/structure/cable{
@@ -4555,7 +4553,7 @@
/area/ship/scrap/maintenance/atmos)
"iQ" = (
/obj/item/stack/material/sheet/reinforced/mapped/plasteel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/atmos)
"iR" = (
/obj/structure/window/reinforced{
@@ -4615,7 +4613,7 @@
pixel_x = -24;
req_access = newlist()
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"iV" = (
/obj/structure/window/borosilicate_reinforced{
@@ -4660,13 +4658,13 @@
dir = 8
},
/obj/item/stack/material/pane/mapped/rborosilicate/twenty,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"iZ" = (
/obj/machinery/atmospherics/pipe/simple/visible/green{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"ja" = (
/obj/machinery/meter,
@@ -4674,7 +4672,7 @@
dir = 9
},
/obj/structure/closet/crate/solar,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jb" = (
/obj/structure/cable{
@@ -4720,7 +4718,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
/obj/machinery/meter,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jg" = (
/obj/structure/window/borosilicate_reinforced{
@@ -4744,14 +4742,14 @@
/obj/machinery/door/blast/regular{
id_tag = "scram"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jk" = (
/obj/effect/floor_decal/industrial/warning{
dir = 8;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jl" = (
/obj/item/radio/intercom{
@@ -4763,7 +4761,7 @@
},
/obj/machinery/portable_atmospherics/canister/empty,
/obj/machinery/atmospherics/portables_connector,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jm" = (
/obj/structure/cable,
@@ -4791,7 +4789,7 @@
/obj/machinery/atmospherics/valve/open,
/obj/item/shard/borosilicate,
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jt" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
@@ -4830,14 +4828,14 @@
/obj/machinery/atmospherics/binary/pump{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jx" = (
/obj/machinery/atmospherics/pipe/simple/hidden/black{
dir = 4
},
/obj/machinery/meter,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jy" = (
/obj/machinery/atmospherics/omni/filter{
@@ -4848,7 +4846,7 @@
use_power = 0
},
/obj/machinery/portable_atmospherics/canister/oxygen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jz" = (
/obj/machinery/atmospherics/pipe/simple/hidden/black{
@@ -4895,22 +4893,22 @@
/turf/floor/tiled/airless,
/area/ship/scrap/maintenance/atmos)
"jF" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jG" = (
/obj/item/shard/borosilicate,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jH" = (
/obj/machinery/atmospherics/pipe/manifold/visible/fuel,
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jI" = (
/obj/machinery/atmospherics/valve/open{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jK" = (
/obj/machinery/atmospherics/portables_connector{
@@ -4921,7 +4919,7 @@
dir = 4;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jL" = (
/obj/machinery/door/blast/regular{
@@ -4956,7 +4954,7 @@
/obj/effect/floor_decal/industrial/warning,
/mob/living/simple_animal/hostile/carp,
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jQ" = (
/obj/structure/window/reinforced,
@@ -4964,7 +4962,7 @@
dir = 1
},
/obj/effect/floor_decal/industrial/warning,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jR" = (
/obj/structure/window/reinforced,
@@ -4972,7 +4970,7 @@
/obj/machinery/atmospherics/pipe/manifold/visible/fuel{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jS" = (
/obj/effect/floor_decal/industrial/warning,
@@ -4982,7 +4980,7 @@
icon_state = "warning"
},
/obj/structure/closet/crate/solar_assembly,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jT" = (
/obj/structure/lattice,
@@ -5002,7 +5000,7 @@
/obj/machinery/atmospherics/unary/engine{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jX" = (
/obj/item/stack/material/rods,
@@ -5016,14 +5014,14 @@
/obj/structure/sign/warning/hot_exhaust{
pixel_y = 32
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"jZ" = (
/obj/machinery/door/blast/regular/open{
id_tag = "scraplock";
name = "External Blast Doors"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"kb" = (
/obj/machinery/light/small{
@@ -5093,7 +5091,7 @@
id_tag = "scraplock";
name = "External Blast Doors"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/starboard)
"rH" = (
/obj/machinery/atmospherics/unary/engine{
@@ -5107,7 +5105,7 @@
/area/ship/scrap/crew/medbay)
"sy" = (
/obj/structure/lattice,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/atmos)
"ts" = (
/obj/structure/lattice,
@@ -5118,7 +5116,7 @@
dir = 5
},
/obj/effect/decal/cleanable/ash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"uM" = (
/obj/item/stack/material/sheet/mapped/steel,
@@ -5192,7 +5190,7 @@
/area/ship/scrap/maintenance/atmos)
"FI" = (
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"GG" = (
/obj/effect/paint/brown,
@@ -5220,7 +5218,7 @@
id_tag = "n2_in";
use_power = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/atmos)
"Jy" = (
/obj/machinery/light/small{
@@ -5316,7 +5314,7 @@
},
/obj/machinery/meter,
/obj/effect/decal/cleanable/ash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"Sm" = (
/obj/structure/emergency_dispenser/west,
@@ -5325,7 +5323,7 @@
icon_state = "1-2"
},
/obj/effect/decal/cleanable/molten_item,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"Ul" = (
/obj/effect/paint/brown,
@@ -5345,7 +5343,7 @@
/area/ship/scrap/hidden)
"Wu" = (
/obj/effect/decal/cleanable/molten_item,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/scrap/maintenance/engine/aft)
"Yl" = (
/obj/structure/lattice,
diff --git a/maps/away/casino/casino.dmm b/maps/away/casino/casino.dmm
index feea9a3e461..b1d54db6ab7 100644
--- a/maps/away/casino/casino.dmm
+++ b/maps/away/casino/casino.dmm
@@ -63,9 +63,7 @@
teleport_z = 6;
teleport_z_offset = 6
},
-/turf/space{
- icon_state = "black"
- },
+/turf/space/black,
/area/space)
"ah" = (
/obj/effect/step_trigger/thrower{
@@ -1160,7 +1158,7 @@
/obj/structure/cable/yellow{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"dt" = (
/obj/structure/hygiene/toilet{
@@ -1272,7 +1270,7 @@
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"dM" = (
/obj/structure/bed/chair/comfy/red{
@@ -1385,10 +1383,10 @@
name = "Starboard Auxiliary Solar Array"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ed" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ee" = (
/obj/structure/hygiene/shower{
@@ -1471,7 +1469,7 @@
/obj/structure/cable/yellow{
icon_state = "1-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"er" = (
/obj/structure/cable/yellow{
@@ -1483,13 +1481,13 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"es" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"et" = (
/obj/structure/cable/yellow{
@@ -1501,7 +1499,7 @@
/obj/structure/cable/yellow{
icon_state = "2-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"eu" = (
/obj/structure/cable/yellow{
@@ -1513,7 +1511,7 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ev" = (
/obj/structure/cable/yellow{
@@ -1522,7 +1520,7 @@
/obj/structure/cable/yellow{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ew" = (
/obj/structure/reagent_dispensers/beerkeg,
@@ -1601,7 +1599,7 @@
name = "Starboard Auxiliary Solar Array"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"eJ" = (
/obj/structure/reagent_dispensers/watertank,
@@ -2012,7 +2010,7 @@
},
/obj/structure/cable/yellow,
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"fN" = (
/obj/structure/mopbucket,
@@ -2269,7 +2267,7 @@
/obj/structure/cable/yellow{
icon_state = "2-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"gx" = (
/obj/structure/cable/yellow{
@@ -2282,7 +2280,7 @@
pixel_y = 24;
req_access = newlist()
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"gy" = (
/obj/machinery/door/airlock/external{
@@ -2376,7 +2374,7 @@
name = "Port Auxiliary Solar Array"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"gL" = (
/obj/machinery/door/airlock/external{
@@ -2416,7 +2414,7 @@
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"hb" = (
/obj/effect/floor_decal/industrial/warning{
@@ -2488,7 +2486,7 @@
name = "Port Auxiliary Solar Array"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"hl" = (
/obj/structure/cable/yellow,
@@ -2767,7 +2765,7 @@
/obj/structure/cable/yellow{
icon_state = "1-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ih" = (
/obj/machinery/door/firedoor,
@@ -3278,7 +3276,7 @@
icon_state = "map_injector";
use_power = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"jv" = (
/obj/machinery/atmospherics/pipe/simple/visible/red{
@@ -4591,18 +4589,18 @@
/obj/machinery/atmospherics/pipe/simple/visible/black{
dir = 6
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/casino/casino_bow)
"nh" = (
/obj/machinery/atmospherics/pipe/manifold4w/visible/black,
/obj/machinery/meter,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/casino/casino_bow)
"ni" = (
/obj/machinery/atmospherics/pipe/simple/visible/black{
dir = 10
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/casino/casino_bow)
"nj" = (
/obj/structure/bed/chair,
@@ -5153,7 +5151,7 @@
/area/casino/casino_mainfloor)
"Mb" = (
/obj/machinery/shipsensors,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/casino/casino_bridge)
"Mc" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
@@ -5308,7 +5306,7 @@
dir = 4;
icon_state = "bulb1"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/casino/casino_bow)
"Tb" = (
/obj/machinery/light{
@@ -5324,7 +5322,7 @@
/obj/machinery/light/small{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/casino/casino_bow)
"TO" = (
/obj/machinery/atmospherics/pipe/manifold/visible/red,
diff --git a/maps/away/derelict/derelict-station.dmm b/maps/away/derelict/derelict-station.dmm
index 4ad78870e89..e1b3af10b02 100644
--- a/maps/away/derelict/derelict-station.dmm
+++ b/maps/away/derelict/derelict-station.dmm
@@ -111,7 +111,7 @@
/obj/structure/window/reinforced{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/derelict/ship)
"ar" = (
/obj/structure/shuttle/engine/propulsion{
@@ -396,11 +396,11 @@
"bh" = (
/obj/structure/grille,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"bi" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"bj" = (
/obj/structure/table,
@@ -425,18 +425,18 @@
/area/derelict/ship)
"bn" = (
/obj/random/hostile,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"bo" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"bp" = (
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"bq" = (
/obj/random/cash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"br" = (
/obj/structure/table,
@@ -457,7 +457,7 @@
/area/derelict/ship)
"bu" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"bv" = (
/turf/wall,
@@ -466,11 +466,11 @@
/obj/structure/grille,
/obj/machinery/door/blast/regular/open,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"bx" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"by" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -480,11 +480,11 @@
"bz" = (
/obj/structure/grille,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"bA" = (
/obj/random/material,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"bB" = (
/obj/structure/table,
@@ -494,28 +494,26 @@
"bC" = (
/obj/structure/table,
/obj/random/drinkbottle,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"bD" = (
/obj/structure/table,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"bE" = (
/obj/structure/table,
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"bF" = (
/turf/space,
/area/constructionsite/maintenance)
"bG" = (
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"bH" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/maintenance)
"bI" = (
/obj/structure/grille,
@@ -542,7 +540,7 @@
/turf/floor/tiled/dark/airless,
/area/constructionsite/bridge)
"bL" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"bM" = (
/obj/random/trash,
@@ -551,11 +549,11 @@
/area/constructionsite/bridge)
"bN" = (
/obj/random/closet,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"bO" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"bP" = (
/obj/structure/table,
@@ -563,17 +561,15 @@
info = "\\\[center]\\\[b]ATTN: Regarding Meteor Storms\\\[/b]\[/center]\\\[br]\\\[br]We've recently heard mutterings from the Atmospheric Technicians that the meteor showers in this sector are becoming too much. However, this should be disregarded.\\\[br]\\\[br] High Command has assured us that our shields can easily keep pace with any meteor storm and then some. Any uneasiness the crew may feel should be disspelled swiftly. Thank you.";
name = "ATTN: Regarding Meteor Storms"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"bQ" = (
/obj/structure/table,
/obj/random/material,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"bR" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/bridge)
"bS" = (
/obj/random/hostile{
@@ -658,15 +654,15 @@
/area/derelict/ship)
"cd" = (
/obj/structure/girder,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"ce" = (
/obj/machinery/door/airlock/hatch,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"cf" = (
/obj/random/handgun,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"cg" = (
/obj/item/stack/cable_coil,
@@ -680,13 +676,13 @@
"ci" = (
/obj/machinery/door/airlock/hatch,
/obj/machinery/door/blast/regular/open,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"cj" = (
/obj/random/hostile{
spawn_nothing_percentage = 60
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"ck" = (
/obj/random/junk,
@@ -695,14 +691,14 @@
"cl" = (
/obj/machinery/door/airlock/hatch,
/obj/machinery/door/blast/regular,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"cm" = (
/obj/random/closet,
/obj/random/maintenance,
/obj/random/maintenance,
/obj/random/material,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"cn" = (
/turf/wall/raidershuttle,
@@ -744,57 +740,53 @@
/obj/random/closet,
/obj/random/energy,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"cv" = (
/obj/structure/bookcase/manuals/engineering,
/obj/effect/decal/cleanable/cobweb,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"cw" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"cx" = (
/obj/structure/bookcase,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/fore)
"cy" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/fore)
"cz" = (
/obj/structure/bookcase/manuals/xenoarchaeology,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"cA" = (
/obj/structure/bookcase,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"cB" = (
/obj/structure/girder,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"cC" = (
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"cD" = (
/obj/structure/table/marble,
/obj/random/coin,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"cE" = (
/obj/structure/table/marble,
/obj/machinery/microwave,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"cF" = (
/obj/structure/table/marble,
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"cG" = (
/turf/floor/tiled/white/airless,
@@ -822,35 +814,33 @@
"cM" = (
/obj/structure/bookcase,
/obj/item/book/manual/excavation,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"cN" = (
/turf/floor/tiled/dark/airless,
/area/constructionsite/hallway/fore)
"cO" = (
/obj/structure/bookcase/manuals/xenoarchaeology,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/fore)
"cP" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"cQ" = (
/obj/structure/bookcase,
/obj/item/book/manual/ripley_build_and_repair,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"cR" = (
/obj/structure/noticeboard{
default_pixel_x = 32
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/bridge)
"cS" = (
/obj/effect/decal/cleanable/cobweb,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"cT" = (
/obj/structure/window/reinforced,
@@ -897,7 +887,7 @@
/area/constructionsite/hallway/fore)
"cY" = (
/obj/structure/filing_cabinet/tall,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"cZ" = (
/obj/machinery/door/airlock/glass/command{
@@ -912,83 +902,79 @@
locked = 0
},
/obj/random/contraband,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"db" = (
/obj/structure/table/marble,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dc" = (
/obj/structure/table/marble,
/obj/item/kitchen/rollingpin,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"de" = (
/obj/random/closet,
/obj/random/voidhelmet,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"df" = (
/obj/structure/rack,
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dg" = (
/obj/structure/bookcase/manuals/medical,
/obj/item/book/manual/nuclear,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/fore)
"dh" = (
/obj/random/trash,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/fore)
"di" = (
/obj/structure/rack,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dj" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dk" = (
/obj/structure/table/marble,
/obj/random/drinkbottle,
/obj/random/drinkbottle,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dl" = (
/obj/structure/table/marble,
/obj/random/gloves,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dm" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dn" = (
/obj/structure/table/marble,
/obj/random/drinkbottle,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"do" = (
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dp" = (
/obj/structure/rack,
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dq" = (
/obj/structure/rack,
/obj/random/hat,
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dr" = (
/obj/random/junk,
@@ -1001,17 +987,15 @@
"dt" = (
/obj/structure/table,
/obj/random/toy,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/fore)
"du" = (
/obj/structure/table,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dv" = (
/obj/structure/grille,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dw" = (
/turf/floor/holofloor/tiled/dark,
@@ -1019,42 +1003,36 @@
"dx" = (
/obj/random/junk,
/obj/structure/table,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dy" = (
/obj/random/snack,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dz" = (
/turf/wall,
/area/constructionsite/hallway/fore)
"dA" = (
/obj/machinery/door/airlock/hatch,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dB" = (
/obj/machinery/door/airlock/glass{
name = "Library"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dC" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/fore)
"dD" = (
/obj/structure/grille/broken,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/fore)
"dE" = (
/obj/structure/grille,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/fore)
"dF" = (
/obj/structure/sign/warning/secure_area,
@@ -1076,41 +1054,37 @@
/obj/machinery/door/airlock/glass{
name = "Kitchen"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dJ" = (
/obj/structure/table/marble,
/obj/machinery/door/blast/shutters,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/fore)
"dK" = (
/obj/structure/table/marble,
/obj/machinery/door/blast/shutters/open,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dL" = (
/obj/structure/table,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/fore)
"dM" = (
/obj/structure/table,
/obj/machinery/door/blast/shutters/open,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dN" = (
/obj/structure/girder/displaced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dO" = (
/turf/wall,
/area/space)
"dP" = (
/obj/structure/grille/broken,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dQ" = (
/obj/random/smokes,
@@ -1141,7 +1115,7 @@
"dW" = (
/obj/structure/rack,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"dX" = (
/obj/effect/shuttle_landmark/derelict/nav2,
@@ -1152,7 +1126,7 @@
/area/constructionsite/storage)
"dZ" = (
/obj/structure/girder/displaced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"ea" = (
/obj/structure/extinguisher_cabinet{
@@ -1160,41 +1134,39 @@
pixel_x = 29;
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"eb" = (
/turf/wall,
/area/constructionsite/teleporter)
"ec" = (
/obj/machinery/mech_recharger,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"ed" = (
/obj/machinery/fabricator/industrial,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"ee" = (
/obj/structure/table,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"ef" = (
/obj/structure/table,
/obj/random/material,
/obj/random/material,
/obj/random/coin,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"eg" = (
/obj/structure/table,
/obj/machinery/cell_charger,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/storage)
"ei" = (
/obj/structure/table,
/obj/random/medical,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"ej" = (
/obj/machinery/shieldgen,
@@ -1266,12 +1238,10 @@
/obj/structure/rack,
/obj/random/maintenance,
/obj/random/toolbox,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"es" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/storage)
"et" = (
/obj/structure/bed/chair/office/light{
@@ -1283,12 +1253,12 @@
/obj/machinery/optable{
name = "Robotics Operating Table"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"ev" = (
/obj/random/closet,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"ew" = (
/obj/machinery/shieldgen,
@@ -1348,20 +1318,18 @@
/area/constructionsite/teleporter)
"eD" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"eE" = (
/obj/machinery/door/airlock/glass/science{
name = "Robotics"
},
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/storage)
"eF" = (
/obj/structure/grille/broken,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"eG" = (
/obj/structure/sign/department/science_1,
@@ -1405,15 +1373,15 @@
/area/constructionsite/teleporter)
"eL" = (
/obj/structure/skele_stand,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"eM" = (
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"eN" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"eO" = (
/turf/floor/tiled/dark/airless,
@@ -1423,14 +1391,14 @@
name = "Research"
},
/obj/machinery/door/blast/shutters,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"eQ" = (
/obj/machinery/door/airlock/glass/science{
name = "Research"
},
/obj/machinery/door/blast/shutters,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"eR" = (
/obj/machinery/door/airlock/external{
@@ -1474,18 +1442,18 @@
/area/constructionsite/teleporter)
"eX" = (
/obj/machinery/door/airlock/hatch,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"eY" = (
/obj/random/hostile,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"eZ" = (
/obj/machinery/door/airlock/glass/science{
name = "Research"
},
/obj/machinery/door/blast/shutters/open,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"fa" = (
/obj/machinery/atmospherics/pipe/simple/hidden/blue{
@@ -1575,22 +1543,18 @@
"fj" = (
/obj/structure/grille,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"fk" = (
/obj/structure/grille/broken,
/obj/structure/wall_frame,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/storage)
"fl" = (
/obj/machinery/door/airlock/glass/science{
name = "Research"
},
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/storage)
"fm" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -1647,7 +1611,7 @@
/area/constructionsite/teleporter)
"ft" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"fu" = (
/obj/structure/window/basic,
@@ -1677,7 +1641,7 @@
/area/constructionsite/teleporter)
"fx" = (
/obj/machinery/portable_atmospherics/canister/nitrogen/prechilled,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"fy" = (
/obj/machinery/fabricator/imprinter,
@@ -1685,16 +1649,16 @@
/area/constructionsite/storage)
"fz" = (
/obj/machinery/destructive_analyzer,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"fA" = (
/obj/machinery/fabricator/protolathe{
stat = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"fB" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/storage)
"fC" = (
/obj/machinery/fabricator/pipe,
@@ -1747,7 +1711,7 @@
/area/constructionsite/teleporter)
"fK" = (
/obj/structure/girder/displaced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"fL" = (
/turf/wall,
@@ -1756,10 +1720,10 @@
/obj/random/closet,
/obj/random/material,
/obj/random/contraband,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"fN" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/solar)
"fO" = (
/obj/structure/lattice,
@@ -1775,7 +1739,7 @@
/obj/structure/extinguisher_cabinet{
pixel_y = 29
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"fS" = (
/obj/random/junk,
@@ -1783,19 +1747,17 @@
/area/constructionsite/hallway/fore)
"fT" = (
/obj/effect/overmap/visitable/sector/derelict,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/solar)
"fU" = (
/turf/space,
/area/constructionsite/solar)
"fV" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/solar)
"fW" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/solar)
"fX" = (
/obj/structure/grille,
@@ -1805,16 +1767,16 @@
"fY" = (
/obj/structure/grille,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/solar)
"fZ" = (
/obj/structure/grille/broken,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/solar)
"ga" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"gb" = (
/obj/effect/shuttle_landmark/derelict/nav3,
@@ -1822,7 +1784,7 @@
/area/space)
"gc" = (
/obj/random/firstaid,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"gd" = (
/obj/structure/lattice,
@@ -1833,7 +1795,7 @@
/obj/structure/rack,
/obj/random/plushie,
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"gf" = (
/obj/machinery/door/airlock/highsecurity{
@@ -1851,16 +1813,14 @@
/turf/floor/bluegrid/airless,
/area/constructionsite/ai)
"gj" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"gk" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/space)
"gl" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"gm" = (
/obj/structure/sign/warning/lethal_turrets,
@@ -1874,7 +1834,7 @@
/area/constructionsite/ai)
"go" = (
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"gq" = (
/obj/effect/decal/cleanable/blood/oil,
@@ -1887,12 +1847,12 @@
/obj/structure/rack,
/obj/random/maintenance,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"gt" = (
/obj/structure/rack,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"gu" = (
/obj/random/loot,
@@ -1923,7 +1883,7 @@
/area/constructionsite/ai)
"gz" = (
/obj/random/hostile,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"gA" = (
/obj/structure/lattice,
@@ -1933,13 +1893,13 @@
/obj/machinery/door/airlock/highsecurity{
name = "Messaging Server"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"gC" = (
/obj/machinery/door/airlock/highsecurity{
name = "Messaging Server"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/ai)
"gD" = (
/obj/structure/showcase{
@@ -1974,11 +1934,11 @@
/area/constructionsite/hallway/fore)
"gI" = (
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"gJ" = (
/obj/random/material,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"gK" = (
/obj/machinery/recharge_station,
@@ -2005,19 +1965,17 @@
/turf/wall,
/area/constructionsite/hallway/aft)
"gP" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/aft)
"gQ" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"gR" = (
/turf/floor/tiled/dark/airless,
/area/constructionsite/hallway/aft)
"gS" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"gT" = (
/obj/structure/lattice,
@@ -2025,24 +1983,24 @@
/area/constructionsite/hallway/aft)
"gU" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"gV" = (
/obj/structure/grille,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"gW" = (
/obj/structure/grille/broken,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"gX" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"gY" = (
/obj/machinery/door/airlock/hatch,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"gZ" = (
/obj/machinery/door/airlock/highsecurity{
@@ -2053,14 +2011,14 @@
"ha" = (
/obj/structure/rack,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"hb" = (
/obj/effect/floor_decal/plaque{
desc = "To commemorate the beginning of the Eternity Project, a station that will ferry us through the stars forever without fail.";
name = "Eternity Project Dedication Plaque"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"hc" = (
/obj/structure/lattice,
@@ -2073,32 +2031,26 @@
opened = 1
},
/obj/random/plushie/large,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/maintenance)
"he" = (
/obj/random/trash,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/aft)
"hf" = (
/obj/machinery/door/airlock/double/glass{
name = "Emergency Entrance"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"hg" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/aft)
"hh" = (
/obj/structure/grille/broken,
/obj/structure/wall_frame,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/hallway/aft)
"hi" = (
/obj/effect/shuttle_landmark/derelict/nav4,
@@ -2106,7 +2058,7 @@
/area/space)
"hj" = (
/obj/structure/door_assembly,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"hk" = (
/obj/machinery/mech_recharger,
@@ -2140,22 +2092,20 @@
/turf/floor/tiled/white/airless,
/area/constructionsite/medical)
"hr" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"hs" = (
/turf/floor/tiled/dark/airless,
/area/constructionsite/atmospherics)
"ht" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/atmospherics)
"hu" = (
/obj/item/frame/light,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"hv" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"hx" = (
/obj/random/junk,
@@ -2179,40 +2129,40 @@
/area/constructionsite/hallway/aft)
"hA" = (
/obj/structure/girder,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"hC" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"hD" = (
/obj/machinery/door/airlock/glass/medical{
name = "Medbay"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"hE" = (
/obj/structure/door_assembly{
name = "Medbay"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"hF" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"hG" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"hH" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"hI" = (
/obj/structure/table,
/obj/random/firstaid,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"hJ" = (
/obj/structure/sign/department/examroom,
@@ -2226,7 +2176,7 @@
/area/constructionsite/medical)
"hL" = (
/obj/machinery/disposal,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"hM" = (
/obj/structure/table,
@@ -2241,7 +2191,7 @@
/obj/structure/fireaxecabinet{
pixel_x = 32
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"hP" = (
/turf/wall,
@@ -2253,22 +2203,22 @@
"hR" = (
/obj/item/roller,
/obj/item/roller,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"hS" = (
/obj/structure/closet/medical_wall/filled{
pixel_x = 32;
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"hT" = (
/obj/structure/girder/displaced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"hU" = (
/obj/structure/closet/firecloset,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"hV" = (
/obj/machinery/atmospherics/pipe/simple/visible,
@@ -2280,26 +2230,26 @@
/area/constructionsite/medical)
"hX" = (
/obj/random/medical/lite,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"hY" = (
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"hZ" = (
/obj/item/roller,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"ia" = (
/obj/random/closet,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"ib" = (
/turf/space,
/area/constructionsite/medical)
"ic" = (
/obj/structure/mech_wreckage/powerloader,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"id" = (
/obj/structure/closet/secure_closet/atmos_personal{
@@ -2308,19 +2258,19 @@
},
/obj/random/voidsuit,
/obj/random/voidhelmet,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"ie" = (
/obj/machinery/atmospherics/pipe/simple/visible,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"if" = (
/obj/structure/iv_drip,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"ig" = (
/obj/random/snack,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"ih" = (
/obj/structure/lattice,
@@ -2337,21 +2287,21 @@
/obj/machinery/door/airlock/glass/atmos{
name = "Atmospherics"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"ik" = (
/obj/random/firstaid,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"il" = (
/obj/item/box/freezer,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"im" = (
/obj/random/closet,
/obj/random/masks,
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"in" = (
/obj/random/tool,
@@ -2359,18 +2309,18 @@
/area/constructionsite/atmospherics)
"io" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"ip" = (
/obj/machinery/light{
dir = 4;
icon_state = "tube1"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"iq" = (
/obj/random/ammo,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"ir" = (
/obj/structure/lattice,
@@ -2386,7 +2336,7 @@
dir = 4
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"iv" = (
/turf/space,
@@ -2404,7 +2354,7 @@
/obj/random/junk,
/obj/random/masks,
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"iy" = (
/obj/machinery/computer/air_control{
@@ -2418,7 +2368,7 @@
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"iz" = (
/obj/structure/grille,
@@ -2503,7 +2453,7 @@
/obj/machinery/door/airlock/glass/medical{
name = "Medbay"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"iK" = (
/obj/effect/floor_decal/industrial/warning/dust{
@@ -2513,7 +2463,7 @@
/area/constructionsite/atmospherics)
"iL" = (
/obj/structure/girder,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"iM" = (
/obj/effect/floor_decal/plaque{
@@ -2526,7 +2476,7 @@
/obj/effect/floor_decal/industrial/warning/dust{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"iO" = (
/obj/machinery/computer/air_control{
@@ -2539,7 +2489,7 @@
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"iP" = (
/obj/machinery/atmospherics/unary/vent_pump/tank{
@@ -2572,7 +2522,7 @@
/area/constructionsite/medical)
"iS" = (
/obj/random/material,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"iT" = (
/obj/effect/floor_decal/corner/green{
@@ -2610,18 +2560,18 @@
"iZ" = (
/obj/structure/grille/broken,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"ja" = (
/obj/structure/grille,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jb" = (
/obj/structure/cable/blue{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"jc" = (
/obj/machinery/computer/air_control{
@@ -2634,7 +2584,7 @@
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"jd" = (
/obj/machinery/atmospherics/unary/vent_pump/tank{
@@ -2673,17 +2623,17 @@
"jh" = (
/obj/structure/table,
/obj/structure/bedsheetbin/mapped,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"ji" = (
/obj/structure/table,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jj" = (
/obj/structure/table,
/obj/random/hat,
/obj/random/gloves,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jk" = (
/obj/structure/table,
@@ -2697,17 +2647,17 @@
/area/constructionsite)
"jm" = (
/obj/structure/girder/displaced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jn" = (
/obj/structure/table,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"jo" = (
/obj/structure/table,
/obj/structure/closet/body_bag/cryobag,
/obj/structure/closet/body_bag/cryobag,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/medical)
"jp" = (
/obj/structure/cable/blue,
@@ -2715,14 +2665,14 @@
name = "south bump";
pixel_y = -24
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"jq" = (
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 5
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
"jr" = (
/obj/machinery/atmospherics/unary/outlet_injector{
@@ -2740,16 +2690,14 @@
"jt" = (
/obj/structure/grille/broken,
/obj/structure/wall_frame,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite)
"ju" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jv" = (
/obj/structure/door_assembly,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jw" = (
/turf/space,
@@ -2763,7 +2711,7 @@
/area/constructionsite)
"jz" = (
/obj/structure/girder,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jA" = (
/obj/structure/lattice,
@@ -2778,13 +2726,11 @@
/turf/floor/tiled/dark/airless,
/area/constructionsite)
"jD" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite)
"jE" = (
/obj/structure/closet/cabinet,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jF" = (
/obj/structure/bed,
@@ -2792,7 +2738,7 @@
/area/constructionsite)
"jG" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jH" = (
/obj/structure/lattice,
@@ -2803,31 +2749,29 @@
/obj/machinery/door/airlock{
name = "Cabin"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jJ" = (
/obj/random/hat,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jK" = (
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jL" = (
/obj/random/snack,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jM" = (
/obj/machinery/door/airlock{
name = "Bunk Room"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jN" = (
/obj/structure/girder/displaced,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite)
"jO" = (
/obj/item/bedsheet,
@@ -2835,7 +2779,7 @@
/area/constructionsite)
"jP" = (
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jQ" = (
/obj/structure/extinguisher_cabinet{
@@ -2851,27 +2795,25 @@
/area/constructionsite)
"jS" = (
/obj/random/maintenance/clean,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jT" = (
/obj/machinery/washing_machine,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jU" = (
/obj/structure/table,
/obj/random/clothing,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jV" = (
/obj/structure/grille,
/obj/structure/wall_frame,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite)
"jW" = (
/obj/random/clothing,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jX" = (
/obj/structure/grille,
@@ -2880,40 +2822,40 @@
/area/constructionsite)
"jY" = (
/obj/item/clothing/head/radiation,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"jZ" = (
/obj/machinery/constructable_frame,
/obj/random/material,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"ka" = (
/obj/machinery/door/airlock/glass/engineering,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"kb" = (
/obj/random/obstruction,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"kc" = (
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"kd" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"ke" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"kf" = (
/obj/random/action_figure,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"kg" = (
/obj/random/voidhelmet,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"kh" = (
/obj/structure/table,
@@ -2926,50 +2868,48 @@
/area/constructionsite)
"kj" = (
/obj/random/hostile,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"kk" = (
/obj/structure/table,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite)
"kl" = (
/obj/structure/table,
/obj/machinery/cell_charger,
/obj/random/powercell,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"km" = (
/obj/machinery/power/terminal{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"kn" = (
/obj/machinery/power/smes/buildable,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"ko" = (
/obj/structure/rack,
/obj/random/tool,
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"kp" = (
/obj/structure/rack,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"kq" = (
/obj/random/glasses,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"kr" = (
/obj/machinery/shield_generator/mapped{
desc = "A heavy-duty shield generator and capacitor, capable of generating energy shields at large distances. This one seems to be in a state of disrepair.";
name = "disused shield generator"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"ks" = (
/obj/random/junk,
@@ -2977,7 +2917,7 @@
/area/constructionsite)
"kt" = (
/obj/machinery/power/breakerbox,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"ku" = (
/obj/structure/rack,
@@ -2994,11 +2934,11 @@
/obj/random/loot,
/obj/random/junk,
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"kx" = (
/obj/machinery/door/airlock/hatch,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite)
"ky" = (
/obj/structure/closet/radiation,
@@ -3011,7 +2951,7 @@
/obj/machinery/door/airlock/glass/engineering{
name = "Engine Access"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"kC" = (
/obj/effect/shuttle_landmark/derelict/nav6,
@@ -3019,7 +2959,7 @@
/area/space)
"kD" = (
/obj/machinery/door/airlock/hatch,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"kE" = (
/obj/structure/lattice,
@@ -3027,11 +2967,11 @@
/area/constructionsite/engineering)
"kF" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"kG" = (
/obj/machinery/door/airlock/glass/engineering,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"kH" = (
/obj/structure/sign/warning/compressed_gas,
@@ -3056,31 +2996,29 @@
/obj/random/tool,
/obj/random/maintenance,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"kP" = (
/obj/structure/grille,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"kQ" = (
/obj/random/maintenance,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/engineering)
"kR" = (
/obj/structure/grille/broken,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"kS" = (
/obj/structure/table,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"kT" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"kU" = (
/obj/structure/table,
@@ -3088,23 +3026,21 @@
/obj/random/material,
/obj/random/material,
/obj/random/material,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"kV" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/constructionsite/engineering)
"kW" = (
/obj/structure/table,
/obj/random/toolbox,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"kX" = (
/obj/structure/table,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"kY" = (
/obj/structure/grille/broken,
@@ -3114,7 +3050,7 @@
"kZ" = (
/obj/structure/rack,
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"la" = (
/obj/structure/grille,
@@ -3123,28 +3059,28 @@
/area/constructionsite/engineering)
"lb" = (
/obj/random/hostile,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lc" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"ld" = (
/obj/machinery/portable_atmospherics/canister/nitrogen/engine_setup,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"le" = (
/obj/machinery/rad_collector,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lf" = (
/obj/structure/table,
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lg" = (
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lh" = (
/obj/random/maintenance,
@@ -3155,23 +3091,23 @@
/obj/random/tool,
/obj/random/voidsuit,
/obj/random/coin,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lj" = (
/obj/structure/table,
/obj/random/toolbox,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lk" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"ll" = (
/obj/structure/closet/radiation,
/turf/floor/tiled/dark/airless,
/area/constructionsite/engineering)
"lm" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"ln" = (
/obj/random/maintenance,
@@ -3181,22 +3117,22 @@
/obj/machinery/door/airlock/glass/engineering{
name = "SMES"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lp" = (
/obj/structure/cable/blue{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lq" = (
/obj/structure/girder,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lr" = (
/obj/structure/rack,
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"ls" = (
/obj/structure/cable/blue{
@@ -3207,7 +3143,7 @@
"lt" = (
/obj/structure/rack,
/obj/random/toolbox,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lu" = (
/turf/wall/r_wall,
@@ -3215,7 +3151,7 @@
"lv" = (
/obj/machinery/power/smes/buildable,
/obj/structure/cable/blue,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lw" = (
/obj/machinery/power/terminal{
@@ -3230,7 +3166,7 @@
/obj/structure/cable/blue{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"ly" = (
/obj/structure/cable/blue{
@@ -3242,7 +3178,7 @@
/obj/structure/cable/blue{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lz" = (
/obj/structure/cable/blue{
@@ -3257,37 +3193,37 @@
/obj/structure/cable/blue{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lB" = (
/obj/structure/rack,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lC" = (
/obj/machinery/constructable_frame/computerframe,
/obj/structure/cable{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lD" = (
/obj/machinery/teleport/station,
/obj/structure/cable{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lE" = (
/obj/machinery/teleport/hub,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lF" = (
/obj/machinery/power/smes/buildable,
/obj/structure/cable/blue{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lG" = (
/obj/machinery/power/terminal{
@@ -3296,7 +3232,7 @@
/obj/structure/cable/blue{
icon_state = "0-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lH" = (
/obj/structure/cable/blue{
@@ -3305,25 +3241,25 @@
/obj/structure/cable/blue{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lI" = (
/obj/item/shard{
icon_state = "medium"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lJ" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lK" = (
/obj/structure/cable,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lL" = (
/obj/structure/rack,
/obj/item/clothing/gloves/insulated,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lM" = (
/obj/structure/rack,
@@ -3332,19 +3268,19 @@
/area/constructionsite/engineering)
"lN" = (
/obj/structure/cable/blue,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"lO" = (
/obj/structure/girder,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lP" = (
/obj/item/cell,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lQ" = (
/obj/structure/grille/broken,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lR" = (
/turf/space,
@@ -3352,7 +3288,7 @@
"lS" = (
/obj/structure/table,
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lT" = (
/obj/random/hostile,
@@ -3365,13 +3301,13 @@
"lV" = (
/obj/structure/closet,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lW" = (
/obj/structure/cable{
icon_state = "0-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lX" = (
/obj/structure/grille/broken,
@@ -3382,7 +3318,7 @@
pixel_x = 1;
pixel_y = -1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/AIsattele)
"lZ" = (
/obj/machinery/emitter{
@@ -3390,11 +3326,11 @@
dir = 4;
state = 2
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"ma" = (
/obj/machinery/field_generator,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"mb" = (
/obj/machinery/emitter{
@@ -3402,11 +3338,11 @@
dir = 8;
state = 2
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"mc" = (
/obj/machinery/singularity_generator,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/engineering)
"md" = (
/obj/effect/shuttle_landmark/derelict/nav7,
@@ -3448,27 +3384,27 @@
/obj/structure/grille,
/obj/structure/wall_frame,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"BO" = (
/obj/structure/grille,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"DP" = (
/obj/structure/grille,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/aft)
"Lk" = (
/obj/structure/grille/broken,
/obj/structure/wall_frame,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/hallway/fore)
"Yw" = (
/obj/machinery/atmospherics/pipe/simple/visible,
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/constructionsite/atmospherics)
(1,1,1) = {"
diff --git a/maps/away/errant_pisces/errant_pisces.dm b/maps/away/errant_pisces/errant_pisces.dm
index b20f2dba5e8..97f8bcff3e7 100644
--- a/maps/away/errant_pisces/errant_pisces.dm
+++ b/maps/away/errant_pisces/errant_pisces.dm
@@ -116,12 +116,12 @@
var/force = W.get_attack_force(user)
if (!(W.sharp) || (W.sharp && force < 10))//is not sharp enough or at all
to_chat(user,"You can't cut through \the [src] with \the [W], it's too dull.")
- return
+ return TRUE
visible_message("[user] starts to cut through \the [src] with \the [W]!")
while(current_health > 0 && !QDELETED(src) && !QDELETED(user))
if (!do_after(user, 20, src))
visible_message("[user] stops cutting through \the [src] with \the [W]!")
- return
+ return TRUE
take_damage(20 * (1 + (force-10)/10), W.atom_damage_type) //the sharper the faster, every point of force above 10 adds 10 % to damage
new /obj/item/stack/net(src.loc)
qdel(src)
diff --git a/maps/away/errant_pisces/errant_pisces.dmm b/maps/away/errant_pisces/errant_pisces.dmm
index ae45d225902..7e62686eb0d 100644
--- a/maps/away/errant_pisces/errant_pisces.dmm
+++ b/maps/away/errant_pisces/errant_pisces.dmm
@@ -483,7 +483,7 @@
/obj/structure/cable/yellow{
icon_state = "2-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"bx" = (
/obj/machinery/light/small{
@@ -616,7 +616,7 @@
icon_state = "0-8"
},
/obj/machinery/power/solar,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"bS" = (
/obj/structure/cable/yellow{
@@ -628,7 +628,7 @@
/obj/structure/cable/yellow{
icon_state = "2-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"bT" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
@@ -1280,7 +1280,7 @@
id_tag = "n2_in";
use_power = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"dB" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -1475,13 +1475,13 @@
icon_state = "0-4"
},
/obj/machinery/power/tracker,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ed" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ee" = (
/obj/structure/cable/yellow{
@@ -1493,7 +1493,7 @@
/obj/structure/cable/yellow{
icon_state = "2-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ef" = (
/obj/structure/cable/yellow{
@@ -1507,7 +1507,7 @@
id_tag = "Harpoon_solar_starboard_airlock";
pixel_y = 20
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/errant_pisces/solar_starboard)
"eg" = (
/obj/machinery/door/airlock/external{
@@ -1722,7 +1722,7 @@
id_tag = "Harpoon_solar_port_airlock";
pixel_y = 20
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/errant_pisces/solar_port)
"eE" = (
/obj/structure/cable/yellow{
@@ -1734,14 +1734,14 @@
/obj/structure/cable/yellow{
icon_state = "2-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"eF" = (
/obj/machinery/power/tracker,
/obj/structure/cable/yellow{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"eG" = (
/obj/structure/cable/yellow{
@@ -1753,7 +1753,7 @@
/obj/structure/cable/yellow{
icon_state = "1-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"eH" = (
/obj/machinery/door/airlock/external{
@@ -2656,7 +2656,7 @@
/obj/structure/cable/yellow{
icon_state = "1-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"gL" = (
/obj/structure/bed/chair/comfy/green,
@@ -2877,7 +2877,7 @@
icon_state = "0-4"
},
/obj/machinery/power/solar,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"hq" = (
/turf/wall/r_wall,
diff --git a/maps/away/liberia/liberia.dmm b/maps/away/liberia/liberia.dmm
index b1f75333396..35999ef09ff 100644
--- a/maps/away/liberia/liberia.dmm
+++ b/maps/away/liberia/liberia.dmm
@@ -313,7 +313,7 @@
/obj/machinery/ion_thruster{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/liberia/engineeringengines)
"aM" = (
/obj/effect/floor_decal/techfloor{
@@ -668,7 +668,7 @@
},
/obj/structure/catwalk,
/obj/effect/floor_decal/industrial/warning/full,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/liberia/mule)
"br" = (
/obj/structure/closet/secure_closet{
@@ -4608,7 +4608,7 @@
icon_state = "2-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"iB" = (
/obj/item/stack/nanopaste,
@@ -4730,7 +4730,7 @@
icon_state = "4-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"iT" = (
/obj/machinery/door/airlock/external{
@@ -4851,7 +4851,7 @@
},
/obj/structure/disposalpipe/segment,
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"jg" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -4879,7 +4879,7 @@
/obj/structure/disposalpipe/segment/bent{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"jo" = (
/obj/structure/cable/blue{
@@ -5024,7 +5024,7 @@
icon_state = "1-2"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"jG" = (
/obj/structure/closet/cabinet,
@@ -6356,7 +6356,7 @@
/obj/structure/cable/blue{
icon_state = "0-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/liberia/captain)
"pJ" = (
/obj/structure/fireaxecabinet{
@@ -6390,7 +6390,7 @@
icon_state = "1-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"pV" = (
/obj/effect/floor_decal/techfloor,
@@ -6789,7 +6789,7 @@
/obj/machinery/ion_thruster{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/liberia/engineeringengines)
"tI" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -6863,7 +6863,7 @@
/obj/machinery/ion_thruster{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/liberia/engineeringengines)
"vd" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
@@ -6977,7 +6977,7 @@
/obj/machinery/ion_thruster{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/liberia/captain)
"xG" = (
/obj/structure/lattice,
@@ -7201,7 +7201,7 @@
/obj/machinery/ion_thruster{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/liberia/engineeringengines)
"BC" = (
/turf/wall/r_wall/prepainted,
@@ -7789,7 +7789,7 @@
/obj/machinery/ion_thruster{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/liberia/captain)
"KH" = (
/obj/structure/cable/blue{
@@ -7805,7 +7805,7 @@
icon_state = "1-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"Lj" = (
/obj/effect/floor_decal/techfloor{
@@ -7916,7 +7916,7 @@
icon_state = "2-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"Nv" = (
/turf/wall/prepainted,
@@ -7961,7 +7961,7 @@
icon_state = "1-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"OT" = (
/obj/machinery/alarm/liberia{
@@ -8030,7 +8030,7 @@
},
/obj/effect/floor_decal/industrial/warning/full,
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/liberia/mule)
"Qi" = (
/obj/effect/floor_decal/corner/blue{
@@ -8468,7 +8468,7 @@
/obj/machinery/ion_thruster{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/liberia/captain)
"WW" = (
/obj/effect/floor_decal/spline/fancy/wood{
@@ -8602,7 +8602,7 @@
},
/obj/structure/disposalpipe/segment,
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ZO" = (
/obj/structure/cable/yellow{
@@ -8612,7 +8612,7 @@
icon_state = "1-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ZP" = (
/obj/effect/floor_decal/techfloor{
diff --git a/maps/away/lost_supply_base/lost_supply_base.dmm b/maps/away/lost_supply_base/lost_supply_base.dmm
index 69c5c15fa0e..94c58cd1b3f 100644
--- a/maps/away/lost_supply_base/lost_supply_base.dmm
+++ b/maps/away/lost_supply_base/lost_supply_base.dmm
@@ -16,7 +16,7 @@
/obj/structure/cable/yellow{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ae" = (
/obj/effect/shuttle_landmark/nav_lost_supply_base/nav3,
@@ -26,7 +26,7 @@
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ag" = (
/obj/structure/cable/yellow{
@@ -36,14 +36,14 @@
name = "Starboard Auxiliary Solar Array"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ah" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/obj/item/stack/material/sheet/mapped/steel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ai" = (
/obj/structure/cable/yellow{
@@ -52,7 +52,7 @@
/obj/structure/cable/yellow{
icon_state = "1-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aj" = (
/obj/structure/cable/yellow{
@@ -64,13 +64,13 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ak" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"al" = (
/obj/structure/cable/yellow{
@@ -82,7 +82,7 @@
/obj/structure/cable/yellow{
icon_state = "2-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"am" = (
/obj/structure/cable/yellow{
@@ -94,7 +94,7 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"an" = (
/obj/structure/cable/yellow{
@@ -103,7 +103,7 @@
/obj/structure/cable/yellow{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ao" = (
/obj/structure/cable/yellow,
@@ -111,10 +111,10 @@
name = "Starboard Auxiliary Solar Array"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ap" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aq" = (
/obj/item/stack/material/rods,
@@ -126,14 +126,14 @@
},
/obj/item/stack/material/rods/fifty,
/obj/item/stack/material/sheet/mapped/steel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"as" = (
/obj/machinery/power/solar{
name = "Starboard Auxiliary Solar Array"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"at" = (
/obj/effect/shuttle_landmark/nav_lost_supply_base/nav1,
@@ -145,7 +145,7 @@
},
/obj/structure/cable/yellow,
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"av" = (
/obj/structure/girder/displaced,
@@ -155,7 +155,7 @@
/obj/structure/lattice,
/obj/structure/grille,
/obj/structure/grille,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ax" = (
/turf/wall/r_wall,
@@ -228,14 +228,14 @@
"aF" = (
/obj/machinery/portable_atmospherics/canister/air,
/obj/machinery/atmospherics/portables_connector,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"aG" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"aH" = (
/obj/item/frame/light,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"aI" = (
/obj/structure/cable{
@@ -246,7 +246,7 @@
name = "north bump";
pixel_y = 24
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"aJ" = (
/obj/structure/rack,
@@ -254,7 +254,7 @@
/obj/random/tech_supply,
/obj/random/tech_supply,
/obj/random/toolbox,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"aK" = (
/turf/wall,
@@ -387,14 +387,14 @@
pump_direction = 0;
use_power = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"aY" = (
/obj/machinery/atmospherics/binary/pump/on{
dir = 8;
target_pressure = 200
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"aZ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
@@ -409,29 +409,29 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 9
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bb" = (
/obj/effect/floor_decal/industrial/warning{
dir = 5;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bc" = (
/obj/random/projectile,
/obj/abstract/landmark/corpse/syndicate,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bd" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"be" = (
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bf" = (
/obj/structure/closet/crate/solar,
@@ -502,7 +502,7 @@
/area/space)
"bq" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bs" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
@@ -514,29 +514,29 @@
req_access = newlist();
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bu" = (
/obj/effect/decal/cleanable/blood,
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bv" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bw" = (
/obj/structure/cable{
icon_state = "1-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bx" = (
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"by" = (
/obj/structure/cable{
@@ -546,7 +546,7 @@
/obj/random/tech_supply,
/obj/random/tech_supply,
/obj/random/tech_supply,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bz" = (
/obj/structure/cable{
@@ -618,7 +618,7 @@
req_access = newlist();
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bH" = (
/obj/abstract/landmark/proc_caller/floor_breaker,
@@ -626,7 +626,7 @@
/area/lost_supply_base/office)
"bI" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base/office)
"bJ" = (
/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
@@ -646,18 +646,18 @@
pixel_y = 8;
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bK" = (
/obj/effect/floor_decal/industrial/warning,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bL" = (
/obj/effect/floor_decal/industrial/warning{
dir = 6;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bM" = (
/obj/structure/rack,
@@ -666,14 +666,14 @@
/obj/random/tech_supply,
/obj/random/tech_supply,
/obj/item/radio,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bN" = (
/obj/machinery/atmospherics/pipe/simple/hidden,
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base/solar)
"bO" = (
/obj/random/ammo,
@@ -688,26 +688,26 @@
/area/lost_supply_base/office)
"bR" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bS" = (
/obj/random/trash,
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bT" = (
/obj/item/stack/tile/floor_dark{
pixel_x = 5;
pixel_y = -3
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bU" = (
/obj/machinery/atmospherics/pipe/simple/hidden,
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"bV" = (
/turf/wall,
@@ -740,7 +740,7 @@
locked = 1;
name = "Transport Airlock"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cc" = (
/obj/item/stack/material/sheet/mapped/steel,
@@ -750,19 +750,19 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"ce" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cf" = (
/obj/item/stack/material/rods,
/obj/item/stack/material/sheet/mapped/steel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cg" = (
/obj/structure/cable{
@@ -801,7 +801,7 @@
dir = 1;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cm" = (
/obj/random/trash,
@@ -814,17 +814,17 @@
icon_state = "warning"
},
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"co" = (
/obj/effect/decal/cleanable/blood/gibs/body,
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cp" = (
/obj/structure/door_assembly,
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cq" = (
/obj/machinery/atmospherics/omni/mixer{
@@ -835,7 +835,7 @@
tag_west = 2;
use_power = 0
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cr" = (
/obj/structure/cable,
@@ -845,7 +845,7 @@
/obj/structure/cable{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cs" = (
/obj/item/stack/tile/floor_dark{
@@ -856,7 +856,7 @@
pixel_x = 5;
pixel_y = -3
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"ct" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -916,30 +916,30 @@
/area/lost_supply_base/common)
"cC" = (
/obj/structure/closet/crate/freezer,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cD" = (
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cE" = (
/obj/item/stack/material/cardstock/mapped/cardboard,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cF" = (
/obj/item/scanner/price,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cG" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cH" = (
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cJ" = (
/obj/structure/cable{
@@ -955,17 +955,17 @@
/area/lost_supply_base/common)
"cM" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base/common)
"cO" = (
/obj/structure/closet/crate/plastic/rations,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cP" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 5
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cQ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -978,7 +978,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cS" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
@@ -986,7 +986,7 @@
dir = 10
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cT" = (
/obj/structure/girder/displaced,
@@ -1001,14 +1001,14 @@
dir = 6
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cY" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"cZ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1064,7 +1064,7 @@
name = "mineral crate";
req_access = newlist()
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dh" = (
/obj/effect/floor_decal/industrial/warning{
@@ -1074,33 +1074,33 @@
name = "mineral crate";
req_access = newlist()
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"di" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dj" = (
/obj/random/ammo,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dk" = (
/obj/structure/mech_wreckage/powerloader,
/obj/effect/decal/cleanable/blood,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dl" = (
/obj/item/frame/light,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dm" = (
/obj/item/stack/material/sheet/mapped/steel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dn" = (
/obj/structure/closet/firecloset,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"do" = (
/obj/machinery/light{
@@ -1141,12 +1141,12 @@
"ds" = (
/obj/structure/closet/crate/secure/gear,
/obj/effect/floor_decal/industrial/warning,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dt" = (
/obj/effect/floor_decal/industrial/warning,
/obj/structure/closet/crate/hydroponics,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"du" = (
/obj/effect/floor_decal/industrial/warning{
@@ -1154,12 +1154,12 @@
icon_state = "warning"
},
/obj/item/backpack/dufflebag,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dv" = (
/obj/effect/decal/cleanable/blood/drip,
/obj/effect/decal/cleanable/blood/writing,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dw" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -1219,15 +1219,15 @@
"dJ" = (
/obj/random/junk,
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dL" = (
/obj/machinery/atmospherics/unary/tank/oxygen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dM" = (
/obj/machinery/atmospherics/unary/tank/air,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dN" = (
/obj/structure/cable{
@@ -1267,7 +1267,7 @@
dir = 1;
current_health = 1e+006
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dY" = (
/obj/item/stack/tile/floor_dark,
@@ -1275,31 +1275,31 @@
dir = 1;
current_health = 1e+006
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"dZ" = (
/obj/effect/floor_decal/industrial/warning{
dir = 8;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"eb" = (
/obj/structure/reagent_dispensers/fueltank,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"ec" = (
/obj/random/tank,
/obj/machinery/atmospherics/portables_connector{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"ed" = (
/obj/machinery/atmospherics/portables_connector{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"ee" = (
/obj/random/trash,
@@ -1344,12 +1344,12 @@
/area/space)
"el" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"em" = (
/obj/effect/decal/cleanable/blood/splatter,
/obj/abstract/landmark/corpse/engineer,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"en" = (
/obj/effect/floor_decal/industrial/warning{
@@ -1357,15 +1357,15 @@
icon_state = "warning"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"eo" = (
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"ep" = (
/obj/random/tank,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"eq" = (
/obj/structure/closet/medical_wall{
@@ -1414,11 +1414,11 @@
"ey" = (
/obj/item/stack/material/cardstock/mapped/cardboard,
/obj/item/grenade/fake,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"ez" = (
/obj/structure/reagent_dispensers/watertank,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"eA" = (
/obj/abstract/landmark/proc_caller/floor_breaker,
@@ -1428,7 +1428,7 @@
/obj/machinery/atmospherics/unary/tank/hydrogen{
volume = 3200
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"eE" = (
/obj/item/bedsheet,
@@ -1513,11 +1513,11 @@
"eY" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/machinery/portable_atmospherics/canister/nitrogen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"eZ" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fa" = (
/obj/effect/floor_decal/industrial/warning{
@@ -1525,7 +1525,7 @@
icon_state = "warning"
},
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fb" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
@@ -1612,7 +1612,7 @@
/area/lost_supply_base/supply)
"fm" = (
/obj/machinery/portable_atmospherics/canister,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fn" = (
/obj/effect/floor_decal/industrial/warning{
@@ -1620,7 +1620,7 @@
icon_state = "warning"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fo" = (
/obj/random/junk,
@@ -1658,18 +1658,18 @@
"fv" = (
/obj/structure/window/reinforced,
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fw" = (
/obj/structure/window/reinforced,
/obj/machinery/portable_atmospherics/canister,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fx" = (
/obj/machinery/atmospherics/unary/vent_scrubber{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fz" = (
/obj/random/junk,
@@ -1686,17 +1686,17 @@
},
/obj/machinery/portable_atmospherics/canister/air,
/obj/machinery/atmospherics/portables_connector,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fC" = (
/obj/random/energy,
/obj/abstract/landmark/corpse/syndicate,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fD" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/abstract/landmark/corpse/engineer,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fE" = (
/obj/machinery/atmospherics/unary/vent_scrubber,
@@ -1717,17 +1717,17 @@
dir = 8;
target_pressure = 200
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fI" = (
/obj/effect/decal/cleanable/blood,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fJ" = (
/obj/item/bladed/axe/fire,
/obj/effect/decal/cleanable/blood,
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fK" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
@@ -1736,14 +1736,14 @@
pixel_x = 5;
pixel_y = -3
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fL" = (
/obj/effect/decal/cleanable/blood/writing{
dir = 4
},
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fM" = (
/obj/structure/cable{
@@ -1781,14 +1781,14 @@
/area/lost_supply_base/supply)
"fQ" = (
/obj/structure/door_assembly,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fR" = (
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"fS" = (
/obj/structure/cable{
@@ -1836,7 +1836,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 6
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"ga" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
@@ -1865,7 +1865,7 @@
pixel_y = 8;
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"gc" = (
/obj/effect/floor_decal/industrial/warning,
@@ -1873,7 +1873,7 @@
dir = 8;
target_pressure = 200
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"gd" = (
/obj/effect/floor_decal/industrial/warning{
@@ -1883,18 +1883,18 @@
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"ge" = (
/obj/machinery/atmospherics/portables_connector{
dir = 8
},
/obj/effect/floor_decal/industrial/warning/full,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"gf" = (
/obj/structure/closet/emcloset,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"gg" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -1934,7 +1934,7 @@
/area/lost_supply_base/supply)
"gm" = (
/obj/machinery/light,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"gn" = (
/obj/structure/closet/crate/trashcart,
@@ -2003,7 +2003,7 @@
icon_state = "1-2"
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
"Jd" = (
/obj/machinery/computer/modular{
@@ -2025,7 +2025,7 @@
"Xs" = (
/obj/effect/wallframe_spawn/reinforced,
/obj/machinery/atmospherics/pipe/simple/hidden,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/lost_supply_base)
(1,1,1) = {"
diff --git a/maps/away/magshield/magshield.dmm b/maps/away/magshield/magshield.dmm
index 84a9824ec11..d6e4edc107a 100644
--- a/maps/away/magshield/magshield.dmm
+++ b/maps/away/magshield/magshield.dmm
@@ -19,7 +19,7 @@
/obj/structure/cable/yellow{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"af" = (
/obj/structure/cable/yellow{
@@ -29,13 +29,13 @@
name = "Starboard Auxiliary Solar Array"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ag" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ah" = (
/obj/structure/cable/yellow{
@@ -44,7 +44,7 @@
/obj/structure/cable/yellow{
icon_state = "1-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ai" = (
/obj/structure/cable/yellow{
@@ -56,13 +56,13 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aj" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ak" = (
/obj/structure/cable/yellow{
@@ -74,7 +74,7 @@
/obj/structure/cable/yellow{
icon_state = "2-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"al" = (
/obj/structure/cable/yellow{
@@ -86,7 +86,7 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"am" = (
/obj/structure/cable/yellow{
@@ -95,7 +95,7 @@
/obj/structure/cable/yellow{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"an" = (
/obj/structure/cable/yellow,
@@ -103,14 +103,14 @@
name = "Starboard Auxiliary Solar Array"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ao" = (
/obj/item/stack/material/rods,
/turf/space,
/area/space)
"ap" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aq" = (
/obj/machinery/power/solar{
@@ -118,7 +118,7 @@
},
/obj/structure/cable/yellow,
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ar" = (
/turf/wall/r_wall,
@@ -131,7 +131,7 @@
pixel_x = -25;
pixel_y = -25
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"at" = (
/obj/machinery/light/small,
@@ -145,7 +145,7 @@
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aw" = (
/turf/wall/r_wall,
@@ -164,30 +164,30 @@
pixel_x = -25;
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"ay" = (
/obj/structure/table/steel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"az" = (
/obj/structure/table/steel,
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aA" = (
/obj/structure/table/steel,
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aB" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aC" = (
/obj/structure/rack,
/obj/random/voidsuit,
/obj/random/voidhelmet,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aD" = (
/obj/machinery/door/airlock/external/bolted_open,
@@ -195,10 +195,10 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aE" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"aF" = (
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
@@ -206,11 +206,11 @@
dir = 4;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"aG" = (
/obj/machinery/atmospherics/unary/tank/carbon_dioxide,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"aH" = (
/obj/effect/wingrille_spawn/reinforced_borosilicate/full,
@@ -218,7 +218,7 @@
dir = 4;
id_tag = "prototype_chamber_blast"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"aI" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
@@ -248,7 +248,7 @@
/obj/machinery/atmospherics/pipe/simple/visible/yellow{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aN" = (
/obj/structure/cable/yellow{
@@ -268,13 +268,13 @@
pump_direction = 0;
use_power = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aO" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aP" = (
/obj/structure/cable/yellow{
@@ -284,7 +284,7 @@
icon_state = "2-4"
},
/obj/item/stack/material/ore,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aQ" = (
/obj/structure/cable/yellow{
@@ -293,50 +293,50 @@
/obj/structure/cable/yellow{
icon_state = "2-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aR" = (
/obj/structure/cable/yellow{
icon_state = "2-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aS" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aT" = (
/obj/structure/sign/warning/airlock{
pixel_y = 30
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aU" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"aV" = (
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"aW" = (
/obj/machinery/atmospherics/pipe/simple/visible/black{
dir = 5
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"aX" = (
/obj/machinery/atmospherics/pipe/manifold4w/visible/black,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"aY" = (
/obj/machinery/atmospherics/pipe/simple/visible/black{
dir = 9
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"aZ" = (
/obj/machinery/door/airlock/hatch,
@@ -344,20 +344,20 @@
dir = 4;
id_tag = "prototype_chamber_blast"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"ba" = (
/obj/machinery/mass_driver{
dir = 4;
id_tag = "enginecore"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bb" = (
/obj/machinery/door/blast/regular/open{
id_tag = "prototype_chamber_blast"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bc" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging,
@@ -367,18 +367,18 @@
/obj/machinery/light/small{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"be" = (
/obj/machinery/power/terminal,
/obj/structure/cable/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bf" = (
/obj/structure/cable/yellow{
icon_state = "1-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bg" = (
/turf/space,
@@ -389,7 +389,7 @@
icon_state = "4-8"
},
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bi" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -400,39 +400,39 @@
icon_state = "2-8"
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bj" = (
/obj/machinery/light/small{
dir = 4;
icon_state = "bulb1"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bk" = (
/obj/machinery/atmospherics/portables_connector{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bl" = (
/obj/machinery/atmospherics/unary/vent_pump,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bm" = (
/obj/machinery/atmospherics/unary/outlet_injector,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bn" = (
/obj/machinery/power/smes/buildable/outpost_substation,
/obj/structure/cable{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bo" = (
/obj/item/stack/material/ore,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bp" = (
/obj/structure/lattice,
@@ -441,26 +441,26 @@
"bq" = (
/obj/structure/closet,
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"br" = (
/obj/machinery/portable_atmospherics/canister,
/obj/effect/floor_decal/industrial/warning,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bs" = (
/obj/effect/floor_decal/industrial/warning{
dir = 6;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bt" = (
/obj/machinery/light/small{
dir = 4;
icon_state = "bulb1"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bu" = (
/obj/effect/wingrille_spawn/reinforced_borosilicate/full,
@@ -468,14 +468,14 @@
id_tag = "prototype_chamber_blast"
},
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bv" = (
/obj/effect/wingrille_spawn/reinforced_borosilicate/full,
/obj/machinery/door/blast/regular/open{
id_tag = "prototype_chamber_blast"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bw" = (
/obj/effect/shuttle_landmark/nav_magshield/nav2,
@@ -485,7 +485,7 @@
/obj/structure/cable{
icon_state = "2-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"by" = (
/obj/structure/cable{
@@ -494,35 +494,35 @@
/obj/structure/cable{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bz" = (
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bA" = (
/obj/structure/closet,
/obj/random/plush/therapy,
/obj/random/hat,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bB" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bC" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
dir = 6
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bD" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
dir = 9
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bE" = (
/obj/item/stack/material/ore,
@@ -535,31 +535,31 @@
"bG" = (
/obj/structure/closet,
/obj/item/flashlight/flare/glowstick/random,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bH" = (
/obj/machinery/atmospherics/portables_connector{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bI" = (
/obj/machinery/atmospherics/binary/pump{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bJ" = (
/obj/machinery/atmospherics/pipe/manifold/visible/cyan{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bK" = (
/obj/machinery/atmospherics/pipe/simple/visible/red{
dir = 6
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bL" = (
/obj/machinery/atmospherics/pipe/simple/visible/red{
@@ -586,36 +586,36 @@
/area/space)
"bP" = (
/obj/structure/girder/displaced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bQ" = (
/obj/structure/table/steel,
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bR" = (
/obj/structure/table/steel,
/obj/random/drinkbottle,
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bS" = (
/obj/structure/closet/crate/trashcart,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bT" = (
/obj/machinery/light/small{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bU" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bV" = (
/obj/machinery/atmospherics/pipe/simple/visible/red,
@@ -623,7 +623,7 @@
dir = 4;
icon_state = "bulb1"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"bW" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
@@ -638,7 +638,7 @@
/obj/machinery/computer/modular{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bY" = (
/obj/structure/bed/chair{
@@ -648,7 +648,7 @@
dir = 4;
icon_state = "bulb1"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"bZ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -656,19 +656,19 @@
icon_state = "1-2"
},
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"ca" = (
/obj/structure/table/steel,
/obj/item/geiger,
/obj/machinery/atmospherics/unary/vent_scrubber/on,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cb" = (
/obj/machinery/computer/modular{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cc" = (
/obj/machinery/door/blast/regular/open{
@@ -691,13 +691,13 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cf" = (
/obj/machinery/atmospherics/pipe/simple/visible/red{
dir = 9
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cg" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
@@ -718,7 +718,7 @@
icon_state = "2-4"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cj" = (
/obj/structure/cable/yellow{
@@ -727,7 +727,7 @@
/obj/machinery/computer/modular{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"ck" = (
/obj/machinery/door/blast/regular/open{
@@ -745,21 +745,21 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cm" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cn" = (
/obj/machinery/atmospherics/binary/pump,
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"co" = (
/obj/structure/cable/yellow{
@@ -774,7 +774,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cq" = (
/obj/structure/cable/yellow{
@@ -786,7 +786,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cr" = (
/obj/structure/cable/yellow{
@@ -798,7 +798,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cs" = (
/obj/machinery/door/airlock,
@@ -808,7 +808,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"ct" = (
/obj/structure/cable/yellow{
@@ -820,7 +820,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cu" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
@@ -830,20 +830,20 @@
/obj/machinery/computer/modular{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cv" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
dir = 5
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cw" = (
/obj/machinery/atmospherics/pipe/simple/visible/red,
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cx" = (
/obj/machinery/atmospherics/binary/circulator{
@@ -859,30 +859,30 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cz" = (
/obj/structure/cable{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cA" = (
/obj/item/flashlight/flare/glowstick/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cB" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cC" = (
/obj/machinery/atmospherics/pipe/simple/visible/red,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cD" = (
/obj/machinery/atmospherics/portables_connector,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cE" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
@@ -902,7 +902,7 @@
icon_state = "1-2"
},
/obj/item/stack/material/ore,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cG" = (
/obj/machinery/atmospherics/unary/outlet_injector{
@@ -912,7 +912,7 @@
pixel_y = 1;
use_power = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cH" = (
/obj/machinery/power/apc{
@@ -923,12 +923,12 @@
/obj/structure/cable{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cI" = (
/obj/structure/closet,
/obj/random/gloves,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cJ" = (
/obj/machinery/light/small{
@@ -936,7 +936,7 @@
icon_state = "bulb1"
},
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cK" = (
/obj/structure/table/steel,
@@ -945,21 +945,21 @@
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cL" = (
/obj/structure/closet,
/obj/item/clothing/suit/radiation,
/obj/item/flashlight,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cM" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cN" = (
/obj/machinery/atmospherics/binary/pump,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cO" = (
/obj/structure/girder/displaced,
@@ -973,7 +973,7 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cQ" = (
/obj/structure/table/steel,
@@ -987,7 +987,7 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cR" = (
/obj/structure/cable{
@@ -1002,7 +1002,7 @@
/obj/structure/cable{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cS" = (
/obj/machinery/door/airlock,
@@ -1015,7 +1015,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cT" = (
/obj/structure/cable{
@@ -1027,7 +1027,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cU" = (
/obj/structure/cable{
@@ -1039,7 +1039,7 @@
icon_state = "4-8"
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cV" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1051,7 +1051,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"cW" = (
/obj/machinery/door/airlock/hatch,
@@ -1064,7 +1064,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cX" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1076,7 +1076,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cY" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1089,7 +1089,7 @@
icon_state = "4-8"
},
/mob/living/simple_animal/hostile/carp,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"cZ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1101,7 +1101,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"da" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
@@ -1115,23 +1115,23 @@
/obj/structure/cable{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"db" = (
/obj/machinery/atmospherics/pipe/simple/visible/red{
dir = 5
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"dc" = (
/obj/machinery/atmospherics/pipe/simple/visible/red{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"dd" = (
/obj/machinery/atmospherics/pipe/manifold/visible/red,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/engine)
"de" = (
/turf/wall/r_wall,
@@ -1142,7 +1142,7 @@
icon_state = "1-2"
},
/obj/machinery/door/airlock,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dg" = (
/turf/space,
@@ -1153,55 +1153,55 @@
icon_state = "1-2"
},
/obj/random/obstruction,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"di" = (
/obj/item/stack/material/ore,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dj" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dk" = (
/obj/effect/floor_decal/industrial/warning{
dir = 8;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dl" = (
/obj/machinery/portable_atmospherics/canister,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dm" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dn" = (
/obj/item/wallet/random,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"do" = (
/obj/structure/largecrate,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dp" = (
/obj/random/shoes,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dq" = (
/obj/machinery/portable_atmospherics/hydroponics,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dr" = (
/obj/structure/iv_drip,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ds" = (
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dt" = (
/turf/wall,
@@ -1211,40 +1211,40 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dv" = (
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dw" = (
/obj/random/tank,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dx" = (
/obj/structure/table/steel,
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dy" = (
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dz" = (
/obj/structure/reagent_dispensers/water_cooler,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dA" = (
/obj/structure/closet,
/obj/random/toolbox,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dB" = (
/obj/structure/closet,
/obj/random/suit,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dC" = (
/obj/structure/closet,
@@ -1252,25 +1252,25 @@
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dD" = (
/obj/structure/closet,
/obj/structure/plushie/ian,
/obj/random/drinkbottle,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dE" = (
/obj/random/material,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dF" = (
/obj/item/stack/material/rods,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dG" = (
/obj/structure/girder/displaced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dH" = (
/obj/structure/lattice,
@@ -1278,26 +1278,26 @@
/area/magshield/north)
"dI" = (
/obj/item/clothing/jumpsuit/lightpurple,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dJ" = (
/obj/random/firstaid,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dK" = (
/obj/random/toolbox,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dL" = (
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
/obj/structure/largecrate,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dM" = (
/obj/random/obstruction,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dN" = (
/obj/machinery/power/apc{
@@ -1309,52 +1309,52 @@
icon_state = "0-2";
pixel_y = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dO" = (
/obj/machinery/computer/modular{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dP" = (
/obj/structure/bed/chair{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dQ" = (
/obj/machinery/field_generator,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dR" = (
/obj/effect/floor_decal/industrial/warning,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dS" = (
/obj/effect/floor_decal/industrial/warning,
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dT" = (
/obj/effect/floor_decal/industrial/warning,
/obj/structure/largecrate,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dU" = (
/obj/effect/floor_decal/industrial/warning,
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dV" = (
/obj/effect/floor_decal/industrial/warning,
/obj/item/flame/fuelled/lighter/random,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dW" = (
/obj/effect/floor_decal/industrial/warning,
/obj/random/tank,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dX" = (
/obj/effect/floor_decal/industrial/warning{
@@ -1362,41 +1362,41 @@
icon_state = "warning"
},
/obj/random/toolbox,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dY" = (
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"dZ" = (
/obj/structure/table/steel,
/obj/random/powercell,
/obj/machinery/cell_charger,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ea" = (
/obj/machinery/port_gen/pacman/mrs,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eb" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ec" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ed" = (
/obj/machinery/atmospherics/unary/vent_pump/on,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ee" = (
/obj/structure/rack,
/obj/random/voidsuit,
/obj/random/voidhelmet,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ef" = (
/obj/structure/grille,
@@ -1406,13 +1406,13 @@
/obj/structure/cable{
icon_state = "2-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eh" = (
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ei" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1422,7 +1422,7 @@
icon_state = "4-8"
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ej" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1431,7 +1431,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ek" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1443,7 +1443,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"el" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
@@ -1453,7 +1453,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"em" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1466,7 +1466,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"en" = (
/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
@@ -1478,7 +1478,7 @@
},
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eo" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1490,7 +1490,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ep" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1500,7 +1500,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eq" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1515,7 +1515,7 @@
/obj/structure/cable{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"er" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1527,13 +1527,13 @@
/obj/structure/cable{
icon_state = "6-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"es" = (
/obj/structure/sign/warning/airlock{
pixel_x = 30
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"et" = (
/obj/machinery/light/small{
@@ -1543,7 +1543,7 @@
/area/space)
"eu" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ev" = (
/obj/structure/sign/warning/airlock{
@@ -1556,7 +1556,7 @@
pixel_y = -32;
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ex" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1568,7 +1568,7 @@
/obj/machinery/light/small{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ey" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1580,7 +1580,7 @@
/obj/structure/cable{
icon_state = "4-9"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"ez" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1591,7 +1591,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eA" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
@@ -1602,7 +1602,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eB" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1615,7 +1615,7 @@
icon_state = "4-8"
},
/obj/machinery/light/small,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eC" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
@@ -1631,7 +1631,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eD" = (
/obj/machinery/door/airlock/external/bolted,
@@ -1641,7 +1641,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eE" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume{
@@ -1657,14 +1657,14 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eF" = (
/obj/machinery/door/airlock/external/bolted,
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eG" = (
/obj/machinery/button/access{
@@ -1674,14 +1674,14 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eI" = (
/obj/structure/magshield/maggen,
/obj/structure/cable{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"eJ" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
@@ -1691,7 +1691,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eK" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1703,48 +1703,48 @@
/obj/structure/cable{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eL" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eM" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/item/newspaper,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eN" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eO" = (
/obj/item/frame/light/small,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eP" = (
/obj/structure/table,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eQ" = (
/obj/structure/table/steel,
/obj/item/toolbox/mechanical,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eR" = (
/obj/structure/table/steel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eS" = (
/obj/structure/table/steel,
/obj/item/box/lights,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eT" = (
/obj/machinery/door/airlock/external/bolted_open,
@@ -1755,39 +1755,39 @@
id_tag = "magshield_dock";
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eU" = (
/obj/machinery/light/small,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eV" = (
/obj/structure/closet,
/obj/random/material,
/obj/random/material,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eW" = (
/obj/structure/closet,
/obj/random/material,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eX" = (
/obj/structure/closet,
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eY" = (
/obj/structure/reagent_dispensers/watertank,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"eZ" = (
/obj/structure/reagent_dispensers/fueltank,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"fa" = (
/obj/structure/janitorialcart,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"fb" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -1796,7 +1796,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"fc" = (
/obj/machinery/light/small{
@@ -1820,7 +1820,7 @@
dir = 4;
id_tag = "magshield_dock_sensor"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"fe" = (
/turf/wall,
@@ -1830,22 +1830,22 @@
/obj/machinery/atmospherics/portables_connector{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fg" = (
/obj/machinery/atmospherics/pipe/simple/visible/black{
dir = 10
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fh" = (
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fi" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fj" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -1853,7 +1853,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fk" = (
/turf/wall/r_wall,
@@ -1864,7 +1864,7 @@
/area/magshield/north)
"fm" = (
/obj/item/mop,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"fn" = (
/obj/machinery/door/airlock/external/bolted_open,
@@ -1873,23 +1873,23 @@
pixel_y = -16;
id_tag = "magshield_dock"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"fo" = (
/obj/machinery/atmospherics/pipe/manifold4w/visible/black,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fp" = (
/obj/machinery/atmospherics/binary/pump{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fq" = (
/obj/machinery/atmospherics/pipe/simple/hidden/universal{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fr" = (
/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
@@ -1897,14 +1897,14 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fs" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 8;
level = 2
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"ft" = (
/obj/effect/shuttle_landmark/nav_magshield/nav5,
@@ -1933,13 +1933,13 @@
dir = 4
},
/obj/item/frame/light,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fy" = (
/obj/machinery/atmospherics/pipe/manifold/visible/black{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fA" = (
/turf/floor/tiled,
@@ -1972,7 +1972,7 @@
/obj/machinery/atmospherics/pipe/simple/visible/black{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fJ" = (
/obj/structure/grille,
@@ -2020,7 +2020,7 @@
/obj/machinery/atmospherics/binary/pump{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fR" = (
/obj/machinery/atmospherics/omni/mixer{
@@ -2030,7 +2030,7 @@
tag_south = 1;
tag_south_con = 0.79
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fS" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -2041,7 +2041,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fT" = (
/obj/machinery/atmospherics/omni/filter{
@@ -2049,13 +2049,13 @@
tag_south = 1;
tag_west = 3
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fU" = (
/obj/machinery/atmospherics/pipe/simple/visible/red{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fW" = (
/obj/machinery/atmospherics/pipe/simple/visible/red{
@@ -2070,7 +2070,7 @@
id_tag = "d_n2_in";
use_power = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"fY" = (
/obj/structure/cable{
@@ -2105,11 +2105,11 @@
/obj/machinery/atmospherics/portables_connector{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"ge" = (
/obj/machinery/atmospherics/pipe/simple/visible/red,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gf" = (
/obj/structure/cable{
@@ -2127,24 +2127,24 @@
dir = 1
},
/obj/machinery/portable_atmospherics/canister/oxygen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gi" = (
/obj/effect/floor_decal/industrial/warning{
dir = 5;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gj" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gk" = (
/obj/machinery/atmospherics/pipe/simple/visible/red{
dir = 5
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gm" = (
/obj/structure/cable{
@@ -2166,19 +2166,19 @@
/obj/structure/magshield/nav_light/red{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"gq" = (
/obj/structure/magshield/nav_light{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"gr" = (
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gs" = (
/obj/structure/closet,
@@ -2210,18 +2210,18 @@
/area/magshield/west)
"gx" = (
/obj/item/frame/light,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gy" = (
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
/obj/machinery/portable_atmospherics/canister/nitrogen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gz" = (
/obj/machinery/atmospherics/pipe/simple/hidden/universal,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gA" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -2230,7 +2230,7 @@
"gB" = (
/obj/effect/floor_decal/industrial/warning,
/obj/machinery/portable_atmospherics/canister,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gC" = (
/obj/effect/floor_decal/industrial/warning{
@@ -2238,7 +2238,7 @@
icon_state = "warning"
},
/obj/machinery/portable_atmospherics/canister,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gD" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -2248,17 +2248,17 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gE" = (
/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gF" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gG" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -2304,7 +2304,7 @@
/obj/structure/cable{
icon_state = "1-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gM" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -2316,7 +2316,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gN" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -2328,7 +2328,7 @@
/obj/structure/cable{
icon_state = "2-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gO" = (
/obj/machinery/door/firedoor,
@@ -2365,7 +2365,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"gU" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -2428,7 +2428,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"hg" = (
/obj/machinery/door/airlock/external/bolted_open,
@@ -2436,7 +2436,7 @@
dir = 4
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"hh" = (
/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
@@ -2446,7 +2446,7 @@
pixel_y = -25;
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"hi" = (
/obj/structure/lattice,
@@ -2464,14 +2464,14 @@
/obj/structure/cable/cyan{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"hl" = (
/obj/structure/magshield/rad_sensor,
/obj/structure/cable/cyan{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"hm" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -2513,14 +2513,14 @@
/obj/machinery/light/small{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"hu" = (
/turf/space,
/area/magshield/east)
"hv" = (
/obj/item/stack/material/ore/slag,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"hw" = (
/obj/structure/table/woodentable,
@@ -2543,13 +2543,13 @@
/obj/structure/cable{
icon_state = "1-10"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"hA" = (
/obj/structure/rack,
/obj/random/voidsuit,
/obj/random/voidhelmet,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"hB" = (
/obj/structure/safe,
@@ -2591,7 +2591,7 @@
dir = 4;
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"hH" = (
/obj/structure/cable{
@@ -2600,12 +2600,12 @@
/obj/structure/cable{
icon_state = "2-5"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"hI" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"hJ" = (
/obj/structure/filing_cabinet/chestdrawer,
@@ -2631,18 +2631,18 @@
/area/magshield/east)
"hO" = (
/obj/structure/reagent_dispensers/watertank,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"hP" = (
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"hQ" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
/obj/item/frame/light,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"hR" = (
/obj/structure/filing_cabinet/chestdrawer,
@@ -2765,13 +2765,13 @@
"if" = (
/obj/structure/reagent_dispensers/watertank,
/obj/item/chems/glass/bucket,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"ig" = (
/obj/structure/cable{
icon_state = "1-10"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"ih" = (
/obj/machinery/portable_atmospherics/hydroponics,
@@ -2804,7 +2804,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"il" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
@@ -2816,7 +2816,7 @@
/obj/structure/cable{
icon_state = "2-5"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"im" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -2825,7 +2825,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"in" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -2834,7 +2834,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"ip" = (
/turf/wall/r_wall,
@@ -2906,7 +2906,7 @@
/turf/space,
/area/space)
"iC" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/west)
"iD" = (
/obj/structure/table/steel,
@@ -3220,11 +3220,11 @@
/area/magshield/south)
"jE" = (
/obj/structure/magshield/maggen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"jF" = (
/obj/machinery/door/airlock/external/bolted,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/south)
"jG" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
@@ -3238,14 +3238,14 @@
pixel_y = -25;
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/south)
"jH" = (
/obj/machinery/door/airlock/external/bolted,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/south)
"jI" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -3391,26 +3391,26 @@
icon_state = "4-8"
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/south)
"kb" = (
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/south)
"kc" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/south)
"kd" = (
/obj/structure/bed/roller,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ke" = (
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"kf" = (
/obj/structure/sign/warning/airlock{
@@ -3757,7 +3757,7 @@
icon_state = "1-2"
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/smes_storage)
"lf" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -3840,13 +3840,13 @@
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"lv" = (
/obj/structure/cable/yellow{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"lw" = (
/obj/structure/cable/yellow{
@@ -3856,7 +3856,7 @@
name = "Port Auxiliary Solar Array"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"lx" = (
/obj/structure/cable/yellow{
@@ -3868,7 +3868,7 @@
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ly" = (
/obj/structure/cable/yellow,
@@ -3876,7 +3876,7 @@
name = "Port Auxiliary Solar Array"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"lz" = (
/obj/structure/cable/yellow{
@@ -3888,7 +3888,7 @@
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"lA" = (
/obj/effect/shuttle_landmark/nav_magshield/nav3,
@@ -3913,7 +3913,7 @@
tag_south = 1;
tag_west = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/east)
"JW" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -3949,7 +3949,7 @@
icon_state = "4-8"
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/magshield/north)
"Uw" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
diff --git a/maps/away/mining/mining-asteroid.dmm b/maps/away/mining/mining-asteroid.dmm
index c4d6ec2a39b..63713ba4434 100644
--- a/maps/away/mining/mining-asteroid.dmm
+++ b/maps/away/mining/mining-asteroid.dmm
@@ -21,20 +21,20 @@
/area/djstation)
"am" = (
/obj/machinery/constructable_frame/computerframe,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"an" = (
/obj/machinery/teleport/station,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"ao" = (
/obj/machinery/teleport/hub,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"ap" = (
/obj/structure/table/glass,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aq" = (
/obj/structure/table/glass,
@@ -49,12 +49,12 @@
/turf/floor/tiled/airless,
/area/djstation)
"at" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"av" = (
/obj/structure/table/glass,
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aw" = (
/obj/random/closet,
@@ -63,7 +63,7 @@
/area/djstation)
"ax" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"ay" = (
/obj/machinery/constructable_frame/computerframe,
@@ -73,7 +73,7 @@
/obj/structure/rack,
/obj/random/maintenance,
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aA" = (
/obj/structure/table/reinforced,
@@ -82,11 +82,11 @@
/area/djstation)
"aB" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aC" = (
/obj/structure/table/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aE" = (
/obj/structure/table/reinforced,
@@ -103,7 +103,7 @@
/area/djstation)
"aH" = (
/obj/structure/barricade,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aI" = (
/obj/random/closet,
@@ -122,20 +122,20 @@
/area/djstation)
"aM" = (
/obj/structure/grille,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aN" = (
/obj/structure/grille/broken,
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aO" = (
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aP" = (
/obj/structure/grille/broken,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aQ" = (
/obj/random/medical,
@@ -156,7 +156,7 @@
"aU" = (
/obj/random/closet,
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aV" = (
/obj/structure/flora/pottedplant/dead,
@@ -164,7 +164,7 @@
/area/djstation)
"aW" = (
/obj/machinery/door/airlock/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aX" = (
/obj/structure/table/steel,
@@ -173,7 +173,7 @@
/area/djstation)
"aY" = (
/obj/random/closet,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"aZ" = (
/obj/structure/rack,
@@ -253,7 +253,7 @@
id_tag = "lp_north_outer";
locked = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"lb" = (
/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
@@ -265,13 +265,13 @@
tag_interior_door = "lp_north_inner";
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"mb" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
id_tag = "lp_north_pump"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"nb" = (
/obj/machinery/airlock_sensor{
@@ -279,7 +279,7 @@
pixel_x = 24;
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"ob" = (
/obj/machinery/door/airlock/external{
@@ -288,7 +288,7 @@
locked = 1
},
/obj/machinery/atmospherics/pipe/simple/visible,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"pb" = (
/obj/machinery/door/airlock/external{
@@ -296,19 +296,19 @@
id_tag = "lp_north_inner";
locked = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"qb" = (
/obj/machinery/atmospherics/portables_connector{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"rb" = (
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"sb" = (
/obj/machinery/atmospherics/pipe/simple/visible{
@@ -319,13 +319,13 @@
name = "interior access button";
pixel_y = 24
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"tb" = (
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 9
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"ub" = (
/obj/machinery/button/access/interior{
@@ -353,7 +353,7 @@
id_tag = "lp_east_inner";
locked = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"xb" = (
/obj/random/trash,
@@ -361,7 +361,7 @@
id_tag = "lp_east_sensor";
pixel_y = 24
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"yb" = (
/obj/random/maintenance,
@@ -373,7 +373,7 @@
tag_exterior_door = "lp_east_outer";
tag_interior_door = "lp_east_inner"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"zb" = (
/obj/machinery/door/airlock/external{
@@ -381,13 +381,13 @@
id_tag = "lp_east_outer";
locked = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"Ab" = (
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 6
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"Bb" = (
/obj/machinery/door/airlock/external{
@@ -398,24 +398,24 @@
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"Cb" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
dir = 8;
id_tag = "lp_east_pump"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"Db" = (
/obj/machinery/atmospherics/pipe/simple/visible,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
"Eb" = (
/obj/machinery/atmospherics/portables_connector{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/djstation)
(1,1,1) = {"
diff --git a/maps/away/mining/mining-orb.dmm b/maps/away/mining/mining-orb.dmm
index ac1839a1860..0f03154da5c 100644
--- a/maps/away/mining/mining-orb.dmm
+++ b/maps/away/mining/mining-orb.dmm
@@ -29,7 +29,7 @@
/turf/wall/brick/sandstone,
/area/mine/unexplored)
"aj" = (
-/turf/floor/airless/stone,
+/turf/floor/plating/airless/stone,
/area/mine/explored)
"ak" = (
/turf/floor/fixed/alium/airless,
@@ -96,7 +96,7 @@
/obj/effect/floor_decal/spline/fancy/wood/corner{
dir = 1
},
-/turf/floor/airless/stone,
+/turf/floor/plating/airless/stone,
/area/mine/explored)
"aM" = (
/obj/item/stool/stone,
@@ -107,14 +107,14 @@
desc = "It opens and closes. It's absolutely dominated by a huge engraving of some kind of bird.";
name = "engraved door"
},
-/turf/floor/airless/stone,
+/turf/floor/plating/airless/stone,
/area/mine/explored)
"aP" = (
/turf/floor/rock/sand/water,
/area/mine/explored)
"aQ" = (
/obj/structure/door/sandstone,
-/turf/floor/airless/stone,
+/turf/floor/plating/airless/stone,
/area/mine/explored)
"aR" = (
/obj/effect/shuttle_landmark/orb/nav3,
@@ -348,7 +348,7 @@
"SY" = (
/obj/structure/fountain,
/mob/living/simple_animal/hostile/parrot/space,
-/turf/floor/airless/stone,
+/turf/floor/plating/airless/stone,
/area/mine/explored)
"TP" = (
/obj/structure/totem,
diff --git a/maps/away/mining/mining-signal.dmm b/maps/away/mining/mining-signal.dmm
index 88e39226659..9876407c368 100644
--- a/maps/away/mining/mining-signal.dmm
+++ b/maps/away/mining/mining-signal.dmm
@@ -68,15 +68,15 @@
/area/outpost/abandoned)
"ar" = (
/obj/machinery/constructable_frame/computerframe,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/outpost/abandoned)
"as" = (
/obj/machinery/teleport/station,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/outpost/abandoned)
"at" = (
/obj/machinery/teleport/hub,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/outpost/abandoned)
"au" = (
/obj/structure/table,
@@ -664,9 +664,7 @@
dir = 1
},
/obj/effect/decal/cleanable/dirt,
-/turf/floor/wood{
- icon_state = "wood_broken3"
- },
+/turf/floor/wood/broken/three,
/area/outpost/abandoned)
"co" = (
/obj/structure/table/woodentable,
@@ -688,9 +686,7 @@
/obj/effect/floor_decal/spline/fancy/wood{
dir = 1
},
-/turf/floor/wood{
- icon_state = "wood_broken2"
- },
+/turf/floor/wood/broken/two,
/area/outpost/abandoned)
"cs" = (
/obj/effect/floor_decal/spline/fancy/wood{
@@ -753,9 +749,7 @@
"cJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/floor/wood{
- icon_state = "wood_broken4"
- },
+/turf/floor/wood/broken/four,
/area/outpost/abandoned)
"cK" = (
/obj/effect/floor_decal/plaque,
@@ -766,9 +760,7 @@
"cL" = (
/obj/effect/decal/cleanable/dirt,
/obj/random/trash,
-/turf/floor/wood{
- icon_state = "wood_broken0"
- },
+/turf/floor/wood/broken,
/area/outpost/abandoned)
"cM" = (
/obj/effect/floor_decal/spline/fancy/wood{
@@ -911,16 +903,12 @@
/turf/floor/carpet,
/area/outpost/abandoned)
"dh" = (
-/turf/floor/carpet{
- icon_state = "carpet_broken"
- },
+/turf/floor/carpet/broken,
/area/outpost/abandoned)
"di" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/floor/carpet{
- icon_state = "carpet_broken"
- },
+/turf/floor/carpet/broken,
/area/outpost/abandoned)
"dj" = (
/obj/effect/decal/cleanable/dirt,
@@ -929,9 +917,7 @@
/area/outpost/abandoned)
"dk" = (
/obj/effect/decal/cleanable/dirt,
-/turf/floor/carpet{
- icon_state = "carpet_broken"
- },
+/turf/floor/carpet/broken,
/area/outpost/abandoned)
"dl" = (
/obj/effect/floor_decal/spline/fancy/wood{
@@ -1004,17 +990,13 @@
icon_state = "plant-25"
},
/obj/machinery/light/small,
-/turf/floor/carpet{
- icon_state = "carpet_broken"
- },
+/turf/floor/carpet/broken,
/area/outpost/abandoned)
"dz" = (
/obj/effect/floor_decal/spline/fancy/wood,
/obj/structure/table/woodentable,
/obj/random/loot,
-/turf/floor/carpet{
- icon_state = "carpet_broken"
- },
+/turf/floor/carpet/broken,
/area/outpost/abandoned)
"dA" = (
/obj/effect/floor_decal/spline/fancy/wood{
@@ -1145,9 +1127,7 @@
"dV" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/floor/plating{
- icon_state = "dmg1"
- },
+/turf/floor/plating/broken,
/area/outpost/abandoned)
"dW" = (
/obj/effect/decal/cleanable/dirt,
@@ -1182,9 +1162,7 @@
"eb" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/mop,
-/turf/floor/plating{
- icon_state = "dmg2"
- },
+/turf/floor/plating/broken/two,
/area/outpost/abandoned)
"ec" = (
/obj/effect/decal/cleanable/dirt,
@@ -1312,9 +1290,7 @@
/area/outpost/abandoned)
"ez" = (
/obj/effect/decal/cleanable/dirt,
-/turf/floor/plating{
- icon_state = "dmg1"
- },
+/turf/floor/plating/broken/one,
/area/outpost/abandoned)
"eA" = (
/obj/effect/decal/cleanable/dirt,
@@ -1326,9 +1302,7 @@
"eB" = (
/obj/machinery/atmospherics/pipe/simple/hidden/red,
/obj/item/ammo_magazine/pistol/small,
-/turf/floor/plating{
- icon_state = "dmg1"
- },
+/turf/floor/plating/broken/one,
/area/outpost/abandoned)
"eC" = (
/obj/item/ammo_magazine/pistol/small,
@@ -1408,9 +1382,7 @@
/area/outpost/abandoned)
"eP" = (
/obj/effect/decal/cleanable/dirt,
-/turf/floor/plating{
- icon_state = "dmg4"
- },
+/turf/floor/plating/broken/four,
/area/outpost/abandoned)
"eQ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/green{
@@ -1455,9 +1427,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/green{
dir = 4
},
-/turf/floor/plating{
- icon_state = "dmg1"
- },
+/turf/floor/plating/broken/one,
/area/outpost/abandoned)
"eW" = (
/obj/effect/decal/cleanable/dirt,
@@ -1508,9 +1478,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/red,
/obj/abstract/landmark/allowed_leak,
-/turf/floor/plating{
- icon_state = "dmg1"
- },
+/turf/floor/plating/broken/one,
/area/outpost/abandoned)
"fc" = (
/obj/effect/decal/cleanable/dirt,
@@ -1567,9 +1535,7 @@
/turf/floor/tiled/white/airless,
/area/outpost/abandoned)
"fm" = (
-/turf/floor/plating{
- icon_state = "dmg3"
- },
+/turf/floor/plating/broken/three,
/area/outpost/abandoned)
"fo" = (
/obj/random/medical,
@@ -1601,9 +1567,7 @@
"ft" = (
/obj/effect/decal/cleanable/dirt,
/obj/random/medical,
-/turf/floor/plating{
- icon_state = "dmg4"
- },
+/turf/floor/plating/broken/four,
/area/outpost/abandoned)
"fu" = (
/obj/effect/decal/cleanable/dirt,
@@ -1618,9 +1582,7 @@
"fw" = (
/obj/effect/decal/cleanable/dirt,
/obj/random/trash,
-/turf/floor/plating{
- icon_state = "dmg1"
- },
+/turf/floor/plating/broken/one,
/area/outpost/abandoned)
"fx" = (
/obj/effect/decal/cleanable/dirt,
@@ -1634,9 +1596,7 @@
/area/mine/explored)
"fz" = (
/obj/effect/floor_decal/asteroid,
-/turf/floor/plating{
- icon_state = "dmg2"
- },
+/turf/floor/plating/broken/two,
/area/mine/explored)
"fA" = (
/obj/structure/table,
@@ -1864,9 +1824,7 @@
"gi" = (
/obj/effect/decal/cleanable/dirt,
/obj/abstract/landmark/proc_caller/floor_breaker,
-/turf/floor/tiled/airless{
- icon_state = "steel_broken0"
- },
+/turf/floor/tiled/airless/broken,
/area/mine/explored)
"gj" = (
/obj/machinery/door/airlock/hatch,
@@ -1888,9 +1846,7 @@
/turf/floor/plating,
/area/outpost/abandoned)
"gm" = (
-/turf/floor/plating{
- icon_state = "dmg2"
- },
+/turf/floor/plating/broken/two,
/area/outpost/abandoned)
"gn" = (
/obj/effect/decal/cleanable/dirt,
@@ -1998,9 +1954,7 @@
/area/outpost/abandoned)
"gC" = (
/obj/abstract/landmark/proc_caller/floor_breaker,
-/turf/floor/tiled/airless{
- icon_state = "steel_broken4"
- },
+/turf/floor/tiled/airless/broken,
/area/mine/explored)
"gD" = (
/obj/effect/floor_decal/industrial/hatch,
@@ -2071,9 +2025,7 @@
/obj/structure/firedoor_assembly{
anchored = 1
},
-/turf/floor/plating{
- icon_state = "dmg2"
- },
+/turf/floor/plating/broken/two,
/area/outpost/abandoned)
"gP" = (
/obj/effect/decal/cleanable/blood/gibs/limb,
diff --git a/maps/away/mining/mining.dm b/maps/away/mining/mining.dm
index ef7782b62a5..4f6cec27160 100644
--- a/maps/away/mining/mining.dm
+++ b/maps/away/mining/mining.dm
@@ -223,7 +223,7 @@
/obj/item/stool/stone/Initialize(mapload)
. = ..(mapload, /decl/material/solid/stone/sandstone)
-/turf/floor/airless/stone
+/turf/floor/plating/airless/stone
name = "temple floor"
desc = "You can only imagine what once took place in these halls."
icon = 'icons/turf/flooring/cult.dmi'
diff --git a/maps/away/mobius_rift/mobius_rift.dmm b/maps/away/mobius_rift/mobius_rift.dmm
index 467ee7daa48..01d8bd7e375 100644
--- a/maps/away/mobius_rift/mobius_rift.dmm
+++ b/maps/away/mobius_rift/mobius_rift.dmm
@@ -9,7 +9,7 @@
/turf/unsimulated/floor/infinity,
/area/mobius_rift)
"d" = (
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/mobius_rift)
"e" = (
/turf/floor/fake_grass,
@@ -26,7 +26,7 @@
/area/mobius_rift)
"i" = (
/obj/structure/flora/bush/fullgrass,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/mobius_rift)
"j" = (
/obj/structure/flora/bush/genericbush,
@@ -58,13 +58,13 @@
/area/mobius_rift)
"q" = (
/mob/living/simple_animal/hostile/vagrant,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/mobius_rift)
"r" = (
/obj/effect/mobius_rift/portals_setup,
/obj/effect/overmap/visitable/sector/mobius_rift,
/obj/effect/shuttle_landmark/automatic,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/mobius_rift)
(1,1,1) = {"
diff --git a/maps/away/mobius_rift/mobius_rift_areas.dm b/maps/away/mobius_rift/mobius_rift_areas.dm
index 822bc88d8a2..90d7a9a5555 100644
--- a/maps/away/mobius_rift/mobius_rift_areas.dm
+++ b/maps/away/mobius_rift/mobius_rift_areas.dm
@@ -2,4 +2,4 @@
name = "Mobius Rift"
icon = 'maps/away/mobius_rift/mobius_rift_sprites.dmi'
icon_state = "mr"
- base_turf = /turf/unsimulated/beach/sand
\ No newline at end of file
+ base_turf = /turf/unsimulated/floor/sand
\ No newline at end of file
diff --git a/maps/away/slavers/slavers_base.dmm b/maps/away/slavers/slavers_base.dmm
index 870af201c78..f9648ba2863 100644
--- a/maps/away/slavers/slavers_base.dmm
+++ b/maps/away/slavers/slavers_base.dmm
@@ -35,34 +35,34 @@
desc = "A heavy box covered with dried blood.";
name = "Big dirty box"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"ak" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"al" = (
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"am" = (
/obj/structure/morgue,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"an" = (
/obj/effect/decal/cleanable/ash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"ao" = (
/obj/structure/table,
/obj/item/wirecutters,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"ap" = (
/obj/structure/table,
/obj/abstract/landmark/corpse/slavers_base/slave,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aq" = (
/obj/structure/table,
@@ -73,16 +73,16 @@
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"ar" = (
/obj/structure/table,
/obj/item/utensil/knife,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"as" = (
/obj/structure/rack,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"at" = (
/obj/effect/gibspawner/human,
@@ -91,7 +91,7 @@
"au" = (
/obj/structure/rack,
/obj/item/wirecutters,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"av" = (
/obj/item/tool/shovel,
@@ -103,32 +103,32 @@
/area/space)
"ax" = (
/obj/item/remains/human,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"ay" = (
/obj/item/bodybag,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"az" = (
/obj/item/utensil/knife,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aA" = (
/obj/structure/rack,
/obj/item/tool/axe/hatchet,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aB" = (
/obj/structure/closet/crate/freezer,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aC" = (
/obj/effect/gibspawner/human,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aD" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aE" = (
/obj/structure/cable{
@@ -140,30 +140,30 @@
pixel_x = 24
},
/obj/machinery/atmospherics/unary/vent_pump/on,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aF" = (
/obj/machinery/light/small,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aG" = (
/obj/machinery/gibber,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aH" = (
/obj/structure/meat_hook,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aI" = (
/obj/structure/meat_hook,
/obj/machinery/light/small,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aJ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aK" = (
/obj/structure/cable{
@@ -173,13 +173,13 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aL" = (
/obj/machinery/door/airlock{
name = "Mortuary backyard"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/mort)
"aM" = (
/turf/wall,
@@ -199,25 +199,25 @@
/obj/structure/hygiene/toilet{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"aP" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"aQ" = (
/obj/machinery/light/small/red{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"aR" = (
/obj/structure/mattress/dirty,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"aS" = (
/obj/structure/mattress/dirty,
/obj/item/chems/glass/rag,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"aT" = (
/obj/effect/decal/cleanable/dirt,
@@ -235,31 +235,31 @@
/area/slavers_base/cells)
"aV" = (
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"aW" = (
/obj/item/chems/glass/rag,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"aX" = (
/obj/structure/hygiene/shower{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"aY" = (
/obj/item/chems/glass/rag,
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"aZ" = (
/obj/structure/mattress/dirty,
/obj/item/chems/drinks/cans/waterbottle,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"ba" = (
/obj/item/remains/human,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bb" = (
/obj/effect/decal/cleanable/dirt,
@@ -276,24 +276,24 @@
name = "Floor mounted flash"
},
/obj/item/chems/glass/rag,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bd" = (
/obj/structure/mattress/dirty,
/obj/item/trash/liquidfood,
/obj/abstract/landmark/corpse/slavers_base/slave,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"be" = (
/obj/machinery/flasher{
id_tag = "permentryflash";
name = "Floor mounted flash"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bf" = (
/obj/item/chems/drinks/cans/waterbottle,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bg" = (
/obj/machinery/flasher{
@@ -301,7 +301,7 @@
name = "Floor mounted flash"
},
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bh" = (
/obj/structure/mattress/dirty,
@@ -309,27 +309,27 @@
id_tag = "permentryflash";
name = "Floor mounted flash"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bi" = (
/obj/structure/reagent_dispensers/watertank,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bj" = (
/obj/effect/wallframe_spawn/reinforced,
/obj/structure/cable/cyan{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bk" = (
/obj/machinery/door/window/brigdoor/southright,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bl" = (
/obj/machinery/door/window/brigdoor/southright,
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bm" = (
/obj/effect/decal/cleanable/dirt,
@@ -439,18 +439,18 @@
"bu" = (
/obj/structure/mattress/dirty,
/obj/abstract/landmark/corpse/slavers_base/slave,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bv" = (
/obj/structure/closet/crate/plastic/rations,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bw" = (
/obj/item/paper{
info = "Tonight, when lights are out. Prepare shivs, pieces of glass, whatever you might find.";
name = "Note"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bx" = (
/obj/effect/decal/cleanable/dirt,
@@ -462,7 +462,7 @@
"by" = (
/obj/machinery/atmospherics/pipe/manifold/visible/black,
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"bz" = (
/obj/structure/closet/crate/plastic/rations,
@@ -500,11 +500,11 @@
/area/slavers_base/cells)
"bD" = (
/obj/random/shoes,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bE" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bF" = (
/obj/effect/decal/cleanable/dirt,
@@ -518,28 +518,28 @@
"bG" = (
/obj/effect/wallframe_spawn/reinforced,
/obj/structure/cable/cyan,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bH" = (
/obj/machinery/door/window/brigdoor/northright,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bI" = (
/obj/random/trash,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/unary/vent_pump/on,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bJ" = (
/obj/item/bag/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bK" = (
/obj/effect/wallframe_spawn/reinforced,
/obj/structure/cable/cyan{
icon_state = "0-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bL" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -552,14 +552,14 @@
/obj/structure/cable/cyan{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bM" = (
/obj/effect/wallframe_spawn/reinforced,
/obj/structure/cable/cyan{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bN" = (
/obj/machinery/door/airlock{
@@ -567,22 +567,22 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bO" = (
/obj/machinery/light/small/red,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bP" = (
/obj/machinery/light/small/red,
/obj/structure/mattress/dirty,
/obj/abstract/landmark/corpse/slavers_base/slave,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bQ" = (
/obj/structure/mattress/dirty,
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"bR" = (
/obj/machinery/light{
@@ -718,7 +718,7 @@
/obj/structure/cable/cyan{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cb" = (
/obj/machinery/door/airlock{
@@ -726,7 +726,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cc" = (
/obj/effect/decal/cleanable/dirt,
@@ -743,48 +743,48 @@
dir = 4
},
/obj/item/food/junk/liquidfood,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"ce" = (
/obj/machinery/light/small/red{
dir = 1
},
/obj/structure/mattress/dirty,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cf" = (
/obj/structure/mattress/dirty,
/obj/random/snack,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cg" = (
/obj/machinery/light/small/red{
dir = 1
},
/obj/random/medical/lite,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"ch" = (
/obj/structure/mattress/dirty,
/obj/item/remains/human,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"ci" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cj" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"ck" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cl" = (
/obj/effect/decal/cleanable/dirt,
@@ -878,23 +878,23 @@
/turf/floor/tiled/airless,
/area/slavers_base/cells)
"cs" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"ct" = (
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"cu" = (
/obj/machinery/door/blast/regular{
id_tag = "service_hangar"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"cv" = (
/obj/abstract/landmark/corpse/slavers_base/slave,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cw" = (
/obj/effect/decal/cleanable/dirt,
@@ -913,7 +913,7 @@
/area/slavers_base/cells)
"cy" = (
/obj/random/medical/lite,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cz" = (
/obj/effect/decal/cleanable/dirt,
@@ -946,96 +946,96 @@
"cB" = (
/obj/machinery/door/window/brigdoor/northright,
/obj/item/chems/glass/rag,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cC" = (
/obj/effect/floor_decal/industrial/warning{
dir = 9;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"cD" = (
/obj/effect/floor_decal/industrial/warning{
dir = 1;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"cE" = (
/obj/effect/floor_decal/industrial/warning{
dir = 5;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"cF" = (
/obj/item/paper,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cG" = (
/obj/item/trash/liquidfood,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cH" = (
/obj/effect/floor_decal/industrial/warning{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"cI" = (
/obj/effect/floor_decal/industrial/warning{
dir = 4;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"cJ" = (
/obj/item/paper{
info = "Doc who checked us told implants won't explode our heads. Gotta make guys know. Seems I see a silver lining.";
name = "Note"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cK" = (
/obj/machinery/light/small/red,
/obj/item/remains/human,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cL" = (
/obj/random/snack,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cM" = (
/obj/structure/mattress/dirty,
/obj/item/chems/drinks/cans/waterbottle,
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cN" = (
/obj/machinery/light/small/red,
/obj/random/trash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cO" = (
/obj/structure/mattress/dirty,
/obj/item/chems/glass/rag,
/obj/item/chems/drinks/cans/waterbottle,
/obj/abstract/landmark/corpse/slavers_base/slave,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cP" = (
/obj/structure/hygiene/toilet{
dir = 4
},
/obj/item/trash/liquidfood,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cQ" = (
/obj/machinery/light/small/red,
/obj/structure/mattress/dirty,
/obj/item/chems/glass/rag,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/cells)
"cR" = (
/turf/wall,
@@ -1074,31 +1074,31 @@
/area/space)
"cX" = (
/obj/machinery/atmospherics/unary/tank/air,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"cY" = (
/obj/machinery/atmospherics/unary/tank/air,
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"cZ" = (
/obj/machinery/portable_atmospherics/canister/air,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"da" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"db" = (
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"dc" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"dd" = (
/obj/structure/bed,
@@ -1292,51 +1292,51 @@
/turf/floor/tiled/airless,
/area/slavers_base/med)
"dB" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"dC" = (
/obj/structure/reagent_dispensers/watertank,
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"dD" = (
/obj/structure/reagent_dispensers/watertank,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"dE" = (
/obj/structure/closet/crate/plastic/rations,
/obj/item/food/junk/liquidfood,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"dF" = (
/obj/structure/closet/crate/plastic/rations,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"dG" = (
/obj/machinery/atmospherics/pipe/manifold/visible/yellow{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"dH" = (
/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"dI" = (
/obj/machinery/atmospherics/pipe/manifold/visible/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"dJ" = (
/obj/machinery/atmospherics/pipe/simple/visible/yellow{
dir = 10
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"dK" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"dL" = (
/turf/floor/tiled/airless,
@@ -1446,43 +1446,43 @@
/area/slavers_base/med)
"dZ" = (
/obj/item/food/junk/liquidfood,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"ea" = (
/obj/structure/closet/crate/trashcart,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"eb" = (
/obj/effect/floor_decal/industrial/warning{
dir = 10;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"ec" = (
/obj/effect/floor_decal/industrial/warning,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"ed" = (
/obj/effect/floor_decal/industrial/warning{
dir = 6
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"ee" = (
/obj/machinery/atmospherics/binary/pump{
dir = 1;
name = "waste pump"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"ef" = (
/obj/machinery/atmospherics/binary/pump,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"eg" = (
/obj/machinery/atmospherics/pipe/simple/visible/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"eh" = (
/obj/random/junk,
@@ -1597,16 +1597,16 @@
/area/slavers_base/med)
"eA" = (
/obj/item/beartrap,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"eB" = (
/obj/item/mop,
/obj/structure/mopbucket,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"eC" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"eD" = (
/obj/machinery/atmospherics/portables_connector{
@@ -1615,47 +1615,47 @@
/obj/machinery/light/small{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"eE" = (
/obj/machinery/atmospherics/portables_connector{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"eF" = (
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"eG" = (
/obj/machinery/atmospherics/binary/pump{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"eH" = (
/obj/machinery/atmospherics/pipe/simple/visible/yellow{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"eI" = (
/obj/machinery/atmospherics/pipe/simple/hidden/universal{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"eJ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"eK" = (
/obj/machinery/light/small{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"eL" = (
/obj/structure/cable/green{
@@ -1811,26 +1811,26 @@
/obj/structure/table,
/obj/item/box/handcuffs,
/obj/item/box/handcuffs,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"fe" = (
/obj/structure/table,
/obj/item/box/bodybags,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"ff" = (
/obj/structure/table,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"fg" = (
/obj/structure/reagent_dispensers/water_cooler,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/med)
"fh" = (
/obj/machinery/atmospherics/pipe/manifold/visible/cyan{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"fi" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
@@ -1839,7 +1839,7 @@
/obj/structure/cable{
icon_state = "2-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"fj" = (
/obj/structure/cable{
@@ -1849,11 +1849,11 @@
name = "Slavers hangar";
pixel_y = -24
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"fk" = (
/obj/machinery/light/small,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"fl" = (
/obj/effect/decal/cleanable/generic,
@@ -1861,14 +1861,14 @@
dir = 4;
level = 2
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"fm" = (
/obj/effect/decal/cleanable/generic,
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"fn" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -1888,14 +1888,14 @@
"fp" = (
/obj/machinery/door/airlock/external,
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"fq" = (
/obj/machinery/door/airlock/external,
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hangar)
"fr" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -1905,7 +1905,7 @@
dir = 5
},
/obj/effect/decal/cleanable/generic,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"fs" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -1917,7 +1917,7 @@
/obj/structure/cable/green{
icon_state = "2-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"ft" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -1933,7 +1933,7 @@
icon_state = "4-8"
},
/obj/effect/decal/cleanable/dirt,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hallway)
"fu" = (
/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
@@ -2028,7 +2028,7 @@
/obj/structure/cable/green{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"fB" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -2038,13 +2038,13 @@
/obj/structure/cable/green{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"fC" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"fD" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -2053,13 +2053,13 @@
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"fE" = (
/obj/machinery/atmospherics/pipe/simple/hidden/universal{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"fF" = (
/obj/machinery/atmospherics/binary/pump{
@@ -2068,38 +2068,38 @@
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"fG" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"fH" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
dir = 9
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"fI" = (
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"fJ" = (
/turf/wall,
/area/slavers_base/maint)
"fK" = (
/obj/machinery/atmospherics/unary/tank/carbon_dioxide,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"fL" = (
/obj/machinery/atmospherics/pipe/simple/visible/black{
dir = 6
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"fM" = (
/obj/machinery/atmospherics/pipe/simple/visible/yellow,
@@ -2107,39 +2107,39 @@
dir = 4
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"fN" = (
/obj/machinery/atmospherics/pipe/simple/visible/black{
dir = 10
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"fO" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"fP" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"fQ" = (
/obj/structure/cable/green{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"fR" = (
/obj/machinery/door/airlock{
name = "Power/atmos"
},
/obj/effect/decal/cleanable/dirt,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/hallway)
"fS" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -2180,7 +2180,7 @@
/obj/structure/cable{
icon_state = "2-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"fY" = (
/obj/structure/cable{
@@ -2190,49 +2190,49 @@
icon_state = "0-4"
},
/obj/machinery/power/smes/buildable,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"fZ" = (
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"ga" = (
/obj/structure/cable{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gb" = (
/obj/machinery/atmospherics/pipe/manifold/visible/black{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gc" = (
/obj/machinery/atmospherics/pipe/manifold/visible/black,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gd" = (
/obj/machinery/atmospherics/pipe/simple/visible/black{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"ge" = (
/obj/machinery/atmospherics/omni/filter{
dir = 8
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gf" = (
/obj/machinery/atmospherics/pipe/simple/hidden/universal{
dir = 4
},
/obj/effect/decal/cleanable/generic,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gg" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -2241,7 +2241,7 @@
/obj/structure/cable{
icon_state = "2-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gh" = (
/obj/structure/cable/green{
@@ -2255,7 +2255,7 @@
name = "Slavers atmos and power room";
pixel_x = 24
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gi" = (
/turf/wall,
@@ -2294,28 +2294,28 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gn" = (
/obj/machinery/atmospherics/binary/pump,
/obj/machinery/light/small{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"go" = (
/obj/machinery/portable_atmospherics/canister,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gp" = (
/obj/item/crowbar,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gq" = (
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gr" = (
/obj/structure/table/steel,
@@ -2328,7 +2328,7 @@
/obj/machinery/light/small{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gs" = (
/obj/structure/cable/green{
@@ -2424,30 +2424,30 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gI" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gJ" = (
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gK" = (
/obj/machinery/light/small{
dir = 1
},
/obj/effect/decal/cleanable/generic,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gL" = (
/obj/machinery/atmospherics/portables_connector{
dir = 1
},
/obj/machinery/portable_atmospherics/canister,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gM" = (
/obj/structure/table/steel,
@@ -2455,7 +2455,7 @@
icon_state = "1-2"
},
/obj/item/toolbox/mechanical,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gN" = (
/obj/random/junk,
@@ -2475,7 +2475,7 @@
/obj/structure/cable{
icon_state = "0-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gP" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -2487,7 +2487,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gQ" = (
/obj/random/junk,
@@ -2504,7 +2504,7 @@
name = "Slavers Maintenance";
pixel_y = -24
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gR" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -2513,7 +2513,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gS" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -2523,7 +2523,7 @@
dir = 4
},
/obj/effect/decal/cleanable/generic,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gT" = (
/obj/machinery/door/airlock{
@@ -2535,7 +2535,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gU" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -2544,24 +2544,24 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gV" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"gW" = (
/obj/machinery/floodlight,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gX" = (
/obj/structure/table/steel,
/obj/structure/cable/green{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"gY" = (
/obj/machinery/light{
@@ -2600,7 +2600,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"hd" = (
/turf/wall,
@@ -2609,22 +2609,22 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"hf" = (
/obj/machinery/light/small{
dir = 4;
pixel_y = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"hg" = (
/obj/item/coilgun_assembly,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"hh" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"hj" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -2675,7 +2675,7 @@
/area/slavers_base/dorms)
"hr" = (
/obj/structure/safe,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/demo)
"hs" = (
/obj/machinery/light{
@@ -2683,12 +2683,12 @@
},
/obj/structure/safe,
/obj/item/bag/cash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/demo)
"ht" = (
/obj/structure/safe,
/obj/item/bag/cash,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/demo)
"hu" = (
/obj/machinery/light{
@@ -2716,27 +2716,27 @@
/area/slavers_base/demo)
"hy" = (
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"hz" = (
/obj/machinery/vending/engineering{
req_access = list()
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"hA" = (
/obj/item/stock_parts/computer/card_slot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"hB" = (
/obj/structure/cable{
icon_state = "1-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"hC" = (
/obj/machinery/power/smes/buildable,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"hD" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -2756,7 +2756,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"hF" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -2765,7 +2765,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"hG" = (
/obj/machinery/door/airlock{
@@ -2777,7 +2777,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/demo)
"hH" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -2786,7 +2786,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/demo)
"hI" = (
/obj/random/coin,
@@ -2796,7 +2796,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/demo)
"hJ" = (
/obj/machinery/door/airlock{
@@ -2808,7 +2808,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/demo)
"hK" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -2866,7 +2866,7 @@
/obj/structure/cable/green{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"hS" = (
/obj/structure/cable/green{
@@ -2955,19 +2955,19 @@
/obj/structure/closet/secure_closet/guncabinet,
/obj/random/projectile,
/obj/random/projectile,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/demo)
"if" = (
/obj/structure/closet/secure_closet/guncabinet,
/obj/random/projectile,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/demo)
"ig" = (
/obj/random/coin,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/demo)
"ih" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/demo)
"ii" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
@@ -2987,23 +2987,23 @@
/area/slavers_base/demo)
"il" = (
/obj/structure/ore_box,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"in" = (
/obj/structure/closet/crate,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"io" = (
/obj/structure/closet/crate,
/obj/machinery/light/small,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"iq" = (
/obj/machinery/port_gen/pacman/super,
/obj/structure/cable/green{
icon_state = "0-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"ir" = (
/obj/machinery/port_gen/pacman/super,
@@ -3013,7 +3013,7 @@
/obj/structure/cable/green{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"is" = (
/obj/machinery/port_gen/pacman/super,
@@ -3024,13 +3024,13 @@
icon_state = "0-8"
},
/obj/machinery/light/small,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"it" = (
/obj/structure/cable/green{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
"iu" = (
/obj/structure/cable/green{
@@ -3118,7 +3118,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"iI" = (
/obj/effect/decal/cleanable/dirt,
@@ -3245,7 +3245,7 @@
/obj/structure/cable{
icon_state = "1-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"iX" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -3257,7 +3257,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"iY" = (
/obj/machinery/door/airlock{
@@ -3313,7 +3313,7 @@
/obj/structure/cable/green{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/dorms)
"jf" = (
/obj/structure/cable{
@@ -3375,7 +3375,7 @@
/obj/structure/cable/green{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/dorms)
"jq" = (
/obj/structure/table,
@@ -3383,7 +3383,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/dorms)
"jr" = (
/obj/structure/bed/chair{
@@ -3440,12 +3440,12 @@
/obj/machinery/power/terminal{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/dorms)
"jz" = (
/obj/structure/cable,
/obj/machinery/power/smes/buildable,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/dorms)
"jA" = (
/obj/effect/decal/cleanable/blood,
@@ -3766,98 +3766,98 @@
dir = 6
},
/obj/effect/decal/cleanable/generic,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kD" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kE" = (
/obj/machinery/door/airlock{
name = "Exchange area"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kF" = (
/obj/effect/decal/cleanable/generic,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kG" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/decal/cleanable/generic,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kH" = (
/obj/machinery/light/small{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kI" = (
/obj/machinery/atmospherics/pipe/simple/visible/universal,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kJ" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kK" = (
/obj/machinery/door/airlock{
name = "Exchange point"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kL" = (
/obj/machinery/atmospherics/binary/pump,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kM" = (
/obj/structure/table,
/obj/item/radio/shortwave,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kN" = (
/obj/structure/table,
/obj/random/handgun,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kO" = (
/obj/machinery/door/airlock/external,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kP" = (
/obj/machinery/door/airlock/external,
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kQ" = (
/obj/structure/table,
/obj/random/junk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kR" = (
/obj/structure/bed/chair{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kS" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kT" = (
/obj/structure/table,
/obj/random/loot,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kU" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
dir = 1;
id_tag = "solar_port_pump"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/maint)
"kW" = (
/obj/effect/overmap/visitable/sector/slavers_base,
@@ -3901,7 +3901,7 @@
dir = 4
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/slavers_base/powatm)
(1,1,1) = {"
diff --git a/maps/away/smugglers/smugglers.dmm b/maps/away/smugglers/smugglers.dmm
index b1e36689d8e..808d13e1443 100644
--- a/maps/away/smugglers/smugglers.dmm
+++ b/maps/away/smugglers/smugglers.dmm
@@ -75,7 +75,7 @@
injecting = 1;
use_power = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aq" = (
/obj/machinery/door/airlock/external{
@@ -90,7 +90,7 @@
/obj/structure/cable{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/smugglers/base)
"au" = (
/obj/item/flashlight/flare/glowstick/yellow{
@@ -825,7 +825,7 @@
/area/smugglers/dorms)
"cj" = (
/obj/effect/decal/cleanable/cobweb,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/smugglers/dorms)
"cl" = (
/obj/effect/decal/cleanable/dirt,
@@ -856,13 +856,13 @@
"cp" = (
/obj/effect/decal/cleanable/vomit,
/obj/random/medical/lite,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/smugglers/dorms)
"cq" = (
/obj/structure/hygiene/toilet{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/smugglers/dorms)
"cr" = (
/obj/structure/bed/chair{
@@ -959,7 +959,7 @@
pixel_y = 30
},
/obj/random/soap,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/smugglers/dorms)
(1,1,1) = {"
diff --git a/maps/away/unishi/unishi-1.dmm b/maps/away/unishi/unishi-1.dmm
index 382a3beaad0..0261df5f22a 100644
--- a/maps/away/unishi/unishi-1.dmm
+++ b/maps/away/unishi/unishi-1.dmm
@@ -753,7 +753,7 @@
/obj/machinery/atmospherics/unary/engine{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/unishi/engineroom)
"ch" = (
/obj/structure/sign/warning/vent_port,
diff --git a/maps/away/unishi/unishi-3.dmm b/maps/away/unishi/unishi-3.dmm
index 9bb6f7c074c..8ad33994f7d 100644
--- a/maps/away/unishi/unishi-3.dmm
+++ b/maps/away/unishi/unishi-3.dmm
@@ -17,11 +17,11 @@
/turf/floor,
/area/unishi/bridge)
"ae" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/unishi/bridge)
"af" = (
/obj/effect/wingrille_spawn/reinforced/full,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/unishi/bridge)
"ag" = (
/obj/machinery/computer/ship/engines,
@@ -143,7 +143,7 @@
/area/unishi/bridge)
"aC" = (
/obj/machinery/shipsensors,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/unishi/bridge)
"aD" = (
/turf/wall/titanium,
@@ -202,7 +202,7 @@
/turf/floor,
/area/unishi/bridge)
"aO" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aP" = (
/turf/wall/titanium,
@@ -606,10 +606,10 @@
"bX" = (
/obj/random/tool,
/obj/random/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/unishi/living)
"bY" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/unishi/living)
"bZ" = (
/obj/machinery/door/window,
@@ -643,14 +643,14 @@
/area/unishi/lounge)
"ce" = (
/obj/machinery/vending/tool,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/unishi/living)
"cf" = (
/obj/structure/janitorialcart,
/obj/machinery/light/small{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/unishi/living)
"cg" = (
/obj/machinery/power/apc{
@@ -735,7 +735,7 @@
"co" = (
/obj/random/tool,
/obj/structure/closet/toolcloset,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/unishi/living)
"cp" = (
/obj/structure/bed/padded,
@@ -1617,7 +1617,7 @@
/area/unishi/living)
"ew" = (
/obj/random/maintenance,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ex" = (
/obj/structure/closet/secure_closet/personal/cabinet,
diff --git a/maps/away/yacht/yacht.dmm b/maps/away/yacht/yacht.dmm
index 4e4cc76419a..3e56a19c9e6 100644
--- a/maps/away/yacht/yacht.dmm
+++ b/maps/away/yacht/yacht.dmm
@@ -12,9 +12,7 @@
/area/yacht/bridge)
"ad" = (
/obj/machinery/shipsensors,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/tiled/airless/broken,
/area/yacht/bridge)
"ae" = (
/obj/effect/decal/cleanable/dirt,
@@ -689,7 +687,7 @@
},
/obj/machinery/power/solar,
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/yacht/engine)
"cd" = (
/obj/structure/closet/crate/hydroponics,
@@ -791,9 +789,7 @@
/obj/effect/decal/cleanable/blood/oil/streak,
/obj/effect/decal/cleanable/generic,
/obj/effect/decal/cleanable/molten_item,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/tiled/airless/broken,
/area/yacht/engine)
"cq" = (
/obj/structure/cable{
@@ -806,9 +802,7 @@
icon_state = "1-8"
},
/obj/item/stock_parts/circuitboard/broken,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/tiled/airless/broken,
/area/yacht/engine)
"cr" = (
/obj/structure/cable{
@@ -821,9 +815,7 @@
icon_state = "1-8"
},
/obj/item/toolbox/syndicate,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/tiled/airless/broken,
/area/yacht/engine)
"cs" = (
/obj/structure/cable{
@@ -836,7 +828,7 @@
icon_state = "1-8"
},
/obj/item/plastique,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/yacht/engine)
"ct" = (
/obj/structure/cable{
@@ -848,14 +840,14 @@
/obj/structure/cable{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/yacht/engine)
"cu" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/yacht/engine)
"cC" = (
/obj/structure/cable,
@@ -908,7 +900,7 @@
/obj/structure/cable,
/obj/machinery/power/solar,
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/yacht/engine)
"cN" = (
/obj/structure/closet/toolcloset,
@@ -1157,7 +1149,7 @@
/obj/machinery/atmospherics/unary/engine{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/yacht/engine)
"dF" = (
/obj/effect/shuttle_landmark/nav_yacht/nav3,
@@ -1240,7 +1232,7 @@
/obj/machinery/door/airlock/external/bolted{
id_tag = "yacht_outer"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/yacht/engine)
"kb" = (
/obj/structure/cable{
@@ -1264,7 +1256,7 @@
pixel_y = -24;
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/yacht/engine)
"lb" = (
/obj/structure/cable{
diff --git a/maps/exodus/exodus-1.dmm b/maps/exodus/exodus-1.dmm
index 4ca6f0104f0..c76876085ba 100644
--- a/maps/exodus/exodus-1.dmm
+++ b/maps/exodus/exodus-1.dmm
@@ -30,7 +30,7 @@
/obj/machinery/light/small{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/fore)
"ah" = (
/turf/space,
@@ -105,7 +105,7 @@
pixel_y = 25;
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/fore)
"ap" = (
/turf/wall/prepainted,
@@ -293,7 +293,7 @@
/turf/floor/tiled/techfloor/grid,
/area/exodus/maintenance/sub/fore)
"aQ" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aR" = (
/obj/machinery/alarm{
@@ -303,7 +303,7 @@
/area/exodus/maintenance/sub/fore)
"aS" = (
/obj/random/toolbox,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aT" = (
/obj/machinery/light/small{
@@ -978,12 +978,12 @@
/turf/floor/plating,
/area/exodus/maintenance/sub/port)
"di" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/command)
"dj" = (
/obj/machinery/porta_turret,
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/command)
"dk" = (
/obj/structure/reagent_dispensers/watertank,
@@ -1008,7 +1008,7 @@
c_tag = "Bridge - Sublevel - Fore";
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/command)
"do" = (
/obj/structure/cable{
@@ -1094,7 +1094,7 @@
dir = 4;
pixel_y = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/port)
"dC" = (
/obj/structure/firedoor_assembly,
@@ -1116,7 +1116,7 @@
pixel_y = 25;
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/port)
"dG" = (
/obj/machinery/door/airlock/external/bolted{
@@ -1304,14 +1304,14 @@
c_tag = "Bridge - Sublevel - Port";
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/command)
"ed" = (
/obj/machinery/camera/motion/command{
c_tag = "Bridge - Sublevel - Starboard";
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/command)
"ee" = (
/obj/structure/cable/green{
@@ -1347,7 +1347,7 @@
c_tag = "Bridge - Sublevel - Center";
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/command)
"ek" = (
/obj/machinery/light{
@@ -1637,7 +1637,7 @@
dir = 4;
pixel_y = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/starboard)
"eW" = (
/obj/machinery/portable_atmospherics/canister/air/airlock,
@@ -1767,7 +1767,7 @@
pixel_y = 24;
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/starboard)
"fj" = (
/obj/machinery/door/airlock/external/bolted{
@@ -1897,7 +1897,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 5
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/command)
"fz" = (
/obj/machinery/camera/motion/command{
@@ -1912,7 +1912,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/command)
"fA" = (
/obj/structure/grille,
@@ -1980,7 +1980,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/command)
"fJ" = (
/obj/structure/cable/green{
@@ -2084,7 +2084,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"fW" = (
/obj/machinery/atmospherics/unary/tank/air{
@@ -4243,7 +4243,7 @@
/turf/floor/tiled/techfloor/grid,
/area/exodus/maintenance/sub/aft)
"lf" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/aft)
"lg" = (
/obj/structure/grille/broken,
@@ -4379,7 +4379,7 @@
/obj/machinery/light/small{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/sub/aft)
"ly" = (
/turf/wall/prepainted,
@@ -4989,7 +4989,7 @@
use_power = 1
},
/obj/effect/floor_decal/industrial/warning/full,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/engineering/atmos)
"ng" = (
/obj/machinery/door/firedoor,
@@ -5098,7 +5098,7 @@
/obj/machinery/atmospherics/pipe/simple/visible/red{
dir = 5
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"nq" = (
/obj/structure/lattice,
@@ -5484,7 +5484,7 @@
dir = 1;
pixel_y = -32
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"rL" = (
/obj/item/stock_parts/subspace/analyzer,
diff --git a/maps/exodus/exodus-2.dmm b/maps/exodus/exodus-2.dmm
index 33361e544c8..2a5f9974fd0 100644
--- a/maps/exodus/exodus-2.dmm
+++ b/maps/exodus/exodus-2.dmm
@@ -82,7 +82,7 @@
/obj/abstract/landmark{
name = "carpspawn"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aah" = (
/turf/wall/prepainted,
@@ -98,7 +98,7 @@
/area/exodus/maintenance/foresolar)
"aaj" = (
/obj/structure/girder/displaced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aak" = (
/turf/floor/tiled/steel_grid,
@@ -108,7 +108,7 @@
/obj/item/shard{
icon_state = "small"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aam" = (
/obj/structure/grille,
@@ -120,10 +120,10 @@
/area/space)
"aao" = (
/obj/item/clothing/suit/ianshirt,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aap" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aaq" = (
/obj/structure/grille/broken,
@@ -138,7 +138,7 @@
icon_state = "2-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/fore)
"aas" = (
/obj/machinery/power/solar{
@@ -149,7 +149,7 @@
icon_state = "0-4"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/fore)
"aat" = (
/turf/wall/r_wall/prepainted,
@@ -163,7 +163,7 @@
name = "Fore Solar Array"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/fore)
"aaw" = (
/obj/structure/cable/yellow{
@@ -176,7 +176,7 @@
icon_state = "1-2"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/fore)
"aax" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -467,7 +467,7 @@
icon_state = "1-2"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/fore)
"abn" = (
/obj/item/box/lights/mixed,
@@ -776,7 +776,7 @@
icon_state = "0-4"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/fore)
"abR" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -828,7 +828,7 @@
icon_state = "2-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/fore)
"abV" = (
/obj/structure/cable{
@@ -847,7 +847,7 @@
icon_state = "4-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/fore)
"abX" = (
/obj/machinery/door/airlock/external/bolted{
@@ -879,14 +879,14 @@
icon_state = "4-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/fore)
"aca" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxstarboard)
"acb" = (
/obj/machinery/door/airlock/engineering{
@@ -933,7 +933,7 @@
icon_state = "2-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxstarboard)
"acf" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
@@ -1114,7 +1114,7 @@
icon_state = "4-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxport)
"acz" = (
/obj/structure/cable,
@@ -1406,7 +1406,7 @@
icon_state = "1-2"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/fore)
"adb" = (
/obj/structure/cable/green{
@@ -1992,7 +1992,7 @@
icon_state = "1-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/fore)
"aes" = (
/obj/structure/cable{
@@ -5006,7 +5006,7 @@
icon_state = "0-2"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxstarboard)
"akI" = (
/obj/machinery/firealarm{
@@ -5385,7 +5385,7 @@
icon_state = "1-2"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxstarboard)
"alq" = (
/obj/machinery/door/firedoor,
@@ -5667,7 +5667,7 @@
icon_state = "2-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxport)
"alW" = (
/turf/wall/prepainted,
@@ -5678,7 +5678,7 @@
icon_state = "0-2"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxport)
"alY" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -6020,7 +6020,7 @@
icon_state = "0-2"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxstarboard)
"amK" = (
/obj/structure/cable/yellow{
@@ -6033,14 +6033,14 @@
icon_state = "1-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/starboard)
"amL" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxport)
"amM" = (
/obj/machinery/atmospherics/valve{
@@ -6445,7 +6445,7 @@
icon_state = "2-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxstarboard)
"anx" = (
/obj/machinery/door/airlock/glass/security{
@@ -6491,21 +6491,21 @@
icon_state = "2-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxstarboard)
"anC" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/starboard)
"anD" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/port)
"anE" = (
/obj/structure/cable/yellow{
@@ -6518,7 +6518,7 @@
icon_state = "2-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxstarboard)
"anF" = (
/obj/structure/cable/yellow{
@@ -6528,7 +6528,7 @@
icon_state = "2-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxstarboard)
"anG" = (
/turf/wall/r_wall/prepainted,
@@ -6544,7 +6544,7 @@
icon_state = "2-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/port)
"anI" = (
/obj/machinery/door/firedoor,
@@ -6835,7 +6835,7 @@
},
/obj/structure/cable/yellow,
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxstarboard)
"aop" = (
/obj/machinery/power/solar{
@@ -6846,7 +6846,7 @@
icon_state = "0-2"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxport)
"aoq" = (
/turf/unsimulated/mask,
@@ -7198,7 +7198,7 @@
/area/exodus/maintenance/dormitory)
"aph" = (
/obj/structure/grille,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/exterior)
"api" = (
/obj/machinery/light{
@@ -7220,7 +7220,7 @@
icon_state = "4-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxport)
"apk" = (
/obj/structure/cable/yellow{
@@ -7230,7 +7230,7 @@
icon_state = "2-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxport)
"apl" = (
/obj/structure/cable,
@@ -7275,7 +7275,7 @@
icon_state = "4-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxport)
"apo" = (
/obj/structure/cable/yellow{
@@ -7285,7 +7285,7 @@
icon_state = "2-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxport)
"app" = (
/obj/machinery/light{
@@ -7570,7 +7570,7 @@
},
/obj/structure/cable/yellow,
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxport)
"apW" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -8753,7 +8753,7 @@
icon_state = "1-2"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxstarboard)
"asi" = (
/obj/structure/bed/chair{
@@ -10899,7 +10899,7 @@
icon_state = "1-2"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/auxport)
"awX" = (
/obj/structure/cable{
@@ -13738,7 +13738,7 @@
pixel_y = -32;
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/exterior)
"aDf" = (
/obj/abstract/landmark{
@@ -15244,7 +15244,7 @@
/obj/structure/window/reinforced{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/shuttle/arrival/station)
"aGc" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -15463,7 +15463,7 @@
/obj/structure/sign/warning/docking_area{
pixel_y = 32
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/exterior)
"aGz" = (
/obj/structure/safe,
@@ -20120,7 +20120,7 @@
name = "disposal mass driver"
},
/obj/machinery/shield_diffuser,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/disposal)
"aQh" = (
/obj/structure/grille,
@@ -21073,7 +21073,7 @@
/obj/structure/window/reinforced{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/disposal)
"aSs" = (
/obj/effect/floor_decal/chapel{
@@ -23364,7 +23364,7 @@
/area/exodus/research/mixing)
"aXM" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
-/obj/machinery/mining/brace,
+/obj/structure/drill_brace,
/turf/floor/tiled/steel_grid,
/area/exodus/quartermaster/storage)
"aXN" = (
@@ -24795,7 +24795,7 @@
name = "Toxins Launcher Bay Door"
},
/obj/machinery/shield_diffuser,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/mixing)
"baP" = (
/obj/machinery/door/airlock/glass/command{
@@ -25150,7 +25150,7 @@
name = "Toxins Launcher Bay Door"
},
/obj/machinery/shield_diffuser,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/test_area)
"bbz" = (
/obj/machinery/button/access/interior{
@@ -25505,7 +25505,7 @@
/obj/structure/cable/green{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/turret_protected/ai)
"bcm" = (
/obj/structure/bed/chair/comfy/black{
@@ -32071,7 +32071,7 @@
/obj/structure/disposalpipe/trunk{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"bpP" = (
/obj/machinery/light{
@@ -33541,7 +33541,7 @@
pixel_x = -25;
pixel_y = 10
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/disposal)
"bsT" = (
/obj/structure/closet/emcloset,
@@ -34381,7 +34381,7 @@
/area/exodus/research/xenobiology)
"buA" = (
/obj/item/radio/beacon,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/test_area)
"buB" = (
/obj/structure/cable/green{
@@ -42623,7 +42623,7 @@
/area/exodus/research/xenobiology/xenoflora)
"bKE" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/test_area)
"bKF" = (
/obj/structure/window/reinforced/full,
@@ -43180,7 +43180,7 @@
/turf/floor/tiled/white,
/area/exodus/research)
"bLT" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/test_area)
"bLU" = (
/obj/structure/bed/chair{
@@ -43275,7 +43275,7 @@
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/test_area)
"bMe" = (
/turf/floor/tiled/airless,
@@ -43904,11 +43904,11 @@
/obj/machinery/door/airlock/external{
name = "Toxins Test Chamber"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/test_area)
"bNk" = (
/obj/structure/closet/emcloset,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/test_area)
"bNl" = (
/obj/structure/disposalpipe/segment{
@@ -47342,7 +47342,7 @@
dir = 4
},
/obj/machinery/door/firedoor,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/mixing)
"bUf" = (
/obj/effect/floor_decal/industrial/warning,
@@ -47979,14 +47979,14 @@
pixel_y = -25;
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/mixing)
"bVA" = (
/obj/machinery/mass_driver{
dir = 4;
id_tag = "toxinsdriver"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/mixing)
"bVB" = (
/obj/structure/window/reinforced{
@@ -48033,7 +48033,7 @@
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/mixing)
"bVH" = (
/obj/structure/cable{
@@ -49178,7 +49178,7 @@
/obj/structure/sign/warning/docking_area{
pixel_y = 32
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"bYa" = (
/obj/abstract/landmark/start{
@@ -51557,7 +51557,7 @@
/area/exodus/maintenance/research_starboard)
"ccN" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
-/obj/machinery/mining/drill,
+/obj/machinery/mining_drill,
/turf/floor/tiled/steel_grid,
/area/exodus/quartermaster/storage)
"ccO" = (
@@ -52417,7 +52417,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/test_area)
"cer" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
@@ -52432,7 +52432,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/test_area)
"cet" = (
/obj/machinery/power/apc{
@@ -52443,7 +52443,7 @@
/obj/structure/cable{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/test_area)
"ceu" = (
/obj/machinery/light,
@@ -52889,7 +52889,7 @@
dir = 2;
icon_state = "pipe-c"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"cfs" = (
/obj/structure/table,
@@ -52943,7 +52943,7 @@
/area/ship/exodus_pod_mining)
"cfy" = (
/obj/item/clothing/mask/smokable/cigarette,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/test_area)
"cfz" = (
/obj/machinery/atmospherics/omni/filter{
@@ -52957,7 +52957,7 @@
/area/exodus/engineering/engine_room)
"cfA" = (
/obj/machinery/light/small,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/research/test_area)
"cfB" = (
/obj/machinery/light{
@@ -55266,7 +55266,7 @@
/area/exodus/maintenance/engi_shuttle)
"ckw" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ckx" = (
/obj/structure/window/reinforced{
@@ -56444,7 +56444,7 @@
icon_state = "4-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/port)
"cmR" = (
/obj/machinery/door/airlock/engineering{
@@ -57517,7 +57517,7 @@
icon_state = "1-2"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/starboard)
"cpn" = (
/obj/machinery/rad_collector,
@@ -57789,7 +57789,7 @@
/area/exodus/engineering/engineering_monitoring)
"cpZ" = (
/obj/structure/disposalpipe/junction,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"cqa" = (
/obj/structure/bed/chair/office/dark{
@@ -58044,7 +58044,7 @@
icon_state = "1-2"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/starboard)
"cqL" = (
/obj/structure/table/reinforced,
@@ -58111,7 +58111,7 @@
/obj/structure/disposalpipe/junction{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"crb" = (
/obj/machinery/computer/modular/preset/civilian,
@@ -58122,7 +58122,7 @@
dir = 4
},
/obj/structure/disposaloutlet,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"crd" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
@@ -58166,7 +58166,7 @@
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 10
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"crh" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
@@ -58371,7 +58371,7 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/maintenance/incinerator)
"crD" = (
/obj/machinery/alarm{
@@ -58391,7 +58391,7 @@
/area/exodus/medical/virology)
"crE" = (
/obj/structure/disposalpipe/segment,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"crF" = (
/obj/machinery/door/blast/regular{
@@ -58852,7 +58852,7 @@
pixel_x = -2;
pixel_y = -1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"csX" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
@@ -59222,7 +59222,7 @@
icon_state = "0-2"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/starboard)
"cub" = (
/obj/structure/lattice,
@@ -59755,7 +59755,7 @@
icon_state = "2-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/starboard)
"cvj" = (
/obj/structure/cable/yellow{
@@ -59768,7 +59768,7 @@
icon_state = "2-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/starboard)
"cvk" = (
/obj/effect/floor_decal/corner/white{
@@ -59793,7 +59793,7 @@
icon_state = "2-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/starboard)
"cvo" = (
/obj/structure/cable/yellow{
@@ -59803,7 +59803,7 @@
icon_state = "2-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/starboard)
"cvq" = (
/obj/structure/table,
@@ -60008,7 +60008,7 @@
},
/obj/structure/cable/yellow,
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/starboard)
"cwm" = (
/obj/machinery/atmospherics/portables_connector{
@@ -61151,7 +61151,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"cCO" = (
/obj/machinery/portable_atmospherics/canister/air/airlock,
@@ -61732,7 +61732,7 @@
/obj/machinery/power/tracker,
/obj/structure/cable/yellow,
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/starboard)
"cFM" = (
/obj/structure/table,
@@ -62343,7 +62343,7 @@
icon_state = "0-4"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/port)
"cIv" = (
/obj/machinery/power/solar{
@@ -62354,7 +62354,7 @@
icon_state = "0-8"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/port)
"cIw" = (
/obj/structure/cable/yellow{
@@ -62364,7 +62364,7 @@
icon_state = "2-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/port)
"cIx" = (
/obj/machinery/atmospherics/pipe/manifold4w/visible/black,
@@ -62458,7 +62458,7 @@
icon_state = "2-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/port)
"cIV" = (
/obj/machinery/atmospherics/unary/heat_exchanger{
@@ -62918,7 +62918,7 @@
icon_state = "4-8"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/port)
"cKN" = (
/obj/machinery/power/tracker,
@@ -62926,7 +62926,7 @@
icon_state = "0-4"
},
/obj/effect/floor_decal/solarpanel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/port)
"cKO" = (
/obj/machinery/door/airlock/external/bolted{
@@ -63272,7 +63272,7 @@
icon_state = "1-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/port)
"cLP" = (
/obj/structure/cable/yellow{
@@ -63282,7 +63282,7 @@
icon_state = "1-4"
},
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/solar/port)
"cLQ" = (
/obj/machinery/alarm{
@@ -63670,7 +63670,7 @@
/turf/floor/tiled/steel_grid,
/area/exodus/hallway/secondary/entry/starboard)
"eEn" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/exodus/turret_protected/ai)
"eEV" = (
/obj/effect/floor_decal/corner/blue{
diff --git a/maps/exodus/exodus-admin.dmm b/maps/exodus/exodus-admin.dmm
index d702a67bfe5..6e7ed3f3ce0 100644
--- a/maps/exodus/exodus-admin.dmm
+++ b/maps/exodus/exodus-admin.dmm
@@ -9,42 +9,30 @@
/obj/effect/floor_decal/corner/green/three_quarters{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aaq" = (
/obj/effect/floor_decal/corner/green{
dir = 5
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aay" = (
/obj/machinery/computer/teleporter,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aaz" = (
/obj/machinery/teleport/station{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aaA" = (
/obj/machinery/teleport/hub,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aaK" = (
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aaQ" = (
/obj/machinery/embedded_controller/radio/simple_docking_controller{
@@ -52,24 +40,17 @@
id_tag = "cargo_bay_centcom";
pixel_x = 25
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aaR" = (
/obj/effect/wingrille_spawn/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/centcom)
"aaT" = (
/obj/effect/floor_decal/corner/green{
dir = 9
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"abg" = (
/obj/machinery/light{
@@ -107,17 +88,13 @@
/area/shuttle/escape_shuttle)
"abB" = (
/obj/effect/floor_decal/corner/green/three_quarters,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"abC" = (
/obj/effect/floor_decal/corner/green{
dir = 10
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"acd" = (
/obj/machinery/door/airlock/external/bolted{
@@ -130,9 +107,7 @@
/obj/machinery/door/airlock/centcom{
name = "Maintenance Access"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"acf" = (
/obj/structure/sign/warning/secure_area,
@@ -145,17 +120,13 @@
"aci" = (
/obj/machinery/porta_turret/crescent,
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"acj" = (
/obj/machinery/door/airlock/centcom{
name = "Teleporter Bay"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"ack" = (
/obj/effect/shuttle_landmark/supply/start,
@@ -172,25 +143,19 @@
/area/shuttle/supply_shuttle)
"acm" = (
/obj/effect/floor_decal/corner/green,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"acE" = (
/obj/effect/floor_decal/corner/green{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"acQ" = (
/obj/effect/floor_decal/corner/green{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"adL" = (
/obj/machinery/conveyor{
@@ -204,17 +169,13 @@
/obj/machinery/recharger{
pixel_y = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aeR" = (
/obj/structure/window/reinforced/crescent{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"ala" = (
/obj/item/radio/intercom{
@@ -223,52 +184,40 @@
/obj/structure/decoy{
name = "A.L.I.C.E."
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"alg" = (
/obj/structure/window/reinforced/crescent{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"alr" = (
/obj/effect/floor_decal/corner/green{
dir = 4
},
/obj/effect/floor_decal/industrial/warning/corner,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"auJ" = (
/obj/machinery/computer/modular/preset/civilian{
dir = 4;
icon_state = "console"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"auW" = (
/obj/structure/bed/chair{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"avf" = (
/obj/structure/window/reinforced/crescent{
dir = 8
},
/obj/structure/window/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"avn" = (
/obj/structure/rack,
@@ -278,33 +227,23 @@
/obj/item/clothing/head/helmet/thunderdome,
/obj/item/baton/loaded,
/obj/item/energy_blade/sword/green,
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"avy" = (
/obj/machinery/door/window{
name = "AI Core Door"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"avQ" = (
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"avV" = (
/obj/structure/window/reinforced/crescent{
dir = 4
},
/obj/structure/window/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"awl" = (
/obj/effect/shuttle_landmark/escape_pod/out/pod2,
@@ -318,9 +257,7 @@
/obj/structure/bed/chair{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"ayh" = (
/obj/effect/floor_decal/corner/green{
@@ -329,9 +266,7 @@
/obj/effect/floor_decal/industrial/warning/corner{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"ayi" = (
/obj/structure/window/reinforced{
@@ -372,9 +307,7 @@
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aAM" = (
/turf/wall/titanium,
@@ -383,16 +316,14 @@
/obj/machinery/door/airlock/centcom{
name = "Bridge"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aBc" = (
/obj/structure/shuttle/engine/heater,
/obj/structure/window/reinforced/crescent{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/shuttle/supply_shuttle)
"aBz" = (
/obj/structure/shuttle/engine/propulsion,
@@ -403,69 +334,53 @@
/obj/effect/floor_decal/industrial/warning/corner{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aBB" = (
/obj/effect/floor_decal/industrial/warning{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aBC" = (
/obj/structure/bed/chair,
/obj/effect/floor_decal/industrial/warning/corner{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aBO" = (
/obj/effect/floor_decal/industrial/warning{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aBZ" = (
/obj/effect/floor_decal/corner/green,
/obj/effect/floor_decal/industrial/warning/corner{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aCb" = (
/obj/machinery/computer/robotics{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aCj" = (
/obj/machinery/computer/modular/preset/cardslot/command{
dir = 1;
icon_state = "console"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aCk" = (
/obj/machinery/computer/modular/preset/medical{
dir = 8;
icon_state = "console"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aCl" = (
/obj/effect/floor_decal/corner/green{
@@ -474,9 +389,7 @@
/obj/effect/floor_decal/industrial/warning/corner{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aCm" = (
/obj/structure/shuttle/engine/propulsion{
@@ -492,15 +405,11 @@
/area/shuttle/supply_shuttle)
"aCu" = (
/obj/structure/table/reinforced,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aCv" = (
/obj/structure/bed/chair,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aCx" = (
/obj/machinery/button/blast_door{
@@ -532,33 +441,25 @@
pixel_y = -28;
req_access = list("ACCESS_CENT_GENERAL")
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aCy" = (
/obj/structure/table/reinforced,
/obj/item/card/id/captains_spare,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aDk" = (
/obj/machinery/computer/modular/preset/security{
dir = 1;
icon_state = "console"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aDl" = (
/obj/effect/floor_decal/corner/green{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aDF" = (
/obj/machinery/computer/shuttle_control/emergency,
@@ -569,9 +470,7 @@
/obj/effect/floor_decal/corner/green{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aDR" = (
/obj/structure/table,
@@ -615,9 +514,7 @@
id_tag = "crescent_checkpoint_access";
name = "Crescent Checkpoint"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aFM" = (
/obj/machinery/light/small{
@@ -668,26 +565,17 @@
/turf/floor/tiled/dark,
/area/shuttle/escape_shuttle)
"aGF" = (
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/centcom/holding)
"aGG" = (
/obj/item/stool/padded,
/obj/item/stool/padded,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/centcom/holding)
"aGP" = (
/obj/effect/wingrille_spawn/reinforced/crescent,
/obj/structure/sign/warning/docking_area,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/centcom/holding)
"aGR" = (
/obj/effect/paint_stripe/red,
@@ -703,35 +591,25 @@
/area/shuttle/escape_shuttle)
"aHb" = (
/obj/item/stool/padded,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/centcom/holding)
"aHc" = (
/obj/effect/wingrille_spawn/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/centcom/holding)
"aHe" = (
/obj/machinery/computer/modular/preset/security,
/obj/effect/floor_decal/corner/red{
dir = 9
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aHg" = (
/obj/item/stool/padded,
/obj/effect/floor_decal/corner/red{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aHh" = (
/obj/machinery/door/airlock/external/bolted{
@@ -752,22 +630,16 @@
id_tag = "crescent_checkpoint_access";
name = "Crescent Checkpoint"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom)
"aHp" = (
/obj/machinery/sleeper{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/centcom/holding)
"aHr" = (
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aHs" = (
/obj/machinery/embedded_controller/radio/simple_docking_controller{
@@ -803,10 +675,7 @@
/area/shuttle/escape_shuttle)
"aHz" = (
/obj/structure/table/reinforced,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/centcom/holding)
"aHA" = (
/obj/effect/floor_decal/industrial/warning{
@@ -821,17 +690,13 @@
/obj/effect/floor_decal/corner/red{
dir = 9
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aHG" = (
/obj/effect/floor_decal/corner/green/three_quarters{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aHH" = (
/obj/effect/floor_decal/corner/green{
@@ -840,9 +705,7 @@
/obj/effect/floor_decal/industrial/warning/corner{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aHN" = (
/obj/machinery/computer/modular/preset/medical{
@@ -854,9 +717,7 @@
/obj/effect/floor_decal/industrial/warning{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aHX" = (
/obj/effect/floor_decal/corner/green{
@@ -865,22 +726,16 @@
/obj/effect/floor_decal/industrial/warning/corner{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aIh" = (
/obj/effect/floor_decal/corner/green/three_quarters{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aIj" = (
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/centcom/holding)
"aIk" = (
/obj/machinery/light{
@@ -922,9 +777,7 @@
/obj/effect/floor_decal/corner/green{
dir = 9
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aIR" = (
/obj/machinery/door/firedoor,
@@ -941,25 +794,19 @@
/obj/effect/floor_decal/corner/green{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aJu" = (
/obj/machinery/bodyscanner{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/centcom/holding)
"aJv" = (
/obj/machinery/body_scanconsole{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/centcom/holding)
"aJW" = (
/obj/structure/table,
@@ -972,9 +819,7 @@
pixel_x = 2;
pixel_y = 3
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/centcom/holding)
"aKa" = (
/obj/machinery/door/airlock/command{
@@ -994,18 +839,13 @@
c_tag = "Crescent Arrivals - Holding Cell";
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/centcom/holding)
"aKd" = (
/obj/machinery/door/airlock/glass/security{
name = "Holding Cell"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aKo" = (
/obj/structure/emergency_dispenser{
@@ -1052,19 +892,14 @@
/area/shuttle/escape_shuttle)
"aKv" = (
/obj/effect/wingrille_spawn/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/centcom/holding)
"aKC" = (
/obj/machinery/door/blast/regular{
id_tag = "CentComPort";
name = "Security Doors"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aKD" = (
/turf/floor/tiled/dark,
@@ -1073,9 +908,7 @@
/obj/machinery/door/airlock/centcom{
name = "Arrivals Processing"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aKV" = (
/obj/structure/table,
@@ -1094,9 +927,7 @@
/obj/item/firstaid/adv{
pixel_x = -2
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/centcom/holding)
"aKW" = (
/obj/machinery/light/small{
@@ -1117,18 +948,13 @@
"aKX" = (
/obj/structure/bed,
/obj/item/bedsheet/red,
-/turf/unsimulated/floor{
- icon_state = "cult";
- name = "plating"
- },
+/turf/unsimulated/floor/cult,
/area/centcom/holding)
"aKY" = (
/obj/effect/floor_decal/corner/red{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aKZ" = (
/obj/machinery/door/window/northleft{
@@ -1137,18 +963,14 @@
icon_state = "right";
name = "Arrivals Processing"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLa" = (
/obj/machinery/computer/modular/preset/security{
dir = 8;
icon_state = "console"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLb" = (
/obj/structure/table,
@@ -1157,9 +979,7 @@
pixel_y = 4
},
/obj/item/box/masks,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/centcom/holding)
"aLc" = (
/obj/structure/bed/chair/shuttle/black{
@@ -1192,17 +1012,13 @@
/obj/effect/floor_decal/corner/green{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLh" = (
/obj/structure/window/reinforced/crescent{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLl" = (
/turf/floor/tiled/white,
@@ -1216,9 +1032,7 @@
pixel_x = -12;
pixel_y = -25
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLn" = (
/obj/machinery/camera/network/crescent{
@@ -1229,9 +1043,7 @@
dir = 8;
icon_state = "console"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLo" = (
/obj/structure/table,
@@ -1239,9 +1051,7 @@
/obj/item/roller,
/obj/item/roller,
/obj/item/roller,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/centcom/holding)
"aLs" = (
/obj/structure/closet/hydrant{
@@ -1261,42 +1071,32 @@
name = "Emergency NanoMed";
pixel_y = -32
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/centcom/holding)
"aLu" = (
/obj/structure/table,
/obj/item/clothing/glasses/hud/health,
/obj/item/clothing/glasses/hud/health,
/obj/item/chems/spray/cleaner,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/centcom/holding)
"aLv" = (
/obj/structure/table/reinforced,
/obj/effect/floor_decal/corner/red{
dir = 9
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLw" = (
/obj/structure/table/reinforced,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLz" = (
/obj/structure/table/reinforced,
/obj/effect/floor_decal/corner/red{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLB" = (
/obj/effect/paint/red,
@@ -1320,9 +1120,7 @@
id_tag = "CentComPort";
name = "Security Doors"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLG" = (
/obj/structure/table/reinforced,
@@ -1334,9 +1132,7 @@
dir = 1;
icon_state = "console"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLI" = (
/obj/structure/table/reinforced,
@@ -1348,9 +1144,7 @@
/obj/machinery/door/window/southright{
name = "Arrivals Processing"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLJ" = (
/obj/structure/sign/department/redcross,
@@ -1361,9 +1155,7 @@
autoset_access = 0;
name = "Arrivals Medbay"
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/centcom/holding)
"aLL" = (
/obj/structure/table,
@@ -1396,36 +1188,26 @@
/obj/effect/floor_decal/corner/green{
dir = 9
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLR" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLS" = (
/obj/effect/wingrille_spawn/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aLV" = (
/obj/machinery/porta_turret/crescent,
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMb" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMd" = (
/obj/machinery/button/access/interior{
@@ -1437,9 +1219,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMe" = (
/obj/machinery/door/airlock/external/bolted{
@@ -1514,10 +1294,7 @@
/turf/floor/tiled,
/area/shuttle/escape_shuttle)
"aMo" = (
-/turf/unsimulated/floor{
- icon_state = "grass0";
- name = "grass"
- },
+/turf/unsimulated/floor/grass,
/area/centcom/holding)
"aMp" = (
/obj/structure/bed/chair{
@@ -1526,15 +1303,11 @@
/obj/effect/floor_decal/corner/green{
dir = 9
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMq" = (
/obj/effect/floor_decal/industrial/outline/yellow,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMr" = (
/obj/effect/paint_stripe/blue,
@@ -1542,9 +1315,7 @@
/area/shuttle/escape_shuttle)
"aMs" = (
/obj/machinery/atmospherics/pipe/simple/hidden,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMt" = (
/obj/machinery/status_display{
@@ -1554,9 +1325,7 @@
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMu" = (
/obj/machinery/camera/network/crescent{
@@ -1579,65 +1348,47 @@
/obj/structure/bed/chair{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMA" = (
/obj/structure/bed/chair{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMC" = (
/obj/effect/floor_decal/industrial/warning/corner{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMD" = (
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/machinery/atmospherics/portables_connector,
/obj/machinery/portable_atmospherics/canister/air/airlock,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMF" = (
/obj/machinery/porta_turret/crescent,
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/unsimulated/floor{
- icon_state = "grass0";
- name = "grass"
- },
+/turf/unsimulated/floor/grass,
/area/centcom/holding)
"aMG" = (
/obj/effect/wingrille_spawn/reinforced/crescent,
/obj/machinery/status_display,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/centcom/holding)
"aMH" = (
/obj/machinery/atmospherics/pipe/manifold/hidden{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMJ" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMK" = (
/obj/effect/floor_decal/industrial/warning{
@@ -1646,17 +1397,13 @@
/obj/machinery/atmospherics/pipe/manifold/hidden{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMR" = (
/obj/structure/bed/chair/wood/wings{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aMT" = (
/obj/machinery/hologram/holopad,
@@ -1682,9 +1429,7 @@
/area/shuttle/escape_shuttle)
"aMW" = (
/obj/effect/floor_decal/industrial/warning/corner,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMX" = (
/obj/effect/floor_decal/industrial/outline/yellow,
@@ -1692,18 +1437,14 @@
dir = 1
},
/obj/machinery/portable_atmospherics/canister/air/airlock,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aMY" = (
/obj/structure/table/woodentable{
dir = 5
},
/obj/item/food/amanita_pie,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aMZ" = (
/obj/structure/table/woodentable{
@@ -1713,45 +1454,33 @@
/obj/machinery/camera/network/crescent{
c_tag = "Crescent Bar Center"
},
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aNa" = (
/obj/structure/bed/chair/wood/wings{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aNb" = (
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aNc" = (
/obj/structure/table/woodentable{
dir = 5
},
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aNh" = (
/obj/structure/table/woodentable{
dir = 5
},
/obj/item/chems/glass/bowl/mapped/stew,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aNj" = (
/obj/structure/closet/secure_closet/bar,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/centcom/holding)
"aNk" = (
/obj/structure/table/woodentable{
@@ -1759,32 +1488,24 @@
},
/obj/item/book/manual/barman_recipes,
/obj/item/chems/glass/rag,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/centcom/holding)
"aNl" = (
/obj/structure/table/woodentable{
dir = 5
},
/obj/machinery/chemical_dispenser/bar_alc/full,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/centcom/holding)
"aNm" = (
/obj/structure/table/woodentable{
dir = 5
},
/obj/machinery/chemical_dispenser/bar_soft/full,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/centcom/holding)
"aNn" = (
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/centcom/holding)
"aNo" = (
/obj/structure/bed/chair{
@@ -1793,18 +1514,14 @@
/obj/effect/floor_decal/corner/green{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aNx" = (
/obj/machinery/door/airlock/glass{
autoset_access = 0;
name = "Arrivals Processing"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aNA" = (
/obj/structure/emergency_dispenser{
@@ -1823,45 +1540,35 @@
dir = 5
},
/obj/item/food/boiledrice,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aNC" = (
/obj/structure/table/woodentable{
dir = 5
},
/obj/item/chems/glass/bowl/mapped/beet,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aNI" = (
/obj/structure/table/woodentable{
dir = 5
},
/obj/item/food/stuffing,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aNJ" = (
/obj/structure/table/woodentable{
dir = 5
},
/obj/item/food/soylenviridians,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aNK" = (
/obj/machinery/door/airlock/glass{
autoset_access = 0;
name = "Arrivals Bar"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aNL" = (
/obj/machinery/embedded_controller/radio/docking_port_multi{
@@ -1871,17 +1578,13 @@
id_tag = "centcom_escape_dock";
pixel_y = -25
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aNM" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 5
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aNN" = (
/obj/machinery/button/access/interior{
@@ -1893,9 +1596,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aNQ" = (
/obj/machinery/door/airlock/external/bolted{
@@ -1936,9 +1637,7 @@
/obj/effect/floor_decal/corner/green{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aOv" = (
/obj/machinery/door/airlock/external/bolted{
@@ -1968,35 +1667,27 @@
/area/shuttle/escape_shuttle)
"aPa" = (
/obj/machinery/hologram/holopad,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aPH" = (
/obj/machinery/camera/network/crescent{
c_tag = "Crescent Bar East";
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/centcom/holding)
"aPJ" = (
/obj/machinery/hologram/holopad{
holopad_id = "Holding Facility Bar"
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/centcom/holding)
"aPK" = (
/obj/structure/bed/chair{
dir = 8
},
/obj/effect/floor_decal/corner/green,
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"aPL" = (
/obj/machinery/door/airlock/civilian,
@@ -2026,18 +1717,14 @@
dir = 5
},
/obj/item/chems/glass/bowl/mapped/blood,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aPS" = (
/obj/structure/table/woodentable{
dir = 5
},
/obj/item/food/skewer/tofu,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aRl" = (
/turf/unsimulated/wall,
@@ -2047,9 +1734,7 @@
dir = 5
},
/obj/item/food/poppypretzel,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"aZb" = (
/obj/structure/bed/chair/comfy/brown{
@@ -2063,9 +1748,7 @@
pixel_x = 4;
pixel_y = 6
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/centcom/holding)
"bgb" = (
/obj/structure/bed/chair/comfy/brown{
@@ -2074,17 +1757,13 @@
/obj/structure/table/woodentable{
dir = 5
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/centcom/holding)
"bgJ" = (
/obj/structure/table/woodentable{
dir = 5
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/centcom/holding)
"bjb" = (
/obj/structure/bed/chair{
@@ -2093,17 +1772,13 @@
/obj/effect/floor_decal/corner/green{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"bkb" = (
/obj/machinery/hologram/holopad{
holopad_id = "Holding Facility Foyer"
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"blb" = (
/obj/structure/table,
@@ -2160,9 +1835,7 @@
dir = 5
},
/obj/item/food/spesslaw,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"bwE" = (
/obj/effect/floor_decal/industrial/warning,
@@ -2176,40 +1849,30 @@
dir = 5
},
/obj/item/food/candiedapple,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"bzm" = (
/obj/structure/table/woodentable{
dir = 5
},
/obj/item/chems/glass/bowl/mapped/mushroom,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"bDh" = (
/obj/structure/table,
/obj/item/toolbox/electrical,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"bMb" = (
/obj/structure/table/woodentable{
dir = 5
},
/obj/item/food/meatsteak,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"cnP" = (
/obj/item/stool/padded,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/centcom/holding)
"cxx" = (
/obj/effect/floor_decal/industrial/warning{
@@ -2230,9 +1893,7 @@
/obj/effect/floor_decal/corner/green{
dir = 9
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"cGo" = (
/obj/structure/closet/crate/plastic/rations,
@@ -2245,9 +1906,7 @@
/area/shuttle/escape_shuttle)
"cIe" = (
/obj/structure/bed/chair,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"cIv" = (
/obj/machinery/light{
@@ -2268,9 +1927,7 @@
/obj/abstract/landmark{
name = "tdomeadmin"
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"djD" = (
/obj/machinery/camera/network/crescent{
@@ -2325,9 +1982,7 @@
/obj/structure/bed/chair{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"edo" = (
/obj/machinery/light{
@@ -2346,26 +2001,21 @@
/obj/effect/floor_decal/corner/green{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
+/turf/unsimulated/floor/steel,
/area/centcom/holding)
"exJ" = (
/obj/machinery/door/blast/regular{
id_tag = "thunderdome";
name = "Thunderdome Blast Door"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"eCw" = (
/obj/structure/shuttle/engine/heater,
/obj/structure/window/reinforced/crescent{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/shuttle/escape_shuttle)
"eDH" = (
/obj/machinery/light{
@@ -2382,10 +2032,7 @@
/obj/item/clothing/jumpsuit/green,
/obj/item/clothing/shoes/color/brown,
/obj/item/energy_blade/axe,
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"fpV" = (
/obj/machinery/hologram/holopad{
@@ -2421,10 +2068,7 @@
/area/shuttle/escape_shuttle)
"fFh" = (
/obj/effect/wingrille_spawn/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/tdome)
"fJA" = (
/obj/machinery/door/airlock/centcom{
@@ -2434,33 +2078,21 @@
id_tag = "crescent_thunderdome";
name = "Thunderdome"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"fMq" = (
/obj/structure/table,
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"fRC" = (
/obj/structure/bed/chair{
dir = 4
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"fUy" = (
/obj/structure/table/reinforced,
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"fZb" = (
/obj/effect/floor_decal/industrial/warning/corner{
@@ -2487,66 +2119,43 @@
/obj/structure/bed/chair{
dir = 8
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"gkM" = (
/obj/effect/floor_decal/corner/red{
dir = 9
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"gtc" = (
/obj/effect/floor_decal/corner/red/three_quarters,
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"gMh" = (
/obj/effect/floor_decal/corner/red{
dir = 10
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"gWz" = (
/obj/effect/floor_decal/corner/green{
dir = 10
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"gXh" = (
/obj/item/wrench,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"haH" = (
/obj/effect/floor_decal/corner/green/three_quarters{
dir = 4
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"heW" = (
/obj/effect/floor_decal/corner/green,
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"hhT" = (
/obj/structure/table,
@@ -2567,36 +2176,24 @@
id_tag = "crescent_thunderdome";
name = "Thunderdome"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"hvD" = (
/obj/machinery/door/airlock/centcom{
name = "General Access"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"hAQ" = (
/obj/structure/closet/secure_closet/bar,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/tdome)
"hBn" = (
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/tdome)
"hDq" = (
/obj/machinery/gibber,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/tdome)
"hFt" = (
/obj/effect/floor_decal/corner/blue{
@@ -2612,9 +2209,7 @@
/obj/abstract/landmark{
name = "tdomeadmin"
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"hYN" = (
/obj/machinery/door/airlock/command{
@@ -2624,15 +2219,11 @@
id_tag = "crescent_thunderdome";
name = "Thunderdome"
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome)
"igT" = (
/obj/machinery/vending/cigarette,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeobserve)
"iqx" = (
/obj/structure/table,
@@ -2641,26 +2232,20 @@
/obj/item/chems/drinks/bottle/small/beer,
/obj/item/flame/fuelled/lighter/zippo/random,
/obj/item/box/fancy/cigarettes,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeobserve)
"itR" = (
/obj/item/chems/drinks/cans/cola,
/obj/item/chems/drinks/cans/cola,
/obj/item/chems/drinks/cans/cola,
/obj/structure/table,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeobserve)
"iMp" = (
/obj/machinery/door/airlock/centcom{
name = "General Access"
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome)
"iYo" = (
/obj/structure/flora/pottedplant/minitree,
@@ -2674,14 +2259,10 @@
/area/shuttle/escape_shuttle)
"jpr" = (
/obj/structure/reagent_dispensers/beerkeg,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeobserve)
"jqP" = (
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeobserve)
"jzQ" = (
/obj/effect/floor_decal/corner/blue{
@@ -2691,29 +2272,21 @@
/area/shuttle/escape_shuttle)
"jHj" = (
/obj/machinery/vending/coffee,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeobserve)
"jLF" = (
/obj/structure/disposalpipe/trunk{
dir = 1
},
/obj/machinery/disposal,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"jRy" = (
/obj/structure/closet/secure_closet/freezer/meat,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/tdome)
"jRE" = (
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"jSH" = (
/obj/structure/bed/chair/shuttle/black{
@@ -2726,25 +2299,19 @@
/area/shuttle/escape_shuttle)
"kca" = (
/obj/structure/closet/secure_closet/freezer/fridge,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/tdome)
"kfk" = (
/obj/structure/bed/chair,
/obj/abstract/landmark{
name = "tdomeobserve"
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeobserve)
"khR" = (
/obj/structure/disposalpipe/trunk,
/obj/structure/disposaloutlet,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeobserve)
"kjk" = (
/obj/structure/bed/chair/shuttle/black{
@@ -2757,15 +2324,11 @@
/area/shuttle/escape_shuttle)
"kkN" = (
/obj/structure/table,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"kuG" = (
/obj/machinery/vending/snack,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeobserve)
"kBZ" = (
/obj/effect/floor_decal/industrial/warning{
@@ -2804,34 +2367,24 @@
pixel_y = 3
},
/obj/structure/table,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/tdome)
"kXc" = (
/obj/structure/table,
/obj/machinery/microwave,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/tdome)
"lcs" = (
/obj/structure/table/reinforced,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/tdome)
"ljR" = (
/obj/item/camera,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeobserve)
"lEJ" = (
/obj/structure/disposalpipe/segment,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeobserve)
"lOB" = (
/obj/machinery/button/blast_door{
@@ -2840,18 +2393,14 @@
name = "Thunderdome General Supply"
},
/obj/structure/table,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"lPd" = (
/obj/structure/table,
/obj/item/stack/medical/bandage,
/obj/item/stack/medical/bandage,
/obj/item/stack/medical/bandage,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"lQy" = (
/obj/structure/bed/chair,
@@ -2859,25 +2408,18 @@
/obj/abstract/landmark{
name = "tdomeobserve"
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeobserve)
"lQQ" = (
/obj/item/chems/spray/extinguisher,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"lSf" = (
/obj/structure/rack,
/obj/item/clothing/jumpsuit/red,
/obj/item/clothing/shoes/color/brown,
/obj/item/energy_blade/axe,
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"lSj" = (
/obj/effect/forcefield{
@@ -2885,15 +2427,11 @@
name = "Blocker"
},
/obj/effect/wingrille_spawn/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"lTa" = (
/obj/structure/disposalpipe/segment,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"mgi" = (
/obj/effect/forcefield{
@@ -2902,15 +2440,11 @@
},
/obj/structure/disposalpipe/segment,
/obj/effect/wingrille_spawn/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"mhI" = (
/obj/machinery/igniter,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"mHo" = (
/obj/item/grenade/chem_grenade/cleaner,
@@ -2924,14 +2458,10 @@
/obj/item/grenade/chem_grenade/cleaner,
/obj/item/grenade/chem_grenade/cleaner,
/obj/structure/table,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"mXz" = (
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"mZU" = (
/obj/effect/shuttle_landmark/escape_pod/out/pod3,
@@ -2945,20 +2475,14 @@
/obj/item/clothing/head/helmet/thunderdome,
/obj/item/baton/loaded,
/obj/item/energy_blade/sword/red,
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"nIB" = (
/obj/machinery/door/blast/regular{
id_tag = "thunderdomegen";
name = "General Supply"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"nKf" = (
/obj/effect/floor_decal/industrial/warning{
@@ -2976,10 +2500,7 @@
/obj/abstract/landmark{
name = "tdome2"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome/tdome2)
"nPB" = (
/obj/structure/bed/chair/shuttle/black{
@@ -2995,17 +2516,13 @@
/obj/effect/floor_decal/corner/red{
dir = 9
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"ofF" = (
/obj/effect/floor_decal/corner/green{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"oNm" = (
/obj/machinery/recharger{
@@ -3014,10 +2531,7 @@
/obj/abstract/landmark{
name = "tdome2"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome/tdome2)
"oVC" = (
/obj/abstract/landmark{
@@ -3026,24 +2540,17 @@
/obj/machinery/camera/network/television{
c_tag = "Thunderdome - Red Team"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome/tdome2)
"pfy" = (
-/turf/unsimulated/floor{
- icon_state = "bcircuit"
- },
+/turf/unsimulated/floor/bcircuit,
/area/tdome)
"pra" = (
/obj/machinery/flasher{
id_tag = "flash";
name = "Thunderdome Flash"
},
-/turf/unsimulated/floor{
- icon_state = "bcircuit"
- },
+/turf/unsimulated/floor/bcircuit,
/area/tdome)
"pwa" = (
/obj/machinery/atmospherics/portables_connector{
@@ -3052,9 +2559,7 @@
/obj/machinery/portable_atmospherics/canister/sleeping_agent{
pixel_x = 1
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"pyW" = (
/obj/abstract/landmark{
@@ -3063,51 +2568,37 @@
/obj/machinery/camera/network/television{
c_tag = "Green Team"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome/tdome1)
"pMA" = (
/obj/machinery/atmospherics/unary/vent_pump,
-/turf/unsimulated/floor{
- icon_state = "bcircuit"
- },
+/turf/unsimulated/floor/bcircuit,
/area/tdome)
"pQZ" = (
/obj/machinery/camera/network/television{
c_tag = "Thunderdome Arena"
},
-/turf/unsimulated/floor{
- icon_state = "bcircuit"
- },
+/turf/unsimulated/floor/bcircuit,
/area/tdome)
"qgz" = (
/obj/item/stack/medical/ointment,
/obj/item/stack/medical/ointment,
/obj/item/stack/medical/ointment,
/obj/structure/table,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"qBg" = (
/obj/machinery/door/blast/regular{
id_tag = "thunderdomeaxe";
name = "Axe Supply"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"qUZ" = (
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 5
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"rsb" = (
/obj/machinery/light{
@@ -3128,33 +2619,24 @@
/obj/item/clothing/suit/armor/vest,
/obj/item/clothing/head/helmet/swat,
/obj/item/gun/energy/laser,
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"smK" = (
/obj/machinery/atmospherics/pipe/manifold/visible{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"sCN" = (
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 9
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"sDZ" = (
/obj/structure/table,
/obj/item/toolbox/mechanical,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"sKA" = (
/obj/abstract/level_data_spawner/admin_level{
@@ -3173,22 +2655,16 @@
name = "Thunderdome Blast Door Control"
},
/obj/structure/table,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"sRb" = (
/obj/structure/table,
/obj/item/box/handcuffs,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"tda" = (
/obj/machinery/atmospherics/pipe/simple/visible,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"trW" = (
/obj/effect/floor_decal/industrial/warning/corner,
@@ -3207,10 +2683,7 @@
/obj/machinery/door/airlock/command{
name = "Thunderdome Administration"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"tWl" = (
/obj/machinery/recharger{
@@ -3219,20 +2692,14 @@
/obj/abstract/landmark{
name = "tdome1"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome/tdome1)
"uFd" = (
/obj/machinery/door/blast/regular{
id_tag = "thunderdomehea";
name = "Heavy Supply"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"uOk" = (
/obj/effect/floor_decal/industrial/warning{
@@ -3253,9 +2720,7 @@
name = "Thunderdome Heavy Supply"
},
/obj/structure/table,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"vHR" = (
/obj/effect/floor_decal/corner/blue/diagonal{
@@ -3267,19 +2732,13 @@
/obj/effect/floor_decal/corner/red{
dir = 8
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"wjz" = (
/obj/effect/floor_decal/corner/green{
dir = 6
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"wkp" = (
/turf/unsimulated/wall,
@@ -3290,9 +2749,7 @@
id_tag = "thunderdomeaxe";
name = "Thunderdome Axe Supply"
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"wRq" = (
/obj/effect/floor_decal/industrial/warning/corner,
@@ -3314,27 +2771,19 @@
/obj/item/clothing/suit/armor/vest,
/obj/item/clothing/head/helmet/swat,
/obj/item/gun/energy/laser,
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome)
"xfb" = (
/obj/machinery/door/airlock/command{
name = "Thunderdome Administration"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"xog" = (
/obj/abstract/landmark{
name = "tdome1"
},
-/turf/unsimulated/floor{
- dir = 5;
- icon_state = "vault"
- },
+/turf/unsimulated/floor/vault,
/area/tdome/tdome1)
"xIV" = (
/obj/effect/floor_decal/industrial/warning/corner,
@@ -3356,15 +2805,11 @@
},
/obj/machinery/atmospherics/pipe/simple/visible,
/obj/effect/wingrille_spawn/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/tdome)
"yda" = (
/obj/machinery/atmospherics/valve,
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
"yiv" = (
/obj/effect/floor_decal/corner/blue/diagonal,
@@ -3375,9 +2820,7 @@
/obj/machinery/recharger{
pixel_y = 4
},
-/turf/unsimulated/floor{
- icon_state = "lino"
- },
+/turf/unsimulated/floor/lino,
/area/tdome/tdomeadmin)
(1,1,1) = {"
diff --git a/maps/ministation/ministation-0.dmm b/maps/ministation/ministation-0.dmm
index 1b1735e85d0..c715e45dc03 100644
--- a/maps/ministation/ministation-0.dmm
+++ b/maps/ministation/ministation-0.dmm
@@ -362,7 +362,7 @@
/obj/structure/disposalpipe/trunk{
dir = 2
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"bV" = (
/obj/structure/table,
@@ -407,7 +407,7 @@
pixel_y = 4
},
/obj/item/stack/material/ore/iron,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"cc" = (
/obj/machinery/firealarm{
@@ -423,11 +423,11 @@
/area/ministation/cargo)
"cd" = (
/obj/item/stack/material/rods/fifty,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ce" = (
/obj/item/ore,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"cf" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
@@ -452,7 +452,7 @@
/obj/machinery/light/small{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"cl" = (
/obj/effect/decal/cleanable/dirt,
@@ -463,10 +463,10 @@
/area/ministation/cargo)
"cm" = (
/obj/structure/ore_box,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"cn" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"cp" = (
/obj/effect/decal/cleanable/dirt,
@@ -733,7 +733,7 @@
icon_state = "map_vent_out";
use_power = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/atmospherics)
"dq" = (
/obj/effect/floor_decal/corner/beige{
@@ -1588,7 +1588,7 @@
dir = 9
},
/obj/effect/floor_decal/industrial/hatch/yellow,
-/obj/machinery/mining/brace,
+/obj/structure/drill_brace,
/turf/floor/tiled,
/area/ministation/cargo)
"gk" = (
@@ -1749,7 +1749,7 @@
/area/ministation/hall/n)
"gL" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
-/obj/machinery/mining/drill,
+/obj/machinery/mining_drill,
/turf/floor/tiled,
/area/ministation/cargo)
"gM" = (
@@ -2425,7 +2425,7 @@
id_tag = "mining_transfer"
},
/obj/structure/flaps/airtight,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"jT" = (
/obj/structure/cable{
@@ -2681,7 +2681,7 @@
/obj/machinery/door/blast/regular{
id_tag = "mine_process"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"kY" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -2869,7 +2869,7 @@
pixel_y = 10;
command = "cycle_exterior"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/maint/westatmos)
"lN" = (
/obj/effect/floor_decal/corner/blue,
@@ -3517,7 +3517,7 @@
/area/ministation/atmospherics)
"oZ" = (
/obj/machinery/material_processing/stacker,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"pa" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
@@ -4487,7 +4487,7 @@
/obj/structure/window/reinforced{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"tO" = (
/obj/effect/floor_decal/carpet/blue2{
@@ -4782,7 +4782,7 @@
/obj/structure/cable{
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"vf" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -5192,7 +5192,7 @@
/obj/item/mollusc/barnacle{
pixel_x = 20
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"xg" = (
/obj/machinery/firealarm{
@@ -5517,7 +5517,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 6
},
-/obj/machinery/mining/brace,
+/obj/structure/drill_brace,
/obj/effect/floor_decal/industrial/hatch/yellow,
/turf/floor/tiled,
/area/ministation/cargo)
@@ -5841,7 +5841,7 @@
"Aw" = (
/obj/machinery/light,
/obj/machinery/mech_recharger,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"Ax" = (
/obj/structure/cable{
@@ -6028,7 +6028,7 @@
/turf/floor/wood/walnut,
/area/ministation/dorms)
"Bd" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"Be" = (
/obj/structure/cable{
@@ -6107,7 +6107,7 @@
dir = 8;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"Bq" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -6266,7 +6266,7 @@
/obj/machinery/conveyor{
id_tag = "mining_transfer"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"BS" = (
/obj/structure/closet,
@@ -6341,7 +6341,7 @@
/obj/machinery/door/airlock/highsecurity{
id_tag = "upload"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/ai_upload)
"Ci" = (
/obj/machinery/door/airlock/hatch/maintenance,
@@ -6903,7 +6903,7 @@
/obj/structure/disposalpipe/trunk{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"DV" = (
/obj/structure/table,
@@ -7527,7 +7527,7 @@
/area/ministation/engine)
"Fq" = (
/obj/structure/ore_box,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"Fr" = (
/obj/structure/tank_rack/oxygen,
@@ -7644,7 +7644,7 @@
icon_state = "0-4"
},
/obj/machinery/power/solar,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"FF" = (
/obj/structure/cable{
@@ -7660,7 +7660,7 @@
icon_state = "0-8"
},
/obj/machinery/power/solar,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"FH" = (
/obj/machinery/light,
@@ -8861,7 +8861,7 @@
/obj/machinery/atmospherics/unary/outlet_injector{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"Iu" = (
/obj/machinery/light/small{
@@ -10661,7 +10661,7 @@
pixel_y = 10;
command = "cycle_exterior"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/maint/l1ne)
"NM" = (
/obj/structure/cable{
@@ -10794,7 +10794,7 @@
id_tag = "mining_transfer";
name = "mining conveyor"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"Oe" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
@@ -10922,7 +10922,7 @@
dir = 1
},
/obj/item/ore,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"Oy" = (
/obj/effect/floor_decal/industrial/warning,
@@ -11068,7 +11068,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/cargo)
"OS" = (
/obj/machinery/power/terminal{
@@ -11389,7 +11389,7 @@
dir = 8;
icon_state = "warning"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"PT" = (
/obj/structure/window/reinforced{
@@ -11751,7 +11751,7 @@
/area/space)
"Rm" = (
/obj/machinery/atmospherics/pipe/simple/hidden,
-/obj/machinery/mining/brace,
+/obj/structure/drill_brace,
/obj/effect/floor_decal/industrial/hatch/yellow,
/turf/floor/tiled,
/area/ministation/cargo)
@@ -11773,7 +11773,7 @@
"Rq" = (
/obj/structure/lattice,
/obj/machinery/mech_recharger,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"Rr" = (
/obj/effect/decal/cleanable/dirt,
@@ -12155,7 +12155,7 @@
/obj/machinery/light{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"SM" = (
/obj/machinery/light_switch{
@@ -12438,7 +12438,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"TH" = (
/obj/machinery/door/firedoor,
@@ -12987,7 +12987,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"VP" = (
/obj/machinery/atmospherics/pipe/manifold/visible/black,
@@ -13159,7 +13159,7 @@
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"Wx" = (
/obj/machinery/atmospherics/pipe/manifold/visible/cyan{
@@ -13222,7 +13222,7 @@
/obj/effect/floor_decal/industrial/loading{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"WR" = (
/obj/machinery/conveyor{
@@ -13539,7 +13539,7 @@
/obj/structure/window/reinforced{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"Yi" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -13913,7 +13913,7 @@
/area/ministation/ai_core)
"Zz" = (
/obj/machinery/light/small,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/mining)
"ZA" = (
/obj/machinery/atmospherics/pipe/simple/hidden,
diff --git a/maps/ministation/ministation-1.dmm b/maps/ministation/ministation-1.dmm
index 3808d9ba4d2..ce6e50124ac 100644
--- a/maps/ministation/ministation-1.dmm
+++ b/maps/ministation/ministation-1.dmm
@@ -396,10 +396,7 @@
},
/obj/machinery/camera/autoname,
/obj/structure/closet/secure_closet/freezer/meat,
-/turf/floor/tiled/freezer{
- name = "kitchen freezer floor";
- temperature = 263
- },
+/turf/floor/tiled/freezer/kitchen,
/area/ministation/cafe)
"bW" = (
/obj/structure/table,
@@ -881,10 +878,7 @@
/area/ministation/maint/l2centraln)
"et" = (
/obj/effect/floor_decal/snow,
-/turf/floor/tiled/freezer{
- name = "kitchen freezer floor";
- temperature = 263
- },
+/turf/floor/tiled/freezer/kitchen,
/area/ministation/cafe)
"ew" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -1125,10 +1119,7 @@
"fD" = (
/obj/structure/meat_hook,
/obj/effect/floor_decal/snow,
-/turf/floor/tiled/freezer{
- name = "kitchen freezer floor";
- temperature = 263
- },
+/turf/floor/tiled/freezer/kitchen,
/area/ministation/cafe)
"fF" = (
/obj/structure/ladder,
@@ -2594,10 +2585,7 @@
/obj/machinery/light/small,
/obj/effect/floor_decal/snow,
/obj/structure/meat_hook,
-/turf/floor/tiled/freezer{
- name = "kitchen freezer floor";
- temperature = 263
- },
+/turf/floor/tiled/freezer/kitchen,
/area/ministation/cafe)
"mz" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
@@ -3061,7 +3049,7 @@
/turf/floor/bluegrid,
/area/ministation/security)
"pr" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ps" = (
/obj/effect/decal/cleanable/dirt,
@@ -5176,10 +5164,7 @@
"wt" = (
/obj/effect/floor_decal/snow,
/obj/machinery/gibber,
-/turf/floor/tiled/freezer{
- name = "kitchen freezer floor";
- temperature = 263
- },
+/turf/floor/tiled/freezer/kitchen,
/area/ministation/cafe)
"wu" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -6743,10 +6728,7 @@
/turf/floor/tiled/white,
/area/ministation/medical)
"Cw" = (
-/turf/floor/tiled/freezer{
- name = "kitchen freezer floor";
- temperature = 263
- },
+/turf/floor/tiled/freezer/kitchen,
/area/ministation/cafe)
"Cx" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -6916,10 +6898,7 @@
/obj/item/chems/drinks/juicebox/grape,
/obj/item/chems/drinks/juicebox/orange,
/obj/item/chems/drinks/juicebox/orange,
-/turf/floor/tiled/freezer{
- name = "kitchen freezer floor";
- temperature = 263
- },
+/turf/floor/tiled/freezer/kitchen,
/area/ministation/cafe)
"Dl" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -9482,10 +9461,7 @@
/area/ministation/medical)
"Sw" = (
/obj/structure/meat_hook,
-/turf/floor/tiled/freezer{
- name = "kitchen freezer floor";
- temperature = 263
- },
+/turf/floor/tiled/freezer/kitchen,
/area/ministation/cafe)
"Sx" = (
/obj/machinery/door/airlock/external/glass{
diff --git a/maps/ministation/ministation-2.dmm b/maps/ministation/ministation-2.dmm
index b179d827ca5..722f234f11f 100644
--- a/maps/ministation/ministation-2.dmm
+++ b/maps/ministation/ministation-2.dmm
@@ -371,7 +371,7 @@
/obj/machinery/power/terminal{
icon_state = "term-omni"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/maint/l3sw)
"bv" = (
/obj/machinery/light{
@@ -674,7 +674,7 @@
/turf/floor/tiled,
/area/ministation/bridge)
"cn" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"co" = (
/turf/wall/r_wall,
@@ -808,10 +808,7 @@
/obj/machinery/network/acl{
initial_network_id = "molluscnet"
},
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"cQ" = (
/obj/machinery/door/firedoor,
@@ -1161,7 +1158,7 @@
dir = 4;
id_tag = "toxinsdriver"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/science)
"eA" = (
/obj/machinery/computer/shuttle_control/explore/ministation{
@@ -1213,7 +1210,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/science)
"eM" = (
/obj/structure/cable{
@@ -1418,7 +1415,7 @@
/area/ministation/hall/n3)
"fF" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"fJ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -1714,14 +1711,11 @@
/obj/structure/shuttle/engine/propulsion{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/shuttle/outgoing)
"hm" = (
/obj/machinery/atmospherics/unary/vent_pump/siphon/on,
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/science)
"hn" = (
/obj/machinery/light/small{
@@ -1830,19 +1824,13 @@
/area/ministation/science)
"hM" = (
/obj/machinery/atmospherics/unary/vent_pump/on,
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/science)
"hN" = (
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 5
},
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/science)
"hO" = (
/obj/machinery/atmospherics/pipe/manifold/visible{
@@ -1941,10 +1929,7 @@
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 9
},
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/science)
"iq" = (
/obj/effect/decal/cleanable/filth,
@@ -2113,7 +2098,7 @@
/obj/machinery/door/blast/regular{
id_tag = "sensor"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/maint/l3sw)
"jn" = (
/obj/structure/disposalpipe/segment{
@@ -3054,10 +3039,7 @@
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"nG" = (
/turf/wall/titanium,
@@ -3153,10 +3135,7 @@
/area/ministation/science)
"of" = (
/obj/machinery/commsrelay,
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"og" = (
/obj/machinery/door/airlock/glass/command{
@@ -3558,10 +3537,7 @@
/turf/floor/reinforced,
/area/ministation/science)
"sr" = (
-/turf/floor/tiled/dark/monotile{
- name = "telecomms dark floor";
- temperature = 263
- },
+/turf/floor/tiled/dark/monotile/telecomms,
/area/ministation/telecomms)
"ss" = (
/obj/machinery/door/airlock/glass/command{
@@ -3675,19 +3651,13 @@
/obj/structure/cable{
icon_state = "2-4"
},
-/turf/floor/tiled/dark/monotile{
- name = "telecomms dark floor";
- temperature = 263
- },
+/turf/floor/tiled/dark/monotile/telecomms,
/area/ministation/telecomms)
"td" = (
/obj/structure/cable{
icon_state = "4-8"
},
-/turf/floor/tiled/dark/monotile{
- name = "telecomms dark floor";
- temperature = 263
- },
+/turf/floor/tiled/dark/monotile/telecomms,
/area/ministation/telecomms)
"te" = (
/obj/effect/floor_decal/corner/purple{
@@ -3794,19 +3764,13 @@
/obj/structure/cable{
icon_state = "1-8"
},
-/turf/floor/tiled/dark/monotile{
- name = "telecomms dark floor";
- temperature = 263
- },
+/turf/floor/tiled/dark/monotile/telecomms,
/area/ministation/telecomms)
"tV" = (
/obj/machinery/network/router{
initial_network_id = "molluscnet"
},
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"tY" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
@@ -3847,10 +3811,7 @@
/obj/machinery/network/mainframe{
initial_network_id = "molluscnet"
},
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"uB" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
@@ -4236,7 +4197,7 @@
id_tag = "toxinsdriver";
name = "Toxins Launcher Bay Door"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/science)
"ya" = (
/obj/structure/cable{
@@ -4309,10 +4270,7 @@
initial_access = null;
req_access = list("ACCESS_CAMERAS")
},
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"yz" = (
/obj/structure/cable{
@@ -4364,7 +4322,7 @@
/obj/machinery/atmospherics/unary/engine{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/shuttle/outgoing)
"yS" = (
/obj/abstract/landmark{
@@ -4495,19 +4453,13 @@
dir = 4;
initial_access = null
},
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"Ab" = (
/obj/machinery/network/message_server{
initial_network_id = "molluscnet"
},
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"Af" = (
/obj/structure/cable{
@@ -4575,10 +4527,7 @@
/turf/floor/tiled/white,
/area/ministation/science)
"Ax" = (
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"AE" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -4601,10 +4550,7 @@
/obj/machinery/network/telecomms_hub{
initial_network_id = "molluscnet"
},
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"AQ" = (
/obj/effect/floor_decal/carpet/green{
@@ -4638,20 +4584,14 @@
name = "_West APC";
pixel_x = -25
},
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"AW" = (
/obj/structure/cable{
icon_state = "0-8"
},
/obj/machinery/power/smes/buildable/max_cap_in_out,
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"AX" = (
/obj/machinery/door/airlock/hatch/maintenance,
@@ -4742,17 +4682,11 @@
/obj/structure/cable{
icon_state = "0-4"
},
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"Br" = (
/obj/machinery/light/small,
-/turf/floor/bluegrid{
- name = "Mainframe Base";
- temperature = 263
- },
+/turf/floor/bluegrid/mainframe,
/area/ministation/telecomms)
"Bs" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -6045,7 +5979,7 @@
/area/ministation/maint/l3central)
"JN" = (
/obj/effect/wallframe_spawn/reinforced,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/science)
"JX" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -6318,7 +6252,7 @@
name = "bridge blast door";
id_tag = "bridgeblast"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/bridge)
"Mq" = (
/obj/item/cash/scavbucks,
@@ -7462,7 +7396,7 @@
/obj/machinery/power/terminal{
icon_state = "term-omni"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/shuttle/outgoing)
"Tq" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -8453,7 +8387,7 @@
/obj/structure/handrail{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/shuttle/outgoing)
"YZ" = (
/obj/structure/cable{
diff --git a/maps/ministation/ministation-3.dmm b/maps/ministation/ministation-3.dmm
index 2e5c7c7992f..cbdd8abb538 100644
--- a/maps/ministation/ministation-3.dmm
+++ b/maps/ministation/ministation-3.dmm
@@ -185,7 +185,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ministation/maint/l4central)
"uG" = (
/obj/structure/lattice,
@@ -291,7 +291,7 @@
icon_state = "0-8"
},
/obj/machinery/power/solar,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"Dc" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
@@ -374,7 +374,7 @@
icon_state = "0-4"
},
/obj/machinery/power/solar,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"Lx" = (
/obj/structure/cable{
diff --git a/maps/random_ruins/exoplanet_ruins/drill_site/drill_site.dmm b/maps/random_ruins/exoplanet_ruins/drill_site/drill_site.dmm
index e098bd7694c..3e1ee2d531e 100644
--- a/maps/random_ruins/exoplanet_ruins/drill_site/drill_site.dmm
+++ b/maps/random_ruins/exoplanet_ruins/drill_site/drill_site.dmm
@@ -19,7 +19,7 @@
/turf/template_noop,
/area/template_noop)
"f" = (
-/obj/machinery/mining/brace,
+/obj/structure/drill_brace,
/obj/abstract/landmark/clear,
/turf/template_noop,
/area/template_noop)
@@ -40,7 +40,7 @@
/turf/template_noop,
/area/template_noop)
"k" = (
-/obj/machinery/mining/drill,
+/obj/machinery/mining_drill,
/obj/abstract/landmark/clear,
/turf/template_noop,
/area/template_noop)
diff --git a/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm b/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm
index a750e66c114..624c04bfc64 100644
--- a/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm
+++ b/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm
@@ -249,7 +249,7 @@
/obj/machinery/light/small{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/colony/command)
"aI" = (
/turf/wall,
@@ -6778,7 +6778,7 @@
/turf/floor/tiled/techfloor,
/area/map_template/colony/jail)
"mZ" = (
-/obj/machinery/mining/brace{
+/obj/structure/drill_brace{
dir = 4
},
/obj/effect/floor_decal/industrial/outline/yellow,
@@ -6924,7 +6924,7 @@
/turf/floor/fake_grass,
/area/map_template/colony/hydroponics)
"nm" = (
-/obj/machinery/mining/drill,
+/obj/machinery/mining_drill,
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/floor/concrete,
/area/template_noop)
@@ -6952,7 +6952,7 @@
/turf/floor/tiled/dark/monotile,
/area/map_template/colony/jail)
"nq" = (
-/obj/machinery/mining/brace{
+/obj/structure/drill_brace{
dir = 8
},
/obj/effect/floor_decal/industrial/outline/yellow,
diff --git a/maps/shaded_hills/shaded_hills-dungeon.dmm b/maps/shaded_hills/shaded_hills-dungeon.dmm
index c512468ca9a..e9cfce36153 100644
--- a/maps/shaded_hills/shaded_hills-dungeon.dmm
+++ b/maps/shaded_hills/shaded_hills-dungeon.dmm
@@ -29,6 +29,10 @@
/obj/item/bladed/knife,
/turf/floor/path/running_bond/basalt,
/area/shaded_hills/caves/dungeon/poi)
+"cM" = (
+/obj/item/stool/rustic,
+/turf/floor/path/running_bond/basalt,
+/area/shaded_hills/caves/dungeon/poi)
"dA" = (
/obj/structure/bed/chair/bench/ebony{
dir = 4
@@ -223,7 +227,8 @@
/area/shaded_hills/caves/dungeon/poi)
"oD" = (
/obj/structure/wall_sconce{
- dir = 1
+ dir = 1;
+ pixel_y = 10
},
/turf/floor/path/basalt,
/area/shaded_hills/caves/dungeon/poi)
@@ -249,7 +254,8 @@
/area/shaded_hills/caves/dungeon/poi)
"qh" = (
/obj/structure/wall_sconce{
- dir = 1
+ dir = 1;
+ pixel_y = 10
},
/turf/floor/path/herringbone/basalt,
/area/shaded_hills/caves/dungeon/poi)
@@ -499,7 +505,8 @@
/area/shaded_hills/caves/dungeon/poi)
"IF" = (
/obj/structure/wall_sconce{
- dir = 1
+ dir = 1;
+ pixel_y = 10
},
/turf/floor/path/running_bond/basalt,
/area/shaded_hills/caves/dungeon/poi)
@@ -556,6 +563,10 @@
/obj/item/rock/flint/striker,
/turf/floor/path/running_bond/basalt,
/area/shaded_hills/caves/dungeon/poi)
+"NN" = (
+/obj/structure/table/desk/ebony/right,
+/turf/floor/path/running_bond/basalt,
+/area/shaded_hills/caves/dungeon/poi)
"Og" = (
/turf/floor/mud/water,
/area/shaded_hills/caves/dungeon/poi)
@@ -646,6 +657,11 @@
"Xx" = (
/turf/wall/log/walnut,
/area/shaded_hills/caves/dungeon)
+"XD" = (
+/obj/item/flame/candle,
+/obj/structure/table/desk/ebony/right,
+/turf/floor/path/running_bond/basalt,
+/area/shaded_hills/caves/dungeon/poi)
"XX" = (
/obj/structure/wall_sconce,
/turf/floor/path/running_bond/basalt,
@@ -17717,8 +17733,8 @@ oF
oF
oF
it
-Hs
-bD
+XD
+cM
iI
bD
LB
@@ -17869,7 +17885,7 @@ oF
oF
oF
it
-LB
+bD
bD
bD
bD
@@ -18173,8 +18189,8 @@ oF
oF
oF
it
-bD
-bD
+NN
+cM
Ky
Ky
bD
@@ -18629,8 +18645,8 @@ oF
oF
oF
it
-LB
-bD
+NN
+cM
bD
bD
bD
@@ -18781,7 +18797,7 @@ oF
oF
oF
it
-LB
+bD
bD
bD
bD
diff --git a/maps/shaded_hills/shaded_hills-grassland.dmm b/maps/shaded_hills/shaded_hills-grassland.dmm
index 9f7fbbd17a6..b52be725117 100644
--- a/maps/shaded_hills/shaded_hills-grassland.dmm
+++ b/maps/shaded_hills/shaded_hills-grassland.dmm
@@ -24,7 +24,7 @@
"ex" = (
/obj/abstract/exterior_marker/inside,
/obj/item/chems/glass/bucket/wood,
-/obj/structure/table/woodentable/ebony,
+/obj/structure/table/end,
/turf/floor/woven,
/area/shaded_hills/outside)
"eL" = (
diff --git a/maps/shaded_hills/shaded_hills-inn.dmm b/maps/shaded_hills/shaded_hills-inn.dmm
index 95801654156..0f8e896ad49 100644
--- a/maps/shaded_hills/shaded_hills-inn.dmm
+++ b/maps/shaded_hills/shaded_hills-inn.dmm
@@ -1,7 +1,16 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"af" = (
+/obj/structure/closet/cabinet/wooden/ebony,
+/turf/floor/carpet/rustic,
+/area/shaded_hills/inn)
"ah" = (
/turf/wall/brick/basalt,
/area/shaded_hills/shrine/kitchen)
+"aK" = (
+/obj/abstract/landmark/start/shaded_hills/storekeeper,
+/obj/item/stool/rustic,
+/turf/floor/wood/walnut,
+/area/shaded_hills/general_store)
"aP" = (
/obj/structure/flora/tree/dead/ebony,
/turf/floor/dirt,
@@ -13,8 +22,12 @@
},
/turf/floor/dirt,
/area/shaded_hills/outside/downlands)
+"bu" = (
+/obj/structure/table/desk/dresser,
+/turf/floor/wood/walnut,
+/area/shaded_hills/stable)
"bv" = (
-/obj/structure/bed/chair/wood/ebony{
+/obj/structure/bed/chair/rustic{
dir = 4
},
/turf/floor/wood/walnut,
@@ -44,7 +57,9 @@
/turf/floor/wood/walnut,
/area/shaded_hills/inn)
"cx" = (
-/turf/wall/brick/basalt,
+/turf/wall/brick/basalt{
+ unique_merge_identifier = "outer wall"
+ },
/area/shaded_hills/outside/downlands)
"cy" = (
/obj/structure/reagent_dispensers/barrel/ebony/water,
@@ -60,8 +75,7 @@
/turf/floor/grass,
/area/shaded_hills/outside/shrine)
"dr" = (
-/obj/structure/table/woodentable_reinforced/ebony,
-/obj/item/pen/fancy/quill,
+/obj/structure/table/desk/dresser/ebony,
/turf/floor/wood/walnut,
/area/shaded_hills/inn)
"dx" = (
@@ -104,6 +118,10 @@
/obj/abstract/landmark/lock_preset/shaded_hills/trader,
/turf/floor/wood/walnut,
/area/shaded_hills/general_store)
+"eM" = (
+/obj/structure/table/end,
+/turf/floor/wood/walnut,
+/area/shaded_hills/farmhouse)
"fg" = (
/obj/structure/railing/mapped/wooden/walnut,
/obj/structure/railing/mapped/wooden/walnut{
@@ -171,6 +189,11 @@
/obj/structure/table/woodentable/ebony,
/turf/floor/wood/walnut,
/area/shaded_hills/farmhouse)
+"gn" = (
+/obj/item/flame/candle/handmade,
+/obj/structure/table/end,
+/turf/floor/wood/walnut,
+/area/shaded_hills/inn)
"gp" = (
/obj/structure/railing/mapped/wooden/walnut{
dir = 1
@@ -218,7 +241,10 @@
dir = 4;
start_lit = 1
},
-/turf/floor/wood/walnut,
+/obj/structure/bed/chair/rustic_fancy/ebony{
+ dir = 1
+ },
+/turf/floor/carpet,
/area/shaded_hills/inn)
"hc" = (
/obj/structure/bed/chair/bench/ebony{
@@ -244,9 +270,7 @@
/turf/floor/grass,
/area/shaded_hills/outside/downlands)
"hJ" = (
-/obj/structure/bed/chair/bench/ebony{
- dir = 4
- },
+/obj/item/stool/rustic,
/turf/floor/wood/walnut,
/area/shaded_hills/farmhouse)
"hU" = (
@@ -273,15 +297,13 @@
/turf/floor/path/herringbone/basalt,
/area/shaded_hills/inn)
"ij" = (
-/obj/structure/bed/chair/wood/ebony{
+/obj/structure/bed/chair/rustic{
dir = 4
},
/turf/floor/wood/walnut,
/area/shaded_hills/general_store)
"iq" = (
-/turf/wall/log/walnut/shutter{
- shutter_state = 1
- },
+/turf/wall/log/walnut/shutter/open,
/area/shaded_hills/inn/kitchen)
"iC" = (
/obj/structure/door/walnut{
@@ -296,12 +318,12 @@
/turf/floor/path/herringbone/basalt,
/area/shaded_hills/inn)
"iK" = (
-/turf/wall/brick/basalt,
+/turf/wall/brick/basalt{
+ unique_merge_identifier = "shrine wall"
+ },
/area/shaded_hills/outside/shrine)
"iX" = (
-/turf/wall/log/walnut/shutter{
- shutter_state = 1
- },
+/turf/wall/log/walnut/shutter/open,
/area/shaded_hills/inn)
"iZ" = (
/obj/structure/fire_source/fireplace/basalt,
@@ -375,10 +397,6 @@
},
/turf/floor/wood/walnut,
/area/shaded_hills/inn)
-"lv" = (
-/obj/structure/bed/chair/bench/ebony,
-/turf/floor/wood/walnut,
-/area/shaded_hills/farmhouse)
"lz" = (
/obj/structure/table/woodentable_reinforced/ebony,
/obj/item/knife/kitchen/cleaver/bronze,
@@ -457,6 +475,11 @@
},
/turf/floor/wood/walnut,
/area/shaded_hills/inn)
+"nJ" = (
+/obj/structure/bed/simple/ebony/cloth,
+/obj/item/bedsheet/yellowed,
+/turf/floor/carpet/rustic,
+/area/shaded_hills/inn)
"nN" = (
/obj/structure/table/woodentable_reinforced/ebony,
/obj/item/chems/glass/bucket/wood,
@@ -497,9 +520,7 @@
/turf/floor/path/herringbone/basalt,
/area/shaded_hills/inn)
"px" = (
-/turf/wall/log/walnut/shutter{
- shutter_state = 1
- },
+/turf/wall/log/walnut/shutter/open,
/area/shaded_hills/shrine/kitchen)
"qe" = (
/obj/structure/bed/simple/ebony,
@@ -531,7 +552,9 @@
/turf/floor/path/basalt,
/area/shaded_hills/outside/downlands)
"qY" = (
-/turf/wall/brick/basalt,
+/turf/wall/brick/basalt{
+ unique_merge_identifier = "outer wall"
+ },
/area/shaded_hills/outside/downlands/poi)
"ra" = (
/obj/structure/table/woodentable/ebony,
@@ -547,6 +570,22 @@
/obj/structure/flora/bush/palebush,
/turf/floor/grass,
/area/shaded_hills/outside/downlands)
+"rg" = (
+/obj/item/paper/scroll,
+/obj/item/paper/scroll,
+/obj/item/paper/scroll,
+/obj/item/paper/scroll,
+/obj/item/cash/imperial/regalis,
+/obj/item/cash/imperial/quin,
+/obj/item/cash/imperial/quin,
+/obj/item/cash/imperial/quin,
+/obj/item/cash/imperial/crown,
+/obj/item/cash/imperial/crown,
+/obj/item/cash/imperial/crown,
+/obj/item/cash/imperial/crown,
+/obj/item/cash/imperial/crown,
+/turf/floor/carpet,
+/area/shaded_hills/inn)
"rv" = (
/obj/structure/table/woodentable/ebony,
/obj/item/chems/glass/handmade/bottle,
@@ -602,7 +641,7 @@
/obj/structure/bed/simple/ebony/cloth,
/obj/item/bedsheet/yellowed,
/obj/abstract/landmark/start/shaded_hills/inn_worker,
-/turf/floor/wood/walnut,
+/turf/floor/carpet/rustic,
/area/shaded_hills/inn)
"tq" = (
/obj/structure/door/walnut,
@@ -634,7 +673,7 @@
/turf/floor/grass,
/area/shaded_hills/outside/downlands)
"tZ" = (
-/obj/structure/bed/chair/wood/ebony{
+/obj/structure/bed/chair/rustic{
dir = 4
},
/turf/floor/wood/walnut,
@@ -657,14 +696,6 @@
/obj/abstract/landmark/start/shaded_hills/farmer,
/turf/floor/wood/walnut,
/area/shaded_hills/farmhouse)
-"uA" = (
-/obj/structure/wall_sconce/lantern{
- dir = 1;
- pixel_y = 10;
- start_lit = 1
- },
-/turf/floor/wood/walnut,
-/area/shaded_hills/farmhouse)
"uJ" = (
/turf/floor/wood/walnut,
/area/shaded_hills/general_store)
@@ -746,6 +777,10 @@
"xH" = (
/turf/wall/brick/basalt,
/area/shaded_hills/slaughterhouse)
+"xJ" = (
+/obj/structure/table/desk/dresser/ebony,
+/turf/floor/carpet/rustic,
+/area/shaded_hills/inn)
"xU" = (
/obj/structure/railing/mapped/wooden/walnut{
dir = 4
@@ -787,7 +822,7 @@
/turf/wall/brick/basalt,
/area/shaded_hills/general_store)
"yJ" = (
-/obj/structure/bed/chair/wood/ebony{
+/obj/structure/bed/chair/rustic{
dir = 1
},
/obj/abstract/landmark/start/shaded_hills/farmer,
@@ -842,6 +877,7 @@
/area/shaded_hills/stable)
"Ap" = (
/obj/abstract/landmark/start/shaded_hills/bartender,
+/obj/item/stool/rustic,
/turf/floor/path/herringbone/basalt,
/area/shaded_hills/inn)
"Aq" = (
@@ -903,12 +939,6 @@
"By" = (
/turf/floor/grass,
/area/shaded_hills/outside/shrine)
-"BB" = (
-/obj/structure/bed/chair/wood/ebony{
- dir = 1
- },
-/turf/floor/wood/walnut,
-/area/shaded_hills/inn)
"BD" = (
/obj/structure/reagent_dispensers/barrel/ebony/wine,
/turf/floor/wood/walnut,
@@ -977,7 +1007,7 @@
/obj/structure/wall_sconce/lantern{
dir = 4
},
-/obj/structure/table/woodentable/ebony,
+/obj/structure/table/end,
/turf/floor/wood/walnut,
/area/shaded_hills/general_store)
"Er" = (
@@ -1142,6 +1172,13 @@
/obj/item/chems/glass/handmade/jar,
/turf/floor/path/herringbone/basalt,
/area/shaded_hills/shrine/kitchen)
+"HP" = (
+/obj/structure/table/end/alt,
+/obj/item/flame/candle/handmade{
+ pixel_y = 12
+ },
+/turf/floor/wood/walnut,
+/area/shaded_hills/stable)
"Ic" = (
/turf/floor/path/running_bond/basalt,
/area/shaded_hills/outside/downlands)
@@ -1177,9 +1214,7 @@
/turf/floor/wood/walnut,
/area/shaded_hills/storehouse)
"IQ" = (
-/turf/wall/log/walnut/shutter{
- shutter_state = 1
- },
+/turf/wall/log/walnut/shutter/open,
/area/shaded_hills/farmhouse)
"IS" = (
/turf/floor/mud/water/deep,
@@ -1200,8 +1235,8 @@
/turf/floor/grass,
/area/shaded_hills/outside/shrine)
"Jo" = (
-/obj/structure/table/woodentable/ebony,
/obj/item/flame/candle/handmade,
+/obj/structure/table/end/alt/ebony,
/turf/floor/wood/walnut,
/area/shaded_hills/inn)
"Jp" = (
@@ -1216,7 +1251,7 @@
/turf/floor/wood/walnut,
/area/shaded_hills/shrine)
"Jw" = (
-/obj/structure/bed/chair/wood/ebony,
+/obj/structure/bed/chair/rustic,
/turf/floor/wood/walnut,
/area/shaded_hills/inn/porch)
"Jz" = (
@@ -1250,10 +1285,14 @@
/turf/floor/path/herringbone/basalt,
/area/shaded_hills/shrine)
"Kh" = (
-/turf/wall/log/walnut/shutter{
- shutter_state = 1
- },
+/turf/wall/log/walnut/shutter/open,
/area/shaded_hills/shrine)
+"KD" = (
+/obj/structure/bed/chair/rustic{
+ dir = 1
+ },
+/turf/floor/wood/walnut,
+/area/shaded_hills/inn)
"KF" = (
/obj/structure/wall_sconce/lantern,
/obj/structure/coatrack/ebony,
@@ -1313,24 +1352,15 @@
/turf/floor/path/basalt,
/area/shaded_hills/outside/downlands)
"My" = (
-/obj/structure/table/woodentable_reinforced/ebony,
-/obj/item/paper/scroll,
-/obj/item/paper/scroll,
-/obj/item/paper/scroll,
-/obj/item/paper/scroll,
-/obj/item/cash/imperial/regalis,
-/obj/item/cash/imperial/quin,
-/obj/item/cash/imperial/quin,
-/obj/item/cash/imperial/quin,
-/obj/item/cash/imperial/crown,
-/obj/item/cash/imperial/crown,
-/obj/item/cash/imperial/crown,
-/obj/item/cash/imperial/crown,
-/obj/item/cash/imperial/crown,
-/turf/floor/wood/walnut,
+/obj/structure/table/desk/ebony,
+/obj/item/chems/glass/inkwell/quilled{
+ pixel_x = 12;
+ pixel_y = 8
+ },
+/turf/floor/carpet,
/area/shaded_hills/inn)
"MT" = (
-/obj/structure/drying_rack,
+/obj/structure/drying_rack/ebony,
/turf/floor/path/basalt,
/area/shaded_hills/slaughterhouse)
"No" = (
@@ -1376,6 +1406,9 @@
"Pa" = (
/turf/floor/path/running_bond/basalt,
/area/shaded_hills/outside/downlands/poi)
+"Pd" = (
+/turf/floor/carpet/rustic,
+/area/shaded_hills/farmhouse)
"Pe" = (
/obj/structure/wall_sconce/lantern{
dir = 8
@@ -1412,11 +1445,18 @@
/obj/abstract/landmark/lock_preset/shaded_hills/inn_exterior,
/turf/floor/wood/walnut,
/area/shaded_hills/inn)
+"Qx" = (
+/obj/structure/table/desk/dresser,
+/obj/item/flame/candle/handmade{
+ pixel_y = 12
+ },
+/turf/floor/wood/walnut,
+/area/shaded_hills/general_store)
"QB" = (
/turf/wall/log/walnut,
/area/shaded_hills/shrine)
"QL" = (
-/obj/structure/bed/chair/wood/ebony{
+/obj/structure/bed/chair/rustic{
dir = 1
},
/obj/structure/wall_sconce/lantern{
@@ -1452,18 +1492,25 @@
"Rl" = (
/turf/floor/mud,
/area/shaded_hills/outside/downlands)
+"Rp" = (
+/obj/structure/wall_sconce/lantern{
+ dir = 8
+ },
+/turf/floor/carpet/rustic,
+/area/shaded_hills/inn)
"Rz" = (
/obj/effect/departure_signpost/east,
/turf/floor/dirt,
/area/shaded_hills/outside/downlands)
+"RB" = (
+/turf/floor/carpet/rustic,
+/area/shaded_hills/inn)
"RC" = (
/obj/structure/railing/mapped/wooden/walnut,
/turf/floor/grass,
/area/shaded_hills/outside/downlands)
"RG" = (
-/turf/wall/brick/basalt/shutter{
- shutter_state = 1
- },
+/turf/wall/brick/basalt/shutter/open,
/area/shaded_hills/shrine/kitchen)
"RO" = (
/obj/structure/wall_sconce/lantern{
@@ -1485,7 +1532,7 @@
/turf/floor/mud,
/area/shaded_hills/outside/shrine)
"Sw" = (
-/obj/structure/bed/chair/wood/ebony{
+/obj/structure/bed/chair/rustic{
dir = 8
},
/turf/floor/wood/walnut,
@@ -1509,6 +1556,18 @@
/obj/structure/door/walnut,
/turf/floor/path/basalt,
/area/shaded_hills/stable)
+"SU" = (
+/obj/structure/wall_sconce/lantern{
+ dir = 1;
+ pixel_y = 10;
+ start_lit = 1
+ },
+/obj/structure/table/desk/dresser,
+/obj/item/flame/candle/handmade{
+ pixel_y = 12
+ },
+/turf/floor/wood/walnut,
+/area/shaded_hills/farmhouse)
"SW" = (
/turf/floor/path/basalt,
/area/shaded_hills/outside/downlands/poi)
@@ -1521,7 +1580,7 @@
/turf/floor/path/herringbone/basalt,
/area/shaded_hills/inn/kitchen)
"Td" = (
-/obj/structure/bed/chair/wood/ebony{
+/obj/structure/bed/chair/rustic{
dir = 8
},
/turf/floor/wood/walnut,
@@ -1547,10 +1606,6 @@
/obj/abstract/landmark/latejoin,
/turf/floor/dirt,
/area/shaded_hills/outside/downlands)
-"TA" = (
-/obj/abstract/landmark/start/shaded_hills/storekeeper,
-/turf/floor/wood/walnut,
-/area/shaded_hills/general_store)
"TM" = (
/obj/structure/table/woodentable/ebony,
/obj/item/food/grown/potato,
@@ -1569,12 +1624,12 @@
/turf/floor/path/herringbone/basalt,
/area/shaded_hills/shrine)
"UD" = (
-/obj/structure/table/woodentable/ebony,
/obj/item/flame/candle/handmade,
+/obj/structure/table/end/alt,
/turf/floor/wood/walnut,
/area/shaded_hills/shrine)
"US" = (
-/obj/structure/bed/chair/wood/ebony{
+/obj/structure/bed/chair/rustic{
dir = 4
},
/turf/floor/wood/walnut,
@@ -9253,7 +9308,7 @@ HI
HI
TR
cx
-TR
+Ee
Ee
iX
Ee
@@ -9263,12 +9318,12 @@ iX
Ee
Ee
th
-ZY
-Jo
+RB
+gn
Ee
th
-ZY
-Jo
+RB
+gn
Ee
TR
TR
@@ -9406,20 +9461,20 @@ HI
TR
cx
Ee
-Ee
Jo
-BB
+KD
+sJ
Ee
th
-ZY
-Jo
+RB
+gn
Ee
-sJ
-ZY
+af
+RB
Td
Ee
-sJ
-ZY
+af
+RB
Td
Ee
GV
@@ -9434,8 +9489,8 @@ zQ
eG
uJ
uJ
-uJ
-uJ
+sM
+sM
uJ
Wg
HI
@@ -9562,8 +9617,8 @@ Rh
ZY
ZY
Ee
-sJ
-ZY
+af
+RB
Td
Ee
Ee
@@ -9587,8 +9642,8 @@ dH
uJ
uJ
sM
-sM
-uJ
+aK
+Zb
dH
HI
QQ
@@ -9738,9 +9793,9 @@ Mp
Wg
GQ
uJ
-sM
-TA
-Zb
+Wg
+iC
+Wg
Wg
HI
UY
@@ -9863,7 +9918,7 @@ TR
cx
Ee
My
-BB
+Qb
ZY
Ee
Jp
@@ -9891,9 +9946,9 @@ Wg
uJ
uJ
Wg
-iC
-Wg
-Wg
+uJ
+BL
+dH
HI
QQ
fR
@@ -10014,7 +10069,7 @@ HI
TR
cx
Ee
-sJ
+rg
hb
ZY
yn
@@ -10044,7 +10099,7 @@ yz
yz
yz
uJ
-BL
+Qx
Wg
HI
QQ
@@ -10499,7 +10554,7 @@ yz
yz
yz
yz
-Wg
+dH
Wg
Wg
HI
@@ -11839,7 +11894,7 @@ TR
cx
TR
Ee
-Jo
+gn
ZY
zO
ZY
@@ -11851,8 +11906,8 @@ dN
ZY
Ee
ZY
-dN
-Dr
+Rp
+nJ
Ee
Jw
dK
@@ -12003,8 +12058,8 @@ ZY
ZY
zO
ZY
-ZY
-sJ
+RB
+xJ
Ee
Jw
dK
@@ -12155,8 +12210,8 @@ Ee
Ee
Ee
ZY
-ZY
-Dr
+RB
+nJ
iX
Yg
Sw
@@ -12306,9 +12361,9 @@ ZY
ZY
US
Ee
-ZY
-ZY
-sJ
+RB
+RB
+xJ
Ee
hu
lD
@@ -12319,11 +12374,11 @@ EV
Ic
TR
HI
+HI
LN
LN
LN
-LN
-LN
+IQ
LN
HI
HI
@@ -12452,14 +12507,14 @@ TR
Ee
sJ
Dr
-Jo
+gn
Ee
sJ
Dr
-Jo
+gn
Ee
-sJ
-Dr
+xJ
+nJ
Ee
Ee
TR
@@ -12471,11 +12526,11 @@ EV
Ic
EV
TR
+HI
LN
uu
qP
qP
-qP
LN
HI
TR
@@ -12623,10 +12678,10 @@ EV
Ic
EV
TR
+HI
LN
-uA
-qP
-qP
+SU
+Pd
qP
WO
HI
@@ -12775,10 +12830,10 @@ EV
Ic
EV
TR
+HI
IQ
bv
-qP
-qP
+Pd
qP
LN
HI
@@ -12927,9 +12982,9 @@ EV
Ic
EV
TR
+HI
LN
-cl
-qP
+eM
qP
FE
LN
@@ -13210,7 +13265,7 @@ cx
TR
nn
jA
-js
+HP
js
nn
js
@@ -13358,7 +13413,7 @@ TR
HI
TR
cx
-TR
+cx
TR
nn
js
@@ -13513,7 +13568,7 @@ cx
TR
TR
nn
-js
+bu
jf
js
nn
@@ -13994,7 +14049,7 @@ BX
LN
qP
qP
-lv
+hJ
Bp
IQ
FD
@@ -14299,7 +14354,7 @@ LN
hJ
qP
qP
-hJ
+qP
LN
xW
Rl
diff --git a/maps/shaded_hills/shaded_hills-swamp.dmm b/maps/shaded_hills/shaded_hills-swamp.dmm
index 803bcbcc100..a4aa7292a65 100644
--- a/maps/shaded_hills/shaded_hills-swamp.dmm
+++ b/maps/shaded_hills/shaded_hills-swamp.dmm
@@ -1,8 +1,6 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aM" = (
-/turf/wall/log/walnut/shutter{
- shutter_state = 1
- },
+/turf/wall/log/walnut/shutter/open,
/area/shaded_hills/witch_hut)
"bg" = (
/turf/floor/wood/walnut,
@@ -16,6 +14,21 @@
},
/turf/floor/wood/walnut,
/area/shaded_hills/witch_hut)
+"fG" = (
+/obj/item/seeds/extracted/aloe,
+/obj/item/seeds/extracted/aloe,
+/obj/item/seeds/extracted/foxglove,
+/obj/item/seeds/extracted/foxglove,
+/obj/item/seeds/extracted/ginseng,
+/obj/item/seeds/extracted/ginseng,
+/obj/item/seeds/extracted/ginseng,
+/obj/item/seeds/extracted/valerian,
+/obj/item/seeds/extracted/valerian,
+/obj/item/seeds/extracted/yarrow,
+/obj/item/seeds/extracted/yarrow,
+/obj/item/seeds/extracted/yarrow,
+/turf/floor/wood/walnut,
+/area/shaded_hills/witch_hut)
"hT" = (
/turf/floor/mud/water/deep,
/area/shaded_hills/outside/river/swamp)
@@ -51,7 +64,7 @@
/turf/unsimulated/dark_filler,
/area/shaded_hills/caves/swamp)
"pl" = (
-/obj/structure/drying_rack,
+/obj/structure/drying_rack/ebony,
/turf/floor/wood/walnut,
/area/shaded_hills/witch_hut)
"rP" = (
@@ -68,11 +81,11 @@
/turf/floor/barren,
/area/shaded_hills/outside/swamp)
"vz" = (
-/obj/structure/table/woodentable/ebony,
/obj/structure/wall_sconce/lantern{
dir = 8;
start_lit = 1
},
+/obj/structure/table/end/alt/ebony,
/turf/floor/wood/walnut,
/area/shaded_hills/witch_hut)
"vZ" = (
@@ -94,13 +107,19 @@
/turf/floor/mud,
/area/shaded_hills/outside/river/swamp)
"BF" = (
-/obj/structure/door/walnut,
+/obj/structure/door/walnut{
+ dir = 4
+ },
/turf/floor/path/basalt,
/area/shaded_hills/witch_hut)
"BY" = (
/obj/machinery/portable_atmospherics/hydroponics/soil,
/turf/floor/mud,
/area/shaded_hills/outside/swamp)
+"Dh" = (
+/obj/item/stool/rustic,
+/turf/floor/wood/walnut,
+/area/shaded_hills/witch_hut)
"Do" = (
/turf/unsimulated/dark_filler,
/area/shaded_hills/caves/unexplored/swamp)
@@ -121,22 +140,6 @@
"Ic" = (
/turf/floor/clay,
/area/shaded_hills/outside/river/swamp)
-"Jx" = (
-/obj/structure/table/woodentable/ebony,
-/obj/item/seeds/extracted/aloe,
-/obj/item/seeds/extracted/aloe,
-/obj/item/seeds/extracted/foxglove,
-/obj/item/seeds/extracted/foxglove,
-/obj/item/seeds/extracted/ginseng,
-/obj/item/seeds/extracted/ginseng,
-/obj/item/seeds/extracted/ginseng,
-/obj/item/seeds/extracted/valerian,
-/obj/item/seeds/extracted/valerian,
-/obj/item/seeds/extracted/yarrow,
-/obj/item/seeds/extracted/yarrow,
-/obj/item/seeds/extracted/yarrow,
-/turf/floor/wood/walnut,
-/area/shaded_hills/witch_hut)
"KA" = (
/obj/abstract/landmark/start/shaded_hills/herbalist,
/turf/floor/wood/walnut,
@@ -166,17 +169,17 @@
/turf/floor/grass,
/area/shaded_hills/outside/swamp)
"TR" = (
-/obj/structure/closet/crate/chest/ebony,
+/obj/structure/table/desk/ebony,
+/obj/item/chems/glass/mortar,
+/obj/item/rock/basalt,
/turf/floor/wood/walnut,
/area/shaded_hills/witch_hut)
"Vl" = (
-/obj/structure/table/woodentable/ebony,
/obj/structure/wall_sconce/lantern{
dir = 4;
start_lit = 1
},
-/obj/item/chems/glass/mortar,
-/obj/item/rock/basalt,
+/obj/structure/closet/crate/chest/ebony,
/turf/floor/wood/walnut,
/area/shaded_hills/witch_hut)
"VA" = (
@@ -9537,11 +9540,11 @@ Xt
Xt
Xt
Ev
-nK
-bg
+fG
+Dh
pl
Vl
-Jx
+nK
Ev
Xt
BY
diff --git a/maps/shaded_hills/shaded_hills-woods.dmm b/maps/shaded_hills/shaded_hills-woods.dmm
index b3bab142c5a..569bfe9a2d1 100644
--- a/maps/shaded_hills/shaded_hills-woods.dmm
+++ b/maps/shaded_hills/shaded_hills-woods.dmm
@@ -8,7 +8,6 @@
/turf/floor/path/running_bond/basalt,
/area/shaded_hills/outside/woods)
"cN" = (
-/obj/structure/table/woodentable/ebony,
/obj/item/bladed/knife,
/turf/floor/wood/walnut,
/area/shaded_hills/forester_hut)
@@ -78,14 +77,9 @@
"uA" = (
/turf/unsimulated/dark_filler,
/area/shaded_hills/outside/river/woods)
-"vw" = (
-/obj/structure/table/woodentable/ebony,
-/obj/item/stack/material/bundle/grass/dry,
-/turf/floor/wood/walnut,
-/area/shaded_hills/forester_hut)
"wD" = (
-/obj/structure/table/woodentable/ebony,
/obj/item/fishing_rod,
+/obj/structure/table/end/alt/ebony,
/turf/floor/wood/walnut,
/area/shaded_hills/forester_hut)
"xn" = (
@@ -112,7 +106,7 @@
/turf/floor/dirt,
/area/shaded_hills/outside/woods)
"DB" = (
-/obj/structure/drying_rack,
+/obj/structure/drying_rack/ebony,
/turf/floor/dirt,
/area/shaded_hills/outside/river/woods)
"DX" = (
@@ -132,6 +126,9 @@
/obj/item/stack/material/log/mapped/walnut/ten,
/turf/floor/wood/walnut,
/area/shaded_hills/forester_hut)
+"GB" = (
+/turf/floor/carpet/rustic,
+/area/shaded_hills/forester_hut)
"HA" = (
/turf/floor/grass,
/area/shaded_hills/outside/woods)
@@ -157,6 +154,13 @@
"LJ" = (
/turf/floor/path/running_bond/basalt,
/area/shaded_hills/outside/woods)
+"Md" = (
+/obj/structure/table/desk/ebony,
+/obj/item/stack/material/bundle/grass/dry{
+ amount = 5
+ },
+/turf/floor/wood/walnut,
+/area/shaded_hills/forester_hut)
"My" = (
/turf/floor/grass,
/area/shaded_hills/outside/river/lake)
@@ -167,9 +171,7 @@
/turf/floor/wood/walnut,
/area/shaded_hills/forester_hut)
"MU" = (
-/turf/wall/log/walnut/shutter{
- shutter_state = 1
- },
+/turf/wall/log/walnut/shutter/open,
/area/shaded_hills/forester_hut)
"Oi" = (
/obj/structure/closet/crate/chest/ebony,
@@ -182,7 +184,7 @@
/turf/wall/log/walnut,
/area/shaded_hills/forester_hut)
"TP" = (
-/obj/structure/table/woodentable/ebony,
+/obj/structure/table/desk/dresser/ebony,
/turf/floor/wood/walnut,
/area/shaded_hills/forester_hut)
"Uz" = (
@@ -19610,9 +19612,9 @@ YO
ES
MU
TP
-lb
-lb
-lb
+GB
+GB
+GB
lb
mo
zq
@@ -19762,9 +19764,9 @@ YO
ES
SI
Jz
-lb
-lb
-lb
+GB
+GB
+GB
MR
SI
DB
@@ -19913,10 +19915,10 @@ YO
ES
ES
SI
-Oi
-lb
-lb
-lb
+Md
+GB
+GB
+GB
JJ
MU
kx
@@ -20066,7 +20068,7 @@ ES
ES
SI
cN
-vw
+lb
wD
lb
JJ
diff --git a/maps/shaded_hills/submaps/woods/chemistry_shack/chemistry_shack.dmm b/maps/shaded_hills/submaps/woods/chemistry_shack/chemistry_shack.dmm
index 1cb59e7eb69..9c04e479e74 100644
--- a/maps/shaded_hills/submaps/woods/chemistry_shack/chemistry_shack.dmm
+++ b/maps/shaded_hills/submaps/woods/chemistry_shack/chemistry_shack.dmm
@@ -8,7 +8,6 @@
/area/shaded_hills/outside/point_of_interest/chemistry_shack)
"h" = (
/obj/abstract/exterior_marker/inside,
-/obj/structure/table/woodentable/ebony,
/obj/item/rock/hematite{
pixel_x = -8;
pixel_y = 16
@@ -32,6 +31,7 @@
pixel_y = 4;
pixel_x = -8
},
+/obj/structure/table/desk/ebony,
/turf/floor/path/herringbone/basalt,
/area/shaded_hills/outside/point_of_interest/chemistry_shack)
"k" = (
@@ -133,7 +133,6 @@
/area/shaded_hills/outside/point_of_interest/chemistry_shack)
"U" = (
/obj/abstract/exterior_marker/inside,
-/obj/structure/table/woodentable/ebony,
/obj/structure/wall_sconce/lantern{
dir = 1;
pixel_y = 10
@@ -142,7 +141,9 @@
pixel_x = -10;
pixel_y = 18
},
-/obj/structure/fire_source/heater/mapped,
+/obj/structure/fire_source/heater/mapped{
+ pixel_y = 2
+ },
/obj/item/chems/glass/handmade/bottle/tall/wine{
pixel_x = -10;
pixel_y = 9
diff --git a/maps/shaded_hills/submaps/woods/old_cabin/old_cabin.dmm b/maps/shaded_hills/submaps/woods/old_cabin/old_cabin.dmm
index 6d1e1dffe48..cb9a478a093 100644
--- a/maps/shaded_hills/submaps/woods/old_cabin/old_cabin.dmm
+++ b/maps/shaded_hills/submaps/woods/old_cabin/old_cabin.dmm
@@ -4,6 +4,11 @@
/obj/abstract/exterior_marker/inside,
/turf/floor/wood/walnut,
/area/shaded_hills/outside/point_of_interest/old_cabin)
+"g" = (
+/obj/abstract/exterior_marker/inside,
+/obj/structure/table/end,
+/turf/floor/wood/walnut,
+/area/shaded_hills/outside/point_of_interest/old_cabin)
"h" = (
/turf/template_noop,
/area/template_noop)
@@ -83,8 +88,13 @@
/turf/wall/log/walnut,
/area/shaded_hills/outside/point_of_interest/old_cabin)
"N" = (
-/obj/structure/coatrack,
/obj/abstract/exterior_marker/inside,
+/obj/structure/coatrack/ebony,
+/turf/floor/wood/walnut,
+/area/shaded_hills/outside/point_of_interest/old_cabin)
+"T" = (
+/obj/abstract/exterior_marker/inside,
+/obj/structure/table/desk/dresser,
/turf/floor/wood/walnut,
/area/shaded_hills/outside/point_of_interest/old_cabin)
"W" = (
@@ -171,7 +181,7 @@ o
I
I
M
-I
+T
Z
M
h
@@ -195,7 +205,7 @@ D
H
I
M
-I
+g
k
M
i
diff --git a/maps/shaded_hills/submaps/woods/suspicious_cabin/suspicious_cabin.dmm b/maps/shaded_hills/submaps/woods/suspicious_cabin/suspicious_cabin.dmm
index 042c2c02567..e3e6c1ed4f4 100644
--- a/maps/shaded_hills/submaps/woods/suspicious_cabin/suspicious_cabin.dmm
+++ b/maps/shaded_hills/submaps/woods/suspicious_cabin/suspicious_cabin.dmm
@@ -24,7 +24,7 @@
/turf/floor/path/basalt,
/area/template_noop)
"k" = (
-/obj/structure/coatrack,
+/obj/structure/coatrack/ebony,
/turf/floor/wood/walnut,
/area/template_noop)
"q" = (
@@ -61,8 +61,11 @@
/obj/structure/reagent_dispensers/barrel/ebony,
/turf/floor/path/basalt,
/area/template_noop)
-"A" = (
-/obj/structure/closet/crate/chest/ebony,
+"D" = (
+/obj/structure/table/desk/dresser,
+/obj/item/flame/candle/handmade{
+ pixel_y = 12
+ },
/turf/floor/wood/walnut,
/area/template_noop)
"E" = (
@@ -83,10 +86,6 @@
"K" = (
/turf/wall/brick/basalt/shutter,
/area/template_noop)
-"M" = (
-/obj/structure/door/walnut,
-/turf/floor/path,
-/area/template_noop)
"N" = (
/obj/structure/reagent_dispensers/barrel/ebony/water,
/turf/floor/path/basalt,
@@ -223,9 +222,9 @@ g
g
g
g
-x
-g
-g
+Y
+D
+e
Y
"}
(7,1,1) = {"
@@ -240,9 +239,9 @@ R
R
d
g
-Y
-e
-A
+x
+g
+g
Y
"}
(8,1,1) = {"
@@ -308,9 +307,9 @@ Y
r
r
g
-Y
-e
-A
+x
+g
+g
Y
"}
(12,1,1) = {"
@@ -325,9 +324,9 @@ Y
g
g
g
-x
-g
-g
+Y
+D
+e
Y
"}
(13,1,1) = {"
@@ -353,7 +352,7 @@ f
f
Y
Y
-M
+x
Y
Y
f
diff --git a/maps/tradeship/tradeship-0.dmm b/maps/tradeship/tradeship-0.dmm
index 8c449f1836e..4ff16d85d3a 100644
--- a/maps/tradeship/tradeship-0.dmm
+++ b/maps/tradeship/tradeship-0.dmm
@@ -62,7 +62,7 @@
/turf/floor/plating,
/area/ship/trade/undercomms)
"ai" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aj" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -135,7 +135,7 @@
/area/ship/trade/disused)
"ar" = (
/obj/structure/lattice,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"as" = (
/obj/structure/lattice,
@@ -548,13 +548,13 @@
/obj/structure/cable{
icon_state = "0-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"be" = (
/obj/structure/cable{
icon_state = "1-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"bg" = (
/obj/effect/floor_decal/industrial/warning{
@@ -1129,10 +1129,10 @@
pixel_x = -5;
pixel_y = 5
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/livestock)
"jT" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/livestock)
"kH" = (
/obj/structure/window/reinforced,
@@ -1239,7 +1239,7 @@
pixel_x = 9;
pixel_y = 7
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"oG" = (
/obj/effect/floor_decal/corner/beige{
@@ -1678,7 +1678,7 @@
pixel_x = -5;
pixel_y = 5
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"Gb" = (
/obj/effect/paint/brown,
@@ -1733,7 +1733,7 @@
/obj/structure/disposaloutlet{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/livestock)
"If" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
diff --git a/maps/tradeship/tradeship-1.dmm b/maps/tradeship/tradeship-1.dmm
index b28e804a66e..e72c0805f17 100644
--- a/maps/tradeship/tradeship-1.dmm
+++ b/maps/tradeship/tradeship-1.dmm
@@ -106,7 +106,7 @@
name = "External Blast Doors"
},
/obj/machinery/door/firedoor,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/crew/dorms1)
"an" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -189,7 +189,7 @@
/area/ship/trade/maintenance/eva)
"ax" = (
/obj/effect/floor_decal/corner/beige,
-/obj/machinery/mining/drill,
+/obj/machinery/mining_drill,
/turf/floor/tiled,
/area/ship/trade/cargo/lower)
"ay" = (
@@ -411,7 +411,7 @@
/obj/structure/handrail{
dir = 4
},
-/obj/machinery/mining/brace,
+/obj/structure/drill_brace,
/obj/effect/floor_decal/corner/beige{
dir = 9
},
@@ -2760,7 +2760,7 @@
/turf/wall/r_wall,
/area/ship/trade/drunk_tank)
"Ei" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"En" = (
/obj/item/stool/padded,
@@ -2901,7 +2901,7 @@
/area/ship/trade/science/fabricaton)
"Js" = (
/obj/effect/floor_decal/industrial/outline/yellow,
-/obj/machinery/mining/brace,
+/obj/structure/drill_brace,
/turf/floor/tiled/monotile,
/area/ship/trade/cargo/lower)
"JM" = (
@@ -3209,7 +3209,7 @@
/obj/item/mollusc/barnacle{
pixel_x = 18
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"TC" = (
/obj/machinery/recharge_station,
@@ -3337,7 +3337,7 @@
/turf/floor/tiled/techfloor,
/area/ship/trade/maintenance/techstorage)
"YH" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/eva)
"Za" = (
/turf/floor/plating,
diff --git a/maps/tradeship/tradeship-2.dmm b/maps/tradeship/tradeship-2.dmm
index 2051f828a8a..5861bc931e5 100644
--- a/maps/tradeship/tradeship-2.dmm
+++ b/maps/tradeship/tradeship-2.dmm
@@ -231,7 +231,7 @@
id_tag = "scraplock";
name = "scraplock"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/crew/toilets)
"aw" = (
/turf/wall/r_wall,
@@ -252,7 +252,7 @@
id_tag = "scraplock";
name = "scraplock"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/crew/medbay/chemistry)
"az" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -272,9 +272,7 @@
name = "scraplock"
},
/obj/machinery/door/firedoor,
-/turf/floor/tiled{
- icon_state = "white"
- },
+/turf/floor/tiled/white,
/area/ship/trade/crew/medbay/chemistry)
"aB" = (
/obj/effect/decal/cleanable/dirt,
@@ -2177,7 +2175,7 @@
/obj/structure/cable{
icon_state = "0-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/port)
"fh" = (
/obj/machinery/light{
@@ -2191,7 +2189,7 @@
dir = 6
},
/obj/machinery/meter,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/port)
"fk" = (
/obj/structure/table,
@@ -2312,7 +2310,7 @@
dir = 10
},
/obj/machinery/meter,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/starboard)
"fA" = (
/obj/machinery/power/apc{
@@ -2322,7 +2320,7 @@
/obj/structure/cable{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/starboard)
"fB" = (
/obj/effect/floor_decal/industrial/warning,
@@ -2332,14 +2330,14 @@
/obj/structure/handrail{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/port)
"fC" = (
/obj/effect/floor_decal/industrial/warning,
/obj/machinery/atmospherics/pipe/manifold/visible/fuel{
dir = 4
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/port)
"fE" = (
/turf/wall,
@@ -2371,7 +2369,7 @@
/obj/machinery/atmospherics/pipe/manifold/visible/fuel{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/starboard)
"fP" = (
/obj/effect/floor_decal/industrial/warning,
@@ -2381,7 +2379,7 @@
/obj/structure/handrail{
dir = 8
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/starboard)
"fQ" = (
/obj/effect/floor_decal/industrial/warning,
@@ -2543,7 +2541,7 @@
/obj/structure/sign/warning/hot_exhaust{
pixel_y = 32
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/port)
"gm" = (
/obj/structure/lattice,
@@ -2858,9 +2856,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/wall/r_wall{
- can_open = 1
- },
+/turf/wall/false,
/area/ship/trade/hidden)
"hl" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -3724,7 +3720,7 @@
id_tag = "scraplock";
name = "scraplock"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/atmos)
"iW" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -4379,7 +4375,7 @@
/area/ship/trade/maintenance/engine/aft)
"kC" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/starboard)
"kD" = (
/obj/structure/window/reinforced,
@@ -4777,7 +4773,7 @@
/area/ship/trade/shieldbay)
"or" = (
/obj/structure/lattice,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/aft)
"oK" = (
/obj/effect/paint/brown,
@@ -4999,7 +4995,7 @@
/obj/machinery/door/blast/regular{
id_tag = "sensor"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/command/fmate)
"qZ" = (
/obj/structure/closet/radiation,
@@ -5148,7 +5144,7 @@
/obj/machinery/atmospherics/unary/engine{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/starboard)
"sm" = (
/obj/effect/wallframe_spawn/reinforced/titanium,
@@ -5178,7 +5174,7 @@
/obj/structure/sign/warning/hot_exhaust{
pixel_y = 32
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/starboard)
"sA" = (
/obj/machinery/door/airlock/hatch,
@@ -5290,7 +5286,7 @@
id_tag = "scraplock";
name = "scraplock"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/command/fmate)
"uc" = (
/obj/machinery/alarm{
@@ -5330,7 +5326,7 @@
id_tag = "scraplock";
name = "scraplock"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/crew/medbay/chemistry)
"uD" = (
/obj/machinery/port_gen/pacman/super,
@@ -5403,7 +5399,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
dir = 6
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/starboard)
"vL" = (
/obj/machinery/door/blast/regular/open{
@@ -5414,7 +5410,7 @@
/obj/structure/sign/warning/hot_exhaust{
pixel_y = 32
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/aft)
"vP" = (
/obj/machinery/light{
@@ -5486,7 +5482,7 @@
/turf/wall/r_wall/hull,
/area/ship/trade/maintenance/engine/starboard)
"wB" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/aft)
"wG" = (
/obj/machinery/atmospherics/pipe/zpipe/up/supply,
@@ -5697,7 +5693,7 @@
/area/ship/trade/crew/toilets)
"zs" = (
/obj/machinery/shipsensors,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/command/fmate)
"zO" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -5965,7 +5961,7 @@
/area/ship/trade/shuttle/outgoing/general)
"Cz" = (
/obj/structure/shuttle/engine/propulsion/burst,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/shuttle/rescue)
"CD" = (
/obj/effect/paint/red,
@@ -5986,7 +5982,7 @@
/area/ship/trade/command/bridge)
"CI" = (
/obj/structure/shuttle/engine/propulsion/burst/left,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/shuttle/outgoing/engineering)
"CP" = (
/obj/machinery/door/airlock/hatch/autoname/general,
@@ -6303,9 +6299,7 @@
/obj/machinery/door/window/southright,
/obj/structure/table/marble,
/obj/machinery/door/firedoor,
-/turf/floor/tiled{
- icon_state = "white"
- },
+/turf/floor/tiled/white,
/area/ship/trade/crew/medbay/chemistry)
"FD" = (
/obj/machinery/door/firedoor,
@@ -6596,7 +6590,7 @@
/turf/floor/plating,
/area/ship/trade/shieldbay)
"IM" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/command/captain)
"IW" = (
/obj/effect/paint/red,
@@ -6706,7 +6700,7 @@
/area/ship/trade/maintenance/power)
"JN" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/port)
"JR" = (
/obj/effect/floor_decal/corner/beige{
@@ -6847,7 +6841,7 @@
/obj/structure/shuttle/engine/propulsion/burst/right{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/shuttle/outgoing/general)
"Lc" = (
/obj/effect/decal/cleanable/cobweb,
@@ -7070,13 +7064,13 @@
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
dir = 10
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/port)
"NG" = (
/obj/structure/shuttle/engine/propulsion/burst/left{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/shuttle/outgoing/general)
"NI" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
@@ -7265,7 +7259,7 @@
id_tag = "scraplock";
name = "scraplock"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/power)
"PU" = (
/obj/machinery/door/blast/regular/open{
@@ -7276,7 +7270,7 @@
/obj/item/mollusc/barnacle{
pixel_y = -11
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/command/captain)
"Qb" = (
/obj/machinery/computer/modular/preset/cardslot/command,
@@ -7303,7 +7297,7 @@
/obj/structure/sign/warning/hot_exhaust{
pixel_y = 32
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/starboard)
"Qu" = (
/obj/machinery/portable_atmospherics/canister/hydrogen,
@@ -7413,7 +7407,7 @@
id_tag = "scraplock";
name = "scraplock"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/atmos)
"Rq" = (
/obj/structure/cable{
@@ -7452,7 +7446,7 @@
/obj/machinery/atmospherics/unary/engine{
dir = 1
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/maintenance/engine/port)
"Sb" = (
/obj/structure/handrail{
@@ -7496,7 +7490,7 @@
id_tag = "scraplock";
name = "scraplock"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/crew/toilets)
"Sj" = (
/obj/effect/floor_decal/techfloor/orange{
@@ -7598,7 +7592,7 @@
/area/space)
"Tx" = (
/obj/structure/shuttle/engine/propulsion/burst/right,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/shuttle/outgoing/engineering)
"TB" = (
/obj/machinery/atmospherics/valve/open{
@@ -8133,7 +8127,7 @@
dir = 1;
id_tag = "tradeship_rescue_shuttle_pump_out_external"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/shuttle/rescue)
(1,1,1) = {"
diff --git a/maps/tradeship/tradeship-3.dmm b/maps/tradeship/tradeship-3.dmm
index d886f24f011..eba7b7f15ab 100644
--- a/maps/tradeship/tradeship-3.dmm
+++ b/maps/tradeship/tradeship-3.dmm
@@ -20,7 +20,7 @@
/turf/floor/reinforced/airless,
/area/ship/trade/comms)
"ae" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"af" = (
/obj/machinery/door/airlock/external/bolted{
@@ -109,7 +109,7 @@
/area/ship/trade/maintenance/solars)
"aq" = (
/obj/item/stack/cable_coil/single/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"ar" = (
/obj/structure/handrail{
@@ -181,7 +181,7 @@
/area/space)
"ay" = (
/obj/item/solar_assembly,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"az" = (
/obj/structure/cable/yellow{
@@ -264,7 +264,7 @@
icon_state = "0-4"
},
/obj/item/solar_assembly,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aJ" = (
/obj/machinery/atmospherics/pipe/manifold/hidden,
@@ -352,7 +352,7 @@
icon_state = "0-8"
},
/obj/item/solar_assembly,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aU" = (
/obj/structure/railing/mapped{
@@ -378,7 +378,7 @@
/obj/structure/cable/yellow{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"aX" = (
/obj/structure/railing/mapped{
@@ -442,7 +442,7 @@
/area/ship/trade/maintenance/solars)
"bd" = (
/obj/item/stack/material/pane/mapped/glass/ten,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"be" = (
/obj/machinery/light_switch{
@@ -536,7 +536,7 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"bE" = (
/obj/effect/floor_decal/steeldecal/steel_decals6,
@@ -611,7 +611,7 @@
/obj/structure/cable/yellow{
icon_state = "6-9"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"hJ" = (
/obj/structure/cable{
@@ -632,7 +632,7 @@
/obj/structure/cable/yellow{
icon_state = "5-10"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"jv" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -890,7 +890,7 @@
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"zY" = (
/obj/effect/paint/brown,
@@ -918,7 +918,7 @@
id_tag = "scraplock";
name = "External Blast Doors"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/bridge_unused)
"Dg" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -1107,11 +1107,11 @@
id_tag = "scraplock";
name = "External Blast Doors"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/ship/trade/comms)
"Rg" = (
/obj/structure/cable/yellow,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"RZ" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
@@ -1137,7 +1137,7 @@
/obj/structure/cable/yellow{
icon_state = "1-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"Su" = (
/turf/floor/bluegrid,
@@ -1171,7 +1171,7 @@
/obj/structure/cable/yellow{
icon_state = "0-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/space)
"Uq" = (
/obj/machinery/alarm{
diff --git a/maps/~unit_tests/unit_tests.dmm b/maps/~unit_tests/unit_tests.dmm
index 76f2c57f7ae..2acc17c7d1e 100644
--- a/maps/~unit_tests/unit_tests.dmm
+++ b/maps/~unit_tests/unit_tests.dmm
@@ -9,14 +9,10 @@
/turf/unsimulated/wall,
/area/test_area/requires_power_dynamic_lighting)
"d" = (
-/turf/unsimulated/floor{
- icon_state = "hydrofloor"
- },
+/turf/unsimulated/floor/hydro,
/area/test_area/powered_dynamic_lighting)
"e" = (
-/turf/unsimulated/floor{
- icon_state = "hydrofloor"
- },
+/turf/unsimulated/floor/hydro,
/area/test_area/requires_power_dynamic_lighting)
"f" = (
/turf/unsimulated/wall,
@@ -26,31 +22,21 @@
/area/test_area/requires_power_non_dynamic_lighting)
"h" = (
/obj/abstract/landmark/test/virtual_spawn/two,
-/turf/unsimulated/floor{
- icon_state = "hydrofloor"
- },
+/turf/unsimulated/floor/hydro,
/area/test_area/powered_non_dynamic_lighting)
"i" = (
-/turf/unsimulated/floor{
- icon_state = "hydrofloor"
- },
+/turf/unsimulated/floor/hydro,
/area/test_area/powered_non_dynamic_lighting)
"j" = (
/obj/abstract/landmark/test/virtual_spawn/one,
-/turf/unsimulated/floor{
- icon_state = "hydrofloor"
- },
+/turf/unsimulated/floor/hydro,
/area/test_area/powered_non_dynamic_lighting)
"k" = (
/obj/abstract/landmark/test/virtual_spawn/three,
-/turf/unsimulated/floor{
- icon_state = "hydrofloor"
- },
+/turf/unsimulated/floor/hydro,
/area/test_area/powered_non_dynamic_lighting)
"l" = (
-/turf/unsimulated/floor{
- icon_state = "hydrofloor"
- },
+/turf/unsimulated/floor/hydro,
/area/test_area/requires_power_non_dynamic_lighting)
"m" = (
/turf/unsimulated/wall,
@@ -71,9 +57,7 @@
/area/test_area/general)
"X" = (
/obj/abstract/level_data_spawner/debug,
-/turf/unsimulated/floor{
- icon_state = "hydrofloor"
- },
+/turf/unsimulated/floor/hydro,
/area/test_area/powered_dynamic_lighting)
(1,1,1) = {"
diff --git a/mods/content/government/away_sites/icarus/icarus-1.dmm b/mods/content/government/away_sites/icarus/icarus-1.dmm
index 4f0de3bce3e..b04503e9333 100644
--- a/mods/content/government/away_sites/icarus/icarus-1.dmm
+++ b/mods/content/government/away_sites/icarus/icarus-1.dmm
@@ -785,7 +785,7 @@
/area/icarus/vessel)
"cN" = (
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"cO" = (
/obj/structure/table,
@@ -1210,7 +1210,7 @@
"ee" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"ef" = (
/obj/effect/decal/cleanable/dirt,
@@ -1234,7 +1234,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"ej" = (
/obj/random/trash,
@@ -1260,7 +1260,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eo" = (
/obj/effect/decal/cleanable/dirt,
@@ -1274,9 +1274,7 @@
"eq" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/icarus/open)
"er" = (
/obj/effect/decal/cleanable/dirt,
@@ -1304,7 +1302,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/clothing/mask/breath/emergency,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"ex" = (
/obj/structure/table,
@@ -1319,20 +1317,16 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/icarus/open)
"eA" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/icarus/open)
"eB" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/scalpel,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eC" = (
/obj/effect/decal/cleanable/dirt,
@@ -1340,7 +1334,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eD" = (
/obj/effect/decal/cleanable/dirt,
@@ -1349,7 +1343,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/bedsheet/orange,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eE" = (
/obj/effect/decal/cleanable/dirt,
@@ -1369,7 +1363,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/clothing/mask/surgical,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eH" = (
/obj/effect/decal/cleanable/dirt,
@@ -1378,35 +1372,35 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eI" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/plate,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/utensil/knife,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eK" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/structure/bed/padded,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eL" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/random/snack,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eM" = (
/obj/effect/decal/cleanable/dirt,
@@ -1416,7 +1410,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eN" = (
/obj/effect/decal/cleanable/dirt,
@@ -1425,7 +1419,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/plate,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eO" = (
/obj/effect/decal/cleanable/dirt,
@@ -1433,14 +1427,14 @@
/obj/structure/bed/chair{
dir = 1
},
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eP" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/ash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eQ" = (
/obj/effect/decal/cleanable/dirt,
@@ -1449,7 +1443,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/rods,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eR" = (
/obj/effect/decal/cleanable/dirt,
@@ -1457,7 +1451,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/ore/slag,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eS" = (
/obj/effect/decal/cleanable/dirt,
@@ -1468,7 +1462,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eT" = (
/obj/effect/decal/cleanable/dirt,
@@ -1479,7 +1473,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/ash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eU" = (
/obj/effect/decal/cleanable/dirt,
@@ -1489,7 +1483,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/ore/slag,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eV" = (
/obj/effect/decal/cleanable/dirt,
@@ -1499,7 +1493,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/rods,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eW" = (
/obj/effect/decal/cleanable/dirt,
@@ -1507,31 +1501,31 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/random/snack,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eX" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/random/trash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eY" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/ash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"eZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/rods,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fa" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/pill_bottle/antibiotics,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fb" = (
/obj/effect/decal/cleanable/dirt,
@@ -1543,7 +1537,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/random/trash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fc" = (
/obj/effect/decal/cleanable/dirt,
@@ -1551,7 +1545,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/bag/trash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fd" = (
/obj/effect/decal/cleanable/dirt,
@@ -1559,7 +1553,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/random/trash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fe" = (
/obj/effect/decal/cleanable/dirt,
@@ -1571,7 +1565,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"ff" = (
/obj/effect/decal/cleanable/dirt,
@@ -1584,7 +1578,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fg" = (
/obj/effect/decal/cleanable/dirt,
@@ -1596,14 +1590,14 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/rods,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fh" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/chems/drinks/cans/waterbottle,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fi" = (
/obj/effect/decal/cleanable/dirt,
@@ -1611,13 +1605,13 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/rods,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fj" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/rods,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fk" = (
/obj/effect/decal/cleanable/dirt,
@@ -1631,7 +1625,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/ash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fl" = (
/obj/effect/decal/cleanable/dirt,
@@ -1645,12 +1639,12 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fm" = (
/obj/effect/decal/cleanable/dirt,
/obj/random/trash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fn" = (
/obj/effect/decal/cleanable/dirt,
@@ -1659,7 +1653,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/ash,
/obj/random/trash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fo" = (
/obj/effect/decal/cleanable/dirt,
@@ -1669,14 +1663,14 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/random/material,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fp" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/rods,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fq" = (
/obj/effect/decal/cleanable/dirt,
@@ -1685,22 +1679,22 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/ash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fr" = (
/obj/effect/decal/cleanable/dirt,
/obj/random/material,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fs" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/ore/slag,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"ft" = (
/obj/effect/icarus/irradiate,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"fv" = (
/obj/effect/decal/cleanable/dirt,
@@ -1708,9 +1702,7 @@
/area/icarus/open)
"fw" = (
/obj/effect/decal/cleanable/dirt,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/icarus/open)
"fx" = (
/obj/structure/table/steel,
@@ -1723,18 +1715,16 @@
/area/icarus/open)
"fz" = (
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/vessel)
"fA" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/vessel)
"fB" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/icarus/vessel)
"fC" = (
/obj/structure/table/steel,
@@ -1750,7 +1740,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/vessel)
"fF" = (
/obj/random/material,
@@ -1759,12 +1749,12 @@
"fG" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/vessel)
"fH" = (
/obj/effect/decal/cleanable/dirt,
/obj/random/trash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/vessel)
"fI" = (
/obj/structure/reagent_dispensers/fueltank,
@@ -1919,7 +1909,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/random/trash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/vessel)
"gk" = (
/obj/effect/floor_decal/industrial/warning{
@@ -2489,7 +2479,7 @@
"hW" = (
/obj/effect/decal/cleanable/ash,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"hX" = (
/obj/structure/grille,
@@ -2499,7 +2489,7 @@
/obj/effect/decal/cleanable/ash,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"hZ" = (
/obj/machinery/atmospherics/pipe/simple/visible/fuel{
@@ -2518,7 +2508,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"ic" = (
/obj/effect/decal/cleanable/ash,
@@ -2526,7 +2516,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"id" = (
/obj/machinery/atmospherics/unary/engine{
@@ -2538,7 +2528,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/ore/slag,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"if" = (
/obj/effect/decal/cleanable/dirt,
@@ -2547,7 +2537,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/ore/slag,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"ig" = (
/obj/effect/decal/cleanable/dirt,
@@ -2556,7 +2546,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/random/trash,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"ih" = (
/obj/effect/decal/cleanable/dirt,
@@ -2565,14 +2555,14 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/vehicle/train/cargo/trolley,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"ii" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/ore/slag,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"ij" = (
/obj/effect/decal/cleanable/dirt,
@@ -2584,7 +2574,7 @@
/obj/machinery/atmospherics/unary/engine{
anchored = 0
},
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"ik" = (
/obj/effect/decal/cleanable/ash,
@@ -2593,7 +2583,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"il" = (
/obj/effect/decal/cleanable/ash,
@@ -2603,7 +2593,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"im" = (
/obj/effect/decal/cleanable/ash,
@@ -2611,7 +2601,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/item/stack/material/ore/slag,
-/turf/unsimulated/beach/sand,
+/turf/unsimulated/floor/sand,
/area/icarus/open)
"io" = (
/obj/effect/decal/cleanable/ash,
diff --git a/mods/content/government/away_sites/icarus/icarus-2.dmm b/mods/content/government/away_sites/icarus/icarus-2.dmm
index bafa77a92e3..e32afe37e27 100644
--- a/mods/content/government/away_sites/icarus/icarus-2.dmm
+++ b/mods/content/government/away_sites/icarus/icarus-2.dmm
@@ -1217,9 +1217,7 @@
/turf/floor/plating,
/area/icarus/open)
"dR" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/icarus/open)
"dS" = (
/obj/structure/bed,
@@ -1272,9 +1270,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/icarus/open)
"eb" = (
/obj/item/clothing/gloves/ring/mariner,
@@ -1321,9 +1317,7 @@
/turf/floor/tiled,
/area/icarus/vessel)
"ei" = (
-/turf/floor/airless{
- icon_state = "dmg2"
- },
+/turf/floor/plating/airless/broken,
/area/icarus/vessel)
"ej" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
diff --git a/mods/content/government/ruins/ec_old_crash/ec_old_crash.dmm b/mods/content/government/ruins/ec_old_crash/ec_old_crash.dmm
index 14e28b985e1..5aa3911fe64 100644
--- a/mods/content/government/ruins/ec_old_crash/ec_old_crash.dmm
+++ b/mods/content/government/ruins/ec_old_crash/ec_old_crash.dmm
@@ -26,7 +26,7 @@
/area/map_template/ecship/cockpit)
"af" = (
/obj/machinery/computer/modular/preset/cardslot/command,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/cockpit)
"ag" = (
/obj/structure/grille,
@@ -39,7 +39,7 @@
"ak" = (
/obj/structure/table,
/obj/item/radio,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/cockpit)
"al" = (
/obj/structure/table,
@@ -55,7 +55,7 @@
dir = 1;
icon_state = "0-4"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/cockpit)
"am" = (
/obj/machinery/atmospherics/unary/vent_pump/low{
@@ -66,7 +66,7 @@
dir = 4;
pixel_x = -24
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/cockpit)
"an" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -77,7 +77,7 @@
icon_state = "1-2"
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/cockpit)
"ao" = (
/obj/effect/wallframe_spawn/reinforced,
@@ -86,7 +86,7 @@
/turf/floor,
/area/map_template/ecship/science)
"ap" = (
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/cockpit)
"aq" = (
/turf/wall/r_wall/hull,
@@ -306,7 +306,7 @@
icon_state = "4-8"
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/cryo)
"aT" = (
/obj/structure/closet/wardrobe/mixed,
@@ -508,7 +508,7 @@
icon_state = "4-8"
},
/obj/abstract/landmark/allowed_leak,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/crew)
"bp" = (
/obj/effect/floor_decal/corner/purple{
@@ -1621,7 +1621,7 @@
dir = 4;
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/engine)
"dz" = (
/obj/structure/catwalk,
@@ -1643,7 +1643,7 @@
/obj/structure/cable{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/engine)
"dB" = (
/obj/machinery/power/solar,
@@ -1651,7 +1651,7 @@
/obj/structure/cable{
icon_state = "0-8"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/engine)
"dD" = (
/obj/effect/floor_decal/corner/yellow/full,
@@ -1693,7 +1693,7 @@
dir = 4;
icon_state = "0-2"
},
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/engine)
"dI" = (
/obj/structure/catwalk,
@@ -1731,7 +1731,7 @@
icon_state = "1-4"
},
/obj/abstract/landmark/scorcher,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/engine)
"dR" = (
/turf/wall/r_wall/hull,
@@ -1740,7 +1740,7 @@
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
/obj/abstract/landmark/scorcher,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/engine)
"dT" = (
/obj/machinery/air_sensor{
@@ -1769,7 +1769,7 @@
dir = 5
},
/obj/abstract/landmark/scorcher,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/engine)
"dY" = (
/obj/structure/lattice,
@@ -1859,7 +1859,7 @@
/area/map_template/ecship/engine)
"ei" = (
/obj/structure/catwalk,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/engine)
"ej" = (
/obj/structure/lattice,
@@ -1971,7 +1971,7 @@
"YW" = (
/obj/structure/catwalk,
/obj/abstract/landmark/scorcher,
-/turf/floor/airless,
+/turf/floor/plating/airless,
/area/map_template/ecship/engine)
"ZF" = (
/obj/abstract/landmark/scorcher,
diff --git a/mods/gamemodes/cult/flooring.dm b/mods/gamemodes/cult/flooring.dm
index 0019cfd112b..a92973b1077 100644
--- a/mods/gamemodes/cult/flooring.dm
+++ b/mods/gamemodes/cult/flooring.dm
@@ -4,7 +4,7 @@
icon = 'icons/turf/flooring/cult.dmi'
icon_base = "cult"
build_type = null
- turf_flags = TURF_ACID_IMMUNE | TURF_CAN_BREAK | TURF_REMOVE_WRENCH
+ turf_flags = TURF_ACID_IMMUNE | TURF_REMOVE_WRENCH
can_paint = null
/decl/flooring/reinforced/cult/on_remove()
diff --git a/mods/gamemodes/cult/mobs/constructs/soulstone.dm b/mods/gamemodes/cult/mobs/constructs/soulstone.dm
index cbaa70b03f6..a6e8d693c3b 100644
--- a/mods/gamemodes/cult/mobs/constructs/soulstone.dm
+++ b/mods/gamemodes/cult/mobs/constructs/soulstone.dm
@@ -47,12 +47,11 @@
to_chat(user, "This one is cracked and useless.")
/obj/item/soulstone/attackby(var/obj/item/I, var/mob/user)
- ..()
if(is_evil && istype(I, /obj/item/nullrod))
to_chat(user, SPAN_NOTICE("You cleanse \the [src] of taint, purging its shackles to its creator."))
- is_evil = 0
- return
- if(I.get_attack_force(user) >= 5)
+ is_evil = FALSE
+ return TRUE
+ else if(I.get_attack_force(user) >= 5)
if(full != SOULSTONE_CRACKED)
user.visible_message(
SPAN_WARNING("\The [user] hits \the [src] with \the [I], and it breaks.[shade.client ? " You hear a terrible scream!" : ""]"),
@@ -63,6 +62,8 @@
else
user.visible_message(SPAN_DANGER("\The [user] shatters \the [src] with \the [I]!"))
shatter()
+ return TRUE
+ return ..()
/obj/item/soulstone/use_on_mob(mob/living/target, mob/living/user, animate = TRUE)
if(target == shade)
@@ -117,31 +118,33 @@
desc = "This eerie contraption looks like it would come alive if supplied with a missing ingredient."
/obj/structure/constructshell/attackby(var/obj/item/I, var/mob/user)
- if(istype(I, /obj/item/soulstone))
- var/obj/item/soulstone/S = I
- if(!S.shade.client)
- to_chat(user, SPAN_NOTICE("\The [I] has essence, but no soul. Activate it in your hand to find a soul for it first."))
- return
- if(S.shade.loc != S)
- to_chat(user, SPAN_NOTICE("Recapture the shade back into \the [I] first."))
- return
- var/construct = alert(user, "Please choose which type of construct you wish to create.",,"Artificer", "Wraith", "Juggernaut")
- var/ctype
- switch(construct)
- if("Artificer")
- ctype = /mob/living/simple_animal/construct/builder
- if("Wraith")
- ctype = /mob/living/simple_animal/construct/wraith
- if("Juggernaut")
- ctype = /mob/living/simple_animal/construct/armoured
- var/mob/living/simple_animal/construct/C = new ctype(get_turf(src))
- C.key = S.shade.key
- //C.cancel_camera()
- if(S.is_evil)
- var/decl/special_role/cult = GET_DECL(/decl/special_role/cultist)
- cult.add_antagonist(C.mind)
- qdel(S)
- qdel(src)
+ if(!istype(I, /obj/item/soulstone))
+ return ..()
+ var/obj/item/soulstone/S = I
+ if(!S.shade.client)
+ to_chat(user, SPAN_NOTICE("\The [I] has essence, but no soul. Activate it in your hand to find a soul for it first."))
+ return TRUE
+ if(S.shade.loc != S)
+ to_chat(user, SPAN_NOTICE("Recapture the shade back into \the [I] first."))
+ return TRUE
+ var/construct = alert(user, "Please choose which type of construct you wish to create.",,"Artificer", "Wraith", "Juggernaut")
+ var/ctype
+ switch(construct)
+ if("Artificer")
+ ctype = /mob/living/simple_animal/construct/builder
+ if("Wraith")
+ ctype = /mob/living/simple_animal/construct/wraith
+ if("Juggernaut")
+ ctype = /mob/living/simple_animal/construct/armoured
+ var/mob/living/simple_animal/construct/C = new ctype(get_turf(src))
+ C.key = S.shade.key
+ //C.cancel_camera()
+ if(S.is_evil)
+ var/decl/special_role/cult = GET_DECL(/decl/special_role/cultist)
+ cult.add_antagonist(C.mind)
+ qdel(S)
+ qdel(src)
+ return TRUE
/obj/structure/constructshell/get_artifact_scan_data()
return "Tribal idol - subject resembles statues/emblems built by superstitious pre-warp civilisations to honour their gods. Material appears to be a rock/plastcrete composite."
diff --git a/mods/gamemodes/cult/runes.dm b/mods/gamemodes/cult/runes.dm
index 4b8fad19c66..11fd2e328ed 100644
--- a/mods/gamemodes/cult/runes.dm
+++ b/mods/gamemodes/cult/runes.dm
@@ -48,11 +48,12 @@
if(istype(I, /obj/item/book/tome) && iscultist(user))
user.visible_message(SPAN_NOTICE("[user] rubs \the [src] with \the [I], and \the [src] is absorbed by it."), "You retrace your steps, carefully undoing the lines of \the [src].")
qdel(src)
- return
+ return TRUE
else if(istype(I, /obj/item/nullrod))
user.visible_message(SPAN_NOTICE("[user] hits \the [src] with \the [I], and it disappears, fizzling."), SPAN_NOTICE("You disrupt the vile magic with the deadening field of \the [I]."), "You hear a fizzle.")
qdel(src)
- return
+ return TRUE
+ return ..()
/obj/effect/rune/attack_hand(var/mob/user)
SHOULD_CALL_PARENT(FALSE)
@@ -320,13 +321,14 @@
if(istype(I, /obj/item/nullrod))
user.visible_message(SPAN_NOTICE("\The [user] touches \the [src] with \the [I], and it disappears."), SPAN_NOTICE("You disrupt the vile magic with the deadening field of \the [I]."))
qdel(src)
- else
- var/force = I.get_attack_force(user)
- if(force)
- user.visible_message(SPAN_NOTICE("\The [user] hits \the [src] with \the [I]."), SPAN_NOTICE("You hit \the [src] with \the [I]."))
- take_damage(force, I.atom_damage_type)
- user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
- user.do_attack_animation(src)
+ return TRUE
+ var/force = I.get_attack_force(user)
+ if(force)
+ user.visible_message(SPAN_NOTICE("\The [user] hits \the [src] with \the [I]."), SPAN_NOTICE("You hit \the [src] with \the [I]."))
+ take_damage(force, I.atom_damage_type)
+ user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
+ user.do_attack_animation(src)
+ return TRUE
/obj/effect/cultwall/bullet_act(var/obj/item/projectile/Proj)
if(!(Proj.atom_damage_type == BRUTE || Proj.atom_damage_type == BURN))
@@ -811,11 +813,11 @@
speak_incantation(user, "Uhrast ka'hfa heldsagen ver[pick("'","`")]lot!")
to_chat(user, SPAN_WARNING("In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood."))
for(var/mob/M in global.living_mob_list_)
+ var/decl/pronouns/pronouns = user.get_pronouns()
if(iscultist(M))
- var/decl/pronouns/pronouns = user.get_pronouns()
- to_chat(M, "You see a vision of \the [user] keeling over dead, his blood glowing blue as it escapes [pronouns.his] body and dissipates into thin air; you hear an otherwordly scream and feel that a great disaster has just been averted.")
+ to_chat(M, "You see a vision of \the [user] keeling over dead, [pronouns.his] blood glowing blue as it escapes [pronouns.his] body and dissipates into thin air; you hear an otherwordly scream and feel that a great disaster has just been averted.")
else
- to_chat(M, "You see a vision of [name] keeling over dead, his blood glowing blue as it escapes his body and dissipates into thin air; you hear an otherwordly scream and feel very weak for a moment.")
+ to_chat(M, "You see a vision of [name] keeling over dead, [pronouns.his] blood glowing blue as it escapes [pronouns.his] body and dissipates into thin air; you hear an otherwordly scream and feel very weak for a moment.")
log_and_message_admins("mended reality with the greatest sacrifice", user)
user.dust()
var/decl/special_role/cultist/cult = GET_DECL(/decl/special_role/cultist)
@@ -826,8 +828,8 @@
/obj/effect/rune/tearreality/attackby()
if(the_end_comes)
- return
- ..()
+ return TRUE
+ return ..()
/* Imbue runes */
diff --git a/mods/gamemodes/cult/structures.dm b/mods/gamemodes/cult/structures.dm
index 1d8bdbd2f23..51db7add603 100644
--- a/mods/gamemodes/cult/structures.dm
+++ b/mods/gamemodes/cult/structures.dm
@@ -25,9 +25,11 @@
/obj/structure/cult/pylon/attack_generic(var/mob/user, var/damage)
attackpylon(user, damage)
+ return TRUE
/obj/structure/cult/pylon/attackby(obj/item/W, mob/user)
attackpylon(user, W.get_attack_force(user))
+ return TRUE
/obj/structure/cult/pylon/proc/attackpylon(mob/user, var/damage)
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
diff --git a/mods/gamemodes/deity/deity_base.dmm b/mods/gamemodes/deity/deity_base.dmm
index 7b3ee57f84b..7e009c2d0bd 100644
--- a/mods/gamemodes/deity/deity_base.dmm
+++ b/mods/gamemodes/deity/deity_base.dmm
@@ -3,36 +3,22 @@
/turf/space/infinity,
/area/map_template/deity_spawn)
"b" = (
-/turf/unsimulated/floor{
- icon_state = "lava";
- name = "plating"
- },
+/turf/unsimulated/floor/lava,
/area/map_template/deity_spawn)
"c" = (
-/turf/unsimulated/floor{
- icon = 'icons/misc/beach.dmi';
- icon_state = "seashallow";
- name = "water"
- },
+/turf/unsimulated/floor/water,
/area/map_template/deity_spawn)
"d" = (
/obj/abstract/landmark{
name = "DeitySpawn"
},
-/turf/unsimulated/floor{
- icon_state = "lava";
- name = "plating"
- },
+/turf/unsimulated/floor/lava,
/area/map_template/deity_spawn)
"e" = (
/obj/abstract/landmark{
name = "DeitySpawn"
},
-/turf/unsimulated/floor{
- icon = 'icons/misc/beach.dmi';
- icon_state = "seashallow";
- name = "water"
- },
+/turf/unsimulated/floor/water,
/area/map_template/deity_spawn)
(1,1,1) = {"
diff --git a/mods/gamemodes/heist/heist_base.dmm b/mods/gamemodes/heist/heist_base.dmm
index e743f58da19..cd92f5dc909 100644
--- a/mods/gamemodes/heist/heist_base.dmm
+++ b/mods/gamemodes/heist/heist_base.dmm
@@ -16,65 +16,44 @@
/area/map_template/syndicate_mothership/raider_base)
"af" = (
/obj/random/junk,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"ag" = (
/obj/structure/closet/secure_closet/freezer/kitchen,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"ah" = (
/obj/structure/table/reinforced,
/obj/item/plate/tray{
pixel_y = 5
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"ai" = (
/obj/structure/table,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"aj" = (
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"ak" = (
/obj/structure/closet/secure_closet/freezer/fridge,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"al" = (
/obj/random/trash,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"am" = (
/obj/structure/table,
/obj/machinery/chemical_dispenser/bar_soft/full,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"an" = (
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"ao" = (
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"ap" = (
/obj/structure/table/reinforced,
@@ -82,147 +61,102 @@
pixel_x = -1;
pixel_y = 8
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"aq" = (
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"ar" = (
/obj/machinery/door/airlock/hatch{
name = "\improper NO DUST BREATHER ALLOWED"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"as" = (
/obj/machinery/vending/snack{
markup = 0
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"at" = (
/obj/structure/meat_hook,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"au" = (
/obj/vehicle/bike/thermal,
/obj/random/trash,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"av" = (
/obj/vehicle/bike/thermal,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"aw" = (
/obj/random/trash,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"ax" = (
/obj/item/radio/intercom{
dir = 4;
pixel_x = -22
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"ay" = (
/obj/random/junk,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"az" = (
/obj/random/trash,
/obj/item/chems/glass/bucket,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"aA" = (
/obj/structure/aliumizer,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"aB" = (
/obj/random/coin,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"aC" = (
/turf/wall/natural,
/area/map_template/syndicate_mothership/raider_base)
"aD" = (
/obj/machinery/door/airlock/hatch,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"aE" = (
/obj/effect/decal/cleanable/blood,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"aF" = (
/obj/machinery/gibber,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/syndicate_mothership/raider_base)
"aG" = (
/obj/structure/reagent_dispensers/fueltank,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"aH" = (
/obj/structure/hygiene/urinal{
pixel_y = 32
},
/obj/item/soap,
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/syndicate_mothership/raider_base)
"aI" = (
/obj/structure/hygiene/urinal{
pixel_y = 32
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/syndicate_mothership/raider_base)
"aJ" = (
/obj/structure/hygiene/urinal{
pixel_y = 32
},
/obj/random/trash,
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/syndicate_mothership/raider_base)
"aK" = (
/obj/structure/bed,
@@ -242,10 +176,7 @@
},
/obj/item/bedsheet/green,
/obj/structure/curtain/open/bed,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"aL" = (
/obj/abstract/landmark{
@@ -254,29 +185,20 @@
/obj/effect/floor_decal/carpet{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"aM" = (
/obj/effect/floor_decal/carpet{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"aN" = (
/obj/effect/floor_decal/carpet{
dir = 1
},
/obj/random/trash,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"aO" = (
/obj/structure/bed,
@@ -291,57 +213,39 @@
},
/obj/item/bedsheet/rd,
/obj/structure/curtain/open/bed,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"aP" = (
/obj/machinery/door/airlock/hatch,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"aQ" = (
/obj/random/junk,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"aR" = (
/obj/random/loot,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"aS" = (
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/syndicate_mothership/raider_base)
"aT" = (
/obj/effect/decal/cleanable/blood,
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/syndicate_mothership/raider_base)
"aU" = (
/obj/machinery/door/airlock/hatch{
name = "\improper LITTLE VOX ROOM"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"aV" = (
/obj/item/radio/intercom{
dir = 8;
pixel_x = 22
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"aW" = (
/obj/structure/bed,
@@ -350,25 +254,16 @@
},
/obj/item/bedsheet/hos,
/obj/structure/curtain/open/bed,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"aX" = (
/obj/abstract/landmark{
name = "raiderstart"
},
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"aY" = (
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"aZ" = (
/obj/structure/bed,
@@ -377,10 +272,7 @@
},
/obj/item/bedsheet/rainbow,
/obj/structure/curtain/open/bed,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"ba" = (
/obj/structure/hygiene/sink{
@@ -388,9 +280,7 @@
pixel_x = -12;
pixel_y = 2
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/syndicate_mothership/raider_base)
"bb" = (
/obj/structure/bed,
@@ -399,10 +289,7 @@
},
/obj/item/bedsheet/clown,
/obj/structure/curtain/open/bed,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"bc" = (
/obj/structure/bed,
@@ -411,18 +298,12 @@
},
/obj/item/bedsheet/orange,
/obj/structure/curtain/open/bed,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"bd" = (
/obj/effect/decal/cleanable/cobweb,
/obj/machinery/fabricator/hacked,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"be" = (
/obj/structure/closet/crate,
@@ -433,56 +314,37 @@
/obj/machinery/light/small{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bf" = (
/obj/effect/decal/cleanable/dirt,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bg" = (
/obj/structure/sign/warning/nosmoking_1/heist{
pixel_y = 32
},
/obj/item/box/fancy/cigarettes/dromedaryco,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bh" = (
/obj/effect/decal/cleanable/blood/oil,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bi" = (
/obj/effect/decal/cleanable/cobweb2{
icon_state = "spiderling";
name = "dead spider"
},
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bj" = (
/obj/item/clothing/head/xenos,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"bk" = (
/obj/random/trash,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"bl" = (
/obj/structure/hygiene/sink{
@@ -494,26 +356,19 @@
dir = 4;
pixel_x = -28
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/syndicate_mothership/raider_base)
"bm" = (
/obj/structure/hygiene/shower{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bn" = (
/obj/structure/hygiene/shower{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/syndicate_mothership/raider_base)
"bo" = (
/obj/structure/table/woodentable,
@@ -522,10 +377,7 @@
},
/obj/random/junk,
/obj/random/maintenance,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"bp" = (
/obj/structure/table/woodentable,
@@ -535,42 +387,28 @@
/obj/effect/floor_decal/carpet{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"bq" = (
/obj/effect/wingrille_spawn/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"br" = (
/obj/item/radio/intercom{
dir = 4;
pixel_x = -22
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"bs" = (
/obj/effect/decal/cleanable/spiderling_remains,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bt" = (
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bu" = (
/obj/structure/window/reinforced{
@@ -580,10 +418,7 @@
dir = 8
},
/obj/random/toolbox,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bv" = (
/obj/effect/decal/cleanable/dirt,
@@ -592,45 +427,32 @@
/obj/structure/window/reinforced{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bw" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/machinery/portable_atmospherics/canister/oxygen,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bx" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/machinery/portable_atmospherics/canister/nitrogen,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"by" = (
/obj/item/clothing/mask/gas/swat{
desc = "A close-fitting mask clearly not made for a human face.";
name = "\improper alien mask"
},
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"bC" = (
/obj/effect/decal/cleanable/cobweb2{
icon_state = "spiderling";
name = "dead spider"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"bD" = (
/obj/item/radio/intercom{
@@ -644,17 +466,11 @@
/obj/effect/floor_decal/carpet{
dir = 10
},
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"bE" = (
/obj/effect/floor_decal/carpet,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"bF" = (
/obj/structure/closet{
@@ -666,26 +482,17 @@
/obj/item/clothing/jumpsuit/mailman,
/obj/item/clothing/webbing,
/obj/item/clothing/costume/dispatch,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"bG" = (
/obj/structure/undies_wardrobe,
/obj/effect/floor_decal/carpet,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"bH" = (
/obj/random/junk,
/obj/effect/floor_decal/carpet,
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"bI" = (
/obj/effect/floor_decal/carpet{
@@ -695,21 +502,13 @@
/obj/effect/floor_decal/carpet{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "carpet";
- name = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/syndicate_mothership/raider_base)
"bJ" = (
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/syndicate_mothership/raider_base)
"bK" = (
-/turf/unsimulated/floor{
- icon = 'icons/turf/flooring/wood.dmi';
- icon_state = "wood_broken2"
- },
+/turf/unsimulated/floor/wood/broken,
/area/map_template/syndicate_mothership/raider_base)
"bL" = (
/obj/structure/table/woodentable,
@@ -717,42 +516,29 @@
pixel_y = 5
},
/obj/item/backpack,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/syndicate_mothership/raider_base)
"bM" = (
/obj/structure/table/woodentable,
/obj/item/box/glasses/rocks,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/syndicate_mothership/raider_base)
"bN" = (
/obj/structure/table/woodentable,
/obj/machinery/chemical_dispenser/bar_soft/full,
-/turf/unsimulated/floor{
- icon = 'icons/turf/flooring/wood.dmi';
- icon_state = "wood_broken6"
- },
+/turf/unsimulated/floor/wood/broken6,
/area/map_template/syndicate_mothership/raider_base)
"bO" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/washing_machine,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bP" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/portables_connector{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bQ" = (
/obj/machinery/atmospherics/omni/mixer{
@@ -766,10 +552,7 @@
tag_west_con = 0.5;
use_power = 0
},
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bR" = (
/obj/structure/window/reinforced{
@@ -779,73 +562,51 @@
/obj/machinery/atmospherics/portables_connector{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bS" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/machinery/portable_atmospherics/canister/oxygen,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/syndicate_mothership/raider_base)
"bT" = (
/obj/item/pizzabox/meat,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"bU" = (
/obj/structure/rack,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"bV" = (
/obj/item/stool/padded,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/syndicate_mothership/raider_base)
"bW" = (
/obj/effect/decal/cleanable/generic,
/obj/item/stool/padded,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/syndicate_mothership/raider_base)
"bZ" = (
/obj/machinery/acting/changer,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"ca" = (
/obj/structure/table/woodentable,
/obj/item/pizzabox/meat,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/syndicate_mothership/raider_base)
"cb" = (
/obj/structure/table/woodentable,
/obj/item/ashtray,
/obj/item/trash/cigbutt/cigarbutt,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/syndicate_mothership/raider_base)
"cc" = (
/obj/structure/table/woodentable,
/obj/item/chems/glass/rag,
/obj/random/loot,
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/syndicate_mothership/raider_base)
"cd" = (
/obj/machinery/vending/cigarette{
@@ -853,48 +614,32 @@
markup = 0;
products = list(/obj/item/box/fancy/cigarettes = 10, /obj/item/box/matches = 10, /obj/item/flame/fuelled/lighter/zippo/random = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"ce" = (
/obj/item/tank/nitrogen,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"cf" = (
/obj/item/backpack,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"cg" = (
/obj/structure/sign/poster{
pixel_y = -32
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"ch" = (
-/turf/unsimulated/floor{
- icon = 'icons/turf/flooring/wood.dmi';
- icon_state = "wood_broken1"
- },
+/turf/unsimulated/floor/wood/broken1,
/area/map_template/syndicate_mothership/raider_base)
"ci" = (
/obj/item/stool/padded,
-/turf/unsimulated/floor{
- icon = 'icons/turf/flooring/wood.dmi';
- icon_state = "wood_broken1"
- },
+/turf/unsimulated/floor/wood/broken1,
/area/map_template/syndicate_mothership/raider_base)
"cj" = (
/mob/living/simple_animal/hostile/parrot/pirate,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"ck" = (
/obj/structure/grille,
@@ -907,9 +652,7 @@
dir = 4;
pixel_x = -22
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"cm" = (
/obj/item/radio/intercom{
@@ -921,16 +664,11 @@
icon_state = "plant-25";
name = "Jamie"
},
-/turf/unsimulated/floor{
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/syndicate_mothership/raider_base)
"cn" = (
/obj/structure/reagent_dispensers/beerkeg,
-/turf/unsimulated/floor{
- icon = 'icons/turf/flooring/wood.dmi';
- icon_state = "wood_broken1"
- },
+/turf/unsimulated/floor/wood/broken1,
/area/map_template/syndicate_mothership/raider_base)
"co" = (
/obj/machinery/embedded_controller/radio/simple_docking_controller{
@@ -938,9 +676,7 @@
pixel_x = -25;
pixel_y = -5
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"cp" = (
/obj/structure/closet/crate,
@@ -950,21 +686,15 @@
/obj/item/tank/nitrogen,
/obj/item/tank/nitrogen,
/obj/item/tank/nitrogen,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"cq" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"cr" = (
/obj/item/clothing/head/philosopher_wig,
-/turf/unsimulated/floor{
- icon_state = "asteroid"
- },
+/turf/unsimulated/floor/asteroid,
/area/map_template/syndicate_mothership/raider_base)
"cs" = (
/obj/structure/lattice,
@@ -972,17 +702,13 @@
/area/space)
"ct" = (
/obj/machinery/door/airlock/external,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"cu" = (
/obj/machinery/door/airlock/external{
id_tag = "skipjack_base_hatch"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"cv" = (
/obj/item/trash/cheesie,
@@ -1496,10 +1222,7 @@
},
/obj/item/food/junk/tastybread,
/obj/item/food/junk/tastybread,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/skipjack_station/start)
"dL" = (
/obj/machinery/door/airlock/hatch,
@@ -1810,18 +1533,14 @@
initial_network_id = "piratenet";
req_access = list("ACCESS_RAIDER")
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"pE" = (
/obj/machinery/network/mainframe{
initial_network_id = "piratenet";
req_access = list("ACCESS_RAIDER")
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"FL" = (
/obj/machinery/network/relay/long_range{
@@ -1832,24 +1551,18 @@
/area/map_template/skipjack_station/start)
"PS" = (
/obj/machinery/network/telecomms_hub/raider,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"SM" = (
/obj/machinery/network/router{
initial_network_id = "piratenet";
req_access = list("ACCESS_RAIDER")
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
"VB" = (
/obj/machinery/computer/message_monitor,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/syndicate_mothership/raider_base)
(1,1,1) = {"
diff --git a/mods/gamemodes/ninja/maps/ninja_base.dmm b/mods/gamemodes/ninja/maps/ninja_base.dmm
index 0627476cb41..fcda23c484b 100644
--- a/mods/gamemodes/ninja/maps/ninja_base.dmm
+++ b/mods/gamemodes/ninja/maps/ninja_base.dmm
@@ -3,15 +3,11 @@
/turf/unsimulated/floor/snow,
/area/map_template/ninja_dojo/dojo)
"ad" = (
-/turf/unsimulated/floor{
- icon_state = "snow"
- },
+/turf/unsimulated/floor/snow,
/area/map_template/ninja_dojo/dojo)
"ae" = (
/obj/effect/floor_decal/asteroid,
-/turf/unsimulated/floor{
- icon_state = "snow"
- },
+/turf/unsimulated/floor/snow,
/area/map_template/ninja_dojo/dojo)
"af" = (
/obj/effect/floor_decal/asteroid,
@@ -19,15 +15,11 @@
/area/map_template/ninja_dojo/dojo)
"ag" = (
/obj/structure/flora/tree/dead,
-/turf/unsimulated/floor{
- icon_state = "snow"
- },
+/turf/unsimulated/floor/snow,
/area/map_template/ninja_dojo/dojo)
"ah" = (
/obj/structure/flora/tree/pine,
-/turf/unsimulated/floor{
- icon_state = "snow"
- },
+/turf/unsimulated/floor/snow,
/area/map_template/ninja_dojo/dojo)
"ai" = (
/obj/structure/flora/tree/dead,
@@ -39,15 +31,11 @@
"ak" = (
/obj/structure/table/glass,
/obj/item/firstaid/surgery,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"al" = (
/obj/machinery/optable,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"am" = (
/obj/structure/closet/medical_wall{
@@ -63,9 +51,7 @@
/obj/item/chems/glass/bottle/sedatives,
/obj/item/chems/glass/bottle/sedatives,
/obj/item/chems/syringe,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"an" = (
/obj/structure/table/glass,
@@ -74,28 +60,20 @@
/obj/structure/window/reinforced/crescent{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"ao" = (
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aq" = (
/obj/structure/table/glass,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"ar" = (
/obj/structure/table/glass,
/obj/item/chems/spray/antiseptic,
/obj/item/chems/spray/cleaner,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"at" = (
/obj/structure/table/glass,
@@ -109,54 +87,36 @@
/obj/structure/window/reinforced/crescent{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aw" = (
/obj/structure/table/glass,
/obj/item/box/beakers,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"ax" = (
/obj/machinery/computer/teleporter,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/ninja_dojo/dojo)
"ay" = (
/obj/machinery/teleport/station,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/ninja_dojo/dojo)
"az" = (
/obj/machinery/teleport/hub,
/obj/effect/floor_decal/industrial/hatch/yellow,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/ninja_dojo/dojo)
"aA" = (
/obj/effect/wingrille_spawn/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "plating";
- name = "plating"
- },
+/turf/unsimulated/floor/plating,
/area/map_template/ninja_dojo/dojo)
"aB" = (
/obj/structure/table/glass,
/obj/item/chems/syringe/antibiotic,
/obj/item/chems/syringe/antibiotic,
/obj/item/stack/medical/bandage/advanced,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aC" = (
/obj/structure/table/glass,
@@ -170,24 +130,18 @@
/obj/structure/window/reinforced/crescent{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aD" = (
/obj/machinery/chemical_dispenser/ert,
/obj/item/chems/glass/beaker/large,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aE" = (
/obj/effect/floor_decal/industrial/warning{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"aF" = (
/obj/effect/floor_decal/industrial/warning{
@@ -197,15 +151,10 @@
dir = 8;
pixel_x = 22
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"aG" = (
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"aH" = (
/obj/structure/flora/tree/pine,
@@ -214,9 +163,7 @@
"aI" = (
/obj/structure/iv_drip,
/obj/structure/window/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aJ" = (
/obj/structure/table/glass,
@@ -226,37 +173,27 @@
dir = 4
},
/obj/structure/window/reinforced/crescent,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aK" = (
/obj/effect/floor_decal/spline/fancy/wood/corner,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aL" = (
/obj/effect/floor_decal/spline/fancy/wood,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aM" = (
/obj/effect/floor_decal/spline/fancy/wood,
/obj/machinery/chemical_dispenser/full,
/obj/item/chems/glass/beaker/large,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aN" = (
/obj/machinery/door/morgue{
name = "Teleporter"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"aO" = (
/obj/effect/floor_decal/carpet/blue{
@@ -271,19 +208,13 @@
/obj/abstract/landmark{
name = "ninjastart"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "bcarpet"
- },
+/turf/unsimulated/floor/bcarpet,
/area/map_template/ninja_dojo/dojo)
"aP" = (
/obj/effect/floor_decal/carpet/blue{
dir = 1
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "bcarpet"
- },
+/turf/unsimulated/floor/bcarpet,
/area/map_template/ninja_dojo/dojo)
"aQ" = (
/obj/effect/floor_decal/carpet/blue{
@@ -295,152 +226,103 @@
/obj/effect/floor_decal/carpet/blue{
dir = 5
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "bcarpet"
- },
+/turf/unsimulated/floor/bcarpet,
/area/map_template/ninja_dojo/dojo)
"aR" = (
/obj/machinery/bodyscanner{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aS" = (
/obj/machinery/body_scanconsole{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aT" = (
/obj/effect/floor_decal/spline/fancy/wood{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"aU" = (
/obj/structure/flora/pottedplant/bamboo,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"aV" = (
/obj/structure/flora/pottedplant/orientaltree,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"aW" = (
/obj/effect/floor_decal/carpet/blue{
dir = 8
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "bcarpet"
- },
+/turf/unsimulated/floor/bcarpet,
/area/map_template/ninja_dojo/dojo)
"aX" = (
/obj/effect/floor_decal/chapel{
dir = 1
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "bcarpet"
- },
+/turf/unsimulated/floor/bcarpet,
/area/map_template/ninja_dojo/dojo)
"aY" = (
/obj/effect/floor_decal/chapel{
dir = 4
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "bcarpet"
- },
+/turf/unsimulated/floor/bcarpet,
/area/map_template/ninja_dojo/dojo)
"aZ" = (
/obj/effect/floor_decal/carpet/blue{
dir = 4
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "bcarpet"
- },
+/turf/unsimulated/floor/bcarpet,
/area/map_template/ninja_dojo/dojo)
"ba" = (
/obj/machinery/door/morgue{
name = "Medical"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bb" = (
/obj/item/radio/intercom/ninja{
dir = 1;
pixel_y = -30
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bc" = (
/obj/machinery/door/morgue{
name = "Dojo"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bd" = (
/obj/effect/floor_decal/chapel{
dir = 8
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "bcarpet"
- },
+/turf/unsimulated/floor/bcarpet,
/area/map_template/ninja_dojo/dojo)
"be" = (
/obj/effect/floor_decal/chapel,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "bcarpet"
- },
+/turf/unsimulated/floor/bcarpet,
/area/map_template/ninja_dojo/dojo)
"bf" = (
/obj/effect/floor_decal/spline/fancy/wood,
/obj/machinery/sleeper/standard{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"bg" = (
/obj/effect/floor_decal/spline/fancy/wood{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "white"
- },
+/turf/unsimulated/floor/white,
/area/map_template/ninja_dojo/dojo)
"bh" = (
/obj/structure/door/wood,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bi" = (
/obj/effect/floor_decal/carpet/blue,
@@ -450,17 +332,11 @@
/obj/effect/floor_decal/carpet/blue{
dir = 10
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "bcarpet"
- },
+/turf/unsimulated/floor/bcarpet,
/area/map_template/ninja_dojo/dojo)
"bj" = (
/obj/effect/floor_decal/carpet/blue,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "bcarpet"
- },
+/turf/unsimulated/floor/bcarpet,
/area/map_template/ninja_dojo/dojo)
"bk" = (
/obj/effect/floor_decal/carpet/blue{
@@ -473,28 +349,19 @@
/obj/abstract/landmark{
name = "ninjastart"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "bcarpet"
- },
+/turf/unsimulated/floor/bcarpet,
/area/map_template/ninja_dojo/dojo)
"bl" = (
/obj/structure/rack,
/obj/item/belt/medical,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bm" = (
/obj/item/radio/intercom/ninja{
dir = 8;
pixel_x = 22
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bn" = (
/turf/unsimulated/floor/snow_plating,
@@ -508,88 +375,56 @@
dir = 4;
pixel_x = -22
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bq" = (
/obj/structure/rack,
/obj/item/clothing/webbing/vest,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"br" = (
/obj/structure/rack,
/obj/item/defibrillator/compact/combat/loaded,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bs" = (
/obj/structure/rack,
/obj/item/sword/katana/toy{
name = "practice katana"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bt" = (
/obj/structure/flora/bush/palebush,
-/turf/unsimulated/floor{
- icon_state = "snow"
- },
+/turf/unsimulated/floor/snow,
/area/map_template/ninja_dojo/dojo)
"bu" = (
/obj/structure/bookcase,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bv" = (
/obj/structure/flora/pottedplant/flower,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bw" = (
/obj/structure/table/woodentable,
/obj/machinery/chemical_dispenser/bar_soft/full,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bx" = (
/obj/structure/table/woodentable,
/obj/item/box/glasses,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"by" = (
/obj/structure/table/woodentable,
/obj/item/box/sinpockets,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bz" = (
/obj/structure/table/woodentable,
/obj/machinery/microwave,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bA" = (
/obj/effect/floor_decal/carpet{
@@ -601,17 +436,13 @@
/obj/effect/floor_decal/carpet{
dir = 9
},
-/turf/unsimulated/floor{
- icon_state = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/ninja_dojo/dojo)
"bB" = (
/obj/effect/floor_decal/carpet{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/ninja_dojo/dojo)
"bC" = (
/obj/effect/floor_decal/carpet{
@@ -623,49 +454,34 @@
/obj/effect/floor_decal/carpet{
dir = 5
},
-/turf/unsimulated/floor{
- icon_state = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/ninja_dojo/dojo)
"bD" = (
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/ninja_dojo/dojo)
"bE" = (
/obj/effect/floor_decal/snow,
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/ninja_dojo/dojo)
"bF" = (
/obj/structure/table/woodentable,
/obj/item/chems/drinks/dry_ramen,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bG" = (
/obj/effect/floor_decal/carpet{
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/ninja_dojo/dojo)
"bH" = (
-/turf/unsimulated/floor{
- icon_state = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/ninja_dojo/dojo)
"bI" = (
/obj/effect/floor_decal/carpet{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/ninja_dojo/dojo)
"bJ" = (
/obj/effect/floor_decal/snow,
@@ -675,18 +491,12 @@
/obj/machinery/door/morgue{
name = "Sleeping Chamber"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bL" = (
/obj/structure/table/woodentable,
/obj/item/flashlight/lamp,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bM" = (
/obj/effect/floor_decal/snow,
@@ -697,18 +507,12 @@
/obj/abstract/landmark{
name = "ninjastart"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bO" = (
/obj/structure/bed/padded,
/obj/item/bedsheet/brown,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bP" = (
/obj/effect/floor_decal/carpet,
@@ -718,15 +522,11 @@
/obj/effect/floor_decal/carpet{
dir = 10
},
-/turf/unsimulated/floor{
- icon_state = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/ninja_dojo/dojo)
"bQ" = (
/obj/effect/floor_decal/carpet,
-/turf/unsimulated/floor{
- icon_state = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/ninja_dojo/dojo)
"bR" = (
/obj/effect/floor_decal/carpet{
@@ -736,42 +536,28 @@
/obj/effect/floor_decal/carpet{
dir = 6
},
-/turf/unsimulated/floor{
- icon_state = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/ninja_dojo/dojo)
"bS" = (
/obj/structure/table/woodentable,
/obj/item/food/soylentgreen,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bT" = (
/obj/structure/bookcase{
name = "bookcase (Tactics)"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bU" = (
/obj/structure/flora/pottedplant/shoot,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bV" = (
/obj/structure/bookcase{
name = "bookcase (Religious)"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bW" = (
/obj/structure/table/woodentable,
@@ -780,42 +566,28 @@
dir = 1;
pixel_y = -30
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bX" = (
/obj/structure/table/woodentable,
/obj/item/clothing/shoes/sandal,
/obj/item/clothing/mask/balaclava,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bY" = (
/obj/structure/undies_wardrobe,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"bZ" = (
/obj/machinery/door/morgue{
name = "Bath"
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/ninja_dojo/dojo)
"ca" = (
/obj/structure/table/woodentable,
/obj/item/flame/candle,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"cb" = (
/obj/effect/floor_decal/spline/fancy/wood/corner,
@@ -823,33 +595,24 @@
dir = 4;
pixel_x = -22
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/ninja_dojo/dojo)
"cc" = (
/obj/effect/floor_decal/spline/fancy/wood,
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/ninja_dojo/dojo)
"cd" = (
/obj/effect/floor_decal/spline/fancy/wood,
/obj/structure/hygiene/toilet{
pixel_y = 8
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/ninja_dojo/dojo)
"ce" = (
/obj/machinery/door/morgue{
name = "Shrine"
},
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"cf" = (
/obj/abstract/landmark{
@@ -867,9 +630,7 @@
/obj/effect/floor_decal/carpet{
dir = 5
},
-/turf/unsimulated/floor{
- icon_state = "carpet"
- },
+/turf/unsimulated/floor/carpet,
/area/map_template/ninja_dojo/dojo)
"cg" = (
/obj/structure/rack{
@@ -879,25 +640,16 @@
name = "wooden altar"
},
/obj/item/sword/katana,
-/turf/unsimulated/floor{
- dir = 8;
- icon_state = "wood"
- },
+/turf/unsimulated/floor/wood,
/area/map_template/ninja_dojo/dojo)
"ch" = (
/obj/effect/floor_decal/spline/fancy/wood{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/ninja_dojo/dojo)
"ci" = (
-/turf/unsimulated/floor{
- icon = 'icons/misc/beach.dmi';
- icon_state = "seashallow";
- name = "water"
- },
+/turf/unsimulated/floor/water,
/area/map_template/ninja_dojo/dojo)
"cj" = (
/obj/effect/floor_decal/spline/fancy/wood{
@@ -911,9 +663,7 @@
/obj/structure/mirror{
pixel_x = -32
},
-/turf/unsimulated/floor{
- icon_state = "freezerfloor"
- },
+/turf/unsimulated/floor/freezer,
/area/map_template/ninja_dojo/dojo)
"ck" = (
/obj/effect/paint/black,
@@ -923,16 +673,12 @@
/obj/machinery/door/morgue{
name = "Equipment"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cm" = (
/obj/machinery/fabricator/hacked,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cn" = (
/obj/structure/rack,
@@ -941,79 +687,59 @@
/obj/item/stack/material/pane/mapped/glass/fifty,
/obj/item/stack/material/pane/mapped/glass/fifty,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"co" = (
/obj/structure/table/steel_reinforced,
/obj/item/secure_storage/briefcase/money,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cp" = (
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cq" = (
/obj/structure/rack,
/obj/item/clothing/webbing/vest/brown,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cr" = (
/obj/structure/rack,
/obj/item/belt/utility/full,
/obj/item/multitool,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cs" = (
/obj/structure/table/steel_reinforced,
/obj/item/multitool/hacktool,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"ct" = (
/obj/structure/table/steel_reinforced,
/obj/item/radio/uplink,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cu" = (
/obj/machinery/door/airlock/centcom{
name = "Equipment"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cv" = (
/obj/machinery/acting/changer,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cw" = (
/obj/structure/rack,
/obj/item/stack/nanopaste,
/obj/item/stack/nanopaste,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cx" = (
/obj/structure/shuttle/engine/propulsion{
@@ -1027,17 +753,13 @@
/obj/machinery/cell_charger,
/obj/effect/floor_decal/industrial/outline/grey,
/obj/item/clothing/webbing/bandolier,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cz" = (
/obj/structure/table/steel_reinforced,
/obj/machinery/recharger,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cA" = (
/obj/structure/rack,
@@ -1048,9 +770,7 @@
/obj/item/star/ninja,
/obj/item/star/ninja,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cB" = (
/obj/structure/rack,
@@ -1061,25 +781,19 @@
/obj/item/star,
/obj/item/star,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cC" = (
/obj/structure/rack,
/obj/item/clothing/webbing/vest/black,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cD" = (
/obj/structure/rack,
/obj/item/belt/holster/security/tactical,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cE" = (
/obj/structure/table/steel_reinforced,
@@ -1090,17 +804,13 @@
pixel_y = -30
},
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cF" = (
/obj/structure/table/steel_reinforced,
/obj/item/box/anti_photons,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/dojo)
"cG" = (
/obj/effect/floor_decal/industrial/warning{
@@ -1111,9 +821,7 @@
dir = 1
},
/obj/structure/rack,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cH" = (
/obj/machinery/computer/teleporter,
@@ -1139,9 +847,7 @@
dir = 8;
icon_state = "warning"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cL" = (
/obj/machinery/light{
@@ -1152,40 +858,30 @@
/obj/machinery/sleeper/standard{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cM" = (
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cN" = (
/obj/effect/floor_decal/industrial/warning/corner{
dir = 4;
icon_state = "warningcorner"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cO" = (
/obj/effect/floor_decal/industrial/warning{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cP" = (
/obj/effect/floor_decal/industrial/warning/corner{
dir = 1
},
/obj/machinery/atmospherics/pipe/simple/hidden,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cQ" = (
/obj/machinery/embedded_controller/radio/airlock/docking_port{
@@ -1199,9 +895,7 @@
dir = 8;
icon_state = "tube1"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cR" = (
/obj/machinery/door/airlock/external/shuttle{
@@ -1213,24 +907,18 @@
name = "Blast Door";
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cS" = (
/obj/effect/floor_decal/industrial/outline/grey,
/obj/structure/bed/chair{
dir = 4
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cT" = (
/obj/effect/shuttle_landmark/ninja/start,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cU" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
@@ -1243,9 +931,7 @@
pixel_y = 25;
req_access = list("ACCESS_NINJA")
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cV" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
@@ -1255,9 +941,7 @@
id_tag = "ninja_shuttle_inner";
name = "Ship External Access"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cW" = (
/obj/machinery/airlock_sensor/shuttle{
@@ -1275,9 +959,7 @@
pixel_x = 25;
dir = 8
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cX" = (
/obj/structure/closet,
@@ -1286,16 +968,12 @@
icon_state = "tube1"
},
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cY" = (
/obj/structure/rack,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"cZ" = (
/obj/structure/table/steel_reinforced,
@@ -1310,15 +988,11 @@
/obj/machinery/cell_charger,
/obj/item/screwdriver,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"da" = (
/obj/structure/bed/chair/shuttle,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"db" = (
/obj/machinery/button/blast_door{
@@ -1332,9 +1006,7 @@
pixel_x = -24;
pixel_y = -25
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"dc" = (
/obj/structure/table/steel_reinforced,
@@ -1345,27 +1017,21 @@
icon_state = "tube1"
},
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"dd" = (
/obj/effect/floor_decal/industrial/outline/grey,
/obj/machinery/computer/station_alert/all{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"de" = (
/obj/effect/floor_decal/industrial/outline/grey,
/obj/machinery/computer/shuttle_control/multi/ninja{
dir = 1
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"df" = (
/obj/effect/floor_decal/industrial/outline/grey,
@@ -1373,9 +1039,7 @@
dir = 1;
icon_state = "console"
},
-/turf/unsimulated/floor{
- icon_state = "dark"
- },
+/turf/unsimulated/floor/dark,
/area/map_template/ninja_dojo/start)
"dg" = (
/obj/machinery/door/blast/regular{
diff --git a/mods/species/ascent/effects/razorweb.dm b/mods/species/ascent/effects/razorweb.dm
index fb326f53689..d67a55ee498 100644
--- a/mods/species/ascent/effects/razorweb.dm
+++ b/mods/species/ascent/effects/razorweb.dm
@@ -91,6 +91,8 @@
if(destroy_self)
qdel(src)
+ return TRUE
+ return FALSE
/obj/effect/razorweb/on_update_icon()
overlays.Cut()
diff --git a/mods/species/ascent/turfs/ship.dm b/mods/species/ascent/turfs/ship.dm
index cbdd02ed7e0..1886013ae55 100644
--- a/mods/species/ascent/turfs/ship.dm
+++ b/mods/species/ascent/turfs/ship.dm
@@ -1,6 +1,8 @@
/decl/flooring/plating/ascent
- icon_base = "curvy"
- icon = 'icons/turf/flooring/alium.dmi'
+ icon_base = "curvy"
+ icon = 'icons/turf/flooring/alium.dmi'
+ burned_states = null
+ broken_states = null
/decl/flooring/tiling_ascent
name = "floor"
@@ -9,9 +11,10 @@
icon_base = "jaggy"
has_base_range = 6
color = COLOR_GRAY40
- flooring_flags = TURF_CAN_BREAK | TURF_CAN_BURN
footstep_type = /decl/footsteps/tiles
constructed = TRUE
+ burned_states = null
+ broken_states = null
/turf/wall/ascent
color = COLOR_PURPLE
diff --git a/mods/species/bayliens/adherent/datum/species_bodytypes.dm b/mods/species/bayliens/adherent/datum/species_bodytypes.dm
index d90f6f8cbaa..8e6c7ab2ee9 100644
--- a/mods/species/bayliens/adherent/datum/species_bodytypes.dm
+++ b/mods/species/bayliens/adherent/datum/species_bodytypes.dm
@@ -14,6 +14,7 @@
modifier_string = "crystalline"
is_robotic = FALSE
mob_size = MOB_SIZE_LARGE
+ z_flags = ZMM_WIDE_LOAD
arterial_bleed_multiplier = 0
age_descriptor = /datum/appearance_descriptor/age/adherent
apply_encased = list(
diff --git a/mods/species/bayliens/skrell/icons/turf/skrellturf.dmi b/mods/species/bayliens/skrell/icons/turf/skrellturf.dmi
index 88c03d69067..80299783eb1 100644
Binary files a/mods/species/bayliens/skrell/icons/turf/skrellturf.dmi and b/mods/species/bayliens/skrell/icons/turf/skrellturf.dmi differ
diff --git a/mods/species/vox/datum/heist_compatibility.dm b/mods/species/vox/datum/heist_compatibility.dm
index 51f3abcbc0b..a34c7d79244 100644
--- a/mods/species/vox/datum/heist_compatibility.dm
+++ b/mods/species/vox/datum/heist_compatibility.dm
@@ -21,7 +21,7 @@
var/choice = input("Do you wish to become a vox of the Shoal? This is not reversible.") as null|anything in list("No","Yes")
if(choice != "Yes")
- return ..()
+ return TRUE
var/decl/outfit/outfit = GET_DECL(/decl/outfit/vox_raider)
var/mob/living/human/vox/vox = new(get_turf(src), SPECIES_VOX)
@@ -30,6 +30,7 @@
user.mind.transfer_to(vox)
qdel(user)
addtimer(CALLBACK(src, PROC_REF(do_post_voxifying), vox), 1)
+ return TRUE
/obj/structure/mirror/raider/proc/do_post_voxifying(var/mob/living/human/vox)
var/newname = sanitize_safe(input(vox,"Enter a name, or leave blank for the default name.", "Name change","") as text, MAX_NAME_LEN)
diff --git a/nebula.dme b/nebula.dme
index fca8e179838..1cb64eac54e 100644
--- a/nebula.dme
+++ b/nebula.dme
@@ -1077,6 +1077,7 @@
#include "code\game\objects\items\buttons.dm"
#include "code\game\objects\items\christmas.dm"
#include "code\game\objects\items\contraband.dm"
+#include "code\game\objects\items\crutches.dm"
#include "code\game\objects\items\cryobag.dm"
#include "code\game\objects\items\documents.dm"
#include "code\game\objects\items\fleece.dm"
@@ -1540,6 +1541,7 @@
#include "code\game\objects\structures\stool_bed_chair_nest_sofa\bedroll.dm"
#include "code\game\objects\structures\stool_bed_chair_nest_sofa\chairs.dm"
#include "code\game\objects\structures\stool_bed_chair_nest_sofa\pew.dm"
+#include "code\game\objects\structures\stool_bed_chair_nest_sofa\rustic_chairs.dm"
#include "code\game\objects\structures\stool_bed_chair_nest_sofa\simple_bed.dm"
#include "code\game\objects\structures\stool_bed_chair_nest_sofa\sofa.dm"
#include "code\game\objects\structures\stool_bed_chair_nest_sofa\stools.dm"
@@ -1604,8 +1606,8 @@
#include "code\game\turfs\open\open_sky.dm"
#include "code\game\turfs\space\space.dm"
#include "code\game\turfs\space\transit.dm"
-#include "code\game\turfs\unsimulated\beach.dm"
#include "code\game\turfs\unsimulated\floor.dm"
+#include "code\game\turfs\unsimulated\mask.dm"
#include "code\game\turfs\unsimulated\walls.dm"
#include "code\game\turfs\walls\_wall.dm"
#include "code\game\turfs\walls\_wall_icon_cache.dm"
@@ -2751,8 +2753,10 @@
#include "code\modules\mining\mine_items.dm"
#include "code\modules\mining\mine_turfs.dm"
#include "code\modules\mining\ore_box.dm"
+#include "code\modules\mining\drilling\brace.dm"
#include "code\modules\mining\drilling\drill.dm"
#include "code\modules\mining\drilling\drill_act.dm"
+#include "code\modules\mining\drilling\drill_fsm.dm"
#include "code\modules\mining\machinery\_material_processing.dm"
#include "code\modules\mining\machinery\material_compressor.dm"
#include "code\modules\mining\machinery\material_extractor.dm"
@@ -3360,6 +3364,7 @@
#include "code\modules\paperwork\pen\fancy.dm"
#include "code\modules\paperwork\pen\multi_pen.dm"
#include "code\modules\paperwork\pen\pen.dm"
+#include "code\modules\paperwork\pen\quill_and_ink.dm"
#include "code\modules\paperwork\pen\reagent_pen.dm"
#include "code\modules\paperwork\pen\retractable_pen.dm"
#include "code\modules\persistence\filth.dm"
@@ -3592,6 +3597,7 @@
#include "code\modules\reagents\reagent_containers\blood_pack.dm"
#include "code\modules\reagents\reagent_containers\borghydro.dm"
#include "code\modules\reagents\reagent_containers\bowl.dm"
+#include "code\modules\reagents\reagent_containers\bucket.dm"
#include "code\modules\reagents\reagent_containers\drinks.dm"
#include "code\modules\reagents\reagent_containers\dropper.dm"
#include "code\modules\reagents\reagent_containers\food.dm"
diff --git a/sound/attributions.txt b/sound/attributions.txt
index ff4e518df18..931b69d6874 100644
--- a/sound/attributions.txt
+++ b/sound/attributions.txt
@@ -9,4 +9,10 @@ foley/sweeping3.ogg - Remixed from Sweeping noises.wav by BruceFenn_190335 -- ht
foley/sweeping4.ogg - Remixed from Sweeping noises.wav by BruceFenn_190335 -- https://freesound.org/s/541329/ -- License: Attribution 3.0
foley/sweeping5.ogg - Remixed from Sweeping noises.wav by BruceFenn_190335 -- https://freesound.org/s/541329/ -- License: Attribution 3.0
foley/sweeping6.ogg - Remixed from Sweeping noises.wav by BruceFenn_190335 -- https://freesound.org/s/541329/ -- License: Attribution 3.0
-foley/sweeping7.ogg - Remixed from Sweeping noises.wav by BruceFenn_190335 -- https://freesound.org/s/541329/ -- License: Attribution 3.0
\ No newline at end of file
+foley/sweeping7.ogg - Remixed from Sweeping noises.wav by BruceFenn_190335 -- https://freesound.org/s/541329/ -- License: Attribution 3.0
+// CC BY 4.0
+foley/drawer-close.ogg - Obtained from Drawer-Wooden-Empty-Open-04.wav by DWOBoyle -- https://freesound.org/s/152307/ -- License: Attribution 4.0
+foley/drawer-open.ogg - Obtained from Drawer-Wooden-Empty-Open-03.wav by DWOBoyle -- https://freesound.org/s/152308/ -- License: Attribution 4.0
+foley/drawer-oneshot.ogg - Remixed from Drawer-Wooden-Empty-Open-03.wav and Drawer-Wooden-Empty-Open-04.wav by DWOBoyle, see above for further attribution.
+// CC 0
+effects/weather/rain_indoors.ogg - Remixed from Heavy Rain inside a Shed by mageh533 -- https://freesound.org/s/752031/ -- License: Creative Commons 0
\ No newline at end of file
diff --git a/sound/effects/weather/rain_indoors.ogg b/sound/effects/weather/rain_indoors.ogg
index 9fdabfe558e..4958770630d 100644
Binary files a/sound/effects/weather/rain_indoors.ogg and b/sound/effects/weather/rain_indoors.ogg differ
diff --git a/sound/foley/drawer-close.ogg b/sound/foley/drawer-close.ogg
new file mode 100644
index 00000000000..1ea004c9cf7
Binary files /dev/null and b/sound/foley/drawer-close.ogg differ
diff --git a/sound/foley/drawer-oneshot.ogg b/sound/foley/drawer-oneshot.ogg
new file mode 100644
index 00000000000..b43ccc901e1
Binary files /dev/null and b/sound/foley/drawer-oneshot.ogg differ
diff --git a/sound/foley/drawer-open.ogg b/sound/foley/drawer-open.ogg
new file mode 100644
index 00000000000..1c29e3f315b
Binary files /dev/null and b/sound/foley/drawer-open.ogg differ
diff --git a/test/check-paths.sh b/test/check-paths.sh
index 7601fc30097..d34ee8c4458 100755
--- a/test/check-paths.sh
+++ b/test/check-paths.sh
@@ -40,7 +40,7 @@ exactly 0 "incorrect indentations" '^( {4,})' -P
exactly 24 "text2path uses" 'text2path'
exactly 4 "update_icon() override" '/update_icon\((.*)\)' -P
exactly 0 "goto uses" 'goto '
-exactly 10 "atom/New uses" '^/(obj|atom|area|mob|turf).*/New\('
+exactly 9 "atom/New uses" '^/(obj|atom|area|mob|turf).*/New\('
exactly 1 "decl/New uses" '^/decl.*/New\('
exactly 0 "tag uses" '\stag = ' -P '*.dmm'
exactly 3 "unmarked globally scoped variables" '^(/|)var/(?!global)' -P
diff --git a/tools/map_migrations/4545_mining_drills.txt b/tools/map_migrations/4545_mining_drills.txt
new file mode 100644
index 00000000000..3f8e0cdc4e3
--- /dev/null
+++ b/tools/map_migrations/4545_mining_drills.txt
@@ -0,0 +1,2 @@
+/obj/machinery/mining/drill/@SUBTYPES : /obj/machinery/mining_drill/@SUBTYPES{@OLD}
+/obj/machinery/mining/brace/@SUBTYPES : /obj/structure/drill_brace/@SUBTYPES{@OLD}
diff --git a/tools/map_migrations/4555_airless_plating.txt b/tools/map_migrations/4555_airless_plating.txt
new file mode 100644
index 00000000000..e51638933a6
--- /dev/null
+++ b/tools/map_migrations/4555_airless_plating.txt
@@ -0,0 +1,2 @@
+/turf/floor/airless/@SUBTYPES : /turf/floor/plating/airless/@SUBTYPES{@OLD}
+