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/inventory_sizes.dm b/code/__defines/inventory_sizes.dm index 39842fd9099..0432f304bd8 100644 --- a/code/__defines/inventory_sizes.dm +++ b/code/__defines/inventory_sizes.dm @@ -16,16 +16,17 @@ 20 - things that take up an entire turf, like wall girders or door assemblies */ -#define ITEM_SIZE_TINY 1 -#define ITEM_SIZE_SMALL 2 -#define ITEM_SIZE_NORMAL 3 -#define ITEM_SIZE_LARGE 4 -#define ITEM_SIZE_HUGE 5 -#define ITEM_SIZE_GARGANTUAN 6 -#define ITEM_SIZE_STRUCTURE 20 +#define ITEM_SIZE_TINY 1 +#define ITEM_SIZE_SMALL 2 +#define ITEM_SIZE_NORMAL 3 +#define ITEM_SIZE_LARGE 4 +#define ITEM_SIZE_HUGE 5 +#define ITEM_SIZE_GARGANTUAN 6 +#define ITEM_SIZE_STRUCTURE 20 +#define ITEM_SIZE_LARGE_STRUCTURE 30 -#define ITEM_SIZE_MIN ITEM_SIZE_TINY -#define ITEM_SIZE_MAX ITEM_SIZE_STRUCTURE +#define ITEM_SIZE_MIN ITEM_SIZE_TINY +#define ITEM_SIZE_MAX ITEM_SIZE_LARGE_STRUCTURE #define BASE_STORAGE_COST(w_class) (2**(w_class-1)) //1,2,4,8,16,... diff --git a/code/__defines/tools.dm b/code/__defines/tools.dm index 294dbdfff6e..3caa322b023 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/adjacent.dm b/code/_onclick/adjacent.dm index 70e40cb6eb3..328becddbbf 100644 --- a/code/_onclick/adjacent.dm +++ b/code/_onclick/adjacent.dm @@ -103,7 +103,7 @@ Quick adjacency (to turf): return TRUE if(istype(loc, /obj/item) || istype(loc, /obj/structure)) if(recurse > 0) - return loc.Adjacent(neighbor,recurse - 1) + return loc.Adjacent(neighbor, recurse - 1) return FALSE return ..() @@ -112,7 +112,7 @@ Quick adjacency (to turf): return TRUE if(istype(loc, /obj/item) || istype(loc, /obj/structure)) if(recurse > 0) - return loc.Adjacent(neighbor,recurse - 1) + return loc.Adjacent(neighbor, recurse - 1) return FALSE return ..() 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/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 a7bf4508b10..b55afe45495 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/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 0ad61e86184..847e581f446 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/barrel.dm b/code/game/objects/structures/barrels/barrel.dm similarity index 74% rename from code/game/objects/structures/barrel.dm rename to code/game/objects/structures/barrels/barrel.dm index 20d0c9d6eb2..c8668066624 100644 --- a/code/game/objects/structures/barrel.dm +++ b/code/game/objects/structures/barrels/barrel.dm @@ -1,7 +1,7 @@ /obj/structure/reagent_dispensers/barrel name = "barrel" desc = "A stout barrel for storing large amounts of liquids or substances." - icon = 'icons/obj/structures/barrel.dmi' + icon = 'icons/obj/structures/barrels/barrel.dmi' icon_state = ICON_STATE_WORLD anchored = TRUE atom_flags = ATOM_FLAG_CLIMBABLE @@ -16,10 +16,19 @@ volume = 7500 movable_flags = MOVABLE_FLAG_WHEELED throwpass = TRUE + // Should we draw our lid and liquid contents as overlays? + var/show_liquid_contents = TRUE + // Rivets, bands, etc. Currently just cosmetic. + var/decl/material/metal_material = /decl/material/solid/metal/iron /obj/structure/reagent_dispensers/barrel/Initialize() - ..() - return INITIALIZE_HINT_LATELOAD + if(ispath(metal_material)) + metal_material = GET_DECL(metal_material) + if(!istype(metal_material)) + metal_material = null + . = ..() + if(. == INITIALIZE_HINT_NORMAL && storage) + return INITIALIZE_HINT_LATELOAD // we want to grab our turf contents. /obj/structure/reagent_dispensers/barrel/attackby(obj/item/W, mob/user) . = ..() @@ -48,15 +57,29 @@ update_icon() /obj/structure/reagent_dispensers/barrel/on_update_icon() + . = ..() - if(ATOM_IS_OPEN_CONTAINER(src)) + + // Layer below lid/lid metal. + if(metal_material) + add_overlay(overlay_image(icon, "[icon_state]-metal", metal_material.color, RESET_COLOR)) + + // Add lid/reagents overlay/lid metal. + if(show_liquid_contents && ATOM_IS_OPEN_CONTAINER(src)) if(reagents) var/overlay_amount = NONUNIT_CEILING(reagents.total_liquid_volume / reagents.maximum_volume * 100, 10) var/image/filling_overlay = overlay_image(icon, "[icon_state]-[overlay_amount]", reagents.get_color(), RESET_COLOR | RESET_ALPHA) add_overlay(filling_overlay) add_overlay(overlay_image(icon, "[icon_state]-lidopen", material.color, RESET_COLOR)) + if(metal_material) + add_overlay(overlay_image(icon, "[icon_state]-lidopen-metal", metal_material.color, RESET_COLOR)) else add_overlay(overlay_image(icon, "[icon_state]-lidclosed", material.color, RESET_COLOR)) + if(metal_material) + add_overlay(overlay_image(icon, "[icon_state]-lidclosed-metal", metal_material.color, RESET_COLOR)) + + if(istype(loc, /obj/structure/cask_rack)) + loc.update_icon() /obj/structure/reagent_dispensers/barrel/ebony material = /decl/material/solid/organic/wood/ebony diff --git a/code/game/objects/structures/barrels/cask.dm b/code/game/objects/structures/barrels/cask.dm new file mode 100644 index 00000000000..04dbb4ca1ba --- /dev/null +++ b/code/game/objects/structures/barrels/cask.dm @@ -0,0 +1,42 @@ +/obj/structure/reagent_dispensers/barrel/cask + name = "cask" + desc = "A small barrel used to store moderate amounts of liquids or substances." + icon = 'icons/obj/structures/barrels/cask.dmi' + anchored = FALSE + show_liquid_contents = FALSE + storage = null // Intended for storing liquids. + +// Horrible workaround for physical interaction checks. +/obj/structure/reagent_dispensers/barrel/cask/nano_host() + return istype(loc, /obj/structure/cask_rack) ? loc : src + +/obj/structure/reagent_dispensers/barrel/cask/receive_mouse_drop(atom/dropping, mob/user, params) + if(istype(loc, /obj/structure/cask_rack)) + return loc.receive_mouse_drop(dropping, user, params) + return ..() + +/obj/structure/reagent_dispensers/barrel/cask/handle_mouse_drop(atom/over, mob/user, params) + var/obj/structure/cask_rack/rack = loc + if(istype(rack) && isturf(over) && user.Adjacent(over) && rack.Adjacent(over) && rack.try_unstack_barrel(src, over, user)) + return + return ..() + +/obj/structure/reagent_dispensers/barrel/cask/ebony + material = /decl/material/solid/organic/wood/ebony + color = /decl/material/solid/organic/wood/ebony::color + +/obj/structure/reagent_dispensers/barrel/cask/ebony/water/populate_reagents() + . = ..() + add_to_reagents(/decl/material/liquid/water, reagents.maximum_volume) + +/obj/structure/reagent_dispensers/barrel/cask/ebony/beer/populate_reagents() + . = ..() + add_to_reagents(/decl/material/liquid/ethanol/beer, reagents.maximum_volume) + +/obj/structure/reagent_dispensers/barrel/cask/ebony/wine/populate_reagents() + . = ..() + add_to_reagents(/decl/material/liquid/ethanol/wine, reagents.maximum_volume) + +/obj/structure/reagent_dispensers/barrel/cask/ebony/oil/populate_reagents() + . = ..() + add_to_reagents(/decl/material/liquid/nutriment/plant_oil, reagents.maximum_volume) diff --git a/code/game/objects/structures/barrels/cask_rack.dm b/code/game/objects/structures/barrels/cask_rack.dm new file mode 100644 index 00000000000..f284886622f --- /dev/null +++ b/code/game/objects/structures/barrels/cask_rack.dm @@ -0,0 +1,156 @@ +/obj/structure/cask_rack + name = "cask rack" + desc = "A flat rack used to stop a cask from rolling around." + icon = 'icons/obj/structures/barrels/cask_rack.dmi' + icon_state = ICON_STATE_WORLD + anchored = TRUE + opacity = FALSE + density = FALSE // Recalculated when barrels added or removed + w_class = ITEM_SIZE_STRUCTURE + material = /decl/material/solid/organic/wood + color = /decl/material/solid/organic/wood::color + material_alteration = MAT_FLAG_ALTERATION_COLOR | MAT_FLAG_ALTERATION_NAME | MAT_FLAG_ALTERATION_DESC + var/max_stack = 1 + +/obj/structure/cask_rack/Initialize(ml, _mat, _reinf_mat) + . = ..() + if(isturf(loc)) + for(var/atom/movable/stackable in loc) + if(try_stack_barrel(stackable) && length(contents) >= max_stack) + return + +/obj/structure/cask_rack/examine(mob/user, distance, infix, suffix) + . = ..() + if(length(contents)) + to_chat(user, SPAN_NOTICE("It contains [english_list(contents)].")) + +/obj/structure/cask_rack/handle_mouse_drop(atom/over, mob/user, params) + if(isturf(over) && user.Adjacent(over) && Adjacent(over) && try_unstack_barrel(target = over, user = user)) + return + return ..() + +/obj/structure/cask_rack/receive_mouse_drop(atom/dropping, mob/user, params) + . = ..() + if(!. && user.Adjacent(src) && dropping.Adjacent(src) && user.Adjacent(dropping)) + return try_stack_barrel(dropping, user) + +/obj/structure/cask_rack/on_update_icon() + . = ..() + if(length(contents)) + // Workaround for base color getting applied to vis_contents. + var/base_color = get_color() + color = null + var/image/I = image(icon, icon_state) + I.color = base_color + add_overlay(I) + // Reposition/update our contents. + var/i = 0 + var/list/stackable_types = get_stackable_barrel_types() + for(var/atom/movable/barrel in contents) + if(is_type_in_list(barrel, stackable_types)) + i++ + adjust_barrel_offsets(barrel, i) + else + color = get_color() + compile_overlays() // Avoid wonky flickering on contents changes + +/obj/structure/cask_rack/proc/adjust_barrel_offsets(atom/movable/barrel, barrel_position) + barrel.reset_offsets(anim_time = 0) + barrel.vis_flags |= (VIS_INHERIT_LAYER | VIS_INHERIT_PLANE) + +/obj/structure/cask_rack/Entered(atom/movable/AM, atom/old_loc) + . = ..() + if(istype(AM) && !QDELETED(AM) && is_type_in_list(AM, get_stackable_barrel_types())) + vis_contents |= AM + recalculate_barrel_values() + +/obj/structure/cask_rack/Exited(atom/movable/AM, atom/new_loc) + . = ..() + if(istype(AM) && is_type_in_list(AM, get_stackable_barrel_types())) + vis_contents -= AM + AM.vis_flags = initial(AM.vis_flags) + AM.reset_offsets(anim_time = 0) + recalculate_barrel_values() + +/obj/structure/cask_rack/proc/recalculate_barrel_values() + if(length(contents)) + density = TRUE + anchored = TRUE + obj_flags &= ~OBJ_FLAG_ANCHORABLE + atom_flags |= ATOM_FLAG_CLIMBABLE + else + density = FALSE + obj_flags |= OBJ_FLAG_ANCHORABLE + atom_flags &= ~ATOM_FLAG_CLIMBABLE + update_icon() + +/obj/structure/cask_rack/proc/try_unstack_barrel(atom/movable/barrel, turf/target, mob/user) + if(!loc) + return FALSE + if(!barrel) + if(!length(contents)) + to_chat(user, SPAN_WARNING("\The [src] has nothing stacked on it.")) + return FALSE + barrel = contents[length(contents)] + if(!istype(barrel) || !barrel.simulated) + return FALSE + if(target && (!isturf(target) || !loc.Adjacent(target))) // TODO: Enter() or CanPass() checks instead of relying on step_towards() below. + to_chat(user, SPAN_NOTICE("You cannot move \the [barrel] to \the [target].")) + return FALSE + to_chat(user, SPAN_NOTICE("You move \the [barrel] off \the [src].")) + barrel.dropInto(loc) + if(target) + step_towards(barrel, target) + return TRUE + +/obj/structure/cask_rack/proc/try_stack_barrel(atom/movable/barrel, mob/user) + if(!istype(barrel) || !barrel.simulated || barrel.anchored) + return FALSE + if(length(contents) >= max_stack) + to_chat(user, SPAN_WARNING("\The [src] is already stacked to capacity.")) + return FALSE + var/list/stackable_types = get_stackable_barrel_types() + if(!is_type_in_list(barrel, stackable_types)) + to_chat(user, SPAN_WARNING("\The [src] is cannot hold \the [barrel].")) + return FALSE + barrel.forceMove(src) + to_chat(user, SPAN_NOTICE("You stack \the [barrel] onto \the [src].")) + return TRUE + +/obj/structure/cask_rack/proc/get_stackable_barrel_types() + var/static/list/_stackable_barrel_types = list( + /obj/structure/reagent_dispensers/barrel/cask + ) + return _stackable_barrel_types + +// A larger stack, used to arrange up to three casks. +/obj/structure/cask_rack/large + desc = "A flat rack used to stop casks from rolling around." + max_stack = 3 + w_class = ITEM_SIZE_LARGE_STRUCTURE + icon = 'icons/obj/structures/barrels/cask_rack_large.dmi' + +// We want 'large wooden cask rack' not 'wooden large cask rack' +/obj/structure/cask_rack/large/update_material_name(override_name) + . = ..() + SetName("large [name]") + +/obj/structure/cask_rack/large/adjust_barrel_offsets(atom/movable/barrel, barrel_position) + ..() + switch(barrel_position) + if(1) + barrel.pixel_x -= 7 + if(2) + barrel.pixel_x += 7 + if(3) + barrel.pixel_y += 8 + +/obj/structure/cask_rack/large/mapped + material = /decl/material/solid/organic/wood/ebony + color = /decl/material/solid/organic/wood/ebony::color + +/obj/structure/cask_rack/large/mapped/Initialize(ml, _mat, _reinf_mat) + new /obj/structure/reagent_dispensers/barrel/cask/ebony/water(src) + new /obj/structure/reagent_dispensers/barrel/cask/ebony/beer(src) + new /obj/structure/reagent_dispensers/barrel/cask/ebony/wine(src) + . = ..() 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 f4becc1873f..59f4c6f727f 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 cf919bd5e10..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" @@ -50,4 +61,15 @@ /decl/flooring/carpet/red name = "red carpet" icon_base = "red" - build_type = /obj/item/stack/tile/carpet/red \ No newline at end of file + 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 826db236938..a926312bc8f 100644 --- a/code/game/turfs/flooring/flooring_reinforced.dm +++ b/code/game/turfs/flooring/flooring_reinforced.dm @@ -13,16 +13,27 @@ 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" - desc = "A complex network of circuits beneath reinforced glass." - icon = 'icons/turf/flooring/circuit.dmi' - icon_base = "bcircuit" - build_type = null - flooring_flags = TURF_ACID_IMMUNE | TURF_CAN_BREAK | TURF_REMOVE_WRENCH - can_paint = 1 - can_engrave = FALSE + name = "processing strata" + desc = "A complex network of circuits beneath reinforced glass." + icon = 'icons/turf/flooring/circuit.dmi' + icon_base = "bcircuit" + build_type = null + 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 @@ -43,7 +54,7 @@ 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 5d458a43d9a..f050f13a93e 100644 --- a/code/game/turfs/floors/subtypes/floor_circuit.dm +++ b/code/game/turfs/floors/subtypes/floor_circuit.dm @@ -9,6 +9,10 @@ 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' 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 06cf0c0f02b..b2375889697 100644 --- a/code/game/turfs/walls/wall_types.dm +++ b/code/game/turfs/walls/wall_types.dm @@ -82,7 +82,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/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 2a806fa672f..89284f65169 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) @@ -160,7 +160,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)) @@ -179,6 +178,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) @@ -471,11 +472,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" @@ -559,40 +555,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/crafting/stack_recipes/recipes_planks.dm b/code/modules/crafting/stack_recipes/recipes_planks.dm index c3dd35a7e40..f8a75075499 100644 --- a/code/modules/crafting/stack_recipes/recipes_planks.dm +++ b/code/modules/crafting/stack_recipes/recipes_planks.dm @@ -204,6 +204,16 @@ result_type = /obj/structure/reagent_dispensers/barrel difficulty = MAT_VALUE_HARD_DIY +/decl/stack_recipe/planks/furniture/barrel/cask + result_type = /obj/structure/reagent_dispensers/barrel/cask + +/decl/stack_recipe/planks/furniture/barrel/cask_rack + result_type = /obj/structure/cask_rack + +/decl/stack_recipe/planks/furniture/barrel/large_cask_rack + name = "cask rack, large" + result_type = /obj/structure/cask_rack/large + /decl/stack_recipe/planks/furniture/table_frame result_type = /obj/structure/table/frame category = "furniture" 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/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 2edad5d68c9..a017cc55a1a 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/drill.dm b/code/modules/mining/drilling/drill.dm index 7dd751cd744..acf7751d981 100644 --- a/code/modules/mining/drilling/drill.dm +++ b/code/modules/mining/drilling/drill.dm @@ -14,6 +14,7 @@ uncreated_component_parts = null stat_immune = 0 base_type = /obj/machinery/mining_drill + z_flags = ZMM_WIDE_LOAD /// The drill's FSM, keeping track of which state the drill is currently in. var/datum/state_machine/drill/state_machine = null 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/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 6f062779895..9740e233298 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 117cea77129..e8c86f234f8 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 4b7aea6abdf..1968e2ec7a0 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 9bf040c7490..169c7cde0d4 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 eea9868992d..269e858851f 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 05611b4cf33..ae7a1bc6e42 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 379a28b34ea..7a915e305aa 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -93,33 +93,33 @@ var/global/list/rad_collectors = list() if(istype(W, /obj/item/tank/hydrogen)) 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) @@ -130,7 +130,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 eae73adca8c..00976a216f0 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 078880ef083..077fd4e5a03 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-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 485edbccdb3..7467b9260f8 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 5e816a644c1..56b086005c7 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 c0ea36b3241..d431fc0f15f 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 b652d7d7973..35c3254d620 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -52,6 +52,21 @@ -->
+

18 November 2024

+

MistakeNot4892 updated:

+ + +

13 November 2024

+

Penelope Haze updated:

+ +

05 November 2024

Neerti updated:

diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 6cfd2d0be5e..ad59bb30dc1 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -14914,3 +14914,13 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. 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. +2024-11-18: + MistakeNot4892: + - tweak: Swapped barrel icons out for Doe's much nicer barrels. 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/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/barrel.dmi b/icons/obj/structures/barrel.dmi deleted file mode 100644 index 4adfb3e502e..00000000000 Binary files a/icons/obj/structures/barrel.dmi and /dev/null differ diff --git a/icons/obj/structures/barrels/barrel.dmi b/icons/obj/structures/barrels/barrel.dmi new file mode 100644 index 00000000000..1fec40d535c Binary files /dev/null and b/icons/obj/structures/barrels/barrel.dmi differ diff --git a/icons/obj/structures/barrels/cask.dmi b/icons/obj/structures/barrels/cask.dmi new file mode 100644 index 00000000000..a2eba5fa0d9 Binary files /dev/null and b/icons/obj/structures/barrels/cask.dmi differ diff --git a/icons/obj/structures/barrels/cask_rack.dmi b/icons/obj/structures/barrels/cask_rack.dmi new file mode 100644 index 00000000000..2ee0ca5985b Binary files /dev/null and b/icons/obj/structures/barrels/cask_rack.dmi differ diff --git a/icons/obj/structures/barrels/cask_rack_large.dmi b/icons/obj/structures/barrels/cask_rack_large.dmi new file mode 100644 index 00000000000..e5929b56dd9 Binary files /dev/null and b/icons/obj/structures/barrels/cask_rack_large.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 438c763609c..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, @@ -1795,7 +1795,7 @@ /obj/structure/railing{ dir = 4 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/space) "hX" = ( /obj/structure/rack, @@ -1950,7 +1950,7 @@ /obj/structure/railing{ dir = 1 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/space) "ls" = ( /obj/machinery/mining_drill, @@ -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{ @@ -2526,7 +2523,7 @@ /area/space) "NZ" = ( /obj/machinery/network/telecomms_hub/mercenary, -/turf/floor/airless, +/turf/floor/plating/airless, /area/map_template/merc_spawn) "Ok" = ( /obj/structure/drill_brace, @@ -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 8f082aaaa21..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, 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 19a9986e014..08d86395099 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 d41458d755d..1b0190807cf 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{ @@ -1990,7 +1990,7 @@ icon_state = "1-8" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/fore) "aes" = ( /obj/structure/cable{ @@ -5002,7 +5002,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{ @@ -5381,7 +5381,7 @@ icon_state = "1-2" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/auxstarboard) "alq" = ( /obj/machinery/door/firedoor, @@ -5663,7 +5663,7 @@ icon_state = "2-8" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/auxport) "alW" = ( /turf/wall/prepainted, @@ -5674,7 +5674,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, @@ -6016,7 +6016,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{ @@ -6029,14 +6029,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{ @@ -6441,7 +6441,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{ @@ -6487,21 +6487,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{ @@ -6514,7 +6514,7 @@ icon_state = "2-8" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/auxstarboard) "anF" = ( /obj/structure/cable/yellow{ @@ -6524,7 +6524,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, @@ -6540,7 +6540,7 @@ icon_state = "2-4" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/port) "anI" = ( /obj/machinery/door/firedoor, @@ -6831,7 +6831,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{ @@ -6842,7 +6842,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, @@ -7194,7 +7194,7 @@ /area/exodus/maintenance/dormitory) "aph" = ( /obj/structure/grille, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/maintenance/exterior) "api" = ( /obj/machinery/light{ @@ -7216,7 +7216,7 @@ icon_state = "4-8" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/auxport) "apk" = ( /obj/structure/cable/yellow{ @@ -7226,7 +7226,7 @@ icon_state = "2-4" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/auxport) "apl" = ( /obj/structure/cable, @@ -7271,7 +7271,7 @@ icon_state = "4-8" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/auxport) "apo" = ( /obj/structure/cable/yellow{ @@ -7281,7 +7281,7 @@ icon_state = "2-8" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/auxport) "app" = ( /obj/machinery/light{ @@ -7566,7 +7566,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, @@ -8749,7 +8749,7 @@ icon_state = "1-2" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/auxstarboard) "asi" = ( /obj/structure/bed/chair{ @@ -10895,7 +10895,7 @@ icon_state = "1-2" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/auxport) "awX" = ( /obj/structure/cable{ @@ -13734,7 +13734,7 @@ pixel_y = -32; dir = 1 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/maintenance/exterior) "aDf" = ( /obj/abstract/landmark{ @@ -15240,7 +15240,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/shuttle/arrival/station) "aGc" = ( /obj/effect/wallframe_spawn/reinforced, @@ -15459,7 +15459,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, @@ -20116,7 +20116,7 @@ name = "disposal mass driver" }, /obj/machinery/shield_diffuser, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/maintenance/disposal) "aQh" = ( /obj/structure/grille, @@ -21068,7 +21068,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/maintenance/disposal) "aSs" = ( /obj/effect/floor_decal/chapel{ @@ -24789,7 +24789,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{ @@ -25144,7 +25144,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{ @@ -25499,7 +25499,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{ @@ -32058,7 +32058,7 @@ /obj/structure/disposalpipe/trunk{ dir = 1 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/space) "bpP" = ( /obj/machinery/light{ @@ -33523,7 +33523,7 @@ pixel_x = -25; pixel_y = 10 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/maintenance/disposal) "bsT" = ( /obj/structure/closet/emcloset, @@ -34351,7 +34351,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{ @@ -42576,7 +42576,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, @@ -43146,7 +43146,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{ @@ -43241,7 +43241,7 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/research/test_area) "bMe" = ( /turf/floor/tiled/airless, @@ -43862,11 +43862,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{ @@ -47291,7 +47291,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, @@ -47928,14 +47928,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{ @@ -47982,7 +47982,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/research/mixing) "bVH" = ( /obj/structure/cable{ @@ -49124,7 +49124,7 @@ /obj/structure/sign/warning/docking_area{ pixel_y = 32 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/space) "bYa" = ( /obj/abstract/landmark/start{ @@ -52350,7 +52350,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{ @@ -52365,7 +52365,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{ @@ -52376,7 +52376,7 @@ /obj/structure/cable{ icon_state = "0-8" }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/research/test_area) "ceu" = ( /obj/machinery/light, @@ -52819,7 +52819,7 @@ dir = 2; icon_state = "pipe-c" }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/space) "cfs" = ( /obj/structure/table, @@ -52868,7 +52868,7 @@ /area/exodus/construction) "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{ @@ -52882,7 +52882,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{ @@ -55191,7 +55191,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{ @@ -56365,7 +56365,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{ @@ -57428,7 +57428,7 @@ icon_state = "1-2" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/starboard) "cpn" = ( /obj/machinery/rad_collector, @@ -57700,7 +57700,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{ @@ -57955,7 +57955,7 @@ icon_state = "1-2" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/starboard) "cqL" = ( /obj/structure/table/reinforced, @@ -58022,7 +58022,7 @@ /obj/structure/disposalpipe/junction{ dir = 8 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/space) "crb" = ( /obj/machinery/computer/modular/preset/civilian, @@ -58033,7 +58033,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{ @@ -58077,7 +58077,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{ @@ -58282,7 +58282,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{ @@ -58302,7 +58302,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{ @@ -58763,7 +58763,7 @@ pixel_x = -2; pixel_y = -1 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/space) "csX" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ @@ -59133,7 +59133,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, @@ -59666,7 +59666,7 @@ icon_state = "2-4" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/starboard) "cvj" = ( /obj/structure/cable/yellow{ @@ -59679,7 +59679,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{ @@ -59704,7 +59704,7 @@ icon_state = "2-8" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/starboard) "cvo" = ( /obj/structure/cable/yellow{ @@ -59714,7 +59714,7 @@ icon_state = "2-8" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/starboard) "cvq" = ( /obj/structure/table, @@ -59919,7 +59919,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{ @@ -61062,7 +61062,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/space) "cCO" = ( /obj/machinery/portable_atmospherics/canister/air/airlock, @@ -61643,7 +61643,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, @@ -62254,7 +62254,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{ @@ -62265,7 +62265,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{ @@ -62275,7 +62275,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, @@ -62369,7 +62369,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{ @@ -62829,7 +62829,7 @@ icon_state = "4-8" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/port) "cKN" = ( /obj/machinery/power/tracker, @@ -62837,7 +62837,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{ @@ -63178,7 +63178,7 @@ icon_state = "1-4" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/port) "cLP" = ( /obj/structure/cable/yellow{ @@ -63188,7 +63188,7 @@ icon_state = "1-4" }, /obj/structure/catwalk, -/turf/floor/airless, +/turf/floor/plating/airless, /area/exodus/solar/port) "cLQ" = ( /obj/machinery/alarm{ @@ -63501,7 +63501,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 cf8b6e6728b..c2576532980 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/space) "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/space) "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/space) "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/space) "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 d3503643c1e..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{ @@ -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{ @@ -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{ @@ -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 5c55632d198..12a062972d2 100644 --- a/maps/ministation/ministation-2.dmm +++ b/maps/ministation/ministation-2.dmm @@ -372,7 +372,7 @@ /obj/machinery/power/terminal{ icon_state = "term-omni" }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/ministation/maint/l3sw) "bv" = ( /obj/machinery/light{ @@ -675,7 +675,7 @@ /turf/floor/tiled, /area/ministation/bridge) "cn" = ( -/turf/floor/airless, +/turf/floor/plating/airless, /area/space) "co" = ( /turf/wall/r_wall, @@ -809,10 +809,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, @@ -1162,7 +1159,7 @@ dir = 4; id_tag = "toxinsdriver" }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/ministation/science) "eA" = ( /obj/machinery/computer/shuttle_control/explore/ministation{ @@ -1214,7 +1211,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/ministation/science) "eM" = ( /obj/structure/cable{ @@ -1419,7 +1416,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, @@ -1715,14 +1712,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{ @@ -1831,19 +1825,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{ @@ -1942,10 +1930,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, @@ -2114,7 +2099,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{ @@ -3055,10 +3040,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, @@ -3154,10 +3136,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{ @@ -3559,10 +3538,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{ @@ -3676,19 +3652,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{ @@ -3795,19 +3765,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{ @@ -3848,10 +3812,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{ @@ -4237,7 +4198,7 @@ id_tag = "toxinsdriver"; name = "Toxins Launcher Bay Door" }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/ministation/science) "ya" = ( /obj/structure/cable{ @@ -4310,10 +4271,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{ @@ -4365,7 +4323,7 @@ /obj/machinery/atmospherics/unary/engine{ dir = 4 }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/ministation/shuttle/outgoing) "yS" = ( /obj/abstract/landmark{ @@ -4496,19 +4454,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{ @@ -4576,10 +4528,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, @@ -4602,10 +4551,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{ @@ -4639,20 +4585,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, @@ -4743,17 +4683,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, @@ -6046,7 +5980,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{ @@ -6319,7 +6253,7 @@ name = "bridge blast door"; id_tag = "bridgeblast" }, -/turf/floor/airless, +/turf/floor/plating/airless, /area/ministation/bridge) "Mq" = ( /obj/item/cash/scavbucks, @@ -7463,7 +7397,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, @@ -8454,7 +8388,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/playablecolony/colony.dmm b/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm index 2a8d646fe05..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, 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..8b73c5e461e 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,12 +57,10 @@ /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, -/turf/floor/wood/walnut, -/area/shaded_hills/shrine/kitchen) "cT" = ( /obj/structure/railing/mapped/wooden/walnut{ dir = 1 @@ -60,8 +71,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 +114,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{ @@ -131,7 +145,7 @@ /turf/wall/brick/basalt/shutter, /area/shaded_hills/slaughterhouse) "fK" = ( -/obj/structure/reagent_dispensers/barrel/ebony/water, +/obj/structure/cask_rack/large/mapped, /turf/floor/path/herringbone/basalt, /area/shaded_hills/inn/kitchen) "fR" = ( @@ -171,6 +185,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 +237,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 +266,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 +293,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 +314,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 +393,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 +471,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 +516,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 +548,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 +566,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 +637,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 +669,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 +692,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 +773,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 +818,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 +873,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,16 +935,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, -/area/shaded_hills/shrine/kitchen) "BG" = ( /obj/structure/bed/chair/bench/ebony{ dir = 1 @@ -977,7 +999,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 +1164,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 +1206,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 +1227,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 +1243,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 +1277,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 +1344,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 +1398,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 +1437,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 +1484,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 +1524,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 +1548,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 +1572,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 +1598,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 +1616,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, @@ -1592,7 +1639,7 @@ /turf/floor/path/herringbone/basalt, /area/shaded_hills/shrine) "VE" = ( -/obj/structure/reagent_dispensers/barrel/ebony/beer, +/obj/structure/cask_rack/large/mapped, /turf/floor/wood/walnut, /area/shaded_hills/shrine/kitchen) "VM" = ( @@ -9253,7 +9300,7 @@ HI HI TR cx -TR +Ee Ee iX Ee @@ -9263,12 +9310,12 @@ iX Ee Ee th -ZY -Jo +RB +gn Ee th -ZY -Jo +RB +gn Ee TR TR @@ -9406,20 +9453,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 +9481,8 @@ zQ eG uJ uJ -uJ -uJ +sM +sM uJ Wg HI @@ -9562,8 +9609,8 @@ Rh ZY ZY Ee -sJ -ZY +af +RB Td Ee Ee @@ -9587,8 +9634,8 @@ dH uJ uJ sM -sM -uJ +aK +Zb dH HI QQ @@ -9738,9 +9785,9 @@ Mp Wg GQ uJ -sM -TA -Zb +Wg +iC +Wg Wg HI UY @@ -9863,7 +9910,7 @@ TR cx Ee My -BB +Qb ZY Ee Jp @@ -9891,9 +9938,9 @@ Wg uJ uJ Wg -iC -Wg -Wg +uJ +BL +dH HI QQ fR @@ -10014,7 +10061,7 @@ HI TR cx Ee -sJ +rg hb ZY yn @@ -10044,7 +10091,7 @@ yz yz yz uJ -BL +Qx Wg HI QQ @@ -10499,7 +10546,7 @@ yz yz yz yz -Wg +dH Wg Wg HI @@ -11839,7 +11886,7 @@ TR cx TR Ee -Jo +gn ZY zO ZY @@ -11851,8 +11898,8 @@ dN ZY Ee ZY -dN -Dr +Rp +nJ Ee Jw dK @@ -12003,8 +12050,8 @@ ZY ZY zO ZY -ZY -sJ +RB +xJ Ee Jw dK @@ -12155,8 +12202,8 @@ Ee Ee Ee ZY -ZY -Dr +RB +nJ iX Yg Sw @@ -12306,9 +12353,9 @@ ZY ZY US Ee -ZY -ZY -sJ +RB +RB +xJ Ee hu lD @@ -12319,11 +12366,11 @@ EV Ic TR HI +HI LN LN LN -LN -LN +IQ LN HI HI @@ -12452,14 +12499,14 @@ TR Ee sJ Dr -Jo +gn Ee sJ Dr -Jo +gn Ee -sJ -Dr +xJ +nJ Ee Ee TR @@ -12471,11 +12518,11 @@ EV Ic EV TR +HI LN uu qP qP -qP LN HI TR @@ -12623,10 +12670,10 @@ EV Ic EV TR +HI LN -uA -qP -qP +SU +Pd qP WO HI @@ -12775,10 +12822,10 @@ EV Ic EV TR +HI IQ bv -qP -qP +Pd qP LN HI @@ -12927,9 +12974,9 @@ EV Ic EV TR +HI LN -cl -qP +eM qP FE LN @@ -13210,7 +13257,7 @@ cx TR nn jA -js +HP js nn js @@ -13358,7 +13405,7 @@ TR HI TR cx -TR +cx TR nn js @@ -13513,7 +13560,7 @@ cx TR TR nn -js +bu jf js nn @@ -13994,7 +14041,7 @@ BX LN qP qP -lv +hJ Bp IQ FD @@ -14299,7 +14346,7 @@ LN hJ qP qP -hJ +qP LN xW Rl @@ -20324,9 +20371,9 @@ iK kv By px -cy +ge VE -BD +ge Sy Aq QB 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 1557c94e48e..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, @@ -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, @@ -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 8aff38e3f8a..077284981b2 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" @@ -1413,7 +1414,6 @@ #include "code\game\objects\structures\_structure_materials.dm" #include "code\game\objects\structures\ai_decoy.dm" #include "code\game\objects\structures\banners.dm" -#include "code\game\objects\structures\barrel.dm" #include "code\game\objects\structures\barricade.dm" #include "code\game\objects\structures\barsign.dm" #include "code\game\objects\structures\bedsheet_bin.dm" @@ -1487,6 +1487,9 @@ #include "code\game\objects\structures\windoor_assembly.dm" #include "code\game\objects\structures\window.dm" #include "code\game\objects\structures\window_spawner.dm" +#include "code\game\objects\structures\barrels\barrel.dm" +#include "code\game\objects\structures\barrels\cask.dm" +#include "code\game\objects\structures\barrels\cask_rack.dm" #include "code\game\objects\structures\chemistry\_chemistry.dm" #include "code\game\objects\structures\crates_lockers\crates.dm" #include "code\game\objects\structures\crates_lockers\largecrate.dm" @@ -1540,6 +1543,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 +1608,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" @@ -3359,6 +3363,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" @@ -3591,6 +3596,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 001343becc2..c8b6636e352 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/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} +