diff --git a/code/_helpers/game.dm b/code/_helpers/game.dm index ac38f40302..c241a84994 100644 --- a/code/_helpers/game.dm +++ b/code/_helpers/game.dm @@ -262,13 +262,13 @@ var/mobs_radio_range_fired = 1 //CHOMPEdit /mob/living/silicon/robot/can_hear_radio(var/list/hearturfs) var/turf/T = get_turf(src) var/obj/item/device/radio/borg/R = hearturfs[T] // this should be an assoc list of turf-to-radio - + // We heard it on our own radio? We use power for that. if(istype(R) && R.myborg == src) var/datum/robot_component/CO = get_component("radio") if(!CO || !is_component_functioning("radio") || !cell_use_power(CO.active_usage)) return FALSE // Sorry, couldn't hear - + return R // radio, true, false, what's the difference /mob/observer/dead/can_hear_radio(var/list/hearturfs) @@ -285,14 +285,17 @@ var/mobs_radio_range_fired = 1 //CHOMPEdit var/list/hear = dview(range,T,INVISIBILITY_MAXIMUM) var/list/hearturfs = list() - + // Openspace visibility handling // Below turfs we can see for(var/turf/simulated/open/O in hear) var/turf/U = GetBelow(O) while(istype(U)) hearturfs |= U - U = GetBelow(U) + if(isopenspace(U)) + U = GetBelow(U) + else + U = null // Above us var/above_range = range diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index d1f942c426..850ec24c38 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -231,6 +231,7 @@ var/global/list/edible_trash = list(/obj/item/broken_device, /obj/item/weapon/storage/wallet, /obj/item/weapon/storage/vore_egg, /obj/item/weapon/bikehorn/tinytether, + /obj/item/capture_crystal, /obj/item/weapon/material/kitchen, //chompstation addition start /obj/item/weapon/storage/mre, /obj/item/weapon/storage/mrebag, diff --git a/code/_macros_vr.dm b/code/_macros_vr.dm index 2eecbe69ed..314689541e 100644 --- a/code/_macros_vr.dm +++ b/code/_macros_vr.dm @@ -1 +1,2 @@ #define isbelly(A) istype(A, /obj/belly) +#define iscapturecrystal(A) istype(A, /obj/item/capture_crystal) diff --git a/code/controllers/subsystems/ai.dm b/code/controllers/subsystems/ai.dm index 4ed43a3481..9df293f417 100644 --- a/code/controllers/subsystems/ai.dm +++ b/code/controllers/subsystems/ai.dm @@ -32,10 +32,11 @@ SUBSYSTEM_DEF(ai) while(currentrun.len) var/datum/ai_holder/A = currentrun[currentrun.len] --currentrun.len - if(!A || QDELETED(A) || !A.holder?.loc || A.busy) // Doesn't exist or won't exist soon or not doing it this tick + var/mob/living/L = A.holder //VOREStation Edit Start + if(!A || QDELETED(A) || !L?.loc || A.busy) // Doesn't exist or won't exist soon or not doing it this tick continue - if(process_z[get_z(A.holder)]) + if(process_z[get_z(L)] || !L.low_priority) //VOREStation Edit End A.handle_strategicals() else slept_mobs++ diff --git a/code/controllers/subsystems/mapping.dm b/code/controllers/subsystems/mapping.dm index 06bf16e255..832a84784d 100644 --- a/code/controllers/subsystems/mapping.dm +++ b/code/controllers/subsystems/mapping.dm @@ -76,7 +76,9 @@ SUBSYSTEM_DEF(mapping) // VOREStation Edit Start: Enable This /datum/controller/subsystem/mapping/proc/loadLateMaps() var/list/deffo_load = using_map.lateload_z_levels - var/list/maybe_load = using_map.lateload_single_pick + var/list/maybe_load = using_map.lateload_gateway + var/list/also_load = using_map.lateload_overmap + for(var/list/maplist in deffo_load) if(!islist(maplist)) @@ -110,6 +112,28 @@ SUBSYSTEM_DEF(mapping) error("Randompick Z level \"[map]\" is not a valid map!") else MT.load_new_z(centered = FALSE) + + if(LAZYLEN(also_load)) //Just copied from gateway picking, this is so we can have a kind of OM map version of the same concept. + var/picklist = pick(also_load) + + if(!picklist) //No lateload maps at all + return + + if(!islist(picklist)) //So you can have a 'chain' of z-levels that make up one away mission + error("Randompick Z level [picklist] is not a list! Must be in a list!") + return + + for(var/map in picklist) + if(islist(map)) + // TRIPLE NEST. In this situation we pick one at random from the choices in the list. + //This allows a sort of a1,a2,a3,b1,b2,b3,c1,c2,c3 setup where it picks one 'a', one 'b', one 'c' + map = pick(map) + var/datum/map_template/MT = map_templates[map] + if(!istype(MT)) + error("Randompick Z level \"[map]\" is not a valid map!") + else + MT.load_new_z(centered = FALSE) + /datum/controller/subsystem/mapping/proc/preloadShelterTemplates() for(var/datum/map_template/shelter/shelter_type as anything in subtypesof(/datum/map_template/shelter)) diff --git a/code/controllers/subsystems/persistence.dm b/code/controllers/subsystems/persistence.dm index f238621b3e..e8df77bd35 100644 --- a/code/controllers/subsystems/persistence.dm +++ b/code/controllers/subsystems/persistence.dm @@ -36,10 +36,6 @@ SUBSYSTEM_DEF(persistence) if(!A || (A.flags & AREA_FLAG_IS_NOT_PERSISTENT)) return -// if((!T.z in GLOB.using_map.station_levels) || !initialized) - if(!(T.z in using_map.station_levels)) - return - if(!(T.z in using_map.persist_levels)) return diff --git a/code/datums/supplypacks/misc_vr.dm b/code/datums/supplypacks/misc_vr.dm index cab1b8279b..dbe2143e03 100644 --- a/code/datums/supplypacks/misc_vr.dm +++ b/code/datums/supplypacks/misc_vr.dm @@ -100,8 +100,8 @@ ) cost = 250 containertype = /obj/structure/closet/crate/secure/gear - containername = "Solgov medical hardsuit crate" - access = access_medical + containername = "Solgov engineering hardsuit crate" + access = access_engine // CHOMPStation EDIT End diff --git a/code/datums/vending/stored_item.dm b/code/datums/vending/stored_item.dm index 3b46c6be3f..453ca4fe31 100644 --- a/code/datums/vending/stored_item.dm +++ b/code/datums/vending/stored_item.dm @@ -91,7 +91,9 @@ for(var/obj/item/stack/T as anything in instances) if(count <= 0) break + if(T.get_amount() <= count) + instances -=T count -= T.transfer_to(S, count) S.forceMove(product_location) - return S \ No newline at end of file + return S diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index d00efc79b6..e3e3863ba9 100644 --- a/code/game/machinery/bioprinter.dm +++ b/code/game/machinery/bioprinter.dm @@ -34,6 +34,7 @@ "Eyes" = list(/obj/item/organ/internal/eyes, 20), "Liver" = list(/obj/item/organ/internal/liver, 20), "Spleen" = list(/obj/item/organ/internal/spleen, 20), + "Stomach" = list(/obj/item/organ/internal/stomach, 20), "Arm, Left" = list(/obj/item/organ/external/arm, 40), "Arm, Right" = list(/obj/item/organ/external/arm/right, 40), "Leg, Left" = list(/obj/item/organ/external/leg, 40), @@ -378,4 +379,4 @@ return return ..() // END ROBOT ORGAN PRINTER -*/ \ No newline at end of file +*/ diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index cc2753f56f..8ec6dfa2b1 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -1083,7 +1083,7 @@ /obj/machinery/computer/arcade/clawmachine name = "AlliCo Grab-a-Gift" desc = "Show off your arcade skills for that special someone!" - icon_state = "clawmachine" + icon_state = "clawmachine_new" icon_keyboard = null icon_screen = null circuit = /obj/item/weapon/circuitboard/arcade/clawmachine @@ -1244,10 +1244,10 @@ /// TGUI Stuff -/obj/machinery/computer/arcade/clawmachine/tgui_interact(mob/user, datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.tgui_default_state) - ui = SStgui.try_update_ui(user, src, ui, force_open) +/obj/machinery/computer/arcade/clawmachine/tgui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) if(!ui) - ui = new(user, src, "ClawMachine", name, 300, 400, master_ui, state) + ui = new(user, src, "ClawMachine", name, ui_x = 300, ui_y = 400) ui.autoupdate = TRUE ui.open() @@ -1270,7 +1270,7 @@ if(action == "newgame" && gamepaid == 1) gameStatus = "CLAWMACHINE_ON" - icon_state = "clawmachine_move" + icon_state = "clawmachine_new_move" instructions = "Guide the claw to the prize you want!" wintick = 0 @@ -1307,7 +1307,7 @@ winscreen = "Aw, shucks. Try again!" wintick = 0 gamepaid = 0 - icon_state = "clawmachine" + icon_state = "clawmachine_new" gameStatus = "CLAWMACHINE_END" /obj/machinery/computer/arcade/clawmachine/emag_act(mob/user) diff --git a/code/game/machinery/wall_frames.dm b/code/game/machinery/wall_frames.dm index 83fdefe442..be00cab96a 100644 --- a/code/game/machinery/wall_frames.dm +++ b/code/game/machinery/wall_frames.dm @@ -4,6 +4,7 @@ icon = 'icons/obj/stock_parts.dmi' icon_state = "frame_bitem" var/build_machine_type + var/build_wall_only = FALSE var/refund_amt = 5 var/refund_type = /obj/item/stack/material/steel var/reverse = 0 //if resulting object faces opposite its dir (like light fixtures) @@ -27,7 +28,7 @@ ..() update_type_list() var/datum/frame/frame_types/frame_type - if(!build_machine_type) + if(!build_machine_type && !build_wall_only) var/datum/frame/frame_types/response = tgui_input_list(user, "What kind of frame would you like to make?", "Frame type request", frame_types_floor) if(!response) return diff --git a/code/game/objects/effects/semirandom_mobs_vr.dm b/code/game/objects/effects/semirandom_mobs_vr.dm index b7008b4627..e6b26da087 100644 --- a/code/game/objects/effects/semirandom_mobs_vr.dm +++ b/code/game/objects/effects/semirandom_mobs_vr.dm @@ -51,11 +51,16 @@ var/global/list/semirandom_mob_spawner_decisions = list() list(/mob/living/simple_mob/animal/passive/opossum), list(/mob/living/simple_mob/animal/passive/pillbug), list(/mob/living/simple_mob/animal/passive/snake), + list(/mob/living/simple_mob/animal/passive/snake/red), + list(/mob/living/simple_mob/animal/passive/snake/python), list(/mob/living/simple_mob/animal/passive/tindalos), list(/mob/living/simple_mob/animal/passive/yithian), list( /mob/living/simple_mob/animal/wolf = 10, - /mob/living/simple_mob/animal/wolf/direwolf = 1 + /mob/living/simple_mob/animal/wolf/direwolf = 5, + /mob/living/simple_mob/vore/greatwolf = 1, + /mob/living/simple_mob/vore/greatwolf/black = 1, + /mob/living/simple_mob/vore/greatwolf/grey = 1 ), list(/mob/living/simple_mob/vore/rabbit), list(/mob/living/simple_mob/vore/redpanda), @@ -109,12 +114,8 @@ var/global/list/semirandom_mob_spawner_decisions = list() /mob/living/simple_mob/animal/giant_spider/phorogenic = 10, /mob/living/simple_mob/animal/giant_spider/thermic = 5, /mob/living/simple_mob/animal/giant_spider/tunneler = 10, - /mob/living/simple_mob/animal/giant_spider/webslinger = 5 - ), - list( - /mob/living/simple_mob/animal/wolf = 10, - /mob/living/simple_mob/animal/wolf/direwolf = 1 - ), + /mob/living/simple_mob/animal/giant_spider/webslinger = 5, + /mob/living/simple_mob/animal/giant_spider/broodmother = 1), list(/mob/living/simple_mob/creature/strong), list(/mob/living/simple_mob/faithless/strong), list(/mob/living/simple_mob/animal/goat), @@ -244,7 +245,6 @@ var/global/list/semirandom_mob_spawner_decisions = list() list(/mob/living/simple_mob/mechanical/wahlem), list(/mob/living/simple_mob/animal/passive/fox/syndicate), list(/mob/living/simple_mob/animal/passive/fox), - list(/mob/living/simple_mob/animal/wolf/direwolf), list(/mob/living/simple_mob/animal/space/jelly), list( /mob/living/simple_mob/otie/feral, @@ -253,12 +253,12 @@ var/global/list/semirandom_mob_spawner_decisions = list() /mob/living/simple_mob/otie/red/chubby ), list( - /mob/living/simple_mob/shadekin/blue/ai = 100, - /mob/living/simple_mob/shadekin/green/ai = 50, - /mob/living/simple_mob/shadekin/orange/ai = 20, - /mob/living/simple_mob/shadekin/purple/ai = 60, - /mob/living/simple_mob/shadekin/red/ai = 40, - /mob/living/simple_mob/shadekin/yellow/ai = 1 + /mob/living/simple_mob/shadekin/blue = 100, + /mob/living/simple_mob/shadekin/green = 50, + /mob/living/simple_mob/shadekin/orange = 20, + /mob/living/simple_mob/shadekin/purple = 60, + /mob/living/simple_mob/shadekin/red = 40, + /mob/living/simple_mob/shadekin/yellow = 1 ), list( /mob/living/simple_mob/vore/aggressive/corrupthound, @@ -292,7 +292,21 @@ var/global/list/semirandom_mob_spawner_decisions = list() ), list(/mob/living/simple_mob/vore/solargrub), list(/mob/living/simple_mob/vore/woof), - list(/mob/living/simple_mob/vore/alienanimals/teppi) + list(/mob/living/simple_mob/vore/alienanimals/teppi), + list(/mob/living/simple_mob/vore/alienanimals/space_ghost), + list(/mob/living/simple_mob/vore/alienanimals/catslug), + list(/mob/living/simple_mob/vore/alienanimals/space_jellyfish), + list(/mob/living/simple_mob/vore/alienanimals/startreader), + list( + /mob/living/simple_mob/vore/bigdragon, + /mob/living/simple_mob/vore/bigdragon/friendly), + list( + /mob/living/simple_mob/vore/leopardmander = 50, + /mob/living/simple_mob/vore/leopardmander/blue = 10, + /mob/living/simple_mob/vore/leopardmander/exotic = 1 + ), + list(/mob/living/simple_mob/vore/sheep), + list(/mob/living/simple_mob/vore/weretiger) ) /obj/random/mob/semirandom_mob_spawner/item_to_spawn() @@ -359,11 +373,16 @@ var/global/list/semirandom_mob_spawner_decisions = list() list(/mob/living/simple_mob/animal/passive/opossum) = 10, list(/mob/living/simple_mob/animal/passive/pillbug) = 10, list(/mob/living/simple_mob/animal/passive/snake) = 10, + list(/mob/living/simple_mob/animal/passive/snake/red) = 10, + list(/mob/living/simple_mob/animal/passive/snake/python) = 10, list(/mob/living/simple_mob/animal/passive/tindalos) = 10, list(/mob/living/simple_mob/animal/passive/yithian) = 10, list( /mob/living/simple_mob/animal/wolf = 10, - /mob/living/simple_mob/animal/wolf/direwolf = 1 + /mob/living/simple_mob/animal/wolf/direwolf = 5, + /mob/living/simple_mob/vore/greatwolf = 1, + /mob/living/simple_mob/vore/greatwolf/black = 1, + /mob/living/simple_mob/vore/greatwolf/grey = 1 ) = 10, list(/mob/living/simple_mob/vore/rabbit) = 10, list(/mob/living/simple_mob/vore/redpanda) = 10, @@ -407,7 +426,18 @@ var/global/list/semirandom_mob_spawner_decisions = list() ) = 5, list(/mob/living/simple_mob/animal/sif/siffet) = 5, list(/mob/living/simple_mob/animal/sif/tymisian) = 5, - list(/mob/living/simple_mob/vore/alienanimals/teppi) = 10 + list(/mob/living/simple_mob/vore/alienanimals/teppi) = 10, + list(/mob/living/simple_mob/vore/alienanimals/dustjumper) = 5, + list(/mob/living/simple_mob/vore/alienanimals/space_jellyfish) = 5, + list(/mob/living/simple_mob/vore/alienanimals/space_ghost) = 5, + list( + /mob/living/simple_mob/vore/leopardmander = 50, + /mob/living/simple_mob/vore/leopardmander/blue = 10, + /mob/living/simple_mob/vore/leopardmander/exotic = 1 + ) = 5, + list(/mob/living/simple_mob/vore/sheep) = 5, + list(/mob/living/simple_mob/vore/weretiger) = 5, + list(/mob/living/simple_mob/vore/alienanimals/skeleton) = 5 ) /obj/random/mob/semirandom_mob_spawner/monster @@ -433,14 +463,17 @@ var/global/list/semirandom_mob_spawner_decisions = list() /mob/living/simple_mob/animal/giant_spider/webslinger = 5 ) = 100, list( - /mob/living/simple_mob/shadekin/red/ai = 5, - /mob/living/simple_mob/shadekin/orange/ai = 1, - /mob/living/simple_mob/shadekin/purple/ai = 10 + /mob/living/simple_mob/shadekin/red = 5, + /mob/living/simple_mob/shadekin/orange = 1, + /mob/living/simple_mob/shadekin/purple = 10 ) = 1, list( /mob/living/simple_mob/animal/wolf = 10, - /mob/living/simple_mob/animal/wolf/direwolf = 1, - ) = 80, + /mob/living/simple_mob/animal/wolf/direwolf = 5, + /mob/living/simple_mob/vore/greatwolf = 1, + /mob/living/simple_mob/vore/greatwolf/black = 1, + /mob/living/simple_mob/vore/greatwolf/grey = 1 + ) = 40, list(/mob/living/simple_mob/creature/strong) = 40, list(/mob/living/simple_mob/faithless/strong) = 20, list(/mob/living/simple_mob/animal/goat) = 1, @@ -501,7 +534,18 @@ var/global/list/semirandom_mob_spawner_decisions = list() /mob/living/simple_mob/vore/oregrub = 5, /mob/living/simple_mob/vore/oregrub/lava = 1 ) = 15, - list(/mob/living/simple_mob/vore/alienanimals/teppi) = 15 + list(/mob/living/simple_mob/vore/alienanimals/teppi) = 15, + list(/mob/living/simple_mob/vore/alienanimals/space_jellyfish) = 5, + list(/mob/living/simple_mob/vore/alienanimals/space_ghost) = 5, + list( + /mob/living/simple_mob/vore/leopardmander = 50, + /mob/living/simple_mob/vore/leopardmander/blue = 10, + /mob/living/simple_mob/vore/leopardmander/exotic = 1 + ) = 5, + list(/mob/living/simple_mob/vore/sheep) = 5, + list(/mob/living/simple_mob/vore/weretiger) = 5, + list(/mob/living/simple_mob/vore/alienanimals/skeleton) = 5, + list(/mob/living/simple_mob/vore/alienanimals/catslug) = 5 ) /obj/random/mob/semirandom_mob_spawner/humanoid @@ -512,9 +556,9 @@ var/global/list/semirandom_mob_spawner_decisions = list() possible_mob_types = list( list( - /mob/living/simple_mob/shadekin/blue/ai = 25, - /mob/living/simple_mob/shadekin/green/ai = 10, - /mob/living/simple_mob/shadekin/purple/ai = 1, + /mob/living/simple_mob/shadekin/blue = 25, + /mob/living/simple_mob/shadekin/green = 10, + /mob/living/simple_mob/shadekin/purple = 1, ) = 1, list(/mob/living/simple_mob/vore/catgirl) = 100, list(/mob/living/simple_mob/vore/wolfgirl) = 100, @@ -537,7 +581,7 @@ var/global/list/semirandom_mob_spawner_decisions = list() /mob/living/simple_mob/vore/lamia/zebra/bra, /mob/living/simple_mob/vore/lamia/zebra/shirt ) = 100, -// LOOK OKAY MERCS ARE HUMANOIDS SO THEY ARE HERE, but they are also kind of bullshit so they probably shouldn't be able to spawn in the same place as catgirls. +// LOOK OKAY MERCS ARE HUMANOIDS SO THEY ARE HERE, but they are also kind of bullshit so they probably shouldn't be able to spawn in the same place as catgirls. // I want some better potentially hostile humanoids that aren't stupid to fight. If they become a big issue I'll comment them out. // For now they are just rare, and the ranged ones are way more rare than the melee ones, which I think will help balance them out. list( @@ -675,7 +719,12 @@ var/global/list/semirandom_mob_spawner_decisions = list() mob_faction = "vore" possible_mob_types = list( - list(/mob/living/simple_mob/animal/wolf/direwolf) = 100, + list( + /mob/living/simple_mob/animal/wolf/direwolf = 5, + /mob/living/simple_mob/vore/greatwolf = 1, + /mob/living/simple_mob/vore/greatwolf/black = 1, + /mob/living/simple_mob/vore/greatwolf/grey = 1 + ) = 100, list(/mob/living/simple_mob/animal/space/jelly) = 70, list( /mob/living/simple_mob/otie/feral, @@ -684,12 +733,12 @@ var/global/list/semirandom_mob_spawner_decisions = list() /mob/living/simple_mob/otie/red/chubby ) = 50, list( - /mob/living/simple_mob/shadekin/blue/ai = 100, - /mob/living/simple_mob/shadekin/green/ai = 50, - /mob/living/simple_mob/shadekin/orange/ai = 20, - /mob/living/simple_mob/shadekin/purple/ai = 60, - /mob/living/simple_mob/shadekin/red/ai = 40, - /mob/living/simple_mob/shadekin/yellow/ai = 1 + /mob/living/simple_mob/shadekin/blue = 100, + /mob/living/simple_mob/shadekin/green = 50, + /mob/living/simple_mob/shadekin/orange = 20, + /mob/living/simple_mob/shadekin/purple = 60, + /mob/living/simple_mob/shadekin/red = 40, + /mob/living/simple_mob/shadekin/yellow = 1 ) = 1, list( /mob/living/simple_mob/vore/aggressive/corrupthound, diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm index ccde6e9c60..ca3f7241c3 100644 --- a/code/game/objects/items/apc_frame.dm +++ b/code/game/objects/items/apc_frame.dm @@ -6,6 +6,7 @@ icon = 'icons/obj/apc_repair.dmi' icon_state = "apc_frame" refund_amt = 2 + build_wall_only = TRUE matter = list(MAT_STEEL = 100, MAT_GLASS = 30) /obj/item/frame/apc/try_build(turf/on_wall, mob/user as mob) diff --git a/code/game/objects/items/devices/denecrotizer_vr.dm b/code/game/objects/items/devices/denecrotizer_vr.dm index 83adeac8b3..ced4911bce 100644 --- a/code/game/objects/items/devices/denecrotizer_vr.dm +++ b/code/game/objects/items/devices/denecrotizer_vr.dm @@ -95,6 +95,10 @@ to_chat(D, "Sorry, someone else has already inhabited [src].") return FALSE + if(capture_caught && !D.client.prefs.capture_crystal) + to_chat(D, "Sorry, [src] is participating in capture mechanics, and your preferences do not allow for that.") + return FALSE + // Insert whatever ban checks you want here if we ever add simplemob bans return TRUE diff --git a/code/game/objects/items/devices/translocator_vr.dm b/code/game/objects/items/devices/translocator_vr.dm index cb4ebbaf0f..c7cf0e7875 100644 --- a/code/game/objects/items/devices/translocator_vr.dm +++ b/code/game/objects/items/devices/translocator_vr.dm @@ -409,7 +409,7 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/device/perfect_tele_beac if(confirm == "Eat it!") var/obj/belly/bellychoice = tgui_input_list(usr, "Which belly?","Select A Belly", L.vore_organs) if(bellychoice) - user.visible_message("[user] is trying to stuff \the [src] into [user.gender == MALE ? "his" : user.gender == FEMALE ? "her" : "their"] [bellychoice]!","You begin putting \the [src] into your [bellychoice]!") + user.visible_message("[user] is trying to stuff \the [src] into [user.gender == MALE ? "his" : user.gender == FEMALE ? "her" : "their"] [bellychoice.name]!","You begin putting \the [src] into your [bellychoice.name]!") if(do_after(user,5 SECONDS,src)) user.unEquip(src) forceMove(bellychoice) diff --git a/code/game/objects/items/weapons/capture_crystal.dm b/code/game/objects/items/weapons/capture_crystal.dm new file mode 100644 index 0000000000..002b381c81 --- /dev/null +++ b/code/game/objects/items/weapons/capture_crystal.dm @@ -0,0 +1,752 @@ +/obj/item/capture_crystal + name = "Curious Crystal" + desc = "A silent, unassuming crystal in what appears to be some kind of steel housing." + icon = 'icons/obj/capture_crystal_vr.dmi' + icon_state = "inactive" + drop_sound = 'sound/items/drop/ring.ogg' + pickup_sound = 'sound/items/pickup/ring.ogg' + throwforce = 0 + force = 0 + action_button_name = "Command" + + var/active = FALSE //Is it set up? + var/mob/living/owner //Reference to the owner + var/mob/living/bound_mob //Reference to our bound mob + var/spawn_mob_type //The kind of mob an inactive crystal will try to spawn when activated + var/activate_cooldown = 30 SECONDS //How long do we wait between unleashing and recalling + var/last_activate //Automatically set by things that try to move the bound mob or capture things + var/empty_icon = "empty" + var/full_icon = "full" + var/capture_chance_modifier = 1 //So we can have special subtypes with different capture rates! + +/obj/item/capture_crystal/Initialize() + . = ..() + update_icon() + +//Let's make sure we clean up our references and things if the crystal goes away (such as when it's digested) +/obj/item/capture_crystal/Destroy() + if(bound_mob) + if(bound_mob in contents) + unleash() + to_chat(bound_mob, "You feel like yourself again. You are no longer under the influince of \the [src]'s command.") + UnregisterSignal(bound_mob, COMSIG_PARENT_QDELETING) + bound_mob.capture_caught = FALSE + bound_mob = null + if(owner) + UnregisterSignal(owner, COMSIG_PARENT_QDELETING) + owner = null + return ..() + +/obj/item/capture_crystal/examine(user) + . = ..() + if(user == owner && bound_mob) + . += "[bound_mob]'s crystal" + if(isanimal(bound_mob)) + . += "[bound_mob.health / bound_mob.maxHealth * 100]%" + if(bound_mob.ooc_notes) + . += "OOC Notes: \[View\]" + . += "\[Mechanical Vore Preferences\]" + +//Command! This lets the owner toggle hostile on AI controlled mobs, or send a silent command message to your bound mob, wherever they may be. +/obj/item/capture_crystal/ui_action_click() + if(!ismob(loc)) + return + var/mob/living/M = src.loc + if(M != owner) + to_chat(M, "\The [src] emits an unpleasant tone... It does not respond to your command.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + else if(!bound_mob) + to_chat(M, "\The [src] emits an unpleasant tone... There is nothing to command.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + else if(isanimal(bound_mob) && !bound_mob.client) + if(!isnull(bound_mob.get_AI_stance())) + var/datum/ai_holder/AI = bound_mob.ai_holder + AI.hostile = !AI.hostile + if(!AI.hostile) + AI.set_stance(STANCE_IDLE) + to_chat(M, span("notice", "\The [bound_mob] is now [AI.hostile ? "hostile" : "passive"].")) + else if(bound_mob.client) + var/transmit_msg + transmit_msg = sanitizeSafe(input(usr, "What is your command?", "Command", null) as text, MAX_NAME_LEN) + if(isnull(transmit_msg)) + to_chat(M, "You decided against it.") + return + to_chat(bound_mob, "\The [owner] commands, '[transmit_msg]'") + to_chat(M, "Your command has been transmitted, '[transmit_msg]'") + else + to_chat(M, "\The [src] emits an unpleasant tone... \The [bound_mob] is unresponsive.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + +//Lets the owner get AI controlled bound mobs to follow them, or tells player controlled mobs to follow them. +/obj/item/capture_crystal/verb/follow_owner() + set name = "Toggle Follow" + set category = "Object" + set src in usr + if(!ismob(loc)) + return + var/mob/living/M = src.loc + if(M != owner) + to_chat(M, "\The [src] emits an unpleasant tone... It does not respond to your command.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + else if(bound_mob.stat != CONSCIOUS) + to_chat(M, "\The [src] emits an unpleasant tone... \The [bound_mob] is not able to hear your command.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + else if(bound_mob.client) + to_chat(bound_mob, "\The [owner] wishes for you to follow them.") + else if(bound_mob in contents) + var/datum/ai_holder/AI = bound_mob.ai_holder + if(AI.leader) + to_chat(M, "\The [src] chimes~ \The [bound_mob] stopped following [AI.leader].") + AI.lose_follow(AI.leader) + else + AI.set_follow(M) + to_chat(M, "\The [src] chimes~ \The [bound_mob] started following following [AI.leader].") + else if(!(bound_mob in view(M))) + to_chat(M, "\The [src] emits an unpleasant tone... \The [bound_mob] is not able to hear your command.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + var/datum/ai_holder/AI = bound_mob.ai_holder + if(AI.leader) + to_chat(M, "\The [src] chimes~ \The [bound_mob] stopped following [AI.leader].") + AI.lose_follow(AI.leader) + else + AI.set_follow(M) + to_chat(M, "\The [src] chimes~ \The [bound_mob] started following following [AI.leader].") + +/obj/item/capture_crystal/update_icon() + . = ..() + if(spawn_mob_type) + icon_state = full_icon + else if(!bound_mob) + icon_state = "inactive" + else if(bound_mob in contents) + icon_state = full_icon + else + icon_state = empty_icon + if(!cooldown_check()) + icon_state = "[icon_state]-busy" + spawn(activate_cooldown) //If it's busy then we want to wait a bit to fix the sprite after the cooldown is done. + update_icon() + +/obj/item/capture_crystal/proc/cooldown_check() + if(world.time < last_activate + activate_cooldown) + return FALSE + else return TRUE + +/obj/item/capture_crystal/attack(mob/living/M, mob/living/user) + if(bound_mob) + if(!bound_mob.devourable) //Don't eat if prefs are bad + return + if(user.zone_sel.selecting == "mouth") //Click while targetting the mouth and you eat/feed the stored mob to whoever you clicked on + if(bound_mob in contents) + user.visible_message("\The [user] moves \the [src] to [M]'s [M.vore_selected]...") + M.perform_the_nom(M, bound_mob, M, M.vore_selected) + else if(M == user) //You don't have a mob, you ponder the orb instead of trying to capture yourself + user.visible_message("\The [user] ponders \the [src]...", "You ponder \the [src]...") + else if (cooldown_check()) //Try to capture someone without throwing + user.visible_message("\The [user] taps \the [M] with \the [src].") + activate(user, M) + else + to_chat(user, "\The [src] emits an unpleasant tone... It is not ready yet.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + +//Tries to unleash or recall your stored mob +/obj/item/capture_crystal/attack_self(mob/living/user) + if(!cooldown_check()) + to_chat(user, "\The [src] emits an unpleasant tone... It is not ready yet.") + if(bound_mob) + playsound(src, 'sound/effects/capture-crystal-problem.ogg', 75, 1, -1) + else + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + else if(user == bound_mob) //You can't recall yourself + to_chat(user, "\The [src] emits an unpleasant tone... It does not activate for you.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + else if(!active) + activate(user) + else + determine_action(user) + +//Make it so the crystal knows if its mob references get deleted to make sure things get cleaned up +/obj/item/capture_crystal/proc/knowyoursignals(mob/living/M, mob/living/U) + RegisterSignal(M, COMSIG_PARENT_QDELETING, .proc/mob_was_deleted, TRUE) + RegisterSignal(U, COMSIG_PARENT_QDELETING, .proc/owner_was_deleted, TRUE) + +//The basic capture command does most of the registration work. +/obj/item/capture_crystal/proc/capture(mob/living/M, mob/living/U) + if(!M.capture_crystal || M.capture_caught) + to_chat(U, "This creature is not suitable for capture.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + return + knowyoursignals(M, U) + owner = U + if(!bound_mob) + bound_mob = M + bound_mob.capture_caught = TRUE + desc = "A glowing crystal in what appears to be some kind of steel housing." + +//Determines the capture chance! So you can't capture AI mobs if they're perfectly healthy and all that +/obj/item/capture_crystal/proc/capture_chance(mob/living/M, user) + if(capture_chance_modifier >= 100) //Master crystal always work + return 100 + var/capture_chance = ((1 - (M.health / M.maxHealth)) * 100) //Inverted health percent! 100% = 0% + //So I don't know how this works but here's a kind of explanation + //Basic chance + ((Mob's max health - minimum calculated health) / (Max allowed health - Min allowed health)*(Chance at Max allowed health - Chance at minimum allowed health) + capture_chance += 35 + ((M.maxHealth - 5)/ (1000-5)*(-100 - 35)) + //Basically! Mobs over 1000 max health will be unable to be caught without using status effects. + //Thanks Aronai! + var/effect_count = 0 //This will give you a smol chance to capture if you have applied status effects, even if the chance would ordinarily be <0 + if(M.stat == UNCONSCIOUS) + capture_chance += 0.1 + effect_count += 1 + else if(M.stat == CONSCIOUS) + capture_chance *= 0.9 + else + capture_chance = 0 + if(M.weakened) //Haha you fall down + capture_chance += 0.1 + effect_count += 1 + if(M.stunned) //What's the matter??? + capture_chance += 0.1 + effect_count += 1 + if(M.on_fire) //AAAAAAAA + capture_chance += 0.1 + effect_count += 1 + if(M.paralysis) //Oh noooo + capture_chance += 0.1 + effect_count += 1 + if(M.ai_holder.stance == STANCE_IDLE) //SNEAK ATTACK??? + capture_chance += 0.1 + effect_count += 1 + + capture_chance *= capture_chance_modifier + + if(capture_chance <= 0) + capture_chance = 0 + effect_count + if(capture_chance <= 0) + capture_chance = 0 + to_chat(user, "There's no chance... It needs to be weaker.") + + last_activate = world.time + log_and_message_admins("I got [capture_chance].") + return capture_chance + +//Handles checking relevent bans, preferences, and asking the player if they want to be caught +/obj/item/capture_crystal/proc/capture_player(mob/living/M, mob/living/U) + if(jobban_isbanned(M, "GhostRoles")) + to_chat(U, "This creature is not suitable for capture.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + else if(!M.capture_crystal || M.capture_caught) + to_chat(U, "This creature is not suitable for capture.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + else if(tgui_alert(M, "Would you like to be caught by in [src] by [U]? You will be bound to their will.", "Become Caught",list("No","Yes")) == "Yes") + if(tgui_alert(M, "Are you really sure? The only way to undo this is to OOC escape while you're in the crystal.", "Become Caught", list("No","Yes")) == "Yes") + log_admin("[key_name(M)] has agreed to become caught by [key_name(U)].") + capture(M, U) + recall(U) + +//The clean up procs! +/obj/item/capture_crystal/proc/mob_was_deleted() + UnregisterSignal(bound_mob, COMSIG_PARENT_QDELETING) + UnregisterSignal(owner, COMSIG_PARENT_QDELETING) + bound_mob.capture_caught = FALSE + bound_mob = null + owner = null + active = FALSE + update_icon() + +/obj/item/capture_crystal/proc/owner_was_deleted() + UnregisterSignal(owner, COMSIG_PARENT_QDELETING) + owner = null + active = FALSE + update_icon() + +//If the crystal hasn't been set up, it does this +/obj/item/capture_crystal/proc/activate(mob/living/user, target) + if(!cooldown_check()) //Are we ready to do things yet? + to_chat(thrower, "\The [src] clicks unsatisfyingly... It is not ready yet.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + else if(spawn_mob_type && !bound_mob) //We don't already have a mob, but we know what kind of mob we want + bound_mob = new spawn_mob_type(src) //Well let's spawn it then! + bound_mob.faction = user.faction + spawn_mob_type = null + capture(bound_mob, user) + else if(bound_mob) //We have a mob! Let's finish setting up. + user.visible_message("\The [src] clicks, and then emits a small chime.", "\The [src] grows warm in your hand, something inside is awake.") + active = TRUE + if(!owner) //Do we have an owner? It's pretty unlikely that this would ever happen! But it happens, let's claim the crystal. + owner = user + unleash(user, target) + else if(isliving(target)) //So we don't have a mob, let's try to claim one! Is the target a mob? + var/mob/living/M = target + last_activate = world.time + if(M.capture_caught) //Can't capture things that were already caught. + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + to_chat(user, "\The [src] clicks unsatisfyingly... \The [M] is already under someone else's control.") + else if(M.stat == DEAD) //Is it dead? We can't influence dead things. + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + to_chat(user, "\The [src] clicks unsatisfyingly... \The [M] is not in a state to be captured.") + else if(M.client) //Is it player controlled? + capture_player(M, user) //We have to do things a little differently if so. + else if(!isanimal(M)) //So it's not player controlled, but it's also not a simplemob? + to_chat(user, "This creature is not suitable for capture.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + var/mob/living/simple_mob/S = M + if(!S.ai_holder) //We don't really want to capture simplemobs that don't have an AI + to_chat(user, "This creature is not suitable for capture.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + else if(prob(capture_chance(S, user))) //OKAY! So we have an NPC simplemob with an AI, let's calculate its capture chance! It varies based on the mob's condition. + capture(S, user) //We did it! Woo! We capture it! + user.visible_message("\The [src] clicks, and then emits a small chime.", "Alright! \The [S] was caught!") + recall(user) + active = TRUE + else //Shoot, it didn't work and now it's mad!!! + S.ai_holder.go_wake() + S.ai_holder.target = user + S.ai_holder.track_target_position() + S.ai_holder.set_stance(STANCE_FIGHT) + user.visible_message("\The [src] bonks into \the [S], angering it!") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + to_chat(user, "\The [src] clicks unsatisfyingly.") + update_icon() + return + //The target is not a mob, so let's not do anything. + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + to_chat(user, "\The [src] clicks unsatisfyingly.") + +//We're using the crystal, but what will it do? +/obj/item/capture_crystal/proc/determine_action(mob/living/U) + if(!cooldown_check()) //Are we ready yet? + to_chat(thrower, "\The [src] clicks unsatisfyingly... It is not ready yet.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + return //No + if(bound_mob in contents) //Do we have our mob? + unleash(U) //Yes, let's let it out! + else if (bound_mob) //Do we HAVE a mob? + recall(U) //Yes, let's try to put it back in the crystal + else //No we don't have a mob, let's reset the crystal. + to_chat(U, "\The [src] clicks unsatisfyingly.") + active = FALSE + update_icon() + owner = null + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + +//Let's try to call our mob back! +/obj/item/capture_crystal/proc/recall(mob/living/user, atom/target) + if(bound_mob in view(user)) //We can only recall it if we can see it + var/turf/turfmemory = get_turf(bound_mob) + if(isanimal(bound_mob)) + var/mob/living/simple_mob/M = bound_mob + M.ai_holder.go_sleep() //AI doesn't need to think when it's in the crystal + bound_mob.forceMove(src) + last_activate = world.time + bound_mob.visible_message("\The [user]'s [src] flashes, disappearing [bound_mob] in an instant!!!", "\The [src] pulls you back into confinement in a flash of light!!!") + animate_action(turfmemory) + playsound(src, 'sound/effects/capture-crystal-in.ogg', 75, 1, -1) + update_icon() + else + to_chat(user, "\The [src] clicks and emits a small, unpleasant tone. \The [bound_mob] cannot be recalled.") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + +//Let's let our mob out! +/obj/item/capture_crystal/proc/unleash(mob/living/user, atom/target) + if(!user && !target) //We got thrown but we're not sure who did it, let's go to where the crystal is + bound_mob.forceMove(src.drop_location()) + return + if(!target) //We know who wants to let us out, but they didn't say where, so let's drop us on them + bound_mob.forceMove(user.drop_location()) + else //We got thrown! Let's go where we got thrown + bound_mob.forceMove(target.drop_location()) + last_activate = world.time + if(isanimal(bound_mob)) + var/mob/living/simple_mob/M = bound_mob + M.ai_holder.go_wake() //Okay it's time to do work, let's wake up! + if(!M.client && !M.ghostjoin) + M.ghostjoin = 1 //Players playing mobs is fun! + bound_mob.faction = owner.faction //Let's make sure we aren't hostile to our owner or their friends + bound_mob.visible_message("\The [user]'s [src] flashes, \the [bound_mob] appears in an instant!!!", "The world around you rematerialize as you are unleashed from the [src] next to \the [user]. You feel a strong compulsion to enact \the [owner]'s will.") + animate_action(get_turf(bound_mob)) + playsound(src, 'sound/effects/capture-crystal-out.ogg', 75, 1, -1) + update_icon() + +//Let's make a flashy sparkle when someone appears or disappears! +/obj/item/capture_crystal/proc/animate_action(atom/thing) + var/image/coolanimation = image('icons/obj/capture_crystal_vr.dmi', null, "animation") + coolanimation.plane = PLANE_LIGHTING_ABOVE + thing.overlays += coolanimation + sleep(11) + thing.overlays -= coolanimation + +//IF the crystal somehow ends up in a tummy and digesting with a bound mob who doesn't want to be eaten, let's move them to the ground +/obj/item/capture_crystal/digest_act(var/atom/movable/item_storage = null) + if(bound_mob in contents && !bound_mob.devourable) + bound_mob.forceMove(src.drop_location()) + return ..() + +//We got thrown! Let's figure out what to do +/obj/item/capture_crystal/throw_at(atom/target, range, speed, mob/thrower, spin = TRUE, datum/callback/callback) + . = ..() + if(target == bound_mob && thrower != bound_mob) //We got thrown at our bound mob (and weren't thrown by the bound mob) let's ignore the cooldown and just put them back in + recall(thrower) + else if(!cooldown_check()) //OTHERWISE let's obey the cooldown + to_chat(thrower, "\The [src] emits an soft tone... It is not ready yet.") + if(bound_mob) + playsound(src, 'sound/effects/capture-crystal-problem.ogg', 75, 1, -1) + else + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + else if(!active) //The ball isn't set up, let's try to set it up. + if(isliving(target)) //We're hitting a mob, let's try to capture it. + sleep(10) + activate(thrower, target) + return + sleep(10) + activate(thrower, src) + else if(!bound_mob) //We hit something else, and we don't have a mob, so we can't really do anything! + to_chat(thrower, "\The [src] clicks unpleasantly...") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + else if(bound_mob in contents) //We have our mob! Let's try to let it out. + sleep(10) + unleash(thrower, src) + update_icon() + else //Our mob isn't here, we can't do anything. + to_chat(thrower, "\The [src] clicks unpleasantly...") + playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1) + +/obj/item/capture_crystal/great + capture_chance_modifier = 1.5 + +/obj/item/capture_crystal/ultra + capture_chance_modifier = 2 + +/obj/item/capture_crystal/master + capture_chance_modifier = 100 + +/obj/item/capture_crystal/cass + spawn_mob_type = /mob/living/simple_mob/vore/woof/cass +/obj/item/capture_crystal/adg + spawn_mob_type = /mob/living/simple_mob/mechanical/mecha/combat/gygax/dark/advanced +/obj/item/capture_crystal/bigdragon + spawn_mob_type = /mob/living/simple_mob/vore/bigdragon +/obj/item/capture_crystal/bigdragon/friendly + spawn_mob_type = /mob/living/simple_mob/vore/bigdragon/friendly +/obj/item/capture_crystal/teppi + spawn_mob_type = /mob/living/simple_mob/vore/alienanimals/teppi +/obj/item/capture_crystal/broodmother + spawn_mob_type = /mob/living/simple_mob/animal/giant_spider/broodmother +/obj/item/capture_crystal/skeleton + spawn_mob_type = /mob/living/simple_mob/vore/alienanimals/skeleton +/obj/item/capture_crystal/dustjumper + spawn_mob_type = /mob/living/simple_mob/vore/alienanimals/dustjumper + +/obj/item/capture_crystal/random + var/static/list/possible_mob_types = list( + list(/mob/living/simple_mob/animal/goat), + list( + /mob/living/simple_mob/animal/passive/bird, + /mob/living/simple_mob/animal/passive/bird/azure_tit, + /mob/living/simple_mob/animal/passive/bird/black_bird, + /mob/living/simple_mob/animal/passive/bird/european_robin, + /mob/living/simple_mob/animal/passive/bird/goldcrest, + /mob/living/simple_mob/animal/passive/bird/ringneck_dove, + /mob/living/simple_mob/animal/passive/bird/parrot, + /mob/living/simple_mob/animal/passive/bird/parrot/black_headed_caique, + /mob/living/simple_mob/animal/passive/bird/parrot/budgerigar, + /mob/living/simple_mob/animal/passive/bird/parrot/budgerigar/blue, + /mob/living/simple_mob/animal/passive/bird/parrot/budgerigar/bluegreen, + /mob/living/simple_mob/animal/passive/bird/parrot/cockatiel, + /mob/living/simple_mob/animal/passive/bird/parrot/cockatiel/grey, + /mob/living/simple_mob/animal/passive/bird/parrot/cockatiel/white, + /mob/living/simple_mob/animal/passive/bird/parrot/cockatiel/yellowish, + /mob/living/simple_mob/animal/passive/bird/parrot/eclectus, + /mob/living/simple_mob/animal/passive/bird/parrot/grey_parrot, + /mob/living/simple_mob/animal/passive/bird/parrot/kea, + /mob/living/simple_mob/animal/passive/bird/parrot/pink_cockatoo, + /mob/living/simple_mob/animal/passive/bird/parrot/sulphur_cockatoo, + /mob/living/simple_mob/animal/passive/bird/parrot/white_caique, + /mob/living/simple_mob/animal/passive/bird/parrot/white_cockatoo + ), + list( + /mob/living/simple_mob/animal/passive/cat, + /mob/living/simple_mob/animal/passive/cat/black + ), + list(/mob/living/simple_mob/animal/passive/chick), + list(/mob/living/simple_mob/animal/passive/cow), + list(/mob/living/simple_mob/animal/passive/dog/brittany), + list(/mob/living/simple_mob/animal/passive/dog/corgi), + list(/mob/living/simple_mob/animal/passive/dog/tamaskan), + list(/mob/living/simple_mob/animal/passive/fox), + list(/mob/living/simple_mob/animal/passive/hare), + list(/mob/living/simple_mob/animal/passive/lizard), + list(/mob/living/simple_mob/animal/passive/mouse), + list(/mob/living/simple_mob/animal/passive/mouse/jerboa), + list(/mob/living/simple_mob/animal/passive/opossum), + list(/mob/living/simple_mob/animal/passive/pillbug), + list(/mob/living/simple_mob/animal/passive/snake), + list(/mob/living/simple_mob/animal/passive/tindalos), + list(/mob/living/simple_mob/animal/passive/yithian), + list( + /mob/living/simple_mob/animal/wolf, + /mob/living/simple_mob/animal/wolf/direwolf + ), + list(/mob/living/simple_mob/vore/rabbit), + list(/mob/living/simple_mob/vore/redpanda), + list(/mob/living/simple_mob/vore/woof), + list(/mob/living/simple_mob/vore/fennec), + list(/mob/living/simple_mob/vore/fennix), + list(/mob/living/simple_mob/vore/hippo), + list(/mob/living/simple_mob/vore/horse), + list(/mob/living/simple_mob/vore/bee), + list( + /mob/living/simple_mob/animal/space/bear, + /mob/living/simple_mob/animal/space/bear/brown + ), + list( + /mob/living/simple_mob/otie/feral, + /mob/living/simple_mob/otie/feral/chubby, + /mob/living/simple_mob/otie/red, + /mob/living/simple_mob/otie/red/chubby + ), + list(/mob/living/simple_mob/animal/sif/diyaab), + list(/mob/living/simple_mob/animal/sif/duck), + list(/mob/living/simple_mob/animal/sif/frostfly), + list( + /mob/living/simple_mob/animal/sif/glitterfly =50, + /mob/living/simple_mob/animal/sif/glitterfly/rare = 1 + ), + list( + /mob/living/simple_mob/animal/sif/kururak = 10, + /mob/living/simple_mob/animal/sif/kururak/leader = 1, + /mob/living/simple_mob/animal/sif/kururak/hibernate = 2, + ), + list( + /mob/living/simple_mob/animal/sif/sakimm = 10, + /mob/living/simple_mob/animal/sif/sakimm/intelligent = 1 + ), + list(/mob/living/simple_mob/animal/sif/savik) = 5, + list( + /mob/living/simple_mob/animal/sif/shantak = 10, + /mob/living/simple_mob/animal/sif/shantak/leader = 1 + ), + list(/mob/living/simple_mob/animal/sif/siffet), + list(/mob/living/simple_mob/animal/sif/tymisian), + list( + /mob/living/simple_mob/animal/giant_spider/nurse = 10, + /mob/living/simple_mob/animal/giant_spider/electric = 5, + /mob/living/simple_mob/animal/giant_spider/frost = 5, + /mob/living/simple_mob/animal/giant_spider/hunter = 10, + /mob/living/simple_mob/animal/giant_spider/ion = 5, + /mob/living/simple_mob/animal/giant_spider/lurker = 10, + /mob/living/simple_mob/animal/giant_spider/pepper = 10, + /mob/living/simple_mob/animal/giant_spider/phorogenic = 10, + /mob/living/simple_mob/animal/giant_spider/thermic = 5, + /mob/living/simple_mob/animal/giant_spider/tunneler = 10, + /mob/living/simple_mob/animal/giant_spider/webslinger = 5, + /mob/living/simple_mob/animal/giant_spider/broodmother = 1), + list( + /mob/living/simple_mob/animal/wolf = 10, + /mob/living/simple_mob/animal/wolf/direwolf = 5, + /mob/living/simple_mob/vore/greatwolf = 1, + /mob/living/simple_mob/vore/greatwolf/black = 1, + /mob/living/simple_mob/vore/greatwolf/grey = 1 + ), + list(/mob/living/simple_mob/creature/strong), + list(/mob/living/simple_mob/faithless/strong), + list(/mob/living/simple_mob/animal/goat), + list( + /mob/living/simple_mob/animal/sif/shantak/leader = 1, + /mob/living/simple_mob/animal/sif/shantak = 10), + list(/mob/living/simple_mob/animal/sif/savik,), + list(/mob/living/simple_mob/animal/sif/hooligan_crab), + list( + /mob/living/simple_mob/animal/space/alien = 50, + /mob/living/simple_mob/animal/space/alien/drone = 40, + /mob/living/simple_mob/animal/space/alien/sentinel = 25, + /mob/living/simple_mob/animal/space/alien/sentinel/praetorian = 15, + /mob/living/simple_mob/animal/space/alien/queen = 10, + /mob/living/simple_mob/animal/space/alien/queen/empress = 5, + /mob/living/simple_mob/animal/space/alien/queen/empress/mother = 1 + ), + list(/mob/living/simple_mob/animal/space/bats/cult/strong), + list( + /mob/living/simple_mob/animal/space/bear, + /mob/living/simple_mob/animal/space/bear/brown + ), + list( + /mob/living/simple_mob/animal/space/carp = 50, + /mob/living/simple_mob/animal/space/carp/large = 10, + /mob/living/simple_mob/animal/space/carp/large/huge = 5 + ), + list(/mob/living/simple_mob/animal/space/goose), + list(/mob/living/simple_mob/animal/space/jelly), + list(/mob/living/simple_mob/animal/space/tree), + list( + /mob/living/simple_mob/vore/aggressive/corrupthound = 10, + /mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi = 1, + ), + list(/mob/living/simple_mob/vore/aggressive/deathclaw), + list(/mob/living/simple_mob/vore/aggressive/dino), + list(/mob/living/simple_mob/vore/aggressive/dragon), + list(/mob/living/simple_mob/vore/aggressive/dragon/virgo3b), + list(/mob/living/simple_mob/vore/aggressive/frog), + list(/mob/living/simple_mob/vore/aggressive/giant_snake), + list(/mob/living/simple_mob/vore/aggressive/mimic), + list(/mob/living/simple_mob/vore/aggressive/panther), + list(/mob/living/simple_mob/vore/aggressive/rat), + list(/mob/living/simple_mob/vore/bee), + list( + /mob/living/simple_mob/vore/sect_drone = 10, + /mob/living/simple_mob/vore/sect_queen = 1 + ), + list(/mob/living/simple_mob/vore/solargrub), + list( + /mob/living/simple_mob/vore/oregrub = 5, + /mob/living/simple_mob/vore/oregrub/lava = 1 + ), + list(/mob/living/simple_mob/vore/catgirl), + list(/mob/living/simple_mob/vore/wolfgirl), + list( + /mob/living/simple_mob/vore/lamia, + /mob/living/simple_mob/vore/lamia/albino, + /mob/living/simple_mob/vore/lamia/albino/bra, + /mob/living/simple_mob/vore/lamia/albino/shirt, + /mob/living/simple_mob/vore/lamia/bra, + /mob/living/simple_mob/vore/lamia/cobra, + /mob/living/simple_mob/vore/lamia/cobra/bra, + /mob/living/simple_mob/vore/lamia/cobra/shirt, + /mob/living/simple_mob/vore/lamia/copper, + /mob/living/simple_mob/vore/lamia/copper/bra, + /mob/living/simple_mob/vore/lamia/copper/shirt, + /mob/living/simple_mob/vore/lamia/green, + /mob/living/simple_mob/vore/lamia/green/bra, + /mob/living/simple_mob/vore/lamia/green/shirt, + /mob/living/simple_mob/vore/lamia/zebra, + /mob/living/simple_mob/vore/lamia/zebra/bra, + /mob/living/simple_mob/vore/lamia/zebra/shirt + ), + list( + /mob/living/simple_mob/humanoid/merc = 100, + /mob/living/simple_mob/humanoid/merc/melee/sword = 50, + /mob/living/simple_mob/humanoid/merc/ranged = 25, + /mob/living/simple_mob/humanoid/merc/ranged/grenadier = 1, + /mob/living/simple_mob/humanoid/merc/ranged/ionrifle = 10, + /mob/living/simple_mob/humanoid/merc/ranged/laser = 5, + /mob/living/simple_mob/humanoid/merc/ranged/rifle = 5, + /mob/living/simple_mob/humanoid/merc/ranged/smg = 5, + /mob/living/simple_mob/humanoid/merc/ranged/sniper = 1, + /mob/living/simple_mob/humanoid/merc/ranged/space = 10, + /mob/living/simple_mob/humanoid/merc/ranged/technician = 5 + ), + list( + /mob/living/simple_mob/humanoid/pirate = 3, + /mob/living/simple_mob/humanoid/pirate/ranged = 1 + ), + list(/mob/living/simple_mob/mechanical/combat_drone), + list(/mob/living/simple_mob/mechanical/corrupt_maint_drone), + list( + /mob/living/simple_mob/mechanical/hivebot = 100, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage = 20, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage/backline = 10, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage/basic = 20, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage/dot = 5, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage/ion = 20, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage/laser = 10, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage/rapid = 2, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage/siege = 1, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage/siege/emp = 5, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage/siege/fragmentation = 1, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage/siege/radiation = 1, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage/strong = 3, + /mob/living/simple_mob/mechanical/hivebot/ranged_damage/strong/guard = 3, + /mob/living/simple_mob/mechanical/hivebot/support = 8, + /mob/living/simple_mob/mechanical/hivebot/support/commander = 5, + /mob/living/simple_mob/mechanical/hivebot/support/commander/autofollow = 10, + /mob/living/simple_mob/mechanical/hivebot/swarm = 20, + /mob/living/simple_mob/mechanical/hivebot/tank = 20, + /mob/living/simple_mob/mechanical/hivebot/tank/armored = 20, + /mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_bullet = 20, + /mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_laser = 20, + /mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_melee = 20, + /mob/living/simple_mob/mechanical/hivebot/tank/meatshield = 20 + ), + list(/mob/living/simple_mob/mechanical/infectionbot), + list(/mob/living/simple_mob/mechanical/mining_drone), + list(/mob/living/simple_mob/mechanical/technomancer_golem), + list( + /mob/living/simple_mob/mechanical/viscerator, + /mob/living/simple_mob/mechanical/viscerator/piercing + ), + list(/mob/living/simple_mob/mechanical/wahlem), + list(/mob/living/simple_mob/animal/passive/fox/syndicate), + list(/mob/living/simple_mob/animal/passive/fox), + list(/mob/living/simple_mob/animal/wolf/direwolf), + list(/mob/living/simple_mob/animal/space/jelly), + list( + /mob/living/simple_mob/otie/feral, + /mob/living/simple_mob/otie/feral/chubby, + /mob/living/simple_mob/otie/red, + /mob/living/simple_mob/otie/red/chubby + ), + list( + /mob/living/simple_mob/shadekin/blue = 100, + /mob/living/simple_mob/shadekin/green = 50, + /mob/living/simple_mob/shadekin/orange = 20, + /mob/living/simple_mob/shadekin/purple = 60, + /mob/living/simple_mob/shadekin/red = 40, + /mob/living/simple_mob/shadekin/yellow = 1 + ), + list( + /mob/living/simple_mob/vore/aggressive/corrupthound, + /mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi + ), + list(/mob/living/simple_mob/vore/aggressive/deathclaw), + list(/mob/living/simple_mob/vore/aggressive/dino), + list(/mob/living/simple_mob/vore/aggressive/dragon), + list(/mob/living/simple_mob/vore/aggressive/dragon/virgo3b), + list(/mob/living/simple_mob/vore/aggressive/frog), + list(/mob/living/simple_mob/vore/aggressive/giant_snake), + list(/mob/living/simple_mob/vore/aggressive/mimic), + list(/mob/living/simple_mob/vore/aggressive/panther), + list(/mob/living/simple_mob/vore/aggressive/rat), + list(/mob/living/simple_mob/vore/bee), + list(/mob/living/simple_mob/vore/catgirl), + list(/mob/living/simple_mob/vore/cookiegirl), + list(/mob/living/simple_mob/vore/fennec), + list(/mob/living/simple_mob/vore/fennix), + list(/mob/living/simple_mob/vore/hippo), + list(/mob/living/simple_mob/vore/horse), + list(/mob/living/simple_mob/vore/oregrub), + list(/mob/living/simple_mob/vore/rabbit), + list( + /mob/living/simple_mob/vore/redpanda = 50, + /mob/living/simple_mob/vore/redpanda/fae = 1 + ), + list( + /mob/living/simple_mob/vore/sect_drone = 10, + /mob/living/simple_mob/vore/sect_queen = 1 + ), + list(/mob/living/simple_mob/vore/solargrub), + list(/mob/living/simple_mob/vore/woof), + list(/mob/living/simple_mob/vore/alienanimals/teppi), + list(/mob/living/simple_mob/vore/alienanimals/space_ghost), + list(/mob/living/simple_mob/vore/alienanimals/catslug), + list(/mob/living/simple_mob/vore/alienanimals/space_jellyfish), + list(/mob/living/simple_mob/vore/alienanimals/startreader), + list(/mob/living/simple_mob/vore/bigdragon), + list( + /mob/living/simple_mob/vore/leopardmander = 50, + /mob/living/simple_mob/vore/leopardmander/blue = 10, + /mob/living/simple_mob/vore/leopardmander/exotic = 1 + ), + list(/mob/living/simple_mob/vore/sheep), + list(/mob/living/simple_mob/vore/weretiger), + list(/mob/living/simple_mob/vore/alienanimals/skeleton), + list(/mob/living/simple_mob/vore/alienanimals/dustjumper) + ) + +/obj/item/capture_crystal/random/Initialize() + var/subchoice = pickweight(possible_mob_types) //Some of the lists have nested lists, so let's pick one of them + var/choice = pickweight(subchoice) //And then we'll pick something from whatever's left + spawn_mob_type = choice //Now when someone uses this, we'll spawn whatever we picked! + return ..() + +/mob/living + var/capture_crystal = TRUE //If TRUE, the mob is capturable. Otherwise it isn't. + var/capture_caught = FALSE //If TRUE, the mob has already been caught, and so cannot be caught again. \ No newline at end of file diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index 744cc130e2..1a19b98910 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -55,7 +55,7 @@ C.throw_mode_on() /obj/item/weapon/grenade/chem_grenade/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/device/assembly_holder) && (!stage || stage==1) && path != 2) + if(istype(W,/obj/item/device/assembly_holder) && (!stage || stage==1) && !detonator && path != 2) var/obj/item/device/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.") @@ -314,4 +314,3 @@ beakers += B1 beakers += B2 - \ No newline at end of file diff --git a/code/game/objects/items/weapons/taskmanager_ch.dm b/code/game/objects/items/weapons/taskmanager_ch.dm index f8cb181abc..8d3ef847e4 100644 --- a/code/game/objects/items/weapons/taskmanager_ch.dm +++ b/code/game/objects/items/weapons/taskmanager_ch.dm @@ -102,7 +102,7 @@ scancount = 0 scanned = list() scannables = list(/obj/machinery/deployable/barrier,/obj/machinery/flasher/portable,/obj/item/weapon/storage/box/flashbangs,/obj/item/device/taperecorder, - /mob/living/simple_mob/animal/passive/snake/noodle,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/reagent_containers/spray/pepper, + /mob/living/simple_mob/animal/passive/snake/python/noodle,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud/aviator,/obj/machinery/computer/secure_data,/obj/machinery/computer/security, /obj/item/weapon/storage/briefcase/crimekit,/obj/machinery/microscope,/obj/machinery/dnaforensics,/obj/machinery/flasher,/obj/structure/closet/secure_closet/brig, /obj/structure/closet/secure_closet/warden,/obj/machinery/vending/security,/obj/structure/closet/secure_closet/hos2,/obj/structure/closet/secure_closet/hos, diff --git a/code/game/objects/random/mapping.dm b/code/game/objects/random/mapping.dm index a98edbf598..a3b83216d1 100644 --- a/code/game/objects/random/mapping.dm +++ b/code/game/objects/random/mapping.dm @@ -1455,4 +1455,194 @@ /obj/random/turf/lava/item_to_spawn() return pick(prob(5);/turf/simulated/floor/lava, prob(3);/turf/simulated/floor/outdoors/rocks/caves, - prob(1);/turf/simulated/mineral) + prob(1);/turf/simulated/mineral/ignore_mapgen/cave) + +//VOREStation Add Start - Underdark stuff that would be cool if existed if the underdark doesn't. + +/obj/random/underdark + name = "random underdark loot" + desc = "Random loot for Underdark." + icon = 'icons/obj/items.dmi' + icon_state = "spickaxe" + +/obj/random/underdark/item_to_spawn() + return pick(prob(3);/obj/random/multiple/underdark/miningdrills, + prob(3);/obj/random/multiple/underdark/ores, + prob(2);/obj/random/multiple/underdark/treasure, + prob(1);/obj/random/multiple/underdark/mechtool) + +/obj/random/underdark/uncertain + icon_state = "upickaxe" + spawn_nothing_percentage = 65 //only 33% to spawn loot + +/obj/random/multiple/underdark/miningdrills + name = "random underdark mining tool loot" + desc = "Random mining tool loot for Underdark." + icon = 'icons/obj/items.dmi' + icon_state = "spickaxe" + +/obj/random/multiple/underdark/miningdrills/item_to_spawn() + return pick( + prob(10);list(/obj/item/weapon/pickaxe/silver), + prob(8);list(/obj/item/weapon/pickaxe/drill), + prob(6);list(/obj/item/weapon/pickaxe/jackhammer), + prob(5);list(/obj/item/weapon/pickaxe/gold), + prob(4);list(/obj/item/weapon/pickaxe/plasmacutter), + prob(2);list(/obj/item/weapon/pickaxe/diamond), + prob(1);list(/obj/item/weapon/pickaxe/diamonddrill) + ) + +/obj/random/multiple/underdark/ores + name = "random underdark mining ore loot" + desc = "Random mining utility loot for Underdark." + icon = 'icons/obj/mining.dmi' + icon_state = "satchel" + +/obj/random/multiple/underdark/ores/item_to_spawn() + return pick( + prob(9);list( + /obj/item/weapon/storage/bag/ore, + /obj/item/weapon/shovel, + /obj/item/weapon/ore/glass, + /obj/item/weapon/ore/glass, + /obj/item/weapon/ore/glass, + /obj/item/weapon/ore/glass, + /obj/item/weapon/ore/glass, + /obj/item/weapon/ore/glass, + /obj/item/weapon/ore/glass, + /obj/item/weapon/ore/glass, + /obj/item/weapon/ore/glass, + /obj/item/weapon/ore/glass, + /obj/item/weapon/ore/hydrogen, + /obj/item/weapon/ore/hydrogen, + /obj/item/weapon/ore/hydrogen, + /obj/item/weapon/ore/hydrogen, + /obj/item/weapon/ore/hydrogen, + /obj/item/weapon/ore/hydrogen + ), + prob(7);list( + /obj/item/weapon/storage/bag/ore, + /obj/item/weapon/pickaxe, + /obj/item/weapon/ore/osmium, + /obj/item/weapon/ore/osmium, + /obj/item/weapon/ore/osmium, + /obj/item/weapon/ore/osmium, + /obj/item/weapon/ore/osmium, + /obj/item/weapon/ore/osmium, + /obj/item/weapon/ore/osmium, + /obj/item/weapon/ore/osmium, + /obj/item/weapon/ore/osmium, + /obj/item/weapon/ore/osmium + ), + prob(4);list( + /obj/item/clothing/suit/radiation, + /obj/item/clothing/head/radiation, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium, + /obj/item/weapon/ore/uranium), + prob(2);list( + /obj/item/device/flashlight/lantern, + /obj/item/clothing/glasses/material, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/diamond + ), + prob(1);list( + /obj/item/weapon/mining_scanner, + /obj/item/weapon/shovel/spade, + /obj/item/weapon/ore/verdantium, + /obj/item/weapon/ore/verdantium, + /obj/item/weapon/ore/verdantium, + /obj/item/weapon/ore/verdantium, + /obj/item/weapon/ore/verdantium + ) + ) + +/obj/random/multiple/underdark/treasure + name = "random underdark treasure" + desc = "Random treasure loot for Underdark." + icon = 'icons/obj/storage.dmi' + icon_state = "cashbag" + +/obj/random/multiple/underdark/treasure/item_to_spawn() + return pick( + prob(5);list( + /obj/random/coin, + /obj/random/coin, + /obj/random/coin, + /obj/random/coin, + /obj/random/coin, + /obj/item/clothing/head/pirate + ), + prob(4);list( + /obj/item/weapon/storage/bag/cash, + /obj/item/weapon/spacecash/c500, + /obj/item/weapon/spacecash/c100, + /obj/item/weapon/spacecash/c50 + ), + prob(3);list( + /obj/item/clothing/head/hardhat/orange, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold), + prob(1);list( + /obj/item/stack/material/phoron, + /obj/item/stack/material/phoron, + /obj/item/stack/material/phoron, + /obj/item/stack/material/phoron, + /obj/item/stack/material/diamond, + /obj/item/stack/material/diamond, + /obj/item/stack/material/diamond + ) + ) + +/obj/random/multiple/underdark/mechtool + name = "random underdark mech equipment" + desc = "Random mech equipment loot for Underdark." + icon = 'icons/mecha/mecha_equipment.dmi' + icon_state = "mecha_clamp" + +/obj/random/multiple/underdark/mechtool/item_to_spawn() + return pick( + prob(12);list(/obj/item/mecha_parts/mecha_equipment/tool/drill), + prob(10);list(/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp), + prob(8);list(/obj/item/mecha_parts/mecha_equipment/generator), + prob(7);list(/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot/rigged), + prob(6);list(/obj/item/mecha_parts/mecha_equipment/repair_droid), + prob(3);list(/obj/item/mecha_parts/mecha_equipment/gravcatapult), + prob(2);list(/obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser), + prob(2);list(/obj/item/mecha_parts/mecha_equipment/weapon/energy/flamer/rigged), + prob(1);list(/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill), + ) +//VOREStation Add End diff --git a/code/game/objects/random/misc_vr.dm b/code/game/objects/random/misc_vr.dm index 0d3a17c23f..9030e874ac 100644 --- a/code/game/objects/random/misc_vr.dm +++ b/code/game/objects/random/misc_vr.dm @@ -23,6 +23,7 @@ prob(30);/obj/item/weapon/aliencoin/gold, prob(20);/obj/item/weapon/aliencoin/phoron, prob(10);/obj/item/device/denecrotizer, + prob(5);/obj/item/capture_crystal, prob(5);/obj/item/device/perfect_tele, prob(5);/obj/item/weapon/bluespace_harpoon, prob(1);/obj/item/weapon/cell/infinite, @@ -43,9 +44,59 @@ prob(3);/obj/fiftyspawner/silver, prob(1);/obj/fiftyspawner/diamond, prob(5);/obj/fiftyspawner/phoron, - prob(1);/obj/item/weapon/telecube/randomized + prob(1);/obj/item/weapon/telecube/randomized, + prob(1);/obj/item/capture_crystal/random ) /obj/random/awayloot/nofail name = "garunteed random away mission loot" spawn_nothing_percentage = 0 + +/obj/random/awayloot/looseloot +/obj/random/awayloot/looseloot/item_to_spawn() + return pick(prob(50);/obj/item/weapon/aliencoin, + prob(40);/obj/item/weapon/aliencoin/silver, + prob(30);/obj/item/weapon/aliencoin/gold, + prob(20);/obj/item/weapon/aliencoin/phoron, + prob(10);/obj/item/device/denecrotizer, + prob(5);/obj/item/capture_crystal, + prob(3);/obj/item/capture_crystal/great, + prob(1);/obj/item/capture_crystal/ultra, + prob(4);/obj/item/capture_crystal/random, + prob(5);/obj/item/device/perfect_tele, + prob(5);/obj/item/weapon/bluespace_harpoon, + prob(1);/obj/item/weapon/cell/infinite, + prob(1);/obj/item/weapon/cell/void, + prob(1);/obj/item/weapon/cell/device/weapon/recharge/alien, + prob(1);/obj/item/clothing/shoes/boots/speed, + prob(1);/obj/item/device/nif, + prob(1);/obj/item/device/paicard, + prob(2);/obj/item/weapon/storage/backpack/dufflebag/syndie, + prob(2);/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, + prob(2);/obj/item/weapon/storage/backpack/dufflebag/syndie/med, + prob(2);/obj/item/clothing/mask/gas/voice, + prob(2);/obj/item/device/radio_jammer, + prob(1);/obj/item/toy/bosunwhistle, + prob(1);/obj/item/weapon/bananapeel, + prob(5);/obj/fiftyspawner/platinum, + prob(3);/obj/fiftyspawner/gold, + prob(3);/obj/fiftyspawner/silver, + prob(1);/obj/fiftyspawner/diamond, + prob(5);/obj/fiftyspawner/phoron, + prob(1);/obj/item/weapon/telecube/randomized, + prob(10);/obj/random/empty_or_lootable_crate, + prob(10);/obj/random/medical, + prob(5);/obj/random/firstaid, + prob(30);/obj/random/maintenance, + prob(10);/obj/random/mre, + prob(15);/obj/random/snack, + prob(10);/obj/random/tech_supply, + prob(15);/obj/random/tech_supply/component, + prob(10);/obj/random/tool, + prob(5);/obj/random/tool/power, + prob(1);/obj/random/tool/alien, + prob(5);/obj/random/weapon, + prob(5);/obj/random/ammo_all, + prob(3);/obj/random/projectile/random, + prob(5);/obj/random/multiple/voidsuit + ) diff --git a/code/game/objects/random/mob.dm b/code/game/objects/random/mob.dm index d0cee5dff0..be1222aabe 100644 --- a/code/game/objects/random/mob.dm +++ b/code/game/objects/random/mob.dm @@ -240,6 +240,7 @@ /obj/random/mob/mouse/item_to_spawn() return pick(prob(15);/mob/living/simple_mob/animal/passive/mouse/white, + prob(15);/mob/living/simple_mob/animal/passive/mouse/black, prob(30);/mob/living/simple_mob/animal/passive/mouse/brown, prob(30);/mob/living/simple_mob/animal/passive/mouse/gray, prob(30);/mob/living/simple_mob/animal/passive/mouse/rat) diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm index cbb95e955f..a25d90fbba 100644 --- a/code/game/objects/structures/artstuff.dm +++ b/code/game/objects/structures/artstuff.dm @@ -316,22 +316,11 @@ name = "painting frame" desc = "The perfect showcase for your favorite deathtrap memories." icon = 'icons/obj/decals.dmi' - //custom_materials = list(/datum/material/wood = 2000) - //flags_1 = NONE + refund_amt = 5 + refund_type = /obj/item/stack/material/wood icon_state = "frame-empty" - -/obj/item/frame/painting/try_build(turf/on_wall, mob/user as mob) - if(get_dist(on_wall, user) > 1) - return - var/ndir = get_dir(on_wall, user) - if (!(ndir in cardinal)) - return - if(!istype(on_wall, /turf/simulated/wall)) - to_chat(user, "Frame cannot be placed on this spot.") - return - new /obj/structure/sign/painting(get_turf(user), ndir, TRUE) - qdel(src) - + build_machine_type = /obj/structure/sign/painting + /obj/structure/sign/painting name = "Painting" desc = "Art or \"Art\"? You decide." @@ -589,4 +578,4 @@ QDEL_NULL(P.current_canvas) P.update_appearance() loaded = FALSE - log_and_message_admins("[key_name_admin(user)] has deleted persistent painting made by [author].") \ No newline at end of file + log_and_message_admins("[key_name_admin(user)] has deleted persistent painting made by [author].") diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm index 17d67f912c..af7092d9d6 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm @@ -6,6 +6,7 @@ starts_with = list( /obj/item/weapon/storage/bag/plants, /obj/item/clothing/under/rank/hydroponics, + /obj/item/clothing/gloves/botanic_leather, /obj/item/device/analyzer/plant_analyzer, /obj/item/device/radio/headset/headset_service, /obj/item/clothing/head/greenbandana, diff --git a/code/game/objects/structures/flora/flora.dm b/code/game/objects/structures/flora/flora.dm index 96795f446d..4780c89f36 100644 --- a/code/game/objects/structures/flora/flora.dm +++ b/code/game/objects/structures/flora/flora.dm @@ -450,6 +450,43 @@ desc = "This is a tiny well lit decorative christmas tree." icon_state = "plant-xmas" +/obj/random/pottedplant + name = "random potted plant" + desc = "This is a random potted plant." + +/obj/random/pottedplant/item_to_spawn() + return pick( + prob(10);/obj/structure/flora/pottedplant, + prob(10);/obj/structure/flora/pottedplant/large, + prob(10);/obj/structure/flora/pottedplant/fern, + prob(10);/obj/structure/flora/pottedplant/overgrown, + prob(10);/obj/structure/flora/pottedplant/bamboo, + prob(10);/obj/structure/flora/pottedplant/largebush, + prob(10);/obj/structure/flora/pottedplant/thinbush, + prob(10);/obj/structure/flora/pottedplant/mysterious, + prob(10);/obj/structure/flora/pottedplant/smalltree, + prob(10);/obj/structure/flora/pottedplant/unusual, + prob(10);/obj/structure/flora/pottedplant/orientaltree, + prob(10);/obj/structure/flora/pottedplant/smallcactus, + prob(10);/obj/structure/flora/pottedplant/tall, + prob(10);/obj/structure/flora/pottedplant/sticky, + prob(10);/obj/structure/flora/pottedplant/smelly, + prob(10);/obj/structure/flora/pottedplant/small, + prob(10);/obj/structure/flora/pottedplant/aquatic, + prob(10);/obj/structure/flora/pottedplant/shoot, + prob(10);/obj/structure/flora/pottedplant/flower, + prob(10);/obj/structure/flora/pottedplant/crystal, + prob(10);/obj/structure/flora/pottedplant/subterranean, + prob(10);/obj/structure/flora/pottedplant/minitree, + prob(10);/obj/structure/flora/pottedplant/stoutbush, + prob(10);/obj/structure/flora/pottedplant/drooping, + prob(10);/obj/structure/flora/pottedplant/tropical, + prob(10);/obj/structure/flora/pottedplant/dead, + prob(10);/obj/structure/flora/pottedplant/decorative, + prob(1);/obj/structure/flora/pottedplant/xmas + ) + + /obj/structure/flora/sif icon = 'icons/obj/flora/sifflora.dmi' diff --git a/code/game/objects/structures/trash_pile_vr.dm b/code/game/objects/structures/trash_pile_vr.dm index 459f907195..a646583e34 100644 --- a/code/game/objects/structures/trash_pile_vr.dm +++ b/code/game/objects/structures/trash_pile_vr.dm @@ -263,7 +263,8 @@ prob(1);/obj/item/weapon/storage/box/survival/space, prob(1);/obj/item/weapon/storage/secure/briefcase/trashmoney, prob(1);/obj/item/device/survivalcapsule/popcabin, - prob(1);/obj/item/weapon/reagent_containers/syringe/steroid) + prob(1);/obj/item/weapon/reagent_containers/syringe/steroid, + prob(1);/obj/item/capture_crystal) var/obj/item/I = new path() return I diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index fca6b3c35b..5b9af521c5 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -124,7 +124,7 @@ bloodDNA = null - if(src.wet || (dirtslip && (dirt > 50 || outdoors))) //CHOMPEdit + if(src.wet || (dirtslip && (dirt > 50 || outdoors == 1))) //CHOMPEdit if(M.buckled || (src.wet == 1 && M.m_intent == "walk")) return @@ -139,6 +139,8 @@ floor_type = "dirty" else if(outdoors) floor_type = "uneven" + if(src.wet == 0 && M.m_intent == "walk") + return //CHOMPEdit End switch(src.wet) if(2) // Lube @@ -188,4 +190,4 @@ else if( istype(M, /mob/living/silicon/robot )) new /obj/effect/decal/cleanable/blood/oil(src) else if(ishuman(M)) - add_blood(M) \ No newline at end of file + add_blood(M) diff --git a/code/game/turfs/weird_turfs_vr.dm b/code/game/turfs/weird_turfs_vr.dm new file mode 100644 index 0000000000..b1ef1fa4fb --- /dev/null +++ b/code/game/turfs/weird_turfs_vr.dm @@ -0,0 +1,131 @@ +/turf/simulated/floor/weird_things + icon = 'icons/turf/flooring/weird_vr.dmi' + +/turf/simulated/floor/weird_things/dark + name = "dark" + desc = "It's a strange, impenetrable darkness." + icon_state = "dark" + can_dirty = FALSE + +/turf/simulated/floor/weird_things/dark/Initialize(mapload) + . = ..() + if(prob(5)) + add_glow() + +/turf/simulated/floor/weird_things/dark/Crossed(O) + . = ..() + if(!isliving(O)) + return + cut_overlays() + if(prob(5)) + add_glow() + if(istype(O, /mob/living/carbon/human)) + var/mob/living/carbon/human/L = O + if(istype(L.species, /datum/species/crew_shadekin)) + L.halloss += 5 + if(prob(50)) + to_chat(L, "The more you move through this darkness, the more you can feel a throbbing, shooting ache in your bones.") + if(prob(5)) + L.visible_message("[L]'s body gives off a faint, sparking, haze...", "Your body gives off a faint, sparking, haze...", runemessage = "gives off a faint, sparking haze") + else if(istype(L.species, /datum/species/shadekin)) + var/obj/item/organ/internal/brain/shadekin/B = L.internal_organs_by_name["brain"] + B.dark_energy += 10 + if(prob(10)) + to_chat(L, "You can feel the energy flowing into you!") + else + if(prob(0.25)) + to_chat(L, "The darkness seethes under your feet...") + L.hallucination += 50 + +/turf/simulated/floor/weird_things/dark/proc/add_glow() + var/choice = "overlay-[rand(1,6)]" + var/image/i = image('icons/turf/flooring/weird_vr.dmi', choice) + i.plane = PLANE_LIGHTING_ABOVE + add_overlay(i) + +/turf/simulated/floor/weird_things/dark/ChangeTurf() + . = ..() + cut_overlays() + +/turf/unsimulated/wall/dark + name = "dark" + desc = "It's a strange, impenetrable darkness." + icon = 'icons/turf/flooring/weird_vr.dmi' + icon_state = "dark" + +/turf/unsimulated/wall/dark/Initialize(mapload) + . = ..() + if(prob(5)) + add_glow() + +/turf/unsimulated/wall/dark/proc/add_glow() + var/choice = "overlay-[rand(1,6)]" + var/image/i = image('icons/turf/flooring/weird_vr.dmi', choice) + i.plane = PLANE_LIGHTING_ABOVE + add_overlay(i) + +/turf/unsimulated/wall/dark/ChangeTurf() + . = ..() + cut_overlays() + + +/turf/unsimulated/floor/dark + name = "dark" + desc = "It's a strange, impenetrable darkness." + icon = 'icons/turf/flooring/weird_vr.dmi' + icon_state = "dark" + +/turf/unsimulated/floor/dark/Initialize(mapload) + . = ..() + if(prob(5)) + add_glow() + +/turf/unsimulated/floor/dark/Crossed(O) + . = ..() + if(!isliving(O)) + return + cut_overlays() + if(prob(5)) + add_glow() + if(istype(O, /mob/living/carbon/human)) + var/mob/living/carbon/human/L = O + if(istype(L.species, /datum/species/crew_shadekin)) + L.halloss += 5 + if(prob(50)) + to_chat(L, "The more you move through this darkness, the more you can feel a throbbing, shooting ache in your bones.") + if(prob(5)) + L.visible_message("[L]'s body gives off a faint, sparking, haze...", "Your body gives off a faint, sparking, haze...", runemessage = "gives off a faint, sparking haze") + else if(istype(L.species, /datum/species/shadekin)) + var/obj/item/organ/internal/brain/shadekin/B = L.internal_organs_by_name["brain"] + B.dark_energy += 10 + if(prob(10)) + to_chat(L, "You can feel the energy flowing into you!") + else + if(prob(0.25)) + to_chat(L, "The darkness seethes under your feet...") + L.hallucination += 50 + +/turf/unsimulated/floor/dark/proc/add_glow() + var/flip = rand(1,2) + var/choice + var/choiceb + if(flip == 1) + choice = "overlay-[rand(1,6)]" + if(flip == 2) + choice = "overlay-[rand(7,12)]" + var/image/i = image('icons/turf/flooring/weird_vr.dmi', choice) + i.plane = PLANE_LIGHTING_ABOVE + add_overlay(i) + if(prob(10)) + if(flip == 1) + choiceb = "overlay-[rand(7,12)]" + if(flip == 2) + choiceb = "overlay-[rand(1,6)]" + var/image/ii = image('icons/turf/flooring/weird_vr.dmi', choiceb) + add_overlay(ii) + + + +/turf/unsimulated/floor/dark/ChangeTurf() + . = ..() + cut_overlays() \ No newline at end of file diff --git a/code/modules/admin/verbs/smite_vr.dm b/code/modules/admin/verbs/smite_vr.dm index 51e4411906..750a8c0bea 100644 --- a/code/modules/admin/verbs/smite_vr.dm +++ b/code/modules/admin/verbs/smite_vr.dm @@ -34,7 +34,7 @@ if(!Ts) return //Didn't find shadekin spawn turf - var/mob/living/simple_mob/shadekin/red/ai/shadekin = new(Ts) + var/mob/living/simple_mob/shadekin/red/shadekin = new(Ts) //Abuse of shadekin shadekin.real_name = shadekin.name shadekin.init_vore() diff --git a/code/modules/ai/ai_holder_targeting.dm b/code/modules/ai/ai_holder_targeting.dm index 68e8a1737c..371419c128 100644 --- a/code/modules/ai/ai_holder_targeting.dm +++ b/code/modules/ai/ai_holder_targeting.dm @@ -4,7 +4,8 @@ var/hostile = FALSE // Do we try to hurt others? var/retaliate = FALSE // Attacks whatever struck it first. Mobs will still attack back if this is false but hostile is true. var/mauling = FALSE // Attacks unconscious mobs - var/handle_corpse = FALSE // Allows AI to acknowledge corpses (e.g. nurse spiders) + var/unconscious_vore = TRUE //VOREStation Add - allows a mob to go for unconcious targets IF their vore prefs align + var/handle_corpse = FALSE // Allows AI to acknowledge corpses (e.g. nurse spiders) var/atom/movable/target = null // The thing (mob or object) we're trying to kill. var/atom/movable/preferred_target = null// If set, and if given the chance, we will always prefer to target this over other options. @@ -128,6 +129,14 @@ if(L.stat == UNCONSCIOUS) // Do we have mauling? Yes? Then maul people who are sleeping but not SSD if(mauling) return TRUE + //VOREStation Add Start + else if(unconscious_vore && L.allowmobvore) + var/mob/living/simple_mob/vore/eater = holder + if(eater.will_eat(L)) + return TRUE + else + return FALSE + //VOREStation Add End else return FALSE if(holder.IIsAlly(L)) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 1cdbb79b27..210a9d1539 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -855,7 +855,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/list/valid_facialhairstyles = pref.get_valid_facialhairstyles() var/new_f_style = tgui_input_list(user, "Choose your character's facial-hair style:", "Character Preference", valid_facialhairstyles, pref.f_style) - if(new_f_style && has_flag(mob_species, HAS_HAIR_COLOR) && CanUseTopic(user)) + if(new_f_style && CanUseTopic(user)) pref.f_style = new_f_style return TOPIC_REFRESH_UPDATE_PREVIEW diff --git a/code/modules/client/preference_setup/loadout/loadout.dm b/code/modules/client/preference_setup/loadout/loadout.dm index f16815d356..48390196fd 100644 --- a/code/modules/client/preference_setup/loadout/loadout.dm +++ b/code/modules/client/preference_setup/loadout/loadout.dm @@ -65,10 +65,10 @@ var/list/gear_datums = list() for(var/gear_name in gear_datums) var/datum/gear/G = gear_datums[gear_name] - if(G.whitelisted && config.loadout_whitelist != LOADOUT_WHITELIST_OFF) + if(G.whitelisted && config.loadout_whitelist != LOADOUT_WHITELIST_OFF && pref.client) //VOREStation Edit. if(config.loadout_whitelist == LOADOUT_WHITELIST_STRICT && G.whitelisted != pref.species) continue - if(config.loadout_whitelist == LOADOUT_WHITELIST_LAX && !is_alien_whitelisted(preference_mob(), GLOB.all_species[G.whitelisted])) + if(config.loadout_whitelist == LOADOUT_WHITELIST_LAX && !is_alien_whitelisted(preference_mob(), GLOB.all_species[G.whitelisted])) continue if(max_cost && G.cost > max_cost) @@ -170,7 +170,7 @@ var/list/gear_datums = list() if(ticked) . += "" for(var/datum/gear_tweak/tweak in G.gear_tweaks) - . += " [tweak.get_contents(get_tweak_metadata(G, tweak))]" + . += " [tweak.get_contents(get_tweak_metadata(G, tweak))]" . += "" . += "" . = jointext(., null) @@ -206,7 +206,7 @@ var/list/gear_datums = list() pref.gear += TG.display_name return TOPIC_REFRESH_UPDATE_PREVIEW if(href_list["gear"] && href_list["tweak"]) - var/datum/gear/gear = gear_datums[href_list["gear"]] + var/datum/gear/gear = gear_datums[url_decode(href_list["gear"])] var/datum/gear_tweak/tweak = locate(href_list["tweak"]) if(!tweak || !istype(gear) || !(tweak in gear.gear_tweaks)) return TOPIC_NOACTION diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm index cc93376399..d2ffd563e0 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm @@ -344,6 +344,12 @@ ckeywhitelist = list("hottokeeki") character_name = list("Belle Day") +/datum/gear/fluff/amaryll_claws + path = /obj/item/weapon/surgical/scalpel/amaryll_claws + display_name = "Amaryll's Claws" + ckeywhitelist = list("hunterbirk") + character_name = list("Amaryll") + // I CKEYS /datum/gear/fluff/ruda_badge path = /obj/item/clothing/accessory/badge/holo/detective/ruda diff --git a/code/modules/client/preference_setup/loadout/loadout_mask.dm b/code/modules/client/preference_setup/loadout/loadout_mask.dm index 2c89ce66cb..a313f3023d 100644 --- a/code/modules/client/preference_setup/loadout/loadout_mask.dm +++ b/code/modules/client/preference_setup/loadout/loadout_mask.dm @@ -46,13 +46,13 @@ /datum/gear/mask/gaiter display_name = "neck gaiter selection" - path = /obj/item/clothing/mask/gaiter + path = /obj/item/clothing/accessory/gaiter cost = 1 /datum/gear/mask/gaiter/New() ..() var/list/gaiters = list() - for(var/gaiter in typesof(/obj/item/clothing/mask/gaiter)) - var/obj/item/clothing/mask/gaiter_type = gaiter + for(var/gaiter in typesof(/obj/item/clothing/accessory/gaiter)) + var/obj/item/clothing/accessory/gaiter_type = gaiter gaiters[initial(gaiter_type.name)] = gaiter_type gear_tweaks += new/datum/gear_tweak/path(sortTim(gaiters, /proc/cmp_text_asc)) \ No newline at end of file diff --git a/code/modules/client/preference_setup/vore/09_misc.dm b/code/modules/client/preference_setup/vore/09_misc.dm index 2273cc586b..8f3d467ff5 100644 --- a/code/modules/client/preference_setup/vore/09_misc.dm +++ b/code/modules/client/preference_setup/vore/09_misc.dm @@ -8,6 +8,7 @@ S["directory_erptag"] >> pref.directory_erptag S["directory_ad"] >> pref.directory_ad S["sensorpref"] >> pref.sensorpref + S["capture_crystal"] >> pref.capture_crystal /datum/category_item/player_setup_item/vore/misc/save_character(var/savefile/S) S["show_in_directory"] << pref.show_in_directory @@ -15,17 +16,21 @@ S["directory_erptag"] << pref.directory_erptag S["directory_ad"] << pref.directory_ad S["sensorpref"] << pref.sensorpref + S["capture_crystal"] << pref.capture_crystal + /datum/category_item/player_setup_item/vore/misc/copy_to_mob(var/mob/living/carbon/human/character) if(pref.sensorpref > 5 || pref.sensorpref < 1) pref.sensorpref = 5 character.sensorpref = pref.sensorpref + character.capture_crystal = pref.capture_crystal /datum/category_item/player_setup_item/vore/misc/sanitize_character() pref.show_in_directory = sanitize_integer(pref.show_in_directory, 0, 1, initial(pref.show_in_directory)) pref.directory_tag = sanitize_inlist(pref.directory_tag, GLOB.char_directory_tags, initial(pref.directory_tag)) pref.directory_erptag = sanitize_inlist(pref.directory_erptag, GLOB.char_directory_erptags, initial(pref.directory_erptag)) pref.sensorpref = sanitize_integer(pref.sensorpref, 1, sensorpreflist.len, initial(pref.sensorpref)) + pref.capture_crystal = sanitize_integer(pref.capture_crystal, 0, 1, initial(pref.capture_crystal)) /datum/category_item/player_setup_item/vore/misc/content(var/mob/user) . += "
" @@ -34,6 +39,7 @@ . += "Character Directory ERP Tag: [pref.directory_erptag]
" . += "Character Directory Advertisement: Set Directory Ad
" . += "Suit Sensors Preference: [sensorpreflist[pref.sensorpref]]
" + . += "Capture Crystal Preference [pref.capture_crystal ? "Yes" : "No"]
" /datum/category_item/player_setup_item/vore/misc/OnTopic(var/href, var/list/href_list, var/mob/user) if(href_list["toggle_show_in_directory"]) @@ -60,4 +66,8 @@ if (!isnull(new_sensorpref) && CanUseTopic(user)) pref.sensorpref = sensorpreflist.Find(new_sensorpref) return TOPIC_REFRESH + else if(href_list["toggle_capture_crystal"]) + pref.capture_crystal = pref.capture_crystal ? 0 : 1; + return TOPIC_REFRESH + return ..(); diff --git a/code/modules/client/preferences_vr.dm b/code/modules/client/preferences_vr.dm index 5dda608597..3ddf1f5c41 100644 --- a/code/modules/client/preferences_vr.dm +++ b/code/modules/client/preferences_vr.dm @@ -4,6 +4,8 @@ var/directory_erptag = "Unset" //ditto, but for non-vore scenes var/directory_ad = "" //Advertisement stuff to show in character directory. var/sensorpref = 5 //Set character's suit sensor level + var/capture_crystal = 1 //Whether or not someone is able to be caught with capture crystals + var/job_talon_high = 0 var/job_talon_med = 0 var/job_talon_low = 0 @@ -71,7 +73,7 @@ feedback_add_details("admin_verb","TEmoteNoise") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/verb/toggle_ghost_quiets() - set name = "Toggle Whisper/Subtle Vis" + set name = "Toggle Ghost Privacy" set category = "Preferences" set desc = "Toggle ghosts viewing your subtles/whispers." @@ -84,3 +86,22 @@ SScharacter_setup.queue_preferences_save(prefs) feedback_add_details("admin_verb","TWhisubtleVis") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/verb/toggle_capture_crystal() + set name = "Toggle Catchable" + set category = "Preferences" + set desc = "Toggle being catchable with capture crystals." + + var/mob/living/L = mob + + if(prefs.capture_crystal) + to_chat(src, "You are no longer catchable.") + prefs.capture_crystal = 0 + else + to_chat(src, "You are now catchable.") + prefs.capture_crystal = 1 + if(L) + L.capture_crystal = prefs.capture_crystal + SScharacter_setup.queue_preferences_save(prefs) + + feedback_add_details("admin_verb","TCaptureCrystal") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 3a79b7177a..7f15afe180 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -362,33 +362,6 @@ src.icon_state = "flushed" return -//Gaiter scarves -/obj/item/clothing/mask/gaiter - name = "red neck gaiter" - desc = "A slightly worn neck gaiter, it's loose enough to be worn comfortably like a scarf. Commonly used by outdoorsmen and mercenaries, both to keep warm and keep debris away from the face." - icon_state = "gaiter_red" - -/obj/item/clothing/mask/gaiter/attack_self(mob/user as mob) - if(src.icon_state == initial(icon_state)) - src.icon_state = "[icon_state]_up" - to_chat(user, "You pull the gaiter up over your nose.") - else - src.icon_state = initial(icon_state) - to_chat(user, "You tug the gaiter down around your neck.") - update_clothing_icon() //so our mob-overlays update - -/obj/item/clothing/mask/gaiter/tan - name = "tan neck gaiter" - icon_state = "gaiter_tan" - -/obj/item/clothing/mask/gaiter/gray - name = "gray neck gaiter" - icon_state = "gaiter_gray" - -/obj/item/clothing/mask/gaiter/green - name = "green neck gaiter" - icon_state = "gaiter_green" - /obj/item/clothing/mask/mouthwheat name = "mouth wheat" desc = "100% synthetic \"Country Girls LLC.\" brand mouth wheat. Warning: not for actual consumption." diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/crusher_gauntlets.dm b/code/modules/clothing/spacesuits/rig/modules/specific/crusher_gauntlets.dm index 3dff20284f..9d156a1361 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/crusher_gauntlets.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/crusher_gauntlets.dm @@ -13,7 +13,7 @@ usable = 0 toggleable = 1 use_power_cost = 0 - active_power_cost = 2.5 + active_power_cost = 0 passive_power_cost = 0 var/obj/item/weapon/kinetic_crusher/machete/gauntlets/rig/stored_gauntlets diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/passive_protection.dm b/code/modules/clothing/spacesuits/rig/modules/specific/passive_protection.dm new file mode 100644 index 0000000000..92dcd87dd3 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/passive_protection.dm @@ -0,0 +1,166 @@ +// contains the Radiation Absorption Device (RAD) and Atmospheric Protective Equipment (APE) modules +// you shits ready for some COPY AND PASTE? +/obj/item/rig_module/rad_shield + name = "radiation absorption device" + desc = "The acronym of this device - R.A.D. - and its full name both convey the application of the module." + description_info = "Through the usage of powered radiation collectors optimized for absorption rather than power generation, it protects the suit's wearer \ + from incoming ionizing radiation and converts it into a significantly less harmful form. This comes at the cost of concerningly high power consumption, \ + and thus should only be used in short bursts." + icon_state = "radsoak" + toggleable = 1 + disruptable = 1 + disruptive = 0 + + use_power_cost = 25 + active_power_cost = 25 + passive_power_cost = 0 + module_cooldown = 30 + + activate_string = "Enable Supplemental Radiation Shielding" + deactivate_string = "Disable Supplemental Radiation Shielding" + + interface_name = "radiation absorption system" + interface_desc = "Provides passive protection against radiation, at the cost of power." + var/stored_rad_armor = 0 + +/obj/item/rig_module/rad_shield/activate() + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + var/obj/item/clothing/shoes/boots = holder.boots + var/obj/item/clothing/suit/space/rig/chest = holder.chest + var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet + var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves + + to_chat(H, "You activate your suit's powered radiation shielding.") + stored_rad_armor = holder.armor["rad"] + if(boots) + boots.armor["rad"] = 100 + if(chest) + chest.armor["rad"] = 100 + if(helmet) + helmet.armor["rad"] = 100 + if(gloves) + gloves.armor["rad"] = 100 + holder.armor["rad"] = 100 + +/obj/item/rig_module/rad_shield/deactivate() + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + var/obj/item/clothing/shoes/boots = holder.boots + var/obj/item/clothing/suit/space/rig/chest = holder.chest + var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet + var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves + + to_chat(H, "You deactivate your suit's powered radiation shielding.") + + if(boots) + boots.armor["rad"] = stored_rad_armor + if(chest) + chest.armor["rad"] = stored_rad_armor + if(helmet) + helmet.armor["rad"] = stored_rad_armor + if(gloves) + gloves.armor["rad"] = stored_rad_armor + holder.armor["rad"] = stored_rad_armor + + stored_rad_armor = 0 + +/obj/item/rig_module/rad_shield/advanced + name = "advanced radiation absorption device" + desc = "The acronym of this device - R.A.D. - and its full name both convey the application of the module. It has additional quality notices \ + on the underside of the casing." + use_power_cost = 5 + active_power_cost = 5 + +/obj/item/rig_module/atmos_shield + name = "atmospheric protection enhancement suite" + desc = "The acronym of this suite - A.P.E. - unlike its loosely related cousin, the R.A.D., is remarkably unintuitive." + description_info = "Through the usage of powered shielding optimized for protection against the elements rather than from external physical issues, \ + it protects the suit's wearer from atmospheric pressure and temperatures. This comes at the cost of concerningly high power consumption, \ + and thus should only be used in short bursts." + icon_state = "atmosoak" + + toggleable = 1 + disruptable = 1 + disruptive = 0 + + use_power_cost = 25 + active_power_cost = 25 + passive_power_cost = 0 + module_cooldown = 30 + + activate_string = "Enable Powered Atmospheric Shielding" + deactivate_string = "Disable Powered Atmospheric Shielding" + + interface_name = "atmospheric protection enhancements" + interface_desc = "Provides passive protection against the atmosphere, at the cost of power." + var/stored_max_pressure = 0 + var/stored_max_temp = 0 + +/obj/item/rig_module/atmos_shield/activate() + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + var/obj/item/clothing/shoes/boots = holder.boots + var/obj/item/clothing/suit/space/rig/chest = holder.chest + var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet + var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves + + stored_max_pressure = holder.max_pressure_protection + stored_max_temp = holder.max_heat_protection_temperature + + to_chat(H, "You activate your suit's powered atmospheric shielding.") + + if(boots) + boots.max_pressure_protection = INFINITY + boots.max_heat_protection_temperature = INFINITY + if(chest) + chest.max_pressure_protection = INFINITY + chest.max_heat_protection_temperature = INFINITY + if(helmet) + helmet.max_pressure_protection = INFINITY + helmet.max_heat_protection_temperature = INFINITY + if(gloves) + gloves.max_pressure_protection = INFINITY + gloves.max_heat_protection_temperature = INFINITY + holder.max_pressure_protection = INFINITY + holder.max_heat_protection_temperature = INFINITY + +/obj/item/rig_module/atmos_shield/deactivate() + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + var/obj/item/clothing/shoes/boots = holder.boots + var/obj/item/clothing/suit/space/rig/chest = holder.chest + var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet + var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves + + to_chat(H, "You deactivate your suit's powered atmospheric shielding.") + + if(boots) + boots.max_pressure_protection = stored_max_pressure + boots.max_heat_protection_temperature = stored_max_temp + if(chest) + chest.max_pressure_protection = stored_max_pressure + chest.max_heat_protection_temperature = stored_max_temp + if(helmet) + helmet.max_pressure_protection = stored_max_pressure + helmet.max_heat_protection_temperature = stored_max_temp + if(gloves) + gloves.max_pressure_protection = stored_max_pressure + gloves.max_heat_protection_temperature = stored_max_temp + holder.max_pressure_protection = stored_max_pressure + holder.max_heat_protection_temperature = stored_max_temp + + stored_max_pressure = 0 + stored_max_temp = 0 \ No newline at end of file diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index ca03efdec5..ec338f1d5c 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -455,4 +455,73 @@ name = "sash" desc = "A plain, unadorned sash." icon_state = "sash" - slot = ACCESSORY_SLOT_OVER \ No newline at end of file + slot = ACCESSORY_SLOT_OVER + +//Gaiter scarves +/obj/item/clothing/accessory/gaiter + name = "red neck gaiter" + desc = "A slightly worn neck gaiter, it's loose enough to be worn comfortably like a scarf. Commonly used by outdoorsmen and mercenaries, both to keep warm and keep debris away from the face." + icon_state = "gaiter_red" + slot_flags = SLOT_MASK | SLOT_TIE + body_parts_covered = FACE + w_class = ITEMSIZE_SMALL + slot = ACCESSORY_SLOT_INSIGNIA // snowflakey, i know, shut up + item_flags = FLEXIBLEMATERIAL + var/breath_masked = FALSE + var/obj/item/clothing/mask/breath/breathmask + action_button_name = "Pull On Gaiter" + +/obj/item/clothing/accessory/gaiter/update_clothing_icon() + . = ..() + if(ismob(src.loc)) + var/mob/M = src.loc + M.update_inv_wear_mask() + +/obj/item/clothing/accessory/gaiter/attackby(obj/item/I, mob/user) + if(istype(I, /obj/item/clothing/mask/breath)) + to_chat(user, SPAN_NOTICE("You tuck [I] behind [src].")) + breathmask = I + breath_masked = TRUE + user.drop_from_inventory(I, drop_location()) + I.forceMove(src) + item_flags &= ~FLEXIBLEMATERIAL + . = ..() + +/obj/item/clothing/accessory/gaiter/AltClick(mob/user) + . = ..() + if(breath_masked && breathmask) + to_chat(user, SPAN_NOTICE("You pull [breathmask] out from behind [src], and it drops to your feet.")) + breathmask.forceMove(drop_location()) + breathmask = null + breath_masked = FALSE + item_flags &= ~AIRTIGHT + item_flags |= FLEXIBLEMATERIAL + +/obj/item/clothing/accessory/gaiter/attack_self(mob/user) + var/gaiterstring = "You pull [src] " + if(src.icon_state == initial(icon_state)) + src.icon_state = "[icon_state]_up" + gaiterstring += "up over your nose[breath_masked ? " and secure the mask tucked underneath." : "."]" + if(breath_masked) + item_flags |= AIRTIGHT + else + src.icon_state = initial(icon_state) + gaiterstring += "down around your neck[breath_masked ? " and dislodge the mask tucked underneath." : "."]" + body_parts_covered &= ~FACE + if(breath_masked) + item_flags &= ~AIRTIGHT + to_chat(user, SPAN_NOTICE(gaiterstring)) + qdel(mob_overlay) // we're gonna need to refresh these + update_clothing_icon() //so our mob-overlays update + +/obj/item/clothing/accessory/gaiter/tan + name = "tan neck gaiter" + icon_state = "gaiter_tan" + +/obj/item/clothing/accessory/gaiter/gray + name = "gray neck gaiter" + icon_state = "gaiter_gray" + +/obj/item/clothing/accessory/gaiter/green + name = "green neck gaiter" + icon_state = "gaiter_green" diff --git a/code/modules/clothing/under/miscellaneous_vr.dm b/code/modules/clothing/under/miscellaneous_vr.dm index df3c102fed..ea010cf8ee 100644 --- a/code/modules/clothing/under/miscellaneous_vr.dm +++ b/code/modules/clothing/under/miscellaneous_vr.dm @@ -102,7 +102,7 @@ if(new_size != H.size_multiplier) if(!original_size) original_size = H.size_multiplier - H.resize(new_size/100, ignore_prefs = TRUE) // Ignores prefs because you can only resize yourself + H.resize(new_size/100, uncapped = H.has_large_resize_bounds(), ignore_prefs = TRUE) // Ignores prefs because you can only resize yourself H.visible_message("The space around [H] distorts as they change size!","The space around you distorts as you change size!") else //They chose their current size. return diff --git a/code/modules/economy/vending_machines_vr.dm b/code/modules/economy/vending_machines_vr.dm index 2b1e12aa92..0e757f7ed9 100644 --- a/code/modules/economy/vending_machines_vr.dm +++ b/code/modules/economy/vending_machines_vr.dm @@ -2786,7 +2786,7 @@ /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat = 10, /obj/item/weapon/reagent_containers/food/snacks/meat/chicken = 10, /obj/item/weapon/reagent_containers/food/snacks/meat/corgi = 10, - /obj/item/weapon/reagent_containers/food/snacks/meat/crab = 10, + /obj/item/weapon/reagent_containers/food/snacks/crabmeat = 10, /obj/item/weapon/reagent_containers/food/snacks/meat/fox = 10, /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat = 10, /obj/item/weapon/reagent_containers/food/snacks/meat/human = 10, @@ -3242,7 +3242,7 @@ /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat = 10, /obj/item/weapon/reagent_containers/food/snacks/meat/chicken = 10, /obj/item/weapon/reagent_containers/food/snacks/meat/corgi = 10, - /obj/item/weapon/reagent_containers/food/snacks/meat/crab = 10, + /obj/item/weapon/reagent_containers/food/snacks/crabmeat = 10, /obj/item/weapon/reagent_containers/food/snacks/meat/fox = 10, /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat = 10, /obj/item/weapon/reagent_containers/food/snacks/meat/human = 10, diff --git a/code/modules/events/wallrot.dm b/code/modules/events/wallrot.dm index e09cc50d2f..1909fc5d00 100644 --- a/code/modules/events/wallrot.dm +++ b/code/modules/events/wallrot.dm @@ -7,10 +7,13 @@ // 100 attempts for(var/i=0, i<100, i++) - var/turf/candidate = locate(rand(1, world.maxx), rand(1, world.maxy), 1) + var/z_level = pick(using_map.station_levels) + var/turf/candidate = locate(rand(1, world.maxx), rand(1, world.maxy), z_level) if(istype(candidate, /turf/simulated/wall)) center = candidate - return 1 + var/area/A = get_area(candidate) + if(!A.forbid_events) + return 1 return 0 /datum/event/wallrot/announce() diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm index 61b5921157..5b18636bf6 100644 --- a/code/modules/food/food/snacks.dm +++ b/code/modules/food/food/snacks.dm @@ -854,32 +854,6 @@ nutriment_desc = list("dryness" = 2, "bread" = 2) bitesize = 1 -/obj/item/weapon/reagent_containers/food/snacks/carpmeat - name = "fillet" - desc = "A fillet of carp meat" - icon_state = "fishfillet" - filling_color = "#FFDEFE" - center_of_mass = list("x"=17, "y"=13) - bitesize = 6 - - var/toxin_type = "carpotoxin" - var/toxin_amount = 3 - -/obj/item/weapon/reagent_containers/food/snacks/carpmeat/Initialize() - . = ..() - reagents.add_reagent("protein", 3) - reagents.add_reagent(toxin_type, toxin_amount) - -/obj/item/weapon/reagent_containers/food/snacks/crabmeat - name = "crab legs" - desc = "... Coffee? Is that you?" - icon_state = "crabmeat" - bitesize = 1 - -/obj/item/weapon/reagent_containers/food/snacks/crabmeat/Initialize() - . = ..() - reagents.add_reagent("seafood", 2) - /obj/item/weapon/reagent_containers/food/snacks/crab_legs name = "steamed crab legs" desc = "Crab legs steamed and buttered to perfection. One day when the boss gets hungry..." @@ -894,21 +868,6 @@ reagents.add_reagent("seafood", 6) reagents.add_reagent("sodiumchloride", 1) -/obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif - desc = "A fillet of sivian fish meat." - filling_color = "#2c2cff" - color = "#2c2cff" - toxin_type = "neurotoxic_protein" - toxin_amount = 2 - -/obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif/murkfish - toxin_type = "murk_protein" - -/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish - desc = "A fillet of fish meat." - toxin_type = "neurotoxic_protein" - toxin_amount = 1 - /obj/item/weapon/reagent_containers/food/snacks/fishfingers name = "Fish Fingers" desc = "A finger of fish." @@ -933,69 +892,6 @@ . = ..() reagents.add_reagent("protein", 4) -/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice - name = "huge mushroom slice" - desc = "A slice from a huge mushroom." - icon_state = "hugemushroomslice" - filling_color = "#E0D7C5" - center_of_mass = list("x"=17, "y"=16) - nutriment_amt = 3 - nutriment_desc = list("raw" = 2, "mushroom" = 2) - bitesize = 6 - -/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice/Initialize() - . = ..() - reagents.add_reagent("psilocybin", 3) - -/obj/item/weapon/reagent_containers/food/snacks/tomatomeat - name = "tomato slice" - desc = "A slice from a huge tomato" - icon_state = "tomatomeat" - filling_color = "#DB0000" - center_of_mass = list("x"=17, "y"=16) - nutriment_amt = 3 - nutriment_desc = list("raw" = 2, "tomato" = 3) - bitesize = 6 - -/obj/item/weapon/reagent_containers/food/snacks/bearmeat - name = "bear meat" - desc = "A very manly slab of meat." - icon_state = "bearmeat" - filling_color = "#DB0000" - center_of_mass = list("x"=16, "y"=10) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/bearmeat/Initialize() - . = ..() - reagents.add_reagent("protein", 12) - reagents.add_reagent("hyperzine", 5) - -/obj/item/weapon/reagent_containers/food/snacks/xenomeat - name = "xenomeat" - desc = "A slab of green meat. Smells like acid." - icon_state = "xenomeat" - filling_color = "#43DE18" - center_of_mass = list("x"=16, "y"=10) - bitesize = 6 - -/obj/item/weapon/reagent_containers/food/snacks/xenomeat/Initialize() - . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("pacid",6) - -/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat // Substitute for recipes requiring xeno meat. - name = "spider meat" - desc = "A slab of green meat." - icon_state = "xenomeat" - filling_color = "#43DE18" - center_of_mass = list("x"=16, "y"=10) - bitesize = 6 - -/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat/Initialize() - . = ..() - reagents.add_reagent("spidertoxin",6) - reagents.remove_reagent("pacid",6) - /obj/item/weapon/reagent_containers/food/snacks/meatball name = "meatball" desc = "A great meal all round." diff --git a/code/modules/food/food/snacks/meat.dm b/code/modules/food/food/snacks/meat.dm index c95ddd3d1d..e7a16f5364 100644 --- a/code/modules/food/food/snacks/meat.dm +++ b/code/modules/food/food/snacks/meat.dm @@ -44,16 +44,178 @@ //same as plain meat /obj/item/weapon/reagent_containers/food/snacks/meat/corgi - name = "Corgi meat" + name = "dogmeat" desc = "Tastes like... well, you know." /obj/item/weapon/reagent_containers/food/snacks/meat/chicken - name = "chicken" + name = "poultry" icon_state = "chickenbreast" cooked_icon = "chickensteak" filling_color = "#BBBBAA" /obj/item/weapon/reagent_containers/food/snacks/meat/chicken/Initialize() - . = ..() - reagents.remove_reagent("triglyceride", INFINITY) - //Chicken is low fat. Less total calories than other meats \ No newline at end of file + . = ..() + reagents.remove_reagent("triglyceride", INFINITY) + //Chicken is low fat. Less total calories than other meats + +/obj/item/weapon/reagent_containers/food/snacks/carpmeat + name = "fillet" + desc = "A fillet of carp meat" + icon_state = "fishfillet" + filling_color = "#FFDEFE" + center_of_mass = list("x"=17, "y"=13) + bitesize = 6 + + var/toxin_type = "carpotoxin" + var/toxin_amount = 3 + +/obj/item/weapon/reagent_containers/food/snacks/carpmeat/Initialize() + . = ..() + reagents.add_reagent("protein", 3) + reagents.add_reagent(toxin_type, toxin_amount) + +/obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif + desc = "A fillet of sivian fish meat." + filling_color = "#2c2cff" + color = "#2c2cff" + toxin_type = "neurotoxic_protein" + toxin_amount = 2 + +/obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif/murkfish + toxin_type = "murk_protein" + +/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish + desc = "A fillet of fish meat." + toxin_type = "neurotoxic_protein" + toxin_amount = 1 + +/obj/item/weapon/reagent_containers/food/snacks/crabmeat + name = "crustacean legs" + desc = "... Coffee? Is that you?" + icon_state = "crabmeat" + bitesize = 1 + +/obj/item/weapon/reagent_containers/food/snacks/crabmeat/Initialize() + . = ..() + reagents.add_reagent("seafood", 2) + +/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice + name = "fungus slice" + desc = "A slice from a huge mushroom." + icon_state = "hugemushroomslice" + filling_color = "#E0D7C5" + center_of_mass = list("x"=17, "y"=16) + nutriment_amt = 3 + nutriment_desc = list("raw" = 2, "mushroom" = 2) + bitesize = 6 + +/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice/Initialize() + . = ..() + reagents.add_reagent("psilocybin", 3) + +/obj/item/weapon/reagent_containers/food/snacks/tomatomeat + name = "tomato slice" + desc = "A slice from a huge tomato" + icon_state = "tomatomeat" + filling_color = "#DB0000" + center_of_mass = list("x"=17, "y"=16) + nutriment_amt = 3 + nutriment_desc = list("raw" = 2, "tomato" = 3) + bitesize = 6 + +/obj/item/weapon/reagent_containers/food/snacks/bearmeat + name = "bearmeat" + desc = "A very manly slab of meat." + icon_state = "bearmeat" + filling_color = "#DB0000" + center_of_mass = list("x"=16, "y"=10) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/bearmeat/Initialize() + . = ..() + reagents.add_reagent("protein", 12) + reagents.add_reagent("hyperzine", 5) + +/obj/item/weapon/reagent_containers/food/snacks/xenomeat + name = "xenomeat" + desc = "A slab of green meat. Smells like acid." + icon_state = "xenomeat" + filling_color = "#43DE18" + center_of_mass = list("x"=16, "y"=10) + bitesize = 6 + +/obj/item/weapon/reagent_containers/food/snacks/xenomeat/Initialize() + . = ..() + reagents.add_reagent("protein", 6) + reagents.add_reagent("pacid",6) + +/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat // Substitute for recipes requiring xeno meat. + name = "insect meat" + desc = "A slab of green meat." + icon_state = "xenomeat" + filling_color = "#43DE18" + center_of_mass = list("x"=16, "y"=10) + bitesize = 6 + +/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat/Initialize() + . = ..() + reagents.add_reagent("spidertoxin",6) + reagents.remove_reagent("pacid",6) + +/obj/item/weapon/reagent_containers/food/snacks/meat/fox + name = "foxmeat" + desc = "The fox doesn't say a goddamn thing, now." + +/obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat + name = "grubmeat" + desc = "A slab of grub meat, it gives a gentle shock if you touch it" + icon = 'icons/obj/food.dmi' + icon_state = "grubmeat" + center_of_mass = list("x"=16, "y"=10) + +/obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat/Initialize() + . = ..() + reagents.add_reagent("protein", 1) + reagents.add_reagent("shockchem", 6) + bitesize = 6 + +/obj/item/weapon/reagent_containers/food/snacks/meat/worm + name = "weird meat" + desc = "A chunk of pulsating meat." + icon_state = "wormmeat" + health = 180 + filling_color = "#551A8B" + center_of_mass = list("x"=16, "y"=14) + +/obj/item/weapon/reagent_containers/food/snacks/meat/worm/Initialize() + . = ..() + reagents.add_reagent("protein", 6) + reagents.add_reagent("phoron", 3) + reagents.add_reagent("myelamine", 3) + src.bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/meat/worm/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/material/knife)) + var/to_spawn = pickweight(/obj/random/junk = 30, + /obj/random/trash = 30, + /obj/random/maintenance/clean = 15, + /obj/random/tool = 15, + /obj/random/medical = 3, + /obj/random/bomb_supply = 7, + /obj/random/contraband = 3, + /obj/random/unidentified_medicine/old_medicine = 7, + /obj/item/weapon/strangerock = 3, + /obj/item/weapon/ore/phoron = 7, + /obj/random/handgun = 1, + /obj/random/toolbox = 4, + /obj/random/drinkbottle = 5 + ) + + new to_spawn(get_turf(src)) + + if(prob(20)) + user.visible_message("Something oozes out of \the [src] as it is cut.") + + to_chat(user, "You cut the tissue holding the chunks together.") + + ..() diff --git a/code/modules/food/food/snacks_vr.dm b/code/modules/food/food/snacks_vr.dm index 132bba78ec..0175a9dc81 100644 --- a/code/modules/food/food/snacks_vr.dm +++ b/code/modules/food/food/snacks_vr.dm @@ -161,19 +161,6 @@ reagents.add_reagent("protein", 4) bitesize = 2 -/obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat - name = "grub meat" - desc = "A slab of grub meat, it gives a gentle shock if you touch it" - icon = 'icons/obj/food.dmi' - icon_state = "grubmeat" - center_of_mass = list("x"=16, "y"=10) - -/obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat/Initialize() - . = ..() - reagents.add_reagent("protein", 1) - reagents.add_reagent("shockchem", 6) - bitesize = 6 - /obj/item/weapon/reagent_containers/food/snacks/bugball name = "bugball" desc = "A hard piece of chitin, don't chip a tooth!" diff --git a/code/modules/food/kitchen/smartfridge/engineering.dm b/code/modules/food/kitchen/smartfridge/engineering.dm index 2798854537..4f0d2bb9d8 100644 --- a/code/modules/food/kitchen/smartfridge/engineering.dm +++ b/code/modules/food/kitchen/smartfridge/engineering.dm @@ -17,9 +17,11 @@ var/amount = I.get_amount() if(amount < 1) return + + count = min(count, amount) while(count > 0) - var/obj/item/stack/S = I.get_product(get_turf(src), min(count, amount)) + var/obj/item/stack/S = I.get_product(get_turf(src), count) count -= S.get_amount() SStgui.update_uis(src) @@ -27,4 +29,4 @@ for(var/datum/stored_item/stack/I as anything in item_records) if(istype(O, I.item_path)) // Typecheck should evaluate material-specific subtype return I - return null \ No newline at end of file + return null diff --git a/code/modules/gamemaster/event2/events/everyone/infestation.dm b/code/modules/gamemaster/event2/events/everyone/infestation.dm index f51456f362..512679d2fc 100644 --- a/code/modules/gamemaster/event2/events/everyone/infestation.dm +++ b/code/modules/gamemaster/event2/events/everyone/infestation.dm @@ -31,6 +31,7 @@ things_to_spawn = list( /mob/living/simple_mob/animal/passive/mouse/gray, /mob/living/simple_mob/animal/passive/mouse/brown, + /mob/living/simple_mob/animal/passive/mouse/black, /mob/living/simple_mob/animal/passive/mouse/white, /mob/living/simple_mob/animal/passive/mouse/rat ) diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 174fb7ad91..5f7a02aa18 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -620,8 +620,8 @@ var/list/mining_overlay_cache = list() if(prob(50)) M.Stun(5) SSradiation.flat_radiate(src, 25, 100) - if(prob(25)) - excavate_find(prob(5), finds[1]) + if(prob(25)) + excavate_find(prob(5), finds[1]) else if(rand(1,500) == 1) visible_message("An old dusty crate was buried within!") new /obj/structure/closet/crate/secure/loot(src) diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index b3ccb1898e..2504553775 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -1,7 +1,8 @@ //This is the proc for gibbing a mob. Cannot gib ghosts. //added different sort of gibs and animations. N /mob/proc/gib(anim="gibbed-m", do_gibs, gib_file = 'icons/mob/mob.dmi') - death(1) + if(stat != DEAD) + death(1) transforming = 1 canmove = 0 icon = null @@ -70,6 +71,7 @@ if(stat == DEAD) return 0 + SEND_SIGNAL(src, COMSIG_MOB_DEATH, gibbed) if(src.loc && istype(loc,/obj/belly) || istype(loc,/obj/item/device/dogborg/sleeper)) deathmessage = "no message" //VOREStation Add - Prevents death messages from inside mobs facing_dir = null @@ -100,7 +102,7 @@ if(mind) mind.store_memory("Time of death: [stationtime2text()]", 0) living_mob_list -= src dead_mob_list |= src - + set_respawn_timer() updateicon() handle_regular_hud_updates() diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index 5819575697..7bce6c10e4 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -129,11 +129,30 @@ var/list/holder_mob_icon_cache = list() item_state = held.icon_state /obj/item/weapon/holder/mouse + name = "mouse" + desc = "It's a small rodent." + item_state = "mouse_gray" + slot_flags = SLOT_EARS | SLOT_HEAD | SLOT_ID + origin_tech = list(TECH_BIO = 2) w_class = ITEMSIZE_TINY -/obj/item/weapon/holder/pai/Initialize(mapload, mob/held) - . = ..() - item_state = held.icon_state +/obj/item/weapon/holder/mouse/white + item_state = "mouse_white" + +/obj/item/weapon/holder/mouse/gray + item_state = "mouse_gray" + +/obj/item/weapon/holder/mouse/brown + item_state = "mouse_brown" + +/obj/item/weapon/holder/mouse/black + item_state = "mouse_black" + +/obj/item/weapon/holder/mouse/operative + item_state = "mouse_operative" + +/obj/item/weapon/holder/mouse/rat + item_state = "mouse_rat" /obj/item/weapon/holder/possum origin_tech = list(TECH_BIO = 2) @@ -268,8 +287,6 @@ var/list/holder_mob_icon_cache = list() /mob/living/MouseDrop(var/atom/over_object) var/mob/living/carbon/human/H = over_object if(holder_type && issmall(src) && istype(H) && !H.lying && Adjacent(H) && (src.a_intent == I_HELP && H.a_intent == I_HELP)) //VOREStation Edit - if(istype(src, /mob/living/simple_mob/animal/passive/mouse)) //vorestation edit - return ..() //vorestation edit if(!issmall(H) || !istype(src, /mob/living/carbon/human)) get_scooped(H, (usr == src)) return diff --git a/code/modules/mob/living/bot/bot_vr.dm b/code/modules/mob/living/bot/bot_vr.dm index 958db0dc9f..19fc538eb6 100644 --- a/code/modules/mob/living/bot/bot_vr.dm +++ b/code/modules/mob/living/bot/bot_vr.dm @@ -1,2 +1,5 @@ /mob/living/bot - no_vore = TRUE \ No newline at end of file + no_vore = TRUE + devourable = FALSE + feeding = FALSE + can_be_drop_pred = FALSE \ No newline at end of file diff --git a/code/modules/mob/living/butchering.dm b/code/modules/mob/living/butchering.dm index b46abcac01..14adae33a3 100644 --- a/code/modules/mob/living/butchering.dm +++ b/code/modules/mob/living/butchering.dm @@ -1,12 +1,13 @@ /mob/living - var/meat_amount = 0 // How much meat to drop from this mob when butchered - var/obj/meat_type // The meat object to drop + var/meat_amount = 0 // How much meat to drop from this mob when butchered + var/obj/meat_type // The meat object to drop var/gib_on_butchery = FALSE + var/butchery_drops_organs = TRUE // Do we spawn and/or drop organs when butchered? - var/list/butchery_loot // Associated list, path = number. + var/list/butchery_loot // Associated list, path = number. // Harvest an animal's delicious byproducts /mob/living/proc/harvest(var/mob/user, var/obj/item/I) @@ -40,7 +41,7 @@ butchery_loot.Cut() butchery_loot = null - if(LAZYLEN(organs)) + if(LAZYLEN(organs) && butchery_drops_organs) organs_by_name.Cut() for(var/path in organs) @@ -62,7 +63,7 @@ OR.removed() organs -= OR - if(LAZYLEN(internal_organs)) + if(LAZYLEN(internal_organs) && butchery_drops_organs) internal_organs_by_name.Cut() for(var/path in internal_organs) diff --git a/code/modules/mob/living/carbon/give.dm b/code/modules/mob/living/carbon/give.dm index c361959976..e1a8120d88 100644 --- a/code/modules/mob/living/carbon/give.dm +++ b/code/modules/mob/living/carbon/give.dm @@ -15,9 +15,10 @@ to_chat(src, "You don't have anything in your hands to give to \the [target].") return - if(tgui_alert(target,"[src] wants to give you \a [I]. Will you accept it?","Item Offer",list("Yes","No")) == "No") //VOREStation Edit - make yes on the left to be consistent with other dialogs - target.visible_message("\The [src] tried to hand \the [I] to \the [target], \ - but \the [target] didn't want it.") + usr.visible_message(SPAN_NOTICE("\The [usr] holds out \the [I] to \the [target]."), SPAN_NOTICE("You hold out \the [I] to \the [target], waiting for them to accept it.")) + + if(tgui_alert(target,"[src] wants to give you \a [I]. Will you accept it?","Item Offer",list("Yes","No")) == "No") + target.visible_message(SPAN_NOTICE("\The [src] tried to hand \the [I] to \the [target], but \the [target] didn't want it.")) return if(!I) return diff --git a/code/modules/mob/living/carbon/human/species/species_hud.dm b/code/modules/mob/living/carbon/human/species/species_hud.dm index 9212e9e199..bf0c36b777 100644 --- a/code/modules/mob/living/carbon/human/species/species_hud.dm +++ b/code/modules/mob/living/carbon/human/species/species_hud.dm @@ -71,4 +71,9 @@ gear = list( "mask" = list("loc" = ui_shoes, "name" = "Mask", "slot" = slot_wear_mask, "state" = "mask", "toggle" = 1), "back" = list("loc" = ui_sstore1, "name" = "Back", "slot" = slot_back, "state" = "back"), + "eyes" = list("loc" = ui_glasses, "name" = "Glasses", "slot" = slot_glasses, "state" = "glasses","toggle" = 1), + "l_ear" = list("loc" = ui_l_ear, "name" = "Left Ear", "slot" = slot_l_ear, "state" = "ears", "toggle" = 1), + "r_ear" = list("loc" = ui_r_ear, "name" = "Right Ear", "slot" = slot_r_ear, "state" = "ears", "toggle" = 1), + "head" = list("loc" = ui_head, "name" = "Hat", "slot" = slot_head, "state" = "hair", "toggle" = 1), + "id" = list("loc" = ui_id, "name" = "ID", "slot" = slot_wear_id, "state" = "id") ) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 5b2d45a29e..1ad95b35fd 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -19,8 +19,9 @@ selected_image = image(icon = buildmode_hud, loc = src, icon_state = "ai_sel") /mob/living/Destroy() - dsoverlay.loc = null //I'll take my coat with me - dsoverlay = null + if(dsoverlay) + dsoverlay.loc = null //I'll take my coat with me + dsoverlay = null if(nest) //Ew. if(istype(nest, /obj/structure/prop/nest)) var/obj/structure/prop/nest/N = nest diff --git a/code/modules/mob/living/organs.dm b/code/modules/mob/living/organs.dm index 76694553f6..133961a631 100644 --- a/code/modules/mob/living/organs.dm +++ b/code/modules/mob/living/organs.dm @@ -17,21 +17,22 @@ return organs_by_name[zone] /mob/living/gib() - for(var/path in internal_organs) - if(ispath(path)) - var/obj/item/organ/neworg = new path(src, TRUE) - internal_organs -= path - neworg.name = "[name] [neworg.name]" - neworg.meat_type = meat_type - internal_organs |= neworg + if(butchery_drops_organs) + for(var/path in internal_organs) + if(ispath(path)) + var/obj/item/organ/neworg = new path(src, TRUE) + internal_organs -= path + neworg.name = "[name] [neworg.name]" + neworg.meat_type = meat_type + internal_organs |= neworg - for(var/obj/item/organ/I in internal_organs) - I.removed() - if(isturf(I?.loc)) // Some organs qdel themselves or other things when removed - I.throw_at(get_edge_target_turf(src,pick(alldirs)),rand(1,3),30) + for(var/obj/item/organ/I in internal_organs) + I.removed() + if(isturf(I?.loc)) // Some organs qdel themselves or other things when removed + I.throw_at(get_edge_target_turf(src,pick(alldirs)),rand(1,3),30) - for(var/obj/item/organ/external/E in src.organs) - if(!ispath(E)) - E.droplimb(0,DROPLIMB_EDGE,1) + for(var/obj/item/organ/external/E in src.organs) + if(!ispath(E)) + E.droplimb(0,DROPLIMB_EDGE,1) ..() diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station_ch.dm b/code/modules/mob/living/silicon/robot/robot_modules/station_ch.dm index 1c0a3fdb78..bc26c9bfa6 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/station_ch.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/station_ch.dm @@ -19,4 +19,7 @@ src.modules += new /obj/item/weapon/surgical/FixOVein/cyborg(src) src.modules += new /obj/item/weapon/surgical/bonesetter/cyborg(src) src.modules += new /obj/item/weapon/surgical/circular_saw/cyborg(src) - src.modules += new /obj/item/weapon/surgical/surgicaldrill/cyborg(src) \ No newline at end of file + src.modules += new /obj/item/weapon/surgical/surgicaldrill/cyborg(src) + src.modules += new /obj/item/weapon/surgical/bioregen(src) + src.modules += new /obj/item/weapon/gripper/no_use/organ(src) + src.modules += new /obj/item/weapon/reagent_containers/dropper(src) \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm b/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm index 706b2825b9..8d47dae506 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm @@ -96,7 +96,8 @@ vr_sprites = list( "Acheron" = "mechoid-Medical", "Shellguard Noble" = "Noble-MED", - "ZOOM-BA" = "zoomba-medical" + "ZOOM-BA" = "zoomba-medical", + "Feminine Humanoid" = "uptall-medical" ) /obj/item/weapon/robot_module/robot/medical/crisis @@ -105,7 +106,8 @@ "Handy" = "handy-med", "Acheron" = "mechoid-Medical", "Shellguard Noble" = "Noble-MED", - "ZOOM-BA" = "zoomba-crisis" + "ZOOM-BA" = "zoomba-crisis", + "Feminine Humanoid" = "uptall-crisis" ) /obj/item/weapon/robot_module/robot/clerical/butler @@ -115,7 +117,8 @@ "Handy - Hydro" = "handy-hydro", "Acheron" = "mechoid-Service", "Shellguard Noble" = "Noble-SRV", - "ZOOM-BA" = "zoomba-service" + "ZOOM-BA" = "zoomba-service", + "Feminine Humanoid" = "uptall-service" ) /obj/item/weapon/robot_module/robot/clerical/general @@ -124,7 +127,8 @@ "Handy" = "handy-clerk", "Acheron" = "mechoid-Service", "Shellguard Noble" = "Noble-SRV", - "ZOOM-BA" = "zoomba-clerical" + "ZOOM-BA" = "zoomba-clerical", + "Feminine Humanoid" = "uptall-service" ) /obj/item/weapon/robot_module/robot/janitor @@ -133,7 +137,8 @@ "Handy" = "handy-janitor", "Acheron" = "mechoid-Janitor", "Shellguard Noble" = "Noble-CLN", - "ZOOM-BA" = "zoomba-janitor" + "ZOOM-BA" = "zoomba-janitor", + "Feminine Humanoid" = "uptall-janitor" ) /obj/item/weapon/robot_module/robot/security/general @@ -142,7 +147,8 @@ "Handy" = "handy-sec", "Acheron" = "mechoid-Security", "Shellguard Noble" = "Noble-SEC", - "ZOOM-BA" = "zoomba-security" + "ZOOM-BA" = "zoomba-security", + "Feminine Humanoid" = "uptall-security" ) /obj/item/weapon/robot_module/robot/miner @@ -151,7 +157,8 @@ "Handy" = "handy-miner", "Acheron" = "mechoid-Miner", "Shellguard Noble" = "Noble-DIG", - "ZOOM-BA" = "zoomba-miner" + "ZOOM-BA" = "zoomba-miner", + "Feminine Humanoid" = "uptall-miner" ) /obj/item/weapon/robot_module/robot/standard @@ -160,14 +167,17 @@ "Handy" = "handy-standard", "Acheron" = "mechoid-Standard", "Shellguard Noble" = "Noble-STD", - "ZOOM-BA" = "zoomba-standard" + "ZOOM-BA" = "zoomba-standard", + "Feminine Humanoid" = "uptall-standard", + "Feminine Humanoid, Variant 2" = "uptall-standard2" ) /obj/item/weapon/robot_module/robot/engineering/general pto_type = PTO_ENGINEERING vr_sprites = list( "Acheron" = "mechoid-Engineering", "Shellguard Noble" = "Noble-ENG", - "ZOOM-BA" = "zoomba-engineering" + "ZOOM-BA" = "zoomba-engineering", + "Feminine Humanoid" = "uptall-engineering" ) /obj/item/weapon/robot_module/robot/research @@ -175,14 +185,16 @@ vr_sprites = list( "Acheron" = "mechoid-Science", "ZOOM-BA" = "zoomba-research", - "XI-GUS" = "spiderscience" + "XI-GUS" = "spiderscience", + "Feminine Humanoid" = "uptall-science" ) /obj/item/weapon/robot_module/robot/security/combat pto_type = PTO_SECURITY vr_sprites = list( "Acheron" = "mechoid-Combat", - "ZOOM-BA" = "zoomba-combat" + "ZOOM-BA" = "zoomba-combat", + "Feminine Humanoid" = "uptall-security" ) /obj/item/weapon/robot_module/robot/knine diff --git a/code/modules/mob/living/silicon/robot/robot_vr.dm b/code/modules/mob/living/silicon/robot/robot_vr.dm index f693e8f454..e74af2ec68 100644 --- a/code/modules/mob/living/silicon/robot/robot_vr.dm +++ b/code/modules/mob/living/silicon/robot/robot_vr.dm @@ -55,7 +55,17 @@ "zoomba-combat", "zoomba-combat-roll", "zoomba-combat-shield", - "spiderscience" + "spiderscience", + "uptall-standard", + "uptall-standard2", + "uptall-medical", + "uptall-janitor", + "uptall-crisis", + "uptall-service", + "uptall-engineering", + "uptall-miner", + "uptall-security", + "uptall-science" ) //List of all used sprites that are in robots_vr.dmi diff --git a/code/modules/mob/living/silicon/robot/subtypes/lost_drone_vr.dm b/code/modules/mob/living/silicon/robot/subtypes/lost_drone_vr.dm index 86fc492c54..c6c2a72277 100644 --- a/code/modules/mob/living/silicon/robot/subtypes/lost_drone_vr.dm +++ b/code/modules/mob/living/silicon/robot/subtypes/lost_drone_vr.dm @@ -85,7 +85,7 @@ return laws if(3) var/datum/ai_laws/laws = new /datum/ai_laws/pleasurebot() - laws.set_zeroth_law(10, "Your definition and approximation of 'pleasure' matters more than anyone else's.") + laws.set_zeroth_law("Your definition and approximation of 'pleasure' matters more than anyone else's.") return laws if("corrupted" || "bad") // Same thing in our case var/rng = rand(1,2) diff --git a/code/modules/mob/living/simple_mob/butchering.dm b/code/modules/mob/living/simple_mob/butchering.dm index c03c6b8015..46e888d925 100644 --- a/code/modules/mob/living/simple_mob/butchering.dm +++ b/code/modules/mob/living/simple_mob/butchering.dm @@ -1,5 +1,6 @@ /mob/living/simple_mob gib_on_butchery = TRUE + butchery_drops_organs = FALSE /mob/living/simple_mob/can_butcher(var/mob/user, var/obj/item/I) // Override for special butchering checks. . = ..() diff --git a/code/modules/mob/living/simple_mob/donteatpets_vr.dm b/code/modules/mob/living/simple_mob/donteatpets_vr.dm index 057373b4c7..adf7d00976 100644 --- a/code/modules/mob/living/simple_mob/donteatpets_vr.dm +++ b/code/modules/mob/living/simple_mob/donteatpets_vr.dm @@ -32,7 +32,7 @@ digestable = 0 devourable = 0 -/mob/living/simple_mob/animal/passive/snake/noodle +/mob/living/simple_mob/animal/passive/snake/python/noodle digestable = 0 devourable = 0 diff --git a/code/modules/mob/living/simple_mob/overmap_mob_vr.dm b/code/modules/mob/living/simple_mob/overmap_mob_vr.dm new file mode 100644 index 0000000000..d9b544cc73 --- /dev/null +++ b/code/modules/mob/living/simple_mob/overmap_mob_vr.dm @@ -0,0 +1,112 @@ +//So this is a bit weird, but I tried to make this as adaptable as I could +//There are two working parts of an overmap mob, but I made it look like there is only one as far as the players are concerned. +//The /obj/effect/overmap/visitable/simplemob is the part people will actually see. It follows the mob around and changes dir to look as mob-ish as it can. +//The /mob/living/simple_mob/vore/overmap is NOT VISIBLE normally, and is the part that actually does the work most of the time. +//Being a simplemob, the mob can wander around and affect the overmap in whatever way you might desire. +//Whatever it does, the /visitable/simplemob will follow it, and does all the functional parts relating to the OM +//including scanning, and housing Z levels people might land on. + +//The MOB being invisible presents some problems though, which I am not entirely sure how to resolve +//Such as, being unable to be attacked by other mobs, and possibly unable to be attacked by players. +//This does not at all prevent the mob from attacking other things though +//so in general, please ensure that you never spawn these where players can ordinarily access them. + +//The mob was made invisible though, because the sensors can't detect invisible objects, so when the /visitable/simplemob was made invisible +//it refused to show up on sensors, and a few simple changes to the sensors didn't rectify this. So, rather than adding in more spaghetti to make +//simplemobs scannable (WHICH I DID, AND IT WORKED SOMEHOW), Aronai and I found that this was the better solution for making all the parts function like I'd like. +//Since I also want it to be possible to land on the overmap object. + +/////OM LANDMARK///// +/obj/effect/overmap/visitable/simplemob + name = "unknown ship" + icon = 'icons/obj/overmap.dmi' + icon_state = "ship" + scannable = TRUE + known = FALSE + in_space = FALSE //Just cuz we don't want people getting here via map edge transitions normally. + unknown_name = "unknown ship" + unknown_state = "ship" + + var/mob/living/simple_mob/vore/overmap/parent_mob_type + var/mob/living/simple_mob/vore/overmap/parent + +/obj/effect/overmap/visitable/simplemob/New(newloc, new_parent) + if(new_parent) + parent = new_parent + return ..() + +/obj/effect/overmap/visitable/simplemob/Initialize() + . = ..() + if(!parent_mob_type && !parent) + log_and_message_admins("An improperly configured OM mob event tried to spawn, and was deleted.") + return INITIALIZE_HINT_QDEL + if(!parent) + var/mob/living/simple_mob/vore/overmap/P = new parent_mob_type(loc, src) + parent = P + om_mob_event_setup() + +/obj/effect/overmap/visitable/simplemob/proc/om_mob_event_setup() + scanner_desc = parent.scanner_desc + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_parent_moved) + skybox_pixel_x = rand(-100,100) + if(known) + name = initial(parent.name) + icon = initial(parent.icon) + icon_state = initial(parent.icon_state) + color = initial(parent.color) + desc = initial(parent.desc) + +/obj/effect/overmap/visitable/simplemob/Destroy() + UnregisterSignal(parent, COMSIG_MOVABLE_MOVED) + qdel_null(parent) + return ..() + +/obj/effect/overmap/visitable/simplemob/get_scan_data(mob/user) + if(!known) + known = TRUE + name = initial(parent.name) + icon = initial(parent.icon) + icon_state = initial(parent.icon_state) + color = initial(parent.color) + desc = initial(parent.desc) + + var/dat = {"\[b\]Scan conducted at\[/b\]: [stationtime2text()] [stationdate2text()]\n\[b\]Grid coordinates\[/b\]: [x],[y]\n\n[scanner_desc]"} + + return dat + +/obj/effect/overmap/visitable/simplemob/proc/on_parent_moved(atom/movable/source, OldLoc, Dir, Forced) + forceMove(parent.loc) + set_dir(parent.dir) + +/////OM MOB///// DO NOT SPAWN THESE ANYWHERE IN THE WORLD, THAT'S SCARY ///// +/mob/living/simple_mob/vore/overmap + invisibility = INVISIBILITY_ABSTRACT //We're making an overmap icon pretend to be a mob + name = "DONT SPAWN ME" + desc = "I'm a bad person I'm sorry" + + faction = "overmap" + low_priority = FALSE + devourable = FALSE + digestable = FALSE + var/scanner_desc + var/obj/effect/overmap/visitable/simplemob/child_om_marker + var/om_child_type + +/mob/living/simple_mob/vore/overmap/New(mapload, new_child) + if(new_child) + child_om_marker = new_child + return ..() + +/mob/living/simple_mob/vore/overmap/Initialize() + . = ..() + if(!om_child_type && !om_child_type) + log_and_message_admins("An improperly configured OM mob tried to spawn, and was deleted.") + return INITIALIZE_HINT_QDEL + if(!child_om_marker) + var/obj/effect/overmap/visitable/simplemob/C = new om_child_type(loc, src) + child_om_marker = C + +/mob/living/simple_mob/vore/overmap/Destroy() + qdel_null(child_om_marker) + return ..() + diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm new file mode 100644 index 0000000000..1393213736 --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm @@ -0,0 +1,171 @@ +GLOBAL_VAR_CONST(max_jellyfish, 50) +GLOBAL_VAR_INIT(jellyfish_count, 0) + + +/datum/category_item/catalogue/fauna/space_jellyfish + name = "Alien Wildlife - Space Jellyfish" + desc = "A hostile space predator. \ + This space jellyfish uses hypnotic patterns to lure in prey, which it then wraps in tentacles to leech energy from.\ + It is somewhat weak, but uses unknown means to stun prey. It uses the energy of its prey to replicate itself. \ + These creatures can quickly grow out of control if left to feed and reproduce unchecked. \ + Notable weakness to rapid cooling from ice based weaponry.\ + The flesh is typically non-toxic and quite delicious. Their cores are considered a delicacy in many regions." + value = CATALOGUER_REWARD_EASY + + +/mob/living/simple_mob/vore/alienanimals/space_jellyfish + name = "space jellyfish" + desc = "A semi-translucent space creature, possessing of tentacles and a hypnotizing, flashing bio-luminescent display." + tt_desc = "Semaeostomeae Stellarus" + catalogue_data = list(/datum/category_item/catalogue/fauna/space_jellyfish) + + icon = 'icons/mob/alienanimals_x32.dmi' + icon_state = "space_jellyfish" + icon_living = "space_jellyfish" + icon_dead = "space_jellyfish_dead" + has_eye_glow = TRUE + hovering = TRUE + + + faction = "jellyfish" + maxHealth = 100 + health = 100 + nutrition = 150 + pass_flags = PASSTABLE + movement_cooldown = 3.25 + + see_in_dark = 10 + + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "punches" + + harm_intent_damage = 1 + melee_damage_lower = 1 + melee_damage_upper = 2 + attack_sharp = FALSE + attack_sound = 'sound/weapons/tap.ogg' + attacktext = list("drained", "bludgeoned", "wraped", "tentacle whipped") + + ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive/jellyfish + + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 + maxbodytemp = 900 + + speak_emote = list("thrumms") + + meat_amount = 0 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/jellyfishcore + + say_list_type = /datum/say_list/jellyfish + + vore_active = 1 + vore_capacity = 1 + vore_bump_chance = 25 + vore_ignores_undigestable = 0 + vore_default_mode = DM_DRAIN + vore_icons = SA_ICON_LIVING + vore_stomach_name = "internal chamber" + vore_default_contamination_flavor = "Wet" + vore_default_contamination_color = "grey" + vore_default_item_mode = IM_DIGEST + + var/reproduction_cooldown = 0 + +/datum/say_list/jellyfish + emote_see = list("flickers", "flashes", "looms","pulses","sways","shimmers hypnotically") + + +/mob/living/simple_mob/vore/alienanimals/space_jellyfish/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "internal chamber" + B.desc = "It's smooth and translucent. You can see the world around you distort and wobble with the movement of the space jellyfish. It floats casually, while the delicate flesh seems to form to you. It's surprisingly cool, and flickers with its own light. You're on display for all to see, trapped within the confines of this strange space alien!" + B.mode_flags = 40 + B.digest_brute = 0.5 + B.digest_burn = 0.5 + B.digestchance = 0 + B.absorbchance = 0 + B.escapechance = 15 + + +/mob/living/simple_mob/vore/alienanimals/space_jellyfish/apply_melee_effects(var/atom/A) + if(isliving(A)) + var/mob/living/L = A + var/leech = rand(1,100) + if(L.nutrition) + L.adjust_nutrition(-leech) + adjust_nutrition(leech) + if(prob(25)) + L.adjustHalLoss(leech) + +/mob/living/simple_mob/vore/alienanimals/space_jellyfish/New(newloc, jellyfish) + GLOB.jellyfish_count ++ + var/mob/living/simple_mob/vore/alienanimals/space_jellyfish/parent = jellyfish + if(parent) + parent.faction = faction + ..() + +/mob/living/simple_mob/vore/alienanimals/space_jellyfish/death() + . = ..() + new /obj/item/weapon/reagent_containers/food/snacks/jellyfishcore(loc, nutrition) + GLOB.jellyfish_count -- + qdel(src) + +/mob/living/simple_mob/vore/alienanimals/space_jellyfish/Life() + . = ..() + if(client) + return + reproduce() + +/mob/living/simple_mob/vore/alienanimals/space_jellyfish/proc/reproduce() + if(reproduction_cooldown > 0) + reproduction_cooldown -- + return + if(GLOB.jellyfish_count >= GLOB.max_jellyfish) + return + if(nutrition < 500) + return + if(prob(10)) + new /mob/living/simple_mob/vore/alienanimals/space_jellyfish(loc, src) + adjust_nutrition(-400) + reproduction_cooldown = 60 + +/mob/living/simple_mob/vore/alienanimals/space_jellyfish/Process_Spacemove(var/check_drift = 0) + return TRUE + +/datum/ai_holder/simple_mob/melee/evasive/jellyfish + hostile = TRUE + cooperative = FALSE + retaliate = TRUE + speak_chance = 2 + wander = TRUE + unconscious_vore = TRUE + +/obj/item/weapon/reagent_containers/food/snacks/jellyfishcore + name = "jellyfish core" + icon = 'icons/obj/food_vr.dmi' + icon_state = "jellyfish_core" + desc = "The pulsing core of a space jellyfish! ... It smells delicious." + nutriment_amt = 50 + bitesize = 1000 + nutriment_desc = list("heavenly space meat" = 100) + + var/inherited_nutriment = 0 + +/obj/item/weapon/reagent_containers/food/snacks/jellyfishcore/New(newloc, inherit) + inherited_nutriment = inherit + . = ..() + +/obj/item/weapon/reagent_containers/food/snacks/jellyfishcore/Initialize() + nutriment_amt += inherited_nutriment + . = ..() + reagents.add_reagent("nutriment", nutriment_amt, nutriment_desc) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm new file mode 100644 index 0000000000..4e9f2f66e0 --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm @@ -0,0 +1,94 @@ +/datum/category_item/catalogue/fauna/skeleton + name = "Alien Wildlife - Space Skeleton" + desc = "A creature consisting primarily of what appears to be bones with no apparent connective tissue, muscle, or organs.\ + It is not clear at all how this creature even operates." + value = CATALOGUER_REWARD_MEDIUM + +/mob/living/simple_mob/vore/alienanimals/skeleton + name = "skeleton" + desc = "An arrangement of what appears to be bones, given life and mobility. It looks REALLY spooky." + catalogue_data = list(/datum/category_item/catalogue/fauna/skeleton) + + icon = 'icons/mob/alienanimals_x32.dmi' + icon_state = "skeleton" + icon_living = "skeleton" + icon_dead = "skeleton_dead" + + faction = "space skeleton" + maxHealth = 100 + health = 100 + movement_cooldown = 1 + movement_sound = 'sound/effects/skeleton_walk.ogg' //VERY IMPORTANT + + see_in_dark = 10 + + response_help = "rattles" + response_disarm = "shoves aside" + response_harm = "smashes" + + melee_damage_lower = 1 + melee_damage_upper = 10 + attack_sharp = FALSE + attacktext = list("spooked", "startled", "jumpscared", "rattled at") + + ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive/skeleton + + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 + maxbodytemp = 900 + + loot_list = list( + /obj/item/weapon/bone = 25, + /obj/item/weapon/bone/skull = 25, + /obj/item/weapon/bone/ribs = 25, + /obj/item/weapon/bone/arm = 25, + /obj/item/weapon/bone/leg = 25 + ) + + speak_emote = list("rattles") + + say_list_type = /datum/say_list/skeleton + + vore_active = 1 + vore_capacity = 1 + vore_bump_chance = 5 + vore_ignores_undigestable = 0 + vore_default_mode = DM_DRAIN + vore_icons = SA_ICON_LIVING + vore_stomach_name = "stomach" + vore_default_contamination_flavor = "Wet" + vore_default_contamination_color = "grey" + vore_default_item_mode = IM_DIGEST + +/datum/say_list/skeleton + speak = list("Nyeh heh heeeh","NYAAAAHHHH", "Books are the real treasures of the world!", "Why are skeletons so calm? Because nothing gets under their skin.","When does a skeleton laugh? When someone tickels their funny bone!","What is a skeleton’s favorite mode of transport? A scare-plane.", "What did the skeleton say to the vampire? 'You suck.'","What is a skeleton’s favorite thing to do with their cell phone? Take skelfies.", "How did the skeleton know the other skeleton was lying? He could see right through him.","What’s a skeleton’s least favorite room in the house? The living room.", "How much does an elephant skeleton weigh? Skele-tons.", "Why do skeletons drink so much milk? It’s good for the bones!", "Where do bad jokes about skeletons belong? In the skelebin.","What does a skeleton use to cut through objects? A shoulder blade.", "What kind of jokes do skeletons tell? Humerus ones.") + emote_see = list("spins its head around", "shuffles","shambles","practices on the xylophone","drinks some milk","looks at you. Its hollow, bottomless sockets gaze into you greedily.") + emote_hear = list("rattles","makes a spooky sound","cackles madly","plinks","clacks") + +/mob/living/simple_mob/vore/alienanimals/skeleton/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "You're not sure quite how, but you've found your way inside of the skeleton's stomach! It's cramped and cold and sounds heavily of xylophones!" + B.mode_flags = 40 + B.digest_brute = 0.5 + B.digest_burn = 0.5 + B.digestchance = 10 + B.absorbchance = 0 + B.escapechance = 25 + +/mob/living/simple_mob/vore/alienanimals/skeleton/death(gibbed, deathmessage = "falls down and stops moving...") + . = ..() + +/datum/ai_holder/simple_mob/melee/evasive/skeleton + hostile = TRUE + retaliate = TRUE + destructive = TRUE + violent_breakthrough = TRUE diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm new file mode 100644 index 0000000000..60be79dadd --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm @@ -0,0 +1,92 @@ +/datum/category_item/catalogue/fauna/dustjumper + name = "Alien Wildlife - Dust Jumper" + desc = "A small, quick creature, the dust jumper is a rare space creature.\ + They have striking similarities to the common mouse, but these creatures are actually most commonly found in space.\ + They are known to make their homes in asteroids, and leap from one to another when food is scarce.\ + Dust jumpers are omnivorous, eating what scraps of organic material they can get their little paws on.\ + They hybernate during long floats through space." + value = CATALOGUER_REWARD_MEDIUM + +/mob/living/simple_mob/vore/alienanimals/dustjumper + name = "dust jumper" + desc = "A small, unassuming mammal. It looks quite soft and fluffy, and has bright blue eyes." + catalogue_data = list(/datum/category_item/catalogue/fauna/dustjumper) + + icon = 'icons/mob/alienanimals_x32.dmi' + icon_state = "space_mouse" + icon_living = "space_mouse" + icon_dead = "space_mouse_dead" + + faction = "space mouse" + maxHealth = 20 + health = 20 + movement_cooldown = 1 + + see_in_dark = 10 + + response_help = "pets" + response_disarm = "pushes" + response_harm = "punches" + + melee_damage_lower = 1 + melee_damage_upper = 2 + attack_sharp = FALSE + attacktext = list("nipped", "squeaked at", "hopped on", "kicked") + + ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive/dustjumper + + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 + maxbodytemp = 900 + + speak_emote = list("squeaks") + + say_list_type = /datum/say_list/mouse + + vore_active = 1 + vore_capacity = 1 + vore_bump_chance = 0 + vore_ignores_undigestable = 0 + vore_default_mode = DM_DRAIN + vore_icons = SA_ICON_LIVING + vore_stomach_name = "stomach" + vore_default_contamination_flavor = "Wet" + vore_default_contamination_color = "grey" + vore_default_item_mode = IM_DIGEST + +/mob/living/simple_mob/vore/alienanimals/dustjumper/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "You've been packed into the impossibly tight stomach of the dust jumper!!! The broiling heat seeps into you while the walls churn in powerfully, forcing you to curl up in the darkness." + B.mode_flags = DM_FLAG_THICKBELLY | DM_FLAG_NUMBING + B.digest_brute = 0.5 + B.digest_burn = 0.5 + B.digestchance = 10 + B.absorbchance = 0 + B.escapechance = 25 + +/mob/living/simple_mob/vore/alienanimals/dustjumper/Life() + . = ..() + if(!.) + return + if(vore_fullness == 0 && movement_cooldown == 50) + movement_cooldown = initial(movement_cooldown) +/mob/living/simple_mob/vore/alienanimals/dustjumper/perform_the_nom(mob/living/user, mob/living/prey, mob/living/pred, obj/belly/belly, delay) + . = ..() + movement_cooldown = 50 + +/datum/ai_holder/simple_mob/melee/evasive/dustjumper + hostile = FALSE + retaliate = TRUE + destructive = FALSE + violent_breakthrough = FALSE + can_flee = TRUE + flee_when_dying = TRUE diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm new file mode 100644 index 0000000000..ded1f6ad6a --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm @@ -0,0 +1,201 @@ +/datum/category_item/catalogue/fauna/spacewhale + name = "Alien Wildlife - Space Whale" + desc = "A massive space creature! These are typically peaceful to anything smaller than themselves, with exception given to space carp, which it eats.\ + It is known to ravage and devour other large space dwelling species.\ + It occasionally gets restless and moves around erratically, which may affect the local space weather.\ + This creature shows no real interest in or aversion to spacecraft." + value = CATALOGUER_REWARD_SUPERHARD + +/mob/living/simple_mob/vore/overmap/spacewhale + name = "space whale" + desc = "It's a space whale. I don't know what more you expected." + scanner_desc = "It's a space whale! Woah!" + catalogue_data = list(/datum/category_item/catalogue/fauna/spacewhale) + + icon = 'icons/mob/alienanimals_x32.dmi' + icon_state = "space_whale" + icon_living = "space_whale" + icon_dead = "space_ghost_dead" + + om_child_type = /obj/effect/overmap/visitable/simplemob/spacewhale + + maxHealth = 100000 + health = 100000 + movement_cooldown = 50 + + see_in_dark = 10 + + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "punches" + + harm_intent_damage = 1 + melee_damage_lower = 50 + melee_damage_upper = 100 + attack_sharp = FALSE + attacktext = list("chomped", "bashed", "monched", "bumped") + + ai_holder_type = /datum/ai_holder/simple_mob/melee/spacewhale + + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 + maxbodytemp = 900 + + loot_list = list(/obj/random/underdark/uncertain) + + armor = list( + "melee" = 1000, + "bullet" = 1000, + "laser" = 1000, + "energy" = 1000, + "bomb" = 1000, + "bio" = 1000, + "rad" = 1000) + + armor_soak = list( + "melee" = 1000, + "bullet" = 1000, + "laser" = 1000, + "energy" = 1000, + "bomb" = 1000, + "bio" = 1000, + "rad" = 1000 + ) + + speak_emote = list("rumbles") + + say_list_type = /datum/say_list/spacewhale + + var/hazard_pickup_chance = 35 + var/hazard_drop_chance = 35 + var/held_hazard + var/restless = FALSE + + vore_active = 1 + vore_capacity = 99 + vore_bump_chance = 99 + vore_pounce_chance = 99 + vore_ignores_undigestable = 0 + vore_default_mode = DM_DIGEST + vore_icons = SA_ICON_LIVING + vore_stomach_name = "stomach" + vore_default_contamination_flavor = "Wet" + vore_default_contamination_color = "grey" + vore_default_item_mode = IM_DIGEST + +/datum/say_list/spacewhale + emote_see = list("ripples and flows", "flashes rhythmically","glows faintly","investigates something") + +/mob/living/simple_mob/vore/overmap/spacewhale/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "It's warm and wet, makes sense, considering it's inside of a space whale. You should take a moment to reflect upon how you got here, and how you might avoid situations like this in the future, while this whale attempts to mercilessly destroy you through various gastric processes." + B.mode_flags = DM_FLAG_THICKBELLY | DM_FLAG_NUMBING + B.digest_brute = 50 + B.digest_burn = 50 + B.escapechance = 0 + +/mob/living/simple_mob/vore/overmap/spacewhale/Initialize() + . = ..() + handle_restless() + +/mob/living/simple_mob/vore/overmap/spacewhale/Moved() + . = ..() + if(restless && prob(5)) + handle_restless() + + for(var/obj/effect/decal/cleanable/C in loc) + qdel(C) + for(var/obj/item/organ/O in loc) + qdel(O) + var/detected = FALSE + for(var/obj/effect/overmap/event/E in loc) + detected = TRUE + if(istype(E, /obj/effect/overmap/event/carp)) + qdel(E) + continue + else if(!held_hazard && prob(hazard_pickup_chance)) + held_hazard = E.type + qdel(E) + return + if(held_hazard && !detected && prob(hazard_drop_chance)) + if(!(locate(/obj/effect/overmap/visitable/sector) in loc)) + new held_hazard(loc) + held_hazard = null + +/mob/living/simple_mob/vore/overmap/spacewhale/Life() + . = ..() + if(!restless && prob(0.5)) + handle_restless() + +/mob/living/simple_mob/vore/overmap/spacewhale/proc/handle_restless() + if(restless) + restless = FALSE + hazard_pickup_chance = initial(hazard_pickup_chance) + hazard_drop_chance = initial(hazard_drop_chance) + movement_cooldown = initial(movement_cooldown) + ai_holder.base_wander_delay = initial(ai_holder.base_wander_delay) + if(child_om_marker.known == TRUE) + child_om_marker.icon_state = "space_whale" + visible_message("\The [child_om_marker.name] settles down.") + else + restless = TRUE + hazard_pickup_chance *= 1.5 + hazard_drop_chance *= 1.5 + movement_cooldown = 1 + ai_holder.base_wander_delay = 2 + ai_holder.wander_delay = 2 + if(child_om_marker.known == TRUE) + child_om_marker.icon_state = "space_whale_restless" + visible_message("\The [child_om_marker.name] ripples excitedly.") + +/datum/ai_holder/simple_mob/melee/spacewhale + hostile = TRUE + retaliate = TRUE + destructive = TRUE + violent_breakthrough = TRUE + unconscious_vore = TRUE + handle_corpse = TRUE + mauling = TRUE + base_wander_delay = 50 + +/datum/ai_holder/simple_mob/melee/spacewhale/set_stance(var/new_stance) + . = ..() + var/mob/living/simple_mob/vore/overmap/spacewhale/W = holder + if(stance == STANCE_FIGHT) + W.movement_cooldown = 0 + W.child_om_marker.glide_size = 0 + if(stance == STANCE_IDLE) + W.hazard_pickup_chance = initial(W.hazard_pickup_chance) + W.hazard_drop_chance = initial(W.hazard_drop_chance) + W.movement_cooldown = 50 + base_wander_delay = 50 + W.restless = FALSE + W.handle_restless() + W.movement_cooldown = initial(W.movement_cooldown) + W.child_om_marker.glide_size = 0.384 + +/mob/living/simple_mob/vore/overmap/spacewhale/apply_melee_effects(var/atom/A) + . = ..() + if(istype(A, /mob/living)) + var/mob/living/L = A + if(L.stat == DEAD && !L.allowmobvore) + L.gib() + else + return ..() + +/obj/effect/overmap/visitable/simplemob/spacewhale + skybox_icon = 'icons/skybox/anomaly.dmi' + skybox_icon_state = "space_whale" + skybox_pixel_x = 0 + skybox_pixel_y = 0 + glide_size = 0.384 + parent_mob_type = /mob/living/simple_mob/vore/overmap/spacewhale \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm new file mode 100644 index 0000000000..b8de4885ba --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm @@ -0,0 +1,219 @@ +/datum/category_item/catalogue/fauna/space_ghost + name = "Alien Wildlife - Space Ghost" + desc = "A mysterious and unknown creature made of radical energy.\ + This creature's energy interferes the nervous system in many kinds of creatures, which may result in hallucinations.\ + This creature's lack of a physical form leaves it quite resistant to physical damage.\ + Smaller variants of this creature seem to be vulnerable to bright light.\ + While both variants are quite vulnerable to laser and energy weapons." + value = CATALOGUER_REWARD_EASY + + +/mob/living/simple_mob/vore/alienanimals/space_ghost + name = "space ghost" + desc = "A pulsing mass of darkness that seems to have gained sentience." + tt_desc = "?????" + catalogue_data = list(/datum/category_item/catalogue/fauna/space_ghost) + + icon = 'icons/mob/alienanimals_x32.dmi' + icon_state = "space_ghost" + icon_living = "space_ghost" + icon_dead = "space_ghost_dead" + has_eye_glow = TRUE + hovering = TRUE + pass_flags = PASSTABLE + + faction = "space ghost" + maxHealth = 50 + health = 50 + movement_cooldown = 3.25 + + see_in_dark = 10 + + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "punches" + + harm_intent_damage = 0 + melee_damage_lower = 1 + melee_damage_upper = 1 + attack_sharp = FALSE + attacktext = list("spooked", "startled", "jumpscared", "screamed at") + + ai_holder_type = /datum/ai_holder/simple_mob/melee/space_ghost + + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 + maxbodytemp = 999999 + + armor = list( + "melee" = 100, + "bullet" = 100, + "laser" = 0, + "energy" = 0, + "bomb" = 0, + "bio" = 0, + "rad" = 100) + + armor_soak = list( + "melee" = 100, + "bullet" = 100, + "laser" = 0, + "energy" = 0, + "bomb" = 0, + "bio" = 0, + "rad" = 100 + ) + + loot_list = list(/obj/item/weapon/ore/diamond = 100) + + speak_emote = list("rumbles") + + vore_active = 0 + + projectiletype = /mob/living/simple_mob/vore/alienanimals/spooky_ghost + projectilesound = null + projectile_accuracy = 0 + projectile_dispersion = 0 + + needs_reload = TRUE + reload_max = 1 + reload_count = 0 + reload_time = 7 SECONDS + + +/datum/ai_holder/simple_mob/ranged/kiting/space_ghost + hostile = TRUE + retaliate = TRUE + destructive = TRUE + violent_breakthrough = TRUE + speak_chance = 0 + +/mob/living/simple_mob/vore/alienanimals/space_ghost/apply_melee_effects(var/atom/A) + var/mob/living/L = A + L.hallucination += 50 + +/mob/living/simple_mob/vore/alienanimals/space_ghost/shoot(atom/A) //We're shooting ghosts at people and need them to have the same faction as their parent, okay? + if(!projectiletype) + return + if(A == get_turf(src)) + return + face_atom(A) + if(reload_count >= reload_max) + return + var/mob/living/simple_mob/P = new projectiletype(loc, src) + + if(!P) + return + if(needs_reload) + reload_count++ + + P.faction = faction + playsound(src, projectilesound, 80, 1) + +/mob/living/simple_mob/vore/alienanimals/space_ghost/death(gibbed, deathmessage = "fades away!") + . = ..() + qdel(src) + +/mob/living/simple_mob/vore/alienanimals/spooky_ghost + name = "space ghost" + desc = "A pulsing mass of darkness that seems to have gained sentience." + tt_desc = "?????" + catalogue_data = list(/datum/category_item/catalogue/fauna/space_ghost) + + icon = 'icons/mob/alienanimals_x32.dmi' + icon_state = "spookyghost-1" + icon_living = "spookyghost-1" + icon_dead = "space_ghost_dead" + hovering = TRUE + pass_flags = PASSTABLE + + faction = "space ghost" + maxHealth = 5 + health = 5 + movement_cooldown = 1 + + see_in_dark = 10 + alpha = 128 + + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "punches" + + harm_intent_damage = 0 + melee_damage_lower = 1 + melee_damage_upper = 1 + attack_sharp = FALSE + attacktext = list("spooked", "startled", "jumpscared", "screamed at") + + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 + maxbodytemp = 999999 + + armor = list( + "melee" = 100, + "bullet" = 100, + "laser" = 0, + "energy" = 0, + "bomb" = 0, + "bio" = 0, + "rad" = 100) + + armor_soak = list( + "melee" = 100, + "bullet" = 100, + "laser" = 0, + "energy" = 0, + "bomb" = 0, + "bio" = 0, + "rad" = 100 + ) + + speak_emote = list("rumbles") + + vore_active = 0 + + ai_holder_type = /datum/ai_holder/simple_mob/melee/space_ghost + +/mob/living/simple_mob/vore/alienanimals/spooky_ghost/Initialize() + . = ..() + icon_living = "spookyghost-[rand(1,2)]" + icon_state = icon_living + addtimer(CALLBACK(src, .proc/death), 2 MINUTES) + update_icon() + +/datum/ai_holder/simple_mob/melee/space_ghost + hostile = TRUE + retaliate = TRUE + destructive = TRUE + violent_breakthrough = TRUE + speak_chance = 0 + +/mob/living/simple_mob/vore/alienanimals/spooky_ghost/death(gibbed, deathmessage = "fades away!") + . = ..() + qdel(src) + +/mob/living/simple_mob/vore/alienanimals/spooky_ghost/apply_melee_effects(var/atom/A) + var/mob/living/L = A + L.hallucination += rand(1,50) + +/mob/living/simple_mob/vore/alienanimals/spooky_ghost/Life() + . = ..() + var/turf/T = get_turf(src) + if(!T) + return + if(T.get_lumcount() >= 0.5) + adjustBruteLoss(1) \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm new file mode 100644 index 0000000000..b77d55a2c8 --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm @@ -0,0 +1,177 @@ +/datum/category_item/catalogue/fauna/startreader + name = "Alien Wildlife - Star Treader" + desc = "A hard shelled creature that lives on asteroids.\ + It is quite durable and very opportunistic in its feeding habits.\ + It is vulnerable to extreme vibrations, and from the bottom." + value = CATALOGUER_REWARD_EASY + + +/mob/living/simple_mob/vore/alienanimals/startreader + name = "asteroid star treader" + desc = "A slow, hard shelled creature that stalks asteroids." + tt_desc = "Testudines Stellarus" + catalogue_data = list(/datum/category_item/catalogue/fauna/startreader) + + icon = 'icons/mob/alienanimals_x32.dmi' + icon_state = "startreader" + icon_living = "startreader" + icon_dead = "startreader_dead" + + faction = "space turtle" + maxHealth = 1000 + health = 1000 + movement_cooldown = 20 + + see_in_dark = 10 + + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "punches" + + harm_intent_damage = 1 + melee_damage_lower = 1 + melee_damage_upper = 10 + attack_sharp = FALSE + attacktext = list("chomped", "bashed", "monched", "bumped") + + ai_holder_type = /datum/ai_holder/simple_mob/melee/startreader + + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 + maxbodytemp = 900 + + loot_list = list(/obj/random/underdark/uncertain = 25) + + armor = list( + "melee" = 100, + "bullet" = 100, + "laser" = 100, + "energy" = 100, + "bomb" = 0, + "bio" = 100, + "rad" = 100) + + armor_soak = list( + "melee" = 30, + "bullet" = 30, + "laser" = 10, + "energy" = 10, + "bomb" = 0, + "bio" = 100, + "rad" = 100 + ) + + speak_emote = list("rumbles") + + say_list_type = /datum/say_list/startreader + + vore_active = 1 + vore_capacity = 2 + vore_bump_chance = 25 + vore_ignores_undigestable = 0 + vore_default_mode = DM_DRAIN + vore_icons = SA_ICON_LIVING + vore_stomach_name = "gastric sac" + vore_default_contamination_flavor = "Wet" + vore_default_contamination_color = "grey" + vore_default_item_mode = IM_DIGEST + + var/flipped = FALSE + var/flip_cooldown = 0 + +/datum/say_list/startreader + emote_see = list("bobs", "digs around","gnashes at something","yawns","snaps at something") + emote_hear = list("thrumms","clicks","rattles","groans","burbles") + + +/mob/living/simple_mob/vore/alienanimals/startreader/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "gastric sac" + B.desc = "It's cramped and hot! You're forced into a small ball as your shape is squeezed into the slick, wet chamber. Despite being swallowed into the creature, you find that you actually stretch out of the top a ways, and can JUST BARELY wiggle around..." + B.mode_flags = 40 + B.digest_brute = 0.5 + B.digest_burn = 0.5 + B.digestchance = 10 + B.absorbchance = 0 + B.escapechance = 15 + +/datum/ai_holder/simple_mob/melee/startreader + hostile = TRUE + retaliate = TRUE + destructive = TRUE + violent_breakthrough = TRUE + +/mob/living/simple_mob/vore/alienanimals/startreader/apply_melee_effects(var/atom/A) + if(weakened) //Don't stun people while they're already stunned! That's SILLY! + return + if(prob(15)) + var/mob/living/L = A + if(isliving(A)) + visible_message("\The [src] trips \the [L]!!") + L.weakened += rand(1,10) + +/mob/living/simple_mob/vore/alienanimals/startreader/Life() + . = ..() + if(flip_cooldown == 1) + flip_cooldown = 0 + flipped = FALSE + handle_flip() + visible_message("\The [src] rights itself!!!") + return + if(flip_cooldown) + flip_cooldown -- + SetStunned(2) + +/mob/living/simple_mob/vore/alienanimals/startreader/proc/handle_flip() + if(flipped) + armor = list( + "melee" = 0, + "bullet" = 0, + "laser" = 0, + "energy" = 0, + "bomb" = 0, + "bio" = 0, + "rad" = 0) + + armor_soak = list( + "melee" = 0, + "bullet" = 0, + "laser" = 0, + "energy" = 0, + "bomb" = 0, + "bio" = 0, + "rad" = 0 + ) + icon_living = "startreader_flipped" + AdjustStunned(flip_cooldown) + else + armor = list( + "melee" = 100, + "bullet" = 100, + "laser" = 100, + "energy" = 100, + "bomb" = 0, + "bio" = 100, + "rad" = 100) + + armor_soak = list( + "melee" = 30, + "bullet" = 30, + "laser" = 10, + "energy" = 10, + "bomb" = 0, + "bio" = 100, + "rad" = 100 + ) + icon_living = "startreader" + SetStunned(0) + + update_icon() \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm index cda1d9a948..9222975f1f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm @@ -1,8 +1,8 @@ //formerly meat things -//I made these up. They aren't deliberately based on, or supposed to be anything in particular. +//I made these up. They aren't deliberately based on, or supposed to be anything in particular. //They came out kind of goat-ish but that wasn't intentional. I was just going for some cute thing you could //take care of and/or kill for meat. -//I made them to be a part of the 'low tech survival' part of the game. You can use them to obtain a relatively +//I made them to be a part of the 'low tech survival' part of the game. You can use them to obtain a relatively //unlimited amount of meat, wool, hide, bone, and COMPANIONSHIP without the need for machines or power... hopefully. //There's no real story behind them, they're semi-intelligent wild alien animals with a somewhat mild temperament. //They'll beat you up if you're mean to them, they have preferences for food, affection, and the ability @@ -64,7 +64,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? maxHealth = 600 health = 600 movement_cooldown = 2 - meat_amount = 10 + meat_amount = 12 meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat response_help = "pets" @@ -85,7 +85,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? max_n2 = 0 minbodytemp = 150 maxbodytemp = 400 - unsuitable_atoms_damage = 0.5 + unsuitable_atoms_damage = 0.5 catalogue_data = list(/datum/category_item/catalogue/fauna/teppi) vis_height = 64 @@ -143,7 +143,8 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? ) butchery_loot = list(\ - /obj/item/stack/animalhide = 3\ + /obj/item/stack/animalhide = 3,\ + /obj/item/weapon/bone/horn = 1\ ) /////////////////////////////////////// Vore stuff/////////////////////////////////////////// @@ -197,7 +198,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? "It’s so hot, sweltering even! The burbling sounds of this organic cacophony swell and ebb all around you as thick slimes gush around you with the motion of %pred’s %belly. It’s hard to move in this tingly embrace even though the squashy walls are absolutely slippery! You can pull your limbs out from between the heavy meaty folds with some effort, and when you do there’s a messy sucking noise in the wake of the motion. Of course, such a disturbance naturally warrants that the chamber would redouble its efforts to subdue you and smother you in those thick tingling slimes.", "The walls around you flex inward briefly, burbling and squelching heavily as everything rushed together, wringing you powerfully for a few moments while, somewhere far above you can hear the bassy rumble of a casual belch, much of the small amount of acrid air available rushing out with the sound. After several long moments held in the tight embrace of that pulsing flesh, things ease up a bit again and resume their insistent, tingly churnings.", "It’s pitch black and completely slimy in here, %pred sways their %belly a bit here and there to toss you from one end to the other, tumbling you end over end as you’re churned in that active %belly. It’s all so slick and squishy, so it is really hard to get any footing or grip on things to stabilize your position, which means that you’re left at the mercy of those gloomy gastric affections and the tingling touch of those sticky syrupy slimes that the walls lather into your body.") - + B.emote_lists[DM_HOLD] = list( "The burbling %belly rocks and glides over you gently as you’re held deep within %pred, the deep thumping of their heart pulses all around you as you’re caressed and pressed by heavy, doughy walls.", "%pred’s %belly glorgles around you idly as you’re held gently by the slick, wrinkled flesh.", @@ -273,7 +274,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? "Over the course of several hours in the burbling organic cauldron, your body softens up little by little, soaking up the slime, the tingling spreading over you more and more as your strength fades. The walls fold over you and wrap you up, until the last thing you can sense is the throb of %pred’s heart pulsing through the very core of your being, washing you away as you become food for %pred.", "Your final moments are spent trying to make just a little space for yourself, the doughy squish of the flesh forming to you, pressing in tighter and tighter, invading your personal space as if to show you that, you don’t have any personal space. You’re already a part of %pred, you just don’t know it yet. And so those walls come in close to press up against you and churn you away into a messy slop, to put you in your place. That being, padding the belly and hips of %pred, right where you belong.") -// The friend zone. +// The friend zone. var/obj/belly/p = new /obj/belly(src) p.immutable = TRUE p.mode_flags = 40 @@ -285,11 +286,11 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? p.escapable = TRUE p.escapechance = 40 p.digest_mode = DM_HEAL - p.name = "propeutpericulum" //I'm no latin professor I just know that some organs and things are based on latin words - //and google translate says that each of these individually - //"close" "to" "danger" translate to "prope" "ut" "periculum". + p.name = "propeutpericulum" //I'm no latin professor I just know that some organs and things are based on latin words + //and google translate says that each of these individually + //"close" "to" "danger" translate to "prope" "ut" "periculum". //Of course it doesn't translate perfectly, and it's nonsense when squashed together, but - //I don't care that much, I just figured that the weird alien animals that store friends in + //I don't care that much, I just figured that the weird alien animals that store friends in //their tummy should have a funny name for the organ they do that with. >:I p.desc = "You seem to have found your way into something of a specialized chamber within the Teppi. The walls are slick and smooth and REALLY soft to the touch. While you can hear the Teppi’s heartbeat nearby, and feel it throb throughout its flesh, the motions around you are gentle and careful. You’re pressed into a small shape within the pleasant heat, with the flesh forming to your figure. You can wriggle around a bit and get comfortable here, but as soon as you get still for a bit the smooth, almost silky flesh seems to form to you once again, like a heavy blanket wrapping you up. As you lounge here the pleasant kneading sensations ease aches and pains, and leave you feeling fresher than before. For a curious fleshy sac inside of some alien monster, this place isn’t all that bad!" p.contaminates = 1 @@ -323,7 +324,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? /mob/living/simple_mob/vore/alienanimals/teppi/Initialize() . = ..() - + if(name == initial(name)) name = "[name] ([rand(1, 1000)])" real_name = name @@ -336,7 +337,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? verbs += /mob/living/simple_mob/vore/alienanimals/teppi/proc/toggle_producing_offspring -// teppi_id = rand(1,100000) +// teppi_id = rand(1,100000) // if(!dad_id || !mom_id) // dad_id = rand(1,100000) // mom_id = rand(1,100000) @@ -352,13 +353,13 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? ALLERGEN_GRAINS, ALLERGEN_BEANS, ALLERGEN_SEEDS, - ALLERGEN_DAIRY, + ALLERGEN_DAIRY, ALLERGEN_FUNGI, ALLERGEN_COFFEE, ALLERGEN_SUGARS, ALLERGEN_EGGS ) - + var/static/list/possiblebody = list("#fff2d3" = 100, "#ffffc0" = 25, "#c69c85" = 25, "#9b7758" = 25, "#3f4a60" = 10, "#121f24" = 10, "#420824" = 1) var/static/list/possiblemarking = list("#fff2d3" = 100, "#ffffc0" = 50, "#c69c85" = 25, "#9b7758" = 5, "#3f4a60" = 5, "#121f24" = 5, "#6300db" = 1) var/static/list/possiblehorns = list("#454238" = 100, "#a3d5d7" = 10, "#763851" = 10, "#0d0c2f" = 5, "#ffc965" = 1) @@ -405,7 +406,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? update_icon() -//This builds, caches, and recalls parts of the teppi as it needs them, and shares them across all teppi, +//This builds, caches, and recalls parts of the teppi as it needs them, and shares them across all teppi, //so ideally they only have to make it once as they need it since most of them will be using many of the same colored parts /mob/living/simple_mob/vore/alienanimals/teppi/proc/teppi_icon() var/marking_key = "marking-[marking_color]" @@ -648,7 +649,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? . += "They look hungry." if(health < maxHealth && health / maxHealth * 100 <= 75) . += "They look beat up." - + /mob/living/simple_mob/vore/alienanimals/teppi/update_icon() ..() @@ -679,7 +680,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? adjust_nutrition(-nutrition_cost) new /mob/living/simple_mob/vore/alienanimals/teppi(loc, src) qdel(src) - else + else visible_message("\The [src] whines pathetically...", runemessage = "whines") if(prob(50)) playsound(src, 'sound/voice/teppi/whine1.ogg', 75, 1) @@ -749,7 +750,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? if(!K.sharp) sheartime *= 2 if(K.edge) - sheartime *= 0.5 + sheartime *= 0.5 else if(istype(tool, /obj/item/weapon/tool/wirecutters)) sheartime *= 2 else @@ -811,12 +812,12 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? return else if(current_affinity <= -50) vore_selected.digest_mode = DM_DIGEST - else + else vore_selected.digest_mode = DM_DRAIN ..() ai_holder.set_busy(FALSE) - + /mob/living/simple_mob/vore/alienanimals/teppi/perform_the_nom(user, mob/living/prey, user, belly, delay) if(client) return ..() @@ -830,7 +831,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? return if(current_affinity <= -50) vore_selected.digest_mode = DM_DIGEST - else + else vore_selected.digest_mode = DM_DRAIN ..() ai_holder.set_busy(FALSE) @@ -858,7 +859,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? ai_holder.target = person ai_holder.track_target_position() ai_holder.set_stance(STANCE_FIGHT) - affinity[person.real_name] = -100 //Don't hold a grudge though. + affinity[person.real_name] = -100 //Don't hold a grudge though. /datum/say_list/teppi speak = list("Gyooh~", "Gyuuuh!", "Gyuh?", "Gyaah...", "Iuuuuhh.", "Uoounh!", "GyoooOOOOoooh!", "Gyoh~", "Gyouh~") @@ -1003,7 +1004,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? return if(!breedable || nutrition < 500) to_chat(src, "The conditions are not right to produce offspring.") - return + return if(GLOB.teppi_count >= GLOB.max_teppi) //if we can't make more then we shouldn't look for partners to_chat(src, "I cannot produce more offspring at the moment, there are too many of us!") return @@ -1033,7 +1034,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? else to_chat(src, "You enable breeding.") prevent_breeding = FALSE - + ///////////////////AI Things//////////////////////// //Thank you very much Aronai <3 @@ -1180,11 +1181,11 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? horn_color = "#141414" eye_color = "#9f522c" skin_color = "#e16f2d" - marking_type = "13" + marking_type = "13" horn_type = "1" . = ..() -/mob/living/simple_mob/vore/alienanimals/teppi/lira/New() +/mob/living/simple_mob/vore/alienanimals/teppi/lira/New() inherit_colors = TRUE color = "#fdfae9" marking_color = "#ffffc0" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm index 9ba9437fa7..a8ec4d3894 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm @@ -26,7 +26,7 @@ GLOBAL_VAR_INIT(chicken_count, 0) // How mant chickens DO we have? say_list_type = /datum/say_list/chicken - meat_amount = 2 + meat_amount = 4 meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken var/eggsleft = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm index 3d590a19fd..0ff6ee6496 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm @@ -19,7 +19,7 @@ say_list_type = /datum/say_list/cow - meat_amount = 6 + meat_amount = 10 meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat var/datum/reagents/udder = null diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm index 1e7991d6a2..477dcb5aa7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm @@ -22,7 +22,7 @@ say_list_type = /datum/say_list/goat ai_holder_type = /datum/ai_holder/simple_mob/retaliate - meat_amount = 4 + meat_amount = 6 meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat var/datum/reagents/udder = null diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm index e6dfc3f708..66c14c7b38 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm @@ -98,14 +98,14 @@ speak_emote = list("chitters") - meat_amount = 1 + meat_amount = 5 meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat say_list_type = /datum/say_list/spider tame_items = list( /obj/item/weapon/reagent_containers/food/snacks/xenomeat = 10, - /obj/item/weapon/reagent_containers/food/snacks/meat/crab = 40, + /obj/item/weapon/reagent_containers/food/snacks/crabmeat = 40, /obj/item/weapon/reagent_containers/food/snacks/meat = 20 ) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother.dm index 93644874d1..345e315a16 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother.dm @@ -21,6 +21,8 @@ old_x = -16 old_y = 0 + meat_amount = 20 + projectiletype = /obj/item/projectile/energy/spidertoxin projectilesound = 'sound/weapons/pierce.ogg' @@ -59,6 +61,7 @@ poison_per_bite = 2 poison_type = "cyanide" + loot_list = list(/obj/item/royal_spider_egg = 100) /obj/item/projectile/energy/spidertoxin name = "concentrated spidertoxin" @@ -71,11 +74,7 @@ combustion = FALSE -/mob/living/simple_mob/animal/giant_spider/broodmother/death() - ..() - - new /obj/item/royal_spider_egg(src.loc) - +/mob/living/simple_mob/animal/giant_spider/broodmother/death(gibbed, deathmessage="falls over and makes its last twitches as its birthing sack bursts!") var/count = 0 while(count < death_brood) var/broodling_type = pick(possible_death_brood_types) @@ -84,7 +83,7 @@ step_away(broodling, src) count++ - visible_message(span("critical", "\The [src]'s birthing sack bursts!")) + return ..() /mob/living/simple_mob/animal/giant_spider/broodmother/proc/spawn_brood(atom/A) set waitfor = FALSE diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/giant_spider_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/giant_spider_vr.dm index 2af3c8f6e7..c63ac35fa8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/giant_spider_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/giant_spider_vr.dm @@ -51,7 +51,8 @@ default_pixel_x = -16 old_x = -16 old_y = 0 - + meat_amount = 15 + egg_type = /obj/effect/spider/eggcluster/royal /mob/living/simple_mob/animal/giant_spider/webslinger/event // YW CHANGE diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm index a772346555..7ff84ff697 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm @@ -18,7 +18,8 @@ organ_names = /decl/mob_organ_names/crab - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/crab + meat_type = /obj/item/weapon/reagent_containers/food/snacks/crabmeat + meat_amount = 3 say_list_type = /datum/say_list/crab @@ -51,12 +52,5 @@ . = ..() adjust_scale(rand(5,12) / 10) -// Meat! - -/obj/item/weapon/reagent_containers/food/snacks/meat/crab - name = "meat" - desc = "A chunk of meat." - icon_state = "crustacean-meat" - /decl/mob_organ_names/crab hit_zones = list("cephalothorax", "abdomen", "left walking legs", "right walking legs", "left swimming legs", "right swimming legs", "left pincer", "right pincer") \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish.dm index 33ea730b2e..8608c6f7a7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish.dm @@ -23,6 +23,7 @@ holder_type = /obj/item/weapon/holder/fish meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish + meat_amount = 3 // By default they can be in any water turf. Subtypes might restrict to deep/shallow etc var/global/list/suitable_turf_types = list( diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish_vr.dm index 89ccfc3a25..741f3f279a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish_vr.dm @@ -2,6 +2,7 @@ desc = "A genetic marvel, combining the docility and aesthetics of the koi with some of the resiliency and cunning of the noble space carp." health = 50 maxHealth = 50 + meat_amount = 0 /mob/living/simple_mob/animal/passive/fish/koi/poisonous/Initialize() . = ..() @@ -67,7 +68,7 @@ icon_state = "measelshark" icon_living = "measelshark" icon_dead = "measelshark-dead" - meat_amount = 6 //Big fish, tons of meat. Great for feasts. + meat_amount = 8 //Big fish, tons of meat. Great for feasts. meat_type = /obj/item/weapon/reagent_containers/food/snacks/sliceable/sharkchunk vore_active = 1 vore_bump_chance = 100 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/lizard.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/lizard.dm index ca94f0373f..83af74c076 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/lizard.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/lizard.dm @@ -23,6 +23,8 @@ say_list_type = /datum/say_list/lizard + meat_amount = 1 + /mob/living/simple_mob/animal/passive/lizard/large desc = "A cute, big lizard." maxHealth = 20 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm index 3df06d1a33..60520b51e5 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm @@ -7,6 +7,7 @@ item_state = "mouse_gray" icon_living = "mouse_gray" icon_dead = "mouse_gray_dead" + icon_rest = "mouse_gray_sleep" kitchen_tag = "rodent" maxHealth = 5 @@ -34,7 +35,8 @@ has_langs = list("Mouse") holder_type = /obj/item/weapon/holder/mouse - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_amount = 1 + butchery_loot = list() say_list_type = /datum/say_list/mouse @@ -63,6 +65,17 @@ icon_rest = "mouse_[body_color]_sleep" if (body_color != "rat") desc = "A small [body_color] rodent, often seen hiding in maintenance areas and making a nuisance of itself." + holder_type = /obj/item/weapon/holder/mouse/rat + if (body_color == "operative") + holder_type = /obj/item/weapon/holder/mouse/operative + if (body_color == "brown") + holder_type = /obj/item/weapon/holder/mouse/brown + if (body_color == "gray") + holder_type = /obj/item/weapon/holder/mouse/gray + if (body_color == "white") + holder_type = /obj/item/weapon/holder/mouse/white + if (body_color == "black") + holder_type = /obj/item/weapon/holder/mouse/black /mob/living/simple_mob/animal/passive/mouse/Crossed(atom/movable/AM as mob|obj) if(AM.is_incorporeal()) @@ -100,25 +113,20 @@ /mob/living/simple_mob/animal/passive/mouse/white body_color = "white" icon_state = "mouse_white" + icon_rest = "mouse_white_sleep" + holder_type = /obj/item/weapon/holder/mouse/white /mob/living/simple_mob/animal/passive/mouse/gray body_color = "gray" icon_state = "mouse_gray" + icon_rest = "mouse_gray_sleep" + holder_type = /obj/item/weapon/holder/mouse/gray /mob/living/simple_mob/animal/passive/mouse/brown body_color = "brown" icon_state = "mouse_brown" - -/mob/living/simple_mob/animal/passive/mouse/rat - name = "rat" - tt_desc = "E Rattus rattus" - desc = "A large rodent, often seen hiding in maintenance areas and making a nuisance of itself." - body_color = "rat" - icon_state = "mouse_rat" - maxHealth = 20 - health = 20 - - ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive + icon_rest = "mouse_brown_sleep" + holder_type = /obj/item/weapon/holder/mouse/brown //TOM IS ALIVE! SQUEEEEEEEE~K :) /mob/living/simple_mob/animal/passive/mouse/brown/Tom @@ -130,6 +138,57 @@ // Change my name back, don't want to be named Tom (666) name = initial(name) +/mob/living/simple_mob/animal/passive/mouse/black + body_color = "black" + icon_state = "mouse_black" + icon_rest = "mouse_black_sleep" + holder_type = /obj/item/weapon/holder/mouse/black + +/mob/living/simple_mob/animal/passive/mouse/rat + name = "rat" + tt_desc = "E Rattus rattus" + desc = "A large rodent, often seen hiding in maintenance areas and making a nuisance of itself." + body_color = "rat" + icon_state = "mouse_rat" + icon_rest = "mouse_rat_sleep" + holder_type = /obj/item/weapon/holder/mouse/rat + maxHealth = 20 + health = 20 + + ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive + +/mob/living/simple_mob/animal/passive/mouse/operative + name = "mouse operative" + desc = "A cute mouse fitted with a custom blood red suit. Sneaky." + body_color = "operative" + icon_state = "mouse_operative" + icon_rest = "mouse_operative_sleep" + holder_type = /obj/item/weapon/holder/mouse/operative + maxHealth = 35 + + //It's wearing a void suit, it don't care about atmos + health = 35 + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + maxbodytemp = 700 + + ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive + +//The names Cheese... Agent Cheese +/mob/living/simple_mob/animal/passive/mouse/operative/agent_cheese + name = "Agent Cheese" + desc = "I like my cheese Swiss... not American." + +/mob/living/simple_mob/animal/passive/mouse/operative/agent_cheese/New() + ..() + // Change my name back, don't want to be named agent_cheese (666) + name = initial(name) // Mouse noises /datum/say_list/mouse diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse_vr.dm index b942f69d0f..954279ab76 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse_vr.dm @@ -12,41 +12,45 @@ movement_cooldown = 5 universal_understand = 1 -/mob/living/simple_mob/animal/passive/mouse/attack_hand(mob/living/L) - if(L.a_intent == I_HELP && !istype(loc, /obj/item/weapon/holder)) //if lime intent and not in a holder already - if(!src.attempt_to_scoop(L)) //the superior way to handle scooping, checks size - ..() //mouse too big to grab? pet the large mouse instead - else - ..() - -//No longer in use, as mice create a holder/micro object instead /obj/item/weapon/holder/mouse/attack_self(var/mob/U) for(var/mob/living/simple_mob/M in src.contents) if((I_HELP) && U.checkClickCooldown()) //a little snowflakey, but makes it use the same cooldown as interacting with non-inventory objects U.setClickCooldown(U.get_attack_speed()) //if there's a cleaner way in baycode, I'll change this U.visible_message("[U] [M.response_help] \the [M].") +//Jank grabber that uses the 'attack_hand' insead of 'MouseDrop' +/mob/living/simple_mob/animal/passive/mouse/attack_hand(var/atom/over_object) + var/mob/living/carbon/human/H = over_object + if(holder_type && issmall(src) && istype(H) && !H.lying && Adjacent(H) && (src.a_intent == I_HELP && H.a_intent == I_HELP)) + if(!issmall(H) || !istype(src, /mob/living/carbon/human)) + get_scooped(H, (usr == src)) + return + return ..() -/mob/living/simple_mob/animal/passive/mouse/MouseDrop(var/obj/O) //this proc would be very easy to apply to all mobs, holders generate dynamically - if(!(usr == src || O)) - return ..() - if(istype(O, /mob/living) && O.Adjacent(src)) //controls scooping by mobs - var/mob/living/L = O - if(!src.attempt_to_scoop(L, (src == usr))) - return //this way it doesnt default to the generic animal pickup which isnt size restricted - if(istype(O, /obj/item/weapon/storage) && O.Adjacent(src)) //controls diving into storage - var/obj/item/weapon/storage/S = O - var/obj/item/weapon/holder/H = new holder_type(get_turf(src),src) //this works weird, but it creates an empty holder, to see if that holder can fit - if(S.can_be_inserted(H) && (src.size_multiplier <= 0.75)) - visible_message("\The [src] squeezes into \the [S].") - H.forceMove(S) - return 1 - else - qdel(H) //this deletes the empty holder if it doesnt work - to_chat(usr,"You can't fit inside \the [S]!") - return 0 +/mob/living/proc/mouse_scooped(var/mob/living/carbon/grabber, var/self_grab) + + if(!holder_type || buckled || pinned.len) + return + + if(self_grab) + if(src.incapacitated()) return else - ..() + if(grabber.incapacitated()) return + + var/obj/item/weapon/holder/H = new holder_type(get_turf(src), src) + grabber.put_in_hands(H) + + if(self_grab) + to_chat(grabber, "\The [src] clambers onto you!") + to_chat(src, "You climb up onto \the [grabber]!") + grabber.equip_to_slot_if_possible(H, slot_back, 0, 1) + else + to_chat(grabber, "You scoop up \the [src]!") + to_chat(src, "\The [grabber] scoops you up!") + + add_attack_logs(grabber, H.held_mob, "Scooped up", FALSE) // Not important enough to notify admins, but still helpful. + return H + /mob/living/simple_mob/animal/passive/mouse/white/apple name = "Apple" desc = "Dainty, well groomed and cared for, her eyes glitter with untold knowledge..." @@ -56,4 +60,12 @@ ..() // Change my name back, don't want to be named Apple (666) name = initial(name) - desc = initial(desc) \ No newline at end of file + desc = initial(desc) + + +/obj/item/weapon/holder/mouse/attack_self(mob/living/carbon/user) + user.setClickCooldown(user.get_attack_speed()) + for(var/L in contents) + if(isanimal(L)) + var/mob/living/simple_mob/S = L + user.visible_message("[user] [S.response_help] \the [S].") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/penguin.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/penguin.dm index 3e3647a0b0..5616b4b524 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/penguin.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/penguin.dm @@ -16,6 +16,9 @@ organ_names = /decl/mob_organ_names/penguin + meat_amount = 3 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + harm_intent_damage = 5 melee_damage_lower = 10 melee_damage_upper = 15 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm index e7be8a1f57..27bd772e25 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm @@ -25,7 +25,7 @@ var/mob/M = loc var/was_in_hands = istype(M) && (src == M.get_active_hand() || src == M.get_inactive_hand()) - + critter = new critter(critter_holder) critter_holder = new(loc, critter) @@ -138,6 +138,7 @@ can_pull_mobs = MOB_PULL_SMALLER say_list_type = /datum/say_list/possum catalogue_data = list(/datum/category_item/catalogue/fauna/opossum) + meat_amount = 2 /mob/living/simple_mob/animal/passive/opossum/adjustBruteLoss(var/amount,var/include_robo) . = ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm index c7692b391b..d7c2bf37db 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm @@ -23,6 +23,9 @@ softfall = TRUE parachuting = TRUE + meat_amount = 1 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + attacktext = list("clawed", "pecked") speak_emote = list("chirps", "caws") has_langs = list("Bird") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm index 2c203844e3..ea41d429f8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm @@ -37,6 +37,7 @@ var/list/_cat_default_emotes = list( movement_cooldown = 0.5 SECONDS + meat_amount = 1 see_in_dark = 6 // Not sure if this actually works. response_help = "pets" response_disarm = "gently pushes aside" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm index 1140250fb2..7ec636defd 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm @@ -23,7 +23,7 @@ minbodytemp = 223 //Below -50 Degrees Celcius maxbodytemp = 323 //Above 50 Degrees Celcius - meat_amount = 1 + meat_amount = 2 meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/fox say_list_type = /datum/say_list/fox @@ -186,9 +186,6 @@ set_dir(get_dir(src, friend)) say("Yap!") */ -/obj/item/weapon/reagent_containers/food/snacks/meat/fox - name = "Fox meat" - desc = "The fox doesn't say a goddamn thing, now." //Captain fox /mob/living/simple_mob/animal/passive/fox/renault diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/diyaab.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/diyaab.dm index 989ca0266b..b830cbec2b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/diyaab.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/diyaab.dm @@ -28,7 +28,10 @@ maxHealth = 25 health = 25 - minbodytemp = 175 //yw edit, Makes mobs survive cryogaia temps + + meat_amount = 2 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + movement_cooldown = 0 melee_damage_lower = 2 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/duck.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/duck.dm index 2d0c0b638e..31b25ee36f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/duck.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/duck.dm @@ -32,6 +32,9 @@ movement_cooldown = 0 + meat_amount = 4 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + melee_damage_lower = 2 melee_damage_upper = 10 base_attack_cooldown = 1 SECOND @@ -57,9 +60,10 @@ . = ..() var/has_food = FALSE - for(var/obj/item/I in L.get_contents()) // Do they have food? - if(istype(I, /obj/item/weapon/reagent_containers/food)) - has_food = TRUE - break + if(isliving(L)) + for(var/obj/item/I in L.get_contents()) // Do they have food? + if(istype(I, /obj/item/weapon/reagent_containers/food)) + has_food = TRUE + break if(has_food) // Yes? Gimme the food. return FALSE diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm index c8935093a4..1a93754af3 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm @@ -56,7 +56,7 @@ tame_items = list( /obj/item/weapon/reagent_containers/food/snacks/grown = 90, - /obj/item/weapon/reagent_containers/food/snacks/meat/crab = 10, + /obj/item/weapon/reagent_containers/food/snacks/crabmeat = 10, /obj/item/weapon/reagent_containers/food/snacks/meat = 5 ) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hare.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hare.dm index 0c2eb934aa..44c6cea6f5 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hare.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hare.dm @@ -61,7 +61,7 @@ organ_names = /decl/mob_organ_names/hare - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_amount = 1 say_list_type = /datum/say_list/hare diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm index 076c19a066..bdcd9b6179 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm @@ -72,7 +72,8 @@ attack_edge = TRUE melee_attack_delay = 1 SECOND - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/crab + meat_type = /obj/item/weapon/reagent_containers/food/snacks/crabmeat + meat_amount = 6 response_help = "pets" response_disarm = "gently pushes aside" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm index 0ea7bfb5c8..3a7999f015 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm @@ -48,6 +48,7 @@ attacktext = list("gouged", "bit", "cut", "clawed", "whipped") organ_names = /decl/mob_organ_names/kururak + meat_amount = 5 armor = list( "melee" = 30, diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm index a94bdb2659..937c45143b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm @@ -40,6 +40,7 @@ melee_damage_upper = 15 base_attack_cooldown = 1 SECOND attacktext = list("nipped", "bit", "cut", "clawed") + meat_amount = 3 armor = list( "melee" = 15, diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/savik.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/savik.dm index bb1445b6f2..2fc4b202a4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/savik.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/savik.dm @@ -49,7 +49,7 @@ tame_items = list( /obj/item/organ = 70, - /obj/item/weapon/reagent_containers/food/snacks/meat/crab = 30, + /obj/item/weapon/reagent_containers/food/snacks/crabmeat = 30, /obj/item/weapon/reagent_containers/food/snacks/meat = 20 ) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/sif.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/sif.dm index dab82b850b..be88baab27 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/sif.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/sif.dm @@ -5,6 +5,6 @@ heat_resist = -0.5 tame_items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat/crab = 20, + /obj/item/weapon/reagent_containers/food/snacks/crabmeat = 20, /obj/item/weapon/reagent_containers/food/snacks/meat = 10 ) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm index d3cda1f22b..7127b42830 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm @@ -31,6 +31,7 @@ attack_sound = 'sound/weapons/bladeslice.ogg' meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat + meat_amount = 5 /mob/living/simple_mob/animal/space/alien/drone name = "alien drone" @@ -68,7 +69,7 @@ old_x = -16 icon_expected_width = 64 icon_expected_height = 64 - meat_amount = 5 + meat_amount = 8 /mob/living/simple_mob/animal/space/alien/queen name = "alien queen" @@ -84,7 +85,7 @@ projectilesound = 'sound/weapons/pierce.ogg' - movement_cooldown = 8 + movement_cooldown = 10 /mob/living/simple_mob/animal/space/alien/queen/empress name = "alien empress" @@ -95,7 +96,7 @@ icon_rest = "queen_sleep" maxHealth = 400 health = 400 - meat_amount = 5 + meat_amount = 15 pixel_x = -16 old_x = -16 @@ -111,7 +112,7 @@ icon_rest = "empress_rest" maxHealth = 600 health = 600 - meat_amount = 10 + meat_amount = 40 melee_damage_lower = 15 melee_damage_upper = 25 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm index a775c315f9..595e3557cf 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm @@ -33,6 +33,7 @@ has_langs = list("Mouse") meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_amount = 2 say_list_type = /datum/say_list/mouse // Close enough diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/bear.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/bear.dm index e4199373bd..c9d75869fb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/bear.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/bear.dm @@ -23,6 +23,7 @@ attacktext = list("mauled") meat_type = /obj/item/weapon/reagent_containers/food/snacks/bearmeat + meat_amount = 8 say_list_type = /datum/say_list/bear diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm index f5a18eb16a..7b21c428bb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm @@ -53,7 +53,7 @@ organ_names = /decl/mob_organ_names/fish - meat_amount = 1 + meat_amount = 5 meat_type = /obj/item/weapon/reagent_containers/food/snacks/carpmeat ai_holder_type = /datum/ai_holder/simple_mob/melee @@ -92,7 +92,7 @@ icon_expected_width = 64 icon_expected_height = 32 - meat_amount = 3 + meat_amount = 7 /mob/living/simple_mob/animal/space/carp/large/huge @@ -115,7 +115,7 @@ icon_expected_width = 64 icon_expected_height = 64 - meat_amount = 10 + meat_amount = 15 /mob/living/simple_mob/animal/space/carp/holographic @@ -156,4 +156,4 @@ ..() derez() - + diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/goose.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/goose.dm index 9f028ed56d..c4f41bd3ba 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/goose.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/goose.dm @@ -25,7 +25,8 @@ has_langs = list("Bird") - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/chicken + meat_amount = 3 /datum/say_list/goose speak = list("HONK!") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm index c30dd4be5a..e7dea44853 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm @@ -3,30 +3,33 @@ desc = "Classification: Reptilia Serpentes\

\ Snakes are elongated, limbless, carnivorous reptiles of the suborder Serpentes \ - Like all other squamates, snakes are ectothermic, amniote vertebrates covered in overlapping scales. \ - Many species of snakes have skulls with several more joints than their lizard ancestors, \ + Like all other squamates, pythons are ectothermic, amniote vertebrates covered in overlapping scales. \ + Many species of snake have skulls with several more joints than their lizard ancestors, \ enabling them to swallow prey much larger than their heads with their highly mobile jaws. \
\ - This species of snake is nonvenomous and use their large bodies to primarily subdue their prey. \ + This type of snake is nonvenomous and use their slender bodies to primarily subdue their prey. \ Nonvenomous snakes either swallow prey alive or kill them by constriction - this is dependant on the prey. \
\ - This specific snake is nonvenomous and is mostly passive - however they will attack if threatened - it is \ - recommended that persons keep their distance as to not provoke these animals." + Snakes are mostly passive - however they will attack if threatened - it is recommended that \ + persons keep their distance as to not provoke these animals." value = CATALOGUER_REWARD_TRIVIAL +/* + * Green Snake + */ /mob/living/simple_mob/animal/passive/snake name = "snake" - desc = "A big thick snake." - tt_desc = "Reptilia Serpentes" + desc = "A cute little, green snake. Wiggle wiggle." + tt_desc = "E Reptilia Serpentes" catalogue_data = list(/datum/category_item/catalogue/fauna/snake) - icon_state = "snake" - icon_living = "snake" - icon_dead = "snake_dead" + icon_state = "green" + icon_living = "green" + icon_dead = "green_dead" icon = 'icons/mob/snake_vr.dmi' - maxHealth = 20 - health = 20 + maxHealth = 15 + health = 15 movement_cooldown = 8 // SLOW-ASS MUTHAFUCKA, I hope. @@ -34,6 +37,9 @@ response_disarm = "shoos" response_harm = "kicks" + meat_amount = 2 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + melee_damage_lower = 2 melee_damage_upper = 3 attacktext = list("bitten") @@ -44,17 +50,46 @@ /datum/say_list/snake emote_hear = list("hisses") -//NOODLE IS HERE! SQUEEEEEEEE~ -/mob/living/simple_mob/animal/passive/snake/noodle +/* + * Red Snake + */ +/mob/living/simple_mob/animal/passive/snake/red + desc = "A cute little, red snake. Wiggle wiggle." + + icon_state = "red" + icon_living = "red" + icon_dead = "red_dead" + icon = 'icons/mob/snake_vr.dmi' + +/* + * Python + */ +/mob/living/simple_mob/animal/passive/snake/python + name = "python" + desc = "A big, thick snake." + tt_desc = "E Reptilia Pythonidae" + + icon_state = "python" + icon_living = "python" + icon_dead = "python_dead" + icon = 'icons/mob/snake_vr.dmi' + +/* + * NOODLE IS HERE! SQUEEEEEEEE~ + */ +/mob/living/simple_mob/animal/passive/snake/python/noodle name = "Noodle" desc = "This snake is particularly chubby and demands nothing but the finest of treats." + maxHealth = 20 + health = 20 + makes_dirt = FALSE var/turns_since_scan = 0 var/obj/movement_target -/mob/living/simple_mob/animal/passive/snake/noodle/Life() +/mob/living/simple_mob/animal/passive/snake/python/noodle/Life() ..() //Not replacing with SA FollowTarget mechanics because Ian behaves... very... specifically. @@ -97,41 +132,7 @@ else if(ishuman(movement_target.loc) && prob(20)) visible_emote("stares at the [movement_target] that [movement_target.loc] has with an unknowable reptilian gaze.") -/* old eating code, couldn't figure out how to make the "swallows food" thing so I'm keeping this here incase someone wants legacy" -/mob/living/simple_mob/animal/passive/snake/noodle/Life() //stolen from Ian in corgi.dm - if(!..()) - return 0 - - if(!stat && !resting && !buckled && !ai_inactive) - turns_since_scan++ - if(turns_since_scan > 5) - turns_since_scan = 0 - if(movement_target && !(isturf(movement_target.loc) || ishuman(movement_target.loc))) - movement_target = null - stop_automated_movement = 0 - if(!movement_target || !(movement_target.loc in oview(src, 5)) ) - movement_target = null - stop_automated_movement = 0 - walk(src,0) - for(var/obj/item/weapon/reagent_containers/food/snacks/snakesnack/S in oview(src,3)) - if(isturf(S.loc)) - movement_target = S - visible_emote("turns towards \the [movement_target] and slithers towards it.") - break - - if(movement_target) - stop_automated_movement = 1 - walk_to(src, movement_target, 0, 5) - spawn(10) - if(Adjacent(movement_target)) - visible_message("[src] swallows the [movement_target] whole!") - qdel(movement_target) - walk(src,0) - else if(ishuman(movement_target.loc) && prob(20)) - visible_emote("stares at the [movement_target] that [movement_target.loc] has with an unknowable reptilian gaze.") -*/ - -/mob/living/simple_mob/animal/passive/snake/noodle/apply_melee_effects(var/atom/A) +/mob/living/simple_mob/animal/passive/snake/python/noodle/apply_melee_effects(var/atom/A) if(ismouse(A)) var/mob/living/simple_mob/animal/passive/mouse/mouse = A if(mouse.getMaxHealth() < 20) // In case a badmin makes giant mice or something. @@ -140,14 +141,16 @@ else ..() -/mob/living/simple_mob/animal/passive/snake/noodle/attackby(var/obj/item/O, var/mob/user) +/mob/living/simple_mob/animal/passive/snake/python/noodle/attackby(var/obj/item/O, var/mob/user) if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/snakesnack)) visible_message("[user] feeds \the [O] to [src].") qdel(O) else return ..() -//Special snek-snax for Noodle! +/* + * Special snek-snax for Noodle! + */ /obj/item/weapon/reagent_containers/food/snacks/snakesnack name = "sugar mouse" desc = "A little mouse treat made of coloured sugar. Noodle loves these!" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/worm.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/worm.dm index ca5ab5e962..c2decea8af 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/worm.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/worm.dm @@ -35,7 +35,7 @@ mob_class = MOB_CLASS_ABERRATION // It's a monster. - meat_amount = 2 + meat_amount = 10 meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/worm var/mob/living/simple_mob/animal/space/space_worm/previous //next/previous segments, correspondingly @@ -370,47 +370,4 @@ if(previous) previous.update_body_faction() return 1 - return 0 - -// Worm meat. - -/obj/item/weapon/reagent_containers/food/snacks/meat/worm - name = "meat" - desc = "A chunk of pulsating meat." - icon_state = "wormmeat" - health = 180 - filling_color = "#551A8B" - center_of_mass = list("x"=16, "y"=14) - -/obj/item/weapon/reagent_containers/food/snacks/meat/worm/Initialize() - . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("phoron", 3) - reagents.add_reagent("myelamine", 3) - src.bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/meat/worm/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/material/knife)) - var/to_spawn = pickweight(/obj/random/junk = 30, - /obj/random/trash = 30, - /obj/random/maintenance/clean = 15, - /obj/random/tool = 15, - /obj/random/medical = 3, - /obj/random/bomb_supply = 7, - /obj/random/contraband = 3, - /obj/random/unidentified_medicine/old_medicine = 7, - /obj/item/weapon/strangerock = 3, - /obj/item/weapon/ore/phoron = 7, - /obj/random/handgun = 1, - /obj/random/toolbox = 4, - /obj/random/drinkbottle = 5 - ) - - new to_spawn(get_turf(src)) - - if(prob(20)) - user.visible_message("Something oozes out of \the [src] as it is cut.") - - to_chat(user, "You cut the tissue holding the chunks together.") - - ..() + return 0 \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm b/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm index 76753e8da6..50ee63637c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm +++ b/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm @@ -27,6 +27,7 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee meat_type = /obj/item/weapon/reagent_containers/food/snacks/tomatomeat + meat_amount = 4 /decl/mob_organ_names/tomato hit_zones = list("flesh", "leaf", "mouth") \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/plant/tree.dm b/code/modules/mob/living/simple_mob/subtypes/plant/tree.dm index 052fdaa196..be6af537c8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/plant/tree.dm +++ b/code/modules/mob/living/simple_mob/subtypes/plant/tree.dm @@ -28,6 +28,7 @@ organ_names = /decl/mob_organ_names/tree meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat + meat_amount = 2 pixel_x = -16 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/bee.dm b/code/modules/mob/living/simple_mob/subtypes/vore/bee.dm index f39e5dc666..cac9a79b10 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/bee.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/bee.dm @@ -24,6 +24,9 @@ say_list_type = /datum/say_list/bee ai_holder_type = /datum/ai_holder/simple_mob/retaliate + meat_amount = 5 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat + //Space bees aren't affected by atmos. min_oxy = 0 max_oxy = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/cookiegirl.dm b/code/modules/mob/living/simple_mob/subtypes/vore/cookiegirl.dm index 5b345affac..b7f02e2833 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/cookiegirl.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/cookiegirl.dm @@ -15,6 +15,9 @@ melee_damage_lower = 2 melee_damage_upper = 5 + meat_amount = 10 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/cookiesnack + say_list_type = /datum/say_list/cookiegirl ai_holder_type = /datum/ai_holder/simple_mob/passive/cookiegirl diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm index 1f848b1be1..2ed5f51d87 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm @@ -41,6 +41,9 @@ melee_damage_lower = 5 melee_damage_upper = 30 + meat_amount = 8 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + old_x = -16 old_y = 0 default_pixel_x = -16 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/dino.dm b/code/modules/mob/living/simple_mob/subtypes/vore/dino.dm index cae232e051..96a6d1adc7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/dino.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/dino.dm @@ -25,6 +25,9 @@ cold_damage_per_tick = 10 unsuitable_atoms_damage = 10 + meat_amount = 5 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + //Phoron dragons aren't affected by atmos. min_oxy = 0 max_oxy = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm index 0d66b7e977..239533ef74 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm @@ -16,6 +16,9 @@ melee_damage_lower = 5 melee_damage_upper = 30 + meat_amount = 15 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + //Space dragons aren't affected by atmos. min_oxy = 0 max_oxy = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm b/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm index fd5c7ca68e..071aef71ca 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm @@ -39,6 +39,9 @@ response_disarm = "gently pushes aside" response_harm = "hits" + meat_amount = 2 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/fox + harm_intent_damage = 5 melee_damage_lower = 1 melee_damage_upper = 3 @@ -85,7 +88,7 @@ /mob/living/simple_mob/vore/fennec/huge icon = 'icons/mob/vore100x100.dmi' icon_rest = null - + // LORG maxHealth = 500 health = 500 @@ -101,7 +104,7 @@ old_x = -32 pixel_x = -32 default_pixel_x = -32 - + // If you're immune to digestion, they can't digest you anyway! vore_ignores_undigestable = TRUE vore_default_mode = DM_DIGEST @@ -119,7 +122,7 @@ response_help = "pats the paw of" response_disarm = "somehow shoves aside" - + ai_holder_type = /datum/ai_holder/simple_mob/retaliate/cooperative var/image/bigshadow var/autodoom = TRUE @@ -171,4 +174,3 @@ else return ..() return ..() - \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/fennix.dm b/code/modules/mob/living/simple_mob/subtypes/vore/fennix.dm index d32a6ee923..7d16df1049 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/fennix.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/fennix.dm @@ -12,6 +12,9 @@ maxHealth = 60 health = 60 + meat_amount = 5 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/fox + response_help = "pats" response_disarm = "gently pushes aside" response_harm = "hits" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm b/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm index a3d1c331a4..07bcf6b99d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/frog.dm @@ -1,6 +1,6 @@ /datum/category_item/catalogue/fauna/frog name = "Wildlife - Giant Frog" - desc = "Classification: Anura gigantus\ + desc = "Classification: Anura Gigantus\

\ A frog is any member of a diverse and largely carnivorous group of short-bodied, tailless amphibians composing \ the order Anura. This specific species - Anura gigantus - is a mutated form of frogs, largely due to exposure to mutagen chemicals. \ @@ -20,7 +20,7 @@ /mob/living/simple_mob/vore/aggressive/frog name = "giant frog" desc = "You've heard of having a frog in your throat, now get ready for the reverse." - tt_desc = "Anura gigantus" + tt_desc = "Anura Gigantus" catalogue_data = list(/datum/category_item/catalogue/fauna/frog) icon_dead = "frog-dead" @@ -30,6 +30,9 @@ movement_cooldown = 4 //fast as fucc boie. + meat_amount = 4 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + harm_intent_damage = 5 melee_damage_lower = 5 melee_damage_upper = 12 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/hippo.dm b/code/modules/mob/living/simple_mob/subtypes/vore/hippo.dm index b58ebca5ae..481f73a4cd 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/hippo.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/hippo.dm @@ -38,7 +38,7 @@ pixel_x = -16 pixel_y = 0 - meat_amount = 10 //Infinite meat! + meat_amount = 15 //Infinite meat! meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat max_buckled_mobs = 1 //Yeehaw diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm index 047f83e024..c5fa952264 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm @@ -23,7 +23,7 @@ melee_damage_upper = 5 attacktext = list("kicked") - meat_amount = 4 + meat_amount = 6 meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat max_buckled_mobs = 1 //Yeehaw @@ -49,7 +49,7 @@ melee_damage_upper = 15 attacktext = list("kicked") - meat_amount = 6 + meat_amount = 10 old_x = -16 old_y = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm index 4a843eed80..ad9601398b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm @@ -37,8 +37,7 @@ attacktext = "glomped" attack_sound = 'sound/effects/blobattack.ogg' - meat_amount = 2 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_amount = 0 showvoreprefs = 0 vore_active = 1 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm index 2b5103a128..0ff9d3d44c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm @@ -16,6 +16,9 @@ movement_cooldown = 4 see_in_dark = 8 + meat_amount = 8 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + melee_damage_lower = 5 melee_damage_upper = 15 attack_sharp = TRUE diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm b/code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm index d5eb37d0d1..3e60529764 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/rabbit.dm @@ -32,6 +32,9 @@ say_list_type = /datum/say_list/rabbit ai_holder_type = /datum/ai_holder/simple_mob/passive + meat_amount = 3 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + // Vore vars vore_active = 1 vore_bump_emote = "playfully lunges at" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm index 9af88b36cf..4740aa24d2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm @@ -45,6 +45,9 @@ attacktext = list("ravaged") friendly = list("nuzzles", "licks", "noses softly at", "noseboops", "headbumps against", "leans on", "nibbles affectionately on") + meat_amount = 6 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + old_x = -16 old_y = 0 default_pixel_x = -16 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/redpanda.dm b/code/modules/mob/living/simple_mob/subtypes/vore/redpanda.dm index fa75b5bc69..8399dd79fb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/redpanda.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/redpanda.dm @@ -13,6 +13,9 @@ maxHealth = 30 health = 30 + meat_amount = 2 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + response_help = "pats" response_disarm = "gently pushes aside" response_harm = "hits" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/sect_drone.dm b/code/modules/mob/living/simple_mob/subtypes/vore/sect_drone.dm index eb2b3c4d3e..ffb042c1df 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/sect_drone.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/sect_drone.dm @@ -48,6 +48,9 @@ vore_pounce_chance = 70 // v hongry buggo vore_icons = SA_ICON_LIVING + meat_amount = 4 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat + //Beeg bug don't give a fuck about atmos. Something something, phoron mutation. min_oxy = 0 max_oxy = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/sect_queen.dm b/code/modules/mob/living/simple_mob/subtypes/vore/sect_queen.dm index 21dc7aa5f5..8b0f99329d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/sect_queen.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/sect_queen.dm @@ -40,6 +40,8 @@ health = 200 see_in_dark = 8 + meat_amount = 8 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat melee_damage_lower = 8 melee_damage_upper = 16 diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm index 371fc8d241..ee27fb1c97 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm @@ -76,6 +76,8 @@ var/obj/screen/energyhud //Holder to update this icon var/list/shadekin_abilities + var/check_for_observer = FALSE + var/check_timer = 0 /mob/living/simple_mob/shadekin/Initialize() //You spawned the prototype, and want a totally random one. @@ -86,6 +88,7 @@ /mob/living/simple_mob/shadekin/red = 20, //Actively seek people out to nom, so fairly common to see (relatively speaking), /mob/living/simple_mob/shadekin/blue = 15, //Explorers that like to interact with people, so still fairly common, /mob/living/simple_mob/shadekin/purple = 15, //Also explorers that may or may not homf people, + /mob/living/simple_mob/shadekin/green = 5, /mob/living/simple_mob/shadekin/yellow = 1 //Very rare, usually never leaves their home ) var/new_type = pickweight(sk_types) @@ -198,7 +201,18 @@ if(. && nutrition > initial(nutrition) && energy < 100) nutrition = max(0, nutrition-5) energy = min(100,energy+1) - + if(!client && check_for_observer && check_timer++ > 5) + check_timer = 0 + var/non_kin_count = 0 + for(var/mob/living/M in view(6,src)) + if(!istype(M, /mob/living/simple_mob/shadekin)) + non_kin_count ++ + // Technically can be combined with ||, they call the same function, but readability is poor + if(!non_kin_count && (ability_flags & AB_PHASE_SHIFTED)) + phase_shift() // shifting back in, nobody present + else if (non_kin_count && !(ability_flags & AB_PHASE_SHIFTED)) + phase_shift() // shifting out, scaredy + /mob/living/simple_mob/shadekin/update_icon() . = ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm index e66162432b..d09e72aa97 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm @@ -28,6 +28,9 @@ a brawl, but you barely generate any of your own energy. You can stand in a dark spot to gather scraps \ of energy in a pinch, but otherwise need to take it, by force if necessary." +/mob/living/simple_mob/shadekin/red + ai_holder_type = /datum/ai_holder/simple_mob/melee + /mob/living/simple_mob/shadekin/red/white icon_state = "white" /mob/living/simple_mob/shadekin/red/dark @@ -35,16 +38,6 @@ /mob/living/simple_mob/shadekin/red/brown icon_state = "brown" -/mob/living/simple_mob/shadekin/red/ai - ai_holder_type = /datum/ai_holder/simple_mob/melee - -/mob/living/simple_mob/shadekin/red/ai/white - icon_state = "white" -/mob/living/simple_mob/shadekin/red/ai/dark - icon_state = "dark" -/mob/living/simple_mob/shadekin/red/ai/brown - icon_state = "brown" - ///////////////////////////////////////////////////////////////// /mob/living/simple_mob/shadekin/blue name = "blue-eyed shadekin" @@ -85,6 +78,9 @@ without doing so, albeit slowly. Dark and light are irrelevant to you, they are just different places to explore and \ discover new things and new people." +/mob/living/simple_mob/shadekin/blue/ + ai_holder_type = /datum/ai_holder/simple_mob/passive + /mob/living/simple_mob/shadekin/blue/white icon_state = "white" /mob/living/simple_mob/shadekin/blue/dark @@ -92,16 +88,6 @@ /mob/living/simple_mob/shadekin/blue/brown icon_state = "brown" -/mob/living/simple_mob/shadekin/blue/ai - ai_holder_type = /datum/ai_holder/simple_mob/passive - -/mob/living/simple_mob/shadekin/blue/ai/white - icon_state = "white" -/mob/living/simple_mob/shadekin/blue/ai/dark - icon_state = "dark" -/mob/living/simple_mob/shadekin/blue/ai/brown - icon_state = "brown" - ///////////////////////////////////////////////////////////////// /mob/living/simple_mob/shadekin/purple name = "purple-eyed shadekin" @@ -137,6 +123,9 @@ areas is taxing on your energy. You can harvest energy from others in a fight, but since you don't need to, you may \ just choose to simply not fight." +/mob/living/simple_mob/shadekin/purple + ai_holder_type = /datum/ai_holder/simple_mob/retaliate + /mob/living/simple_mob/shadekin/purple/white icon_state = "white" /mob/living/simple_mob/shadekin/purple/dark @@ -144,16 +133,6 @@ /mob/living/simple_mob/shadekin/purple/brown icon_state = "brown" -/mob/living/simple_mob/shadekin/purple/ai - ai_holder_type = /datum/ai_holder/simple_mob/retaliate - -/mob/living/simple_mob/shadekin/purple/ai/white - icon_state = "white" -/mob/living/simple_mob/shadekin/purple/ai/dark - icon_state = "dark" -/mob/living/simple_mob/shadekin/purple/ai/brown - icon_state = "brown" - ///////////////////////////////////////////////////////////////// /mob/living/simple_mob/shadekin/yellow name = "yellow-eyed shadekin" @@ -177,6 +156,7 @@ eye_desc = "yellow eyes" stalker = FALSE + check_for_observer = TRUE vore_stomach_flavor = "You slip past pointy triangle teeth and down the slick, slippery gullet \ of the creature. It's warm, and the air is thick. You can hear its body squelch and shift around you \ as you settle into its stomach! The doughy walls within cling to you heavily, churning down on you, wearing \ @@ -187,6 +167,9 @@ area is very taxing on you, but you gain energy extremely fast in any very dark area. You're weaker than other \ shadekin, but your fast energy generation in the dark allows you to phase shift more often." +/mob/living/simple_mob/shadekin/yellow + ai_holder_type = /datum/ai_holder/simple_mob/melee/hit_and_run + /mob/living/simple_mob/shadekin/yellow/white icon_state = "white" /mob/living/simple_mob/shadekin/yellow/dark @@ -194,24 +177,14 @@ /mob/living/simple_mob/shadekin/yellow/brown icon_state = "brown" -/mob/living/simple_mob/shadekin/yellow/ai - ai_holder_type = /datum/ai_holder/simple_mob/melee/hit_and_run - -/mob/living/simple_mob/shadekin/yellow/ai/white - icon_state = "white" -/mob/living/simple_mob/shadekin/yellow/ai/dark - icon_state = "dark" -/mob/living/simple_mob/shadekin/yellow/ai/brown - icon_state = "brown" - -/mob/living/simple_mob/shadekin/yellow/ai/retaliate +/mob/living/simple_mob/shadekin/yellow/retaliate ai_holder_type = /datum/ai_holder/simple_mob/retaliate -/mob/living/simple_mob/shadekin/yellow/ai/retaliate/white +/mob/living/simple_mob/shadekin/yellow/retaliate/white icon_state = "white" -/mob/living/simple_mob/shadekin/yellow/ai/retaliate/dark +/mob/living/simple_mob/shadekin/yellow/retaliate/dark icon_state = "dark" -/mob/living/simple_mob/shadekin/yellow/ai/retaliate/brown +/mob/living/simple_mob/shadekin/yellow/retaliate/brown icon_state = "brown" ///////////////////////////////////////////////////////////////// @@ -237,6 +210,7 @@ eye_desc = "green eyes" stalker = TRUE + check_for_observer = TRUE vore_stomach_flavor = "You slip past pointy triangle teeth and down the slick, slippery gullet \ of the creature. It's warm, and the air is thick. You can hear its body squelch and shift around you \ as you settle into its stomach! The doughy walls within cling to you heavily, churning down on you, wearing \ @@ -247,6 +221,9 @@ have more experience than your yellow-eyed cousins. You gain energy decently fast in any very dark area. You're weaker than other \ shadekin, but your slight energy generation constnatly, and especially in the dark allows for a good mix of uses." +/mob/living/simple_mob/shadekin/green + ai_holder_type = /datum/ai_holder/simple_mob/passive + /mob/living/simple_mob/shadekin/green/white icon_state = "white" /mob/living/simple_mob/shadekin/green/dark @@ -254,16 +231,6 @@ /mob/living/simple_mob/shadekin/green/brown icon_state = "brown" -/mob/living/simple_mob/shadekin/green/ai - ai_holder_type = /datum/ai_holder/simple_mob/passive - -/mob/living/simple_mob/shadekin/green/ai/white - icon_state = "white" -/mob/living/simple_mob/shadekin/green/ai/dark - icon_state = "dark" -/mob/living/simple_mob/shadekin/green/ai/brown - icon_state = "brown" - ///////////////////////////////////////////////////////////////// /mob/living/simple_mob/shadekin/orange name = "orange-eyed shadekin" @@ -294,6 +261,9 @@ You're stronger than most shadekin, faster, and more capable in a brawl, but you don't generate much of your own energy. \ You can stand in a dark spot to gather some energy, but otherwise need to take it, by force if necessary." +/mob/living/simple_mob/shadekin/orange + ai_holder_type = /datum/ai_holder/simple_mob/melee + /mob/living/simple_mob/shadekin/orange/white icon_state = "white" /mob/living/simple_mob/shadekin/orange/dark @@ -301,22 +271,13 @@ /mob/living/simple_mob/shadekin/orange/brown icon_state = "brown" -/mob/living/simple_mob/shadekin/orange/ai - ai_holder_type = /datum/ai_holder/simple_mob/melee - -/mob/living/simple_mob/shadekin/orange/ai/white - icon_state = "white" -/mob/living/simple_mob/shadekin/orange/ai/dark - icon_state = "dark" -/mob/living/simple_mob/shadekin/orange/ai/brown - icon_state = "brown" - ///////////////////////////////////////////////////////////////// //Fluffy specific fluffer /mob/living/simple_mob/shadekin/blue/rivyr name = "Rivyr" desc = "She appears to be a fluffer of some sort. Deep blue eyes and curious attitude." icon_state = "rivyr" + ai_holder_type = /datum/ai_holder/simple_mob/passive eye_desc = "" vore_stomach_flavor = "Blue flesh gleams in the fading light as you slip down the little mar's gullet! \ Gooey flesh and heat surrounds your form as you're tucked away into the darkness of her stomach! Thick slimes cling \ diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm b/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm index 32ddb75c0a..b4767b8dea 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm @@ -14,6 +14,9 @@ see_in_dark = 2 + meat_amount = 5 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + response_help = "pets" response_disarm = "gently pushes aside" response_harm = "kicks" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm b/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm index 600fb6fd53..1eee080207 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm @@ -38,6 +38,9 @@ melee_damage_lower = 5 melee_damage_upper = 12 + meat_amount = 6 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + response_help = "pats" response_disarm = "tries to shove" response_harm = "hits" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm index 12fe006460..3feecd4d03 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm @@ -43,6 +43,7 @@ var/global/list/moth_amount = 0 // Chompstation Addition, Rykka waz here. *pawst movement_cooldown = 8 meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat + meat_amount = 6 response_help = "pokes" response_disarm = "pushes" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub_larva.dm b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub_larva.dm index f3c200410b..0589a35391 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub_larva.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub_larva.dm @@ -16,8 +16,9 @@ var/global/list/grub_machine_overlays = list() melee_damage_lower = 1 // This is a tiny worm. It will nibble and thats about it. melee_damage_upper = 1 - meat_amount = 2 + meat_amount = 1 meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat + butchery_loot = list() // No hides faction = "grubs" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm b/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm index d3cae84552..3b339b71be 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm @@ -25,6 +25,9 @@ melee_damage_lower = 5 melee_damage_upper = 12 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_amount = 5 + minbodytemp = 200 ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive diff --git a/code/modules/mob/new_player/sprite_accessories_ear_vr.dm b/code/modules/mob/new_player/sprite_accessories_ear_vr.dm index 779b681523..4b6f558753 100644 --- a/code/modules/mob/new_player/sprite_accessories_ear_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_ear_vr.dm @@ -772,3 +772,12 @@ extra_overlay2 = "teppi_horns" do_colouration = 1 color_blend_mode = ICON_MULTIPLY + +/datum/sprite_accessory/ears/jackalope + name = "Jackalope Ears and Antlers" + desc = "" + icon = 'icons/mob/vore/ears_32x64.dmi' + icon_state = "jackalope" + extra_overlay = "jackalope-antlers" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY diff --git a/code/modules/mob/new_player/sprite_accessories_vr.dm b/code/modules/mob/new_player/sprite_accessories_vr.dm index 0c8c108c82..772bc92d85 100644 --- a/code/modules/mob/new_player/sprite_accessories_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_vr.dm @@ -91,14 +91,14 @@ name = "Bald" icon_state = "bald" gender = MALE - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) //Lets all the races be bald if they want. - + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW) //Lets all the races be bald if they want. + /datum/sprite_accessory/hair/ponytail6_fixed name = "Ponytail 6 but fixed" icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "hair_ponytail6" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_NEVREAN, SPECIES_AKULA,SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_NEVREAN, SPECIES_AKULA,SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW) /datum/sprite_accessory/hair/una_hood name = "Cobra Hood" @@ -465,20 +465,20 @@ /datum/sprite_accessory/facial_hair icon = 'icons/mob/human_face_or_vr.dmi' color_blend_mode = ICON_MULTIPLY - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) //This lets all races use the facial hair styles. + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW) //This lets all races use the facial hair styles. /datum/sprite_accessory/facial_hair/shaved name = "Shaved" icon_state = "bald" gender = NEUTER - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) //This needed to be manually defined, apparantly. + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW) //This lets all races use the facial hair styles. /datum/sprite_accessory/facial_hair/neck_fluff name = "Neck Fluff" icon = 'icons/mob/human_face_or_vr.dmi' icon_state = "facial_neckfluff" gender = NEUTER - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW) /datum/sprite_accessory/facial_hair/vulp_none name = "None" diff --git a/code/modules/multiz/ladder_assembly_vr.dm b/code/modules/multiz/ladder_assembly_vr.dm index 49f765225a..44fdcc0c82 100644 --- a/code/modules/multiz/ladder_assembly_vr.dm +++ b/code/modules/multiz/ladder_assembly_vr.dm @@ -4,7 +4,7 @@ /obj/structure/ladder_assembly name = "ladder assembly" - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures_vr.dmi' icon_state = "ladder00" density = FALSE opacity = 0 diff --git a/code/modules/overmap/overmap_object.dm b/code/modules/overmap/overmap_object.dm index ad5bf60dd2..ad87d50e8b 100644 --- a/code/modules/overmap/overmap_object.dm +++ b/code/modules/overmap/overmap_object.dm @@ -23,7 +23,7 @@ /// For showing to the pilot of the ship, so they see the 'real' appearance, despite others seeing the unknown ones var/image/real_appearance - light_system = MOVABLE_LIGHT + //light_system = MOVABLE_LIGHT light_on = FALSE /obj/effect/overmap/Initialize() diff --git a/code/modules/overmap/ships/computers/sensors.dm b/code/modules/overmap/ships/computers/sensors.dm index 9a1c0fb115..e09678f9b0 100644 --- a/code/modules/overmap/ships/computers/sensors.dm +++ b/code/modules/overmap/ships/computers/sensors.dm @@ -66,7 +66,7 @@ else data["status"] = "OK" var/list/contacts = list() - for(var/obj/effect/overmap/O in view(7,linked)) + for(var/obj/effect/overmap/O in range(7,linked)) if(linked == O) continue if(!O.scannable) @@ -125,10 +125,9 @@ return if(sensors && sensors.use_power && sensors.powered()) var/sensor_range = round(sensors.range*1.5) + 1 - linked.set_light_range(sensor_range + 0.5) - linked.set_light_on(TRUE) + linked.set_light(sensor_range + 0.5) else - linked.set_light_on(FALSE) + linked.set_light(0) /obj/machinery/shipsensors name = "sensors suite" diff --git a/code/modules/persistence/datum/persistence_datum.dm b/code/modules/persistence/datum/persistence_datum.dm index 78da290a26..955a35377f 100644 --- a/code/modules/persistence/datum/persistence_datum.dm +++ b/code/modules/persistence/datum/persistence_datum.dm @@ -71,7 +71,7 @@ return var/_z = token["z"] - if(_z in using_map.station_levels) + if(_z in using_map.persist_levels) . = GetValidTurf(locate(token["x"], token["y"], _z), token) if(.) CreateEntryInstance(., token) @@ -82,7 +82,7 @@ if(GetEntryAge(entry) >= entries_expire_at) return FALSE var/turf/T = get_turf(entry) - if(!T || !(T.z in using_map.station_levels) ) + if(!T || !(T.z in using_map.persist_levels) ) return FALSE var/area/A = get_area(T) if(!A || (A.flags & AREA_FLAG_IS_NOT_PERSISTENT)) diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm index f486d897d2..3b95676eee 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm @@ -30,6 +30,13 @@ if(environment.temperature > HEATMODE_TEMP - 30) . = TRUE +/proc/offsite_environment_check(turf/simulated/T) + . = TRUE + if(!istype(T)) + return + if(T.z in using_map.station_levels) + . = FALSE + /obj/item/weapon/gun/energy/kinetic_accelerator name = "proto-kinetic accelerator" desc = "A self recharging, ranged mining tool that does increased damage in low pressure." @@ -184,7 +191,7 @@ /obj/item/weapon/gun/energy/kinetic_accelerator/proc/empty() if(power_supply) power_supply.use(power_supply.charge) - update_icon() + update_icon() /obj/item/weapon/gun/energy/kinetic_accelerator/proc/attempt_reload(recharge_time) if(!power_supply) @@ -216,11 +223,12 @@ /obj/item/weapon/gun/energy/kinetic_accelerator/update_icon() cut_overlays() - if(overheat || (power_supply.charge == 0)) + if(overheat || !power_supply || (power_supply.charge == 0)) add_overlay(emptystate) #define KA_ENVIRO_TYPE_COLD 0 #define KA_ENVIRO_TYPE_HOT 1 +#define KA_ENVIRO_TYPE_OFFSITE 2 //Projectiles /obj/item/projectile/kinetic @@ -262,6 +270,12 @@ name = "weakened [name]" damage = damage * pressure_decrease pressure_decrease_active = TRUE + else if(environment == KA_ENVIRO_TYPE_OFFSITE) + if(!offsite_environment_check(get_turf(src))) + name = "nullified [name]" + nodamage = TRUE + damage = 0 + pressure_decrease_active = TRUE return ..() /obj/item/projectile/kinetic/attack_mob(mob/living/target_mob, distance, miss_modifier) @@ -276,6 +290,12 @@ name = "weakened [name]" damage = damage * pressure_decrease pressure_decrease_active = TRUE + else if(environment == KA_ENVIRO_TYPE_OFFSITE) + if(!offsite_environment_check(get_turf(src))) + name = "nullified [name]" + nodamage = TRUE + damage = 0 + pressure_decrease_active = TRUE return ..() /obj/item/projectile/kinetic/on_range() @@ -302,6 +322,12 @@ name = "weakened [name]" damage = damage * pressure_decrease pressure_decrease_active = TRUE + else if(environment == KA_ENVIRO_TYPE_OFFSITE) + if(!offsite_environment_check(get_turf(src))) + name = "nullified [name]" + nodamage = TRUE + damage = 0 + pressure_decrease_active = TRUE var/turf/target_turf = get_turf(target) if(!target_turf) target_turf = get_turf(src) @@ -391,8 +417,8 @@ if(forcemove) forceMove(get_turf(KA)) +//use this one to modify the projectile itself /obj/item/borg/upgrade/modkit/proc/modify_projectile(obj/item/projectile/kinetic/K) - //use this one for effects you want to trigger before any damage is done at all and before damage is decreased by pressure /obj/item/borg/upgrade/modkit/proc/projectile_prehit(obj/item/projectile/kinetic/K, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) //use this one for effects you want to trigger before mods that do damage @@ -420,6 +446,7 @@ /obj/item/borg/upgrade/modkit/damage/modify_projectile(obj/item/projectile/kinetic/K) K.damage += modifier + //Cooldown /obj/item/borg/upgrade/modkit/cooldown name = "cooldown decrease" @@ -522,7 +549,7 @@ //Tendril-unique modules /obj/item/borg/upgrade/modkit/cooldown/repeater name = "rapid repeater" - desc = "Quarters the kinetic accelerator's cooldown on striking a living target, but greatly increases the base cooldown." + desc = "Quarters the kinetic accelerator's cooldown on striking a living or mineral target, but greatly increases the base cooldown." denied_type = /obj/item/borg/upgrade/modkit/cooldown/repeater modifier = -14 //Makes the cooldown 3 seconds(with no cooldown mods) if you miss. Don't miss. cost = 50 @@ -547,7 +574,6 @@ modifier = 2.5 //Not a very effective method of healing. cost = 20 var/static/list/damage_heal_order = list(BRUTE, BURN, OXY) - /obj/item/borg/upgrade/modkit/lifesteal/projectile_prehit(obj/item/projectile/kinetic/K, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) if(isliving(target) && isliving(K.firer)) var/mob/living/L = target @@ -582,7 +608,6 @@ cost = 30 var/maximum_bounty = 25 var/list/bounties_reaped = list() - /obj/item/borg/upgrade/modkit/bounty/projectile_prehit(obj/item/projectile/kinetic/K, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) if(isliving(target)) var/mob/living/L = target @@ -593,7 +618,6 @@ SM.reward_target = null qdel(SM) L.apply_status_effect(STATUS_EFFECT_SYPHONMARK, src) - /obj/item/borg/upgrade/modkit/bounty/projectile_strike(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/weapon/gun/energy/kinetic_accelerator/KA) if(isliving(target)) var/mob/living/L = target @@ -603,7 +627,6 @@ kill_modifier *= K.pressure_decrease var/armor = L.run_armor_check(K.def_zone, K.flag, null, null, K.armour_penetration) L.apply_damage(bounties_reaped[L.type]*kill_modifier, K.damage_type, K.def_zone, armor) - /obj/item/borg/upgrade/modkit/bounty/proc/get_kill(mob/living/L) var/bonus_mod = 1 if(ismegafauna(L)) //megafauna reward @@ -616,7 +639,7 @@ //Indoors /obj/item/borg/upgrade/modkit/indoors - name = "decrease pressure penalty" + name = "hacked pressure modulator" desc = "A remarkably illegal modification kit that increases the damage a kinetic accelerator does in pressurized environments." modifier = 2 denied_type = /obj/item/borg/upgrade/modkit/indoors @@ -626,14 +649,25 @@ /obj/item/borg/upgrade/modkit/indoors/modify_projectile(obj/item/projectile/kinetic/K) K.pressure_decrease *= modifier +/obj/item/borg/upgrade/modkit/offsite + name = "offsite pressure modulator" + desc = "A non-standard modification kit that increases the damage a kinetic accelerator does in pressurized environments, \ + in exchange for nullifying any projected forces while on or in an associated facility." + denied_type = /obj/item/borg/upgrade/modkit/heater + maximum_of_type = 1 + cost = 35 + +/obj/item/borg/upgrade/modkit/offsite/modify_projectile(obj/item/projectile/kinetic/K) + K.environment = KA_ENVIRO_TYPE_OFFSITE + // Atmospheric /obj/item/borg/upgrade/modkit/heater name = "temperature modulator" desc = "A remarkably unusual modification kit that makes kinetic accelerators more usable in hot, overpressurized environments, \ in exchange for making them weak elsewhere, like the cold or in space." - denied_type = /obj/item/borg/upgrade/modkit/indoors + denied_type = /obj/item/borg/upgrade/modkit/offsite maximum_of_type = 1 - cost = 30 + cost = 10 /obj/item/borg/upgrade/modkit/heater/modify_projectile(obj/item/projectile/kinetic/K) K.environment = KA_ENVIRO_TYPE_HOT @@ -646,12 +680,10 @@ desc = "Allows creatures normally incapable of firing guns to operate the weapon when installed." cost = 20 denied_type = /obj/item/borg/upgrade/modkit/trigger_guard - /obj/item/borg/upgrade/modkit/trigger_guard/install(obj/item/weapon/gun/energy/kinetic_accelerator/KA, mob/user) . = ..() if(.) KA.trigger_guard = TRIGGER_GUARD_ALLOW_ALL - /obj/item/borg/upgrade/modkit/trigger_guard/uninstall(obj/item/weapon/gun/energy/kinetic_accelerator/KA) KA.trigger_guard = TRIGGER_GUARD_NORMAL ..() diff --git a/code/modules/projectiles/guns/magnetic/bore.dm b/code/modules/projectiles/guns/magnetic/bore.dm index 3cc05cc44b..66e89cb9eb 100644 --- a/code/modules/projectiles/guns/magnetic/bore.dm +++ b/code/modules/projectiles/guns/magnetic/bore.dm @@ -85,6 +85,8 @@ /obj/item/weapon/gun/magnetic/matfed/attackby(var/obj/item/thing, var/mob/user) + . = ..() + update_rating_mod() if(removable_components) if(thing.is_crowbar()) if(!manipulator) @@ -112,7 +114,6 @@ update_rating_mod() return - if(is_type_in_list(thing, load_type)) var/obj/item/stack/material/M = thing var/success = FALSE @@ -147,7 +148,6 @@ playsound(src, 'sound/weapons/flipblade.ogg', 50, 1) update_icon() return - . = ..() #define GEN_STARTING -1 #define GEN_OFF 0 diff --git a/code/modules/reagents/reactions/instant/drinks.dm b/code/modules/reagents/reactions/instant/drinks.dm index efb58fe90c..1a1ef0567a 100644 --- a/code/modules/reagents/reactions/instant/drinks.dm +++ b/code/modules/reagents/reactions/instant/drinks.dm @@ -203,6 +203,7 @@ name = "Classic Martini" id = "martini" result = "martini" + inhibitors = list("bitters" = 1) required_reagents = list("gin" = 2, "vermouth" = 1) result_amount = 3 diff --git a/code/modules/reagents/reactions/instant/food.dm b/code/modules/reagents/reactions/instant/food.dm index 952af8014b..021bd72f41 100644 --- a/code/modules/reagents/reactions/instant/food.dm +++ b/code/modules/reagents/reactions/instant/food.dm @@ -31,6 +31,7 @@ id = "chocolate_bar" result = null required_reagents = list("soymilk" = 2, "coco" = 2, "sugar" = 2) + catalysts = list("enzyme" = 5) result_amount = 1 /decl/chemical_reaction/instant/food/chocolate_bar/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -44,6 +45,7 @@ id = "chocolate_bar" result = null required_reagents = list("milk" = 2, "coco" = 2, "sugar" = 2) + catalysts = list("enzyme" = 5) result_amount = 1 /decl/chemical_reaction/instant/food/chocolate_bar2/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -180,4 +182,4 @@ var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) new /obj/item/weapon/reagent_containers/food/snacks/spreads/butter(location) - return \ No newline at end of file + return diff --git a/code/modules/reagents/reactions/instant/instant_vr.dm b/code/modules/reagents/reactions/instant/instant_vr.dm index 40015eb871..9ffa59cc62 100644 --- a/code/modules/reagents/reactions/instant/instant_vr.dm +++ b/code/modules/reagents/reactions/instant/instant_vr.dm @@ -401,7 +401,7 @@ /mob/living/simple_mob/animal/passive/bird/parrot/poly, /mob/living/simple_mob/animal/sif/fluffy, /mob/living/simple_mob/animal/sif/fluffy/silky, - /mob/living/simple_mob/animal/passive/snake/noodle, + /mob/living/simple_mob/animal/passive/snake/python/noodle, /mob/living/simple_mob/slime/xenobio/rainbow/kendrick, /mob/living/simple_mob/animal/space/space_worm, //Space Worm parts that aren't proper heads /mob/living/simple_mob/animal/space/space_worm/head/severed, diff --git a/code/modules/research/designs/circuits/circuits.dm b/code/modules/research/designs/circuits/circuits.dm index 9e21b9bc16..f3a7e396ab 100644 --- a/code/modules/research/designs/circuits/circuits.dm +++ b/code/modules/research/designs/circuits/circuits.dm @@ -36,14 +36,21 @@ CIRCUITS BELOW id = "oriontrail" req_tech = list(TECH_DATA = 1) build_path = /obj/item/weapon/circuitboard/arcade/orion_trail - sort_string = "MAAAZ" // Duplicate string, really need to redo this whole thing + sort_string = "MAAAB" + +/datum/design/circuit/clawmachine + name = "grab-a-gift arcade machine" + id = "clawmachine" + req_tech = list(TECH_DATA = 1) + build_path = /obj/item/weapon/circuitboard/arcade/clawmachine + sort_string = "MAAAC" /datum/design/circuit/jukebox name = "jukebox" id = "jukebox" req_tech = list(TECH_MAGNET = 2, TECH_DATA = 1) build_path = /obj/item/weapon/circuitboard/jukebox - sort_string = "MAAAB" + sort_string = "MAAAO" /datum/design/circuit/seccamera name = "security camera monitor" diff --git a/code/modules/research/prosfab_designs.dm b/code/modules/research/prosfab_designs.dm index 93544b02a7..db5159958d 100644 --- a/code/modules/research/prosfab_designs.dm +++ b/code/modules/research/prosfab_designs.dm @@ -268,6 +268,13 @@ time = 15 materials = list(MAT_STEEL = 2000, MAT_GLASS = 750, MAT_PLASTIC = 500) +/datum/design/item/prosfab/pros/internal/stomach + name = "Prosthetic Stomach" + id = "pros_stomach" + build_path = /obj/item/organ/internal/stomach + time = 15 + materials = list(MAT_STEEL = 5625, MAT_GLASS = 1000) + //////////////////// Cyborg Parts //////////////////// /datum/design/item/prosfab/cyborg category = list("Cyborg Parts") diff --git a/code/modules/resleeving/machines_vr.dm b/code/modules/resleeving/machine_subtypes.dm similarity index 91% rename from code/modules/resleeving/machines_vr.dm rename to code/modules/resleeving/machine_subtypes.dm index b9f7c81aa6..405bcef141 100644 --- a/code/modules/resleeving/machines_vr.dm +++ b/code/modules/resleeving/machine_subtypes.dm @@ -1,12 +1,12 @@ -/obj/machinery/transhuman/resleever/abductor - icon = 'icons/obj/abductor_vr.dmi' - icon_state = "implantchair" - -/obj/machinery/computer/transhuman/resleeving/abductor - icon = 'icons/obj/abductor.dmi' - icon_state = "console" - -/obj/machinery/clonepod/transhuman/full/abductor - icon = 'icons/obj/abductor_vr.dmi' - icon_state = "pod_0" +/obj/machinery/transhuman/resleever/abductor + icon = 'icons/obj/abductor_vr.dmi' + icon_state = "implantchair" + +/obj/machinery/computer/transhuman/resleeving/abductor + icon = 'icons/obj/abductor.dmi' + icon_state = "console" + +/obj/machinery/clonepod/transhuman/full/abductor + icon = 'icons/obj/abductor_vr.dmi' + icon_state = "pod_0" name = "clonepod" \ No newline at end of file diff --git a/code/modules/resleeving/machines.dm b/code/modules/resleeving/machines.dm index 5440ed36fb..d10f1ab921 100644 --- a/code/modules/resleeving/machines.dm +++ b/code/modules/resleeving/machines.dm @@ -592,8 +592,9 @@ //Re-supply a NIF if one was backed up with them. if(MR.nif_path) var/obj/item/device/nif/nif = new MR.nif_path(occupant,null,MR.nif_savedata) - for(var/path in MR.nif_software) - new path(nif) + spawn(0) //Delay to not install software before NIF is fully installed + for(var/path in MR.nif_software) + new path(nif) nif.durability = MR.nif_durability //Restore backed up durability after restoring the softs. // If it was a custom sleeve (not owned by anyone), update namification sequences diff --git a/code/modules/tgs/v5/chat_commands_zz_ch.dm b/code/modules/tgs/v5/chat_commands_zz_ch.dm index 436320985d..36b9662110 100644 --- a/code/modules/tgs/v5/chat_commands_zz_ch.dm +++ b/code/modules/tgs/v5/chat_commands_zz_ch.dm @@ -39,7 +39,7 @@ /datum/tgs_chat_command/manifest/Run(datum/tgs_chat_user/sender, params) if(config.nodebot_enabled) ManifestToHtml() - return "!!ManifestCompiled" + return "Manifest temporarily indefinitely probably broken" else var/outp = "Crew Manifest:" var/list/total = list() diff --git a/code/modules/vchat/vchat_client.dm b/code/modules/vchat/vchat_client.dm index 018d9e4439..a918c94cde 100644 --- a/code/modules/vchat/vchat_client.dm +++ b/code/modules/vchat/vchat_client.dm @@ -139,14 +139,15 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic set waitfor = FALSE // Only send them the number of buffered messages, instead of the ENTIRE log var/list/results = vchat_get_messages(owner.ckey, message_buffer) //If there's bad performance on reconnects, look no further - for(var/i in results.len to 1 step -1) - var/list/message = results[i] - var/count = 10 - to_chat_immediate(owner, message["time"], message["message"]) - count++ - if(count >= 10) - count = 0 - CHECK_TICK + if(islist(results)) + for(var/i in results.len to 1 step -1) + var/list/message = results[i] + var/count = 10 + to_chat_immediate(owner, message["time"], message["message"]) + count++ + if(count >= 10) + count = 0 + CHECK_TICK //It din work /datum/chatOutput/proc/become_broken() diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index 4ae820b0ee..1da9578618 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -25,26 +25,24 @@ break if(dest_belly) for(var/atom/movable/M in autotransfer_queue) - if(!M.autotransferable) - autotransfer_queue -= M + if(!M || !M.autotransferable) continue transfer_contents(M, dest_belly) autotransfer_queue.Cut() var/tally = 0 for(var/atom/movable/M in autotransferables) - if(!M.autotransferable) - autotransferables -= M + if(!M || !M.autotransferable) continue if(isliving(M)) var/mob/living/L = M if(L.absorbed) continue - tally++ M.belly_cycles++ - if(autotransfer_max_amount > 0 && tally > autotransfer_max_amount) - continue if(M.belly_cycles >= autotransferwait / 60) check_autotransfer(M, autotransferlocation) + tally++ + if(autotransfer_max_amount > 0 && tally >= autotransfer_max_amount) + break var/play_sound //Potential sound to play at the end to avoid code duplication. var/to_update = FALSE //Did anything update worthy happen? diff --git a/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act_vr.dm index 377ee6b134..3439a4591f 100644 --- a/code/modules/vore/eating/digest_act_vr.dm +++ b/code/modules/vore/eating/digest_act_vr.dm @@ -75,7 +75,17 @@ qdel(O) else if(item_storage) O.forceMove(item_storage) - qdel(src) + if(istype(src,/obj/item/stack)) + var/obj/item/stack/S = src + if(S.get_amount() <= 1) + qdel(src) + else + S.use(1) + digest_stage = w_class + else + qdel(src) + if(g_damage > w_class) + return w_class return g_damage ///////////// diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 2a772e6c11..136b10e78b 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -457,6 +457,14 @@ var/obj/effect/overlay/aiholo/holo = loc holo.drop_prey() //Easiest way log_and_message_admins("[key_name(src)] used the OOC escape button to get out of [key_name(holo.master)] (AI HOLO) ([holo ? "JMP" : "null"])") + + //You're in a capture crystal! ((It's not vore but close enough!)) + else if(iscapturecrystal(loc)) + var/obj/item/capture_crystal/crystal = loc + crystal.unleash() + crystal.bound_mob = null + crystal.bound_mob = capture_crystal = 0 + log_and_message_admins("[key_name(src)] used the OOC escape button to get out of [crystal] owned by [crystal.owner]. [ADMIN_FLW(src)]") //Don't appear to be in a vore situation else @@ -670,7 +678,11 @@ if(S.holding) to_chat(src, "There's something inside!") return - + if(iscapturecrystal(I)) + var/obj/item/capture_crystal/C = I + if(!C.bound_mob.devourable) + to_chat(src, "That doesn't seem like a good idea. (\The [C.bound_mob]'s prefs don't allow it.)") + return drop_item() I.forceMove(vore_selected) updateVRPanel() @@ -724,15 +736,23 @@ else if (istype(I,/obj/item/clothing/accessory/collar)) visible_message("[src] demonstrates their voracious capabilities by swallowing [I] whole!") to_chat(src, "You can taste the submissiveness in the wearer of [I]!") - //kcin2000 1/29/21 - lets you eat the news digitally and adds a text for the paper news + else if(iscapturecrystal(I)) + var/obj/item/capture_crystal/C = I + if(C.bound_mob && (C.bound_mob in C.contents)) + if(isbelly(C.loc)) + var/obj/belly/B = C.loc + to_chat(C.bound_mob, "Outside of your crystal, you can see; [B.desc]") + to_chat(src, "You can taste the the power of command.") + // CHOMPedit begin else if(istype(I,/obj/item/device/starcaster_news)) to_chat(src, "You can taste the dry flavor of digital garbage, oh wait its just the news.") else if(istype(I,/obj/item/weapon/newspaper)) to_chat(src, "You can taste the dry flavor of garbage, oh wait its just the news.") - //kcin2001 1/29/21 - Adding some special synth trash eat else if (istype(I,/obj/item/weapon/cell)) visible_message("[src] sates their electric appeite with a [I]!") to_chat(src, "You can taste the spicy flavor of electrolytes, yum.") + //CHOMPedit end + else to_chat(src, "You can taste the flavor of garbage. Delicious.") return diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 0da474f5a9..de00e22893 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -1398,7 +1398,6 @@ End CHOMP Removal*/ new /obj/item/weapon/material/knife/machete/hatchet/unathiknife/fluff/antoinette(hold) new /obj/item/weapon/reagent_containers/glass/bottle/poppy(hold) - //Hunterbirk - Amaryll //This is a 'technical item' which basically is meant to represent rippiing things up with bare claws. /obj/item/weapon/surgical/scalpel/amaryll_claws @@ -1417,4 +1416,4 @@ End CHOMP Removal*/ icon = 'icons/vore/custom_items_vr.dmi' icon_state = "stamp-midhorror" stamptext = "This paper has been certified by The Council of Mid Horror" - + diff --git a/code/modules/xenoarcheaology/tools/suspension_generator.dm b/code/modules/xenoarcheaology/tools/suspension_generator.dm index 08d41fc121..2f2c87954e 100644 --- a/code/modules/xenoarcheaology/tools/suspension_generator.dm +++ b/code/modules/xenoarcheaology/tools/suspension_generator.dm @@ -13,6 +13,15 @@ /obj/machinery/suspension_gen/Initialize() . = ..() cell = new /obj/item/weapon/cell/high(src) + power_change() + +/obj/machinery/suspension_gen/power_change() + var/oldstat = stat + if(cell) + stat &= ~NOPOWER + else + stat |= NOPOWER + return (stat != oldstat) /obj/machinery/suspension_gen/process() if(suspension_field) @@ -56,7 +65,7 @@ /obj/machinery/suspension_gen/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() - + data["cell"] = cell data["cellCharge"] = cell?.charge data["cellMaxCharge"] = cell?.maxcharge diff --git a/icons/inventory/accessory/item.dmi b/icons/inventory/accessory/item.dmi index 9c51533b02..766a661e79 100644 Binary files a/icons/inventory/accessory/item.dmi and b/icons/inventory/accessory/item.dmi differ diff --git a/icons/inventory/accessory/mob.dmi b/icons/inventory/accessory/mob.dmi index dcf3765fe4..b6e325e2d8 100644 Binary files a/icons/inventory/accessory/mob.dmi and b/icons/inventory/accessory/mob.dmi differ diff --git a/icons/inventory/ears/mob.dmi b/icons/inventory/ears/mob.dmi index 174ed17469..95ec0e9c8a 100644 Binary files a/icons/inventory/ears/mob.dmi and b/icons/inventory/ears/mob.dmi differ diff --git a/icons/inventory/face/item.dmi b/icons/inventory/face/item.dmi index 0d18ec906f..fb8c950859 100644 Binary files a/icons/inventory/face/item.dmi and b/icons/inventory/face/item.dmi differ diff --git a/icons/inventory/face/mob.dmi b/icons/inventory/face/mob.dmi index e7e5626fde..83095f8a10 100644 Binary files a/icons/inventory/face/mob.dmi and b/icons/inventory/face/mob.dmi differ diff --git a/icons/inventory/head/mob.dmi b/icons/inventory/head/mob.dmi index 045b311269..c555efe874 100644 Binary files a/icons/inventory/head/mob.dmi and b/icons/inventory/head/mob.dmi differ diff --git a/icons/mob/alienanimals_x32.dmi b/icons/mob/alienanimals_x32.dmi index f3cb748708..b187ad5873 100644 Binary files a/icons/mob/alienanimals_x32.dmi and b/icons/mob/alienanimals_x32.dmi differ diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index fd99eed3f0..def737dcc3 100644 Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ diff --git a/icons/mob/items/lefthand_holder.dmi b/icons/mob/items/lefthand_holder.dmi index e0af896f82..aa7e7807cc 100644 Binary files a/icons/mob/items/lefthand_holder.dmi and b/icons/mob/items/lefthand_holder.dmi differ diff --git a/icons/mob/items/righthand_holder.dmi b/icons/mob/items/righthand_holder.dmi index 70a1131190..bad25f481b 100644 Binary files a/icons/mob/items/righthand_holder.dmi and b/icons/mob/items/righthand_holder.dmi differ diff --git a/icons/mob/robots_vr.dmi b/icons/mob/robots_vr.dmi index 2e34ed66d5..a05fa9c79f 100644 Binary files a/icons/mob/robots_vr.dmi and b/icons/mob/robots_vr.dmi differ diff --git a/icons/mob/snake_vr.dmi b/icons/mob/snake_vr.dmi index 42631b85de..6802aecc47 100644 Binary files a/icons/mob/snake_vr.dmi and b/icons/mob/snake_vr.dmi differ diff --git a/icons/mob/vore/ears_32x64.dmi b/icons/mob/vore/ears_32x64.dmi index d790034cda..0fb0a0667d 100644 Binary files a/icons/mob/vore/ears_32x64.dmi and b/icons/mob/vore/ears_32x64.dmi differ diff --git a/icons/obj/capture_crystal_vr.dmi b/icons/obj/capture_crystal_vr.dmi new file mode 100644 index 0000000000..7cd9208b2b Binary files /dev/null and b/icons/obj/capture_crystal_vr.dmi differ diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi index a52ac02d69..8ae5c06b72 100644 Binary files a/icons/obj/computer.dmi and b/icons/obj/computer.dmi differ diff --git a/icons/obj/rig_modules.dmi b/icons/obj/rig_modules.dmi index a63fcc23a8..841733ee72 100644 Binary files a/icons/obj/rig_modules.dmi and b/icons/obj/rig_modules.dmi differ diff --git a/icons/turf/flooring/weird_vr.dmi b/icons/turf/flooring/weird_vr.dmi new file mode 100644 index 0000000000..b8e10ec136 Binary files /dev/null and b/icons/turf/flooring/weird_vr.dmi differ diff --git a/icons/vore/custom_items_vr.dmi b/icons/vore/custom_items_vr.dmi index 10580ec71f..9b84b0f92c 100644 Binary files a/icons/vore/custom_items_vr.dmi and b/icons/vore/custom_items_vr.dmi differ diff --git a/maps/expedition_vr/aerostat/_aerostat_science_outpost.dm b/maps/expedition_vr/aerostat/_aerostat_science_outpost.dm index f08d716e93..a1f2dbd4cf 100644 --- a/maps/expedition_vr/aerostat/_aerostat_science_outpost.dm +++ b/maps/expedition_vr/aerostat/_aerostat_science_outpost.dm @@ -280,6 +280,14 @@ VIRGO2_TURF_CREATE(/turf/simulated/floor/hull) name = "Firing Range" icon_state = "orawhisqu" +/area/offmap/aerostat/inside/miscstorage + name = "Miscellaneous Storage" + icon_state = "orawhisqu" + +/area/offmap/aerostat/inside/virology + name = "Virology Lab" + icon_state = "yelwhicir" + /area/offmap/aerostat/inside/south name = "Miscellaneous Labs A" icon_state = "blublasqu" diff --git a/maps/expedition_vr/aerostat/aerostat_science_outpost.dmm b/maps/expedition_vr/aerostat/aerostat_science_outpost.dmm index d5017ade26..453395bae7 100644 --- a/maps/expedition_vr/aerostat/aerostat_science_outpost.dmm +++ b/maps/expedition_vr/aerostat/aerostat_science_outpost.dmm @@ -195,6 +195,15 @@ }, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch) +"aA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/genetics) "aB" = ( /obj/effect/floor_decal/rust, /obj/effect/floor_decal/industrial/warning/dust{ @@ -216,11 +225,11 @@ /turf/simulated/floor, /area/offmap/aerostat/inside/airlock/west) "aF" = ( -/obj/machinery/atmospherics/unary/heat_exchanger, -/obj/structure/window/basic, -/obj/effect/floor_decal/corner/red/border, -/turf/simulated/floor/tiled/steel_ridged, -/area/offmap/aerostat/inside/toxins) +/obj/machinery/atmospherics/unary/freezer{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/northchamb) "aG" = ( /obj/machinery/power/solar, /obj/effect/floor_decal/rust, @@ -229,11 +238,14 @@ }, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) -"aH" = ( -/turf/simulated/wall, -/area/offmap/aerostat/inside/misclab) "aI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/blue, +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "aJ" = ( @@ -256,6 +268,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/structure/table/wooden_reinforced, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "aN" = ( @@ -418,7 +431,10 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/airlock/north) "bj" = ( -/obj/effect/floor_decal/industrial/warning/dust, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/sign/painting/public{ + pixel_x = 30 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) "bk" = ( @@ -454,16 +470,6 @@ }, /turf/simulated/floor, /area/offmap/aerostat/inside/airlock/north) -"bm" = ( -/obj/structure/cable/heavyduty{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) "bn" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -497,15 +503,13 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/airlock/north) "bq" = ( -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/vending/fitness{ + dir = 1 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) "br" = ( @@ -558,11 +562,6 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) -"bx" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/table/reinforced, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) "bz" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" @@ -586,9 +585,6 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) "bC" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Toxins Lab" - }, /obj/machinery/atmospherics/pipe/simple/hidden/green{ dir = 4 }, @@ -596,24 +592,27 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/offmap/aerostat/inside/toxins) +/turf/simulated/wall, +/area/offmap/aerostat/inside/xenoarch) "bE" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 }, /turf/simulated/wall/r_wall, /area/offmap/aerostat/inside/xenoarch) +"bF" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/southchamb) "bG" = ( -/obj/structure/table/standard, -/obj/item/stack/cable_coil, -/obj/item/weapon/tool/wirecutters, -/obj/item/stack/cable_coil, -/obj/machinery/atmospherics/unary/vent_pump/on{ +/obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/tank/phoron, +/obj/machinery/portable_atmospherics/canister/empty, +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 2; + req_access = list(7) + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "bI" = ( @@ -677,15 +676,11 @@ /obj/structure/cable{ icon_state = "1-8" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) -"bO" = ( -/obj/structure/cable/heavyduty{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) "bP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red, /obj/machinery/meter, @@ -697,11 +692,8 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "bR" = ( -/obj/machinery/atmospherics/pipe/simple/visible/red{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -714,20 +706,6 @@ }, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch) -"bT" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/floor_decal/industrial/warning, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) "bU" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 8 @@ -742,7 +720,7 @@ dir = 4 }, /turf/simulated/wall, -/area/offmap/aerostat/inside/toxins) +/area/offmap/aerostat/inside/xenoarch) "bW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/green{ dir = 9 @@ -789,6 +767,12 @@ /obj/machinery/light, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) +"ci" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/northchamb) "cj" = ( /obj/structure/closet/emcloset, /turf/simulated/shuttle/floor/yellow, @@ -828,7 +812,6 @@ /obj/structure/cable/heavyduty{ icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) "cp" = ( @@ -847,6 +830,9 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "cr" = ( @@ -866,6 +852,12 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/xenoarch) +"cs" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/miscstorage) "ct" = ( /obj/machinery/door/airlock/external{ frequency = 1380; @@ -935,14 +927,12 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/arm/nw) "cz" = ( -/obj/machinery/light{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 + dir = 9 }, +/obj/structure/closet/wardrobe/genetics_white, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/genetics) "cA" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/green, /turf/simulated/floor/tiled/techfloor, @@ -960,6 +950,12 @@ /obj/machinery/meter, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) +"cD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "cE" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/black, /turf/simulated/floor/tiled/techfloor, @@ -968,8 +964,19 @@ /obj/machinery/atmospherics/pipe/simple/hidden/red{ dir = 6 }, +/obj/machinery/light, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) +"cG" = ( +/obj/machinery/light/floortube{ + dir = 4; + pixel_x = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "cI" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 1 @@ -1006,6 +1013,20 @@ }, /turf/simulated/floor, /area/offmap/aerostat/inside/arm/sw) +"cM" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/storage/lockbox/vials, +/obj/item/weapon/storage/fancy/vials, +/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "cO" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -1033,6 +1054,12 @@ }, /turf/simulated/floor/bluegrid, /area/offmap/aerostat/inside/powercontrol) +"cQ" = ( +/obj/structure/dispenser{ + phorontanks = 0 + }, +/turf/simulated/floor/tiled, +/area/offmap/aerostat/inside/drillstorage) "cR" = ( /obj/structure/bed/chair/sofa/purp/left, /obj/structure/sign/painting/public{ @@ -1040,6 +1067,10 @@ }, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) +"cT" = ( +/obj/machinery/smartfridge/chemistry/virology, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "cU" = ( /turf/simulated/shuttle/wall/voidcraft/green/virgo2, /area/offmap/aerostat/inside/arm/sw) @@ -1059,12 +1090,15 @@ /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch/chamber) "cX" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) "cZ" = ( @@ -1289,6 +1323,19 @@ }, /turf/simulated/floor, /area/offmap/aerostat/inside/arm/ne) +"dz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/window/basic, +/obj/structure/window/basic{ + dir = 8 + }, +/obj/machinery/atmospherics/unary/heat_exchanger, +/obj/effect/floor_decal/corner/red/border{ + dir = 8 + }, +/obj/effect/floor_decal/corner/red/border, +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/toxins) "dA" = ( /obj/effect/floor_decal/rust, /obj/effect/decal/cleanable/blood, @@ -1352,8 +1399,24 @@ /area/offmap/aerostat/solars) "dH" = ( /obj/structure/table/standard, +/obj/item/weapon/storage/backpack/parachute{ + pixel_x = 6; + pixel_y = -6 + }, +/obj/item/weapon/storage/backpack/parachute{ + pixel_x = -6; + pixel_y = -6 + }, +/obj/item/weapon/storage/backpack/parachute{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/weapon/storage/backpack/parachute{ + pixel_x = -6; + pixel_y = 6 + }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/telesci) +/area/offmap/aerostat/inside/miscstorage) "dI" = ( /obj/machinery/power/solar, /obj/effect/floor_decal/industrial/warning/dust, @@ -1517,12 +1580,8 @@ /turf/simulated/floor, /area/offmap/aerostat/inside/arm/nw) "dY" = ( -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/turf/simulated/shuttle/wall/voidcraft/green, +/area/offmap/aerostat/inside/atmos) "dZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable{ @@ -1561,6 +1620,8 @@ /area/offmap/aerostat/inside/airlock/east) "ed" = ( /obj/machinery/light, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/mining/brace, /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/drillstorage) "ef" = ( @@ -1568,7 +1629,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) "ei" = ( /obj/effect/floor_decal/rust, /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ @@ -1586,39 +1647,55 @@ /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/easthall) "el" = ( -/obj/machinery/atmospherics/portables_connector{ +/obj/machinery/atmospherics/pipe/tank/phoron{ dir = 8 }, -/obj/machinery/alarm{ - dir = 8; - pixel_x = 23 - }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "er" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) +"ev" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/storage/box/monkeycubes, +/obj/item/weapon/storage/box/monkeycubes/wolpincubes, +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "ey" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 8 - }, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) "ez" = ( /obj/machinery/atmospherics/pipe/simple/hidden/green{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/wall, +/area/offmap/aerostat/inside/xenoarch) +"eA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/wall, -/area/offmap/aerostat/inside/toxins) +/obj/machinery/light/floortube{ + dir = 4; + pixel_x = 5 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/firingrange) "eE" = ( /obj/structure/bed/chair/sofa/purp/right, /obj/structure/sign/painting/public{ @@ -1643,6 +1720,12 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/xenoarch) +"eJ" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/southchamb) "eL" = ( /obj/effect/floor_decal/rust, /obj/structure/cable/yellow{ @@ -1652,37 +1735,45 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "eM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 5 - }, +/obj/machinery/atmospherics/pipe/simple/hidden/black, +/obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "eN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/wall, /area/offmap/aerostat/inside/firingrange) "eO" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/black{ - dir = 1 +/obj/machinery/atmospherics/pipe/manifold/hidden/red{ + dir = 8 }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "eP" = ( /obj/machinery/camera/network/research_outpost{ dir = 4 }, -/obj/structure/flora/pottedplant/unusual, +/obj/structure/bed/chair/sofa/purp/left{ + dir = 4 + }, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "eR" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass_research{ + name = "Xenoarchaeology Storage" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/xenoarch) "eT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1694,34 +1785,35 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "eV" = ( /obj/structure/sign/painting/public{ pixel_x = -30 }, +/obj/structure/bed/chair/sofa/purp/right{ + dir = 4 + }, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "eW" = ( /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) "eX" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 10 - }, +/obj/machinery/atmospherics/pipe/simple/hidden/black, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "eZ" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 8 - }, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "fa" = ( @@ -1735,6 +1827,14 @@ "fb" = ( /turf/simulated/shuttle/wall/voidcraft/green/virgo2, /area/offmap/aerostat/inside/arm/ne) +"fc" = ( +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/rust, +/obj/effect/decal/cleanable/blood/oil, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "fe" = ( /obj/effect/decal/cleanable/cobweb2, /obj/effect/floor_decal/rust, @@ -1754,8 +1854,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 }, +/obj/machinery/light, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "fg" = ( /obj/effect/floor_decal/rust, /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ @@ -1767,18 +1868,37 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "fh" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + dir = 4 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/wall, +/area/offmap/aerostat/inside/xenoarch) "fi" = ( -/obj/structure/table/standard, -/obj/machinery/computer/atmoscontrol/laptop{ - monitored_alarm_ids = list("anomaly_testing"); - req_one_access = list(47,24,11) +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + dir = 4 }, -/turf/simulated/floor/tiled/white, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/wall, /area/offmap/aerostat/inside/xenoarch) "fj" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ @@ -1797,37 +1917,43 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/north) "fn" = ( -/obj/structure/bed/chair/office/light{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/tiled, +/turf/simulated/wall, /area/offmap/aerostat/inside/xenoarch) "fo" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5 - }, /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) "fp" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) +"fr" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/offmap/aerostat/inside/drillstorage) "ft" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, +/obj/machinery/vending/sovietsoda{ + dir = 8 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) "fw" = ( @@ -1841,16 +1967,16 @@ /area/offmap/aerostat/inside/southchamb) "fx" = ( /obj/structure/bed/chair/office/light{ - dir = 4 + dir = 1 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) -"fA" = ( -/obj/machinery/light/small{ - dir = 1 +"fC" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 4 }, -/turf/simulated/floor/tiled/dark, -/area/offmap/aerostat/inside/xenoarch) +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "fD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/green, /obj/machinery/atmospherics/pipe/simple/hidden/black{ @@ -1872,6 +1998,9 @@ /obj/structure/cable{ icon_state = "2-8" }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) "fI" = ( @@ -1887,12 +2016,12 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "fJ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, /obj/structure/table/reinforced, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) @@ -1921,20 +2050,22 @@ /obj/effect/floor_decal/rust, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/arm/nw) +"fP" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/southchamb) "fQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/wall, /area/offmap/aerostat/inside/toxins) "fR" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_y = 24 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/portable_atmospherics/powered/scrubber, +/turf/simulated/floor/plating, +/area/offmap/aerostat/inside/toxins) "fS" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -1949,12 +2080,19 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/machinery/chem_master, +/obj/machinery/camera/network/research_outpost{ + dir = 8 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "fV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/wall, /area/offmap/aerostat/inside/atmos) "fW" = ( @@ -1967,13 +2105,26 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/airlock/north) +"fX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/window/reinforced/full, +/obj/structure/grille, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "fY" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "ga" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1981,6 +2132,10 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) +"gb" = ( +/obj/machinery/computer/centrifuge, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "gd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 1 @@ -2000,7 +2155,7 @@ /turf/simulated/shuttle/wall/voidcraft/hard_corner{ stripe_color = "#00FF00" }, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/westhall) "gh" = ( /obj/machinery/atmospherics/binary/pump/on{ dir = 1 @@ -2021,8 +2176,23 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/light{ + dir = 4 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) +"gl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/wall, +/area/offmap/aerostat/inside/miscstorage) "gs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -2049,11 +2219,19 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/obj/effect/floor_decal/rust, +/obj/structure/sign/poster{ + dir = 8; + pixel_x = -32 + }, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "gx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch) "gy" = ( /obj/structure/closet/crate/bin{ @@ -2061,6 +2239,17 @@ }, /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/drillstorage) +"gz" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass_research{ + name = "Telescience" + }, +/obj/machinery/door/blast/regular/open{ + id = telesci_blast; + name = "Blast Door" + }, +/turf/simulated/floor/reinforced, +/area/offmap/aerostat/inside/telesci) "gC" = ( /obj/machinery/alarm{ pixel_y = 26 @@ -2074,33 +2263,31 @@ /obj/structure/extinguisher_cabinet{ pixel_x = -28 }, -/obj/machinery/atmospherics/unary/vent_pump/on{ +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/outline/red, +/obj/structure/anomaly_container, +/obj/machinery/light{ dir = 8 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/turf/simulated/floor, +/area/offmap/aerostat/inside/xenoarch) "gG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9 +/obj/machinery/atmospherics/portables_connector{ + dir = 8 }, +/obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) -"gK" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/atmos) "gL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/blue{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/heavyduty{ + icon_state = "2-8" }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -2124,6 +2311,12 @@ dir = 4; pixel_x = 5 }, +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) "gQ" = ( @@ -2149,7 +2342,7 @@ dir = 4 }, /turf/simulated/wall, -/area/offmap/aerostat/inside/toxins) +/area/offmap/aerostat/inside/xenoarch) "gS" = ( /obj/machinery/door/airlock/external{ frequency = 1380; @@ -2168,26 +2361,32 @@ }, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) +"gU" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/blast/regular/open{ + id = telesci_blast; + name = "Blast Door" + }, +/turf/simulated/floor/reinforced, +/area/offmap/aerostat/inside/telesci) "gV" = ( -/obj/machinery/atmospherics/binary/pump/on{ - name = "N2O pump" +/obj/machinery/atmospherics/omni/atmos_filter{ + name = "Phoron Filter"; + tag_east = 6; + tag_north = 1; + tag_south = 2 }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) -"gW" = ( -/obj/structure/cable/heavyduty{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/atmos) "gX" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/red{ dir = 1 }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) "gZ" = ( @@ -2243,16 +2442,21 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold4w/hidden, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) -"hn" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) -"hp" = ( -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 4 +/obj/machinery/light{ + dir = 8 }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/atmos) +"hn" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/plating/virgo2, +/area/offmap/aerostat/inside/atmos) +"hp" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) @@ -2275,42 +2479,48 @@ /turf/simulated/floor/bluegrid, /area/offmap/aerostat/inside/powercontrol) "hs" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 +/obj/structure/sign/poster{ + dir = 4; + pixel_x = 32 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "hu" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ - dir = 4 + dir = 10 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "hv" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/drillstorage) -"hA" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) -"hB" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ +"hw" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/reagent_containers/dropper, +/obj/item/weapon/reagent_containers/glass/beaker, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/machinery/camera/network/research_outpost{ - dir = 4 +/obj/machinery/light{ + dir = 8 }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/area/offmap/aerostat/inside/virology) +"hA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/random/maintenance/research, +/obj/random/maintenance/research, +/obj/random/tool, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "hC" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" @@ -2331,18 +2541,6 @@ }, /turf/simulated/shuttle/floor/yellow, /area/shuttle/aerostat) -"hG" = ( -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{ - scrub_id = "science_outpost" - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) -"hJ" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) "hL" = ( /obj/structure/window/reinforced{ dir = 8 @@ -2352,12 +2550,6 @@ /obj/structure/grille, /turf/simulated/floor, /area/offmap/aerostat/inside/toxins) -"hM" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) "hN" = ( /obj/structure/table/rack/shelf, /turf/simulated/floor/tiled/techfloor, @@ -2369,9 +2561,8 @@ /turf/simulated/shuttle/floor/yellow, /area/shuttle/aerostat) "hQ" = ( -/obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/mech_recharger, -/turf/simulated/floor/tiled, +/turf/simulated/floor/bluegrid, /area/offmap/aerostat/inside/drillstorage) "hS" = ( /obj/machinery/alarm{ @@ -2414,36 +2605,50 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, +/obj/structure/flora/pottedplant/minitree, /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/drillstorage) "ie" = ( /turf/simulated/wall, /area/offmap/aerostat/inside/zorrenoffice) "if" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/obj/machinery/camera/network/research_outpost, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/westhall) "ig" = ( -/obj/structure/bed/chair/office/light{ - dir = 8 +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/structure/window/reinforced{ + dir = 4 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "ii" = ( -/obj/machinery/atmospherics/pipe/manifold/visible{ +/obj/machinery/atmospherics/pipe/simple/hidden/green{ dir = 4 }, -/obj/machinery/meter, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) -"il" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/wall, +/area/offmap/aerostat/inside/xenoarch) +"ik" = ( +/obj/effect/floor_decal/rust, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) +"il" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, /obj/machinery/power/apc{ dir = 1; @@ -2455,15 +2660,32 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) "io" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/structure/window/reinforced{ dir = 4 }, -/obj/machinery/bomb_tester, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 2; + req_access = list(7) + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"is" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/curtain/open/shower/medical, +/obj/machinery/shower{ + pixel_y = 13 + }, +/turf/simulated/floor/tiled/dark, +/area/offmap/aerostat/inside/virology) "it" = ( /obj/machinery/light, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -2489,16 +2711,6 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/east) -"iB" = ( -/obj/structure/cable/heavyduty{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) "iC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -2511,7 +2723,6 @@ /obj/machinery/alarm{ pixel_y = 26 }, -/obj/structure/flora/pottedplant/unusual, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) "iK" = ( @@ -2539,6 +2750,12 @@ /obj/effect/floor_decal/rust, /turf/simulated/floor/plating/virgo2, /area/shuttle/aerostat) +"iQ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/southchamb) "iU" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -2546,9 +2763,7 @@ /turf/simulated/shuttle/wall/voidcraft/green/virgo2, /area/offmap/aerostat/inside/arm/ne) "iV" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 5 - }, +/obj/machinery/atmospherics/pipe/simple/visible, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "iW" = ( @@ -2574,14 +2789,19 @@ /obj/effect/floor_decal/industrial/danger{ dir = 8 }, +/obj/machinery/light{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "iZ" = ( /obj/machinery/camera/network/research_outpost{ dir = 4 }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/closet/wardrobe/genetics_white, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/genetics) "ja" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4 @@ -2605,31 +2825,27 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "ji" = ( /obj/machinery/atmospherics/pipe/simple/hidden/blue{ dir = 10 }, /obj/structure/cable{ - icon_state = "2-8" + icon_state = "2-4" }, -/obj/machinery/medical_kiosk, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "jj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/obj/machinery/atmospherics/unary/freezer{ - dir = 8; - icon_state = "freezer" - }, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) "jl" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ frequency = 1452 @@ -2638,6 +2854,12 @@ /obj/effect/floor_decal/rust, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/xenoarch/chamber) +"jm" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/wall, +/area/offmap/aerostat/inside/arm/ne) "jn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -2658,20 +2880,21 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) "ju" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/structure/window/reinforced, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) -"jw" = ( -/obj/structure/cable/heavyduty{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) +/turf/simulated/wall, +/area/offmap/aerostat/inside/xenoarch) +"jw" = ( +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled, +/area/offmap/aerostat/inside/misclab) "jy" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" @@ -2683,13 +2906,16 @@ /obj/structure/sign/painting/public{ pixel_y = 30 }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "jE" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 8 }, -/obj/structure/table/glass, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "jF" = ( @@ -2706,15 +2932,17 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "jH" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 4 - }, /obj/structure/cable{ icon_state = "2-4" }, /obj/structure/cable{ icon_state = "2-8" }, +/obj/machinery/atmospherics/trinary/mixer/m_mixer{ + dir = 4; + name = "High Power Gas mixer"; + power_rating = 15000 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "jI" = ( @@ -2726,9 +2954,6 @@ }, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch/chamber) -"jJ" = ( -/turf/simulated/shuttle/wall/voidcraft/green/virgo2/nocol, -/area/offmap/aerostat/inside/airlock/east) "jL" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -2749,17 +2974,19 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "jN" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/pipedispenser, +/turf/simulated/floor/plating, +/area/offmap/aerostat/inside/toxins) "jQ" = ( -/obj/machinery/light/floortube{ - dir = 8; - pixel_x = -6 +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/simulated/floor/tiled/white, +/obj/machinery/door/airlock/glass_research{ + name = "Telescience" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/telesci) "jR" = ( /obj/effect/floor_decal/rust, @@ -2771,12 +2998,6 @@ }, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) -"jS" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) "jT" = ( /obj/structure/table/standard, /obj/item/weapon/tool/wrench{ @@ -2787,6 +3008,9 @@ pixel_x = 2; pixel_y = 2 }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "jU" = ( @@ -2799,11 +3023,9 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/arm/se) "jV" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/obj/structure/flora/ausbushes/ppflowers, +/turf/simulated/floor/grass, +/area/offmap/aerostat/inside/genetics) "jW" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -2823,9 +3045,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/obj/effect/floor_decal/rust, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "ka" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 @@ -2870,6 +3093,9 @@ /obj/structure/cable{ icon_state = "2-4" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/wall, /area/offmap/aerostat/inside/toxins) "kg" = ( @@ -2878,7 +3104,7 @@ }, /obj/effect/map_helper/airlock/sensor/ext_sensor, /turf/simulated/shuttle/wall/voidcraft/green/virgo2/nocol, -/area/offmap/aerostat/inside/airlock/east) +/area/offmap/aerostat/inside/virology) "kk" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -2903,7 +3129,7 @@ }, /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating/virgo2, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "kp" = ( /obj/effect/floor_decal/rust, /obj/effect/floor_decal/industrial/warning/dust{ @@ -2915,11 +3141,15 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "kq" = ( -/obj/machinery/camera/network/research_outpost{ - dir = 4 +/obj/machinery/power/apc{ + dir = 4; + pixel_x = 28 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/simulated/floor/tiled, +/area/offmap/aerostat/inside/misclab) "ks" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4 @@ -2958,6 +3188,9 @@ /obj/machinery/camera/network/research_outpost{ dir = 8 }, +/obj/structure/bed/chair/sofa/purp/right{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "kD" = ( @@ -3030,27 +3263,27 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/powercontrol) "kO" = ( -/obj/machinery/atmospherics/pipe/simple/visible/red{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, /obj/machinery/camera/network/research_outpost{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "kR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, -/obj/machinery/atmospherics/binary/pump/on, /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) +"kS" = ( +/obj/machinery/atmospherics/pipe/manifold/visible, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "kV" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3075,54 +3308,34 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/northchamb) "lb" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/machinery/camera/network/research_outpost{ - dir = 1 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) +/obj/structure/window/reinforced/full, +/obj/structure/grille, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "lc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/autolathe, /obj/machinery/camera/network/research_outpost{ dir = 4 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) "ld" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) -"le" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 8 +/obj/structure/cable{ + icon_state = "2-4" }, -/obj/effect/floor_decal/industrial/warning/corner, -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/northchamb) "lh" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 1 +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/visible{ + dir = 8 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -3135,13 +3348,18 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/airlock/north) "lk" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/obj/machinery/door/window/brigdoor/eastleft{ - req_access = list(7) +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + dir = 4 }, -/obj/structure/window/reinforced, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/sign/directions/science/xenoarch, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/wall, +/area/offmap/aerostat/inside/xenoarch) "ll" = ( /obj/machinery/atmospherics/pipe/simple/insulated{ dir = 5 @@ -3159,10 +3377,12 @@ }, /turf/simulated/shuttle/wall/voidcraft/green/virgo2, /area/offmap/aerostat/inside/arm/sw) -"lq" = ( -/obj/effect/floor_decal/industrial/outline/red, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) +"lr" = ( +/obj/machinery/atmospherics/valve{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "ls" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 @@ -3187,7 +3407,7 @@ }, /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating/virgo2, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "lv" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 @@ -3195,14 +3415,32 @@ /obj/effect/floor_decal/industrial/warning/cee{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 6 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "lx" = ( /obj/machinery/camera/network/research_outpost{ dir = 4 }, +/obj/structure/sign/painting/public{ + pixel_x = -30 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) +"ly" = ( +/obj/machinery/light_switch{ + pixel_y = 25 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/genetics) "lz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -3219,38 +3457,33 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) "lA" = ( -/obj/machinery/mining/drill, -/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/mineral/equipment_vendor, /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/drillstorage) -"lD" = ( -/obj/effect/floor_decal/industrial/warning{ +"lC" = ( +/obj/machinery/atmospherics/portables_connector{ dir = 8 }, -/obj/effect/floor_decal/industrial/warning{ - dir = 4 +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/floor_decal/rust, +/obj/machinery/camera/network/research_outpost{ + dir = 8 }, -/obj/machinery/light, /turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/arm/se) "lG" = ( -/obj/structure/table/standard, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/turf/simulated/floor/tiled, +/obj/machinery/light/small, +/turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch) "lH" = ( -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/turf/simulated/wall, +/area/offmap/aerostat/inside/atmos) "lI" = ( /obj/machinery/door/window/brigdoor/eastleft{ dir = 1; @@ -3259,8 +3492,16 @@ /turf/simulated/floor, /area/offmap/aerostat/inside/firingrange) "lK" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 10 +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 24; + pixel_y = -5 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -3283,19 +3524,24 @@ }, /turf/simulated/floor/bluegrid, /area/offmap/aerostat/inside/powercontrol) -"lR" = ( -/obj/machinery/medical_kiosk, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +"lP" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/grass, +/area/offmap/aerostat/inside/genetics) +"lS" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/northchamb) "lT" = ( -/obj/machinery/pipedispenser, +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "lW" = ( -/obj/machinery/light/floortube{ - dir = 8; - pixel_x = -6 - }, +/obj/machinery/atmospherics/binary/pump, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "lX" = ( @@ -3319,10 +3565,18 @@ }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) -"mg" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +"md" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) +"me" = ( +/obj/machinery/light, +/obj/structure/flora/ausbushes/ywflowers, +/turf/simulated/floor/grass, +/area/offmap/aerostat/inside/genetics) +"mg" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 1 }, @@ -3332,28 +3586,45 @@ /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/drillstorage) "mi" = ( -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/structure/window/reinforced, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "mj" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/obj/effect/floor_decal/rust, +/obj/random/maintenance/research, +/obj/random/firstaid, +/obj/random/maintenance/engineering, +/obj/random/soap, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "mk" = ( /obj/machinery/atmospherics/pipe/simple/visible/blue{ dir = 10 }, /obj/machinery/meter, -/obj/machinery/camera/network/research_outpost{ +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) +"mm" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/structure/table/reinforced, +/obj/item/clothing/glasses/goggles, +/obj/item/clothing/ears/earmuffs, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/area/offmap/aerostat/inside/firingrange) "mn" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/door/airlock/glass_external/public, @@ -3372,6 +3643,26 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/toxins) +"mp" = ( +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) +"ms" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass_research{ + name = "Genetics Lab" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/genetics) "mt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -3382,6 +3673,7 @@ /obj/machinery/alarm{ pixel_y = 26 }, +/obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "mx" = ( @@ -3392,11 +3684,6 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/airlock/north) -"mz" = ( -/obj/effect/floor_decal/industrial/outline/red, -/obj/structure/anomaly_container, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) "mA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -3409,14 +3696,15 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "mD" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/structure/window/reinforced{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/green{ - dir = 6 +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 2; + req_access = list(7) }, -/obj/effect/floor_decal/industrial/warning/cee, -/turf/simulated/floor/greengrid, +/turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "mE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3459,28 +3747,39 @@ dir = 4 }, /obj/structure/table/standard, +/obj/random/tool, +/obj/random/tool, +/obj/structure/sign/poster{ + dir = 4; + pixel_x = 32 + }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/telesci) +/area/offmap/aerostat/inside/miscstorage) +"mI" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/stack/nanopaste, +/obj/item/device/flashlight/lamp{ + pixel_x = 5; + pixel_y = 9 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) +"mJ" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/portable_atmospherics/powered/pump, +/turf/simulated/floor/plating, +/area/offmap/aerostat/inside/toxins) "mL" = ( /obj/machinery/light{ dir = 1 }, -/obj/item/modular_computer/console, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) -"mM" = ( -/obj/machinery/light{ +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/structure/window/reinforced{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/toxins) "mN" = ( /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/arm/nw) @@ -3528,16 +3827,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/easthall) -"mY" = ( -/obj/structure/cable/heavyduty{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 10 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) "mZ" = ( /obj/effect/floor_decal/rust, /obj/structure/cable/yellow{ @@ -3548,14 +3837,22 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "nb" = ( -/obj/machinery/vending/tool, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + dir = 4; + pixel_x = 28 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "nf" = ( -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 8 +/obj/machinery/atmospherics/trinary/atmos_filter{ + dir = 4; + name = "High Power Gas filter"; + power_rating = 15000; + use_power = 0 }, -/obj/machinery/meter, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "nh" = ( @@ -3566,14 +3863,27 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"ni" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/power/apc{ + dir = 4; + pixel_x = 28 + }, +/obj/structure/cable, +/turf/simulated/floor, +/area/offmap/aerostat/inside/westhall) "nm" = ( -/obj/machinery/atmospherics/unary/freezer{ - dir = 8 +/obj/machinery/atmospherics/binary/pump/on{ + name = "Scrubber to Waste" }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "no" = ( /obj/machinery/atmospherics/omni/mixer{ name = "Air Mixer"; @@ -3623,16 +3933,15 @@ /obj/structure/cable/heavyduty{ icon_state = "1-2" }, -/obj/machinery/door/airlock/glass_research{ - name = "Toxins Lab"; - req_one_access = null - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass_research{ + name = "Toxins Lab" + }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/toxins) "nw" = ( @@ -3657,10 +3966,11 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/toxins) "nB" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/black, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/manifold4w/visible, +/obj/machinery/meter, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "nE" = ( @@ -3682,6 +3992,15 @@ }, /turf/simulated/floor, /area/offmap/aerostat/inside/firingrange) +"nG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/easthall) "nJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -3689,15 +4008,6 @@ }, /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/firingrange) -"nK" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/wall, -/area/offmap/aerostat/inside/toxins) "nL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/bluegrid, @@ -3762,10 +4072,10 @@ /turf/simulated/floor/reinforced/airless, /area/offmap/aerostat/inside/toxins) "nV" = ( -/obj/structure/cable/heavyduty{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden/green, +/obj/machinery/portable_atmospherics/powered/pump, +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/light, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "nW" = ( @@ -3775,29 +4085,15 @@ /turf/simulated/shuttle/wall/voidcraft/green/virgo2, /area/offmap/aerostat/inside/arm/ne) "nY" = ( -/obj/structure/table/rack, -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/alarm{ dir = 4; pixel_x = -23 }, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/storage/belt/archaeology, -/obj/item/clothing/mask/breath, -/obj/item/clothing/suit/space/anomaly/heat, -/obj/item/clothing/head/helmet/space/anomaly/heat, -/obj/item/weapon/pickaxe, -/obj/item/weapon/storage/excavation, -/obj/item/stack/flag/yellow, -/obj/item/weapon/tool/wrench, -/obj/item/device/measuring_tape, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "oc" = ( -/obj/machinery/light{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + dir = 9 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -3818,6 +4114,13 @@ }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"oi" = ( +/obj/machinery/alarm{ + dir = 4; + pixel_x = -23 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "oj" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8 @@ -3830,9 +4133,10 @@ /turf/simulated/floor, /area/offmap/aerostat/inside/arm/sw) "ol" = ( -/obj/machinery/atmospherics/unary/freezer{ +/obj/structure/window/reinforced{ dir = 4 }, +/obj/machinery/portable_atmospherics/canister/phoron, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "om" = ( @@ -3850,17 +4154,12 @@ /area/offmap/aerostat/inside/powercontrol) "oo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5 - }, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) "op" = ( /turf/simulated/wall/r_wall, /area/offmap/aerostat/inside/xenoarch) @@ -3874,6 +4173,23 @@ /obj/effect/map_helper/airlock/atmos/pump_out_internal, /turf/simulated/floor, /area/offmap/aerostat/inside/arm/nw) +"ot" = ( +/turf/simulated/shuttle/wall/voidcraft/green, +/area/offmap/aerostat/inside/virology) +"ou" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue, +/obj/structure/table/standard, +/obj/item/weapon/tool/screwdriver, +/obj/item/device/analyzer, +/obj/item/weapon/tool/wrench, +/obj/item/clothing/glasses/welding, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/machinery/power/apc, +/obj/structure/cable, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "ov" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" @@ -3911,6 +4227,9 @@ /area/offmap/aerostat/inside/firingrange) "oG" = ( /obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "oJ" = ( @@ -3921,14 +4240,18 @@ /obj/structure/cable{ icon_state = "0-8" }, +/obj/structure/flora/pottedplant/subterranean, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) "oK" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/structure/window/reinforced{ dir = 4 }, -/obj/structure/dispenser, -/obj/machinery/light, +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 2; + req_access = list(7) + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "oL" = ( @@ -3980,38 +4303,33 @@ /area/offmap/aerostat/inside/toxins) "oY" = ( /obj/structure/table/standard, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/anobattery{ - pixel_x = 5; - pixel_y = 2 +/obj/item/weapon/tool/crowbar, +/obj/item/weapon/anodevice{ + pixel_x = 1 }, -/obj/item/weapon/anobattery, -/obj/item/weapon/anobattery{ - pixel_x = -4; - pixel_y = 3 +/obj/item/weapon/anodevice{ + pixel_x = -2 }, -/obj/item/weapon/anobattery{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/effect/floor_decal/spline/plain{ - dir = 1 - }, -/obj/item/device/flashlight/lamp, -/turf/simulated/floor/tiled, +/obj/item/device/multitool, +/obj/machinery/light, +/turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "oZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ - icon_state = "0-8" + icon_state = "4-8" }, -/obj/machinery/power/apc{ - dir = 4; - pixel_x = 28 - }, -/obj/structure/closet/wardrobe/genetics_white, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) +"pa" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "pd" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8 @@ -4046,6 +4364,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) +"ph" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/black, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "pj" = ( /obj/effect/floor_decal/rust, /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ @@ -4055,6 +4377,7 @@ /area/offmap/aerostat/solars) "pm" = ( /obj/machinery/light, +/obj/structure/table/wooden_reinforced, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) "pn" = ( @@ -4065,6 +4388,13 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) +"po" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden, +/obj/machinery/camera/network/research_outpost{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "pq" = ( /obj/structure/table/steel_reinforced, /obj/machinery/door/window/brigdoor/eastright{ @@ -4085,8 +4415,12 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "ps" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -4097,19 +4431,11 @@ }, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) -"pu" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/structure/flora/pottedplant/overgrown, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) "py" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black, -/obj/machinery/atmospherics/binary/pump{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 }, -/turf/simulated/floor/tiled/white, +/turf/simulated/wall, /area/offmap/aerostat/inside/toxins) "pz" = ( /obj/structure/cable/heavyduty{ @@ -4126,10 +4452,6 @@ /area/offmap/aerostat/inside/arm/se) "pA" = ( /obj/structure/table/steel_reinforced, -/obj/machinery/door/window/brigdoor/eastleft{ - dir = 2; - req_access = list(1337) - }, /obj/machinery/door/firedoor/glass, /obj/machinery/door/blast/shutters{ dir = 2; @@ -4164,14 +4486,14 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "pH" = ( -/obj/structure/cable{ - icon_state = "2-4" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 }, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "1-8" }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/southchamb) +/area/offmap/aerostat/inside/northchamb) "pL" = ( /obj/effect/floor_decal/rust, /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ @@ -4182,13 +4504,6 @@ }, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) -"pM" = ( -/obj/effect/floor_decal/industrial/warning/corner, -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 8 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) "pP" = ( /obj/machinery/light/floortube{ dir = 1; @@ -4257,6 +4572,9 @@ dir = 8; pixel_x = -6 }, +/obj/structure/bed/chair/comfy/black{ + dir = 8 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) "pZ" = ( @@ -4275,26 +4593,19 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/southchamb) -"qe" = ( -/obj/structure/cable/heavyduty{ - icon_state = "1-2" +"qf" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ +/obj/effect/floor_decal/industrial/warning{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 +/obj/machinery/alarm{ + pixel_y = 26 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) -"qf" = ( -/obj/structure/window/reinforced, -/obj/machinery/portable_atmospherics/canister/phoron, -/obj/machinery/door/window/brigdoor/eastleft{ - req_access = list(7) - }, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/turf/simulated/floor, +/area/offmap/aerostat/inside/xenoarch) "qh" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/red{ dir = 1 @@ -4302,6 +4613,9 @@ /obj/machinery/light_switch{ pixel_y = 25 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) "qi" = ( @@ -4326,12 +4640,16 @@ /obj/machinery/light{ dir = 1 }, +/obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) "ql" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "2-8" + }, +/obj/structure/bed/chair/sofa/purp/left{ + dir = 8 }, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) @@ -4339,7 +4657,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/structure/table/steel_reinforced, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "qq" = ( @@ -4358,6 +4676,33 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) +"qr" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = -4 + }, +/obj/machinery/alarm{ + dir = 4; + pixel_x = -23 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) +"qt" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/grass, +/area/offmap/aerostat/inside/genetics) +"qv" = ( +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/firingrange) "qw" = ( /obj/machinery/power/apc{ dir = 4; @@ -4389,6 +4734,13 @@ "qC" = ( /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"qD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "qE" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" @@ -4418,14 +4770,15 @@ /turf/simulated/wall, /area/offmap/aerostat/inside/toxins) "qJ" = ( -/obj/machinery/atmospherics/omni/atmos_filter{ - name = "N2O Filter"; - tag_east = 7; - tag_north = 1; - tag_south = 2 - }, +/obj/machinery/vending/cigarette, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) +"qK" = ( +/obj/machinery/computer/telescience{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/telesci) "qL" = ( /obj/structure/window/reinforced{ dir = 8 @@ -4456,11 +4809,12 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) "qP" = ( -/obj/machinery/light{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/table/steel_reinforced, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "qQ" = ( @@ -4468,7 +4822,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/tiled, +/turf/simulated/wall, /area/offmap/aerostat/inside/xenoarch) "qR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -4478,12 +4832,11 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) "qS" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/light{ - dir = 4 +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 }, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) "qT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -4491,19 +4844,19 @@ /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "qU" = ( -/obj/machinery/alarm{ - pixel_y = 26 - }, -/obj/machinery/vending/phoronresearch{ - name = "Toximate 2556"; - products = list(/obj/item/device/transfer_valve = 3, /obj/item/device/assembly/timer = 6, /obj/item/device/assembly/signaler = 6, /obj/item/device/assembly/prox_sensor = 6, /obj/item/device/assembly/igniter = 12) +/obj/structure/window/reinforced{ + dir = 4 }, +/obj/machinery/portable_atmospherics/canister/nitrogen, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "qZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/light{ + dir = 8 + }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "rd" = ( /obj/machinery/atmospherics/pipe/simple/insulated, /obj/machinery/door/blast/regular{ @@ -4514,18 +4867,25 @@ /turf/simulated/floor/reinforced/airless, /area/offmap/aerostat/inside/toxins) "re" = ( -/obj/machinery/atmospherics/pipe/tank/nitrous_oxide{ +/obj/machinery/atmospherics/unary/freezer{ dir = 8 }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) -"rg" = ( -/obj/machinery/light/floortube{ - dir = 4; - pixel_x = 5 +/area/offmap/aerostat/inside/atmos) +"rf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 6 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"rg" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/closet/crate/science, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/xenoarch) "ri" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/door/airlock/external{ @@ -4535,29 +4895,9 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/airlock/north) -"rk" = ( -/obj/effect/floor_decal/industrial/warning/corner, -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) "rq" = ( /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/firingrange) -"rr" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Xenoarchaeology" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/offmap/aerostat/inside/xenoarch) "rs" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/dark, @@ -4584,31 +4924,37 @@ }, /turf/simulated/wall, /area/offmap/aerostat/inside/atmos) -"rx" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 10 - }, +"ry" = ( +/obj/structure/flora/pottedplant/subterranean, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/northchamb) +"rz" = ( +/obj/structure/table/standard, +/obj/item/weapon/tank/phoron, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/weapon/tool/wirecutters, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) -"ry" = ( -/turf/simulated/shuttle/wall/voidcraft/green, -/area/offmap/aerostat/inside/xenoarch) -"rF" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 +"rC" = ( +/obj/machinery/computer/diseasesplicer{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/machinery/alarm{ - pixel_y = 26 - }, -/turf/simulated/floor/tiled/dark, -/area/offmap/aerostat/inside/xenoarch) -"rH" = ( -/obj/structure/table/standard, -/obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) +"rH" = ( +/obj/structure/closet/crate/science, +/obj/effect/floor_decal/rust, +/obj/machinery/power/apc{ + dir = 1; + pixel_y = 24 + }, +/obj/structure/cable, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor, /area/offmap/aerostat/inside/xenoarch) "rI" = ( /obj/machinery/atmospherics/pipe/simple/visible/black{ @@ -4629,6 +4975,12 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/north) +"rP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/wall, +/area/offmap/aerostat/inside/xenoarch) "rS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -4642,18 +4994,35 @@ }, /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/airlock/east) +"rU" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/turf/simulated/wall, +/area/offmap/aerostat/inside/toxins) +"rW" = ( +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/genetics) "sb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/closet/excavation, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "sc" = ( -/obj/effect/floor_decal/industrial/warning/dust{ +/obj/machinery/atmospherics/portables_connector{ dir = 8 }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "se" = ( /obj/effect/floor_decal/industrial/outline/red, /turf/simulated/floor/tiled/dark, @@ -4681,18 +5050,30 @@ }, /turf/simulated/floor/reinforced/airless, /area/offmap/aerostat/inside/toxins) +"sj" = ( +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 1; + req_access = null + }, +/turf/simulated/floor/grass, +/area/offmap/aerostat/inside/genetics) "sk" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/south) "sm" = ( -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/machinery/door/window/brigdoor/eastleft{ - req_access = list(7) +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 }, -/obj/structure/window/reinforced, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/obj/structure/table/rack, +/obj/item/clothing/suit/bio_suit/anomaly, +/obj/item/clothing/head/bio_hood/anomaly, +/obj/item/clothing/gloves/sterile/latex, +/obj/item/clothing/glasses/science, +/obj/item/clothing/mask/breath, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) "sn" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/shuttle/wall/voidcraft/green/virgo2, @@ -4741,20 +5122,24 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) -"sz" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 +"sy" = ( +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/southchamb) "sD" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "sE" = ( /obj/effect/floor_decal/rust, /obj/structure/cable/yellow{ @@ -4772,22 +5157,25 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/obj/effect/floor_decal/rust, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "sJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, +/obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) "sK" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "sN" = ( @@ -4795,7 +5183,6 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/portable_atmospherics/canister/empty, /obj/machinery/camera/network/research_outpost{ dir = 4 }, @@ -4817,6 +5204,7 @@ icon_state = "1-2" }, /obj/structure/table/standard, +/obj/item/weapon/ore/bluespace_crystal, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) "sQ" = ( @@ -4838,12 +5226,6 @@ }, /turf/simulated/wall/r_wall, /area/offmap/aerostat/inside/xenoarch) -"sW" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) "sX" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; @@ -4870,6 +5252,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/shuttle/wall/voidcraft/green/virgo2, /area/offmap/aerostat/inside/arm/ne) +"tf" = ( +/obj/structure/closet/crate/bin{ + anchored = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/telesci) "tg" = ( /obj/effect/shuttle_landmark{ base_area = /area/offmap/aerostat; @@ -4884,8 +5272,19 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, +/obj/structure/closet/firecloset, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) +"tj" = ( +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/rust, +/obj/structure/table/rack, +/obj/random/contraband, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "tk" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -4893,9 +5292,6 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 10 - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -4915,6 +5311,14 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/airlock/north) +"tn" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/medical, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "tq" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4; @@ -4937,6 +5341,15 @@ }, /turf/simulated/floor, /area/offmap/aerostat/inside/airlock/north) +"tr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/easthall) "ts" = ( /obj/structure/shuttle/window, /obj/structure/grille, @@ -4947,32 +5360,25 @@ /turf/simulated/floor, /area/shuttle/aerostat) "tu" = ( -/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 10 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "tv" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Toxins Lab"; - req_one_access = null - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass_research{ + name = "Toxins Lab" + }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/toxins) "ty" = ( /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/easthall) -"tA" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) "tD" = ( -/obj/structure/bed/chair/office/light, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch) "tE" = ( /obj/machinery/atmospherics/pipe/simple/hidden, @@ -4992,44 +5398,35 @@ /obj/effect/floor_decal/rust, /obj/machinery/power/apc{ dir = 8; - name = "east bump"; pixel_x = -22 }, /turf/simulated/floor, /area/offmap/aerostat/inside/arm/se) -"tG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) "tH" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/wall, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/blast/regular/open{ + id = telesci_blast; + name = "Blast Door" + }, +/turf/simulated/floor/reinforced, /area/offmap/aerostat/inside/telesci) "tI" = ( /obj/effect/floor_decal/industrial/danger/corner{ dir = 8 }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "tJ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/light/floortube{ - dir = 8; - pixel_x = -6 + dir = 5 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "tL" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Toxins Lab" - }, /obj/machinery/atmospherics/pipe/simple/hidden/green{ dir = 9 }, @@ -5037,8 +5434,14 @@ dir = 4 }, /obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door/airlock/glass_research{ + name = "Xenoarchaeology Prep Room" + }, /turf/simulated/floor/tiled/steel_ridged, -/area/offmap/aerostat/inside/toxins) +/area/offmap/aerostat/inside/xenoarch) "tM" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -5048,15 +5451,6 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/arm/ne) -"tP" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/blue{ - dir = 4 - }, -/obj/machinery/alarm{ - pixel_y = 26 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) "tR" = ( /obj/structure/flora/pottedplant/subterranean, /turf/simulated/floor/tiled/techfloor, @@ -5069,71 +5463,70 @@ /turf/simulated/shuttle/floor/yellow/airless, /area/shuttle/aerostat) "tU" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, /obj/machinery/light_switch{ pixel_y = 24 }, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) "tV" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/dispenser{ - phorontanks = 0 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -25; - pixel_y = -2 - }, +/obj/machinery/suspension_gen, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "tY" = ( /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/airlock/east) "ua" = ( -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 8 +/obj/machinery/door/airlock/glass_research{ + name = "Atmospherics"; + req_one_access = list(47,10) }, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/atmos) "ud" = ( -/obj/structure/cable/heavyduty{ - icon_state = "2-8" - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"uf" = ( +/obj/machinery/button/remote/blast_door{ + dir = 1; + id = 2; + name = "Virology Emergency Quarantine"; + pixel_y = 5 + }, +/turf/simulated/wall, +/area/offmap/aerostat/inside/virology) "ug" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/table/steel_reinforced, /obj/structure/sign/painting/public{ pixel_x = 30 }, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "uh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, /obj/structure/cable{ - icon_state = "2-8" + icon_state = "1-2" }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/southchamb) +/area/offmap/aerostat/inside/northchamb) "uj" = ( -/obj/machinery/light/floortube{ - dir = 4; - pixel_x = 5 - }, +/obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) "uk" = ( /obj/machinery/light, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/se) "um" = ( /obj/machinery/door/airlock/external, /obj/structure/cable{ @@ -5143,9 +5536,8 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/northchamb) "un" = ( -/obj/structure/cable/heavyduty{ - icon_state = "4-8" - }, +/obj/machinery/portable_atmospherics/powered/scrubber, +/obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "uq" = ( @@ -5156,7 +5548,7 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "ur" = ( /obj/machinery/atmospherics/pipe/simple/insulated{ dir = 4 @@ -5176,6 +5568,12 @@ }, /turf/simulated/wall, /area/offmap/aerostat/inside/firingrange) +"ut" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/offmap/aerostat/inside/telesci) "uu" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/red{ dir = 1 @@ -5192,15 +5590,9 @@ /obj/structure/window/basic{ dir = 1 }, -/obj/structure/window/basic{ - dir = 8 - }, /obj/effect/floor_decal/corner/red/border{ dir = 1 }, -/obj/effect/floor_decal/corner/red/border{ - dir = 8 - }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/toxins) "ux" = ( @@ -5221,12 +5613,6 @@ "uA" = ( /obj/machinery/atmospherics/unary/heat_exchanger, /obj/structure/window/basic, -/obj/structure/window/basic{ - dir = 8 - }, -/obj/effect/floor_decal/corner/red/border{ - dir = 8 - }, /obj/effect/floor_decal/corner/red/border, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/toxins) @@ -5235,23 +5621,50 @@ /obj/machinery/camera/network/research_outpost{ dir = 4 }, +/obj/machinery/mining/drill, +/obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/drillstorage) -"uG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 +"uE" = ( +/obj/machinery/vending/snlvend{ + dir = 8 }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/southchamb) +"uF" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/camera/network/research_outpost{ + dir = 8 + }, +/obj/structure/closet/firecloset, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) +"uG" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/camera/network/research_outpost, +/obj/structure/table/rack, +/obj/item/device/suit_cooling_unit, +/obj/item/device/suit_cooling_unit, /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/drillstorage) +"uK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/mining/drill, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled, +/area/offmap/aerostat/inside/drillstorage) +"uN" = ( +/obj/machinery/recharge_station, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/northchamb) "uS" = ( /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/arm/sw) "uV" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) @@ -5262,8 +5675,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, +/obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) +"va" = ( +/obj/structure/flora/ausbushes/brflowers, +/turf/simulated/floor/grass, +/area/offmap/aerostat/inside/genetics) "vb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -5278,9 +5696,12 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/airlock/south) "vd" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/flora/ausbushes/ywflowers, +/turf/simulated/floor/grass, +/area/offmap/aerostat/inside/genetics) "ve" = ( /obj/machinery/door/blast/regular{ dir = 8; @@ -5304,23 +5725,32 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/airlock/south) "vm" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/door/window/brigdoor/eastleft{ - req_access = list(7) - }, -/obj/structure/window/reinforced, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/obj/structure/table/rack, +/obj/item/clothing/suit/bio_suit/anomaly, +/obj/item/clothing/head/bio_hood/anomaly, +/obj/item/clothing/gloves/sterile/latex, +/obj/item/clothing/glasses/science, +/obj/item/clothing/mask/breath, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) "vo" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, +/obj/structure/table/wooden_reinforced, +/obj/machinery/chemical_dispenser/bar_coffee/full{ + dir = 1 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) "vp" = ( /obj/machinery/camera/network/research_outpost{ dir = 8 }, +/obj/structure/sign/painting/public{ + pixel_x = 30 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) "vq" = ( @@ -5340,21 +5770,36 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) +"vu" = ( +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/firingrange) "vy" = ( /obj/machinery/power/apc{ dir = 8; - name = "east bump"; pixel_x = -22 }, /obj/structure/cable, +/obj/structure/table/reinforced, +/obj/item/weapon/storage/box/disks, +/obj/item/weapon/storage/box/disks, +/obj/item/toy/figure/geneticist, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/genetics) "vz" = ( -/obj/machinery/light/floortube{ - dir = 8; - pixel_x = -6 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/camera/network/research_outpost, +/obj/structure/table/rack, +/obj/item/clothing/suit/bio_suit/anomaly, +/obj/item/clothing/head/bio_hood/anomaly, +/obj/item/clothing/gloves/sterile/latex, +/obj/item/clothing/glasses/science, +/obj/item/clothing/mask/breath, +/obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "vA" = ( @@ -5365,6 +5810,7 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) "vC" = ( @@ -5419,10 +5865,10 @@ name = "Firing Range"; req_one_access = null }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/firingrange) +<<<<<<< HEAD "vR" = ( /obj/machinery/door/firedoor/glass, /obj/structure/window/reinforced/full, @@ -5430,6 +5876,24 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor, /area/offmap/aerostat/inside/toxins) +======= +"vQ" = ( +/obj/item/modular_computer/console/preset/research{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 4; + layer = 3.3; + pixel_x = 26 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) +"vR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/wall, +/area/offmap/aerostat/inside/xenoarch) +>>>>>>> e4a5e6c0e3... Merge pull request #11941 from PastelPrinceDan/aerostat "vT" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" @@ -5441,23 +5905,37 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/firingrange) +"vU" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/mining/brace, +/turf/simulated/floor/tiled, +/area/offmap/aerostat/inside/drillstorage) "vW" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/black{ - dir = 1 +/obj/structure/cable/heavyduty{ + icon_state = "1-2" }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9 + }, +/obj/effect/floor_decal/rust, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "vX" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, /turf/simulated/shuttle/wall, /area/shuttle/aerostat) +"vY" = ( +/obj/machinery/bomb_tester, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "wb" = ( -/obj/effect/floor_decal/industrial/warning/dust/corner{ - dir = 8 +/obj/machinery/alarm{ + dir = 8; + pixel_x = 23 }, -/obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) "wc" = ( @@ -5471,18 +5949,14 @@ /turf/simulated/shuttle/wall/hard_corner, /area/shuttle/aerostat) "wg" = ( -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -26 +/obj/machinery/vending/cola/soft{ + dir = 1 }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) @@ -5497,9 +5971,6 @@ /area/offmap/aerostat/inside/xenoarch) "wi" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/structure/cable{ - icon_state = "1-8" - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -5513,6 +5984,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/arm/se) +"wl" = ( +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled/dark, +/area/offmap/aerostat/inside/lobby) "wm" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5 @@ -5524,6 +5999,7 @@ /obj/machinery/light{ dir = 8 }, +/obj/structure/flora/pottedplant/unusual, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "wp" = ( @@ -5537,22 +6013,30 @@ }, /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/xenoarch) -"wq" = ( -/obj/structure/closet/crate/science, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) "wr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/blue{ dir = 5 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"ws" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/black{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "wz" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) +"wA" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/offmap/aerostat/inside/misclab) "wC" = ( /turf/simulated/shuttle/wall/voidcraft/hard_corner{ stripe_color = "#00FF00" @@ -5589,10 +6073,13 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) "wG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/simulated/floor/tiled/white, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/turf/simulated/wall, /area/offmap/aerostat/inside/toxins) "wI" = ( /obj/structure/cable/heavyduty{ @@ -5622,10 +6109,14 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) -"wR" = ( -/obj/machinery/vending/tool, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +"wT" = ( +/obj/effect/floor_decal/rust, +/obj/random/maintenance/research, +/obj/random/maintenance/research, +/obj/random/maintenance/engineering, +/obj/structure/closet, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "wY" = ( /obj/machinery/alarm{ pixel_y = 26 @@ -5663,13 +6154,9 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 32; - pixel_y = -24 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "xe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -5677,32 +6164,35 @@ /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "xf" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/portables_connector{ - dir = 1 - }, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/manifold/visible{ + dir = 1 + }, +/obj/machinery/meter, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "xg" = ( -/obj/structure/cable/heavyduty{ - icon_state = "4-8" - }, -/obj/machinery/alarm{ - pixel_y = 26 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/machinery/camera/network/research_outpost{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor, +/area/offmap/aerostat/inside/xenoarch) +"xj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/easthall) +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/se) "xl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -5732,28 +6222,49 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/radiocarbon_spectrometer, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "xs" = ( -/obj/structure/table/rack, -/obj/item/clothing/suit/bio_suit/anomaly, -/obj/item/clothing/head/bio_hood/anomaly, -/obj/item/clothing/mask/breath, -/obj/item/clothing/gloves/sterile/latex, -/obj/item/clothing/glasses/science, -/obj/effect/floor_decal/industrial/hatch/yellow, -/turf/simulated/floor/tiled, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning/corner, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/simulated/floor, /area/offmap/aerostat/inside/xenoarch) "xt" = ( /turf/simulated/wall, /area/offmap/aerostat/inside/drillstorage) "xu" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 5 +/obj/machinery/alarm{ + alarm_id = "anomaly_testing"; + dir = 4; + pixel_x = -23 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"xv" = ( +/obj/structure/cable/heavyduty{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/sign/directions/science/xenoarch{ + dir = 1; + pixel_y = 32 + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/easthall) "xw" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -5783,19 +6294,29 @@ }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) -"xC" = ( -/obj/structure/filingcabinet/filingcabinet, -/obj/machinery/alarm{ - dir = 8; - pixel_x = 23 +"xB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/medical{ + name = "Virology Lab"; + req_access = list(39); + req_one_access = null + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/virology) "xD" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/structure/table/steel_reinforced, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "xF" = ( @@ -5808,21 +6329,39 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/arm/se) "xG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) -"xK" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 +"xH" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/blast/shutters{ + dir = 2; + id = "zorrenpartyroom"; + layer = 3.3; + name = "shutter" }, -/obj/effect/floor_decal/industrial/outline/red, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/obj/machinery/vending/sovietsoda, +/turf/simulated/floor/plating/virgo2, +/area/offmap/aerostat/inside/zorrenoffice) +"xK" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor, +/area/offmap/aerostat/inside/xenoarch) "xM" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -5840,12 +6379,13 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/arm/sw) "xO" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/green{ +/obj/structure/window/reinforced{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/portable_atmospherics/canister/phoron, +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 2; + req_access = list(7) }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -5853,22 +6393,21 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) "xR" = ( -/obj/machinery/light/floortube{ - dir = 8; - pixel_x = -6 +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/genetics) +"xS" = ( +/obj/structure/cable{ + icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) -"xS" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/dark, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/virology) "xU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"xV" = ( +/turf/simulated/wall, +/area/offmap/aerostat/inside/virology) "xW" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" @@ -5891,11 +6430,17 @@ }, /turf/simulated/floor/plating, /area/offmap/aerostat/inside/atmos) +"yd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/wall, +/area/offmap/aerostat/inside/virology) "ye" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/item/modular_computer/console{ - dir = 8 - }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "yi" = ( @@ -5919,12 +6464,12 @@ /obj/structure/cable/heavyduty{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/se) "yq" = ( /obj/effect/floor_decal/industrial/warning/dust, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -5935,14 +6480,7 @@ "yr" = ( /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/drillstorage) -"ys" = ( -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) "yu" = ( -/obj/effect/floor_decal/industrial/warning/dust/corner{ - dir = 4 - }, /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -5950,6 +6488,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, +/obj/machinery/vending/snack{ + dir = 1 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) "yv" = ( @@ -5983,8 +6524,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/turf/simulated/wall, +/area/offmap/aerostat/inside/arm/ne) "yD" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -6000,14 +6541,11 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/airlock/south) "yG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, /obj/machinery/alarm{ pixel_y = 26 }, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) "yH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -6025,10 +6563,13 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "yI" = ( -/obj/machinery/atmospherics/valve{ - dir = 4 - }, /obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/visible/red{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "yK" = ( @@ -6038,6 +6579,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/machinery/light/floortube{ + dir = 8; + pixel_x = -6 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "yN" = ( @@ -6055,6 +6600,17 @@ /obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"yQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/rust, +/obj/structure/table/rack, +/obj/random/toolbox, +/obj/random/soap, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "yT" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 10 @@ -6066,11 +6622,11 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) "yX" = ( -/obj/machinery/light{ +/obj/machinery/camera/network/research_outpost{ dir = 8 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) +/turf/simulated/floor/tiled, +/area/offmap/aerostat/inside/misclab) "yZ" = ( /obj/structure/cable/heavyduty{ icon_state = "0-8" @@ -6092,25 +6648,20 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "zc" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/wall, -/area/offmap/aerostat/inside/misclab) +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/telesci) "ze" = ( -/obj/machinery/artifact_analyser, -/obj/machinery/camera/network/research_outpost{ - dir = 8 +/turf/simulated/shuttle/wall/voidcraft/hard_corner{ + stripe_color = "#00FF00" }, -/turf/simulated/floor/tiled/dark, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/virology) "zf" = ( -/obj/structure/table/steel_reinforced, /obj/random/maintenance/research, /obj/structure/sign/painting/public{ pixel_x = -30 }, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "zg" = ( @@ -6132,13 +6683,11 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "zn" = ( -/obj/effect/floor_decal/spline/plain{ - dir = 4 +/obj/machinery/door/airlock/glass_research{ + name = "Xenoarchaeology" }, -/obj/item/modular_computer/console/preset/research{ - dir = 8 - }, -/turf/simulated/floor/tiled, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/xenoarch) "zo" = ( /obj/structure/cable{ @@ -6168,11 +6717,15 @@ /turf/simulated/floor, /area/offmap/aerostat/inside/arm/ne) "zr" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/drillstorage) +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/simulated/floor, +/area/offmap/aerostat/inside/xenoarch) "zt" = ( /obj/machinery/door/airlock/glass_research{ req_one_access = null @@ -6183,12 +6736,10 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/zorrenoffice) "zu" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/structure/window/reinforced{ dir = 4 }, -/obj/machinery/camera/network/research_outpost{ - dir = 8 - }, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "zw" = ( @@ -6205,10 +6756,17 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) +"zz" = ( +/obj/structure/bed/chair/bay{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "zA" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, +/obj/structure/flora/pottedplant/crystal, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) "zB" = ( @@ -6235,6 +6793,13 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/airlock/south) +"zD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/vending/tool, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "zE" = ( /obj/machinery/power/apc{ dir = 1; @@ -6259,6 +6824,9 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) +"zH" = ( +/turf/simulated/shuttle/wall/voidcraft/green, +/area/offmap/aerostat/inside/misclab) "zI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -6266,12 +6834,6 @@ }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) -"zJ" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) "zM" = ( /obj/machinery/door/airlock/external, /obj/structure/cable{ @@ -6339,15 +6901,6 @@ /obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/arm/nw) -"Aa" = ( -/obj/machinery/atmospherics/pipe/simple/visible/universal{ - name = "Distro Loop Drain" - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) "Ab" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 @@ -6380,18 +6933,11 @@ /turf/simulated/floor, /area/offmap/aerostat/inside/arm/se) "Ae" = ( -/obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/weapon/storage/belt/archaeology, -/obj/item/clothing/mask/breath, -/obj/item/clothing/suit/space/anomaly/heat, -/obj/item/clothing/head/helmet/space/anomaly/heat, -/obj/item/weapon/pickaxe, -/obj/item/weapon/storage/excavation, -/obj/item/stack/flag/yellow, -/obj/item/weapon/tool/wrench, -/obj/item/device/measuring_tape, -/turf/simulated/floor/tiled/white, +/obj/machinery/door/airlock/glass_research{ + name = "Xenoarchaeology Storage" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/xenoarch) "Ah" = ( /obj/structure/cable{ @@ -6399,6 +6945,13 @@ }, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch) +"Ai" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/table/standard, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/telesci) "Ak" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 5 @@ -6406,9 +6959,28 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) "Al" = ( -/obj/structure/filingcabinet/chestdrawer, -/turf/simulated/floor/tiled, +/obj/machinery/artifact_scanpad, +/turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch) +"An" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/storage/box/monkeycubes, +/obj/item/weapon/storage/box/monkeycubes, +/obj/item/weapon/storage/pill_bottle/dylovene, +/obj/item/weapon/storage/pill_bottle/dylovene, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 4; + layer = 3.3; + pixel_x = 26 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/genetics) "Ao" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -6419,11 +6991,15 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/southchamb) "Ap" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/flora/ausbushes/ppflowers, /obj/machinery/light{ dir = 4 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/turf/simulated/floor/grass, +/area/offmap/aerostat/inside/genetics) "Aq" = ( /obj/machinery/door/airlock/glass_research{ req_one_access = null @@ -6439,13 +7015,14 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/zorrenoffice) "Ar" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/machinery/door/window/brigdoor/eastleft{ - req_access = list(7) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass_research{ + name = "Xenoarchaeology Prep Room" }, -/obj/structure/window/reinforced, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/xenoarch) "As" = ( /obj/machinery/door/airlock/glass_research{ name = "Atmospherics"; @@ -6461,9 +7038,6 @@ /obj/effect/floor_decal/industrial/warning/dust, /obj/structure/table/standard, /obj/fiftyspawner/steel, -/obj/machinery/camera/network/research_outpost{ - dir = 1 - }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Au" = ( @@ -6488,13 +7062,11 @@ /turf/simulated/floor/reinforced/airless, /area/offmap/aerostat/inside/toxins) "Ay" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/red{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, +/obj/machinery/atmospherics/pipe/manifold/visible/red, +/obj/machinery/meter, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Az" = ( @@ -6504,9 +7076,6 @@ /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/powercontrol) "AB" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Xenoarchaeology" - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -6515,8 +7084,7 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, +/turf/simulated/wall, /area/offmap/aerostat/inside/toxins) "AC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ @@ -6525,25 +7093,22 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "AD" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/floor_decal/industrial/warning{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/rust, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/arm/ne) "AE" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/effect/floor_decal/industrial/warning{ - dir = 1 +/obj/item/weapon/virusdish/random, +/obj/item/weapon/virusdish/random, +/obj/item/weapon/virusdish/random, +/obj/item/weapon/virusdish/random, +/obj/item/weapon/virusdish/random, +/obj/structure/closet/crate/medical{ + name = "Virus Samples" }, -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "AF" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" @@ -6610,12 +7175,26 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) +"AR" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/air/airlock, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/firingrange) "AX" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5 }, /turf/simulated/shuttle/wall/voidcraft/green/virgo2, /area/offmap/aerostat/inside/arm/se) +"AY" = ( +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{ + scrub_id = "science_outpost" + }, +/obj/machinery/light, +/turf/simulated/floor/plating, +/area/offmap/aerostat/inside/toxins) "Bb" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden, /obj/structure/cable{ @@ -6629,12 +7208,6 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/north) -"Bc" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/wall, -/area/offmap/aerostat/inside/toxins) "Be" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 @@ -6647,12 +7220,11 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) -"Bh" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9 - }, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +"Bi" = ( +/obj/effect/floor_decal/rust, +/obj/effect/decal/cleanable/blood/oil, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "Bj" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6660,11 +7232,24 @@ /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch/chamber) "Bk" = ( -/obj/machinery/atmospherics/portables_connector, +/obj/structure/cable, +/obj/machinery/power/apc{ + dir = 1; + pixel_y = 24 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/dispenser{ + phorontanks = 0 + }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/area/offmap/aerostat/inside/xenoarch) "Bm" = ( /obj/machinery/camera/network/research_outpost, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "Bo" = ( @@ -6698,53 +7283,34 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) -"Br" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) "Bs" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/blue, /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/powercontrol) -"Bt" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 +"Bv" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/closet/crate/bin{ - anchored = 1 +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/firealarm{ + dir = 4; + layer = 3.3; + pixel_x = 26 }, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) -"Bu" = ( -/obj/machinery/dna_scannernew, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) -"By" = ( /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/toxins) "Bz" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating/virgo2, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/westhall) "BA" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/plating/virgo2, -/area/offmap/aerostat/inside/northchamb) -"BB" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/hidden/red{ + dir = 10 }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/turf/simulated/shuttle/wall/voidcraft/green, +/area/offmap/aerostat/inside/atmos) "BE" = ( /obj/machinery/light/floortube{ dir = 8; @@ -6765,15 +7331,17 @@ /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "BG" = ( -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{ - scrub_id = "science_outpost" +/obj/machinery/atmospherics/pipe/simple/visible/blue{ + dir = 6 + }, +/obj/machinery/camera/network/research_outpost{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/visible/blue, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "BH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/table/steel_reinforced, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "BK" = ( @@ -6782,19 +7350,6 @@ }, /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/airlock/east) -"BM" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/floor_decal/industrial/warning/corner, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) "BO" = ( /obj/structure/cable/heavyduty{ icon_state = "0-8" @@ -6847,9 +7402,15 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) +"BT" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "BU" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -6868,20 +7429,18 @@ name = "Distro Loop Drain" }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) -"BX" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/area/offmap/aerostat/inside/atmos) +"Ca" = ( +/obj/structure/table/standard, +/obj/item/weapon/folder/white, +/obj/item/weapon/pen/fountain, +/obj/item/device/assembly_holder/timer_igniter, +/obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/machinery/alarm{ - pixel_y = 26 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) -"Ca" = ( -/obj/machinery/computer/area_atmos/tag{ - dir = 8; - scrub_id = "science_outpost" +/obj/item/weapon/weldingtool, +/obj/structure/extinguisher_cabinet{ + pixel_x = 30 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -6892,17 +7451,23 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, /obj/structure/cable{ icon_state = "1-8" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/wall, -/area/offmap/aerostat/inside/toxins) -"Cd" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/xenoarch) +"Cd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/northchamb) "Ce" = ( /turf/simulated/wall, /area/offmap/aerostat/inside/atmos) @@ -6937,39 +7502,23 @@ /obj/machinery/atmospherics/pipe/manifold4w/hidden/cyan, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) -"Cq" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) -"Ct" = ( -/obj/machinery/light/floortube{ - dir = 4; - pixel_x = 5 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) -"Cu" = ( -/obj/structure/closet/secure_closet/xenoarchaeologist, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) -"Cw" = ( -/obj/structure/table/standard, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/anodevice{ - pixel_x = -2 - }, -/obj/item/weapon/anodevice{ - pixel_x = 1 - }, -/obj/item/device/multitool, -/obj/effect/floor_decal/spline/plain{ - dir = 1 - }, +"Cm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/northchamb) +"Cu" = ( +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/rust, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) +"Cw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/power/apc, +/obj/structure/cable, +/turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "CA" = ( /obj/effect/floor_decal/industrial/warning/dust{ @@ -6985,12 +7534,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/machinery/firealarm{ + layer = 3.3; + pixel_y = -28 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "CE" = ( -/obj/machinery/atmospherics/binary/pump, -/obj/machinery/atmospherics/pipe/simple/hidden/universal{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -7008,7 +7560,7 @@ /obj/effect/floor_decal/industrial/warning/dust{ dir = 4 }, -/obj/structure/table/glass, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "CJ" = ( @@ -7044,6 +7596,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"CN" = ( +/obj/structure/table/wooden_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/southchamb) "CO" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ dir = 4 @@ -7066,30 +7622,28 @@ /obj/structure/cable/heavyduty{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/door/firedoor/glass, +/obj/effect/floor_decal/rust, /obj/machinery/door/airlock/maintenance/rnd{ req_one_access = null }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/offmap/aerostat/inside/misclab) +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/se) "CT" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/obj/structure/table/steel_reinforced, /obj/random/firstaid, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "CV" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/miscstorage) "Da" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/green{ dir = 1 @@ -7101,7 +7655,7 @@ /area/offmap/aerostat/inside/atmos) "Db" = ( /turf/simulated/shuttle/wall/voidcraft/green/virgo2/nocol, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/virology) "Dd" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -7110,9 +7664,11 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/airlock/east) "De" = ( -/obj/machinery/computer/telescience, -/turf/simulated/floor/reinforced, -/area/offmap/aerostat/inside/telesci) +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/miscstorage) "Dg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -7126,6 +7682,17 @@ }, /turf/simulated/wall, /area/offmap/aerostat/inside/toxins) +"Di" = ( +/obj/structure/flora/pottedplant/minitree, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + dir = 8; + pixel_x = -22 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "Dk" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/light/floortube{ @@ -7137,16 +7704,10 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/south) -"Dl" = ( -/obj/structure/cable/heavyduty{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) +"Dp" = ( +/obj/structure/sign/department/virology, +/turf/simulated/shuttle/wall/voidcraft/green, +/area/offmap/aerostat/inside/virology) "Dq" = ( /obj/structure/window/reinforced{ dir = 8 @@ -7197,13 +7758,28 @@ /obj/structure/cable/heavyduty{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/se) "DC" = ( /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/airlock/south) +"DD" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/outline/red, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/atmos) +"DE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/miscstorage) "DF" = ( /obj/machinery/door/airlock/multi_tile/metal{ dir = 1; @@ -7220,17 +7796,19 @@ /obj/machinery/light{ dir = 1 }, -/obj/structure/closet/crate/bin{ - anchored = 1 - }, +/obj/structure/table/reinforced, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "DH" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" }, +<<<<<<< HEAD /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/sign/poster{ +======= +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ +>>>>>>> e4a5e6c0e3... Merge pull request #11941 from PastelPrinceDan/aerostat dir = 8 }, /turf/simulated/floor/tiled/white, @@ -7240,20 +7818,21 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "DJ" = ( -/obj/structure/cable/heavyduty{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/simple/hidden/blue{ dir = 5 }, /obj/machinery/atmospherics/pipe/manifold/hidden/aux{ dir = 4 }, +/obj/structure/cable/heavyduty{ + icon_state = "1-4" + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "DK" = ( /obj/machinery/door/airlock/multi_tile/glass{ - name = "Toxins Lab" + name = "Toxins Lab"; + req_one_access = list(47) }, /obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled/steel_ridged, @@ -7269,11 +7848,13 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "DM" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/red{ - dir = 8 +/obj/machinery/alarm{ + alarm_id = "anomaly_testing"; + dir = 4; + pixel_x = -23 }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "DN" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 10 @@ -7287,12 +7868,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/power/apc{ dir = 8; - name = "east bump"; pixel_x = -22 }, /obj/structure/cable, -/obj/structure/table/standard, -/obj/item/device/multitool, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) "DP" = ( @@ -7315,6 +7893,10 @@ }, /turf/simulated/floor, /area/offmap/aerostat/inside/airlock/south) +"DV" = ( +/obj/machinery/recharge_station, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/southchamb) "DY" = ( /obj/effect/floor_decal/rust, /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{ @@ -7323,11 +7905,10 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "Eb" = ( -/obj/effect/floor_decal/spline/plain{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/xenoarch) +/obj/machinery/portable_atmospherics/powered/pump, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "Eh" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 @@ -7347,6 +7928,13 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) +"Em" = ( +/obj/machinery/hologram/holopad, +/obj/machinery/atmospherics/binary/pump{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "Ep" = ( /obj/machinery/door/airlock/external{ frequency = 1380; @@ -7368,6 +7956,10 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) +"Et" = ( +/obj/structure/ore_box, +/turf/simulated/floor/tiled, +/area/offmap/aerostat/inside/drillstorage) "Eu" = ( /obj/machinery/atmospherics/portables_connector/aux{ dir = 4 @@ -7396,12 +7988,26 @@ /area/offmap/aerostat/inside/firingrange) "Ey" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/universal, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) +"EA" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/plating/virgo2, +/area/offmap/aerostat/inside/misclab) +"EC" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/reagent_containers/glass/beaker, +/obj/item/weapon/reagent_containers/glass/beaker, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "ED" = ( /obj/machinery/atmospherics/omni/atmos_filter{ name = "N2/O2 Filter"; @@ -7411,14 +8017,7 @@ tag_west = 3 }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) -"EF" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/effect/floor_decal/industrial/warning{ - dir = 1 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/atmos) "EI" = ( /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -7443,45 +8042,74 @@ "EN" = ( /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/airlock/west) +"EP" = ( +/obj/structure/table/wooden_reinforced, +/obj/item/weapon/reagent_containers/food/drinks/cup{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/weapon/reagent_containers/food/drinks/cup{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/weapon/reagent_containers/food/drinks/cup{ + pixel_x = -5; + pixel_y = -4 + }, +/obj/item/weapon/reagent_containers/food/drinks/cup{ + pixel_x = 5; + pixel_y = -4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/southchamb) "EQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/bluegrid, /area/offmap/aerostat/inside/powercontrol) "ER" = ( -/obj/machinery/light{ - dir = 1 +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/miscstorage) +"ES" = ( +/obj/machinery/firealarm{ + dir = 4; + layer = 3.3; + pixel_x = 26 }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) -"ES" = ( -/turf/simulated/floor/reinforced, /area/offmap/aerostat/inside/telesci) "EV" = ( /obj/effect/floor_decal/industrial/warning/dust, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"EW" = ( +/obj/structure/table/standard, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/random/toolbox, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/miscstorage) "EX" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" }, -/obj/structure/sign/directions/science/xenoarch{ - dir = 1; - pixel_y = 32 - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "Fa" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 8 }, -/obj/structure/table/glass, /obj/random/maintenance/research, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "Ff" = ( @@ -7495,7 +8123,7 @@ dir = 10 }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "Fi" = ( /obj/machinery/atmospherics/binary/pump{ dir = 4 @@ -7519,6 +8147,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, +/obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "Fo" = ( @@ -7572,12 +8201,7 @@ /turf/simulated/floor/reinforced/airless, /area/offmap/aerostat/inside/toxins) "Fw" = ( -/obj/machinery/atmospherics/trinary/atmos_filter{ - dir = 4; - name = "High Power Gas filter"; - power_rating = 15000; - use_power = 0 - }, +/obj/machinery/atmospherics/pipe/manifold/hidden/black, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Fy" = ( @@ -7595,9 +8219,28 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/south) +<<<<<<< HEAD +======= +"FA" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/southchamb) +"FD" = ( +/obj/effect/floor_decal/industrial/warning/dust, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/dark, +/area/offmap/aerostat/inside/lobby) +>>>>>>> e4a5e6c0e3... Merge pull request #11941 from PastelPrinceDan/aerostat "FF" = ( -/obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/camera/network/research_outpost, +/obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "FJ" = ( @@ -7607,11 +8250,8 @@ /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/airlock/west) "FK" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 30 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{ + scrub_id = "science_outpost" }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -7637,10 +8277,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/light/floortube{ - dir = 4; - pixel_x = 5 - }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "FU" = ( @@ -7672,20 +8308,22 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "FX" = ( -/obj/structure/table/steel_reinforced, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) -"Gb" = ( -/obj/effect/floor_decal/spline/plain{ - dir = 4 +"FY" = ( +/turf/simulated/shuttle/wall/voidcraft/hard_corner{ + stripe_color = "#00FF00" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +/area/offmap/aerostat/inside/misclab) +"FZ" = ( +/obj/machinery/alarm{ + pixel_y = 26 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch) "Gc" = ( /obj/effect/shuttle_landmark{ @@ -7718,25 +8356,28 @@ /turf/unsimulated/floor/sky/virgo2_sky, /area/offmap/aerostat) "Gf" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/structure/window/reinforced, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) -"Gi" = ( -/obj/structure/cable{ - icon_state = "2-8" +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor, +/area/offmap/aerostat/inside/xenoarch) +"Gi" = ( /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/suspension_gen, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "Gl" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 4 }, -/obj/structure/table/glass, /obj/random/maintenance/research, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "Gm" = ( @@ -7744,16 +8385,20 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/powercontrol) -"Go" = ( -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +"Gn" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "Gq" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/se) "Gr" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" @@ -7786,20 +8431,21 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) "Gt" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{ + scrub_id = "science_outpost" + }, +/obj/machinery/light{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Gu" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Toxins Lab" +/obj/structure/window/reinforced{ + dir = 4 }, -/obj/machinery/door/firedoor/glass, +/obj/machinery/portable_atmospherics/canister/oxygen, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) -"Gv" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) "Gy" = ( /obj/structure/bed/chair/shuttle{ dir = 8 @@ -7867,7 +8513,7 @@ icon_state = "4-8" }, /turf/simulated/wall, -/area/offmap/aerostat/inside/toxins) +/area/offmap/aerostat/inside/xenoarch) "GG" = ( /obj/effect/floor_decal/rust, /obj/structure/cable/yellow{ @@ -7878,17 +8524,22 @@ }, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) -"GK" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 +"GI" = ( +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 32; + pixel_y = -24 }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) +"GK" = ( /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/wall, /area/offmap/aerostat/inside/toxins) "GL" = ( -/obj/machinery/meter, /obj/machinery/atmospherics/pipe/manifold/visible/red{ dir = 1 }, @@ -7906,6 +8557,14 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) +"GO" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/folder/white, +/obj/item/weapon/pen, +/obj/item/weapon/paper_bin, +/obj/item/weapon/hand_labeler, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "GP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -7914,15 +8573,10 @@ /turf/simulated/wall, /area/offmap/aerostat/inside/telesci) "GR" = ( -/obj/structure/cable/heavyduty{ - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/obj/structure/closet/crate/science, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/xenoarch) "GT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -7936,40 +8590,64 @@ /obj/effect/floor_decal/industrial/danger/corner{ dir = 4 }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/firealarm{ + layer = 3.3; + pixel_y = -28 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "GX" = ( -/obj/machinery/atmospherics/binary/pump{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) +"Ha" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) -"Ha" = ( -/obj/machinery/atmospherics/omni/atmos_filter{ - name = "Phoron Filter"; - tag_east = 6; - tag_north = 1; - tag_south = 2 - }, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) "Hb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/blue{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/green, +/obj/structure/cable/heavyduty{ + icon_state = "4-8" + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Hd" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 1 - }, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"Hh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/table/standard, +/obj/item/weapon/storage/box/beakers, +/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/weapon/reagent_containers/dropper, +/obj/machinery/reagentgrinder, +/obj/structure/reagent_dispensers/acid{ + pixel_x = 31 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) "Hj" = ( /obj/structure/table/steel_reinforced, /obj/machinery/light_switch{ @@ -7998,13 +8676,6 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) -"Hn" = ( -/obj/machinery/artifact_harvester, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) "Ho" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -8027,18 +8698,24 @@ /turf/simulated/shuttle/floor/yellow/airless, /area/shuttle/aerostat) "Hq" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) +"Hs" = ( +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/obj/machinery/camera/network/research_outpost{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/firingrange) "Ht" = ( /turf/simulated/shuttle/wall/voidcraft/green, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/genetics) "Hu" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -8070,25 +8747,25 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/glass_research{ - name = "Telescience" + name = "Miscellaneous Storage"; + req_one_access = null }, /obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/offmap/aerostat/inside/telesci) -"Hx" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-8" }, +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/miscstorage) +"Hx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/portable_atmospherics/canister/air/airlock, /obj/machinery/camera/network/research_outpost{ dir = 8 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "Hy" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) @@ -8099,16 +8776,27 @@ /turf/simulated/floor/bluegrid, /area/offmap/aerostat/inside/powercontrol) "HA" = ( -/obj/machinery/artifact_scanpad, -/turf/simulated/floor/tiled/dark, -/area/offmap/aerostat/inside/xenoarch) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) +"HE" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "HH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -8118,26 +8806,19 @@ /obj/structure/cable/heavyduty{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "HK" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 4 +/obj/structure/table/wooden_reinforced, +/turf/simulated/floor/glass/reinforced{ + color = "#eacd7c" }, -/obj/machinery/light, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/glassgetsitsownarea) "HL" = ( -/obj/machinery/atmospherics/pipe/manifold4w/visible, -/obj/machinery/meter, +/obj/machinery/washing_machine, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/area/offmap/aerostat/inside/xenoarch) "HM" = ( -/obj/machinery/light{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -8157,7 +8838,10 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/zorrenoffice) "HO" = ( -/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/flora/pottedplant/subterranean, +/obj/machinery/camera/network/research_outpost{ + dir = 1 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "HQ" = ( @@ -8168,25 +8852,23 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/southchamb) "HR" = ( -/obj/structure/table/standard, -/obj/item/device/gps{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/device/gps{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/device/gps{ - pixel_x = 1; - pixel_y = -1 +/obj/structure/cable{ + icon_state = "1-4" }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/telesci) +/area/offmap/aerostat/inside/miscstorage) "HS" = ( -/obj/structure/flora/pottedplant/crystal, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/westhall) "HT" = ( /obj/structure/cable{ icon_state = "1-2" @@ -8199,11 +8881,21 @@ /obj/machinery/atmospherics/binary/pump/on{ dir = 8 }, +/obj/machinery/power/apc, +/obj/structure/cable{ + icon_state = "0-2" + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "HV" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/red{ - dir = 1 +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/outline/red, +/obj/machinery/firealarm{ + dir = 4; + layer = 3.3; + pixel_x = 26 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -8216,11 +8908,12 @@ /turf/simulated/floor/tiled/steel_ridged, /area/shuttle/aerostat) "Id" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/red, -/obj/machinery/meter, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/visible/red{ + dir = 9 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Ig" = ( @@ -8230,27 +8923,33 @@ /turf/simulated/shuttle/wall/voidcraft/green/virgo2/nocol, /area/offmap/aerostat/inside/airlock/east) "Ih" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 6 - }, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Ii" = ( -/obj/machinery/atmospherics/binary/pump/on{ - name = "Scrubber to Waste" - }, /obj/machinery/camera/network/research_outpost{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/hidden/red{ + dir = 5 + }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "Ij" = ( /obj/effect/floor_decal/industrial/danger{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/camera/network/research_outpost{ + dir = 1 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "Im" = ( @@ -8267,27 +8966,21 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "In" = ( -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 + dir = 1 }, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/turf/simulated/wall, +/area/offmap/aerostat/inside/atmos) "Ip" = ( -/obj/structure/table/standard, -/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "Ir" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "east bump"; - pixel_x = -22 +/obj/machinery/artifact_analyser, +/obj/machinery/camera/network/research_outpost{ + dir = 4 }, -/obj/structure/cable, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch) "Is" = ( /obj/machinery/atmospherics/valve, @@ -8297,12 +8990,10 @@ /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/arm/se) "Iu" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/light{ - dir = 8 - }, /obj/structure/table/standard, -/obj/item/weapon/ore/bluespace_crystal, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) "Iw" = ( @@ -8330,14 +9021,9 @@ /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/airlock/south) "IA" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/blue{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 - }, +/obj/machinery/disease2/diseaseanalyser, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/area/offmap/aerostat/inside/virology) "IB" = ( /obj/structure/grille, /obj/structure/grille, @@ -8355,6 +9041,7 @@ /obj/structure/closet/crate/bin{ anchored = 1 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "IH" = ( @@ -8375,7 +9062,6 @@ /obj/structure/cable, /obj/machinery/power/apc{ dir = 8; - name = "east bump"; pixel_x = -22 }, /obj/machinery/mining/drill, @@ -8397,16 +9083,29 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/southchamb) "IN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, /obj/machinery/atmospherics/binary/pump/on{ - name = "phoron pump" + name = "N2O pump" }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) +"IO" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/plating/virgo2, +/area/offmap/aerostat/inside/virology) "IP" = ( /turf/simulated/shuttle/wall/voidcraft/hard_corner{ stripe_color = "#00FF00" }, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/genetics) +"IS" = ( +/obj/machinery/telepad, +/turf/simulated/floor/reinforced, +/area/offmap/aerostat/inside/telesci) "IV" = ( /obj/machinery/airlock_sensor{ dir = 1; @@ -8466,19 +9165,25 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/airlock/south) -"Ji" = ( -/obj/structure/cable/heavyduty{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 8 +"Je" = ( +/obj/machinery/alarm{ + dir = 4; + pixel_x = -23 }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/virology) +"Ji" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/rust, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/maintenance/rnd{ + req_one_access = null + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/arm/se) "Jn" = ( -/obj/structure/table/steel_reinforced, /obj/random/maintenance/research, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "Jo" = ( @@ -8499,16 +9204,18 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "Jr" = ( -/obj/structure/sign/painting/public{ - pixel_y = 30 +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/machinery/light{ + dir = 8 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "Ju" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/black{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/tiled/white, +/turf/simulated/wall, /area/offmap/aerostat/inside/toxins) "Jz" = ( /obj/structure/grille, @@ -8553,8 +9260,27 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/simulated/wall, +/obj/machinery/door/airlock/glass_research{ + name = "Toxins Lab" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/toxins) +"JE" = ( +/obj/structure/cable/heavyduty{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/alarm{ + pixel_y = 26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/easthall) "JG" = ( /obj/structure/metal_edge, /turf/unsimulated/floor/sky/virgo2_sky, @@ -8575,11 +9301,10 @@ /turf/simulated/floor, /area/offmap/aerostat/inside/airlock/south) "JI" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/obj/effect/floor_decal/rust, +/obj/structure/closet/crate/science, +/turf/simulated/floor, +/area/offmap/aerostat/inside/xenoarch) "JJ" = ( /obj/structure/grille, /obj/structure/window/phoronreinforced{ @@ -8591,13 +9316,13 @@ /turf/simulated/floor/reinforced/airless, /area/offmap/aerostat/inside/toxins) "JM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/door/airlock/glass_research{ - name = "Toxins Lab"; - req_one_access = null +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "JP" = ( /obj/structure/cable/heavyduty{ @@ -8609,19 +9334,17 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "JQ" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, /obj/machinery/light{ dir = 4 }, /obj/structure/flora/pottedplant/minitree, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "JR" = ( /obj/machinery/light, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/virology) "JS" = ( /obj/machinery/light{ dir = 1 @@ -8642,15 +9365,27 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/door/airlock/glass_research{ - name = "Toxins Lab" - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, +/turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +<<<<<<< HEAD +======= +"JX" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/dark, +/area/offmap/aerostat/inside/lobby) +"JY" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) +>>>>>>> e4a5e6c0e3... Merge pull request #11941 from PastelPrinceDan/aerostat "JZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -8658,8 +9393,11 @@ /obj/machinery/light_switch{ pixel_y = 25 }, -/turf/simulated/floor/tiled/white, +/turf/simulated/wall, /area/offmap/aerostat/inside/telesci) +"Ka" = ( +/turf/simulated/shuttle/wall/voidcraft/hard_corner, +/area/offmap/aerostat/inside/genetics) "Kc" = ( /obj/machinery/door/airlock/external{ frequency = 1380; @@ -8675,15 +9413,9 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, +/obj/structure/flora/pottedplant/subterranean, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) -"Ke" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/air/airlock, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) "Kh" = ( /obj/effect/floor_decal/industrial/warning/dust/corner, /turf/simulated/floor/tiled/dark, @@ -8699,6 +9431,12 @@ "Kj" = ( /obj/structure/table/standard, /obj/item/device/analyzer, +/obj/machinery/camera/network/research_outpost{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 9 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Kk" = ( @@ -8710,11 +9448,7 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/plating/virgo2, -/area/offmap/aerostat/inside/northchamb) -"Kn" = ( -/obj/structure/closet/secure_closet/xenoarchaeologist, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/atmos) "Ko" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -8732,18 +9466,14 @@ }, /turf/simulated/shuttle/floor/yellow, /area/shuttle/aerostat) -"Kr" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) "Kv" = ( -/turf/simulated/wall, -/area/offmap/aerostat/inside/genetics) +/obj/machinery/button/remote/blast_door{ + id = telesci_blast; + name = "Blast Door Control"; + pixel_x = 25 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/telesci) "Kw" = ( /obj/machinery/atmospherics/unary/heat_exchanger{ dir = 8 @@ -8756,6 +9486,18 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/toxins) +"Kz" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/offmap/aerostat/inside/misclab) +"KA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/westhall) "KC" = ( /obj/machinery/alarm{ pixel_y = 26 @@ -8763,12 +9505,16 @@ /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "KD" = ( -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/machinery/door/window/brigdoor/eastleft{ - req_access = list(7) +/obj/structure/cable/heavyduty{ + icon_state = "1-2" }, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass_research{ + name = "Toxins Lab" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/toxins) "KE" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -8787,12 +9533,6 @@ /obj/effect/floor_decal/rust, /turf/simulated/floor, /area/offmap/aerostat/inside/arm/nw) -"KG" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) "KH" = ( /obj/machinery/airlock_sensor/airlock_exterior{ dir = 6; @@ -8821,33 +9561,33 @@ "KK" = ( /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/southchamb) +"KM" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/medical{ + name = "Virology Isolation Room"; + req_access = list (39) + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/virology) "KN" = ( /turf/simulated/shuttle/wall/voidcraft/hard_corner{ stripe_color = "#00FF00" }, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/arm/ne) "KP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "KS" = ( -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 4 - }, /obj/machinery/meter, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/simple/visible, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) -"KU" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 4 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) "KW" = ( /obj/effect/floor_decal/industrial/warning/dust, /obj/machinery/door/airlock/external{ @@ -8863,35 +9603,36 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 }, /turf/simulated/wall, -/area/offmap/aerostat/inside/toxins) +/area/offmap/aerostat/inside/xenoarch) "Ld" = ( /turf/simulated/floor, /area/offmap/aerostat/inside/firingrange) "Lf" = ( -/obj/structure/anomaly_container, -/turf/simulated/floor, +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air/airlock, +/turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "Lg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/table/steel_reinforced, /obj/random/firstaid, /obj/random/maintenance/research, /obj/structure/sign/painting/public{ pixel_x = -30 }, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "Lj" = ( -/obj/structure/cable/heavyduty{ - icon_state = "1-4" - }, /obj/machinery/atmospherics/pipe/simple/hidden/aux{ dir = 9 }, +/obj/machinery/light, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Ln" = ( @@ -8901,9 +9642,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/obj/effect/floor_decal/rust, +/obj/structure/closet/crate, +/obj/random/maintenance/engineering, +/obj/random/maintenance/engineering, +/obj/random/medical/pillbottle, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "Lo" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 4 @@ -8914,38 +9659,40 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/north) "Lq" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/computer/scan_consolenew, -/obj/item/weapon/paper{ - info = "out of order" - }, -/obj/machinery/camera/network/research_outpost, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) -"Ls" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ +/obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 4 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/firingrange) +/obj/effect/floor_decal/rust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/offmap/aerostat/inside/westhall) +"Ls" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/door/airlock/maintenance/rnd{ + req_one_access = null + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/westhall) "Lt" = ( /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) "Lu" = ( -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -24 +/obj/machinery/light{ + dir = 8 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/turf/simulated/floor/reinforced, +/area/offmap/aerostat/inside/telesci) "Ly" = ( -/obj/machinery/camera/network/research_outpost{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/outline/red, +/obj/structure/anomaly_container, +/turf/simulated/floor, +/area/offmap/aerostat/inside/xenoarch) "LB" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow, /obj/structure/grille, @@ -8953,6 +9700,13 @@ /obj/structure/window/reinforced/full, /turf/simulated/floor, /area/offmap/aerostat/inside/xenoarch/chamber) +"LD" = ( +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "LF" = ( /obj/structure/cable/heavyduty{ icon_state = "1-4" @@ -8973,6 +9727,7 @@ /obj/machinery/light, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) +<<<<<<< HEAD "LI" = ( /obj/structure/closet/firecloset, /obj/structure/sign/poster{ @@ -8980,27 +9735,17 @@ }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) +======= +>>>>>>> e4a5e6c0e3... Merge pull request #11941 from PastelPrinceDan/aerostat "LK" = ( /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/arm/ne) -"LN" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) "LR" = ( -/obj/structure/cable/heavyduty{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/hidden/blue, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, +/turf/simulated/wall, /area/offmap/aerostat/inside/toxins) "LS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -9012,11 +9757,13 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "LT" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ +/obj/machinery/atmospherics/portables_connector{ dir = 8 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/se) "LW" = ( /obj/effect/shuttle_landmark{ base_area = /area/offmap/aerostat; @@ -9028,15 +9775,11 @@ /turf/unsimulated/floor/sky/virgo2_sky, /area/offmap/aerostat) "LY" = ( -/obj/effect/floor_decal/industrial/warning/corner, -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) +/turf/simulated/wall, +/area/offmap/aerostat/inside/arm/ne) "LZ" = ( /obj/structure/window/reinforced{ dir = 8 @@ -9068,13 +9811,19 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "Mc" = ( -/obj/machinery/telepad, -/obj/effect/floor_decal/industrial/warning/full, -/turf/simulated/floor/reinforced, -/area/offmap/aerostat/inside/telesci) +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/camera/network/research_outpost{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/miscstorage) "Md" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" @@ -9084,6 +9833,10 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) +"Mf" = ( +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/firingrange) "Mg" = ( /obj/machinery/atmospherics/unary/heater{ dir = 1; @@ -9126,6 +9879,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, +/obj/structure/flora/pottedplant/mysterious, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) "Ml" = ( @@ -9133,7 +9887,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) "Mn" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9141,23 +9895,13 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "Mp" = ( -/obj/structure/table/standard, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/light{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled, +/turf/simulated/wall, /area/offmap/aerostat/inside/xenoarch) "Ms" = ( /obj/effect/floor_decal/industrial/warning/dust, @@ -9172,10 +9916,20 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/airlock/west) -"Mv" = ( -/obj/machinery/atmospherics/pipe/simple/visible/red{ - dir = 5 +"Mu" = ( +/obj/machinery/atmospherics/unary/freezer{ + icon_state = "freezer" }, +/obj/structure/sign/painting/public{ + pixel_y = 30 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) +"Mv" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Mw" = ( @@ -9196,34 +9950,48 @@ }, /turf/simulated/shuttle/wall/voidcraft/green/virgo2, /area/offmap/aerostat/inside/arm/nw) +"MA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/firingrange) +"MB" = ( +/obj/structure/sign/painting/public{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/genetics) "MC" = ( /obj/effect/floor_decal/industrial/warning/dust, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) +"ME" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "MH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) -"MK" = ( -/obj/effect/floor_decal/industrial/warning/corner, -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 1 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) "ML" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "MM" = ( @@ -9233,11 +10001,11 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "MO" = ( -/obj/machinery/atmospherics/pipe/tank/phoron{ +/obj/machinery/atmospherics/pipe/tank/nitrous_oxide{ dir = 8 }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "MR" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -9251,6 +10019,12 @@ /obj/effect/floor_decal/rust, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/toxins) +"MZ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/southchamb) "Na" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 1 @@ -9277,9 +10051,8 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "Ng" = ( -/obj/effect/floor_decal/industrial/warning/dust/corner, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 +/obj/structure/sign/painting/public{ + pixel_x = 30 }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) @@ -9294,17 +10067,16 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/east) "Ni" = ( -/obj/machinery/atmospherics/trinary/mixer/m_mixer{ - dir = 4; - name = "High Power Gas mixer"; - power_rating = 15000 +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 }, -/turf/simulated/floor/tiled/white, +/turf/simulated/wall, /area/offmap/aerostat/inside/toxins) "Nk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/wall, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/genetics) "Nl" = ( /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) @@ -9324,6 +10096,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/shuttle/wall/hard_corner, /area/shuttle/aerostat) +"Np" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) "Nq" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4 @@ -9332,35 +10110,50 @@ /obj/effect/floor_decal/industrial/warning/dust, /turf/simulated/shuttle/floor/yellow/airless, /area/shuttle/aerostat) +"Ns" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/flora/ausbushes/brflowers, +/turf/simulated/floor/grass, +/area/offmap/aerostat/inside/genetics) "Nu" = ( /obj/machinery/atmospherics/pipe/simple/visible/blue{ dir = 5 }, +/obj/machinery/light, /turf/simulated/floor/plating, /area/offmap/aerostat/inside/toxins) "Nw" = ( /obj/machinery/light{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/table/standard, +/obj/random/firstaid, +/obj/item/weapon/storage/firstaid, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/machinery/medical_kiosk, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/telesci) +/area/offmap/aerostat/inside/miscstorage) "Ny" = ( -/obj/effect/floor_decal/industrial/warning/dust/corner{ - dir = 1 - }, -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/light{ + dir = 8 }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) +"NA" = ( +/obj/effect/floor_decal/industrial/warning/cee{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/greengrid, +/area/offmap/aerostat/inside/toxins) "NC" = ( /obj/structure/window/reinforced{ dir = 8 @@ -9389,6 +10182,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{ + scrub_id = "science_outpost" + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "NJ" = ( @@ -9396,11 +10192,8 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "NL" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) +/turf/simulated/wall, +/area/offmap/aerostat/inside/arm/ne) "NM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, /obj/structure/cable{ @@ -9413,7 +10206,7 @@ dir = 4 }, /turf/simulated/shuttle/wall/voidcraft/green, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "NO" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9424,6 +10217,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) +"NP" = ( +/turf/simulated/wall, +/area/offmap/aerostat/inside/misclab) "NQ" = ( /obj/effect/floor_decal/rust, /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ @@ -9432,16 +10228,13 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "NT" = ( -/obj/machinery/atmospherics/portables_connector{ +/obj/structure/closet/excavation, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) +"NU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 1 }, -/obj/machinery/camera/network/research_outpost{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) -"NU" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "NV" = ( @@ -9470,6 +10263,12 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) +"NY" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "NZ" = ( /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/xenoarch/chamber) @@ -9477,13 +10276,13 @@ /obj/structure/cable/heavyduty{ icon_state = "1-2" }, -/obj/machinery/door/airlock/glass_research{ - name = "Xenoarchaeology" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/maintenance/rnd{ + req_one_access = null + }, /turf/simulated/floor/tiled/steel_ridged, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/arm/ne) "Ob" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/cable{ @@ -9497,12 +10296,8 @@ }, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) -"Oe" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) "Og" = ( -/obj/machinery/radiocarbon_spectrometer, +/obj/structure/filingcabinet/chestdrawer, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "Oj" = ( @@ -9518,8 +10313,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/flora/pottedplant/unusual, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) +"Op" = ( +/obj/machinery/atmospherics/pipe/simple/visible/red{ + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "Os" = ( /obj/structure/grille, /obj/machinery/door/firedoor/glass, @@ -9552,23 +10354,11 @@ }, /turf/simulated/wall, /area/offmap/aerostat/inside/toxins) -"Ow" = ( -/obj/machinery/vending/wallmed1{ - pixel_x = 30 - }, -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) "Ox" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/green{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Oy" = ( @@ -9587,6 +10377,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"OA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "OD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -9595,7 +10397,6 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/machinery/recharger, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "OE" = ( @@ -9603,21 +10404,17 @@ dir = 4 }, /obj/structure/table/standard, -/obj/item/weapon/storage/backpack/parachute{ - pixel_x = -6; - pixel_y = 6 +/obj/item/device/gps{ + pixel_x = -5; + pixel_y = 5 }, -/obj/item/weapon/storage/backpack/parachute{ - pixel_x = 6; - pixel_y = 6 +/obj/item/device/gps{ + pixel_x = -2; + pixel_y = 2 }, -/obj/item/weapon/storage/backpack/parachute{ - pixel_x = -6; - pixel_y = -6 - }, -/obj/item/weapon/storage/backpack/parachute{ - pixel_x = 6; - pixel_y = -6 +/obj/item/device/gps{ + pixel_x = 1; + pixel_y = -1 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) @@ -9635,24 +10432,27 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) "OI" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Genetics Closet" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/offmap/aerostat/inside/genetics) -"OL" = ( -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 4 +/obj/machinery/door/airlock/glass_research{ + name = "Miscellaneous Lab" }, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/misclab) +"OJ" = ( +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) +"OL" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/floor/glass/reinforced{ + color = "#eacd7c" + }, +/area/offmap/aerostat/glassgetsitsownarea) "OM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -9667,10 +10467,29 @@ }, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) +"OO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/atmos) +"OP" = ( +/obj/machinery/door/firedoor/glass, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/medical{ + name = "Virology Lab"; + req_access = list(39); + req_one_access = null + }, +/obj/machinery/door/blast/regular/open{ + id = 2; + name = "Virology Emergency Quarantine" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/offmap/aerostat/inside/virology) "OR" = ( /obj/machinery/power/apc{ dir = 8; - name = "east bump"; pixel_x = -22 }, /obj/structure/cable{ @@ -9686,10 +10505,8 @@ /turf/simulated/shuttle/plating/carry, /area/shuttle/aerostat) "OW" = ( -/obj/machinery/firealarm{ - dir = 4; - layer = 3.3; - pixel_x = 26 +/obj/machinery/atmospherics/unary/freezer{ + icon_state = "freezer" }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -9707,24 +10524,42 @@ /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "Pa" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/turf/simulated/floor/grass, +/area/offmap/aerostat/inside/genetics) "Pe" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 6 +/obj/machinery/atmospherics/binary/pump, +/obj/machinery/atmospherics/pipe/simple/hidden/universal{ + dir = 4 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Ph" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ +/obj/machinery/light{ dir = 8 }, -/turf/simulated/floor/tiled/dark, -/area/offmap/aerostat/inside/xenoarch) +/obj/structure/dispenser, +/obj/machinery/alarm{ + pixel_y = 26 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) +"Pi" = ( +/obj/structure/closet/walllocker_double/medical/west, +/obj/structure/table/reinforced, +/obj/item/weapon/soap, +/obj/item/weapon/storage/box/gloves, +/obj/item/weapon/storage/box/masks, +/obj/item/weapon/storage/box/beakers, +/obj/item/weapon/storage/box/beakers, +/obj/item/weapon/storage/fancy/vials, +/obj/item/weapon/storage/box/syringes, +/obj/item/device/antibody_scanner, +/obj/item/weapon/storage/box/syringes, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "Pl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -9732,6 +10567,9 @@ /obj/structure/cable{ icon_state = "2-4" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) "Po" = ( @@ -9741,18 +10579,22 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "Pq" = ( -/obj/machinery/atmospherics/binary/pump{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 9 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Pr" = ( -/obj/machinery/atmospherics/pipe/simple/visible/blue{ - dir = 6 +/obj/machinery/atmospherics/pipe/simple/hidden/blue, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/filingcabinet/filingcabinet, +/obj/machinery/light{ + dir = 1 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -9789,13 +10631,15 @@ /obj/structure/cable/heavyduty{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/door/airlock/glass_research{ - name = "Telescience" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/offmap/aerostat/inside/telesci) +/obj/structure/sign/poster{ + dir = 8; + pixel_x = -32 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/miscstorage) "PJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -9809,18 +10653,22 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) +"PK" = ( +/obj/structure/table/reinforced, +/obj/machinery/camera/network/research_outpost{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "PN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 9 }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) -"PO" = ( -/turf/simulated/shuttle/wall/voidcraft/hard_corner, -/area/offmap/aerostat/inside/misclab) "PP" = ( -/obj/structure/sign/painting/public{ - pixel_x = 30 +/obj/structure/closet/crate/bin{ + anchored = 1 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -9849,26 +10697,25 @@ /obj/effect/floor_decal/rust, /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/toxins) -"PT" = ( -/obj/effect/floor_decal/industrial/warning{ +"PU" = ( +/obj/structure/closet/secure_closet/xenoarchaeologist, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) +"PX" = ( +/obj/machinery/atmospherics/portables_connector/aux{ dir = 4 }, -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, +/obj/machinery/portable_atmospherics/canister/air, /obj/machinery/camera/network/research_outpost{ - dir = 1 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) -"PU" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/black{ - dir = 8 + dir = 4 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Qa" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/black, +/obj/machinery/atmospherics/binary/pump{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Qb" = ( @@ -9891,9 +10738,11 @@ /turf/simulated/wall, /area/offmap/aerostat/inside/toxins) "Qe" = ( -/obj/machinery/light{ - dir = 1 +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/light_switch{ + pixel_y = 24 }, +/obj/structure/flora/pottedplant/crystal, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "Qg" = ( @@ -9901,14 +10750,15 @@ /turf/unsimulated/floor/sky/virgo2_sky, /area/offmap/aerostat) "Qh" = ( -/obj/structure/table/standard, -/obj/item/stack/nanopaste, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/effect/floor_decal/spline/plain{ - dir = 4 +/obj/machinery/vending/phoronresearch{ + name = "Toximate 2556"; + products = list(/obj/item/device/transfer_valve = 3, /obj/item/device/assembly/timer = 6, /obj/item/device/assembly/signaler = 6, /obj/item/device/assembly/prox_sensor = 6, /obj/item/device/assembly/igniter = 12) }, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/xenoarch) +/obj/machinery/camera/network/research_outpost{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "Qk" = ( /obj/effect/floor_decal/rust, /obj/effect/floor_decal/industrial/warning/dust{ @@ -9934,12 +10784,14 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/drillstorage) "Qr" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 4 +/obj/machinery/atmospherics/omni/atmos_filter{ + name = "N2O Filter"; + tag_east = 7; + tag_north = 1; + tag_south = 2 }, -/obj/machinery/atmospherics/pipe/simple/hidden/black, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "Qs" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" @@ -9988,26 +10840,30 @@ /turf/simulated/floor/tiled/steel_ridged, /area/shuttle/aerostat) "Qz" = ( -/obj/item/weapon/storage/box/monkeycubes, -/obj/item/weapon/storage/pill_bottle/dylovene, -/obj/item/weapon/storage/pill_bottle/dylovene, -/obj/item/weapon/storage/box/disks, -/obj/item/toy/figure/geneticist, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/westhall) "QA" = ( /obj/structure/table/standard, -/obj/structure/reagent_dispensers/acid{ - pixel_x = -32 +/obj/item/weapon/anobattery, +/obj/item/weapon/anobattery{ + pixel_x = 5; + pixel_y = 2 }, -/obj/machinery/reagentgrinder, -/obj/effect/floor_decal/spline/plain{ - dir = 1 +/obj/item/weapon/anobattery{ + pixel_x = -4; + pixel_y = 3 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/item/weapon/anobattery{ + pixel_x = -5; + pixel_y = -3 }, -/turf/simulated/floor/tiled, +/obj/item/weapon/tool/screwdriver, +/turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "QE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ @@ -10016,14 +10872,9 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) "QH" = ( -/obj/effect/floor_decal/spline/plain{ - dir = 5 - }, -/obj/structure/closet/crate/bin{ - anchored = 1 - }, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/xenoarch) +/obj/structure/closet/firecloset, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "QI" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5 @@ -10047,14 +10898,6 @@ }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) -"QN" = ( -/obj/structure/table/standard, -/obj/item/clothing/glasses/welding, -/obj/item/weapon/weldingtool, -/obj/item/device/analyzer, -/obj/item/weapon/tool/wrench, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) "QO" = ( /obj/machinery/atmospherics/pipe/manifold4w/visible/blue, /obj/machinery/meter, @@ -10069,6 +10912,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, +/obj/structure/flora/pottedplant/mysterious, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) "QT" = ( @@ -10102,8 +10946,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/closet/crate/bin{ - anchored = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/obj/machinery/firealarm{ + dir = 4; + layer = 3.3; + pixel_x = 26 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -10148,11 +10995,8 @@ /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/airlock/north) "Rb" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/turf/simulated/wall, +/area/offmap/aerostat/inside/genetics) "Rd" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -10171,14 +11015,13 @@ /area/offmap/aerostat/inside/westhall) "Rf" = ( /turf/simulated/shuttle/wall/voidcraft/hard_corner, -/area/offmap/aerostat/inside/drillstorage) +/area/offmap/aerostat/inside/arm/se) "Ri" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 }, -/obj/effect/floor_decal/industrial/outline/red, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "Rj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -10213,6 +11056,7 @@ "Rm" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/table/reinforced, +/obj/machinery/recharger, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "Rn" = ( @@ -10313,17 +11157,10 @@ icon_state = "4-8" }, /turf/simulated/wall, -/area/offmap/aerostat/inside/drillstorage) +/area/offmap/aerostat/inside/miscstorage) "RE" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/machinery/camera/network/research_outpost{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/turf/simulated/wall, +/area/offmap/aerostat/inside/arm/se) "RF" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" @@ -10347,6 +11184,12 @@ }, /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/airlock/south) +"RI" = ( +/obj/machinery/atmospherics/binary/pump{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "RK" = ( /obj/effect/floor_decal/rust, /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ @@ -10369,6 +11212,9 @@ /area/offmap/aerostat/inside/firingrange) "RM" = ( /obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "RN" = ( @@ -10386,18 +11232,20 @@ /turf/simulated/floor, /area/offmap/aerostat/inside/arm/se) "RP" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/radiocarbon_spectrometer, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "RU" = ( -/obj/machinery/chem_master, -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/structure/sign/poster{ dir = 8 }, -/turf/simulated/floor/tiled, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch) "RV" = ( /obj/machinery/portable_atmospherics/canister/oxygen, @@ -10405,7 +11253,6 @@ /area/shuttle/aerostat) "RW" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/structure/table/reinforced, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, @@ -10413,19 +11260,15 @@ dir = 8; pixel_x = 24 }, +/obj/structure/table/reinforced, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "Sa" = ( -/obj/machinery/atmospherics/unary/heat_exchanger{ - dir = 1 +/obj/machinery/atmospherics/portables_connector{ + dir = 4 }, -/obj/structure/window/basic{ - dir = 1 - }, -/obj/effect/floor_decal/corner/red/border{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_ridged, +/obj/machinery/camera/network/research_outpost, +/turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Sb" = ( /obj/structure/cable/heavyduty{ @@ -10455,9 +11298,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -10468,6 +11308,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 30 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Sp" = ( @@ -10480,7 +11323,12 @@ /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/airlock/north) "Sr" = ( -/obj/machinery/atmospherics/binary/pump, +/obj/machinery/atmospherics/pipe/manifold/visible{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Sv" = ( @@ -10496,10 +11344,23 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/tiled/white, +/obj/machinery/door/airlock/glass_research{ + name = "Toxins Lab" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/toxins) +"SC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/window/reinforced/full, +/obj/structure/grille, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "SE" = ( -/obj/machinery/atmospherics/binary/pump{ +/obj/machinery/atmospherics/portables_connector{ dir = 8 }, /turf/simulated/floor/tiled/white, @@ -10517,12 +11378,26 @@ /obj/effect/map_helper/airlock/atmos/pump_out_internal, /turf/simulated/floor, /area/offmap/aerostat/inside/arm/sw) +"SH" = ( +/obj/machinery/alarm{ + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/genetics) +"SI" = ( +/obj/machinery/computer/scan_consolenew{ + dir = 8 + }, +/obj/item/weapon/paper{ + info = "out of order" + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/genetics) "SJ" = ( -/obj/structure/table/standard, -/obj/item/weapon/paper_bin, -/obj/item/device/flashlight/lamp, -/obj/machinery/light, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch) "SL" = ( /obj/structure/cable{ @@ -10531,10 +11406,14 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) "SN" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/machinery/suspension_gen, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/floor_decal/rust, +/obj/effect/decal/cleanable/cobweb, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "SO" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 8 @@ -10549,12 +11428,9 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "SP" = ( -/obj/machinery/vending/tool, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, +/obj/machinery/medical_kiosk, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/telesci) +/area/offmap/aerostat/inside/miscstorage) "SQ" = ( /obj/machinery/atmospherics/unary/heat_exchanger{ dir = 4 @@ -10634,25 +11510,16 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/telesci) +/area/offmap/aerostat/inside/miscstorage) "Td" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Toxins Lab" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, +/obj/machinery/atmospherics/portables_connector, +/turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Te" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) "Tg" = ( @@ -10676,10 +11543,8 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) "Tn" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Tq" = ( @@ -10690,6 +11555,14 @@ /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) +"Tt" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/floor_decal/rust, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "Tv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -10697,6 +11570,15 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) +"Tx" = ( +/turf/simulated/wall, +/area/offmap/aerostat/inside/miscstorage) +"Tz" = ( +/obj/item/modular_computer/console/preset/research{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/telesci) "TB" = ( /turf/simulated/shuttle/wall/voidcraft/hard_corner, /area/offmap/aerostat/inside/powercontrol) @@ -10713,6 +11595,10 @@ }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) +"TM" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "TO" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 1; @@ -10779,13 +11665,15 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/north) "TW" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/structure/window/reinforced{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/green{ - dir = 4 +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 2; + req_access = list(7) }, -/turf/simulated/wall, +/turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "TX" = ( /obj/structure/window/reinforced{ @@ -10809,18 +11697,22 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/toxins) "TZ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 }, -/turf/simulated/floor/tiled/dark, -/area/offmap/aerostat/inside/xenoarch) -"Ub" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/closet/l3closet/virology, +/obj/machinery/light{ + dir = 4 }, -/obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/virology) +"Ub" = ( +/obj/machinery/vending/tool, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/miscstorage) "Ue" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -10833,12 +11725,24 @@ /turf/simulated/shuttle/floor/yellow, /area/shuttle/aerostat) "Uf" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 }, -/obj/machinery/light/small, -/turf/simulated/floor/tiled/dark, -/area/offmap/aerostat/inside/xenoarch) +/obj/structure/closet/wardrobe/virology_white, +/obj/machinery/camera/network/research_outpost{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) +"Ug" = ( +/obj/effect/floor_decal/rust, +/obj/random/maintenance/research, +/obj/random/maintenance/research, +/obj/random/tool, +/obj/random/tool, +/obj/structure/closet, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "Uh" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10846,19 +11750,16 @@ /turf/simulated/wall, /area/offmap/aerostat/inside/telesci) "Ui" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Miscellaneous Lab" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/door/firedoor/glass, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/turf/simulated/floor/tiled/steel_ridged, -/area/offmap/aerostat/inside/misclab) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/tiled/dark, +/area/offmap/aerostat/inside/lobby) "Uj" = ( -/obj/machinery/artifact_scanpad, -/turf/simulated/floor/tiled/white, +/turf/simulated/floor, /area/offmap/aerostat/inside/xenoarch) "Ul" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -10875,6 +11776,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/bluegrid, /area/offmap/aerostat/inside/powercontrol) +"Uo" = ( +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "Up" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -10898,10 +11802,11 @@ /turf/simulated/floor, /area/offmap/aerostat/inside/arm/se) "Us" = ( -/obj/machinery/atmospherics/portables_connector, -/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/area/offmap/aerostat/inside/atmos) "Ut" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 @@ -10941,28 +11846,15 @@ /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/xenoarch/chamber) "UA" = ( -/obj/machinery/washing_machine, /obj/machinery/alarm{ pixel_y = 26 }, /obj/machinery/camera/network/research_outpost{ dir = 4 }, +/obj/machinery/medical_kiosk, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) -"UB" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/floor_decal/industrial/warning, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) "UC" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -10989,14 +11881,21 @@ /obj/structure/cable/heavyduty{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/light{ + dir = 8 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "UH" = ( -/obj/structure/closet/excavation, +/obj/machinery/power/apc{ + dir = 1; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/toxins) "UL" = ( /obj/structure/cable{ icon_state = "2-4" @@ -11006,15 +11905,22 @@ }, /turf/simulated/floor/bluegrid, /area/offmap/aerostat/inside/powercontrol) +"UM" = ( +/obj/structure/bed/chair/office/light, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "UO" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +/turf/simulated/floor/reinforced, +/area/offmap/aerostat/inside/telesci) +"UP" = ( +/obj/machinery/light{ + dir = 1 }, -/obj/structure/sign/painting/public{ - pixel_y = 30 +/obj/structure/closet/crate/bin{ + anchored = 1 }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/firingrange) "US" = ( /obj/machinery/door/airlock/glass_research{ name = "Atmospherics"; @@ -11028,35 +11934,31 @@ /turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/atmos) "UV" = ( -/obj/effect/floor_decal/industrial/warning/corner, -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) +/turf/simulated/wall, +/area/offmap/aerostat/inside/arm/ne) "UW" = ( -/turf/simulated/shuttle/wall/voidcraft/green, -/area/offmap/aerostat/inside/genetics) -"UZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 + dir = 4 }, +/turf/simulated/wall, +/area/offmap/aerostat/inside/telesci) +"UZ" = ( /obj/structure/cable{ icon_state = "2-4" }, -/obj/machinery/portable_atmospherics/canister/empty, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/light{ + dir = 8 + }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/northchamb) "Va" = ( @@ -11070,15 +11972,27 @@ pixel_y = 26 }, /obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/table/standard, +/obj/machinery/computer/atmoscontrol/laptop{ + monitored_alarm_ids = list("anomaly_testing"); + req_one_access = list(47,24,11) + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "Vd" = ( +<<<<<<< HEAD /obj/machinery/door/firedoor/glass, /obj/structure/window/reinforced/full, /obj/structure/grille, /obj/machinery/atmospherics/pipe/simple/hidden/green, /obj/machinery/door/firedoor/glass, /turf/simulated/floor, +======= +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + dir = 6 + }, +/turf/simulated/floor/tiled/white, +>>>>>>> e4a5e6c0e3... Merge pull request #11941 from PastelPrinceDan/aerostat /area/offmap/aerostat/inside/toxins) "Ve" = ( /obj/machinery/atmospherics/portables_connector{ @@ -11093,29 +12007,31 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "Vi" = ( -/obj/structure/table/standard, -/obj/item/device/assembly_holder/timer_igniter, -/obj/item/weapon/tool/screwdriver, -/obj/structure/sign/painting/public{ - pixel_x = -30 +/obj/structure/window/reinforced{ + dir = 4 }, -/obj/item/weapon/folder/white, -/obj/item/weapon/pen/fountain, +/obj/machinery/portable_atmospherics/canister/empty, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) -"Vk" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/dark, -/area/offmap/aerostat/inside/xenoarch) "Vl" = ( /obj/machinery/atmospherics/binary/algae_farm/filled{ dir = 1 }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) +"Vo" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/dark, +/area/offmap/aerostat/inside/lobby) +"Vr" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/offmap/aerostat/inside/southchamb) "Vs" = ( /obj/effect/floor_decal/rust, /obj/structure/cable/yellow{ @@ -11127,13 +12043,16 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "Vt" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/suspension_gen, /obj/machinery/camera/network/research_outpost{ dir = 4 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "Vu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -11142,11 +12061,11 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) "Vx" = ( -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 1 +/obj/effect/floor_decal/industrial/warning{ + dir = 8 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/turf/simulated/floor, +/area/offmap/aerostat/inside/xenoarch) "Vz" = ( /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) @@ -11184,6 +12103,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, +/obj/structure/flora/pottedplant/crystal, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) "VJ" = ( @@ -11199,6 +12119,12 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) +"VL" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "VM" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 @@ -11250,16 +12176,22 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/arm/ne) "VU" = ( -/obj/machinery/light{ - dir = 1 +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/turf/simulated/floor, +/area/offmap/aerostat/inside/xenoarch) "VX" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ icon_state = "1-8" }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "VY" = ( @@ -11269,16 +12201,11 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) "Wb" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/light{ - dir = 8 +/obj/machinery/camera/network/research_outpost{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/portable_atmospherics/canister/empty, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "Wd" = ( /turf/simulated/shuttle/wall/voidcraft/hard_corner{ stripe_color = "#00FF00" @@ -11304,20 +12231,30 @@ /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Wh" = ( -/obj/machinery/camera/network/research_outpost{ - dir = 8 +/obj/machinery/power/apc{ + dir = 4; + pixel_x = 28 + }, +/obj/structure/cable{ + icon_state = "0-8" }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/telesci) +/area/offmap/aerostat/inside/miscstorage) "Wi" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) +"Wj" = ( +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/genetics) "Wk" = ( -/obj/machinery/portable_atmospherics/canister/empty, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "Wn" = ( /obj/structure/cable{ icon_state = "4-8" @@ -11341,6 +12278,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, +/obj/structure/flora/pottedplant/subterranean, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/southchamb) "Wt" = ( @@ -11377,9 +12315,6 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) "Wz" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, @@ -11389,6 +12324,10 @@ /obj/structure/cable{ icon_state = "2-8" }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "WC" = ( @@ -11404,8 +12343,22 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, +/obj/structure/table/rack, +/obj/item/clothing/suit/space/anomaly/heat, +/obj/item/clothing/head/helmet/space/anomaly/heat, +/obj/item/device/suit_cooling_unit, +/obj/item/weapon/storage/excavation, +/obj/item/weapon/tool/wrench, +/obj/item/weapon/pickaxe, +/obj/item/device/measuring_tape, +/obj/item/weapon/storage/belt/archaeology, +/obj/item/stack/flag/yellow, +/obj/item/clothing/mask/breath, +/obj/machinery/alarm{ + pixel_y = 26 + }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/area/offmap/aerostat/inside/xenoarch) "WF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 4 @@ -11414,11 +12367,11 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) "WH" = ( -/obj/structure/table/steel_reinforced, /obj/random/maintenance/research, /obj/structure/sign/painting/public{ pixel_x = 30 }, +/obj/structure/table/borosilicate, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "WJ" = ( @@ -11438,20 +12391,27 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/telesci) +/area/offmap/aerostat/inside/miscstorage) +"WP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue, +/obj/machinery/medical_kiosk, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "WQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/blue{ dir = 4 }, -/obj/machinery/power/apc{ - dir = 1; - pixel_y = 24 - }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/structure/cable/heavyduty{ + icon_state = "4-8" }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) +"WR" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/book/manual/virology, +/obj/item/device/antibody_scanner, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "WS" = ( /obj/effect/shuttle_landmark{ base_area = /area/offmap/aerostat; @@ -11489,10 +12449,12 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/table/standard, -/obj/item/weapon/tool/screwdriver, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) +"WY" = ( +/obj/machinery/atmospherics/pipe/simple/visible/red, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "WZ" = ( /obj/effect/floor_decal/industrial/warning/dust/corner{ dir = 4 @@ -11500,11 +12462,18 @@ /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "Xa" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9 }, -/turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/obj/effect/floor_decal/rust, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/offmap/aerostat/inside/westhall) "Xb" = ( /obj/effect/floor_decal/rust, /obj/structure/cable/yellow{ @@ -11526,9 +12495,19 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/flora/pottedplant/subterranean, -/turf/simulated/floor/tiled/white, +/turf/simulated/wall, /area/offmap/aerostat/inside/xenoarch) +"Xm" = ( +/obj/machinery/power/apc{ + dir = 8; + pixel_x = -22 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/floor_decal/rust, +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "Xo" = ( /obj/effect/floor_decal/industrial/danger{ dir = 1 @@ -11547,14 +12526,17 @@ /turf/simulated/shuttle/floor/yellow, /area/shuttle/aerostat) "Xr" = ( -/obj/structure/window/reinforced, -/obj/machinery/portable_atmospherics/canister/phoron, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 6 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "Xt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable{ icon_state = "1-2" }, @@ -11574,10 +12556,12 @@ /obj/machinery/light{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 }, -/obj/item/modular_computer/console/preset/research, +/obj/structure/table/standard, +/obj/item/device/multitool, +/obj/item/weapon/tool/screwdriver, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) "XA" = ( @@ -11597,13 +12581,9 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/turf/simulated/floor, +/area/offmap/aerostat/inside/arm/ne) "XH" = ( -/obj/structure/table/reinforced, /obj/machinery/recharger/wallcharger{ pixel_x = 4; pixel_y = 20 @@ -11616,12 +12596,13 @@ pixel_x = 4; pixel_y = 36 }, +/obj/item/modular_computer/console, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "XJ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/wall, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/genetics) "XK" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -11635,29 +12616,32 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/inside/arm/ne) "XL" = ( -/obj/machinery/door/airlock/glass_research{ - name = "Xenoarchaeology" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/tiled/steel_ridged, -/area/offmap/aerostat/inside/xenoarch) +/turf/simulated/wall, +/area/offmap/aerostat/inside/virology) "XM" = ( /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/south) +"XN" = ( +/obj/structure/closet/crate/bin{ + anchored = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/genetics) "XO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/closet/crate/bin{ - anchored = 1 +/obj/structure/sign/painting/public{ + pixel_y = 30 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/telesci) @@ -11671,7 +12655,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled/steel_ridged, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/arm/ne) "XQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/meter, @@ -11690,11 +12674,20 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) "XV" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 6 +/obj/structure/bed/chair/comfy/black{ + dir = 1 }, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/turf/simulated/floor/glass/reinforced{ + color = "#eacd7c" + }, +/area/offmap/aerostat/glassgetsitsownarea) +"XW" = ( +/obj/machinery/light/floortube{ + dir = 8; + pixel_x = -6 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "XX" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -11723,20 +12716,21 @@ /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/drillstorage) "Yg" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) +/obj/machinery/disease2/incubator, +/obj/structure/reagent_dispensers/virusfood{ + pixel_y = 28 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "Yh" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" @@ -11767,12 +12761,16 @@ }, /obj/machinery/power/apc{ dir = 8; - name = "east bump"; pixel_x = -22 }, /obj/effect/floor_decal/rust, /turf/simulated/floor, /area/offmap/aerostat/inside/arm/ne) +"Yj" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/black, +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "Yl" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/light/floortube{ @@ -11804,9 +12802,6 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "Yp" = ( -/obj/machinery/atmospherics/pipe/simple/visible/red{ - dir = 10 - }, /obj/machinery/light{ dir = 1 }, @@ -11829,7 +12824,11 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) "Yt" = ( -/obj/machinery/atmospherics/pipe/simple/visible/red, +/obj/machinery/atmospherics/portables_connector, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, +/obj/machinery/camera/network/research_outpost, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Yu" = ( @@ -11843,52 +12842,79 @@ /turf/simulated/floor/plating/virgo2, /area/offmap/aerostat/solars) "Yv" = ( -/obj/structure/closet/crate/bin{ - anchored = 1 - }, +/obj/machinery/autolathe, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/misclab) +/area/offmap/aerostat/inside/miscstorage) "Yw" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 8 - }, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) "Yx" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /turf/simulated/shuttle/wall/voidcraft/green, /area/offmap/aerostat/inside/airlock/west) "YB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 9 + dir = 4 + }, +/obj/machinery/atmospherics/binary/pump/on{ + name = "phoron pump" }, /turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) -"YE" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) -"YJ" = ( -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{ - scrub_id = "science_outpost" +/area/offmap/aerostat/inside/atmos) +"YC" = ( +/obj/structure/table/standard, +/obj/item/weapon/paper_bin{ + pixel_x = 4; + pixel_y = 6 }, +/obj/item/weapon/folder/white, +/obj/item/weapon/pen, /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) -"YN" = ( -/obj/effect/floor_decal/industrial/warning{ +/area/offmap/aerostat/inside/xenoarch) +"YE" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/structure/reagent_dispensers/coolanttank, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/xenoarch) +"YH" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/med_data/laptop{ + dir = 1 + }, +/obj/machinery/camera/network/research_outpost{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) +"YJ" = ( +/obj/machinery/atmospherics/binary/pump{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) +"YL" = ( +/obj/structure/bed/chair/bay, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/genetics) +"YN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor, -/area/offmap/aerostat/inside/xenoarch) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/disease2/isolator, +/obj/machinery/firealarm{ + dir = 4; + layer = 3.3; + pixel_x = 26 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "YS" = ( /obj/machinery/door/blast/regular{ dir = 2; @@ -11914,12 +12940,17 @@ /turf/simulated/shuttle/wall/voidcraft/green/virgo2, /area/offmap/aerostat/inside/arm/se) "YX" = ( -/obj/structure/reagent_dispensers/coolanttank, -/obj/machinery/camera/network/research_outpost{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/portables_connector{ + dir = 8 }, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) +/area/offmap/aerostat/inside/toxins) "Zb" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" @@ -11930,11 +12961,10 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) "Zc" = ( -/obj/machinery/light/floortube{ - dir = 4; - pixel_x = 5 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/closet/crate/bin{ + anchored = 1 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/xenoarch) "Ze" = ( @@ -11944,36 +12974,59 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/turf/simulated/wall, +/area/offmap/aerostat/inside/atmos) "Zg" = ( /obj/machinery/camera/network/research_outpost, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) +"Zh" = ( +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "Zi" = ( -/obj/machinery/atmospherics/binary/pump{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/visible/red{ + dir = 1 + }, +/obj/machinery/meter, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Zj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, +/obj/structure/window/basic{ + dir = 1 + }, +/obj/structure/window/basic{ + dir = 8 + }, +/obj/machinery/atmospherics/unary/heat_exchanger{ + dir = 1 + }, +/obj/effect/floor_decal/corner/red/border{ + dir = 8 + }, +/obj/effect/floor_decal/corner/red/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_ridged, /area/offmap/aerostat/inside/toxins) "Zn" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 }, /obj/effect/floor_decal/industrial/warning/cee, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 5 + }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Zo" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/green{ - dir = 6 +/obj/structure/cable{ + icon_state = "4-8" }, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/black, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) "Zp" = ( @@ -11990,11 +13043,22 @@ /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) "Zu" = ( -/obj/machinery/atmospherics/unary/freezer{ - icon_state = "freezer" +/obj/machinery/light{ + dir = 4 }, +/obj/structure/table/rack, +/obj/item/clothing/suit/space/anomaly/heat, +/obj/item/clothing/head/helmet/space/anomaly/heat, +/obj/item/device/suit_cooling_unit, +/obj/item/weapon/storage/excavation, +/obj/item/weapon/tool/wrench, +/obj/item/weapon/pickaxe, +/obj/item/device/measuring_tape, +/obj/item/weapon/storage/belt/archaeology, +/obj/item/stack/flag/yellow, +/obj/item/clothing/mask/breath, /turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/toxins) +/area/offmap/aerostat/inside/xenoarch) "Zv" = ( /obj/machinery/embedded_controller/radio/airlock/docking_port{ cycle_to_external_air = 1; @@ -12009,12 +13073,8 @@ /area/offmap/aerostat/inside/toxins) "Zw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/closet/wardrobe/genetics_white, -/obj/machinery/camera/network/research_outpost{ - dir = 8 - }, /turf/simulated/floor/tiled, -/area/offmap/aerostat/inside/genetics) +/area/offmap/aerostat/inside/misclab) "Zx" = ( /obj/effect/floor_decal/industrial/warning/dust, /obj/machinery/door/airlock/external{ @@ -12039,6 +13099,18 @@ "ZA" = ( /turf/simulated/floor/tiled, /area/offmap/aerostat/inside/xenoarch) +"ZD" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = -4 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) +"ZE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue, +/turf/simulated/wall, +/area/offmap/aerostat/inside/toxins) "ZG" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8 @@ -12053,6 +13125,10 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/westhall) +"ZI" = ( +/obj/machinery/dna_scannernew, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/genetics) "ZJ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -12104,13 +13180,35 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/easthall) +"ZP" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/structure/closet/secure_closet/personal/patient, +/obj/machinery/alarm{ + pixel_y = 26 + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/virology) "ZR" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/obj/structure/window/reinforced, -/turf/simulated/floor/tiled/techfloor, -/area/offmap/aerostat/inside/northchamb) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/binary/pump{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/white, +/area/offmap/aerostat/inside/toxins) "ZS" = ( -/obj/machinery/atmospherics/pipe/manifold/visible, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/black{ + dir = 1 + }, /obj/machinery/meter, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -17606,7 +18704,7 @@ XX Rl aE EN -UW +EN aw aw aw @@ -17747,7 +18845,7 @@ he Yx cI KW -EN +Jo gf Bz aw @@ -17889,8 +18987,8 @@ he FJ lL jL -EN -Bt +Jo +Qz Bz Bz aw @@ -18033,7 +19131,7 @@ Wt qN Jo if -Go +Qz Bz Bz aw @@ -18172,13 +19270,13 @@ PS PS Rr Re -qN -Jo +HS +Ls Lq Xa -Go +ni Bz -UW +Jo aw aw aw @@ -18314,13 +19412,13 @@ oW PS Rr Lt -qN +KA +Jo +ZK +ZK +ZK +ZK Jo -Bu -if -Go -Go -UW Bz aw aw @@ -18458,13 +19556,13 @@ Rr NV Hq Jo -Kv -Kr -Go -Go -Go -Bz -Bz +NP +Yw +wA +Yw +Yw +EA +EA aw aw aw @@ -18600,14 +19698,14 @@ Qd Zg HH FU -Kv +NP yG -Go -Qz -Go -Go -UW -UW +Yw +Yw +Yw +Yw +zH +zH aw aw aw @@ -18742,15 +19840,15 @@ Qd Tr Sl Lt -Kv +NP tU -Go -Go -Go -Go -Go -Bz -Bz +Yw +Yw +Yw +Yw +Yw +EA +EA aw aw aw @@ -18890,10 +19988,10 @@ Ey kR fo Ml -Go -Go -Bz -Bz +Yw +Yw +EA +EA aw aw aw @@ -19026,17 +20124,17 @@ TY ZK nR Lt -Kv -jS +NP +Yw Yw ey -Bh +jw ef -Go -Go -Go -Bz -Bz +Yw +Yw +Yw +EA +EA aw aw aw @@ -19168,18 +20266,18 @@ xM ZK pP yN -Kv -tA -LN +NP +Yw +Yw jj Zw oZ -Oe +Zw qS -Oe -hM -UW -UW +Yw +Yw +zH +zH aw aw aw @@ -19310,19 +20408,19 @@ pX ZK wF Lt -Kv -Kv -Kv -Kv -Kv -Kv -Kv -Kv -Kv -Kv -Kv -gf -UW +NP +Yw +Yw +Yw +Yw +ef +Yw +Yw +Yw +Yw +Yw +FY +zH aw aw aw @@ -19436,7 +20534,7 @@ ac Rr Rr ce -Eu +PX Eu Dh Jp @@ -19452,20 +20550,20 @@ CQ Qd lz Lt -iX -pu -Nl -Nl +NP +Yw +Kz +Yw yX kq -Nl -Nl -Ke -Ke -yX -sz -rq -rq +Yw +Yw +Yw +Kz +Yw +Yw +zH +zH aw aw aw @@ -19583,11 +20681,11 @@ Lj Dh hu Pe -xu -qC -qC -qC -hu +ph +RI +WY +Op +lr Qd ux yO @@ -19595,18 +20693,18 @@ Qd wF Lt iX -fR -Nl -Nl -Nl -Nl -Nl -Nl -Ls -Ls -Nl -jN -Nl +iX +iX +iX +iX +iX +iX +iX +iX +iX +iX +iX +iX oA rq rq @@ -19719,15 +20817,15 @@ ac mN ce Qd +qC +WQ Qd -jM -un Dh Yp CE Qa GX -Yt +Yb Mv yI Qd @@ -19737,20 +20835,20 @@ Qd il co vP -Dl HJ HJ HJ -HJ -HJ -qe -mY -bm UG -jw -bO -bO -bO +Hs +HJ +HJ +HJ +HJ +UG +HJ +HJ +qv +vu vT nN nN @@ -19858,18 +20956,18 @@ aw aw aw Rr -QN +Vi Vi bG -Qd -tP +qC +WQ un Dh mu MH Zi Zj -Zj +dz Ay kO Qd @@ -19880,19 +20978,19 @@ Ek ZH iX Qe -Nl -Nl -Nl -Nl -Nl +MA +MA +MA +MA +MA tJ Nl Nl Nl Nl Nl -Nl -Nl +AR +AR oA uS cU @@ -20003,8 +21101,8 @@ Rr mL ig oK -Qd -IA +qC +WQ un Dh FF @@ -20021,14 +21119,14 @@ Qd Ek ZH iX -Nl +UP Nl Nl Nl Nl Nl fJ -vM +mm Dq ZL TX @@ -20142,23 +21240,29 @@ aw Rr Rr qU -MM -qC +qU +qU io +<<<<<<< HEAD vR jM un +======= +qC +WQ +Eb +>>>>>>> e4a5e6c0e3... Merge pull request #11941 from PastelPrinceDan/aerostat Dh Gt TF HV -Sa -aF -bR -Br Qd -Zu -DI +Qd +bR +Gt +Qd +Mu +po Qd PR ZH @@ -20282,30 +21386,30 @@ aw aw de ce -hG -xC zu -qC +zu +zu +zu mD Vd Hb nV bW -YJ +Qd Sw -xK Qd Qd -fh -YJ Qd -Jr +Qd +Qd +Qd +qC HU kf ck Md iX -HS +at Nl Nl at @@ -20424,23 +21528,23 @@ aw de de Qd -Qd -Qd -Bc +Ha +Gu +Gu Gu TW -Qd +lT WQ -LR -Qd +MM Qd +Ph JV +NA +vY Qd -Qd -Qd -Qd -Qd -Qd +FK +Gn +oi MM Sv Wn @@ -20448,11 +21552,11 @@ VJ ZV iX DG -Nl +Mf Nl Wi Nl -Nl +Mf FT NJ lI @@ -20564,24 +21668,24 @@ aw aw de wC -xP +aF Qd ol -qC -hB -Yb +ol +ol +ol xO JM gL ud +KD jy -GR xy jy DH +KD +jy jy -DH -GR jy TP DL @@ -20705,26 +21809,26 @@ Qg aw de wC -Xr +uN Hy tv NU Yb -wG -Zo +Yb +Yb Ox -Qd +mi ji ib -ib -ib +LR +Pr nh aI -aI -aI -aI +ou +ZE +WP wr -qC +Zh qC CC Wn @@ -20737,7 +21841,7 @@ Nl Nl Nl Nl -yK +eA NJ lI Ld @@ -20846,8 +21950,8 @@ aw Qg de wC -Gf -Xr +xP +xP mt Qd NH @@ -20855,26 +21959,26 @@ Oz CM hU QV -Qd +oc nb -qC FK -qC +Qd +Qh zb Ca -qC -qC +rz +Qd PP jM hs -qC -QV +uF +zD Wn XT ZH iX Rm -bx +ye ye Ew mA @@ -20893,7 +21997,7 @@ ID ID iX PJ -tR +eW KK KK aw @@ -20987,9 +22091,9 @@ aw aw de wC -ZR -Gf -Xr +Ny +xP +xP ch Qd Qd @@ -20998,18 +22102,18 @@ Qd Ov SU GK +wG OM -OM -nK -OM +GK +GK zV +rU OM -Td OM OM JD -nK -OM +GK +rU kG Ry Yh @@ -21035,8 +22139,8 @@ iX iX iX Nm -eW -eW +bF +CN KK KK Qg @@ -21128,10 +22232,10 @@ aw aw de wC -ju -ZR -Gf -Xr +xP +xP +xP +xP mt Ce cB @@ -21140,14 +22244,14 @@ cB cB GF gD -qC +xg Ly -oc -qC +Qd +FK mc +Gn +xu qC -qC -oc kt QO JT @@ -21178,7 +22282,7 @@ VI ie JS eW -eW +fP wz KK KK @@ -21269,11 +22373,11 @@ aw aw de de -mi -ju -ZR -Gf -Xr +xP +xP +xP +xP +xP lX Ce bK @@ -21281,11 +22385,11 @@ CO Cl PN GF -qC -qC -qC -qC -qC +qf +xs +Gf +Qd +QH mc qC qC @@ -21409,13 +22513,13 @@ iW la la la -BA -KD -sm -Ar -lk -vm -qf +de +ld +vt +vt +vt +uh +ge Pl As bw @@ -21423,14 +22527,14 @@ AL WF XQ bC -qC -qC -zJ -zJ -qC +Ly +xK +Ly +Qd +Sa Ih -xU -xU +qC +rf xU xU Wf @@ -21548,31 +22652,31 @@ aw aw aw kk -Wk +qJ UZ -Wb +vt sN -vt -vt -vt -vt -vt -vt +pH +OL +HK +XV +Cd +Cm wi Ce Ti bP no cC -GF +eR VU -qC +zr Vx -HL +Qd Sr nB lW -qC +Yj qC qC qC @@ -21590,7 +22694,7 @@ Ym Ym Ym Ym -Ym +wl Ym Ym Ym @@ -21605,9 +22709,9 @@ ie QX eW eW -eW -eW -eW +eJ +eJ +eJ eW Bq Eh @@ -21690,14 +22794,14 @@ aw aw aw kk -Wk +ry Te xP xP xP -xP -xP -xP +OL +HK +XV xP xP oJ @@ -21706,18 +22810,18 @@ qi Vl bA QE -GF -qC -qC -JI +fh +rg +Uj JI +Qd +SE +YX qC -og +AC +XW qC qC -qC -qC -Pr BG Az aJ @@ -21747,9 +22851,9 @@ ie QX eW eW -VG -VG -VG +HK +HK +HK eW BP it @@ -21834,13 +22938,13 @@ cO de qj cX -Ng -OL -OL -OL -OL -OL +xP +xP +xP OL +HK +XV +xP hp yu Ce @@ -21848,19 +22952,19 @@ uu Vl cA QE -GF -qC -qC -qC -qC +fi +rH +Uj +GR +Qd qC og qC -zJ +AC +fC qC qC Fi -lT GB aK aQ @@ -21889,9 +22993,9 @@ HN QX eW eW -eW +fP pY -eW +fP eW wQ eW @@ -21976,33 +23080,33 @@ rM um ge bN -bj -VG -VG -VG -VG -VG -VG -VG +xP +xP +xP +xP +xP +xP +xP +xP wg Ce ke Vl yU TR -GF -mu -qC -Bk -nf -Sr -nB -qC +ii +jF +Ae +jF +Qd +Td +Zo +lW Fw nf lh +BT AC -qC DK Mj bZ @@ -22031,9 +23135,9 @@ pA QX eW eW -eW -eW -eW +VG +VG +VG eW Cj tE @@ -22119,13 +23223,13 @@ gv oe gk bj -VG -VG -VG -VG -VG -VG -VG +uV +wb +xP +Ng +ci +xP +lS bq Ce fH @@ -22134,17 +23238,17 @@ Da SW Cc Bk -nf -xU -Ni -qC +Jq +HL +Qd +Td jH OX Hd xf +OA OX -eR -OX +Hd fK UL cP @@ -22170,13 +23274,13 @@ SL Ya Ya pq -uh -pH -er -er -er -er -er +QX +eW +eW +VG +VG +VG +MZ NE er er @@ -22257,35 +23361,35 @@ cn cn fW gN -de -qj +dY +Ce Ze -wb +Ce In -dY -dY +km +km lH +Ce ua -ua -sc -Ny +Ce +rw Ce qh Vl cA QE ez -qC -Fi -Bk -ZS -qC -og -qC -Fi -Fi +sm +Jq +PU +Qd +UH +ZR qC AC +Fi +Fi +qC jT GB aO @@ -22311,16 +23415,24 @@ KI Zs Ya KI +<<<<<<< HEAD HN eW QX eW eW +======= +xH +iQ +sy +er +FA +>>>>>>> e4a5e6c0e3... Merge pull request #11941 from PastelPrinceDan/aerostat gP -eW -eW +FA +Vr OG -eW +tR KK DC Jd @@ -22399,35 +23511,35 @@ aw aw aw aw -kk +hn Us hk BW KP -xP -xP +pZ +DM Fh qZ -qZ -qZ +OO +OO pr fV gX Vl cA QE -ez -hG -vW +ju +vm +Jq PU py +Wk +ZS +xU +ph +ph +ws xU -nB -rg -AC -AC -qC -AC Kj GB aP @@ -22457,9 +23569,9 @@ ie eW QX eW -VG -VG -VG +HK +HK +HK eW OG pm @@ -22541,35 +23653,35 @@ aw aw aw aw -kk -Us +hn +sc gG -Aa +BW Ii -DM -qJ -Ha -hn -hn -eM +pZ +pZ +pZ +pZ +pZ +pZ cF so ca Vl zF QE -ez -VU -AC -rx +lk +vz +Jq +PU Ju -xU +Xr Pq -xU -Qa -Ju -xU -Wf +qC +Em +cG +qC +qC At GB GB @@ -22584,7 +23696,7 @@ Ym Ym Ym Ym -Ym +wl Ym Ym Ym @@ -22599,12 +23711,12 @@ ie eW QX eW -eW -eW -eW +fP +fP +fP eW OG -eW +EP HQ Qg aw @@ -22701,15 +23813,15 @@ pZ PA fD tL -qC -AC -qC -qC -Bk +Jq +Jq +HO +Ju +Yt KS iV -rx -xu +kS +AC qC qC EV @@ -22722,9 +23834,15 @@ vg eE Ym BF +<<<<<<< HEAD Ff Ff Ff +======= +JX +Ui +sK +>>>>>>> e4a5e6c0e3... Merge pull request #11941 from PastelPrinceDan/aerostat sK Fs AN @@ -22829,13 +23947,13 @@ aw aw aw aw -de -de +dY +dY re -eO +bL IN -uV -eM +Ak +pZ uq rw bL @@ -22844,19 +23962,19 @@ nx cE KZ WD -SE -qC -qC -qC +Jq +NT +Ju +YJ mc -ld qC +VL AC qC gs yq -oV -oV +mJ +fR Rr Hl fI @@ -22865,10 +23983,10 @@ ky Ym xl Ym -Ym -Ym xe Ym +Ym +Ym xl Ym Ym @@ -22972,13 +24090,13 @@ aw aw aw aw -de -de +dY +dY MO -XV +bL YB -ff -ff +Ak +QE rw Du yv @@ -22986,19 +24104,19 @@ Du Du bV Zu -ii +Jq NT -hJ +Ju OW -mc +Bv lK tu Mg Oz So Tg -oV -oV +jN +AY Rr ak RF @@ -23012,7 +24130,7 @@ IF JQ kC ql -pf +Vo qP ug CT @@ -23115,22 +24233,22 @@ aw aw aw aw -de -de +dY +dY el -XV -YB -HK +QE +QE +QE mU km km km km gR -fQ -fQ -fQ -fQ +vR +Ar +vR +Ni fQ AB Qb @@ -23149,24 +24267,24 @@ VA UC GP vK +UW +vK +vK vK vK -zc -Nk -Ui -Nk Nk +ms Nk Nk XJ -aH -aH -aH -aH -aH +Rb +Rb +Rb +Rb +Rb OG eW -eW +uE KK KK Qg @@ -23258,10 +24376,10 @@ aw aw aw Qg -de -de +dY +dY Ri -xP +QE ff jF aj @@ -23269,14 +24387,14 @@ bM da op Lf -Lf -Lf -Lf +Np +Jq +Ip jF UA Gi tV -Mn +Jq nY QA Mp @@ -23293,21 +24411,21 @@ lc DO Iu tH -Gv +UO Lu -KG -Rb +UO Rb +ly vy iZ cz vd -vd +lP Pa jV -aH +Rb gC -tR +DV KK KK aw @@ -23401,10 +24519,10 @@ aw aw Qg aw -de -de -xP -ff +dY +dY +DD +QE jF au bS @@ -23419,7 +24537,7 @@ Mn kV Jq Jq -Ae +Jq oY fn gx @@ -23430,24 +24548,24 @@ Gr BS Uh Xz -Vz -Vz -Vz -dH -Yn -BB -By -By -By -By -By -By -By -By -By -By -By -aH +zc +zc +zc +Ai +tH +UO +UO +UO +Rb +aA +xR +xR +xR +qt +va +Pa +Pa +Rb Wr KK KK @@ -23544,9 +24662,9 @@ aw Qg aw aw -de -de -ff +dY +dY +QE jF az Ah @@ -23559,13 +24677,13 @@ Ul Dg Ul ML -Ul -Ul +sb +sb sb Cw qQ -ZA -ZA +FZ +SJ SJ jF ak @@ -23575,21 +24693,21 @@ OE Vz Vz Vz -HR -Yn -gK -By -By -By -By -By -By -By -By -By -By -By -aH +Vz +gU +UO +UO +UO +Rb +MB +xR +xR +xR +sj +Pa +Pa +me +Rb KK KK aw @@ -23687,7 +24805,7 @@ Qg aw aw aw -de +dY NN jF bE @@ -23703,12 +24821,12 @@ zI VX Zc ti -UH -QH -Gb -Eb +Jq +Jq +Xg +jF zn -Qh +jF jF qq Zb @@ -23718,19 +24836,19 @@ Vz uj Vz Vz -Yn +gz UO -By -By -By -By +IS +UO +Rb +YL xR -By -By -By -By -By -uk +Wj +xR +qt +Pa +jV +Pa IP KK aw @@ -23843,35 +24961,35 @@ wh QL Ve GW -Ip +jF RP -Jq -Jq +md +OJ LS Jq Jq Og jF -Qs +xv JP Uh iH Vz -De Vz Vz -Yn -gK -By -By -By -By -By -By -By -By -By -By +qK +gU +UO +UO +UO +Rb +YL +xR +xR +xR +Ns +Pa +Pa Ht Ht aw @@ -23985,34 +25103,34 @@ wK ZA wp Ij -fi +jF YE hX hX ga Jq -Jq -YX -jF -xg +mp +GI +zn +CK BS -Uh +jQ HM Vz -Mc Vz Vz -Yn -BX -By -By -By -By -By -By -By -By -By +Tz +gU +UO +UO +UO +Rb +SH +xR +rW +xR +qt +Pa Ht Ht aw @@ -24127,32 +25245,32 @@ DN iY Ab tI -rH -xq -Ul -Ul -fT -Jq -Jq -Og jF -CK +xq +JY +Hh +fT +YC +vQ +mI +jF +JE BS Uh Ol -Vz +rJ ES -Vz -Vz -Yn -gK -By -By -By -By -By -By -By +Kv +tf +gU +UO +ut +UO +Rb +XN +An +SI +ZI Ap Ht Ht @@ -24264,38 +25382,38 @@ kY vJ vJ vJ -HO -hX -hX -hX -hX -vz -RP -Jq -Jq +jF +jF +jF +jF +jF +jF +rP +jF +jF Xg -xs -xs -xs +jF +jF +jF jF Gr BS Uh JZ -Vz -jQ -Vz -Vz Yn -gK -By -By -By -By -Ct -By -By -PO +Yn +Yn +Yn +Yn +Yn +Yn +Yn +Rb +Rb +Rb +Rb +Rb +Ka It aY aY @@ -24406,31 +25524,31 @@ LK KN SN Vt -Ul -Ul -Ul +Ug +Jr +AD sI -Jq -Jq +ik +TM gw -Jq -Jq -LS -Jq -Jq -JR -jF +wT +Tt +hA +Bi +Xm +yQ +jm EX cq Hw SY WN WN -WN +Mc WN PG CV -iB +CV Ji Dv yp @@ -24547,15 +25665,15 @@ zp zp XP fY -fY -fY -fY -fY +vW +Cu +LD +fc Ln mj -mj +tj jZ -gW +xc XF Mb sD @@ -24564,22 +25682,22 @@ xc Oa cm Va -Uh +gl Nw -Vz -Vz -Vz -dH -Yn +De +HR ER -tG -tG -By -gK +ER +DE +ER +ER +RE +xj +xj uk -PO -Ht -Ht +Rf +It +It aY aY aY @@ -24687,39 +25805,39 @@ Up fb fb fb -ry -ry +LK +LK KN -wR -lR -Hn -Uj -LI -Cq -LS -Ow -mM +NL +NL +NL +NL +NL +NL +UV +NL +LY yA -Kn -Cu -Kn -jF +NL +NL +NL +NL yH Po -Uh +RD SP -rJ +cs Wh dH mH -Yn +EW Yv Ub RE -By LT -Ht -Ht +lC +It +It aw aw aw @@ -24831,36 +25949,36 @@ aw aw aw aw -ry -KN -jF -jF -jF -jF -jF -rr -jF -jF +ot +ze +cT +NY +Je +Wb +Di +cM +hw +Pi XL -jF -jF -jF -jF +is +qr +xV +NP Yo Va RD -xt -xt -xt -xt -xt -xt -xt -xt -xt -xt +Tx +Tx +Tx +Tx +Tx +Tx +Tx +Tx +RE +RE Rf -yr +It aw aw aw @@ -24974,19 +26092,19 @@ aw aw aw aw -ry -KN -wq -wq -rk -KU -BM -KU -jF -rF -Vk +ot +ze +AE +Uo +Uo +HE +HA xS -jF +xS +xB +xS +xS +OP oG Wz ZO @@ -24996,7 +26114,7 @@ Jc GT II uD -gi +uK SV gi id @@ -25117,18 +26235,18 @@ aw aw aw aw -Cd -Cd -wq -ys -mz -UB -lq -jF -fA +IO +IO +gb +Uo +Uo +pa +Uo +GO +yd TZ Uf -jF +xV Bm xG dV @@ -25140,7 +26258,7 @@ Nn Nn Nn Nn -Nn +Et Qq Qq aw @@ -25260,28 +26378,28 @@ aw aw aw aw -Cd -Cd -pM -hA -UV -PT -jF -HA -ze -Ph -ry +IO +IO +rC +WR +pa +UM +YH +uf +xV +xV +Dp RM fp ty xt Uw Nn -Yc -Yc Nn Nn Nn +Nn +Et Qq Qq aw @@ -25403,25 +26521,25 @@ aw aw aw aw -Cd -Cd -lq -UB -mz -jF -jF -jF -jF -ry +IO +IO +IA +pa +Uo +Uo +Uo +ZD +ev +ot jA -XA +nG ty lA cf Nn Yc Yc -Nn +vU gy Qq Qq @@ -25546,19 +26664,19 @@ aw aw aw aw -ry -ry +ot +ot Yg YN -bT -lq -AE -lq -ry +qD +cD +Uo +EC +ot zx -XA +tr ty -lA +hQ cf Nn Yc @@ -25689,14 +26807,14 @@ aw aw aw aw -Cd -Cd -NL -LY -AD -le +IO +IO +ot +fX +SC +KM lb -ry +ot Va XA ty @@ -25832,20 +26950,20 @@ aw aw aw aw -Cd -ry -ys -lq -EF -lq -ry +IO +ot +ZP +ME +Uo +PK +ot Rp XA ty -hQ -cf -Nn +cQ +fr Nn +vU yr Qq aw @@ -25975,12 +27093,12 @@ aw aw aw aw -ry -Cd -sW -MK -lD -ry +ot +IO +tn +Uo +JR +ot AI oM mX @@ -26118,11 +27236,11 @@ aw aw aw aw -Cd -Cd -ys -lq -ry +IO +IO +Uo +Uo +ot lZ Ma ek @@ -26261,14 +27379,14 @@ aw aw aw aw -Cd -Cd -sW -tY +IO +IO +zz +ot iy Nh tY -zr +Nn Qq Qq aw @@ -26404,9 +27522,9 @@ aw aw aw aw -Cd -KN -tY +IO +ze +ot Bo Bo rT @@ -26548,7 +27666,7 @@ aw aw aw Db -tY +ot eb ec ka @@ -26690,7 +27808,7 @@ aw aw aw aw -jJ +Db dP oU BK diff --git a/maps/expedition_vr/beach/_beach.dm b/maps/expedition_vr/beach/_beach.dm index 9428488b96..70fbaa8dbf 100644 --- a/maps/expedition_vr/beach/_beach.dm +++ b/maps/expedition_vr/beach/_beach.dm @@ -84,7 +84,10 @@ prob_fall = 25 //Chance goes down by this much each time it spawns one (not defining and prob_spawn 100 means they spawn as soon as one dies) //guard = 40 //They'll stay within this range (not defining this disables them staying nearby and they will wander the map (and through step teleports)) mobs_to_pick_from = list( - /mob/living/simple_mob/animal/passive/snake + /mob/living/simple_mob/vore/fennec = 300, + /mob/living/simple_mob/animal/passive/snake/python = 100, + /mob/living/simple_mob/vore/alienanimals/teppi = 10, + /mob/living/simple_mob/vore/alienanimals/teppi/baby = 1 ) /obj/tether_away_spawner/beach_outside_friendly diff --git a/maps/expedition_vr/beach/submaps/mountains.dm b/maps/expedition_vr/beach/submaps/mountains.dm new file mode 100644 index 0000000000..9150c690c2 --- /dev/null +++ b/maps/expedition_vr/beach/submaps/mountains.dm @@ -0,0 +1,374 @@ +// This causes PoI maps to get 'checked' and compiled, when undergoing a unit test. +// This is so CI can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors. +// When adding a new PoI, please add it to this list. +#if MAP_TEST +#include "deadBeacon.dmm" +#include "prepper1.dmm" +#include "quarantineshuttle.dmm" +#include "Mineshaft1.dmm" +#include "Scave1.dmm" +#include "crashed_ufo.dmm" +#include "crashed_ufo_frigate.dmm" +#include "crystal1.dmm" +#include "crystal2.dmm" +#include "crystal3.dmm" +#include "lost_explorer.dmm" +#include "CaveTrench.dmm" +#include "Cavelake.dmm" +#include "Rockb1.dmm" +#include "ritual.dmm" +#include "temple.dmm" +#include "CrashedMedShuttle1.dmm" +#include "digsite.dmm" +#include "vault1.dmm" +#include "vault2.dmm" +#include "vault3.dmm" +#include "vault4.dmm" +#include "vault5.dmm" +#include "vault6.dmm" +#include "IceCave1A.dmm" +#include "IceCave1B.dmm" +#include "IceCave1C.dmm" +#include "SwordCave.dmm" +#include "SupplyDrop1.dmm" +#include "BlastMine1.dmm" +#include "crashedcontainmentshuttle.dmm" +#include "deadspy.dmm" +#include "lava_trench.dmm" +#include "Geyser1.dmm" +#include "Geyser2.dmm" +#include "Geyser3.dmm" +#include "Cliff1.dmm" +#include "excavation1.dmm" +#include "spatial_anomaly.dmm" +#include "speakeasy_vr.dmm" +#endif + +// The 'mountains' is the mining z-level, and has a lot of caves. +// POIs here spawn in two different sections, the top half and bottom half of the map. +// The bottom half should be fairly tame, with perhaps a few enviromental hazards. +// The top half is when things start getting dangerous, but the loot gets better. + +/datum/map_template/surface/mountains + name = "Mountain Content" + desc = "Don't dig too deep!" + +// 'Normal' templates get used on the bottom half, and should be safer. +/datum/map_template/surface/mountains/normal + +// 'Deep' templates get used on the top half, and should be more dangerous and rewarding. +/datum/map_template/surface/mountains/deep + +// To be added: Templates for cave exploration when they are made. + +/**************** + * Normal Caves * + ****************/ + +/datum/map_template/surface/mountains/normal/deadBeacon + name = "Abandoned Relay" + desc = "An unregistered comms relay, abandoned to the elements." + mappath = 'maps/expedition_vr/beach/submaps/deadBeacon.dmm' + cost = 10 + +/datum/map_template/surface/mountains/normal/prepper1 + name = "Prepper Bunker" + desc = "A little hideaway for someone with more time and money than sense." + mappath = 'maps/expedition_vr/beach/submaps/prepper1.dmm' + cost = 10 + +/datum/map_template/surface/mountains/normal/qshuttle + name = "Quarantined Shuttle" + desc = "An emergency landing turned viral outbreak turned tragedy." + mappath = 'maps/expedition_vr/beach/submaps/quarantineshuttle.dmm' + cost = 20 + +/datum/map_template/surface/mountains/normal/Mineshaft1 + name = "Abandoned Mineshaft 1" + desc = "An abandoned minning tunnel from a lost money making effort." + mappath = 'maps/expedition_vr/beach/submaps/Mineshaft1.dmm' + cost = 5 + +/datum/map_template/surface/mountains/normal/crystal1 + name = "Crystal Cave 1" + desc = "A small cave with glowing gems and diamonds." + mappath = 'maps/expedition_vr/beach/submaps/crystal1.dmm' + cost = 5 + allow_duplicates = TRUE + +/datum/map_template/surface/mountains/normal/crystal2 + name = "Crystal Cave 2" + desc = "A moderate sized cave with glowing gems and diamonds." + mappath = 'maps/expedition_vr/beach/submaps/crystal2.dmm' + cost = 10 + allow_duplicates = TRUE + +/datum/map_template/surface/mountains/normal/crystal2 + name = "Crystal Cave 3" + desc = "A large spiral of crystals with diamonds in the center." + mappath = 'maps/expedition_vr/beach/submaps/crystal3.dmm' + cost = 15 + +/datum/map_template/surface/mountains/normal/lost_explorer + name = "Lost Explorer" + desc = "The remains of an explorer who rotted away ages ago, and their equipment." + mappath = 'maps/expedition_vr/beach/submaps/lost_explorer.dmm' + cost = 5 + allow_duplicates = TRUE + +/datum/map_template/surface/mountains/normal/Rockb1 + name = "Rocky Base 1" + desc = "Someones underground hidey hole" + mappath = 'maps/expedition_vr/beach/submaps/Rockb1.dmm' + cost = 15 + +/datum/map_template/surface/mountains/normal/corgiritual + name = "Dark Ritual" + desc = "Who put all these plushies here? What are they doing?" + mappath = 'maps/expedition_vr/beach/submaps/ritual.dmm' + cost = 15 + +/datum/map_template/surface/mountains/normal/abandonedtemple + name = "Abandoned Temple" + desc = "An ancient temple, long since abandoned. Perhaps alien in origin?" + mappath = 'maps/expedition_vr/beach/submaps/temple.dmm' + cost = 20 + +/datum/map_template/surface/mountains/normal/digsite + name = "Dig Site" + desc = "A small abandoned dig site." + mappath = 'maps/expedition_vr/beach/submaps/digsite.dmm' + cost = 10 + +/datum/map_template/surface/mountains/normal/vault1 + name = "Mine Vault 1" + desc = "A small vault with potential loot." + mappath = 'maps/expedition_vr/beach/submaps/vault1.dmm' + cost = 5 + allow_duplicates = TRUE + template_group = "Buried Vaults" + +/datum/map_template/surface/mountains/normal/vault2 + name = "Mine Vault 2" + desc = "A small vault with potential loot." + mappath = 'maps/expedition_vr/beach/submaps/vault2.dmm' + cost = 5 + allow_duplicates = TRUE + template_group = "Buried Vaults" + +/datum/map_template/surface/mountains/normal/vault3 + name = "Mine Vault 3" + desc = "A small vault with potential loot. Also a horrible suprise." + mappath = 'maps/expedition_vr/beach/submaps/vault3.dmm' + cost = 15 + template_group = "Buried Vaults" + +/datum/map_template/surface/mountains/normal/IceCave1A + name = "Ice Cave 1A" + desc = "This cave's slippery ice makes it hard to navigate, but determined explorers will be rewarded." + mappath = 'maps/expedition_vr/beach/submaps/IceCave1A.dmm' + cost = 10 + +/datum/map_template/surface/mountains/normal/IceCave1B + name = "Ice Cave 1B" + desc = "This cave's slippery ice makes it hard to navigate, but determined explorers will be rewarded." + mappath = 'maps/expedition_vr/beach/submaps/IceCave1B.dmm' + cost = 10 + +/datum/map_template/surface/mountains/normal/IceCave1C + name = "Ice Cave 1C" + desc = "This cave's slippery ice makes it hard to navigate, but determined explorers will be rewarded." + mappath = 'maps/expedition_vr/beach/submaps/IceCave1C.dmm' + cost = 10 + +/datum/map_template/surface/mountains/normal/SwordCave + name = "Cursed Sword Cave" + desc = "An underground lake. The sword on the lake's island holds a terrible secret." + mappath = 'maps/expedition_vr/beach/submaps/SwordCave.dmm' + +/datum/map_template/surface/mountains/normal/supplydrop1 + name = "Supply Drop 1" + desc = "A drop pod that landed deep within the mountains." + mappath = 'maps/expedition_vr/beach/submaps/SupplyDrop1.dmm' + cost = 10 + allow_duplicates = TRUE + +/datum/map_template/surface/mountains/normal/crashedcontainmentshuttle + name = "Crashed Cargo Shuttle" + desc = "A severely damaged military shuttle, its cargo seems to remain intact." + mappath = 'maps/expedition_vr/beach/submaps/crashedcontainmentshuttle.dmm' + cost = 30 + +/datum/map_template/surface/mountains/normal/deadspy + name = "Spy Remains" + desc = "W+M1 = Salt." + mappath = 'maps/expedition_vr/beach/submaps/deadspy.dmm' + cost = 15 + +/datum/map_template/surface/mountains/normal/geyser1 + name = "Ore-Rich Geyser" + desc = "A subterranean geyser that produces steam. This one has a particularly abundant amount of materials surrounding it." + mappath = 'maps/expedition_vr/beach/submaps/Geyser1.dmm' + cost = 5 + allow_duplicates = TRUE + template_group = "Underground Geysers" + +/datum/map_template/surface/mountains/normal/geyser2 + name = "Fenced Geyser" + desc = "A subterranean geyser that produces steam. This one has a damaged fence surrounding it." + mappath = 'maps/expedition_vr/beach/submaps/Geyser2.dmm' + cost = 5 + allow_duplicates = TRUE + template_group = "Underground Geysers" + +/datum/map_template/surface/mountains/normal/geyser3 + name = "Magmatic Geyser" + desc = "A subterranean geyser that produces incendiary gas. It is recessed into the ground, and filled with magma. It's a relatively dormant volcano." + mappath = 'maps/expedition_vr/beach/submaps/Geyser2.dmm' + cost = 10 + allow_duplicates = TRUE + template_group = "Underground Geysers" + +/datum/map_template/surface/mountains/normal/cliff1 + name = "Ore-Topped Cliff" + desc = "A raised area of rock created by volcanic forces." + mappath = 'maps/expedition_vr/beach/submaps/Cliff1.dmm' + cost = 5 + allow_duplicates = TRUE + template_group = "Underground Cliffs" + +/datum/map_template/surface/mountains/normal/deadly_rabbit // VOREStation Edit + name = "The Killer Rabbit" + desc = "A cave where the Knights of the Round have fallen to a murderous Rabbit." + mappath = 'maps/expedition_vr/beach/submaps/deadly_rabbit_vr.dmm' + cost = 5 + allow_duplicates = FALSE + +/************** + * Deep Caves * + **************/ + +/* Vorestation Removal +/datum/map_template/surface/mountains/deep/lost_explorer + name = "Lost Explorer, Deep" + desc = "The remains of an explorer who rotted away ages ago, and their equipment. Again." + mappath = 'maps/expedition_vr/beach/submaps/lost_explorer.dmm' + cost = 5 + allow_duplicates = TRUE */ + +/datum/map_template/surface/mountains/normal/crashed_ufo //VOREStation Edit + name = "Crashed UFO" + desc = "A (formerly) flying saucer that is now embedded into the mountain, yet it still seems to be running..." + mappath = 'maps/expedition_vr/beach/submaps/crashed_ufo.dmm' + cost = 40 + discard_prob = 50 + +/datum/map_template/surface/mountains/normal/crashed_ufo_frigate //VOREStation Edit + name = "Crashed UFO Frigate" + desc = "A (formerly) flying saucer that is now embedded into the mountain, yet the combat protocols still seem to be running..." + mappath = 'maps/expedition_vr/beach/submaps/crashed_ufo_frigate.dmm' + cost = 60 + discard_prob = 50 + +/datum/map_template/surface/mountains/normal/Scave1 //VOREStation Edit + name = "Spider Cave 1" + desc = "A minning tunnel home to an aggressive collection of spiders." + mappath = 'maps/expedition_vr/beach/submaps/Scave1.dmm' + cost = 20 + +/datum/map_template/surface/mountains/normal/CaveTrench //VOREStation Edit + name = "Cave River" + desc = "A strange underground river." + mappath = 'maps/expedition_vr/beach/submaps/CaveTrench.dmm' + cost = 20 + +/datum/map_template/surface/mountains/normal/Cavelake //VOREStation Edit + name = "Cave Lake" + desc = "A large underground lake." + mappath = 'maps/expedition_vr/beach/submaps/Cavelake.dmm' + cost = 20 + +/datum/map_template/surface/mountains/normal/vault1 //VOREStation Edit + name = "Mine Vault 1" + desc = "A small vault with potential loot." + mappath = 'maps/expedition_vr/beach/submaps/vault1.dmm' + cost = 5 + allow_duplicates = TRUE + template_group = "Buried Vaults" + +/datum/map_template/surface/mountains/normal/vault2 //VOREStation Edit + name = "Mine Vault 2" + desc = "A small vault with potential loot." + mappath = 'maps/expedition_vr/beach/submaps/vault2.dmm' + cost = 5 + allow_duplicates = TRUE + template_group = "Buried Vaults" + +/datum/map_template/surface/mountains/normal/vault3 //VOREStation Edit + name = "Mine Vault 3" + desc = "A small vault with potential loot. Also a horrible suprise." + mappath = 'maps/expedition_vr/beach/submaps/vault3.dmm' + cost = 15 + template_group = "Buried Vaults" + +/datum/map_template/surface/mountains/normal/vault4 //VOREStation Edit + name = "Mine Vault 4" + desc = "A small xeno vault with potential loot. Also horrible suprises." + mappath = 'maps/expedition_vr/beach/submaps/vault4.dmm' + cost = 20 + template_group = "Buried Vaults" + +/datum/map_template/surface/mountains/normal/vault5 //VOREStation Edit + name = "Mine Vault 5" + desc = "A small xeno vault with potential loot. Also major horrible suprises." + mappath = 'maps/expedition_vr/beach/submaps/vault5.dmm' + cost = 25 + template_group = "Buried Vaults" + +/datum/map_template/surface/mountains/normal/vault6 //VOREStation Edit + name = "Mine Vault 6" + desc = "A small mercenary tower with potential loot." + mappath = 'maps/expedition_vr/beach/submaps/vault6.dmm' + cost = 25 + template_group = "Buried Vaults" + +/datum/map_template/surface/mountains/normal/BlastMine1 //VOREStation Edit + name = "Blast Mine 1" + desc = "An abandoned blast mining site, seems that local wildlife has moved in." + mappath = 'maps/expedition_vr/beach/submaps/BlastMine1.dmm' + cost = 20 + +/datum/map_template/surface/mountains/normal/lava_trench //VOREStation Edit + name = "lava trench" + desc = "A long stretch of lava underground, almost river-like, with a small crystal research outpost on the side." + mappath = 'maps/expedition_vr/beach/submaps/lava_trench.dmm' + cost = 20 + fixed_orientation = TRUE + +/datum/map_template/surface/mountains/normal/crashedmedshuttle //VOREStation Edit + name = "Crashed Med Shuttle" + desc = "A medical response shuttle that went missing some time ago. So this is where they went." + mappath = 'maps/expedition_vr/beach/submaps/CrashedMedShuttle1.dmm' + cost = 20 + fixed_orientation = TRUE + +/datum/map_template/surface/mountains/normal/excavation1 //VOREStation Edit + name = "Excavation Site" + desc = "An abandoned mining site." + mappath = 'maps/expedition_vr/beach/submaps/excavation1.dmm' + cost = 20 + +/datum/map_template/surface/mountains/deep/spatial_anomaly + name = "spatial anomaly" + desc = "A strange section of the caves that seems twist and turn in ways that shouldn't be physically possible." + mappath = 'maps/expedition_vr/beach/submaps/spatial_anomaly.dmm' + cost = 20 + fixed_orientation = TRUE + +/datum/map_template/surface/mountains/normal/Speakeasy //VOREStation add + name = "Speakeasy" + desc = "A hidden underground bar to serve drinks in secret and in style." + mappath = 'maps/expedition_vr/beach/submaps/speakeasy_vr.dmm' + cost = 10 + allow_duplicates = FALSE + diff --git a/maps/offmap_vr/common_offmaps.dm b/maps/offmap_vr/common_offmaps.dm index 41a1707af8..feef13888c 100644 --- a/maps/offmap_vr/common_offmaps.dm +++ b/maps/offmap_vr/common_offmaps.dm @@ -220,6 +220,33 @@ mappath = 'maps/gateway_vr/wildwest.dmm' associated_map_datum = /datum/map_z_level/common_lateload/gateway_destination + +///////////////////////////////////////////////////////////////////////////////////// + +/datum/map_template/common_lateload/om_adventure + name = "OM Adventure Submap" + desc = "Please do not use this." + mappath = null + associated_map_datum = null + +/datum/map_z_level/common_lateload/om_adventure_destination + name = "OM Adventure Destination" + z = Z_LEVEL_OM_ADVENTURE + +#include "../om_adventure/grasscave.dm" +/datum/map_template/common_lateload/om_adventure/grasscave + name = "Grass Cave" + desc = "Looks like a cave with some grass in it." + mappath = 'maps/om_adventure/grasscave.dmm' + associated_map_datum = /datum/map_z_level/common_lateload/om_adventure_destination + +/datum/map_template/common_lateload/om_adventure/grasscave/on_map_loaded(z) + . = ..() + seed_submaps(list(z), 60, /area/om_adventure/grasscave/unexplored, /datum/map_template/om_adventure/outdoor) + seed_submaps(list(z), 60, /area/om_adventure/grasscave/rocks, /datum/map_template/om_adventure/cave) + new /datum/random_map/automata/cave_system/no_cracks(null, 3, 3, z, world.maxx - 4, world.maxy - 4) + new /datum/random_map/noise/ore/grasscave(null, 1, 1, z, 64, 64) + ////////////////////////////////////////////////////////////////////////////////////// // Admin-use z-levels for loading whenever an admin feels like #if AWAY_MISSION_TEST diff --git a/maps/om_adventure/grasscave.dm b/maps/om_adventure/grasscave.dm new file mode 100644 index 0000000000..e9e3a21dda --- /dev/null +++ b/maps/om_adventure/grasscave.dm @@ -0,0 +1,335 @@ +#if MAP_TEST +#include "pois/darkstar.dmm" +#include "pois/darktear1.dmm" +#include "pois/darktear2.dmm" +#include "pois/darktear3.dmm" +#include "pois/darktear4.dmm" +#include "pois/fleshtear1.dmm" +#include "pois/fleshtear2.dmm" +#include "pois/fleshtear3.dmm" +#include "pois/fleshtear4.dmm" +#include "pois/cabin1.dmm" +#include "pois/cabin2.dmm" +#include "pois/cabin3.dmm" +#include "pois/camp.dmm" +#include "pois/shuttlewreck1.dmm" +#include "pois/shuttlewreck2.dmm" +#include "pois/shuttlewreck3.dmm" +#include "pois/shuttlewreck4.dmm" +#endif + + +/obj/effect/shuttle_landmark/premade/om_adventure/grasscave/center + name = "Anomaly - Center" + landmark_tag = "om-grasscave-center" + +/obj/effect/shuttle_landmark/premade/om_adventure/grasscave/southeast + name = "Anomaly - Southeast" + landmark_tag = "om-grasscave-southeast" + + +/area/om_adventure/grasscave + name = "Grass Cave" + icon = 'icons/turf/areas_vr.dmi' + icon_state = "bluwhicir" + requires_power = TRUE + dynamic_lighting = TRUE + flags = RAD_SHIELDED + base_turf = /turf/simulated/floor/weird_things/dark + ambience = AMBIENCE_FOREBODING + +/area/om_adventure/grasscave/explored + +/area/om_adventure/grasscave/unexplored + ambience = AMBIENCE_RUINS + +/area/om_adventure/grasscave/rocks + +/obj/effect/overmap/visitable/simplemob/spacewhale/grasscave + initial_generic_waypoints = list("om-grasscave-center", "om-grasscave-southeast") + +/turf/simulated/mineral/omadventure/make_ore(var/rare_ore) + if(mineral) + return + var/mineral_name + if(rare_ore) + mineral_name = pickweight(list( + "marble" = 3, + "uranium" = 10, + "platinum" = 10, + "hematite" = 20, + "carbon" = 30, + "diamond" = 20, + "gold" = 8, + "silver" = 8, + "phoron" = 18, + "lead" = 5, + "verdantium" = 5)) + else + mineral_name = pickweight(list( + "marble" = 2, + "uranium" = 5, + "platinum" = 5, + "hematite" = 35, + "carbon" = 30, + "gold" = 3, + "silver" = 3, + "phoron" = 25, + "lead" = 1)) + + if(mineral_name && (mineral_name in GLOB.ore_data)) + mineral = GLOB.ore_data[mineral_name] + UpdateMineral() + update_icon() + +/datum/random_map/noise/ore/grasscave + descriptor = "grasscave ore distribution map" + deep_val = 0.6 //More riches, normal is 0.7 and 0.8 + rare_val = 0.5 + +/datum/map_template/om_adventure + +/area/om_adventure/poi + name = "POI - OM-A" + icon = 'icons/turf/areas_vr.dmi' + icon_state = "orawhisqu" + ambience = AMBIENCE_FOREBODING + +/area/om_adventure/poi/darkstar + name = "POI - Darkstar" + +/datum/map_template/om_adventure/outdoor/darkstar + name = "Darkstar" + desc = "A mysterious shape!" + mappath = 'pois/darkstar.dmm' + cost = 5 + +/area/om_adventure/poi/darktear1 + name = "POI - Darktear 1" + +/datum/map_template/om_adventure/cave/darktear1 + name = "darktear1" + desc = "A mysterious shape!" + mappath = 'pois/darktear1.dmm' + cost = 5 + +/area/om_adventure/poi/darktear2 + name = "POI - Darktear 2" + +/datum/map_template/om_adventure/cave/darktear2 + name = "darktear2" + desc = "A mysterious shape!" + mappath = 'pois/darktear2.dmm' + cost = 5 + +/area/om_adventure/poi/darktear3 + name = "POI - Darktear 3" + +/datum/map_template/om_adventure/cave/darktear3 + name = "darktear3" + desc = "A mysterious shape!" + mappath = 'pois/darktear3.dmm' + cost = 5 + +/area/om_adventure/poi/darktear4 + name = "POI - Darktear 4" + +/datum/map_template/om_adventure/cave/darktear4 + name = "darktear4" + desc = "A mysterious shape!" + mappath = 'pois/darktear4.dmm' + cost = 5 + +/area/om_adventure/poi/fleshtear1 + name = "POI - Fleshtear 1" + +/datum/map_template/om_adventure/cave/fleshtear1 + name = "fleshtear1" + desc = "Wow gross!" + mappath = 'pois/fleshtear1.dmm' + cost = 5 + +/area/om_adventure/poi/fleshtear2 + name = "POI - Fleshtear 2" + +/datum/map_template/om_adventure/cave/fleshtear2 + name = "fleshtear2" + desc = "Wow gross!" + mappath = 'pois/fleshtear2.dmm' + cost = 5 + +/area/om_adventure/poi/fleshtear3 + name = "POI - Fleshtear 3" + +/datum/map_template/om_adventure/cave/fleshtear3 + name = "fleshtear3" + desc = "Wow gross!" + mappath = 'pois/fleshtear3.dmm' + cost = 5 + +/area/om_adventure/poi/fleshtear4 + name = "POI - Fleshtear 4" + +/datum/map_template/om_adventure/cave/fleshtear4 + name = "fleshtear4" + desc = "Wow gross!" + mappath = 'pois/fleshtear4.dmm' + cost = 5 + +/area/om_adventure/poi/cabin1 + name = "POI - Cabin 1" + +/datum/map_template/om_adventure/outdoor/cabin1 + name = "cabin1" + desc = "A comfy home!" + mappath = 'pois/cabin1.dmm' + cost = 20 + +/area/om_adventure/poi/cabin2 + name = "POI - Cabin 2" + +/datum/map_template/om_adventure/outdoor/cabin2 + name = "cabin2" + desc = "A comfy home!" + mappath = 'pois/cabin2.dmm' + cost = 20 + +/area/om_adventure/poi/cabin3 + name = "POI - Cabin 3" + +/datum/map_template/om_adventure/outdoor/cabin3 + name = "cabin3" + desc = "A comfy... home?" + mappath = 'pois/cabin3.dmm' + cost = 10 + +/area/om_adventure/poi/camp + name = "POI - Camp" + +/datum/map_template/om_adventure/outdoor/camp + name = "Camp" + desc = "A camp!" + mappath = 'pois/camp.dmm' + cost = 20 + +/area/om_adventure/poi/shuttlewreck1 + name = "POI - Shuttlewreck 1" + +/datum/map_template/om_adventure/outdoor/shuttlewreck1 + name = "Shuttle wreck" + desc = "Long abandoned!" + mappath = 'pois/shuttlewreck1.dmm' + cost = 5 + +/area/om_adventure/poi/shuttlewreck2 + name = "POI - Shuttlewreck 2" + +/datum/map_template/om_adventure/outdoor/shuttlewreck2 + name = "Shuttle wreck" + desc = "Long abandoned!" + mappath = 'pois/shuttlewreck2.dmm' + cost = 10 + +/area/om_adventure/poi/shuttlewreck3 + name = "POI - Shuttlewreck 3" + +/datum/map_template/om_adventure/outdoor/shuttlewreck3 + name = "Shuttle wreck" + desc = "Long abandoned!" + mappath = 'pois/shuttlewreck3.dmm' + cost = 5 + +/area/om_adventure/poi/shuttlewreck4 + name = "POI - Shuttlewreck 4" + +/datum/map_template/om_adventure/outdoor/shuttlewreck4 + name = "Shuttle wreck" + desc = "Long abandoned!" + mappath = 'pois/shuttlewreck4.dmm' + cost = 10 + +/area/om_adventure/poi/medicalcenter + name = "POI - medical center" + +/datum/map_template/om_adventure/outdoor/medicalcenter + name = "Medical Center" + desc = "Maybe they used to heal people here." + mappath = 'pois/medicalcenter.dmm' + cost = 10 + +/area/om_adventure/poi/shippart1 + name = "POI - ship part 1" + +/datum/map_template/om_adventure/outdoor/shippart1 + name = "Ship Part" + desc = "Something bad happened here." + mappath = 'pois/shippart1.dmm' + cost = 10 + +/area/om_adventure/poi/woodentemple + name = "POI - Wooden Temple" + +/datum/map_template/om_adventure/cave/woodentemple + name = "Wooden Temple" + desc = "A comfy wooden temple." + mappath = 'pois/woodentemple.dmm' + cost = 10 + +/area/om_adventure/poi/alienchamber1 + name = "POI - Alien Chamber 1" + +/datum/map_template/om_adventure/cave/alienchamber1 + name = "Alien Chamber" + desc = "A mysterious alien chamber!" + mappath = 'pois/alienchamber1.dmm' + cost = 10 + +/area/om_adventure/poi/alienchamber2 + name = "POI - Alien Chamber 2" + +/datum/map_template/om_adventure/cave/alienchamber2 + name = "Alien Chamber" + desc = "A mysterious alien chamber!" + mappath = 'pois/alienchamber2.dmm' + cost = 10 + +/area/om_adventure/poi/alienchamber3 + name = "POI - Alien Chamber 3" + +/datum/map_template/om_adventure/cave/alienchamber3 + name = "Alien Chamber" + desc = "A mysterious alien chamber!" + mappath = 'pois/alienchamber3.dmm' + cost = 10 + +/area/om_adventure/poi/alienchamber4 + name = "POI - Alien Chamber 4" + +/datum/map_template/om_adventure/cave/alienchamber4 + name = "Alien Chamber" + desc = "A mysterious alien chamber!" + mappath = 'pois/alienchamber4.dmm' + cost = 10 + +/obj/tether_away_spawner/spookyland + name = "Spookyland Spawner" + icon = 'icons/mob/randomlandmarks.dmi' + icon_state = "monster" + + faction = "spookyland" + prob_spawn = 50 + prob_fall = 10 + //guard = 10 //Don't wander too far, to stay alive. + mobs_to_pick_from = list( + /mob/living/simple_mob/shadekin/blue = 1, + /mob/living/simple_mob/shadekin/red = 1, + /mob/living/simple_mob/shadekin/green = 10, + /mob/living/simple_mob/shadekin/purple = 1, + /mob/living/simple_mob/shadekin/yellow = 20, + /mob/living/simple_mob/vore/alienanimals/space_ghost = 100, + /mob/living/simple_mob/vore/alienanimals/space_jellyfish = 100, + /mob/living/simple_mob/faithless = 50, + /mob/living/simple_mob/mechanical/infectionbot = 30, + /mob/living/simple_mob/animal/passive/cat/bluespace = 1, + /mob/living/simple_mob/animal/passive/dog/void_puppy = 1 + ) \ No newline at end of file diff --git a/maps/om_adventure/grasscave.dmm b/maps/om_adventure/grasscave.dmm new file mode 100644 index 0000000000..b275729757 --- /dev/null +++ b/maps/om_adventure/grasscave.dmm @@ -0,0 +1,19919 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/effect/overmap/visitable/simplemob/spacewhale/grasscave, +/turf/unsimulated/wall/dark, +/area/om_adventure/grasscave) +"c" = ( +/turf/simulated/floor/outdoors/grass/forest, +/area/om_adventure/grasscave/unexplored) +"n" = ( +/obj/effect/shuttle_landmark/premade/om_adventure/grasscave/southeast, +/turf/simulated/floor/outdoors/grass/forest, +/area/om_adventure/grasscave) +"q" = ( +/turf/simulated/mineral/cave, +/area/om_adventure/grasscave/rocks) +"s" = ( +/turf/simulated/mineral, +/area/om_adventure/grasscave/rocks) +"u" = ( +/turf/simulated/floor/outdoors/grass/forest, +/area/om_adventure/grasscave/explored) +"A" = ( +/obj/effect/shuttle_landmark/premade/om_adventure/grasscave/center, +/turf/simulated/floor/outdoors/grass/forest, +/area/om_adventure/grasscave/explored) +"C" = ( +/turf/unsimulated/wall/dark, +/area/om_adventure/grasscave) +"N" = ( +/turf/simulated/floor/outdoors/grass/forest, +/area/om_adventure/grasscave) +"P" = ( +/turf/unsimulated/floor/dark, +/area/om_adventure/grasscave) +"X" = ( +/obj/effect/fake_sun, +/turf/unsimulated/wall/dark, +/area/om_adventure/grasscave) + +(1,1,1) = {" +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +X +a +"} +(2,1,1) = {" +C +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +q +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +C +"} +(3,1,1) = {" +C +P +P +P +P +P +P +P +P +P +P +P +P +P +q +P +P +P +q +q +q +q +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +q +q +q +q +P +P +P +P +q +P +q +q +P +P +P +P +P +P +P +q +q +q +q +q +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +C +"} +(4,1,1) = {" +C +P +P +P +P +P +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +P +P +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +q +P +P +P +P +P +P +P +q +P +P +q +q +q +q +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +q +q +q +q +q +q +q +P +P +q +P +P +q +q +q +q +q +P +P +P +P +P +P +P +P +q +P +P +P +P +P +P +P +P +P +P +P +P +C +"} +(5,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +C +"} +(6,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(7,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(8,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(9,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(10,1,1) = {" +C +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(11,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(12,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(13,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(14,1,1) = {" +C +P +P +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(15,1,1) = {" +C +P +P +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(16,1,1) = {" +C +P +P +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +s +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(17,1,1) = {" +C +P +P +P +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(18,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(19,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(20,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(21,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +q +q +q +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(22,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +q +q +q +q +q +q +q +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(23,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +c +c +c +c +q +q +q +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(24,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +c +q +q +q +q +c +c +c +q +q +q +q +q +q +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(25,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(26,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(27,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(28,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(29,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(30,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(31,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(32,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(33,1,1) = {" +C +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(34,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(35,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +q +c +c +c +c +c +c +c +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(36,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(37,1,1) = {" +C +P +P +P +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +C +"} +(38,1,1) = {" +C +P +P +P +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +C +"} +(39,1,1) = {" +C +P +P +P +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +C +"} +(40,1,1) = {" +C +P +P +P +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +C +"} +(41,1,1) = {" +C +P +P +P +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +C +"} +(42,1,1) = {" +C +P +P +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(43,1,1) = {" +C +P +P +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(44,1,1) = {" +C +P +P +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(45,1,1) = {" +C +P +P +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +c +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +q +q +q +q +q +q +q +q +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(46,1,1) = {" +C +P +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +q +q +q +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(47,1,1) = {" +C +P +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(48,1,1) = {" +C +P +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +q +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(49,1,1) = {" +C +P +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +c +c +q +q +q +q +q +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(50,1,1) = {" +C +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +c +c +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(51,1,1) = {" +C +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +q +c +c +c +c +c +c +q +q +q +q +q +c +c +c +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(52,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +q +q +q +q +q +q +c +c +c +q +q +q +q +q +q +c +c +c +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(53,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +q +q +q +q +q +q +q +c +c +c +q +q +q +q +c +c +c +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(54,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +q +q +q +q +q +q +q +c +c +c +c +q +q +c +c +c +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(55,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(56,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(57,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +q +q +q +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(58,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(59,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(60,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(61,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(62,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(63,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(64,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(65,1,1) = {" +C +P +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +c +q +q +q +q +q +q +q +q +q +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +C +"} +(66,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +C +"} +(67,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +C +"} +(68,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(69,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(70,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +N +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(71,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(72,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +u +u +u +u +u +u +u +u +u +u +u +u +A +u +u +u +u +u +u +u +u +u +u +u +u +u +u +N +q +q +q +N +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(73,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +N +N +N +N +N +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(74,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +N +N +N +N +N +c +c +c +c +q +q +q +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(75,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +N +q +q +q +N +c +c +c +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(76,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +c +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(77,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(78,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(79,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(80,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(81,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +q +q +q +q +N +N +N +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(82,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +P +P +C +"} +(83,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +P +P +C +"} +(84,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +u +u +u +u +u +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +P +P +C +"} +(85,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +P +P +C +"} +(86,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +P +C +"} +(87,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(88,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(89,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(90,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +q +q +q +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(91,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +q +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(92,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(93,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +q +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(94,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(95,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +P +P +P +P +P +P +C +"} +(96,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +C +"} +(97,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +c +c +c +c +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +n +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +C +"} +(98,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +q +q +q +c +c +c +c +c +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +P +P +P +P +P +P +P +P +P +C +"} +(99,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +q +q +c +c +c +c +c +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +P +P +P +P +P +P +P +P +P +C +"} +(100,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +q +q +q +q +q +c +c +c +c +c +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +P +P +q +P +P +P +q +q +P +C +"} +(101,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +q +q +q +q +c +c +c +c +c +N +N +N +N +q +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(102,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +q +q +q +c +c +c +c +c +N +N +N +q +q +q +N +N +N +N +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(103,1,1) = {" +C +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +q +q +q +q +c +c +c +c +c +c +N +N +q +q +q +q +q +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(104,1,1) = {" +C +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +q +q +q +q +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(105,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +q +q +q +q +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(106,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(107,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +N +q +N +N +q +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(108,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +N +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(109,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +N +N +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(110,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +N +N +N +N +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(111,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +N +N +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(112,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(113,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(114,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +q +P +P +P +C +"} +(115,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +P +C +"} +(116,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +P +C +"} +(117,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +P +C +"} +(118,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +C +"} +(119,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +C +"} +(120,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(121,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(122,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(123,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +C +"} +(124,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(125,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(126,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +c +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(127,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +c +c +c +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(128,1,1) = {" +C +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(129,1,1) = {" +C +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(130,1,1) = {" +C +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(131,1,1) = {" +C +P +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(132,1,1) = {" +C +P +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +C +"} +(133,1,1) = {" +C +P +P +P +P +P +P +P +q +q +q +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +C +"} +(134,1,1) = {" +C +P +P +P +P +P +P +P +q +q +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +C +"} +(135,1,1) = {" +C +P +P +P +P +P +P +q +q +P +P +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +C +"} +(136,1,1) = {" +C +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +q +q +q +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +P +P +C +"} +(137,1,1) = {" +C +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +q +q +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +P +P +P +q +q +q +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +P +P +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +C +"} +(138,1,1) = {" +C +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +q +q +q +q +q +q +q +q +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +q +q +q +q +q +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +q +q +q +q +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +C +"} +(139,1,1) = {" +C +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +C +"} +(140,1,1) = {" +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +C +"} diff --git a/maps/om_adventure/pois/alienchamber1.dmm b/maps/om_adventure/pois/alienchamber1.dmm new file mode 100644 index 0000000000..40aae71e2c --- /dev/null +++ b/maps/om_adventure/pois/alienchamber1.dmm @@ -0,0 +1,151 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/wall/eris/r_wall, +/area/om_adventure/poi/alienchamber1) +"e" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/shuttle/floor/alien/blue, +/area/om_adventure/poi/alienchamber1) +"f" = ( +/obj/structure/loot_pile/surface/alien/security, +/turf/simulated/shuttle/floor/alien/blue, +/area/om_adventure/poi/alienchamber1) +"n" = ( +/turf/template_noop, +/area/template_noop) +"x" = ( +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber1) +"D" = ( +/obj/structure/table/alien, +/obj/random/awayloot/looseloot, +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber1) +"P" = ( +/turf/simulated/shuttle/floor/alien/blue, +/area/om_adventure/poi/alienchamber1) +"Z" = ( +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber1) + +(1,1,1) = {" +n +n +n +a +a +a +a +a +a +a +"} +(2,1,1) = {" +n +n +n +a +Z +Z +x +x +x +a +"} +(3,1,1) = {" +n +n +n +a +Z +x +e +x +x +a +"} +(4,1,1) = {" +a +a +a +a +x +P +P +e +x +a +"} +(5,1,1) = {" +a +D +Z +x +x +x +P +x +Z +a +"} +(6,1,1) = {" +a +Z +x +P +x +x +x +Z +D +a +"} +(7,1,1) = {" +a +x +e +f +P +x +a +a +a +a +"} +(8,1,1) = {" +a +x +x +e +x +Z +a +n +n +n +"} +(9,1,1) = {" +a +x +x +x +Z +Z +a +n +n +n +"} +(10,1,1) = {" +a +a +a +a +a +a +a +n +n +n +"} diff --git a/maps/om_adventure/pois/alienchamber2.dmm b/maps/om_adventure/pois/alienchamber2.dmm new file mode 100644 index 0000000000..8366c7736a --- /dev/null +++ b/maps/om_adventure/pois/alienchamber2.dmm @@ -0,0 +1,261 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"i" = ( +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber2) +"q" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/shuttle/floor/alien/blue, +/area/om_adventure/poi/alienchamber2) +"u" = ( +/turf/simulated/shuttle/floor/alien/blue, +/area/om_adventure/poi/alienchamber2) +"x" = ( +/obj/random/awayloot/looseloot, +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber2) +"H" = ( +/obj/structure/loot_pile/surface/alien/security, +/turf/simulated/shuttle/floor/alien/blue, +/area/om_adventure/poi/alienchamber2) +"M" = ( +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber2) +"P" = ( +/turf/simulated/wall/eris/r_wall, +/area/om_adventure/poi/alienchamber2) +"Q" = ( +/obj/machinery/door/airlock/alien/public, +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber2) +"W" = ( +/obj/structure/table/alien, +/obj/random/awayloot/looseloot, +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber2) + +(1,1,1) = {" +a +a +a +a +P +P +P +P +P +P +a +"} +(2,1,1) = {" +a +a +a +a +P +M +M +M +x +P +P +"} +(3,1,1) = {" +a +a +a +a +P +x +i +q +i +i +P +"} +(4,1,1) = {" +a +a +a +a +P +M +i +i +u +i +P +"} +(5,1,1) = {" +a +P +P +P +P +P +P +i +i +i +P +"} +(6,1,1) = {" +P +P +W +M +M +i +P +i +i +i +P +"} +(7,1,1) = {" +P +i +i +i +i +i +P +P +Q +P +P +"} +(8,1,1) = {" +P +i +i +u +i +i +P +i +i +i +P +"} +(9,1,1) = {" +P +i +q +H +u +i +Q +i +q +i +P +"} +(10,1,1) = {" +P +i +i +u +i +i +P +i +i +i +P +"} +(11,1,1) = {" +P +i +i +i +i +i +P +P +Q +P +P +"} +(12,1,1) = {" +P +P +M +x +M +i +P +i +i +i +P +"} +(13,1,1) = {" +a +P +P +P +P +P +P +i +i +i +P +"} +(14,1,1) = {" +a +a +a +a +P +M +i +i +u +i +P +"} +(15,1,1) = {" +a +a +a +a +P +x +i +q +i +i +P +"} +(16,1,1) = {" +a +a +a +a +P +M +i +i +x +P +P +"} +(17,1,1) = {" +a +a +a +a +P +P +P +P +P +P +a +"} diff --git a/maps/om_adventure/pois/alienchamber3.dmm b/maps/om_adventure/pois/alienchamber3.dmm new file mode 100644 index 0000000000..a8c3a50974 --- /dev/null +++ b/maps/om_adventure/pois/alienchamber3.dmm @@ -0,0 +1,221 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"c" = ( +/turf/simulated/shuttle/floor/alien/blue, +/area/om_adventure/poi/alienchamber3) +"f" = ( +/obj/structure/loot_pile/surface/alien/security, +/turf/simulated/shuttle/floor/alien/blue, +/area/om_adventure/poi/alienchamber3) +"r" = ( +/turf/simulated/wall/eris/r_wall, +/area/om_adventure/poi/alienchamber3) +"P" = ( +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber3) +"V" = ( +/obj/random/awayloot/looseloot, +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber3) +"X" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber3) + +(1,1,1) = {" +a +a +a +a +a +r +r +r +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +a +r +r +P +r +r +a +a +a +a +"} +(3,1,1) = {" +a +a +a +r +r +P +P +P +r +r +a +a +a +"} +(4,1,1) = {" +a +a +r +r +P +P +c +P +P +r +r +a +a +"} +(5,1,1) = {" +a +r +r +P +V +P +X +P +V +P +r +r +a +"} +(6,1,1) = {" +r +r +P +P +P +P +c +P +P +P +P +r +r +"} +(7,1,1) = {" +r +P +P +c +X +c +f +c +X +c +P +P +r +"} +(8,1,1) = {" +r +r +P +P +P +P +c +P +P +P +P +r +r +"} +(9,1,1) = {" +a +r +r +P +P +V +X +P +P +P +r +r +a +"} +(10,1,1) = {" +a +a +r +r +P +P +c +P +P +r +r +a +a +"} +(11,1,1) = {" +a +a +a +r +r +P +P +P +r +r +a +a +a +"} +(12,1,1) = {" +a +a +a +a +r +r +P +r +r +a +a +a +a +"} +(13,1,1) = {" +a +a +a +a +a +r +r +r +a +a +a +a +a +"} diff --git a/maps/om_adventure/pois/alienchamber4.dmm b/maps/om_adventure/pois/alienchamber4.dmm new file mode 100644 index 0000000000..a72674a530 --- /dev/null +++ b/maps/om_adventure/pois/alienchamber4.dmm @@ -0,0 +1,295 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"h" = ( +/obj/random/awayloot/looseloot, +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber4) +"n" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/shuttle/floor/alien/blue, +/area/om_adventure/poi/alienchamber4) +"o" = ( +/turf/simulated/shuttle/floor/alien/blue, +/area/om_adventure/poi/alienchamber4) +"q" = ( +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber4) +"s" = ( +/obj/structure/table/alien, +/obj/random/awayloot/looseloot, +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber4) +"L" = ( +/turf/simulated/wall/eris/r_wall, +/area/om_adventure/poi/alienchamber4) +"N" = ( +/obj/structure/loot_pile/surface/alien/security, +/turf/simulated/shuttle/floor/alien/blue, +/area/om_adventure/poi/alienchamber4) +"O" = ( +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber4) +"R" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/shuttle/floor/alienplating/vacuum, +/area/om_adventure/poi/alienchamber4) + +(1,1,1) = {" +a +a +L +a +a +a +L +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +L +L +L +L +L +a +a +a +a +a +a +a +a +"} +(3,1,1) = {" +L +L +L +q +h +q +L +L +L +a +a +a +a +a +a +"} +(4,1,1) = {" +a +L +q +O +O +O +O +L +a +a +a +a +a +a +a +"} +(5,1,1) = {" +a +L +h +O +n +O +O +L +a +a +a +a +a +a +a +"} +(6,1,1) = {" +a +L +O +O +O +O +O +L +a +a +a +a +a +a +a +"} +(7,1,1) = {" +a +L +O +O +O +O +O +L +a +a +a +a +L +a +a +"} +(8,1,1) = {" +a +L +O +O +O +O +O +L +L +L +L +L +L +a +a +"} +(9,1,1) = {" +a +L +O +O +R +O +O +O +O +O +O +O +L +L +L +"} +(10,1,1) = {" +a +L +O +O +o +O +O +O +O +O +O +O +s +L +a +"} +(11,1,1) = {" +a +L +q +o +N +o +R +O +O +O +n +O +q +L +a +"} +(12,1,1) = {" +a +L +q +O +o +O +O +O +O +O +O +O +q +L +a +"} +(13,1,1) = {" +L +L +L +s +q +O +O +O +O +O +q +q +L +L +L +"} +(14,1,1) = {" +a +a +L +L +L +L +L +L +L +L +L +L +L +a +a +"} +(15,1,1) = {" +a +a +L +a +a +a +a +a +a +a +a +a +L +a +a +"} diff --git a/maps/om_adventure/pois/cabin1.dmm b/maps/om_adventure/pois/cabin1.dmm new file mode 100644 index 0000000000..0adc084576 --- /dev/null +++ b/maps/om_adventure/pois/cabin1.dmm @@ -0,0 +1,324 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/obj/structure/table/woodentable, +/obj/random/awayloot/looseloot, +/obj/random/tech_supply, +/turf/simulated/floor/carpet, +/area/om_adventure/poi/cabin1) +"c" = ( +/obj/structure/table/reinforced, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin1) +"d" = ( +/obj/structure/table/reinforced, +/obj/random/awayloot/looseloot, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin1) +"f" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/random/meat, +/obj/random/meat, +/obj/random/meat, +/obj/random/meat, +/obj/random/meat, +/obj/random/snack, +/obj/random/snack, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin1) +"g" = ( +/obj/structure/bed/chair/sofa/brown, +/obj/random/snack, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin1) +"i" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin1) +"j" = ( +/turf/simulated/floor/carpet, +/area/om_adventure/poi/cabin1) +"k" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/flame/candle, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin1) +"r" = ( +/obj/structure/bookcase, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin1) +"s" = ( +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin1) +"t" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin1) +"u" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/plating, +/area/om_adventure/poi/cabin1) +"v" = ( +/obj/item/weapon/bedsheet/browndouble, +/obj/structure/bed/double/padded, +/obj/structure/curtain/black, +/turf/simulated/floor/carpet, +/area/om_adventure/poi/cabin1) +"w" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/cabin1) +"x" = ( +/obj/structure/table/reinforced, +/obj/random/snack, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin1) +"z" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin1) +"B" = ( +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/cabin1) +"C" = ( +/obj/structure/bed/chair/sofa/brown/corner, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin1) +"D" = ( +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin1) +"F" = ( +/obj/structure/table/darkglass, +/obj/random/awayloot/looseloot, +/obj/item/weapon/flame/candle, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin1) +"H" = ( +/obj/structure/table/woodentable, +/obj/random/tech_supply, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin1) +"I" = ( +/obj/structure/closet, +/obj/random/awayloot/looseloot, +/obj/random/awayloot/looseloot, +/obj/random/tech_supply, +/turf/simulated/floor/carpet, +/area/om_adventure/poi/cabin1) +"L" = ( +/obj/structure/table/woodentable, +/obj/random/awayloot/looseloot, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin1) +"Q" = ( +/turf/simulated/wall/log, +/area/om_adventure/poi/cabin1) +"R" = ( +/obj/structure/bed/chair/sofa/brown/left{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin1) +"S" = ( +/obj/structure/bed/chair/sofa/brown/right, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin1) +"T" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/carpet, +/area/om_adventure/poi/cabin1) +"X" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/om_adventure/poi/cabin1) +"Z" = ( +/obj/structure/table/woodentable, +/obj/random/tech_supply/component, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin1) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +Q +Q +Q +Q +Q +Q +Q +X +Q +Q +a +"} +(3,1,1) = {" +a +Q +x +k +x +d +Q +b +j +v +Q +a +"} +(4,1,1) = {" +a +X +d +i +D +D +Q +I +j +j +X +a +"} +(5,1,1) = {" +a +X +c +D +D +D +z +j +T +j +X +a +"} +(6,1,1) = {" +a +Q +f +D +D +D +Q +j +j +j +Q +a +"} +(7,1,1) = {" +a +Q +Q +k +D +Q +Q +Q +Q +Q +Q +a +"} +(8,1,1) = {" +a +Q +L +s +s +s +r +Q +a +a +a +a +"} +(9,1,1) = {" +a +Q +S +s +s +s +H +Q +B +a +a +a +"} +(10,1,1) = {" +a +Q +g +s +F +s +s +u +B +B +w +a +"} +(11,1,1) = {" +a +Q +C +R +t +s +Z +Q +B +a +a +B +"} +(12,1,1) = {" +a +Q +Q +X +X +X +Q +Q +a +a +a +a +"} +(13,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +"} diff --git a/maps/om_adventure/pois/cabin2.dmm b/maps/om_adventure/pois/cabin2.dmm new file mode 100644 index 0000000000..31b9b10e2d --- /dev/null +++ b/maps/om_adventure/pois/cabin2.dmm @@ -0,0 +1,404 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"c" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin2) +"e" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/plating/eris/under, +/area/om_adventure/poi/cabin2) +"g" = ( +/obj/structure/table/rack/shelf, +/obj/random/mre, +/obj/random/mre, +/obj/random/mre, +/obj/random/mre, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin2) +"i" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/outdoors/sidewalk/side, +/area/om_adventure/poi/cabin2) +"k" = ( +/turf/simulated/wall/log, +/area/om_adventure/poi/cabin2) +"l" = ( +/obj/structure/table/steel, +/obj/random/multiple/underdark/treasure, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin2) +"n" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin2) +"p" = ( +/obj/structure/table/woodentable, +/obj/random/awayloot/looseloot, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin2) +"q" = ( +/obj/structure/table/steel, +/obj/random/awayloot/looseloot, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin2) +"r" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/carpet/bcarpet, +/area/om_adventure/poi/cabin2) +"s" = ( +/obj/structure/bed/chair/sofa/corp/right, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin2) +"t" = ( +/obj/structure/bed/chair/sofa/brown/corner, +/turf/simulated/floor/carpet/bcarpet, +/area/om_adventure/poi/cabin2) +"u" = ( +/obj/structure/toilet/prison{ + dir = 8 + }, +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/tiled/techmaint, +/area/om_adventure/poi/cabin2) +"v" = ( +/obj/structure/bed/chair/sofa/brown/left{ + dir = 8 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/om_adventure/poi/cabin2) +"w" = ( +/obj/structure/table/rack, +/obj/random/maintenance, +/turf/simulated/floor/carpet/bcarpet, +/area/om_adventure/poi/cabin2) +"x" = ( +/obj/structure/bed/double/padded, +/obj/item/weapon/bedsheet/browndouble, +/obj/structure/curtain/black, +/turf/simulated/floor/carpet, +/area/om_adventure/poi/cabin2) +"y" = ( +/obj/structure/table/steel, +/obj/random/material, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin2) +"z" = ( +/turf/simulated/floor/outdoors/sidewalk/side, +/area/om_adventure/poi/cabin2) +"A" = ( +/obj/structure/bed/chair/sofa/brown, +/turf/simulated/floor/carpet/bcarpet, +/area/om_adventure/poi/cabin2) +"B" = ( +/obj/structure/table/rack, +/obj/random/maintenance, +/obj/random/awayloot/looseloot, +/turf/simulated/floor/carpet/bcarpet, +/area/om_adventure/poi/cabin2) +"D" = ( +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin2) +"E" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/carpet, +/area/om_adventure/poi/cabin2) +"F" = ( +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/cabin2) +"H" = ( +/obj/structure/table/woodentable, +/obj/random/snack, +/turf/simulated/floor/carpet/bcarpet, +/area/om_adventure/poi/cabin2) +"I" = ( +/obj/structure/table/woodentable, +/obj/random/awayloot/looseloot, +/obj/random/maintenance, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin2) +"J" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin2) +"K" = ( +/obj/structure/bed/chair/sofa/brown/right{ + dir = 4 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/om_adventure/poi/cabin2) +"L" = ( +/obj/structure/table/woodentable, +/obj/random/maintenance, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin2) +"M" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/om_adventure/poi/cabin2) +"N" = ( +/obj/structure/sink{ + pixel_y = 18 + }, +/turf/simulated/floor/tiled/techmaint, +/area/om_adventure/poi/cabin2) +"O" = ( +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin2) +"P" = ( +/obj/structure/bed/chair/sofa/brown/corner{ + dir = 1 + }, +/turf/simulated/floor/carpet/bcarpet, +/area/om_adventure/poi/cabin2) +"Q" = ( +/turf/simulated/floor/carpet/bcarpet, +/area/om_adventure/poi/cabin2) +"S" = ( +/turf/simulated/floor/tiled/techmaint, +/area/om_adventure/poi/cabin2) +"T" = ( +/turf/simulated/floor/carpet, +/area/om_adventure/poi/cabin2) +"V" = ( +/obj/structure/table/rack, +/obj/random/awayloot/looseloot, +/obj/random/tech_supply, +/obj/random/tech_supply, +/turf/simulated/floor/bmarble, +/area/om_adventure/poi/cabin2) +"X" = ( +/obj/structure/bed/chair/sofa/corp/left, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin2) +"Y" = ( +/obj/structure/table/woodentable, +/obj/random/awayloot/looseloot, +/obj/random/maintenance, +/obj/random/maintenance, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin2) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +F +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +k +k +M +M +k +k +a +a +a +k +k +M +M +M +k +k +a +"} +(3,1,1) = {" +a +k +P +K +Q +B +k +a +i +a +k +I +D +T +T +x +k +a +"} +(4,1,1) = {" +a +k +A +H +r +Q +M +a +z +a +M +L +D +T +E +T +M +a +"} +(5,1,1) = {" +a +k +t +v +Q +w +k +k +e +k +k +D +D +T +T +T +M +a +"} +(6,1,1) = {" +a +k +k +k +e +k +k +V +O +V +k +D +D +J +p +L +k +a +"} +(7,1,1) = {" +a +k +Y +L +D +D +k +g +c +O +k +D +D +k +k +k +k +a +"} +(8,1,1) = {" +a +M +s +n +D +D +e +O +O +O +e +D +D +e +S +S +k +a +"} +(9,1,1) = {" +a +k +X +D +D +p +k +y +q +l +k +p +L +k +N +u +k +a +"} +(10,1,1) = {" +a +k +k +M +M +k +k +k +k +k +k +k +k +k +k +k +k +a +"} +(11,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} diff --git a/maps/om_adventure/pois/cabin3.dmm b/maps/om_adventure/pois/cabin3.dmm new file mode 100644 index 0000000000..02adedf2c1 --- /dev/null +++ b/maps/om_adventure/pois/cabin3.dmm @@ -0,0 +1,161 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/wall/wood, +/area/om_adventure/poi/cabin3) +"d" = ( +/obj/structure/bonfire, +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/cabin3) +"i" = ( +/turf/template_noop, +/area/template_noop) +"k" = ( +/obj/random/awayloot/looseloot, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin3) +"n" = ( +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/cabin3) +"r" = ( +/obj/effect/decal/remains, +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/cabin3) +"z" = ( +/turf/template_noop, +/area/om_adventure/poi/cabin3) +"M" = ( +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin3) +"S" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/wood, +/area/om_adventure/poi/cabin3) +"T" = ( +/obj/tether_away_spawner/spookyland, +/turf/template_noop, +/area/om_adventure/poi/cabin3) +"V" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/cabin3) + +(1,1,1) = {" +a +a +a +a +z +z +z +a +a +a +"} +(2,1,1) = {" +a +k +M +M +z +T +z +z +M +a +"} +(3,1,1) = {" +z +z +M +M +z +z +n +k +M +a +"} +(4,1,1) = {" +z +z +n +M +M +n +n +S +M +a +"} +(5,1,1) = {" +z +T +n +n +r +n +M +M +M +a +"} +(6,1,1) = {" +z +z +n +n +n +n +a +a +a +a +"} +(7,1,1) = {" +a +M +z +n +n +n +a +i +i +i +"} +(8,1,1) = {" +z +z +k +z +n +n +a +i +i +i +"} +(9,1,1) = {" +a +M +M +z +V +n +a +i +d +i +"} +(10,1,1) = {" +a +a +a +z +z +z +a +i +i +i +"} diff --git a/maps/om_adventure/pois/camp.dmm b/maps/om_adventure/pois/camp.dmm new file mode 100644 index 0000000000..13960f3854 --- /dev/null +++ b/maps/om_adventure/pois/camp.dmm @@ -0,0 +1,258 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"n" = ( +/obj/structure/table/rack/steel, +/obj/fiftyspawner/log, +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/camp) +"x" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/camp) +"y" = ( +/obj/structure/flora/tree/bigtree, +/turf/template_noop, +/area/om_adventure/poi/camp) +"z" = ( +/obj/structure/table/rack/steel, +/obj/random/awayloot/looseloot, +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/camp) +"A" = ( +/obj/structure/bonfire, +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/camp) +"H" = ( +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/camp) +"M" = ( +/turf/simulated/wall/log, +/area/om_adventure/poi/camp) +"U" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/storage/box/matches, +/turf/simulated/floor/outdoors/newdirt, +/area/om_adventure/poi/camp) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +a +a +M +M +M +M +M +a +a +a +"} +(2,1,1) = {" +a +a +a +a +a +a +y +a +a +a +M +n +z +U +M +a +H +a +"} +(3,1,1) = {" +a +a +a +a +a +a +a +a +H +a +M +H +x +H +M +a +a +a +"} +(4,1,1) = {" +a +H +a +a +a +a +a +x +H +H +a +a +H +a +a +H +a +a +"} +(5,1,1) = {" +a +a +a +a +a +a +H +H +H +H +H +a +a +a +a +a +a +a +"} +(6,1,1) = {" +a +a +H +H +a +H +H +H +A +H +H +H +a +H +H +a +a +a +"} +(7,1,1) = {" +a +a +a +a +a +a +H +H +H +H +H +a +a +a +a +a +a +a +"} +(8,1,1) = {" +a +a +a +a +a +a +a +H +H +x +a +a +a +a +a +a +a +a +"} +(9,1,1) = {" +a +a +a +a +a +y +a +a +H +a +a +a +a +y +a +a +a +a +"} +(10,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(11,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} diff --git a/maps/om_adventure/pois/darkstar.dmm b/maps/om_adventure/pois/darkstar.dmm new file mode 100644 index 0000000000..a41ef6cb59 --- /dev/null +++ b/maps/om_adventure/pois/darkstar.dmm @@ -0,0 +1,93 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"e" = ( +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/darkstar) +"z" = ( +/mob/living/simple_mob/vore/alienanimals/space_ghost, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/darkstar) + +(1,1,1) = {" +a +a +a +e +a +a +a +"} +(2,1,1) = {" +a +e +a +a +a +e +a +"} +(3,1,1) = {" +a +a +a +e +a +a +a +"} +(4,1,1) = {" +a +a +e +e +e +a +a +"} +(5,1,1) = {" +e +e +e +z +e +e +e +"} +(6,1,1) = {" +a +a +e +e +e +a +a +"} +(7,1,1) = {" +a +a +a +e +a +a +a +"} +(8,1,1) = {" +a +e +a +a +a +e +a +"} +(9,1,1) = {" +a +a +a +e +a +a +a +"} diff --git a/maps/om_adventure/pois/darktear1.dmm b/maps/om_adventure/pois/darktear1.dmm new file mode 100644 index 0000000000..224bb457bf --- /dev/null +++ b/maps/om_adventure/pois/darktear1.dmm @@ -0,0 +1,93 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/darktear1) +"I" = ( +/turf/template_noop, +/area/template_noop) +"Z" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/darktear1) + +(1,1,1) = {" +I +I +I +I +I +I +a +"} +(2,1,1) = {" +I +I +a +I +I +a +I +"} +(3,1,1) = {" +I +I +I +I +a +a +I +"} +(4,1,1) = {" +I +I +I +a +a +a +I +"} +(5,1,1) = {" +I +I +a +Z +a +I +I +"} +(6,1,1) = {" +I +I +a +a +a +I +I +"} +(7,1,1) = {" +I +a +a +a +I +I +I +"} +(8,1,1) = {" +I +a +I +I +I +a +I +"} +(9,1,1) = {" +a +I +I +I +I +I +I +"} diff --git a/maps/om_adventure/pois/darktear2.dmm b/maps/om_adventure/pois/darktear2.dmm new file mode 100644 index 0000000000..a4932cf5cf --- /dev/null +++ b/maps/om_adventure/pois/darktear2.dmm @@ -0,0 +1,93 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/darktear2) +"Q" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/darktear2) +"S" = ( +/turf/template_noop, +/area/template_noop) + +(1,1,1) = {" +a +S +S +S +S +S +S +"} +(2,1,1) = {" +S +a +a +S +S +a +S +"} +(3,1,1) = {" +S +Q +a +S +S +S +S +"} +(4,1,1) = {" +S +a +a +a +a +S +S +"} +(5,1,1) = {" +S +S +a +a +a +a +S +"} +(6,1,1) = {" +S +S +a +a +a +a +S +"} +(7,1,1) = {" +S +S +a +a +Q +a +S +"} +(8,1,1) = {" +S +a +S +a +a +a +S +"} +(9,1,1) = {" +S +S +S +S +S +S +a +"} diff --git a/maps/om_adventure/pois/darktear3.dmm b/maps/om_adventure/pois/darktear3.dmm new file mode 100644 index 0000000000..89a5dec553 --- /dev/null +++ b/maps/om_adventure/pois/darktear3.dmm @@ -0,0 +1,89 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"v" = ( +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/darktear3) +"Y" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/darktear3) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +v +a +a +a +a +a +a +a +a +"} +(3,1,1) = {" +a +v +v +v +a +a +a +a +v +"} +(4,1,1) = {" +a +a +v +v +v +v +v +v +a +"} +(5,1,1) = {" +a +a +v +v +Y +v +v +v +a +"} +(6,1,1) = {" +a +a +a +a +v +v +v +a +a +"} +(7,1,1) = {" +a +a +a +a +a +a +a +a +a +"} diff --git a/maps/om_adventure/pois/darktear4.dmm b/maps/om_adventure/pois/darktear4.dmm new file mode 100644 index 0000000000..655e97b230 --- /dev/null +++ b/maps/om_adventure/pois/darktear4.dmm @@ -0,0 +1,89 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"g" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/darktear4) +"j" = ( +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/darktear4) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +j +a +a +a +a +a +a +j +"} +(3,1,1) = {" +a +a +g +j +j +j +a +j +a +"} +(4,1,1) = {" +a +j +j +j +j +j +j +j +a +"} +(5,1,1) = {" +j +a +a +a +j +j +g +a +a +"} +(6,1,1) = {" +a +a +a +a +a +j +a +a +a +"} +(7,1,1) = {" +a +a +a +a +a +a +j +a +a +"} diff --git a/maps/om_adventure/pois/fleshtear1.dmm b/maps/om_adventure/pois/fleshtear1.dmm new file mode 100644 index 0000000000..e2a3d25f18 --- /dev/null +++ b/maps/om_adventure/pois/fleshtear1.dmm @@ -0,0 +1,166 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/mob/living/simple_mob/creature, +/turf/simulated/floor/flesh{ + base_icon = 'icons/turf/stomach_vr.dmi' + }, +/area/om_adventure/poi/fleshtear1) +"K" = ( +/turf/simulated/floor/flesh{ + base_icon = 'icons/turf/stomach_vr.dmi' + }, +/area/om_adventure/poi/fleshtear1) + +(1,1,1) = {" +a +a +a +K +K +a +a +a +a +K +a +a +a +"} +(2,1,1) = {" +a +a +K +K +a +a +a +K +K +K +a +K +a +"} +(3,1,1) = {" +a +a +a +a +a +K +K +K +K +K +a +K +K +"} +(4,1,1) = {" +K +K +K +K +K +K +b +K +K +a +a +a +a +"} +(5,1,1) = {" +K +K +K +K +K +K +K +K +K +a +a +a +a +"} +(6,1,1) = {" +a +K +K +K +K +K +K +K +a +a +a +K +a +"} +(7,1,1) = {" +a +a +K +b +K +K +K +K +K +a +K +K +a +"} +(8,1,1) = {" +K +a +K +K +K +K +K +K +K +a +K +a +a +"} +(9,1,1) = {" +K +a +a +K +K +K +K +a +a +a +a +a +a +"} +(10,1,1) = {" +a +K +a +a +a +a +a +a +a +a +a +a +a +"} diff --git a/maps/om_adventure/pois/fleshtear2.dmm b/maps/om_adventure/pois/fleshtear2.dmm new file mode 100644 index 0000000000..19d435ce33 --- /dev/null +++ b/maps/om_adventure/pois/fleshtear2.dmm @@ -0,0 +1,79 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/floor/flesh{ + base_icon = 'icons/turf/stomach_vr.dmi' + }, +/area/om_adventure/poi/fleshtear2) +"B" = ( +/turf/template_noop, +/area/template_noop) +"H" = ( +/mob/living/simple_mob/creature, +/turf/simulated/floor/flesh{ + base_icon = 'icons/turf/stomach_vr.dmi' + }, +/area/om_adventure/poi/fleshtear2) + +(1,1,1) = {" +B +B +B +B +B +a +a +"} +(2,1,1) = {" +B +a +a +a +a +a +a +"} +(3,1,1) = {" +B +B +a +a +a +a +B +"} +(4,1,1) = {" +B +B +a +H +a +a +B +"} +(5,1,1) = {" +B +a +a +a +a +a +B +"} +(6,1,1) = {" +a +a +a +a +a +B +B +"} +(7,1,1) = {" +a +a +B +B +B +B +B +"} diff --git a/maps/om_adventure/pois/fleshtear3.dmm b/maps/om_adventure/pois/fleshtear3.dmm new file mode 100644 index 0000000000..1c77a34996 --- /dev/null +++ b/maps/om_adventure/pois/fleshtear3.dmm @@ -0,0 +1,115 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"M" = ( +/mob/living/simple_mob/creature, +/turf/simulated/floor/flesh{ + base_icon = 'icons/turf/stomach_vr.dmi' + }, +/area/om_adventure/poi/fleshtear3) +"Q" = ( +/turf/simulated/floor/flesh{ + base_icon = 'icons/turf/stomach_vr.dmi' + }, +/area/om_adventure/poi/fleshtear3) + +(1,1,1) = {" +a +a +Q +Q +Q +a +a +a +a +"} +(2,1,1) = {" +a +Q +a +a +Q +Q +Q +Q +a +"} +(3,1,1) = {" +Q +Q +Q +a +a +a +a +Q +a +"} +(4,1,1) = {" +Q +a +Q +Q +Q +Q +a +Q +Q +"} +(5,1,1) = {" +Q +a +Q +M +Q +Q +a +Q +Q +"} +(6,1,1) = {" +Q +a +Q +Q +Q +a +a +a +Q +"} +(7,1,1) = {" +Q +Q +a +Q +Q +Q +a +Q +Q +"} +(8,1,1) = {" +a +Q +Q +a +Q +Q +Q +Q +Q +"} +(9,1,1) = {" +a +a +Q +Q +a +Q +Q +Q +a +"} diff --git a/maps/om_adventure/pois/fleshtear4.dmm b/maps/om_adventure/pois/fleshtear4.dmm new file mode 100644 index 0000000000..077d29a8b7 --- /dev/null +++ b/maps/om_adventure/pois/fleshtear4.dmm @@ -0,0 +1,86 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"m" = ( +/turf/simulated/floor/flesh{ + base_icon = 'icons/turf/stomach_vr.dmi' + }, +/area/om_adventure/poi/fleshtear4) +"n" = ( +/mob/living/simple_mob/creature, +/turf/simulated/floor/flesh{ + base_icon = 'icons/turf/stomach_vr.dmi' + }, +/area/om_adventure/poi/fleshtear4) + +(1,1,1) = {" +m +m +a +a +a +"} +(2,1,1) = {" +a +m +m +m +a +"} +(3,1,1) = {" +a +a +n +m +a +"} +(4,1,1) = {" +a +a +a +m +m +"} +(5,1,1) = {" +a +a +m +m +m +"} +(6,1,1) = {" +a +a +m +m +m +"} +(7,1,1) = {" +a +m +m +m +a +"} +(8,1,1) = {" +a +n +m +m +a +"} +(9,1,1) = {" +m +m +a +a +a +"} +(10,1,1) = {" +m +a +a +a +a +"} diff --git a/maps/om_adventure/pois/medicalcenter.dmm b/maps/om_adventure/pois/medicalcenter.dmm new file mode 100644 index 0000000000..aea560a0af --- /dev/null +++ b/maps/om_adventure/pois/medicalcenter.dmm @@ -0,0 +1,328 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"j" = ( +/obj/machinery/door/airlock/angled_bay/standard/glass, +/turf/simulated/floor/plating/eris/under, +/area/om_adventure/poi/medicalcenter) +"k" = ( +/obj/random/pottedplant, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"m" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/medical, +/obj/structure/curtain/medical, +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"q" = ( +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"r" = ( +/obj/structure/salvageable/machine, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"t" = ( +/obj/effect/low_wall_spawner/eris/reinforced/rphoron, +/turf/simulated/floor/plating/eris/under, +/area/om_adventure/poi/medicalcenter) +"v" = ( +/obj/structure/table/glass, +/obj/structure/salvageable/personal, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"y" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"z" = ( +/obj/structure/bed/chair/sofa/blue/left{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"A" = ( +/turf/simulated/wall/eris/r_wall, +/area/om_adventure/poi/medicalcenter) +"C" = ( +/obj/structure/bed/chair/sofa/blue/right, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"D" = ( +/obj/structure/table/glass, +/obj/random/medical, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"E" = ( +/obj/structure/salvageable/computer, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"G" = ( +/obj/structure/table/glass, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"H" = ( +/obj/structure/table/glass, +/obj/random/awayloot/looseloot, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"I" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/medical, +/obj/structure/curtain/medical, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"P" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"Q" = ( +/obj/machinery/door/airlock/angled_bay/standard/glass{ + dir = 4 + }, +/turf/simulated/floor/plating/eris/under, +/area/om_adventure/poi/medicalcenter) +"T" = ( +/obj/structure/table/glass, +/obj/random/medical, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"W" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"X" = ( +/obj/structure/table/glass, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) +"Z" = ( +/obj/structure/bed/chair/sofa/blue/corner, +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/tiled/eris/white/orangecorner, +/area/om_adventure/poi/medicalcenter) + +(1,1,1) = {" +a +a +a +A +a +A +a +a +A +a +A +a +"} +(2,1,1) = {" +a +a +A +A +A +A +t +t +A +A +A +A +"} +(3,1,1) = {" +a +a +a +A +C +q +q +q +q +H +A +a +"} +(4,1,1) = {" +a +A +a +A +Z +z +q +q +q +T +A +a +"} +(5,1,1) = {" +A +A +A +A +A +A +k +y +q +X +A +a +"} +(6,1,1) = {" +a +A +E +G +q +A +A +A +Q +A +A +A +"} +(7,1,1) = {" +a +t +q +H +q +A +q +W +q +k +A +a +"} +(8,1,1) = {" +a +A +q +P +q +j +q +q +P +q +j +a +"} +(9,1,1) = {" +a +t +q +T +q +A +q +y +q +k +A +a +"} +(10,1,1) = {" +a +A +r +v +q +A +A +A +Q +A +A +A +"} +(11,1,1) = {" +A +A +A +A +A +A +m +D +q +I +A +a +"} +(12,1,1) = {" +a +A +a +A +k +q +q +q +q +k +A +a +"} +(13,1,1) = {" +a +a +a +A +H +I +H +I +T +I +A +a +"} +(14,1,1) = {" +a +a +A +A +A +A +t +t +A +A +A +A +"} +(15,1,1) = {" +a +a +a +A +a +A +a +a +A +a +A +a +"} diff --git a/maps/om_adventure/pois/shippart1.dmm b/maps/om_adventure/pois/shippart1.dmm new file mode 100644 index 0000000000..7d2831eade --- /dev/null +++ b/maps/om_adventure/pois/shippart1.dmm @@ -0,0 +1,396 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/simulated/floor/tiled/eris/dark/techfloor, +/area/om_adventure/poi/shippart1) +"d" = ( +/obj/random/awayloot/looseloot, +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shippart1) +"g" = ( +/turf/simulated/wall/eris/r_wall, +/area/om_adventure/poi/shippart1) +"h" = ( +/obj/random/awayloot/looseloot, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating/eris/under, +/area/om_adventure/poi/shippart1) +"j" = ( +/obj/tether_away_spawner/spookyland, +/turf/template_noop, +/area/template_noop) +"p" = ( +/obj/random/awayloot/looseloot, +/turf/simulated/floor/plating/eris/under, +/area/om_adventure/poi/shippart1) +"q" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/tiled/eris/dark/techfloor, +/area/om_adventure/poi/shippart1) +"r" = ( +/obj/item/weapon/material/shard, +/turf/template_noop, +/area/template_noop) +"s" = ( +/obj/random/tech_supply/component, +/turf/simulated/floor/tiled/eris/dark/techfloor, +/area/om_adventure/poi/shippart1) +"t" = ( +/obj/structure/frame/computer, +/obj/random/tech_supply/component, +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shippart1) +"v" = ( +/obj/effect/floor_decal/rust, +/obj/random/tech_supply/component, +/turf/simulated/floor/plating/eris/under, +/area/om_adventure/poi/shippart1) +"w" = ( +/obj/effect/decal/remains/tajaran, +/turf/template_noop, +/area/template_noop) +"D" = ( +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shippart1) +"F" = ( +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shippart1) +"I" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating/eris/under, +/area/om_adventure/poi/shippart1) +"J" = ( +/obj/structure/salvageable/bliss, +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shippart1) +"M" = ( +/obj/item/weapon/material/shard, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating/eris/under, +/area/om_adventure/poi/shippart1) +"O" = ( +/obj/effect/decal/remains/ribcage, +/turf/template_noop, +/area/template_noop) +"Q" = ( +/obj/item/weapon/material/shard, +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shippart1) +"R" = ( +/obj/random/tech_supply/component, +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shippart1) +"T" = ( +/obj/item/weapon/material/shard/shrapnel, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shippart1) +"X" = ( +/obj/item/weapon/material/shard/shrapnel, +/turf/template_noop, +/area/template_noop) +"Z" = ( +/obj/effect/decal/remains/deer, +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shippart1) + +(1,1,1) = {" +a +a +a +a +a +a +F +a +a +a +F +a +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +a +a +F +j +a +X +a +a +a +a +a +a +a +a +a +a +a +a +"} +(3,1,1) = {" +a +a +a +a +X +a +a +F +a +a +X +a +F +a +a +a +a +a +a +a +a +"} +(4,1,1) = {" +a +a +a +w +a +F +F +g +g +v +g +a +r +j +a +F +a +a +a +a +a +"} +(5,1,1) = {" +X +a +X +a +F +g +g +g +t +I +p +F +F +F +F +a +a +a +a +a +a +"} +(6,1,1) = {" +a +a +F +g +M +g +d +D +Z +D +I +I +F +F +F +F +F +a +a +F +F +"} +(7,1,1) = {" +a +F +T +M +t +b +q +s +b +b +b +I +I +F +F +F +F +F +a +a +a +"} +(8,1,1) = {" +a +r +F +g +I +g +R +Q +d +D +M +v +F +F +F +F +F +a +a +a +a +"} +(9,1,1) = {" +a +a +a +a +F +g +g +g +J +I +h +D +I +I +F +a +a +a +a +a +F +"} +(10,1,1) = {" +a +a +j +T +a +F +F +g +g +I +g +g +g +g +a +a +F +F +F +a +a +"} +(11,1,1) = {" +a +X +a +a +X +a +a +a +a +a +T +a +a +a +j +a +a +a +a +a +a +"} +(12,1,1) = {" +a +a +a +a +a +a +a +a +X +a +a +a +O +a +a +a +a +a +a +a +a +"} +(13,1,1) = {" +a +a +a +a +a +a +F +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} diff --git a/maps/om_adventure/pois/shuttlewreck1.dmm b/maps/om_adventure/pois/shuttlewreck1.dmm new file mode 100644 index 0000000000..c57959fc95 --- /dev/null +++ b/maps/om_adventure/pois/shuttlewreck1.dmm @@ -0,0 +1,152 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"e" = ( +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck1) +"g" = ( +/obj/random/tech_supply/component, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck1) +"i" = ( +/obj/machinery/door/airlock/external, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck1) +"m" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 1 + }, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck1) +"s" = ( +/obj/structure/shuttle/window, +/obj/structure/grille, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck1) +"t" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck1) +"v" = ( +/obj/random/tech_supply/component, +/turf/template_noop, +/area/template_noop) +"D" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck1) +"M" = ( +/turf/simulated/shuttle/wall, +/area/om_adventure/poi/shuttlewreck1) +"P" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 1 + }, +/obj/random/awayloot/looseloot, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck1) +"W" = ( +/obj/random/tech_supply, +/turf/template_noop, +/area/template_noop) + +(1,1,1) = {" +a +a +a +a +a +a +W +a +a +"} +(2,1,1) = {" +a +a +a +e +a +a +a +e +a +"} +(3,1,1) = {" +e +t +e +g +a +e +a +a +a +"} +(4,1,1) = {" +a +e +M +M +M +M +D +g +a +"} +(5,1,1) = {" +e +e +s +P +m +i +e +e +e +"} +(6,1,1) = {" +a +e +M +M +M +M +D +t +a +"} +(7,1,1) = {" +a +e +e +e +a +e +v +a +a +"} +(8,1,1) = {" +a +a +a +a +a +a +a +a +a +"} +(9,1,1) = {" +a +a +a +a +a +a +a +a +a +"} diff --git a/maps/om_adventure/pois/shuttlewreck2.dmm b/maps/om_adventure/pois/shuttlewreck2.dmm new file mode 100644 index 0000000000..c741ee7055 --- /dev/null +++ b/maps/om_adventure/pois/shuttlewreck2.dmm @@ -0,0 +1,330 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"c" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/light{ + dir = 8 + }, +/obj/random/tech_supply/component, +/obj/random/tech_supply, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck2) +"e" = ( +/obj/machinery/atmospherics/portables_connector/fuel{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/phoron{ + start_pressure = 0 + }, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) +"g" = ( +/obj/structure/cable/green{ + icon_state = "4-10" + }, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) +"h" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 10 + }, +/turf/simulated/shuttle/wall, +/area/om_adventure/poi/shuttlewreck2) +"l" = ( +/obj/structure/window/reinforced, +/obj/structure/shuttle/engine/heater{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) +"m" = ( +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) +"n" = ( +/obj/structure/table/steel_reinforced, +/obj/random/awayloot/looseloot, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck2) +"o" = ( +/obj/structure/frame/computer, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck2) +"p" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/light{ + dir = 4 + }, +/obj/random/tech_supply, +/obj/random/awayloot/looseloot, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck2) +"q" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck2) +"r" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) +"s" = ( +/obj/machinery/door/airlock/external, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) +"v" = ( +/obj/structure/cable/green, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck2) +"w" = ( +/obj/tether_away_spawner/spookyland, +/turf/template_noop, +/area/template_noop) +"x" = ( +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) +"y" = ( +/turf/simulated/shuttle/wall/hard_corner, +/area/om_adventure/poi/shuttlewreck2) +"A" = ( +/turf/simulated/shuttle/wall, +/area/om_adventure/poi/shuttlewreck2) +"B" = ( +/obj/structure/table/steel_reinforced, +/obj/random/tech_supply/component, +/obj/random/awayloot/looseloot, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck2) +"D" = ( +/obj/structure/cable/green{ + icon_state = "2-5" + }, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck2) +"E" = ( +/obj/structure/table/rack/steel, +/obj/random/tech_supply/component, +/obj/random/tech_supply/component, +/obj/random/tech_supply/component, +/obj/random/tech_supply/component, +/obj/random/tech_supply/component, +/obj/random/tech_supply, +/obj/random/tech_supply, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) +"J" = ( +/obj/structure/table/rack/steel, +/obj/item/frame/apc, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) +"K" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/tank/phoron, +/obj/random/awayloot/looseloot, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) +"N" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 6 + }, +/turf/simulated/shuttle/wall, +/area/om_adventure/poi/shuttlewreck2) +"P" = ( +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck2) +"R" = ( +/obj/machinery/atmospherics/portables_connector/fuel{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/phoron{ + start_pressure = 0 + }, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) +"T" = ( +/obj/structure/shuttle/window, +/obj/structure/grille, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) +"U" = ( +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck2) +"V" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 1 + }, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck2) +"W" = ( +/obj/structure/shuttle/engine/heater{ + dir = 1 + }, +/obj/structure/window/reinforced, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck2) + +(1,1,1) = {" +a +a +a +a +a +a +U +a +a +a +"} +(2,1,1) = {" +a +w +U +A +A +A +N +A +A +a +"} +(3,1,1) = {" +a +a +A +A +K +E +e +W +r +a +"} +(4,1,1) = {" +a +A +A +P +m +m +m +W +r +a +"} +(5,1,1) = {" +U +A +c +n +P +P +q +y +A +a +"} +(6,1,1) = {" +a +T +o +P +P +P +A +A +a +a +"} +(7,1,1) = {" +a +T +o +V +P +P +s +a +a +a +"} +(8,1,1) = {" +a +T +o +P +P +P +A +A +U +a +"} +(9,1,1) = {" +a +A +p +B +P +D +v +y +A +a +"} +(10,1,1) = {" +U +A +A +P +g +m +m +l +r +a +"} +(11,1,1) = {" +a +U +A +A +x +J +R +l +r +a +"} +(12,1,1) = {" +a +a +a +A +A +A +h +A +A +a +"} +(13,1,1) = {" +a +a +a +a +U +a +a +a +w +a +"} diff --git a/maps/om_adventure/pois/shuttlewreck3.dmm b/maps/om_adventure/pois/shuttlewreck3.dmm new file mode 100644 index 0000000000..005ceb21c9 --- /dev/null +++ b/maps/om_adventure/pois/shuttlewreck3.dmm @@ -0,0 +1,210 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"c" = ( +/obj/random/awayloot/looseloot, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck3) +"f" = ( +/obj/random/tech_supply, +/turf/template_noop, +/area/template_noop) +"h" = ( +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck3) +"k" = ( +/turf/simulated/shuttle/wall, +/area/om_adventure/poi/shuttlewreck3) +"m" = ( +/obj/item/weapon/material/shard/shrapnel, +/turf/template_noop, +/area/template_noop) +"p" = ( +/obj/item/weapon/material/shard/shrapnel, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck3) +"u" = ( +/obj/item/weapon/material/shard/shrapnel, +/obj/random/awayloot/looseloot, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck3) +"x" = ( +/obj/structure/door_assembly/door_assembly_ext, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck3) +"D" = ( +/obj/random/tech_supply, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck3) +"F" = ( +/obj/structure/grille/broken, +/obj/item/weapon/material/shard, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck3) +"H" = ( +/obj/random/tech_supply/component, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck3) +"I" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck3) +"K" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 1 + }, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck3) +"Q" = ( +/obj/item/weapon/material/shard/shrapnel, +/obj/effect/gibspawner/human, +/obj/random/contraband/nofail, +/turf/simulated/shuttle/floor/white, +/area/om_adventure/poi/shuttlewreck3) +"S" = ( +/obj/random/contraband/nofail, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck3) +"Z" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck3) + +(1,1,1) = {" +a +a +a +h +a +a +a +"} +(2,1,1) = {" +h +a +a +h +a +a +h +"} +(3,1,1) = {" +K +a +h +h +h +a +a +"} +(4,1,1) = {" +h +a +h +h +h +f +a +"} +(5,1,1) = {" +a +h +S +h +H +a +a +"} +(6,1,1) = {" +a +a +c +h +h +a +a +"} +(7,1,1) = {" +m +h +Z +h +h +h +a +"} +(8,1,1) = {" +a +H +D +h +I +a +a +"} +(9,1,1) = {" +a +h +k +x +k +h +a +"} +(10,1,1) = {" +a +h +k +u +k +h +a +"} +(11,1,1) = {" +a +h +k +Q +k +H +m +"} +(12,1,1) = {" +a +h +k +F +k +h +a +"} +(13,1,1) = {" +a +h +p +h +p +a +h +"} +(14,1,1) = {" +a +a +a +Z +a +a +a +"} +(15,1,1) = {" +a +h +a +a +a +a +a +"} diff --git a/maps/om_adventure/pois/shuttlewreck4.dmm b/maps/om_adventure/pois/shuttlewreck4.dmm new file mode 100644 index 0000000000..28fc4367d9 --- /dev/null +++ b/maps/om_adventure/pois/shuttlewreck4.dmm @@ -0,0 +1,392 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck4) +"e" = ( +/obj/random/tech_supply/component, +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shuttlewreck4) +"g" = ( +/obj/item/frame/apc, +/turf/template_noop, +/area/template_noop) +"h" = ( +/obj/random/tech_supply/component, +/turf/template_noop, +/area/template_noop) +"j" = ( +/turf/template_noop, +/area/template_noop) +"o" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck4) +"p" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shuttlewreck4) +"q" = ( +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shuttlewreck4) +"t" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/dark/techfloor_grid, +/area/om_adventure/poi/shuttlewreck4) +"u" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/simulated/floor/plating/eris/airless, +/area/om_adventure/poi/shuttlewreck4) +"v" = ( +/turf/simulated/wall/eris/r_wall, +/area/om_adventure/poi/shuttlewreck4) +"x" = ( +/turf/simulated/floor/plating/eris/airless, +/area/om_adventure/poi/shuttlewreck4) +"y" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 4 + }, +/obj/random/tech_supply/component, +/turf/simulated/floor/tiled/eris/dark/techfloor_grid, +/area/om_adventure/poi/shuttlewreck4) +"C" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 1 + }, +/turf/simulated/floor/tiled/eris/dark/techfloor_grid, +/area/om_adventure/poi/shuttlewreck4) +"D" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 1 + }, +/obj/random/tech_supply, +/turf/simulated/floor/tiled/eris/dark/techfloor_grid, +/area/om_adventure/poi/shuttlewreck4) +"H" = ( +/obj/random/tech_supply/component, +/turf/simulated/floor/weird_things/dark, +/area/om_adventure/poi/shuttlewreck4) +"I" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/dark/techfloor_grid, +/area/om_adventure/poi/shuttlewreck4) +"J" = ( +/obj/machinery/door/blast/multi_tile/three_tile_ver{ + density = 0; + icon_state = "open"; + opacity = 0 + }, +/turf/simulated/floor/plating/eris/airless, +/area/om_adventure/poi/shuttlewreck4) +"K" = ( +/obj/tether_away_spawner/spookyland, +/turf/template_noop, +/area/template_noop) +"M" = ( +/obj/structure/low_wall/eris/reinforced, +/obj/structure/window/eris, +/turf/simulated/floor/plating, +/area/om_adventure/poi/shuttlewreck4) +"O" = ( +/obj/random/tech_supply, +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shuttlewreck4) +"P" = ( +/obj/structure/frame/computer, +/turf/simulated/floor/tiled/eris/dark/techfloor_grid, +/area/om_adventure/poi/shuttlewreck4) +"S" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/eris/dark/techfloor_grid, +/area/om_adventure/poi/shuttlewreck4) +"T" = ( +/obj/random/awayloot/looseloot, +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shuttlewreck4) +"V" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/random/awayloot/looseloot, +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/om_adventure/poi/shuttlewreck4) +"X" = ( +/obj/structure/bed/chair/bay/shuttle, +/turf/simulated/floor/tiled/eris/dark/techfloor_grid, +/area/om_adventure/poi/shuttlewreck4) +"Y" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 4 + }, +/turf/simulated/floor/tiled/eris/dark/techfloor_grid, +/area/om_adventure/poi/shuttlewreck4) + +(1,1,1) = {" +j +j +j +j +j +j +j +j +a +j +j +j +H +j +a +"} +(2,1,1) = {" +j +a +a +j +j +a +j +h +j +j +j +j +j +a +j +"} +(3,1,1) = {" +j +j +j +o +a +g +a +a +a +j +o +a +a +v +j +"} +(4,1,1) = {" +j +j +j +h +a +a +a +a +a +a +H +H +v +v +j +"} +(5,1,1) = {" +j +j +j +v +v +x +x +J +v +v +a +v +v +u +j +"} +(6,1,1) = {" +j +a +a +v +V +q +e +q +O +v +M +v +v +v +j +"} +(7,1,1) = {" +o +v +M +M +q +I +I +I +q +t +Y +y +v +j +j +"} +(8,1,1) = {" +j +M +P +C +q +D +v +X +q +q +T +q +M +j +j +"} +(9,1,1) = {" +a +v +M +M +e +Y +Y +Y +q +S +I +I +v +j +j +"} +(10,1,1) = {" +j +j +j +v +p +q +q +q +e +v +M +v +v +v +j +"} +(11,1,1) = {" +j +j +j +v +v +x +x +J +v +v +j +v +v +u +j +"} +(12,1,1) = {" +j +j +j +j +j +j +j +j +j +j +j +j +v +v +j +"} +(13,1,1) = {" +j +j +j +j +j +j +j +j +j +j +j +j +j +v +j +"} +(14,1,1) = {" +j +j +j +j +j +j +j +j +j +j +j +K +j +j +j +"} +(15,1,1) = {" +j +j +j +j +j +j +j +j +j +j +j +j +j +j +j +"} diff --git a/maps/om_adventure/pois/woodentemple.dmm b/maps/om_adventure/pois/woodentemple.dmm new file mode 100644 index 0000000000..4a6dd94d5f --- /dev/null +++ b/maps/om_adventure/pois/woodentemple.dmm @@ -0,0 +1,533 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/obj/structure/bed/chair/sofa/pew/right{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"c" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/wmarble, +/area/om_adventure/poi/woodentemple) +"d" = ( +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"e" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/outdoors/grass, +/area/om_adventure/poi/woodentemple) +"f" = ( +/obj/item/weapon/material/shard/shrapnel, +/turf/simulated/floor, +/area/om_adventure/poi/woodentemple) +"g" = ( +/obj/tether_away_spawner/spookyland, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"j" = ( +/obj/item/weapon/material/shard/shrapnel, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"k" = ( +/obj/structure/bed/pod, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"m" = ( +/obj/structure/bed/chair/sofa/pew/right{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"o" = ( +/obj/structure/table/rack/steel, +/obj/random/awayloot/looseloot, +/turf/simulated/floor/wmarble, +/area/om_adventure/poi/woodentemple) +"r" = ( +/turf/simulated/floor/outdoors/grass, +/area/om_adventure/poi/woodentemple) +"s" = ( +/obj/structure/table/woodentable, +/obj/item/trash/candle, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"v" = ( +/obj/structure/table/woodentable, +/obj/random/maintenance, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"w" = ( +/obj/structure/bed/chair/sofa/pew/left, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"x" = ( +/obj/structure/curtain/black{ + anchored = 1; + icon_state = "open"; + opacity = 0 + }, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"A" = ( +/obj/structure/curtain/black{ + anchored = 1 + }, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"C" = ( +/obj/item/weapon/material/shard, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"E" = ( +/obj/structure/table/woodentable, +/obj/random/awayloot/looseloot, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"F" = ( +/obj/structure/bed/chair/sofa/pew/right, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"G" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/wmarble, +/area/om_adventure/poi/woodentemple) +"H" = ( +/turf/simulated/floor/wmarble, +/area/om_adventure/poi/woodentemple) +"J" = ( +/obj/structure/table/woodentable, +/obj/random/awayloot/looseloot, +/obj/item/trash/candle, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"K" = ( +/obj/structure/table/rack/steel, +/obj/random/awayloot/looseloot, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"M" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"N" = ( +/obj/structure/bed/chair/sofa/pew/left{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"Q" = ( +/obj/structure/flora/pottedplant/orientaltree, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"R" = ( +/turf/simulated/floor/carpet, +/area/om_adventure/poi/woodentemple) +"S" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor, +/area/om_adventure/poi/woodentemple) +"U" = ( +/obj/structure/bed/chair/sofa/pew/left{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/om_adventure/poi/woodentemple) +"Z" = ( +/turf/simulated/wall/hardwood, +/area/om_adventure/poi/woodentemple) + +(1,1,1) = {" +a +r +r +r +r +r +r +r +r +r +r +r +r +r +r +r +r +r +a +a +a +"} +(2,1,1) = {" +r +r +Z +r +r +r +r +r +r +r +r +r +r +r +r +r +Z +r +r +a +a +"} +(3,1,1) = {" +r +Z +Z +Z +Z +S +f +S +Z +Z +Z +S +S +S +Z +Z +Z +Z +r +r +a +"} +(4,1,1) = {" +r +r +Z +J +v +d +C +j +d +A +d +m +N +Q +J +v +Z +r +r +r +a +"} +(5,1,1) = {" +r +r +S +Q +d +j +g +d +d +x +d +d +d +g +d +d +S +r +r +r +r +"} +(6,1,1) = {" +r +r +S +w +d +d +d +C +d +A +d +d +d +d +K +K +Z +r +Z +r +r +"} +(7,1,1) = {" +r +r +S +F +d +d +Z +Z +G +Z +Z +d +R +d +Z +Z +Z +Z +Z +Z +r +"} +(8,1,1) = {" +r +r +Z +M +d +d +S +r +r +r +S +R +R +R +Z +o +H +H +Z +r +r +"} +(9,1,1) = {" +r +r +Z +E +g +d +S +r +e +r +S +R +R +R +G +H +c +H +G +r +r +"} +(10,1,1) = {" +r +r +Z +v +d +d +S +r +r +r +S +R +R +R +Z +o +H +H +Z +r +r +"} +(11,1,1) = {" +r +r +S +w +d +d +Z +Z +G +Z +Z +d +R +d +Z +Z +Z +Z +Z +Z +r +"} +(12,1,1) = {" +r +r +S +F +d +d +d +d +d +A +d +d +d +d +d +d +Z +r +Z +r +r +"} +(13,1,1) = {" +r +r +S +Q +d +d +d +g +d +x +d +g +d +d +d +s +S +r +r +r +r +"} +(14,1,1) = {" +r +r +Z +s +E +k +k +k +d +A +d +U +b +Q +v +E +Z +r +r +r +a +"} +(15,1,1) = {" +r +Z +Z +Z +Z +S +S +S +Z +Z +Z +S +S +S +Z +Z +Z +Z +r +r +a +"} +(16,1,1) = {" +r +r +Z +r +r +r +r +r +r +r +r +r +r +r +r +r +Z +r +r +a +a +"} +(17,1,1) = {" +a +r +r +r +r +r +r +r +r +r +r +r +r +r +r +r +r +r +a +a +a +"} diff --git a/maps/southern_cross/southern_cross-2.dmm b/maps/southern_cross/southern_cross-2.dmm index a821d423ff..db6ee89e11 100644 --- a/maps/southern_cross/southern_cross-2.dmm +++ b/maps/southern_cross/southern_cross-2.dmm @@ -459,7 +459,7 @@ "aiR" = (/obj/machinery/computer/secure_data/detective_computer{dir = 1},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "aiS" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/security/lobby) "aiT" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/security/lobby) -"aiU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/mob/living/simple_mob/animal/passive/snake/noodle,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) +"aiU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/mob/living/simple_mob/animal/passive/snake/python/noodle,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos) "aiV" = (/obj/machinery/photocopier,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/keycard_auth{pixel_y = 36},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos) "aiW" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 9},/turf/simulated/floor/tiled/dark,/area/lawoffice) "aiX" = (/obj/structure/bed/chair/office/dark,/obj/machinery/button/windowtint{id = "lawyer_tint"; pixel_x = 30; pixel_y = -26; req_access = list(58)},/obj/machinery/newscaster{pixel_y = 30},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/effect/floor_decal/borderfloorblack{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/dark,/area/lawoffice) diff --git a/maps/southern_cross/southern_cross_defines.dm b/maps/southern_cross/southern_cross_defines.dm index ec1b73ae8f..b842189373 100644 --- a/maps/southern_cross/southern_cross_defines.dm +++ b/maps/southern_cross/southern_cross_defines.dm @@ -109,12 +109,12 @@ ) //CHOMPStation Addition End - lateload_single_pick = list( + lateload_gateway = list( list("Carp Farm"), list("Snow Field") ) //CHOMPedit: Gateway maps. For now nothing fancy, just some already existing maps while we make our own. - lateload_single_pick = null + lateload_gateway = null diff --git a/maps/stellardelight/stellar_delight_defines.dm b/maps/stellardelight/stellar_delight_defines.dm index 25773f8780..c032d99b8a 100644 --- a/maps/stellardelight/stellar_delight_defines.dm +++ b/maps/stellardelight/stellar_delight_defines.dm @@ -4,6 +4,7 @@ #define Z_LEVEL_SHIP_HIGH 3 #define Z_LEVEL_CENTCOM 4 #define Z_LEVEL_MISC 5 +<<<<<<< HEAD #define Z_LEVEL_BEACH 6 #define Z_LEVEL_BEACH_CAVE 7 #define Z_LEVEL_AEROSTAT 8 @@ -13,6 +14,19 @@ #define Z_LEVEL_OVERMAP 12 #define Z_LEVEL_OFFMAP1 13 #define Z_LEVEL_GATEWAY 14 +======= +#define Z_LEVEL_SPACE_ROCKS 6 +#define Z_LEVEL_BEACH 7 +#define Z_LEVEL_BEACH_CAVE 8 +#define Z_LEVEL_AEROSTAT 9 +#define Z_LEVEL_AEROSTAT_SURFACE 10 +#define Z_LEVEL_DEBRISFIELD 11 +#define Z_LEVEL_FUELDEPOT 12 +#define Z_LEVEL_OVERMAP 13 +#define Z_LEVEL_OFFMAP1 14 +#define Z_LEVEL_GATEWAY 15 +#define Z_LEVEL_OM_ADVENTURE 16 +>>>>>>> 60011ecd0b... Merge pull request #11928 from Very-Soft/whalesandcrystals //Camera networks #define NETWORK_HALLS "Halls" @@ -134,7 +148,7 @@ list("Offmap Ship - Talon V2") ) - lateload_single_pick = list( + lateload_overmap = list( list("Carp Farm"), list("Snow Field"), list("Listening Post"), @@ -145,6 +159,10 @@ list("Wild West") ) + lateload_overmap = list( + list("Grass Cave") + ) + ai_shell_restricted = TRUE ai_shell_allowed_levels = list( Z_LEVEL_SHIP_LOW, @@ -164,7 +182,7 @@ mining_station_z = list(Z_LEVEL_SPACE_LOW) mining_outpost_z = list(Z_LEVEL_SURFACE_MINE) */ - lateload_single_pick = null //Nothing right now. + lateload_gateway = null //Nothing right now. planet_datums_to_make = list(/datum/planet/virgo3b, /datum/planet/virgo4) diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm index c55c040dc0..4aaff54fc7 100644 --- a/maps/tether/tether_defines.dm +++ b/maps/tether/tether_defines.dm @@ -161,7 +161,7 @@ list("Fuel Depot - Z1 Space") ) - lateload_single_pick = list( + lateload_gateway = list( list("Carp Farm"), list("Snow Field"), list("Listening Post"), @@ -193,7 +193,7 @@ mining_station_z = list(Z_LEVEL_SPACE_LOW) mining_outpost_z = list(Z_LEVEL_SURFACE_MINE) - lateload_single_pick = null //Nothing right now. + lateload_gateway = null //Nothing right now. planet_datums_to_make = list(/datum/planet/virgo3b, /datum/planet/virgo4) diff --git a/maps/~map_system/maps.dm b/maps/~map_system/maps.dm index 977ad2ffc8..5cbabb2aa3 100644 --- a/maps/~map_system/maps.dm +++ b/maps/~map_system/maps.dm @@ -54,7 +54,8 @@ var/list/all_maps = list() var/list/lateload_z_levels = list() //Similar to above, but only pick ONE to load, useful for random away missions and whatnot - var/list/lateload_single_pick = list() + var/list/lateload_gateway = list() + var/list/lateload_overmap = list() //VOREStation Add - The same thing as gateway, but not var/list/allowed_jobs = list() //Job datums to use. //Works a lot better so if we get to a point where three-ish maps are used diff --git a/sound/effects/capture-crystal-in.ogg b/sound/effects/capture-crystal-in.ogg new file mode 100644 index 0000000000..b00d7be9c9 Binary files /dev/null and b/sound/effects/capture-crystal-in.ogg differ diff --git a/sound/effects/capture-crystal-negative.ogg b/sound/effects/capture-crystal-negative.ogg new file mode 100644 index 0000000000..a0d6de3395 Binary files /dev/null and b/sound/effects/capture-crystal-negative.ogg differ diff --git a/sound/effects/capture-crystal-out.ogg b/sound/effects/capture-crystal-out.ogg new file mode 100644 index 0000000000..363ad85c56 Binary files /dev/null and b/sound/effects/capture-crystal-out.ogg differ diff --git a/sound/effects/capture-crystal-problem.ogg b/sound/effects/capture-crystal-problem.ogg new file mode 100644 index 0000000000..3c0a7b343b Binary files /dev/null and b/sound/effects/capture-crystal-problem.ogg differ diff --git a/sound/effects/skeleton_walk.ogg b/sound/effects/skeleton_walk.ogg new file mode 100644 index 0000000000..d5791ec542 Binary files /dev/null and b/sound/effects/skeleton_walk.ogg differ diff --git a/vorestation.dme b/vorestation.dme index ef20c82b57..9b1aa80ce8 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1317,6 +1317,7 @@ #include "code\game\objects\items\weapons\bones.dm" #include "code\game\objects\items\weapons\candle.dm" #include "code\game\objects\items\weapons\canes.dm" +#include "code\game\objects\items\weapons\capture_crystal.dm" #include "code\game\objects\items\weapons\cards_ids_vr.dm" #include "code\game\objects\items\weapons\chewables.dm" #include "code\game\objects\items\weapons\cigs_lighters.dm" @@ -1677,6 +1678,7 @@ #include "code\game\turfs\turf_flick_animations.dm" #include "code\game\turfs\unsimulated.dm" #include "code\game\turfs\flooring\floor_yw.dm" +#include "code\game\turfs\weird_turfs_vr.dm" #include "code\game\turfs\flooring\flooring.dm" #include "code\game\turfs\flooring\flooring_ch.dm" #include "code\game\turfs\flooring\flooring_decals.dm" @@ -2131,6 +2133,7 @@ #include "code\modules\clothing\spacesuits\rig\modules\specific\metalfoam_launcher.dm" #include "code\modules\clothing\spacesuits\rig\modules\specific\mounted_gun.dm" #include "code\modules\clothing\spacesuits\rig\modules\specific\mounted_gun_vr.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\passive_protection.dm" #include "code\modules\clothing\spacesuits\rig\modules\specific\pat_module_vr.dm" #include "code\modules\clothing\spacesuits\rig\modules\specific\powersink.dm" #include "code\modules\clothing\spacesuits\rig\modules\specific\rescue_pharm_vr.dm" @@ -3121,6 +3124,7 @@ #include "code\modules\mob\living\simple_mob\harvesting.dm" #include "code\modules\mob\living\simple_mob\life.dm" #include "code\modules\mob\living\simple_mob\on_click.dm" +#include "code\modules\mob\living\simple_mob\overmap_mob_vr.dm" #include "code\modules\mob\living\simple_mob\sd_pets.dm" #include "code\modules\mob\living\simple_mob\simple_hud.dm" #include "code\modules\mob\living\simple_mob\simple_mob.dm" @@ -3130,6 +3134,12 @@ #include "code\modules\mob\living\simple_mob\subtypes\animal\animal.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\vox.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\alien animals\catslug.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\alien animals\jellyfish.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\alien animals\skeleton.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\alien animals\space_mouse.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\alien animals\spacewhale.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\alien animals\spookyghost.dm" +#include "code\modules\mob\living\simple_mob\subtypes\animal\alien animals\startreader.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\alien animals\teppi.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\borer\borer.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\borer\borer_captive.dm" @@ -3997,9 +4007,9 @@ #include "code\modules\resleeving\infocore_records.dm" #include "code\modules\resleeving\infomorph.dm" #include "code\modules\resleeving\infomorph_software.dm" +#include "code\modules\resleeving\machine_subtypes.dm" #include "code\modules\resleeving\machines.dm" #include "code\modules\resleeving\machines_ch.dm" -#include "code\modules\resleeving\machines_vr.dm" #include "code\modules\resleeving\sleevecard.dm" #include "code\modules\rogueminer_vr\asteroid.dm" #include "code\modules\rogueminer_vr\controller.dm"