diff --git a/baystation12.dme b/baystation12.dme index ecda588124e..4d76070f216 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1704,8 +1704,8 @@ #include "code\modules\modular_computers\NTNet\NTNRC\conversation.dm" #include "code\modules\multiz\_stubs.dm" #include "code\modules\multiz\basic.dm" +#include "code\modules\multiz\mobile_ladders.dm" #include "code\modules\multiz\movement.dm" -#include "code\modules\multiz\mz_items.dm" #include "code\modules\multiz\openspace.dm" #include "code\modules\multiz\pipes.dm" #include "code\modules\multiz\structures.dm" diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm index c140f4ed84d..ad321c9e63f 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -197,6 +197,9 @@ new /obj/item/weapon/extinguisher(src) new /obj/item/clothing/head/hardhat/red(src) + if (prob(25)) + new /obj/item/weapon/ladder_mobile(src) + /* * First Aid */ diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index c7cd0b93f05..92cd259ba3a 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1189,8 +1189,9 @@ spawn(0) regenerate_icons() - vessel.add_reagent("blood",560-vessel.total_volume) - fixblood() + if (vessel) + vessel.add_reagent("blood",560-vessel.total_volume) + fixblood() // Rebuild the HUD. If they aren't logged in then login() should reinstantiate it for them. if(client && client.screen) diff --git a/code/modules/multiz/mobile_ladders.dm b/code/modules/multiz/mobile_ladders.dm new file mode 100644 index 00000000000..12a24d15072 --- /dev/null +++ b/code/modules/multiz/mobile_ladders.dm @@ -0,0 +1,101 @@ +/obj/item/weapon/ladder_mobile + name = "mobile ladder" + desc = "A lightweight deployable ladder, which you can use to move up or down. Or alternatively, you can bash some faces in." + icon_state = "mobile_ladder" + item_state = "mobile_ladder" + icon = 'icons/obj/multiz_items.dmi' + contained_sprite = TRUE + throw_range = 3 + force = 10 + w_class = 4.0 + slot_flags = SLOT_BACK + +/obj/item/weapon/ladder_mobile/proc/place_ladder(atom/A, mob/user) + + if (istype(A, /turf/simulated/open)) //Place into open space + var/turf/below_loc = GetBelow(A) + if (!below_loc || (istype(/turf/space, below_loc))) + to_chat(user, "Why would you do that?! There is only infinite space there...") + return + user.visible_message("[user] begins to lower \the [src] into \the [A].", + "You begin to lower \the [src] into \the [A].") + if (!handle_action(A, user)) + return + // Create the lower ladder first. ladder/Initialize() will make the upper + // ladder create the appropriate links. So the lower ladder must exist first. + var/obj/structure/ladder/mobile/downer = new(below_loc) + downer.allowed_directions = UP + + new /obj/structure/ladder/mobile(A) + + user.drop_item() + qdel(src) + + else if (istype(A, /turf/simulated/floor)) //Place onto Floor + var/turf/upper_loc = GetAbove(A) + if (!upper_loc || !istype(upper_loc,/turf/simulated/open)) + user << "There is something above. You can't deploy!" + return + user.visible_message("[user] begins deploying \the [src] on \the [A].", + "You begin to deploy \the [src] on \the [A].") + if (!handle_action(A, user)) + return + // Ditto here. Create the lower ladder first. + var/obj/structure/ladder/mobile/downer = new(A) + downer.allowed_directions = UP + + new /obj/structure/ladder/mobile(upper_loc) + + user.drop_item() + qdel(src) + +/obj/item/weapon/ladder_mobile/afterattack(atom/A, mob/user,proximity) + if (!proximity) + return + + place_ladder(A,user) + +/obj/item/weapon/ladder_mobile/proc/handle_action(atom/A, mob/user) + if (!do_after(user, 30, act_target = user)) + to_chat(user, "Can't place ladder! You were interrupted!") + return FALSE + if (!A || QDELETED(src) || QDELETED(user)) + // Shit was deleted during delay, call is no longer valid. + return FALSE + return TRUE + +/obj/structure/ladder/mobile + base_icon = "mobile_ladder" + +/obj/structure/ladder/mobile/verb/fold() + set name = "Fold Ladder" + set category = "Object" + set src in oview(1) + + if (usr.incapacitated() || !usr.IsAdvancedToolUser() || !ishuman(usr)) + to_chat(usr, "You can't do that right now!") + return + + var/mob/living/carbon/human/H = usr + H.visible_message("[H] starts folding up [src].", + "You start folding up [src].") + + if (!do_after(H, 30, act_target = src)) + to_chat(H, "You are interrupted!") + return + + if (QDELETED(src)) + return + + var/obj/item/weapon/ladder_mobile/R = new(get_turf(H)) + transfer_fingerprints_to(R) + + H.visible_message("[H] folds [src] up into [R]!", + "You fold [src] up into [R]!") + + if(target_down) + QDEL_NULL(target_down) + qdel(src) + else + QDEL_NULL(target_up) + qdel(src) diff --git a/code/modules/multiz/mz_items.dm b/code/modules/multiz/mz_items.dm deleted file mode 100644 index 10892bfca4b..00000000000 --- a/code/modules/multiz/mz_items.dm +++ /dev/null @@ -1,60 +0,0 @@ -/obj/item/weapon/ladder_mobile - name = "mobile ladder" - desc = "A lightweight deployable ladder, which you can use to move up or down. Or alternatively, you can bash some faces in." - icon_state = "ladder01" - icon = 'icons/obj/structures.dmi' - throw_range = 3 - force = 10 - w_class = 4.0 - slot_flags = SLOT_BACK - -/obj/item/weapon/ladder_mobile/proc/place_ladder(atom/A,mob/user) - - if(istype(A, /turf/simulated/open)) //Place into open space - var/turf/below_loc = GetBelow(A) - if (!below_loc || (istype(/turf/space,below_loc))) - user << "Why would you do that?! There is only infinite space there..." - return - user.visible_message("[user] begins to lower \the [src] into \the [A].") - if(!handle_action(A,user)) - return - var/obj/structure/ladder/mobile/body/R = new(A) - var/obj/structure/ladder/mobile/base/D = new(A) - D.forceMove(below_loc) - R.target_down = D - D.target_up = R - - user.drop_item() - qdel(src) - - if(istype(A, /turf/simulated/floor)) //Place onto Floor - var/turf/upper_loc = GetAbove(A) - if (!upper_loc || !istype(upper_loc,/turf/simulated/open)) - user << "There is something above. You can't deploy!" - return - user.visible_message("[user] begins deploying \the [src] on \the [A].") - if(!handle_action(A,user)) - return - var/obj/structure/ladder/mobile/base/R = new(A) - var/obj/structure/ladder/mobile/body/D = new(A) - D.forceMove(upper_loc) // moves A up to upper_loc. - R.target_up = D - D.target_down = R - - user.drop_item() - qdel(src) - -/obj/item/weapon/ladder_mobile/afterattack(atom/A, mob/user,proximity) - if(!proximity) - return - //addtimer(CALLBACK(src, .proc/place_ladder, A, user), 5000) - place_ladder(A,user) - -/obj/item/weapon/ladder_mobile/proc/handle_action(atom/A, mob/user) - if (!do_after(user, 30, act_target = user)) - to_chat(user, "Can't place ladder! You were interrupted!") - return FALSE - if (!A || QDELETED(src) || QDELETED(user)) - // Shit was deleted during delay, call is no longer valid. - return FALSE - return TRUE \ No newline at end of file diff --git a/code/modules/multiz/structures.dm b/code/modules/multiz/structures.dm index 6140df5696d..4ccc6cfd81b 100644 --- a/code/modules/multiz/structures.dm +++ b/code/modules/multiz/structures.dm @@ -14,6 +14,7 @@ var/allowed_directions = DOWN var/obj/structure/ladder/target_up var/obj/structure/ladder/target_down + var/base_icon = "ladder" var/const/climb_time = 2 SECONDS @@ -25,7 +26,10 @@ if(L.allowed_directions & UP) target_down = L L.target_up = src - return + + L.update_icon() + break + update_icon() /obj/structure/ladder/Destroy() @@ -113,7 +117,7 @@ return airflow || !density /obj/structure/ladder/update_icon() - icon_state = "ladder[!!(allowed_directions & UP)][!!(allowed_directions & DOWN)]" + icon_state = "[base_icon][!!(allowed_directions & UP)][!!(allowed_directions & DOWN)]" /obj/structure/ladder/up allowed_directions = UP @@ -123,27 +127,6 @@ allowed_directions = UP|DOWN icon_state = "ladder11" -/obj/structure/ladder/mobile/base - allowed_directions = UP - icon_state = "ladder11" -/obj/structure/ladder/mobile/body - allowed_directions = DOWN - icon_state = "ladder11" - -/obj/structure/ladder/mobile/verb/fold() - set name = "Fold Ladder" - set category = "Object" - set src in oview(1) - var/obj/item/weapon/ladder_mobile/R = new(src.loc) - src.transfer_fingerprints_to(R) - - if(src.target_down == null) - QDEL_NULL(src.target_up) - qdel(src) - else - QDEL_NULL(src.target_down) - qdel(src) - /obj/structure/stairs name = "Stairs" desc = "Stairs leading to another deck. Not too useful if the gravity goes out." diff --git a/icons/obj/multiz_items.dmi b/icons/obj/multiz_items.dmi new file mode 100644 index 00000000000..2582629420e Binary files /dev/null and b/icons/obj/multiz_items.dmi differ diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index 628904b1863..4782e1c28d7 100644 Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ diff --git a/maps/Aurora-MapDev/aurora-2.dmm b/maps/Aurora-MapDev/aurora-2.dmm index 2d2745f1557..35274df4c92 100644 --- a/maps/Aurora-MapDev/aurora-2.dmm +++ b/maps/Aurora-MapDev/aurora-2.dmm @@ -49,7 +49,7 @@ "aW" = (/obj/structure/table/steel,/obj/item/weapon/storage/briefcase/inflatable,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/tiled,/area/outpost/engineering/meeting) "aX" = (/turf/simulated/floor/tiled,/area/outpost/engineering/meeting) "aY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/outpost/engineering/meeting) -"aZ" = (/obj/structure/table/rack,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/tiled,/area/outpost/engineering/meeting) +"aZ" = (/obj/structure/table/rack,/obj/random/tech_supply,/obj/random/tech_supply,/obj/item/weapon/ladder_mobile,/turf/simulated/floor/tiled,/area/outpost/engineering/meeting) "ba" = (/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/outpost/engineering/power) "bb" = (/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/outpost/engineering/power) "bc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2;d2 = 4;icon_state = "2-4"},/obj/structure/cable{d1 = 4;d2 = 8;icon_state = "4-8";tag = ""},/turf/simulated/floor/plating,/area/outpost/engineering/power) @@ -2380,7 +2380,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaleleaaaaaaaaaaaaaaaaaaaaaaaaaaaaqkuKuLuMuNuOuPuQuRqkuTuSpltjuUuVuWtjuXuYuZtqvavbvceQvdeQeQeQeQeQeQeQeQeQNZOheQveleleaaaaaaaaaaaaaaaaaaaaleletCvftzvgvhvivivjvkvlvmnWnWvnvonWaaleleleleNtMrMstGtGvpMvvruFNuleleleleleuIvtvvvuvwvxvzvyuJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaleleleleleleleleleleaaaaaaaaaaaaqkvAvBvCsAvDvEvFvGqkvHvIoYtjvJvKvLtjvMvNvOtqvPvQvReQvdeQvSvTvSvUaaaaaaeQeQeQeQaaleleaaaaaaaaaaaaaaaaaaaaleleuyvVvWvXuttzvZwawbwcwdsXwfwewgnWaaoOwhwhwhwhwhwhMwwhwhwiwkwjvsleleleleleuIwmwnwovwwpwqwruJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaleleleleleleleleleleleleleleaaqkqkqkwswtqkqkqkqkqnqnwuqnqnqneQeQeQeQeQeQeQeQeQeQeQvdeQwvwwwxvUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalelewywywywywyvYwzsVwBnWNYwCwEwDwFnWnWnWwHwGwGwIwHwGwGwJwhwKwNwLwlaaaaleleleuIwMwQwOvwwPwSwRuJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalelelelelelelelelelelelelelelenUwTnXnXnXwUwVnXnXwWwXnZnXwYqneQeQeQeQufueueueueueuewZeQwwwwwwvUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalelesXurPousuttzwzxaxexbxcxdQRxfxhxgxjnWxkwGwGwIwHwGwGxlwhxmvrxqwlwlwlxnxoxpuIxrxtxsvwxuxvxuuJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalelelelelelelelelelelelelelelenUwTnXnXnXwUwVnXnXwWwXnZnXwYqneQeQeQeQufueueueueueuewZeQwwwwwwvUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalelesXurPousuttzwzxaxexbxcxdQQxfxhxgxjnWxkwGwGwIwHwGwGxlwhxmvrxqwlwlwlxnxoxpuIxrxtxsvwxuxvxuuJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaleleleleleleleleleleleleleleomornHonoxovotxwxyxxxyxzxAplqneQeQeQeQvdeQeQeQeQeQeQeQeQxBvUvUvUvUvUvUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaleleletCxCtzvgxEvixDxHtCxFtzxGxKxIxJtzxLnWwHwGwGxNxMwGwGxQwhvqvruFxOJVxUxPxRxSxTxVxZxWxXxVyaxVxYleaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalelelelelelelebQleleleleleleomornHyboXycoRoRoRoRMxyeygyfyhueueueyiwZeQvUykyjylvUynymywyoyxypypypvUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaleleleleuyvVvWvXuttzyqyrtCystzxGytyuxGtzyvnWwHwGwGyzyyyyyyyAyCyByEyDyGyFyIyHyKyJyMyLyOyNySyPyVBSyQleaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaleleleleleleleleaaleleleleleleleleomuTyRyWqnqnqnqnqnqnqnoroNplqneQeQeQeQeQeQvUyYyXzavUzbyZzdzczhypypzivUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalelelelewywywywywyvYzetzuyzftztztzAwQGQGzjnWwHwGwGzlwHwGwGznwhzkzpzmzmzmzuzozmzmzmzxzqzrzsztzyzvwlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/Aurora-MapDev/aurora-3.dmm b/maps/Aurora-MapDev/aurora-3.dmm index 871d8dd9100..01e616a881e 100644 --- a/maps/Aurora-MapDev/aurora-3.dmm +++ b/maps/Aurora-MapDev/aurora-3.dmm @@ -1719,7 +1719,7 @@ "aHc" = (/obj/structure/cable/green{d1 = 4;d2 = 8;icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/security/brig) "aHd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/closet/hydrant{pixel_x = 0;pixel_y = -32},/turf/simulated/floor/tiled,/area/engineering/engine_airlock) "aHe" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"aHf" = (/obj/structure/table/standard,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/flashlight/heavy,/turf/simulated/floor/tiled,/area/engineering/storage) +"aHf" = (/obj/structure/table/standard,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/flashlight/heavy,/obj/item/weapon/ladder_mobile,/turf/simulated/floor/tiled,/area/engineering/storage) "aHg" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/storage) "aHh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/storage) "aHi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/engineering/storage) @@ -1740,7 +1740,7 @@ "aHx" = (/obj/structure/table/reinforced,/obj/item/clothing/head/welding,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "aHy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "aHz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor,/obj/structure/cable/green{d2 = 8;icon_state = "0-8"},/turf/simulated/floor/plating,/area/bridge) -"aHA" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"aHA" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/weapon/ladder_mobile,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "aHB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) "aHC" = (/obj/machinery/camera/network/command{c_tag = "Bridge - Command Deck Entrance";dir = 1},/obj/effect/floor_decal/corner/paleblue/full{icon_state = "corner_white_full";dir = 8},/obj/structure/cable/green{d1 = 4;d2 = 8;icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) "aHD" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/hos) @@ -2122,7 +2122,7 @@ "aOP" = (/obj/structure/disposalpipe/segment{dir = 8;icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/foyer) "aOQ" = (/obj/item/device/radio/intercom{dir = 0;name = "Station Intercom (General)";pixel_x = 27},/turf/simulated/floor/tiled,/area/engineering/foyer) "aOR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/blue{icon_state = "corner_white";dir = 6},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"aOS" = (/obj/item/device/radio/intercom{frequency = 1459;name = "Station Intercom (General)";pixel_x = -30},/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1;pixel_y = -1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) +"aOS" = (/obj/item/device/radio/intercom{frequency = 1459;name = "Station Intercom (General)";pixel_x = -30},/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1;pixel_y = -1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/item/weapon/ladder_mobile,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) "aOT" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/starboard) "aOU" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/hop) "aOV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_command{name = "E.V.A.";req_one_access = list(18)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva)