From c296437dc1db1916db5735ba02d2ee4b2b670235 Mon Sep 17 00:00:00 2001 From: Chompstation Bot Date: Thu, 22 Jul 2021 21:58:13 +0000 Subject: [PATCH] Angled wall tweaks --- code/game/objects/structures/wall_frame.dm | 623 ++++++++++++++++++ code/game/turfs/simulated/wall_icon.dm | 12 + code/game/turfs/simulated/wall_types.dm | 131 ++++ maps/offmap_vr/om_ships/aro3.dmm | 698 ++++++++++++--------- 4 files changed, 1163 insertions(+), 301 deletions(-) create mode 100644 code/game/objects/structures/wall_frame.dm diff --git a/code/game/objects/structures/wall_frame.dm b/code/game/objects/structures/wall_frame.dm new file mode 100644 index 0000000000..962b5be50e --- /dev/null +++ b/code/game/objects/structures/wall_frame.dm @@ -0,0 +1,623 @@ +// Basically see-through walls. Used for windows +// If nothing has been built on the low wall, you can climb on it + +/obj/structure/low_wall + name = "low wall" + desc = "A low wall section which serves as the base of windows, amongst other things." + layer = TURF_LAYER + icon = null + icon_state = "frame" + + //atom_flags = ATOM_FLAG_NO_TEMP_CHANGE | ATOM_FLAG_CLIMBABLE | ATOM_FLAG_CAN_BE_PAINTED | ATOM_FLAG_ADJACENT_EXCEPTION + anchored = TRUE + density = TRUE + climbable = TRUE + throwpass = 1 + layer = TABLE_LAYER + + var/icon/frame_masks = 'icons/obj/wall_frame_bay.dmi' + + var/health = 100 + var/stripe_color + //rad_resistance_modifier = 0.5 + + // blend_objects defined on subtypes + noblend_objects = list(/obj/machinery/door/window, /obj/machinery/door/firedoor) + + var/default_material = DEFAULT_WALL_MATERIAL + var/datum/material/material + var/grille_type + +/obj/structure/low_wall/Initialize(var/mapload, var/materialtype) + . = ..() + icon_state = "blank" + var/turf/T = loc + if(!isturf(T) || T.density || T.opacity) + warning("[src] on invalid turf [T] at [x],[y],[z]") + return INITIALIZE_HINT_QDEL + + if(!materialtype) + materialtype = default_material + + material = get_material_by_name(materialtype) + + health = material.integrity + + return INITIALIZE_HINT_LATELOAD + +/obj/structure/low_wall/LateInitialize() + . = ..() + update_connections(1) + update_icon() + +/obj/structure/low_wall/Destroy() + var/turf/location = loc + . = ..() + for(var/obj/structure/low_wall/W in orange(1, location)) + W.update_connections() + W.update_icon() + + +/obj/structure/low_wall/examine(mob/user) + . = ..() + + if(health == material.integrity) + to_chat(user, "It seems to be in fine condition.") + else + var/dam = health / material.integrity + if(dam <= 0.3) + to_chat(user, "It's got a few dents and scratches.") + else if(dam <= 0.7) + to_chat(user, "A few pieces of panelling have fallen off.") + else + to_chat(user, "It's nearly falling to pieces.") + +/obj/structure/low_wall/attackby(var/obj/item/W, var/mob/user, var/hit_modifier, var/click_parameters) + src.add_fingerprint(user) + + // Making grilles (only works on Bay ones currently) + if(istype(W, /obj/item/stack/rods)) + handle_rod_use(user, W) + return + + // Making windows, different per subtype + else if(istype(W, /obj/item/stack/material/glass)) + handle_glass_use(user, W) + return + + // Dismantling the half wall + if(W.is_wrench()) + for(var/obj/structure/S in loc) + if(istype(S, /obj/structure/window)) + to_chat(user, "There is still a window on the low wall!") + return + else if(istype(S, /obj/structure/grille)) + to_chat(user, "There is still a grille on the low wall!") + return + playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) + to_chat(user, "Now disassembling the low wall...") + if(do_after(user, 40, src)) + to_chat(user, "You dissasembled the low wall!") + dismantle() + + // Handle placing things + if(isrobot(user)) + return + + if(W.loc != user) // This should stop mounted modules ending up outside the module. + return + + if(can_place_items() && user.unEquip(W, 0, src.loc) && user.is_preference_enabled(/datum/client_preference/precision_placement)) + auto_align(W, click_parameters) + return 1 + + return ..() + +/obj/structure/low_wall/proc/can_place_items() + for(var/obj/structure/S in loc) + if(S == src) + continue + if(S.density) + return FALSE + return TRUE + +/obj/structure/low_wall/MouseDrop_T(obj/O as obj, mob/user as mob) + if(istype(O, /obj/structure/window)) + var/obj/structure/window/W = O + if(Adjacent(W) && !W.anchored) + to_chat("You hoist [W] up onto [src].") + W.forceMove(loc) + return + if ((!( istype(O, /obj/item/weapon) ) || user.get_active_hand() != O)) + return ..() + if(isrobot(user)) + return + if(can_place_items()) + user.unEquip(O, 0, src.loc) + +/obj/structure/low_wall/proc/handle_rod_use(mob/user, obj/item/stack/rods/R) + if(!grille_type) + to_chat(user, "This type of wall frame doesn't support grilles.") + return + for(var/obj/structure/window/WINDOW in loc) + if(WINDOW.dir == get_dir(src, user)) + to_chat(user, "There is a window in the way.") + return + if(R.get_amount() < 2) + to_chat(user, "You need at least two rods to do this.") + return + to_chat(user, "Assembling grille...") + if(!do_after(user, 1 SECONDS, R, exclusive = TASK_ALL_EXCLUSIVE)) + return + if(!R.use(2)) + return + new grille_type(loc) + return + +/obj/structure/low_wall/proc/handle_glass_use(mob/user, obj/item/stack/material/glass/G) + var/window_type = get_window_build_type(user, G) + if(!window_type) + to_chat(user, "You can't build that type of window on this type of low wall.") + return + for(var/obj/structure/window/WINDOW in loc) + if(WINDOW.dir == get_dir(src, user)) + to_chat(user, "There is already a window here.") + return + if(G.get_amount() < 4) + to_chat(user, "You need at least four sheets of glass to do this.") + return + to_chat(user, "Assembling window...") + if(!do_after(user, 4 SECONDS, G, exclusive = TASK_ALL_EXCLUSIVE)) + return + if(!G.use(2)) + return + new window_type(loc, null, TRUE) + return + +/obj/structure/low_wall/proc/get_window_build_type(mob/user, obj/item/stack/material/glass/G) + return null + +/obj/structure/low_wall/CanPass(atom/movable/mover, turf/target) + if(istype(mover,/obj/item/projectile)) + return TRUE + if(istype(mover) && mover.checkpass(PASSTABLE)) + return TRUE + return FALSE + +// Bay's version +/obj/structure/low_wall/bay/update_icon() + cut_overlays() + + var/image/I + var/main_color = material.icon_colour + for(var/i = 1 to 4) + if(other_connections[i] != "0") + I = image(icon, "frame_other[other_connections[i]]", dir = 1<<(i-1)) + I.color = main_color + else + I = image(icon, "frame[connections[i]]", dir = 1<<(i-1)) + I.color = main_color + add_overlay(I) + + if(stripe_color) + for(var/i = 1 to 4) + if(other_connections[i] != "0") + I = image(icon, "stripe_other[other_connections[i]]", dir = 1<<(i-1)) + else + I = image(icon, "stripe[connections[i]]", dir = 1<<(i-1)) + I.color = stripe_color + add_overlay(I) + +// Eris's version +/obj/structure/low_wall/eris/update_icon() + cut_overlays() + + var/image/I + var/main_color = material.icon_colour + for(var/i = 1 to 4) + I = image(icon, "frame[connections[i]]", dir = 1<<(i-1)) + I.color = main_color + add_overlay(I) + + if(other_connections[i] != "0") + I = image(icon, "frame_other[other_connections[i]]", dir = 1<<(i-1)) + I.plane = ABOVE_OBJ_PLANE + I.layer = ABOVE_WINDOW_LAYER + I.color = main_color + add_overlay(I) + +/obj/structure/low_wall/bullet_act(var/obj/item/projectile/Proj) + var/proj_damage = Proj.get_structure_damage() + var/damage = min(proj_damage, 100) + take_damage(damage) + return + +/obj/structure/low_wall/hitby(AM as mob|obj, var/speed) + ..() + var/tforce = 0 + if(ismob(AM)) // All mobs have a multiplier and a size according to mob_defines.dm + var/mob/I = AM + tforce = I.mob_size * (speed/THROWFORCE_SPEED_DIVISOR) + else + var/obj/O = AM + tforce = O.throwforce * (speed/THROWFORCE_SPEED_DIVISOR) + if (tforce < 15) + return + take_damage(tforce) + +/obj/structure/low_wall/take_damage(damage) + health -= damage + if(health <= 0) + dismantle() + +/obj/structure/low_wall/attack_generic(var/mob/user, var/damage, var/attack_verb) + visible_message("[user] [attack_verb] the [src]!") + user.do_attack_animation(src) + take_damage(damage) + return ..() + +/obj/structure/low_wall/proc/dismantle() + var/stacktype = material?.stack_type + if(stacktype) + new stacktype(get_turf(src), 3) + // If we were violently dismantled + for(var/obj/structure/window/W in loc) + if(W.anchored) + W.shatter() + for(var/obj/structure/grille/G in loc) + if(G.anchored) + G.health = 0 + G.healthcheck() + qdel(src) + +/** + * The two 'real' types + */ +/obj/structure/low_wall/bay + icon = 'icons/obj/wall_frame_bay.dmi' + grille_type = /obj/structure/grille/bay + blend_objects = list(/obj/machinery/door, /turf/simulated/wall/bay) + +/obj/structure/low_wall/bay/reinforced + default_material = MAT_PLASTEEL + +/obj/structure/low_wall/bay/get_window_build_type(mob/user, obj/item/stack/material/glass/G) + switch(G.material.name) + if(MAT_GLASS) + return /obj/structure/window/bay + if(MAT_RGLASS) + return /obj/structure/window/bay/reinforced + if(MAT_PGLASS) + return /obj/structure/window/bay/phoronbasic + if(MAT_RPGLASS) + return /obj/structure/window/bay/phoronreinforced + +/obj/structure/low_wall/eris + icon = 'icons/obj/wall_frame_eris.dmi' + grille_type = null + blend_objects = list(/obj/machinery/door, /turf/simulated/wall/eris) + +/obj/structure/low_wall/eris/reinforced + default_material = MAT_PLASTEEL + +/obj/structure/low_wall/eris/get_window_build_type(mob/user, obj/item/stack/material/glass/G) + switch(G.material.name) + if(MAT_GLASS) + return /obj/structure/window/eris + if(MAT_RGLASS) + return /obj/structure/window/eris/reinforced + if(MAT_PGLASS) + return /obj/structure/window/eris/phoronbasic + if(MAT_RPGLASS) + return /obj/structure/window/eris/phoronreinforced + +/** + * Bay's fancier icon grilles + */ +/obj/structure/grille/bay + icon = 'icons/obj/bay_grille.dmi' + blend_objects = list(/obj/machinery/door, /turf/simulated/wall/bay) // Objects which to blend with + noblend_objects = list(/obj/machinery/door/window) + color = "#666666" + +/obj/structure/grille/bay/Initialize() + . = ..() + return INITIALIZE_HINT_LATELOAD + +/obj/structure/grille/bay/LateInitialize() + . = ..() + update_connections(1) + update_icon() + +/obj/structure/grille/bay/Destroy() + var/turf/location = loc + . = ..() + for(var/obj/structure/grille/G in orange(1, location)) + G.update_connections() + G.update_icon() + +/obj/structure/grille/bay/update_icon() + var/on_frame = locate(/obj/structure/low_wall/bay) in loc + + cut_overlays() + if(destroyed) + if(on_frame) + icon_state = "broke_onframe" + else + icon_state = "broken" + else + var/image/I + icon_state = "" + if(on_frame) + for(var/i = 1 to 4) + if(other_connections[i] != "0") + I = image(icon, "grille_other_onframe[connections[i]]", dir = 1<<(i-1)) + else + I = image(icon, "grille_onframe[connections[i]]", dir = 1<<(i-1)) + add_overlay(I) + else + for(var/i = 1 to 4) + if(other_connections[i] != "0") + I = image(icon, "grille_other[connections[i]]", dir = 1<<(i-1)) + else + I = image(icon, "grille[connections[i]]", dir = 1<<(i-1)) + add_overlay(I) + +/** + * The window types for both types of short walls + */ +/obj/structure/window/bay + icon = 'icons/obj/bay_window.dmi' + blend_objects = list(/obj/machinery/door, /turf/simulated/wall/bay) + noblend_objects = list(/obj/machinery/door/window, /obj/machinery/door/firedoor) + icon_state = "preview_glass" + basestate = "window" + alpha = 180 + flags = 0 + fulltile = TRUE + maxhealth = 24 + glasstype = /obj/item/stack/material/glass + +/obj/structure/window/bay/Initialize() + . = ..() + var/obj/item/stack/material/glass/G = glasstype + var/datum/material/M = get_material_by_name(initial(G.default_type)) + color = M.icon_colour + return INITIALIZE_HINT_LATELOAD + +/obj/structure/window/bay/LateInitialize() + . = ..() + icon_state = "" + update_icon() + +/obj/structure/window/bay/update_icon() + cut_overlays() + if(!anchored) + connections = list("0","0","0","0") + other_connections = list("0","0","0","0") + else + update_connections() + + var/percent_damage = 0 // Used for icon state of damage layer + var/damage_alpha = 0 // Used for alpha blending of damage layer + if (maxhealth && health < maxhealth) + percent_damage = (maxhealth - health) / maxhealth // Percentage of damage received (Not health remaining) + percent_damage = round(percent_damage, 0.25) // Round to nearest multiple of 25 + damage_alpha = 256 * percent_damage - 1 + + var/img_dir + var/image/I + for(var/i = 1 to 4) + img_dir = 1<<(i-1) + if(other_connections[i] != "0") + I = image(icon, "[basestate]_other_onframe[other_connections[i]]", dir = img_dir) + I.color = color + else + I = image(icon, "[basestate]_onframe[connections[i]]", dir = img_dir) + I.color = color + add_overlay(I) + + if(damage_alpha) + var/image/D + D = image(icon, "window0_damage", dir = img_dir) + D.blend_mode = BLEND_MULTIPLY + D.alpha = damage_alpha + add_overlay(D) + +/obj/structure/window/bay/reinforced + name = "reinforced window" + desc = "It looks rather strong. Might take a few good hits to shatter it." + icon_state = "preview_rglass" + basestate = "rwindow" + maxhealth = 80 + reinf = 1 + maximal_heat = T0C + 750 + damage_per_fire_tick = 2.0 + glasstype = /obj/item/stack/material/glass/reinforced + force_threshold = 6 + +/obj/structure/window/bay/phoronbasic + name = "phoron window" + desc = "A borosilicate alloy window. It seems to be quite strong." + icon_state = "preview_phoron" + shardtype = /obj/item/weapon/material/shard/phoron + glasstype = /obj/item/stack/material/glass/phoronglass + maximal_heat = T0C + 2000 + damage_per_fire_tick = 1.0 + maxhealth = 40.0 + force_threshold = 5 + maxhealth = 80 + +/obj/structure/window/bay/phoronreinforced + name = "reinforced borosilicate window" + desc = "A borosilicate alloy window, with rods supporting it. It seems to be very strong." + icon_state = "preview_rphoron" + basestate = "rwindow" + shardtype = /obj/item/weapon/material/shard/phoron + glasstype = /obj/item/stack/material/glass/phoronrglass + reinf = 1 + maximal_heat = T0C + 4000 + damage_per_fire_tick = 1.0 // This should last for 80 fire ticks if the window is not damaged at all. The idea is that borosilicate windows have something like ablative layer that protects them for a while. + maxhealth = 160 + force_threshold = 10 + + +/obj/structure/window/eris + icon = 'icons/obj/eris_window.dmi' + blend_objects = list(/obj/machinery/door, /turf/simulated/wall/eris) + noblend_objects = list(/obj/machinery/door/window, /obj/machinery/door/firedoor) + icon_state = "preview_glass" + basestate = "window" + fulltile = TRUE + maxhealth = 24 + alpha = 150 + +/obj/structure/window/eris/Initialize() + . = ..() + return INITIALIZE_HINT_LATELOAD + +/obj/structure/window/eris/LateInitialize() + . = ..() + icon_state = "" + update_icon() + +/obj/structure/window/eris/update_icon() + cut_overlays() + if(!anchored) + connections = list("0","0","0","0") + other_connections = list("0","0","0","0") + else + update_connections() + + var/img_dir + var/image/I + for(var/i = 1 to 4) + img_dir = 1<<(i-1) + if(other_connections[i] != "0") + I = image(icon, "[basestate][other_connections[i]]", dir = img_dir) + else + I = image(icon, "[basestate][connections[i]]", dir = img_dir) + add_overlay(I) + +/obj/structure/window/eris/reinforced + name = "reinforced window" + desc = "It looks rather strong. Might take a few good hits to shatter it." + icon_state = "preview_rglass" + basestate = "rwindow" + maxhealth = 80 + reinf = 1 + maximal_heat = T0C + 750 + damage_per_fire_tick = 2.0 + glasstype = /obj/item/stack/material/glass/reinforced + force_threshold = 6 + +/obj/structure/window/eris/phoronbasic + name = "phoron window" + desc = "A borosilicate alloy window. It seems to be quite strong." + basestate = "preview_phoron" + icon_state = "pwindow" + shardtype = /obj/item/weapon/material/shard/phoron + glasstype = /obj/item/stack/material/glass/phoronglass + maximal_heat = T0C + 2000 + damage_per_fire_tick = 1.0 + maxhealth = 40.0 + force_threshold = 5 + maxhealth = 80 + +/obj/structure/window/eris/phoronreinforced + name = "reinforced borosilicate window" + desc = "A borosilicate alloy window, with rods supporting it. It seems to be very strong." + basestate = "preview_rphoron" + icon_state = "rpwindow" + shardtype = /obj/item/weapon/material/shard/phoron + glasstype = /obj/item/stack/material/glass/phoronrglass + reinf = 1 + maximal_heat = T0C + 4000 + damage_per_fire_tick = 1.0 // This should last for 80 fire ticks if the window is not damaged at all. The idea is that borosilicate windows have something like ablative layer that protects them for a while. + maxhealth = 160 + force_threshold = 10 + +/** + * Spawner helpers for mapping these in + */ + +/obj/effect/low_wall_spawner + name = "low wall spawner" + + var/low_wall_type + var/window_type + var/grille_type + + icon = null + +/obj/effect/low_wall_spawner/Initialize() + . = ..() + if(locate(/obj/effect/low_wall_spawner) in oview(0, src)) + warning("Duplicate low wall spawners in [x],[y],[z]!") + return INITIALIZE_HINT_QDEL + + if(low_wall_type) + new low_wall_type(loc) + if(grille_type) + new grille_type(loc) + if(window_type) + new window_type(loc) + + return INITIALIZE_HINT_QDEL + +// Bay types +/obj/effect/low_wall_spawner/bay + icon = 'icons/obj/wall_frame_bay.dmi' + icon_state = "sp_glass" + low_wall_type = /obj/structure/low_wall/bay + window_type = /obj/structure/window/bay + +/obj/effect/low_wall_spawner/bay/rglass + icon_state = "sp_rglass" + window_type = /obj/structure/window/bay/reinforced + +/obj/effect/low_wall_spawner/bay/phoron + icon_state = "sp_phoron" + window_type = /obj/structure/window/bay/phoronbasic + +/obj/effect/low_wall_spawner/bay/rphoron + icon_state = "sp_rphoron" + window_type = /obj/structure/window/bay/phoronreinforced + +/obj/effect/low_wall_spawner/bay/grille + icon = 'icons/obj/wall_frame_bay.dmi' + icon_state = "sp_glass_g" + low_wall_type = /obj/structure/low_wall/bay + grille_type = /obj/structure/grille/bay + window_type = /obj/structure/window/bay + +/obj/effect/low_wall_spawner/bay/grille/rglass + icon_state = "sp_rglass_g" + window_type = /obj/structure/window/bay/reinforced + +/obj/effect/low_wall_spawner/bay/grille/phoron + icon_state = "sp_phoron_g" + window_type = /obj/structure/window/bay/phoronbasic + +/obj/effect/low_wall_spawner/bay/grille/rphoron + icon_state = "sp_rphoron_g" + window_type = /obj/structure/window/bay/phoronreinforced + +// Eris types +/obj/effect/low_wall_spawner/eris + icon = 'icons/obj/wall_frame_eris.dmi' + icon_state = "sp_glass" + low_wall_type = /obj/structure/low_wall/eris + window_type = /obj/structure/window/eris + +/obj/effect/low_wall_spawner/eris/rglass + icon_state = "sp_rglass" + window_type = /obj/structure/window/eris/reinforced + +/obj/effect/low_wall_spawner/eris/phoron + icon_state = "sp_phoron" + window_type = /obj/structure/window/eris/phoronbasic + +/obj/effect/low_wall_spawner/eris/rphoron + icon_state = "sp_rphoron" + window_type = /obj/structure/window/eris/phoronreinforced diff --git a/code/game/turfs/simulated/wall_icon.dm b/code/game/turfs/simulated/wall_icon.dm index b6193f4942..9122f46e46 100644 --- a/code/game/turfs/simulated/wall_icon.dm +++ b/code/game/turfs/simulated/wall_icon.dm @@ -113,6 +113,10 @@ if(can_join_with(W)) dirs += get_dir(src, W) + special_wall_connections(dirs, inrange) + wall_connections = dirs_to_corner_states(dirs) + +/turf/simulated/wall/proc/special_wall_connections(list/dirs, list/inrange) if(material.icon_base == "hull") // Could be improved... var/additional_dirs = 0 for(var/direction in alldirs) @@ -125,10 +129,18 @@ if ((additional_dirs & diag_dir) == diag_dir) dirs += diag_dir +<<<<<<< HEAD wall_connections = dirs_to_corner_states(dirs) /turf/simulated/wall/proc/can_join_with(var/turf/simulated/wall/W) //VOREStation Edit Start +||||||| parent of 7857275f5a... Merge pull request #11213 from VOREStation/Arokha/aro3 + wall_connections = dirs_to_corner_states(dirs) + +/turf/simulated/wall/proc/can_join_with_wall(var/turf/simulated/wall/W) +======= +/turf/simulated/wall/proc/can_join_with_wall(var/turf/simulated/wall/W) +>>>>>>> 7857275f5a... Merge pull request #11213 from VOREStation/Arokha/aro3 //No blending if no material if(!material || !W.material) return 0 diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm index c64537d52f..624ec9f9be 100644 --- a/code/game/turfs/simulated/wall_types.dm +++ b/code/game/turfs/simulated/wall_types.dm @@ -371,3 +371,134 @@ /obj/structure/hull_corner/long_horiz/get_dirs_to_test() return list(dir, turn(dir,90), turn(dir,-90)) +<<<<<<< HEAD +||||||| parent of 7857275f5a... Merge pull request #11213 from VOREStation/Arokha/aro3 + + + +// Eris walls +/turf/simulated/wall/eris + icon = 'icons/turf/wall_masks_eris.dmi' + icon_state = "generic" + wall_masks = 'icons/turf/wall_masks_eris.dmi' + +/turf/simulated/wall/eris/can_join_with_low_wall(var/obj/structure/low_wall/WF) + return istype(WF, /obj/structure/low_wall/eris) + +/turf/simulated/wall/eris/r_wall + icon_state = "rgeneric" +/turf/simulated/wall/eris/r_wall/Initialize(mapload) + . = ..(mapload, "plasteel","plasteel") + +// Bay walls +/turf/simulated/wall/bay + icon = 'icons/turf/wall_masks_bay.dmi' + icon_state = "generic" + wall_masks = 'icons/turf/wall_masks_bay.dmi' + + var/stripe_color // Adds a colored stripe to the walls + +/turf/simulated/wall/bay/can_join_with_low_wall(var/obj/structure/low_wall/WF) + return istype(WF, /obj/structure/low_wall/bay) + +/turf/simulated/wall/bay/update_icon() + . = ..() + if(stripe_color) + var/image/I + for(var/i = 1 to 4) + I = image(wall_masks, "stripe[wall_connections[i]]", dir = 1<<(i-1)) + I.color = stripe_color + add_overlay(I) + +/turf/simulated/wall/bay/r_wall + icon_state = "rgeneric" +/turf/simulated/wall/bay/r_wall/Initialize(mapload) + . = ..(mapload, "plasteel","plasteel") +======= + + + +// Eris walls +/turf/simulated/wall/eris + icon = 'icons/turf/wall_masks_eris.dmi' + icon_state = "generic" + wall_masks = 'icons/turf/wall_masks_eris.dmi' + var/list/blend_objects = list(/obj/machinery/door) + var/list/noblend_objects = list(/obj/machinery/door/window, /obj/machinery/door/firedoor) + +/turf/simulated/wall/eris/can_join_with_low_wall(var/obj/structure/low_wall/WF) + return istype(WF, /obj/structure/low_wall/eris) +/turf/simulated/wall/eris/special_wall_connections(list/dirs, list/inrange) + ..() + for(var/direction in cardinal) + var/turf/T = get_step(src, direction) + var/decided_to_blend = FALSE + blend_obj_loop: + for(var/obj/O in T) + for(var/b_type in blend_objects) + if(istype(O, b_type)) + decided_to_blend = TRUE + for(var/obj/structure/S in T) + if(istype(S, src)) + decided_to_blend = FALSE + for(var/nb_type in noblend_objects) + if(istype(O, nb_type)) + decided_to_blend = FALSE + + if(decided_to_blend) + dirs += direction + break blend_obj_loop // breaks outer loop + +/turf/simulated/wall/eris/r_wall + icon_state = "rgeneric" +/turf/simulated/wall/eris/r_wall/Initialize(mapload) + . = ..(mapload, "plasteel","plasteel") + +// Bay walls +/turf/simulated/wall/bay + icon = 'icons/turf/wall_masks_bay.dmi' + icon_state = "generic" + wall_masks = 'icons/turf/wall_masks_bay.dmi' + var/list/blend_objects = list(/obj/machinery/door) + var/list/noblend_objects = list(/obj/machinery/door/window, /obj/machinery/door/firedoor) + + var/stripe_color // Adds a colored stripe to the walls + +/turf/simulated/wall/bay/can_join_with_low_wall(var/obj/structure/low_wall/WF) + return istype(WF, /obj/structure/low_wall/bay) + +/turf/simulated/wall/bay/update_icon() + . = ..() + if(stripe_color) + var/image/I + for(var/i = 1 to 4) + I = image(wall_masks, "stripe[wall_connections[i]]", dir = 1<<(i-1)) + I.color = stripe_color + add_overlay(I) + +/turf/simulated/wall/bay/special_wall_connections(list/dirs, list/inrange) + ..() + for(var/direction in cardinal) + var/turf/T = get_step(src, direction) + var/decided_to_blend = FALSE + blend_obj_loop: + for(var/obj/O in T) + for(var/b_type in blend_objects) + if(istype(O, b_type)) + decided_to_blend = TRUE + for(var/obj/structure/S in T) + if(istype(S, src)) + decided_to_blend = FALSE + for(var/nb_type in noblend_objects) + if(istype(O, nb_type)) + decided_to_blend = FALSE + + if(decided_to_blend) + dirs += direction + break blend_obj_loop // breaks outer loop + +/turf/simulated/wall/bay/r_wall + icon_state = "rgeneric" +/turf/simulated/wall/bay/r_wall/Initialize(mapload) + . = ..(mapload, "plasteel","plasteel") +>>>>>>> 7857275f5a... Merge pull request #11213 from VOREStation/Arokha/aro3 diff --git a/maps/offmap_vr/om_ships/aro3.dmm b/maps/offmap_vr/om_ships/aro3.dmm index f31d589f73..bcb0f9e836 100644 --- a/maps/offmap_vr/om_ships/aro3.dmm +++ b/maps/offmap_vr/om_ships/aro3.dmm @@ -43,9 +43,18 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/eris/dark/danger, +<<<<<<< HEAD /area/space) +||||||| parent of 7857275f5a... Merge pull request #11213 from VOREStation/Arokha/aro3 +/area/aro3/flight_deck) +======= +/area/aro3/flight_deck) +"ap" = ( +/turf/simulated/wall/eris/r_wall, +/area/aro3/suite_port) +>>>>>>> 7857275f5a... Merge pull request #11213 from VOREStation/Arokha/aro3 "aq" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/power) "at" = ( /obj/structure/cable/cyan{ @@ -133,7 +142,7 @@ /obj/structure/cable/cyan{ icon_state = "1-2" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/suite_starboard) "aY" = ( /obj/structure/railing/grey{ @@ -182,7 +191,7 @@ /obj/structure/cable/cyan{ icon_state = "1-8" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/cockpit) "bs" = ( /obj/machinery/power/rtg/abductor/hybrid/built, @@ -267,7 +276,9 @@ /obj/structure/cable/cyan{ icon_state = "1-2" }, -/turf/simulated/floor/outdoors/grass/heavy, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, /area/aro3/park) "cc" = ( /obj/structure/closet/walllocker/emerglocker/north, @@ -327,10 +338,8 @@ /turf/simulated/floor/tiled/eris/dark/gray_platform, /area/aro3/hallway_bunkrooms) "cB" = ( -/obj/structure/window/plastitanium/full, -/obj/structure/grille, -/turf/simulated/floor/plating/eris/under, -/area/space) +/turf/simulated/wall/eris/r_wall, +/area/aro3/eva_hall) "cH" = ( /turf/simulated/floor/water/indoors/surfluid, /area/aro3/surfluid) @@ -559,7 +568,9 @@ /turf/simulated/floor/carpet/turcarpet, /area/aro3/suite_starboard) "el" = ( -/turf/simulated/floor/outdoors/grass/heavy, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, /area/aro3/park) "em" = ( /obj/structure/table/darkglass, @@ -664,7 +675,7 @@ /turf/simulated/floor/tiled/eris/dark/techfloor_grid, /area/aro3/hallway_bunkrooms) "ff" = ( -/obj/structure/window/plastitanium/full, +/obj/effect/low_wall_spawner/eris/rglass, /turf/simulated/floor/plating/eris/under, /area/aro3/repair_bay) "fo" = ( @@ -695,7 +706,7 @@ /turf/simulated/floor/tiled/eris/steel/bar_light, /area/aro3/bar) "fB" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/atmos) "fC" = ( /obj/machinery/light{ @@ -707,7 +718,7 @@ /obj/structure/cable/cyan{ icon_state = "1-4" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/cockpit) "fL" = ( /turf/simulated/wall/rpshull, @@ -1001,6 +1012,9 @@ }, /turf/simulated/wall/rpshull, /area/space) +"hM" = ( +/turf/simulated/wall/eris/r_wall, +/area/aro3/suite_starboard) "hN" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -1057,8 +1071,7 @@ /turf/simulated/floor/tiled/eris/dark/gray_perforated, /area/aro3/power) "iy" = ( -/obj/structure/window/plastitanium/full, -/obj/structure/grille, +/obj/effect/low_wall_spawner/eris/rglass, /turf/simulated/floor/plating/eris/under, /area/aro3/cockpit) "iB" = ( @@ -1210,7 +1223,9 @@ dir = 1; pixel_y = -26 }, -/turf/simulated/floor/outdoors/grass/heavy, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, /area/aro3/park) "jx" = ( /obj/structure/closet/crate/medical/blood, @@ -1237,6 +1252,7 @@ }, /turf/simulated/floor/reinforced/airless, /area/space) +<<<<<<< HEAD "jM" = ( /obj/structure/railing/grey{ dir = 4 @@ -1246,6 +1262,12 @@ }, /turf/simulated/floor/water/indoors/surfluid, /area/aro3/function) +||||||| parent of 7857275f5a... Merge pull request #11213 from VOREStation/Arokha/aro3 +======= +"jM" = ( +/turf/space/internal_edge/right, +/area/aro3/park) +>>>>>>> 7857275f5a... Merge pull request #11213 from VOREStation/Arokha/aro3 "jO" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal{ dir = 8 @@ -1497,7 +1519,7 @@ /turf/simulated/floor/tiled/eris/white, /area/aro3/wc_starboard) "lu" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/park) "lv" = ( /obj/structure/table/woodentable, @@ -1535,7 +1557,7 @@ /turf/simulated/floor/tiled/eris/dark/techfloor_grid, /area/aro3/hallway_port) "lO" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/medical) "lP" = ( /obj/structure/cable/cyan{ @@ -1667,8 +1689,13 @@ /turf/simulated/floor/plating/eris/under, /area/aro3/power) "mX" = ( -/obj/structure/flora/tree/jungle_small, -/turf/simulated/floor/outdoors/grass/heavy, +/obj/structure/flora/tree/jungle_small{ + pixel_x = -38; + pixel_y = 7 + }, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, /area/aro3/park) "nb" = ( /obj/machinery/light_switch{ @@ -1720,7 +1747,7 @@ /turf/simulated/floor/tiled/eris/dark, /area/aro3/function) "ns" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/function) "ny" = ( /obj/structure/cable/cyan{ @@ -2011,7 +2038,9 @@ "qh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/outdoors/grass/heavy, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, /area/aro3/park) "qi" = ( /obj/machinery/power/apc/alarms_hidden{ @@ -2139,7 +2168,7 @@ /obj/structure/cable/cyan{ icon_state = "1-2" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/suite_starboard_wc) "re" = ( /turf/simulated/floor/tiled/eris/dark/gray_perforated, @@ -2207,7 +2236,9 @@ /obj/structure/cable/cyan{ icon_state = "1-2" }, -/turf/simulated/floor/outdoors/grass/heavy, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, /area/aro3/park) "rJ" = ( /obj/structure/cable/cyan{ @@ -2237,6 +2268,15 @@ }, /turf/simulated/floor/plating/eris/under, /area/aro3/power) +"rR" = ( +/obj/structure/flora/tree/jungle_small{ + pixel_x = -27; + pixel_y = -3 + }, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, +/area/aro3/park) "rU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -2555,7 +2595,7 @@ /obj/structure/cable/cyan{ icon_state = "4-8" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/bar) "vJ" = ( /obj/machinery/light, @@ -2616,7 +2656,9 @@ /obj/structure/cable/cyan{ icon_state = "0-8" }, -/turf/simulated/floor/outdoors/grass/heavy, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, /area/aro3/park) "wc" = ( /obj/structure/lattice, @@ -3020,7 +3062,9 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/outdoors/grass/heavy, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, /area/aro3/park) "yQ" = ( /obj/machinery/power/apc/alarms_hidden{ @@ -3114,7 +3158,7 @@ /turf/simulated/floor/tiled/eris/steel/panels, /area/aro3/eva_hall) "zo" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/bunkrooms) "zq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3202,7 +3246,7 @@ /obj/structure/cable/cyan{ icon_state = "1-2" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/atmos) "zM" = ( /obj/structure/cable/cyan{ @@ -3446,7 +3490,7 @@ /obj/structure/cable/cyan{ icon_state = "1-2" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/suite_port_wc) "Ci" = ( /obj/effect/floor_decal/industrial/hatch/yellow, @@ -29812,7 +29856,8 @@ Ua /turf/simulated/floor/tiled/eris/steel/bar_dance, /area/aro3/bar) "Fy" = ( -/turf/simulated/wall/rpshull, +/obj/effect/low_wall_spawner/eris/rglass, +/turf/simulated/floor/plating/eris/under, /area/aro3/kitchen) "FE" = ( /obj/machinery/light{ @@ -29949,7 +29994,7 @@ Ua /turf/simulated/floor/tiled/eris/dark/danger, /area/aro3/flight_deck) "Hd" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/hallway_starboard) "Hh" = ( /turf/simulated/floor/plating/eris/under, @@ -30038,7 +30083,7 @@ Ua /turf/simulated/floor/tiled/eris/dark/gray_platform, /area/aro3/repair_bay) "HJ" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/wc_port) "HL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -30072,6 +30117,19 @@ Ua }, /turf/simulated/floor/tiled/eris/dark, /area/aro3/atmos) +"Io" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/alarm/alarms_hidden{ + dir = 4; + pixel_x = -26 + }, +/turf/simulated/floor/tiled/eris/dark/techfloor_grid, +/area/aro3/hallway_port) +"Iq" = ( +/turf/simulated/wall/eris/r_wall, +/area/aro3/flight_deck) "Is" = ( /turf/simulated/floor/tiled/eris/dark/danger, /area/aro3/repair_bay) @@ -30111,12 +30169,15 @@ Ua }, /turf/simulated/floor/tiled/eris/dark, /area/aro3/surfluid) +"IR" = ( +/turf/simulated/wall/eris/r_wall, +/area/aro3/wc_starboard) "IS" = ( /obj/effect/floor_decal/industrial/hatch, /turf/simulated/floor/tiled/eris/dark/gray_platform, /area/aro3/repair_bay) "IT" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/hallway_port) "IX" = ( /obj/structure/cable/cyan{ @@ -30134,7 +30195,7 @@ Ua /turf/simulated/floor/tiled/eris/steel/panels, /area/aro3/function) "Jj" = ( -/obj/structure/window/plastitanium/full, +/obj/effect/low_wall_spawner/eris/rglass, /turf/simulated/floor/plating/eris/under, /area/aro3/flight_deck) "Jl" = ( @@ -30190,7 +30251,9 @@ Ua dir = 1; pixel_y = -24 }, -/turf/simulated/floor/outdoors/grass/heavy, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, /area/aro3/park) "Kl" = ( /obj/structure/table/woodentable, @@ -30207,7 +30270,7 @@ Ua /obj/structure/cable/cyan{ icon_state = "1-2" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/suite_port) "Kp" = ( /obj/structure/table/glass, @@ -30221,7 +30284,7 @@ Ua /obj/structure/cable/cyan{ icon_state = "4-8" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/hallway_bunkrooms) "Kw" = ( /obj/machinery/pointdefense_control{ @@ -30245,10 +30308,7 @@ Ua /turf/simulated/floor/tiled/eris/steel/panels, /area/aro3/hallway_starboard) "KB" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/water/deep/indoors, +/turf/space/internal_edge/topleft, /area/aro3/park) "KC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -30271,7 +30331,7 @@ Ua /obj/structure/cable/cyan{ icon_state = "4-8" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/cockpit) "KI" = ( /obj/machinery/power/pointdefense{ @@ -30328,6 +30388,9 @@ Ua }, /turf/simulated/floor/carpet/turcarpet, /area/aro3/suite_port) +"Lb" = ( +/turf/simulated/wall/eris/r_wall, +/area/aro3/bar) "Le" = ( /obj/machinery/light{ dir = 8 @@ -30494,7 +30557,7 @@ Ua /obj/structure/cable/cyan{ icon_state = "1-4" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/atmos) "Mh" = ( /obj/structure/lattice, @@ -30517,18 +30580,11 @@ Ua /turf/simulated/floor/plating/eris/under, /area/aro3/atmos) "Ml" = ( -/obj/structure/cable/cyan{ - icon_state = "1-2" +/obj/structure/table/bench/steel, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/alarm/alarms_hidden{ - dir = 4; - pixel_x = -26 - }, -/turf/simulated/floor/tiled/eris/dark/techfloor_grid, -/area/aro3/hallway_port) +/area/aro3/park) "Mn" = ( /obj/machinery/sleeper{ dir = 4 @@ -30557,10 +30613,8 @@ Ua /turf/simulated/floor/tiled/eris/dark/danger, /area/aro3/flight_deck) "MC" = ( -/obj/structure/sign/warning/docking_area, -/obj/structure/window/plastitanium/full, -/turf/simulated/floor/plating/eris/under, -/area/aro3/flight_deck) +/turf/space/internal_edge/topright, +/area/aro3/park) "MD" = ( /obj/structure/table/rack/shelf/steel, /turf/simulated/floor/tiled/techmaint, @@ -30662,7 +30716,7 @@ Ua /turf/simulated/floor/tiled/eris/dark/techfloor_grid, /area/aro3/kitchen) "NC" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/repair_bay) "NF" = ( /obj/effect/floor_decal/industrial/hatch/yellow, @@ -30678,7 +30732,7 @@ Ua /obj/structure/cable/cyan{ icon_state = "1-8" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/power) "NJ" = ( /obj/machinery/light{ @@ -30778,6 +30832,18 @@ Ua "Ov" = ( /turf/simulated/floor/tiled/eris/dark/danger, /area/aro3/flight_deck) +"Ox" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/eris/dark/techfloor_grid, +/area/aro3/hallway_starboard) "Oy" = ( /obj/structure/window/basic{ dir = 4 @@ -30859,7 +30925,12 @@ Ua /area/aro3/function) "Pe" = ( /obj/structure/table/bench/steel, -/turf/simulated/floor/outdoors/grass/heavy, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, /area/aro3/park) "Pi" = ( /obj/machinery/alarm/alarms_hidden{ @@ -31105,11 +31176,11 @@ Ua /turf/simulated/floor/tiled/eris/cafe, /area/aro3/kitchen) "Rz" = ( -/obj/structure/window/plastitanium/full, +/obj/effect/low_wall_spawner/eris/rglass, /turf/simulated/floor/plating/eris/under, /area/aro3/surfluid) "RJ" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/surfluid) "RK" = ( /obj/structure/cable/cyan{ @@ -31129,6 +31200,9 @@ Ua }, /turf/simulated/floor/reinforced/airless, /area/space) +"RR" = ( +/turf/space/internal_edge/bottomleft, +/area/aro3/park) "Sa" = ( /obj/effect/floor_decal/industrial/warning/dust, /obj/structure/cable/cyan{ @@ -31233,6 +31307,9 @@ Ua }, /turf/simulated/floor/tiled/eris/dark/gray_perforated, /area/shuttle/aroboat3) +"Tc" = ( +/turf/simulated/wall/eris/r_wall, +/area/aro3/workshop) "Tg" = ( /obj/machinery/alarm/alarms_hidden{ dir = 1; @@ -31306,7 +31383,7 @@ Ua /obj/structure/cable/cyan{ icon_state = "1-2" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/power) "TK" = ( /obj/structure/cable/cyan{ @@ -31354,7 +31431,7 @@ Ua /obj/structure/cable/cyan{ icon_state = "1-2" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/medical) "Ua" = ( /turf/space, @@ -31414,7 +31491,7 @@ Ua /turf/simulated/floor/tiled/eris/steel/panels, /area/aro3/hallway_starboard) "Uy" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/suite_port_wc) "Uz" = ( /turf/simulated/floor/tiled/eris/dark, @@ -31459,6 +31536,9 @@ Ua /obj/structure/fans/hardlight, /turf/simulated/floor/reinforced, /area/aro3/flight_deck) +"Vk" = ( +/turf/space/internal_edge/bottomright, +/area/aro3/park) "Vl" = ( /obj/structure/table/glass, /obj/item/weapon/storage/firstaid/adv, @@ -31488,7 +31568,7 @@ Ua /turf/simulated/floor/water/indoors/surfluid, /area/aro3/surfluid) "VD" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/suite_starboard_wc) "VO" = ( /obj/structure/sink/kitchen{ @@ -31520,6 +31600,9 @@ Ua }, /turf/simulated/floor/wood, /area/aro3/suite_port) +"VZ" = ( +/turf/simulated/wall/eris/r_wall, +/area/aro3/kitchen) "Wc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -31543,6 +31626,10 @@ Ua /obj/machinery/meter, /turf/simulated/floor/plating/eris/under, /area/aro3/atmos) +"Wy" = ( +/obj/effect/low_wall_spawner/eris/rglass, +/turf/simulated/floor/plating/eris/under, +/area/aro3/medical) "Wz" = ( /obj/structure/table/steel, /turf/simulated/floor/tiled/eris/dark/gray_platform, @@ -31551,7 +31638,7 @@ Ua /obj/structure/cable/cyan{ icon_state = "1-2" }, -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/workshop) "WB" = ( /obj/item/modular_computer/console/preset/civilian, @@ -31584,7 +31671,7 @@ Ua /turf/simulated/floor/tiled/eris/dark, /area/aro3/surfluid) "WN" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/hallway_bunkrooms) "WP" = ( /obj/structure/closet/walllocker/emerglocker/north, @@ -31598,7 +31685,7 @@ Ua /turf/simulated/floor/tiled/eris/cafe, /area/aro3/kitchen) "WU" = ( -/obj/structure/window/plastitanium/full, +/obj/effect/low_wall_spawner/eris/rglass, /turf/simulated/floor/plating/eris/under, /area/aro3/bar) "WV" = ( @@ -31663,10 +31750,7 @@ Ua /turf/simulated/floor/water/indoors/surfluid, /area/aro3/medical) "Xv" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor/water/deep/indoors, +/turf/space/internal_edge/left, /area/aro3/park) "XE" = ( /obj/structure/lattice, @@ -31708,6 +31792,18 @@ Ua }, /turf/simulated/floor/tiled/eris/dark/gray_perforated, /area/shuttle/aroboat3) +"Yb" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/dark/techfloor_grid, +/area/aro3/hallway_port) "Yf" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -31851,7 +31947,7 @@ Ua /turf/simulated/floor/tiled/eris/dark/techfloor_grid, /area/aro3/hallway_port) "Zm" = ( -/turf/simulated/wall/rpshull, +/turf/simulated/wall/eris/r_wall, /area/aro3/cockpit) "Zo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -39717,10 +39813,10 @@ hD jC Fn Fn -eN -eN -eN -eN +ap +ap +ap +ap HJ HJ JU @@ -39859,11 +39955,11 @@ Fn Fn Fn eN -eN +ap Yu Pu Wg -eN +ap pV hN WN @@ -39999,13 +40095,13 @@ Fn Fn Fn Fn -eN -eN -eN +ap +ap +ap Rm -eN -eN -eN +ap +ap +ap zI ef WN @@ -40147,7 +40243,7 @@ lf lf MY bH -eN +ap ye ZP fc @@ -40283,7 +40379,7 @@ Uy Uy CR Oy -eN +ap xh KX II @@ -40431,7 +40527,7 @@ ra pj af iS -eN +ap Fr qI WN @@ -40567,13 +40663,13 @@ QE yQ dG Dr -eN +ap QV Kl Yz gd OR -eN +ap MS To WN @@ -40709,13 +40805,13 @@ Uy Uy Uy Uy -eN -eN -eN -eN +ap +ap +ap +ap bk -eN -eN +ap +ap Fr qI WN @@ -40727,8 +40823,8 @@ zo zo lO lO -lO -lO +Wy +Wy lO lO iN @@ -40868,10 +40964,10 @@ Yf Yf Yf Yf +Io +SE Yf -Ml -Le -lI +Yb Yf Yf wu @@ -41117,11 +41213,11 @@ Fn Fn Fn Fn -Nu +cB qm Aa -Nu -Nu +cB +cB ns ns ns @@ -41136,19 +41232,19 @@ ns ns ns ns -Fy -Fy -Fy +VZ +VZ +VZ qI Fr +VZ Fy Fy -Fy -RJ RJ RJ Rz -RJ +Rz +Rz RJ RJ iN @@ -41162,18 +41258,18 @@ NC NC oz qI -Ur -Ur -Ur -Ur -Ur -Ur -Ur +Iq +Iq +Iq +Iq +Iq +Iq +Iq Jj Jj Jj -Ur -Ur +Iq +Iq Ur Ua Ua @@ -41254,16 +41350,16 @@ zD Ae Fn lu -lu -lu -lu -lu -lu +KB +Xv +Xv +Xv +RR lu XF XF fZ -Nu +cB Uu Dn Dn @@ -41278,12 +41374,12 @@ Dn Dn Dn CQ -Fy +VZ AC -Fy +VZ dn Aj -Fy +VZ WR yD RJ @@ -41304,7 +41400,7 @@ uI NC Ty To -Ur +Iq Hc Ov HE @@ -41396,16 +41492,16 @@ KF Zm Zm lu -lu Xj -Xv +Xj +Xj Xj Xj lu XF XF kc -Nu +cB EC EF pr @@ -41420,7 +41516,7 @@ HH HH jh cm -Fy +VZ AD iL mQ @@ -41446,7 +41542,7 @@ hl NC Rj qI -Ur +Iq wq Ov Fc @@ -41547,7 +41643,7 @@ lu DM XF XF -Nu +cB EC zu uJ @@ -41562,7 +41658,7 @@ uJ uJ iJ cm -Fy +VZ ym AD AD @@ -41588,7 +41684,7 @@ CW NC mF qI -Ur +Iq aA Ov Fc @@ -41680,7 +41776,7 @@ NQ kM Zm lu -Pe +Ml el el mX @@ -41689,8 +41785,8 @@ lu lu PV Tv -Nu -Nu +cB +cB Pb rN CA @@ -41704,7 +41800,7 @@ kb uJ rx ns -Fy +VZ VO AD AD @@ -41730,7 +41826,7 @@ Hn NC oz qI -MC +Jj Ov Ov HE @@ -41814,7 +41910,7 @@ Hv Hv Hv Hv -cB +Hv iy PP tL @@ -41956,7 +42052,7 @@ Hv Hv Hv Hv -cB +Hv iy Lt dE @@ -42106,17 +42202,17 @@ NQ Zo Zm lu -Pe +Ml el el -mX +rR jr lu lu VQ Tg -Nu -Nu +cB +cB Pb pr QZ @@ -42130,7 +42226,7 @@ Jl uJ Us ns -Fy +VZ yU AD AD @@ -42156,7 +42252,7 @@ Gt NC OV Mr -MC +Jj am Ov Ov @@ -42257,7 +42353,7 @@ lu vP XF XF -Nu +cB EC zu uJ @@ -42272,7 +42368,7 @@ uJ uJ iJ cm -Fy +VZ vN AD AD @@ -42298,7 +42394,7 @@ Yt NC Md Hz -Ur +Iq UR Ov Qe @@ -42390,16 +42486,16 @@ KF Zm Zm lu -lu Xj -KB +Xj +Xj Xj Xj lu XF XF kc -Nu +cB EC EF rN @@ -42414,7 +42510,7 @@ PJ PJ Ls cm -Fy +VZ AD AD AD @@ -42440,7 +42536,7 @@ hl NC kj Mr -Ur +Iq gP Ov Qe @@ -42532,16 +42628,16 @@ hH at Fn lu -lu -lu -lu -lu -lu +MC +jM +jM +jM +Vk lu XF XF SD -Nu +cB hk EU EU @@ -42556,12 +42652,12 @@ EU EU EU IF -Fy +VZ TN -Fy +VZ sw Aj -Fy +VZ ec AQ RJ @@ -42582,7 +42678,7 @@ uI NC KA Uv -Ur +Iq jU Ov kg @@ -42679,11 +42775,11 @@ Fn Fn Fn Fn -Nu +cB qm Aa -Nu -Nu +cB +cB ns ns ns @@ -42698,19 +42794,19 @@ ns ns ns ns -Fy -Fy -Fy +VZ +VZ +VZ kl CH +VZ Fy Fy -Fy -RJ RJ RJ Rz -RJ +Rz +Rz RJ RJ Mr @@ -42724,18 +42820,18 @@ NC NC OV Mr -Ur -Ur -Ur -Ur -Ur -Ur -Ur +Iq +Iq +Iq +Iq +Iq +Iq +Iq Jj Jj Jj -Ur -Ur +Iq +Iq Ur Ua Ua @@ -43000,8 +43096,8 @@ Hr Sj Hr LT -sD -KU +Hr +Ox Hr Ze ne @@ -43123,33 +43219,33 @@ VD VD VD VD -pS -pS -pS -pS +hM +hM +hM +hM jy -pS -pS +hM +hM CH Mr -EV -EV -EV -EV +Lb +Lb +Lb WU WU -EV -ly -ly -ly -ly -ly -ly +WU +Lb +Tc +Tc +Tc +Tc +Tc +Tc CH Mr -ly -ly -ly +Tc +Tc +Tc fB JK Ie @@ -43265,31 +43361,31 @@ Nm hu Iu eK -pS +hM wy dF lv ig sr -pS +hM Gg Uv -EV +Lb JM aZ Fx DH Fx WJ -ly +Tc aY ki lC aY -ly +Tc lq mg -ly +Tc aY aY fB @@ -43413,17 +43509,17 @@ fb Hq nL od -pS +hM CH Mr -EV -EV +Lb +Lb nz Fx xp Fx al -ly +Tc Wz nm tl @@ -43549,7 +43645,7 @@ VD VD AX Gp -pS +hM WB Eu US @@ -43564,8 +43660,8 @@ gE YY Kz hT -EV -ly +Lb +Tc aa nm tl @@ -43697,7 +43793,7 @@ xP xP kk ZL -pS +hM PO aR DY @@ -43707,7 +43803,7 @@ go Qv YY WJ -ly +Tc nm nm tl @@ -43833,23 +43929,23 @@ Fn Fn Fn Fn -pS -pS -pS +hM +hM +hM tY -pS -pS -pS +hM +hM +hM QT sW -EV -EV +Lb +Lb zW YF Fx YY WJ -ly +Tc PN nm tl @@ -43977,21 +44073,21 @@ Fn Fn Fn pS -pS +hM xw Fl YN -pS +hM Yj LS -EV +Lb mG iI DH Fx YY WJ -ly +Tc MN nm tl @@ -44119,21 +44215,21 @@ hD zS Fn Fn -eN -pS -pS -pS -fL -fL +ap +hM +hM +hM +IR +IR hC -EV +Lb zY aO DH Fx YY WJ -ly +Tc dM nm tl @@ -44265,17 +44361,17 @@ Fn Fn Fn Fn -fL +IR Zw ws -EV +Lb eR em DH Fx YY WJ -ly +Tc Wz FE tl @@ -44284,8 +44380,8 @@ xI PL Aq Rp -ly -ly +Tc +Tc Fn Fn Fn @@ -44407,26 +44503,26 @@ EI Fn Fn Fn -fL +IR lr dH -EV +Lb YY zM YY YY hT -EV -ly -ly -ly -ly +Lb +Tc +Tc +Tc +Tc Nj -ly -ly -ly -ly -ly +Tc +Tc +Tc +Tc +Tc Fn Fn Ua @@ -44549,24 +44645,24 @@ Ua HG Fn Fn -fL -fL +IR +IR uY -EV +Lb YY fz hA gu YY qC -ly +Tc hn KP Uq Uq Uq Ln -ly +Tc ly Fn Fn @@ -44692,23 +44788,23 @@ Ua HG Fn Fn -fL -fL -EV +IR +IR +Lb YY zM YY YY YY WJ -ly +Tc Uq Uq ri qR KE -ly -ly +Tc +Tc Fn Fn dk @@ -44836,20 +44932,20 @@ HG Fn Fn fL -EV -EV +Lb +Lb dP -EV -EV -EV -EV -ly +Lb +Lb +Lb +Lb +Tc Uq zk -ly -ly -ly -ly +Tc +Tc +Tc +Tc Fn Fn dk @@ -44979,16 +45075,16 @@ HG Fn Fn EV -EV +Lb oh Rt sG sG MD -ly +Tc ZU -ly -ly +Tc +Tc Fn Fn Fn @@ -45121,15 +45217,15 @@ Ua HG Fn Fn -EV -EV +Lb +Lb vu nX Rt pT -EV -ly -ly +Lb +Tc +Tc Fn Fn dk @@ -45264,12 +45360,12 @@ Ua HG Fn Fn -EV -EV +Lb +Lb MD dK MD -EV +Lb Fn Fn Fn @@ -45407,11 +45503,11 @@ Ua HG Fn Fn -EV -EV +Lb +Lb vH -EV -EV +Lb +Lb Fn Fn dk