diff --git a/code/__defines/gamemode.dm b/code/__defines/gamemode.dm index b512065f61..c1606e77f6 100644 --- a/code/__defines/gamemode.dm +++ b/code/__defines/gamemode.dm @@ -38,9 +38,11 @@ #define BE_LOYALIST 0x4000 #define BE_PAI 0x8000 //VOREStation Add -#define BE_LOSTDRONE 0x10000 -#define BE_MAINTPRED 0x20000 -#define BE_MORPH 0x40000 +#define BE_LOSTDRONE 0x10000 +#define BE_MAINTPRED 0x20000 +#define BE_MORPH 0x40000 +#define BE_CORGI 0x80000 +#define BE_CURSEDSWORD 0x100000 //VOREStation Add End var/list/be_special_flags = list( @@ -64,6 +66,8 @@ var/list/be_special_flags = list( "Lost Drone" = BE_LOSTDRONE, "Maint Pred" = BE_MAINTPRED, "Morph" = BE_MORPH, + "Corgi" = BE_CORGI, + "Cursed Sword" = BE_CURSEDSWORD, //VOREStation Add End ) diff --git a/code/_helpers/game.dm b/code/_helpers/game.dm index ed4734f355..c9727a8a98 100644 --- a/code/_helpers/game.dm +++ b/code/_helpers/game.dm @@ -249,13 +249,13 @@ /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) @@ -272,14 +272,17 @@ 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 8f760c3cc9..455732fa7c 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -229,7 +229,8 @@ var/global/list/edible_trash = list(/obj/item/broken_device, /obj/item/weapon/storage/fancy/egg_box, /obj/item/weapon/storage/wallet, /obj/item/weapon/storage/vore_egg, - /obj/item/weapon/bikehorn/tinytether + /obj/item/weapon/bikehorn/tinytether, + /obj/item/capture_crystal ) var/global/list/contamination_flavors = list( 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..e20c83e5a5 100644 --- a/code/controllers/subsystems/persistence.dm +++ b/code/controllers/subsystems/persistence.dm @@ -4,7 +4,7 @@ SUBSYSTEM_DEF(persistence) flags = SS_NO_FIRE var/list/tracking_values = list() var/list/persistence_datums = list() - + /// Places our subsystem can spawn paintings (helps with art spawning differently across maps) var/list/obj/structure/sign/painting/painting_frames = list() var/list/all_paintings = list() @@ -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/ghost_query.dm b/code/datums/ghost_query.dm index c471c47c81..6a342f5820 100644 --- a/code/datums/ghost_query.dm +++ b/code/datums/ghost_query.dm @@ -47,7 +47,7 @@ for(var/ban in check_bans) if(jobban_isbanned(candidate, ban)) return FALSE // They're banned from this role. - + return TRUE /// Send async alerts and ask for responses. Expects you to have tested D for client and type already @@ -59,10 +59,10 @@ var/client/C = D.client window_flash(C) - + if(query_sound) SEND_SOUND(C, sound(query_sound)) - + tgui_alert_async(D, question, "[role_name] request", list("Yes", "No", "Never for this round"), CALLBACK(src, .proc/get_reply), wait_time SECONDS) /// Process an async alert response @@ -70,9 +70,9 @@ var/mob/observer/dead/D = usr if(!D?.client) return - + // Unhandled are "No" and "Nevermind" responses, which should just do nothing - + // This response is always fine, doesn't warrant retesting switch(response) if("Never for this round") @@ -189,10 +189,12 @@ role_name = "Dark Creature" question = "A curious explorer has touched a mysterious rune. \ Would you like to play as the creature it summons?" + be_special_flag = BE_CORGI cutoff_number = 1 /datum/ghost_query/cursedblade role_name = "Cursed Sword" question = "A cursed blade has been discovered by a curious explorer. \ Would you like to play as the soul imprisoned within?" + be_special_flag = BE_CURSEDSWORD cutoff_number = 1 diff --git a/code/datums/supplypacks/misc_vr.dm b/code/datums/supplypacks/misc_vr.dm index 56a9c38c8a..9c30d686cc 100644 --- a/code/datums/supplypacks/misc_vr.dm +++ b/code/datums/supplypacks/misc_vr.dm @@ -100,7 +100,7 @@ cost = 250 containertype = /obj/structure/closet/crate/secure/gear containername = "solgov medical hardsuit crate" //YW EDIT - access = access_medical + access = access_engine /datum/supply_pack/misc/zero_rig name = "null hardsuit (jets)" diff --git a/code/datums/vending/stored_item.dm b/code/datums/vending/stored_item.dm index 3b46c6be3f..82a3d087c9 100644 --- a/code/datums/vending/stored_item.dm +++ b/code/datums/vending/stored_item.dm @@ -75,15 +75,15 @@ /datum/stored_item/stack/get_product(var/product_location, var/count) if(!LAZYLEN(instances)) return null // Shouldn't happen, but will loudly complain if it breaks - + var/obj/item/stack/S = instances[1] count = min(count, S.get_max_amount()) src.amount -= count // We won't vend more than one full stack per call - + // Case 1: Draw the full amount from the first instance if(count < S.get_amount()) S = S.split(count) - + // Case 2: Amount at least one stack, or have to accumulate else if(count >= S.get_amount()) count -= S.get_amount() @@ -91,6 +91,8 @@ 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) diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index d00efc79b6..4c684abb99 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), @@ -80,7 +81,7 @@ /obj/machinery/organ_printer/Initialize() . = ..() default_apply_parts() - + /obj/machinery/organ_printer/examine(var/mob/user) . = ..() var/biomass = get_biomass_volume() diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index c1f25830b4..9919fc3ee4 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, ui_key = "ClawMachine", 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_key, 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, ui_key, "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 164e069398..70640f2bb8 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 7b9dd4d96c..02b202574c 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/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 78eb6d5d48..aa0e4598ea 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -68,7 +68,7 @@ item_state = "candlebox5" throwforce = 2 slot_flags = SLOT_BELT - max_storage_space = ITEMSIZE_COST_SMALL * 5 + max_storage_space = ITEMSIZE_COST_TINY * 5 can_hold = list(/obj/item/weapon/flame/candle) starts_with = list(/obj/item/weapon/flame/candle = 5) @@ -81,7 +81,7 @@ item_state = "whitecandlebox5" throwforce = 2 slot_flags = SLOT_BELT - max_storage_space = ITEMSIZE_COST_SMALL * 5 + max_storage_space = ITEMSIZE_COST_TINY * 5 can_hold = list(/obj/item/weapon/flame/candle) starts_with = list(/obj/item/weapon/flame/candle/white = 5) @@ -94,7 +94,7 @@ item_state = "blackcandlebox5" throwforce = 2 slot_flags = SLOT_BELT - max_storage_space = ITEMSIZE_COST_SMALL * 5 + max_storage_space = ITEMSIZE_COST_TINY * 5 can_hold = list(/obj/item/weapon/flame/candle) starts_with = list(/obj/item/weapon/flame/candle/black = 5) diff --git a/code/game/objects/random/mapping.dm b/code/game/objects/random/mapping.dm index c67b06d840..a9e567c6c0 100644 --- a/code/game/objects/random/mapping.dm +++ b/code/game/objects/random/mapping.dm @@ -109,7 +109,7 @@ /obj/random/vendordrink/item_to_spawn() //Not including coffee as it's more specific in usage. return pick (/obj/machinery/vending/cola, /obj/machinery/vending/cola/soft, - /obj/machinery/vending/bepis, + /obj/machinery/vending/bepis, /obj/machinery/vending/sovietsoda, /obj/machinery/vending/radren) //VOREStation Edit End @@ -1455,7 +1455,7 @@ /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. 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..417d5b13a5 100644 --- a/code/game/objects/structures/artstuff.dm +++ b/code/game/objects/structures/artstuff.dm @@ -112,7 +112,7 @@ user.visible_message("[user] smears paint on [src], covering the entire thing in paint.", "You smear paint on [src], changing the color of the entire thing.", runemessage = "smears paint") update_appearance() return - + if(user.a_intent == I_HELP) tgui_interact(user) else @@ -291,7 +291,7 @@ if(new_color) selected_color = new_color color_drop.color = new_color - + cut_overlays() if(hud_level) add_overlay(color_drop) @@ -316,21 +316,10 @@ 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" @@ -483,12 +472,12 @@ /obj/structure/sign/painting/proc/load_persistent() if(!persistence_id || !LAZYLEN(SSpersistence.unpicked_paintings)) return - + var/list/painting_category = list() for (var/list/P in SSpersistence.unpicked_paintings) if(P["persistence_id"] == persistence_id) painting_category[++painting_category.len] = P - + var/list/painting while(!painting) if(!length(painting_category)) @@ -500,7 +489,7 @@ continue //and try again painting = chosen SSpersistence.unpicked_paintings -= list(chosen) - + var/title = painting["title"] var/author_name = painting["author"] var/author_ckey = painting["ckey"] @@ -509,7 +498,7 @@ var/obj/item/canvas/new_canvas var/w = I.Width() var/h = I.Height() - + for(var/T in typesof(/obj/item/canvas)) new_canvas = T if(initial(new_canvas.width) == w && initial(new_canvas.height) == h) @@ -519,7 +508,7 @@ if(!new_canvas) warning("Couldn't find a canvas to match [w]x[h] of painting") return - + new_canvas.fill_grid_from_icon(I) new_canvas.generated_icon = I new_canvas.icon_generated = TRUE @@ -540,7 +529,7 @@ return if(!current_canvas.painting_name) current_canvas.painting_name = "Untitled Artwork" - + var/data = current_canvas.get_data_string() var/md5 = md5(lowertext(data)) for(var/list/entry in SSpersistence.all_paintings) @@ -549,10 +538,10 @@ var/png_directory = "data/persistent/paintings/[persistence_id]/" var/png_path = png_directory + "[md5].png" var/result = rustg_dmi_create_png(png_path,"[current_canvas.width]","[current_canvas.height]",data) - + if(result) CRASH("Error saving persistent painting: [result]") - + SSpersistence.all_paintings += list(list( "persistence_id" = persistence_id, "title" = current_canvas.painting_name, 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 94e6604cfd..3e4319d7e1 100644 --- a/code/game/objects/structures/trash_pile_vr.dm +++ b/code/game/objects/structures/trash_pile_vr.dm @@ -256,7 +256,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/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/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 7d0508a0fd..cf55eacec4 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -49,8 +49,6 @@ //TODO: insert cause of death handling/wound simulation here if(src.corpseuniform) M.equip_to_slot_or_del(new src.corpseuniform(M), slot_w_uniform) - if(src.corpsesuit) - M.equip_voidsuit_to_slot_or_del_with_refit(new src.corpsesuit(M), slot_wear_suit, src.species) if(src.corpseshoes) M.equip_to_slot_or_del(new src.corpseshoes(M), slot_shoes) if(src.corpsegloves) @@ -61,8 +59,6 @@ M.equip_to_slot_or_del(new src.corpseglasses(M), slot_glasses) if(src.corpsemask) M.equip_to_slot_or_del(new src.corpsemask(M), slot_wear_mask) - if(src.corpsehelmet) - M.equip_voidhelm_to_slot_or_del_with_refit(new src.corpsehelmet(M), slot_head, src.species) if(src.corpsebelt) M.equip_to_slot_or_del(new src.corpsebelt(M), slot_belt) if(src.corpsepocket1) @@ -90,6 +86,11 @@ W.assignment = corpseidjob M.set_id_info(W) M.equip_to_slot_or_del(W, slot_wear_id) + // Do suit last to avoid equipping issues + if(src.corpsehelmet) + M.equip_voidhelm_to_slot_or_del_with_refit(new src.corpsehelmet(M), slot_head, src.species) + if(src.corpsesuit) + M.equip_voidsuit_to_slot_or_del_with_refit(new src.corpsesuit(M), slot_wear_suit, src.species) diff --git a/code/modules/client/preference_setup/antagonism/02_candidacy.dm b/code/modules/client/preference_setup/antagonism/02_candidacy.dm index fae7e35118..d922f10669 100644 --- a/code/modules/client/preference_setup/antagonism/02_candidacy.dm +++ b/code/modules/client/preference_setup/antagonism/02_candidacy.dm @@ -21,6 +21,8 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set "lost drone" = 1, // 16 "maint pred" = 1, // 17 "morph" = 1, // 18 + "corgi" = 1, // 19 + "cursed sword" = 1, // 20 //VOREStation Add End ) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index f70d4fa114..4db2d5ebe5 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -715,9 +715,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O reset_limbs() // Safety for species with incompatible manufacturers; easier than trying to do it case by case. pref.body_markings.Cut() // Basically same as above. - + pref.sanitize_body_styles() - + var/min_age = get_min_age() var/max_age = get_max_age() pref.age = max(min(pref.age, max_age), min_age) @@ -824,7 +824,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 299e742cfd..61603361f5 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) continue @@ -169,7 +169,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) @@ -205,7 +205,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 27c4732b37..62d3fcc8ae 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm @@ -394,6 +394,7 @@ // G CKEYS // H CKEYS + /datum/gear/fluff/lauren_medal path = /obj/item/clothing/accessory/medal/conduct display_name = "Lauren's Medal" @@ -412,6 +413,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 @@ -826,11 +833,17 @@ ckeywhitelist = list("pastelprincedan") character_name = list("Kiyoshi Maki", "Masumi Maki") -/datum/gear/fluff/masumi_overalls - path = /obj/item/clothing/under/fluff/masumi_overalls - display_name = "white and blue overalls" - ckeywhitelist = list("pastelprincedan") - character_name = list("Masumi Maki") +/datum/gear/fluff/mechanic_overalls + path = /obj/item/clothing/under/fluff/mechanic_overalls + display_name = "mechanic overalls" + ckeywhitelist = list("pastelprincedan", "hatterhat") + character_name = list("Masumi Maki", "Harold Robinson") + +/datum/gear/fluff/mechanic_coat + path = /obj/item/clothing/suit/storage/hooded/wintercoat/fluff/mechanic + display_name = "mechanic winter coat" + ckeywhitelist = list("pastelprincedan", "hatterhat") + character_name = list("Masumi Maki", "Harold Robinson") // Q CKEYS diff --git a/code/modules/client/preference_setup/vore/07_traits.dm b/code/modules/client/preference_setup/vore/07_traits.dm index 0e5b6a2420..c342fb9b3e 100644 --- a/code/modules/client/preference_setup/vore/07_traits.dm +++ b/code/modules/client/preference_setup/vore/07_traits.dm @@ -75,6 +75,13 @@ pref.starting_trait_points = STARTING_SPECIES_POINTS pref.max_traits = MAX_SPECIES_TRAITS + if(pref.organ_data[O_BRAIN]) //Checking if we have a synth on our hands, boys. + pref.dirty_synth = 1 + pref.gross_meatbag = 0 + else + pref.gross_meatbag = 1 + pref.dirty_synth = 0 + if(pref.species != SPECIES_CUSTOM) pref.pos_traits.Cut() pref.neg_traits.Cut() @@ -105,7 +112,7 @@ var/take_flags = initial(path.can_take) if((pref.dirty_synth && !(take_flags & SYNTHETICS)) || (pref.gross_meatbag && !(take_flags & ORGANICS))) pref.neg_traits -= path - + var/datum/species/selected_species = GLOB.all_species[pref.species] if(selected_species.selects_bodytype) // Allowed! diff --git a/code/modules/client/preference_setup/vore/09_misc.dm b/code/modules/client/preference_setup/vore/09_misc.dm index 60a207bcc8..fff3bb6af4 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..9aebb70bfc 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! \ No newline at end of file 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/miscellaneous_vr.dm b/code/modules/clothing/under/miscellaneous_vr.dm index 577709649c..bb692272c0 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 c5831535ed..9b39c418f0 100644 --- a/code/modules/economy/vending_machines_vr.dm +++ b/code/modules/economy/vending_machines_vr.dm @@ -3938,7 +3938,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, @@ -4394,7 +4394,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 311003a05e..6c87fb8572 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 51ec3d82e6..1401a12e63 100644 --- a/code/modules/food/food/snacks.dm +++ b/code/modules/food/food/snacks.dm @@ -848,32 +848,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..." @@ -888,21 +862,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." @@ -927,69 +886,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." @@ -4959,7 +4855,7 @@ reagents.add_reagent("protein",5) /obj/item/weapon/reagent_containers/food/snacks/pineapple_ring - name = "pineapple ring" + name = "pineapple rings" desc = "So retro." icon_state = "pineapple_ring" nutriment_desc = list("sweetness" = 2) 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 f310e3b698..dce6f234cf 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..035af9aebb 100644 --- a/code/modules/food/kitchen/smartfridge/engineering.dm +++ b/code/modules/food/kitchen/smartfridge/engineering.dm @@ -18,8 +18,10 @@ 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) 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 a5c2c1b138..9f0442ec0b 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/mining/mine_turfs_vr.dm b/code/modules/mining/mine_turfs_vr.dm index 6e8797bf70..2db25d26fb 100644 --- a/code/modules/mining/mine_turfs_vr.dm +++ b/code/modules/mining/mine_turfs_vr.dm @@ -14,6 +14,16 @@ /turf/simulated/mineral/floor/ignore_cavegen ignore_cavegen = TRUE +/turf/simulated/mineral/ignore_cavegen/cave + oxygen = MOLES_O2STANDARD + nitrogen = MOLES_N2STANDARD + temperature = T20C + +/turf/simulated/mineral/floor/ignore_cavegen/cave + oxygen = MOLES_O2STANDARD + nitrogen = MOLES_N2STANDARD + temperature = T20C + /turf/simulated/mineral/vacuum oxygen = 0 nitrogen = 0 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 3848a6c413..7bce6c10e4 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -28,20 +28,29 @@ var/list/holder_mob_icon_cache = list() /obj/item/weapon/holder/Initialize(mapload, mob/held) ASSERT(ismob(held)) . = ..() + held.forceMove(src) + START_PROCESSING(SSobj, src) + +/obj/item/weapon/holder/Entered(mob/held, atom/OldLoc) + if(held_mob) + held.forceMove(get_turf(src)) + return + ASSERT(ismob(held)) + . = ..() held_mob = held original_vis_flags = held.vis_flags held.vis_flags = VIS_INHERIT_ID|VIS_INHERIT_LAYER|VIS_INHERIT_PLANE - - held.forceMove(src) vis_contents += held name = held.name original_transform = held.transform held.transform = null - // I really hate this, but I'm sleepy and unable to figure out a nice stateful way to do it - // Entered and Exited seem ideal but all the inventory procs are trash and put items on - // turfs before you when manhandling things in/out of backpacks and inventory slots. - START_PROCESSING(SSobj, src) +/obj/item/weapon/holder/Exited(atom/movable/thing, atom/OldLoc) + if(thing == held_mob) + held_mob.transform = original_transform + held_mob.vis_flags = original_vis_flags + held_mob = null + ..() /obj/item/weapon/holder/Destroy() STOP_PROCESSING(SSobj, src) @@ -120,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) @@ -259,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 0d3edc90c8..43bab179d6 100644 --- a/code/modules/mob/living/carbon/give.dm +++ b/code/modules/mob/living/carbon/give.dm @@ -20,7 +20,7 @@ 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("No","Yes")) == "No") + 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 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 b8b0e70d57..a28cc3a4eb 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/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 38f59adbc5..a2876c61aa 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -85,7 +85,7 @@ var/list/ai_verbs_default = list( var/datum/ai_icon/selected_sprite // The selected icon set var/custom_sprite = 0 // Whether the selected icon is custom var/carded - + // Multicam Vars var/multicam_allowed = TRUE var/multicam_on = FALSE @@ -475,7 +475,7 @@ var/list/ai_verbs_default = list( else to_chat(src, "System error. Cannot locate [html_decode(href_list["trackname"])].") return - + if(href_list["trackbot"]) var/mob/living/bot/target = locate(href_list["trackbot"]) in mob_list if(target) @@ -808,21 +808,21 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/proc/check_unable(var/flags = 0, var/feedback = 1) if(stat == DEAD) - if(feedback) + if(feedback) to_chat(src, "You are dead!") return 1 if(aiRestorePowerRoutine) - if(feedback) + if(feedback) to_chat(src, "You lack power!") return 1 if((flags & AI_CHECK_WIRELESS) && src.control_disabled) - if(feedback) + if(feedback) to_chat(src, "Wireless control is disabled!") return 1 if((flags & AI_CHECK_RADIO) && src.aiRadio.disabledAi) - if(feedback) + if(feedback) to_chat(src, "System Error - Transceiver Disabled!") return 1 return 0 @@ -854,7 +854,7 @@ var/list/ai_verbs_default = list( if(istype(A)) switch(tgui_alert(src, "Do you want to open \the [A] for [target]?", "Doorknob_v2a.exe", list("Yes", "No"))) if("Yes") - A.AIShiftClick() + A.AIShiftClick(src) to_chat(src, "You open \the [A] for [target].") else to_chat(src, "You deny the request.") @@ -966,7 +966,7 @@ var/list/ai_verbs_default = list( //This communication is imperfect because the holopad "filters" voices and is only designed to connect to the master only. var/rendered = "Relayed Speech: [name_used] [message]" show_message(rendered, 2) - + /mob/living/silicon/ai/proc/toggle_multicam_verb() set name = "Toggle Multicam" set category = "AI Commands" 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 920c125a8c..2bb65ec9e3 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 @@ -75,7 +75,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 @@ -84,7 +85,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 @@ -94,7 +96,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 @@ -103,7 +106,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 @@ -112,7 +116,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 @@ -121,7 +126,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 @@ -130,7 +136,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 @@ -139,14 +146,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 @@ -154,14 +164,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 b3b9667ea8..b6c037440a 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 ae34c725bd..dd8d5f38f9 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/life.dm b/code/modules/mob/living/simple_mob/life.dm index 53a46e09ad..ebe36b48f0 100644 --- a/code/modules/mob/living/simple_mob/life.dm +++ b/code/modules/mob/living/simple_mob/life.dm @@ -55,7 +55,7 @@ healths.icon_state = "health7" //Updates the nutrition while we're here - var/food_per = (nutrition / initial(nutrition)) * 100 + var/food_per = (nutrition / 500) * 100 //VOREStation Edit: Bandaid hardcode number to avoid misleading percentage based hunger alerts with our 6k cap. switch(food_per) if(90 to INFINITY) clear_alert("nutrition") 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/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 index 3963cec0b6..b8de4885ba 100644 --- 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 @@ -71,9 +71,9 @@ "rad" = 100 ) - speak_emote = list("rumbles") + loot_list = list(/obj/item/weapon/ore/diamond = 100) - loot_list = list(/obj/item/weapon/ore/diamond) + speak_emote = list("rumbles") vore_active = 0 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 index 362232bd8e..b77d55a2c8 100644 --- 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 @@ -47,7 +47,7 @@ minbodytemp = 0 maxbodytemp = 900 - loot_list = list(/obj/random/underdark/uncertain) + loot_list = list(/obj/random/underdark/uncertain = 25) armor = list( "melee" = 100, @@ -110,7 +110,9 @@ violent_breakthrough = TRUE /mob/living/simple_mob/vore/alienanimals/startreader/apply_melee_effects(var/atom/A) - if(prob(25)) + 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]!!") 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 2735256b15..89c67175af 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 @@ -142,7 +142,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/////////////////////////////////////////// @@ -196,7 +197,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.", @@ -272,7 +273,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 @@ -284,11 +285,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 @@ -322,7 +323,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 @@ -335,7 +336,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) @@ -351,13 +352,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) @@ -404,7 +405,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]" @@ -647,7 +648,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() ..() @@ -678,7 +679,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) @@ -735,7 +736,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 @@ -797,12 +798,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 ..() @@ -816,7 +817,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) @@ -844,7 +845,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~") @@ -989,7 +990,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 @@ -1019,7 +1020,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 @@ -1166,11 +1167,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 a8c470d3fc..e8f44b020b 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 cc6bdcdb78..61645e9b69 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,6 +51,7 @@ default_pixel_x = -16 old_x = -16 old_y = 0 + meat_amount = 15 egg_type = /obj/effect/spider/eggcluster/royal 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 65cbb5d7a9..7b8b777972 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 @@ -59,6 +61,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()) @@ -96,25 +109,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 @@ -126,9 +134,60 @@ // 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 speak = list("Squeek!","SQUEEK!","Squeek?") emote_hear = list("squeeks","squeaks","squiks") - emote_see = list("runs in a circle", "shakes", "scritches at something") + emote_see = list("runs in a circle", "shakes", "scritches at something") \ No newline at end of file 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..97da0b49ad 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 f7524b7be4..8fa103a457 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 @@ -184,9 +184,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..f78b468a92 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,12 @@ maxHealth = 25 health = 25 + + meat_amount = 2 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + minbodytemp = 175 //yw edit, Makes mobs survive cryogaia temps + 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 36bff0acfd..b9d57d316a 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 660631471b..dc34024744 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 5186d76920..3bb27fa471 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm @@ -41,6 +41,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 @@ -73,7 +76,7 @@ /mob/living/simple_mob/vore/fennec/huge icon = 'icons/mob/vore100x100.dmi' icon_rest = null - + // LORG maxHealth = 500 health = 500 @@ -89,7 +92,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 @@ -107,7 +110,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 @@ -159,4 +162,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 c6ea3efbc1..076aa3bba1 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 1245278421..ae0610fcae 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..329b747f97 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 @@ -9,6 +9,7 @@ icon_state = "morph" icon_living = "morph" icon_dead = "morph_dead" + icon_rest = null movement_cooldown = 1 status_flags = CANPUSH pass_flags = PASSTABLE @@ -37,8 +38,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 @@ -107,7 +107,7 @@ alpha = max(target.alpha, 150) copy_overlays(target, TRUE) our_size_multiplier = size_multiplier - + pixel_x = initial(target.pixel_x) pixel_y = initial(target.pixel_y) @@ -118,7 +118,7 @@ icon_scale_x = target.icon_scale_x icon_scale_y = target.icon_scale_y update_transform() - + else if(ismob(target)) var/mob/living/M = target resize(M.size_multiplier, ignore_prefs = TRUE) @@ -137,10 +137,10 @@ to_chat(src, "You're already in your normal form!") return morphed = FALSE - + if(!silent) visible_message("[src] suddenly collapses in on itself, dissolving into a pile of green flesh!") - + form = null name = initial(name) desc = initial(desc) @@ -161,7 +161,7 @@ density = initial(density) cut_overlays(TRUE) //ALL of zem - + maptext = null size_multiplier = our_size_multiplier @@ -188,6 +188,14 @@ return return ..() +/mob/living/simple_mob/vore/hostile/morph/lay_down() + if(morphed) + var/temp_state = icon_state + ..() + icon_state = temp_state + else + ..() + /mob/living/simple_mob/vore/hostile/morph/update_icon() if(morphed) return 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 16fa33596a..1d5fc57157 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 13a123531b..a0ab3a9bc1 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 fd4837b955..023dcccd68 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 1bfb4a4ade..b3ea3ff373 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 d4b5b326d9..1df71072c2 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 651599e352..8affc4d894 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 745db9e568..ef1aa44b59 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm @@ -36,6 +36,7 @@ List of things solar grubs should be able to do: 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 8c4d7b14df..31b057ef45 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/new_player_vr.dm b/code/modules/mob/new_player/new_player_vr.dm index 71abc1ddf1..fdbbcb10d0 100644 --- a/code/modules/mob/new_player/new_player_vr.dm +++ b/code/modules/mob/new_player/new_player_vr.dm @@ -72,4 +72,4 @@ //Final popup notice if (!pass) tgui_alert_async(src,"There were problems with spawning your character. Check your message log for details.","Error") - return pass + return pass \ No newline at end of file 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 4651023252..f653e882eb 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 fa5cc8ba6a..d96cd9e611 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" @@ -466,20 +466,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 needed to be manually defined, apparantly. /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 325ff15ced..14d813406d 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)) @@ -104,7 +104,7 @@ /datum/persistent/proc/Shutdown() if(fexists(filename)) fdel(filename) - + var/list/to_store = list() for(var/thing in SSpersistence.tracking_values[type]) if(!IsValidEntry(thing)) @@ -121,10 +121,10 @@ var/list/my_tracks = SSpersistence.tracking_values[type] if(!my_tracks?.len) return - + . = list("[capitalize(name)]") . += "
" - + for(var/thing in my_tracks) . += "[GetAdminDataStringFor(thing, can_modify, user)]" . += "
" diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm index 4a1955d7a7..311c7e753b 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm @@ -191,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) @@ -223,7 +223,7 @@ /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 @@ -661,7 +661,7 @@ maximum_of_type = 1 cost = 35 -/obj/item/borg/upgrade/modkit/indoors/offsite/modify_projectile(obj/item/projectile/kinetic/K) +/obj/item/borg/upgrade/modkit/offsite/modify_projectile(obj/item/projectile/kinetic/K) K.environment = KA_ENVIRO_TYPE_OFFSITE // Atmospheric 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/projectiles/projectile/explosive.dm b/code/modules/projectiles/projectile/explosive.dm index 15d538c082..307febc8bc 100644 --- a/code/modules/projectiles/projectile/explosive.dm +++ b/code/modules/projectiles/projectile/explosive.dm @@ -9,22 +9,30 @@ does_spin = 0 /obj/item/projectile/bullet/srmrocket/on_hit(atom/target, blocked=0) - ..() if(!isliving(target)) //if the target isn't alive, so is a wall or something explosion(target, 0, 1, 2, 4) else explosion(target, 0, 0, 2, 4) return 1 +/obj/item/projectile/bullet/srmrocket/throw_impact(atom/target, var/speed) + if(!isliving(target)) //if the target isn't alive, so is a wall or something + explosion(target, 0, 1, 2, 4) + else + explosion(target, 0, 0, 2, 4) + qdel(src) /obj/item/projectile/bullet/srmrocket/weak //Used in the jury rigged one. damage = 10 /obj/item/projectile/bullet/srmrocket/weak/on_hit(atom/target, blocked=0) - ..() explosion(target, 0, 0, 2, 4)//No need to have a question. return 1 +/obj/item/projectile/bullet/srmrocket/weak/throw_impact(atom/target, var/speed) + explosion(target, 0, 0, 2, 4)//No need to have a question. + qdel(src) + /*Old vars here for reference. var/devastation = 0 var/heavy_blast = 1 diff --git a/code/modules/reagents/reactions/instant/drinks.dm b/code/modules/reagents/reactions/instant/drinks.dm index abd16b2279..c2e0521ee6 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 da16f25173..937825cb42 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) diff --git a/code/modules/reagents/reactions/instant/instant_vr.dm b/code/modules/reagents/reactions/instant/instant_vr.dm index 3a7e84537c..89febfacbb 100644 --- a/code/modules/reagents/reactions/instant/instant_vr.dm +++ b/code/modules/reagents/reactions/instant/instant_vr.dm @@ -400,7 +400,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 fbf41ab806..cd28842f00 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 6f29e26ebb..d4ab887d98 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 921b704c96..3f161271e3 100644 --- a/code/modules/resleeving/machines.dm +++ b/code/modules/resleeving/machines.dm @@ -589,8 +589,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 @@ -612,7 +613,7 @@ occupant.confused = max(occupant.confused, confuse_amount) // Apply immedeate effects occupant.eye_blurry = max(occupant.eye_blurry, blur_amount) - + // Vore deaths get a fake modifier labeled as such if(!occupant.mind) log_debug("[occupant] didn't have a mind to check for vore_death, which may be problematic.") diff --git a/code/modules/tables/flipping.dm b/code/modules/tables/flipping.dm index 23d862d66d..e7029e3c6d 100644 --- a/code/modules/tables/flipping.dm +++ b/code/modules/tables/flipping.dm @@ -50,7 +50,7 @@ L.Add(turn(src.dir,90)) for(var/new_dir in L) var/obj/structure/table/T = locate() in get_step(src.loc,new_dir) - if(T && T.material.name == material.name) + if(T && T.material && T.material.name == material.name) if(T.flipped == 1 && T.dir == src.dir && !T.unflipping_check(new_dir)) return 0 return 1 diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm index 27627055d7..779bb76d5f 100644 --- a/code/modules/tables/interactions.dm +++ b/code/modules/tables/interactions.dm @@ -1,7 +1,7 @@ /obj/structure/table/CanPass(atom/movable/mover, turf/target) if(istype(mover,/obj/item/projectile)) return (check_cover(mover,target)) - if (flipped) + if(flipped == 1) if(get_dir(mover, target) == reverse_dir[dir]) // From elsewhere to here, can't move against our dir return !density return TRUE @@ -10,12 +10,12 @@ if(locate(/obj/structure/table/bench) in get_turf(mover)) return FALSE var/obj/structure/table/table = locate(/obj/structure/table) in get_turf(mover) - if(table && !table.flipped) + if(table && !(table.flipped == 1)) return TRUE return FALSE /obj/structure/table/climb_to(mob/living/mover) - if(flipped && mover.loc == loc) + if(flipped == 1 && mover.loc == loc) var/turf/T = get_step(src, dir) if(T.Enter(mover)) return T @@ -23,7 +23,7 @@ return ..() /obj/structure/table/Uncross(atom/movable/mover, turf/target) - if(flipped && (get_dir(mover, target) == dir)) // From here to elsewhere, can't move in our dir + if(flipped == 1 && (get_dir(mover, target) == dir)) // From here to elsewhere, can't move in our dir return !density return TRUE diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index f428033848..9a71cbdba7 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -331,6 +331,8 @@ var/list/table_icon_cache = list() return FALSE if(istype(src,/obj/structure/table/bench) && !istype(S,/obj/structure/table/bench)) return FALSE + if(istype(S,/obj/structure/table/rack) && !istype(src,/obj/structure/table/rack)) + return FALSE if(istype(src,/obj/structure/table/rack) && !istype(S,/obj/structure/table/rack)) return FALSE if(istype(S,/obj/structure/table)) diff --git a/code/modules/vchat/vchat_client.dm b/code/modules/vchat/vchat_client.dm index b2cd9df758..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() @@ -417,4 +418,4 @@ var/to_chat_src if(!fdel(o_file)) spawn(1 MINUTE) if(!fdel(o_file)) - log_debug("Warning: [ckey]'s chatlog could not be deleted one minute after file transfer was initiated. It is located at 'data/chatlog_tmp/[ckey]_chat_log' and will need to be manually removed.") \ No newline at end of file + log_debug("Warning: [ckey]'s chatlog could not be deleted one minute after file transfer was initiated. It is located at 'data/chatlog_tmp/[ckey]_chat_log' and will need to be manually removed.") diff --git a/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act_vr.dm index 7609400366..3d0486fd79 100644 --- a/code/modules/vore/eating/digest_act_vr.dm +++ b/code/modules/vore/eating/digest_act_vr.dm @@ -49,7 +49,15 @@ 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/inbelly_spawn.dm b/code/modules/vore/eating/inbelly_spawn.dm new file mode 100644 index 0000000000..39c09554e0 --- /dev/null +++ b/code/modules/vore/eating/inbelly_spawn.dm @@ -0,0 +1,177 @@ +/mob/observer/dead/verb/spawn_in_belly() + set category = "Ghost" + set name = "Spawn In Belly" + set desc = "Spawn in someone's belly." + + if(!client) + return + + // If any ghost-side restrictions are desired, they'll go here + + tgui_alert(src,{" +This verb allows you to spawn inside someone's belly when they are in round. +Make sure you to coordinate with your predator OOCly as well as roleplay approprietly. +You are considered to have been in the belly entire time the predator was around and are not added to crew lists. +This is not intended to be used for mechanical advantage or providing assistance, but for facilitating longterm scenes. +Please do not abuse this ability. +"},"OOC Warning") // Warning. + + var/list/eligible_targets = list() + + for(var/mob/living/pred in living_mob_list) + if(!istype(pred) || !pred.client) // Ignore preds that aren't living mobs or player controlled + continue + if(pred.no_vore) // No vore, no bellies, no inbelly spawning + continue + if(!(get_z(pred) in using_map.station_levels)) // No explo reinforcements + continue + if(ishuman(pred)) + var/mob/living/carbon/human/H = pred + if(!H.allow_inbelly_spawning) + continue + eligible_targets += H + continue + if(issilicon(pred)) + var/mob/living/silicon/S = pred + if(isAI(S)) + continue // Sorry, AI buddies. Your vore works too differently. + if(!S.allow_inbelly_spawning) + continue + eligible_targets += S + continue + if(istype(pred, /mob/living/simple_mob)) + var/mob/living/simple_mob/SM = pred + if(!SM.vore_active) // No vore, no bellies, no inbelly spawning + continue + if(!SM.allow_inbelly_spawning) + continue + eligible_targets += SM + continue + + // Only humans, simple_mobs and non-AI silicons are included. Obscure stuff like bots is skipped. + + if(!eligible_targets.len) + to_chat(src, "No eligible preds were found.") // :( + return + + var/mob/living/target = tgui_input_list(src, "Please specify which character you want to spawn inside of.", "Predator", eligible_targets) // Offer the list of things we gathered. + + if(!target || !client) // Did out target cease to exist? Or did we? + return + + // Notify them that its now pred's turn + to_chat(src, "Inbelly spawn request sent to predator.") + target.inbelly_spawn_prompt(client) // Hand reins over to them + +/mob/living/proc/inbelly_spawn_prompt(client/potential_prey) + if(!potential_prey || !istype(potential_prey)) // Did our prey cease to exist? + return + + // Are we cool with this prey spawning in at all? + var/answer = tgui_alert(src, "[potential_prey.ckey] (as [potential_prey.prefs.real_name]) wants to spawn in one of your bellies. Do you accept?", "Inbelly Spawning", list("Yes", "No")) + if(answer != "Yes") + to_chat(potential_prey, "Your request was turned down.") + return + + // Let them know so that they don't spam it. + to_chat(potential_prey, "Predator agreed to your request. Wait a bit while they choose a belly.") + + // Where we dropping? + var/obj/belly/belly_choice = tgui_input_list(src, "Choose Target Belly", "Belly Choice", src.vore_organs) + + // Wdym nowhere? + if(!belly_choice || !istype(belly_choice)) + to_chat(potential_prey, "Something went wrong with predator selecting a belly. Try again?") + to_chat(src, "No valid belly selected. Inbelly spawn cancelled.") + return + + // Extra caution never hurts + if(belly_choice.digest_mode == DM_DIGEST) + var/digest_answer = tgui_alert(src, "[belly_choice] is currently set to Digest. Are you sure you want to spawn prey there?", "Inbelly Spawning", list("Yes", "No")) + if(digest_answer != "Yes") + to_chat(potential_prey, "Something went wrong with predator selecting a belly. Try again?") + to_chat(src, "Inbelly spawn cancelled.") + + // Are they already fat (and/or appropriate equivalent)? + var/absorbed = FALSE + var/absorbed_answer = tgui_alert(src, "Do you want them to start absorbed?", "Inbelly Spawning", list("Yes", "No")) + + if(absorbed_answer == "Yes") + absorbed = TRUE + + // They disappeared? + if(!potential_prey) + to_chat(src, "No prey found. Something went wrong!") + return + + // Final confirmation for pred + var/confirmation_pred = tgui_alert(src, "Are you certain that you want [potential_prey.prefs.real_name] spawned in your [belly_choice][absorbed ? ", absorbed" : ""]?", "Inbelly Spawning", list("Yes", "No")) + + if(confirmation_pred != "Yes") + to_chat(potential_prey, "Your pred couldn't finish selection. Try again?") + to_chat(src, "Inbelly spawn cancelled.") + return + + to_chat(src, "Waiting for prey's confirmation...") + + // And final confirmation for prey + var/confirmation_prey = tgui_alert(potential_prey, "Are you certain that you to spawn in [src]'s [belly_choice][absorbed ? ", absorbed" : ""]?", "Inbelly Spawning", list("Yes", "No")) + + if(confirmation_prey == "Yes" && potential_prey && src && belly_choice) + //Now we finally spawn them in! + if(!is_alien_whitelisted(potential_prey, GLOB.all_species[potential_prey.prefs.species])) + to_chat(potential_prey, "You are not whitelisted to play as currently selected character.") + to_chat(src, "Prey accepted the confirmation, but something went wrong with spawning their character.") + return + inbelly_spawn(potential_prey, src, belly_choice, absorbed) + else + to_chat(potential_prey, "Inbelly spawn cancelled.") + to_chat(src, "Prey cancelled their inbelly spawn request.") + return + +/proc/inbelly_spawn(client/prey, mob/living/pred, obj/belly/target_belly, var/absorbed = FALSE) + // All this is basically admin late spawn-in, but skipping all parts related to records and equipment and with predteremined location + var/player_key = prey.key + var/picked_ckey = prey.ckey + var/picked_slot = prey.prefs.default_slot + var/mob/living/carbon/human/new_character + + new_character = new(null) // Spawn them in nullspace first. Can't have "Defaultname Defaultnameson slides into your Stomach". + + if(!new_character) + return + + prey.prefs.copy_to(new_character) + if(new_character.dna) + new_character.dna.ResetUIFrom(new_character) + new_character.sync_organ_dna() + new_character.key = player_key + if(new_character.mind) + var/datum/antagonist/antag_data = get_antag_data(new_character.mind.special_role) + if(antag_data) + antag_data.add_antagonist(new_character.mind) + antag_data.place_mob(new_character) + + if(new_character.mind) + new_character.mind.loaded_from_ckey = picked_ckey + new_character.mind.loaded_from_slot = picked_slot + + for(var/lang in prey.prefs.alternate_languages) + var/datum/language/chosen_language = GLOB.all_languages[lang] + if(chosen_language) + if(is_lang_whitelisted(prey,chosen_language) || (new_character.species && (chosen_language.name in new_character.species.secondary_langs))) + new_character.add_language(lang) + + new_character.regenerate_icons() + + new_character.update_transform() + + new_character.forceMove(target_belly) // Now that they're all setup and configured, send them to their destination. + + if(absorbed) + target_belly.absorb_living(new_character) // Glorp. + + log_admin("[prey] (as [new_character.real_name] has spawned inside one of [pred]'s bellies.") // Log it. Avoid abuse. + message_admins("[prey] (as [new_character.real_name] has spawned inside one of [pred]'s bellies.", 1) + + return new_character // incase its ever needed \ No newline at end of file diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 23dd3eea55..3050fc846e 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -7,6 +7,7 @@ var/resizable = TRUE // Can other people resize you? (Usually ignored for self-resizes) var/digest_leave_remains = FALSE // Will this mob leave bones/skull/etc after the melty demise? var/allowmobvore = TRUE // Will simplemobs attempt to eat the mob? + var/allow_inbelly_spawning = FALSE // Will we even bother with attempts of someone to spawn in in one of our bellies? var/showvoreprefs = TRUE // Determines if the mechanical vore preferences button will be displayed on the mob or not. var/obj/belly/vore_selected // Default to no vore capability. var/list/vore_organs = list() // List of vore containers inside a mob @@ -143,9 +144,7 @@ if(is_vore_predator(src)) for(var/mob/living/M in H.contents) if(attacker.eat_held_mob(attacker, M, src)) - if(H.held_mob == M) - H.held_mob = null - return TRUE //return TRUE to exit upper procs + return TRUE //return TRUE to exit upper procs else log_debug("[attacker] attempted to feed [H.contents] to [src] ([type]) but it failed.") @@ -224,6 +223,7 @@ P.show_vore_fx = src.show_vore_fx P.can_be_drop_prey = src.can_be_drop_prey P.can_be_drop_pred = src.can_be_drop_pred + P.allow_inbelly_spawning = src.allow_inbelly_spawning P.allow_spontaneous_tf = src.allow_spontaneous_tf P.step_mechanics_pref = src.step_mechanics_pref P.pickup_pref = src.pickup_pref @@ -258,7 +258,7 @@ permit_healbelly = P.permit_healbelly show_vore_fx = P.show_vore_fx can_be_drop_prey = P.can_be_drop_prey - can_be_drop_pred = P.can_be_drop_pred + allow_inbelly_spawning = P.allow_inbelly_spawning allow_spontaneous_tf = P.allow_spontaneous_tf step_mechanics_pref = P.step_mechanics_pref pickup_pref = P.pickup_pref @@ -434,6 +434,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 @@ -518,7 +526,16 @@ user.visible_message(success_msg) // Actually shove prey into the belly. - belly.nom_mob(prey, user) + if(istype(prey.loc, /obj/item/weapon/holder)) + var/obj/item/weapon/holder/H = prey.loc + for(var/mob/living/M in H.contents) + belly.nom_mob(M, user) + if(M.loc == H) // In case nom_mob failed somehow. + M.forceMove(get_turf(src)) + H.held_mob = null + qdel(H) + else + belly.nom_mob(prey, user) if(!ishuman(user)) user.update_icons() @@ -631,7 +648,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() @@ -685,6 +706,13 @@ 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]!") + 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.") else to_chat(src, "You can taste the flavor of garbage. Delicious.") return @@ -853,6 +881,7 @@ dispvoreprefs += "Healbelly permission: [permit_healbelly ? "Allowed" : "Disallowed"]
" dispvoreprefs += "Spontaneous vore prey: [can_be_drop_prey ? "Enabled" : "Disabled"]
" dispvoreprefs += "Spontaneous vore pred: [can_be_drop_pred ? "Enabled" : "Disabled"]
" + dispvoreprefs += "Inbelly Spawning: [allow_inbelly_spawning ? "Allowed" : "Disallowed"]
" dispvoreprefs += "Spontaneous transformation: [allow_spontaneous_tf ? "Enabled" : "Disabled"]
" dispvoreprefs += "Can be stepped on/over: [step_mechanics_pref ? "Allowed" : "Disallowed"]
" dispvoreprefs += "Can be picked up: [pickup_pref ? "Allowed" : "Disallowed"]
" diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm index e3e7b9befa..4163277462 100644 --- a/code/modules/vore/eating/vore_vr.dm +++ b/code/modules/vore/eating/vore_vr.dm @@ -49,6 +49,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE var/feeding = TRUE var/can_be_drop_prey = FALSE var/can_be_drop_pred = FALSE + var/allow_inbelly_spawning = FALSE var/allow_spontaneous_tf = FALSE var/digest_leave_remains = FALSE var/allowmobvore = TRUE @@ -137,6 +138,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE show_vore_fx = json_from_file["show_vore_fx"] can_be_drop_prey = json_from_file["can_be_drop_prey"] can_be_drop_pred = json_from_file["can_be_drop_pred"] + allow_inbelly_spawning = json_from_file["allow_inbelly_spawning"] allow_spontaneous_tf = json_from_file["allow_spontaneous_tf"] step_mechanics_pref = json_from_file["step_mechanics_pref"] pickup_pref = json_from_file["pickup_pref"] @@ -165,6 +167,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE can_be_drop_prey = FALSE if(isnull(can_be_drop_pred)) can_be_drop_pred = FALSE + if(isnull(allow_inbelly_spawning)) + allow_inbelly_spawning = FALSE if(isnull(allow_spontaneous_tf)) allow_spontaneous_tf = FALSE if(isnull(step_mechanics_pref)) @@ -196,6 +200,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE "show_vore_fx" = show_vore_fx, "can_be_drop_prey" = can_be_drop_prey, "can_be_drop_pred" = can_be_drop_pred, + "allow_inbelly_spawning"= allow_inbelly_spawning, "allow_spontaneous_tf" = allow_spontaneous_tf, "step_mechanics_pref" = step_mechanics_pref, "pickup_pref" = pickup_pref, diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 54ce371dff..ea1a961efe 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -228,6 +228,7 @@ "show_vore_fx" = host.show_vore_fx, "can_be_drop_prey" = host.can_be_drop_prey, "can_be_drop_pred" = host.can_be_drop_pred, + "allow_inbelly_spawning" = host.allow_inbelly_spawning, "allow_spontaneous_tf" = host.allow_spontaneous_tf, "step_mechanics_active" = host.step_mechanics_pref, "pickup_mechanics_active" = host.pickup_pref, @@ -362,6 +363,12 @@ host.client.prefs_vr.can_be_drop_prey = host.can_be_drop_prey unsaved_changes = TRUE return TRUE + if("toggle_allow_inbelly_spawning") + host.allow_inbelly_spawning = !host.allow_inbelly_spawning + if(host.client.prefs_vr) + host.client.prefs_vr.allow_inbelly_spawning = host.allow_inbelly_spawning + unsaved_changes = TRUE + return TRUE if("toggle_allow_spontaneous_tf") host.allow_spontaneous_tf = !host.allow_spontaneous_tf if(host.client.prefs_vr) diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index 2a6a91cc58..5bb399b0d0 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -2296,15 +2296,72 @@ Departamental Swimsuits, for general use colorswap(usr) -//PastelPrinceDan: Masumi Maki -/obj/item/clothing/under/fluff/masumi_overalls - name = "white and blue overalls" +//PastelPrinceDan: Masumi Maki & Hatterhat: Harold Robinson +/obj/item/clothing/under/fluff/mechanic_overalls + name = "mechanic overalls" desc = "A set of white and blue overalls, paired with a yellow shirt." icon = 'icons/vore/custom_clothes_vr.dmi' - icon_state = "masumioveralls" - item_state = "masumioveralls" + icon_state = "mechaoveralls" + item_state = "mechaoveralls" icon_override = 'icons/vore/custom_onmob_vr.dmi' +//PastelPrinceDan: Masumi Maki & Hatterhat: Harold Robinson +/obj/item/clothing/suit/storage/hooded/wintercoat/fluff/mechanic + name = "mechanic winter coat" + desc = "A blue and yellow winter coat, worn only by overachievers." + icon = 'icons/vore/custom_clothes_vr.dmi' + icon_state = "mechacoat" + + icon_override = 'icons/vore/custom_onmob_vr.dmi' + item_state = "mechacoat_mob" + hoodtype = /obj/item/clothing/head/hood/winter/fluff/mechanic + +/obj/item/clothing/head/hood/winter/fluff/mechanic + name = "mechanic winter hood" + desc = "A blue and yellow winter coat's hood." + icon = 'icons/vore/custom_clothes_vr.dmi' + icon_state = "mechahood" + + icon_override = 'icons/vore/custom_onmob_vr.dmi' + item_state = "mechahood_mob" + +/obj/item/clothing/suit/storage/hooded/wintercoat/fluff/mechanic/ui_action_click() + ToggleHood_mechacoat() + +/obj/item/clothing/suit/storage/hooded/wintercoat/fluff/mechanic/equipped(mob/user, slot) + if(slot != slot_wear_suit) + RemoveHood_mechacoat() + ..() + +/obj/item/clothing/suit/storage/hooded/wintercoat/fluff/mechanic/proc/RemoveHood_mechacoat() + icon_state = "mechacoat" + item_state = "mechacoat_mob" + hood_up = 0 + if(ishuman(hood.loc)) + var/mob/living/carbon/H = hood.loc + H.unEquip(hood, 1) + H.update_inv_wear_suit() + hood.loc = src + +/obj/item/clothing/suit/storage/hooded/wintercoat/fluff/mechanic/proc/ToggleHood_mechacoat() + if(!hood_up) + if(ishuman(loc)) + var/mob/living/carbon/human/H = loc + if(H.wear_suit != src) + to_chat(H, "You must be wearing [src] to put up the hood!") + return + if(H.head) + to_chat(H, "You're already wearing something on your head!") + return + else + H.equip_to_slot_if_possible(hood,slot_head,0,0,1) + hood_up = 1 + icon_state = "mechacoat_t" + item_state = "mechacoat_mob_t" + H.update_inv_wear_suit() + else + RemoveHood_mechacoat() + //Pandora029 : Evelyn Tareen /obj/item/clothing/suit/storage/hooded/wintercoat/security/fluff/evelyn name = "warden's navy winter coat" diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 9850bde4a6..a3799ebcf6 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -1393,4 +1393,16 @@ hold.can_hold = list(/obj/item/weapon/material/knife, /obj/item/weapon/reagent_containers/glass/bottle) new /obj/item/weapon/material/knife/machete/hatchet/unathiknife/fluff/antoinette(hold) - new /obj/item/weapon/reagent_containers/glass/bottle/poppy(hold) \ No newline at end of file + 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 + name = "Amaryll's Claws" + desc = "This doesn't quite look like what it really is." + icon = 'icons/vore/custom_items_vr.dmi' + icon_state = "claws" + drop_sound = null + pickup_sound = null + origin_tech = null + matter = null \ No newline at end of file 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/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/head/mob.dmi b/icons/inventory/head/mob.dmi index 356aab58f5..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 b531aeb9ec..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 0c5e48a55e..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 432a86f0d5..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 e4a3a1f755..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_clothes_vr.dmi b/icons/vore/custom_clothes_vr.dmi index 5d75cf88b9..3269a00d08 100644 Binary files a/icons/vore/custom_clothes_vr.dmi and b/icons/vore/custom_clothes_vr.dmi differ diff --git a/icons/vore/custom_items_vr.dmi b/icons/vore/custom_items_vr.dmi index b8fe78c759..9b84b0f92c 100644 Binary files a/icons/vore/custom_items_vr.dmi and b/icons/vore/custom_items_vr.dmi differ diff --git a/icons/vore/custom_onmob_vr.dmi b/icons/vore/custom_onmob_vr.dmi index 5e2d399fd8..03c26ba63d 100644 Binary files a/icons/vore/custom_onmob_vr.dmi and b/icons/vore/custom_onmob_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 117275c22c..672aa8791d 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" = ( @@ -3033,27 +3266,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" @@ -3078,54 +3311,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) @@ -3138,13 +3351,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 @@ -3162,10 +3380,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 @@ -3190,7 +3410,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 @@ -3198,14 +3418,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 @@ -3223,38 +3461,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; @@ -3263,8 +3496,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) @@ -3287,19 +3528,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" = ( @@ -3323,10 +3569,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 }, @@ -3336,28 +3590,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, @@ -3376,6 +3647,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 @@ -3386,6 +3677,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" = ( @@ -3396,11 +3688,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{ @@ -3413,14 +3700,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, @@ -3463,28 +3751,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) @@ -3532,16 +3831,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{ @@ -3560,14 +3849,22 @@ /turf/simulated/floor/bluegrid, /area/offmap/aerostat/inside/powercontrol) "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" = ( @@ -3578,14 +3875,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"; @@ -3635,16 +3945,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" = ( @@ -3669,10 +3978,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" = ( @@ -3694,6 +4004,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{ @@ -3701,15 +4020,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, @@ -3774,10 +4084,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" = ( @@ -3787,29 +4097,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) @@ -3830,6 +4126,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 @@ -3842,9 +4145,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" = ( @@ -3862,17 +4166,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) @@ -3886,6 +4185,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" @@ -3923,6 +4239,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" = ( @@ -3933,14 +4252,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" = ( @@ -3992,38 +4315,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 @@ -4058,6 +4376,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{ @@ -4067,6 +4389,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" = ( @@ -4077,6 +4400,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{ @@ -4097,8 +4427,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" @@ -4109,19 +4443,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{ @@ -4138,10 +4464,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; @@ -4176,14 +4498,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{ @@ -4194,13 +4516,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; @@ -4269,6 +4584,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" = ( @@ -4287,26 +4605,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 @@ -4314,6 +4625,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" = ( @@ -4338,12 +4652,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) @@ -4351,7 +4669,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" = ( @@ -4370,6 +4688,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; @@ -4401,6 +4746,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" @@ -4430,14 +4782,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 @@ -4468,11 +4821,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" = ( @@ -4480,7 +4834,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{ @@ -4490,12 +4844,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 @@ -4503,19 +4856,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{ @@ -4526,18 +4879,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{ @@ -4547,29 +4907,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, @@ -4596,31 +4936,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{ @@ -4641,6 +4987,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{ @@ -4654,18 +5006,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, @@ -4693,18 +5062,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, @@ -4753,20 +5134,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{ @@ -4784,22 +5169,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" = ( @@ -4807,7 +5195,6 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/portable_atmospherics/canister/empty, /obj/machinery/camera/network/research_outpost{ dir = 4 }, @@ -4829,6 +5216,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" = ( @@ -4850,12 +5238,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; @@ -4882,6 +5264,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; @@ -4896,8 +5284,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 @@ -4905,9 +5304,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" }, @@ -4927,6 +5323,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; @@ -4949,6 +5353,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, @@ -4959,32 +5372,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, @@ -5004,44 +5410,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 }, @@ -5049,8 +5446,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, @@ -5060,15 +5463,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, @@ -5081,71 +5475,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{ @@ -5155,9 +5548,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" = ( @@ -5168,7 +5560,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 @@ -5188,6 +5580,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 @@ -5204,15 +5602,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" = ( @@ -5233,12 +5625,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) @@ -5247,23 +5633,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) @@ -5274,8 +5687,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{ @@ -5290,9 +5708,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; @@ -5316,23 +5737,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" = ( @@ -5352,21 +5782,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" = ( @@ -5377,6 +5822,7 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/atmos) "vC" = ( @@ -5431,17 +5877,25 @@ 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) +"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/door/firedoor/glass, -/obj/structure/window/reinforced/full, -/obj/structure/grille, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor, -/area/offmap/aerostat/inside/toxins) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/wall, +/area/offmap/aerostat/inside/xenoarch) "vT" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2" @@ -5453,23 +5907,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" = ( @@ -5483,18 +5951,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) @@ -5509,9 +5973,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" }, @@ -5525,6 +5986,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 @@ -5536,6 +6001,7 @@ /obj/machinery/light{ dir = 8 }, +/obj/structure/flora/pottedplant/unusual, /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "wp" = ( @@ -5549,22 +6015,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" @@ -5601,10 +6075,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{ @@ -5634,10 +6111,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 @@ -5675,13 +6156,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 @@ -5689,32 +6166,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" @@ -5744,28 +6224,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, @@ -5795,19 +6296,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" = ( @@ -5820,21 +6331,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 @@ -5852,12 +6381,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) @@ -5865,22 +6395,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" @@ -5903,11 +6432,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" = ( @@ -5931,12 +6466,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{ @@ -5947,14 +6482,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 @@ -5962,6 +6490,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" = ( @@ -5995,8 +6526,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 @@ -6012,14 +6543,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 @@ -6037,10 +6565,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" = ( @@ -6050,6 +6581,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" = ( @@ -6067,6 +6602,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 @@ -6078,11 +6624,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" @@ -6104,25 +6650,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" = ( @@ -6144,13 +6685,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{ @@ -6180,11 +6719,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 @@ -6195,12 +6738,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" = ( @@ -6217,10 +6758,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" = ( @@ -6247,6 +6795,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; @@ -6271,6 +6826,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{ @@ -6278,12 +6836,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{ @@ -6351,15 +6903,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 @@ -6392,18 +6935,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{ @@ -6411,6 +6947,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 @@ -6418,9 +6961,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, @@ -6431,11 +6993,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 @@ -6451,13 +7017,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"; @@ -6473,9 +7040,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" = ( @@ -6500,13 +7064,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" = ( @@ -6516,9 +7078,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" }, @@ -6527,8 +7086,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{ @@ -6537,25 +7095,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" @@ -6622,12 +7177,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{ @@ -6641,12 +7210,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 @@ -6659,12 +7222,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" @@ -6672,11 +7234,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" = ( @@ -6710,53 +7285,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; @@ -6777,15 +7333,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" = ( @@ -6794,19 +7352,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" @@ -6859,9 +7404,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) @@ -6880,20 +7431,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) @@ -6904,17 +7453,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) @@ -6949,39 +7504,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{ @@ -6997,12 +7536,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) @@ -7020,7 +7562,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" = ( @@ -7056,6 +7598,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 @@ -7078,30 +7624,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 @@ -7113,7 +7657,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, @@ -7122,9 +7666,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{ @@ -7138,6 +7684,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{ @@ -7149,16 +7706,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 @@ -7209,13 +7760,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; @@ -7232,19 +7798,15 @@ /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" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/sign/poster{ - dir = 8; - pixel_x = -32 +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 }, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/toxins) @@ -7253,20 +7815,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, @@ -7282,11 +7845,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 @@ -7300,12 +7865,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" = ( @@ -7328,6 +7890,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{ @@ -7336,11 +7902,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 @@ -7360,6 +7925,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; @@ -7381,6 +7953,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 @@ -7409,12 +7985,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"; @@ -7424,14 +8014,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{ @@ -7456,45 +8039,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" = ( @@ -7508,7 +8120,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 @@ -7532,6 +8144,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" = ( @@ -7585,12 +8198,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" = ( @@ -7608,6 +8216,15 @@ }, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/airlock/south) +"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{ @@ -7616,8 +8233,8 @@ /turf/simulated/floor/tiled/dark, /area/offmap/aerostat/inside/lobby) "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" = ( @@ -7627,11 +8244,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) @@ -7657,10 +8271,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" = ( @@ -7692,20 +8302,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{ @@ -7738,25 +8350,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" = ( @@ -7764,16 +8379,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" @@ -7807,20 +8426,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 @@ -7888,7 +8508,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{ @@ -7899,17 +8519,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 }, @@ -7927,6 +8552,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{ @@ -7935,15 +8568,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{ @@ -7957,40 +8585,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{ @@ -8019,13 +8671,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, @@ -8048,18 +8693,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 @@ -8091,25 +8742,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) @@ -8120,16 +8771,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" }, @@ -8139,26 +8801,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 }, @@ -8178,7 +8833,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" = ( @@ -8189,25 +8847,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" @@ -8220,11 +8876,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) @@ -8237,11 +8903,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" = ( @@ -8251,27 +8918,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" = ( @@ -8288,27 +8961,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, @@ -8318,12 +8985,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" = ( @@ -8351,14 +9016,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, @@ -8376,6 +9036,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" = ( @@ -8396,7 +9057,6 @@ /obj/structure/cable, /obj/machinery/power/apc{ dir = 8; - name = "east bump"; pixel_x = -22 }, /obj/machinery/mining/drill, @@ -8418,16 +9078,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; @@ -8487,19 +9160,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" = ( @@ -8520,16 +9199,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, @@ -8574,8 +9255,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, @@ -8596,11 +9296,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{ @@ -8612,13 +9311,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{ @@ -8630,19 +9329,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 @@ -8663,14 +9360,10 @@ /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) "JX" = ( /obj/structure/cable{ @@ -8681,6 +9374,10 @@ }, /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) "JZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -8688,8 +9385,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; @@ -8705,15 +9405,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, @@ -8729,6 +9423,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" = ( @@ -8740,11 +9440,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, @@ -8762,18 +9458,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 @@ -8786,6 +9478,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 @@ -8793,12 +9497,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" @@ -8817,12 +9525,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; @@ -8851,33 +9553,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{ @@ -8893,35 +9595,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" = ( @@ -8931,9 +9634,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 @@ -8944,38 +9651,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, @@ -8983,6 +9692,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" @@ -9003,35 +9719,15 @@ /obj/machinery/light, /turf/simulated/floor/tiled/techfloor, /area/offmap/aerostat/inside/zorrenoffice) -"LI" = ( -/obj/structure/closet/firecloset, -/obj/structure/sign/poster{ - dir = 4; - pixel_x = 32 - }, -/turf/simulated/floor/tiled/white, -/area/offmap/aerostat/inside/xenoarch) "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{ @@ -9043,11 +9739,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; @@ -9059,15 +9757,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 @@ -9099,13 +9793,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" @@ -9115,6 +9815,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; @@ -9157,6 +9861,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" = ( @@ -9164,7 +9869,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" @@ -9172,23 +9877,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, @@ -9203,10 +9898,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" = ( @@ -9227,34 +9932,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" = ( @@ -9264,11 +9983,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 @@ -9282,6 +10001,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 @@ -9308,9 +10033,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) @@ -9325,17 +10049,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) @@ -9355,6 +10078,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 @@ -9363,35 +10092,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 @@ -9420,6 +10164,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" = ( @@ -9427,11 +10174,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{ @@ -9444,7 +10188,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" @@ -9455,6 +10199,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{ @@ -9463,16 +10210,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" = ( @@ -9501,6 +10245,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) @@ -9508,13 +10258,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{ @@ -9528,12 +10278,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" = ( @@ -9549,8 +10295,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, @@ -9583,23 +10336,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" = ( @@ -9618,6 +10359,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 @@ -9626,7 +10379,6 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/machinery/recharger, /turf/simulated/floor/tiled/white, /area/offmap/aerostat/inside/firingrange) "OE" = ( @@ -9634,21 +10386,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) @@ -9666,24 +10414,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{ @@ -9698,10 +10449,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{ @@ -9717,10 +10487,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) @@ -9738,24 +10506,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 @@ -9763,6 +10549,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" = ( @@ -9772,18 +10561,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) @@ -9820,13 +10613,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 @@ -9840,18 +10635,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) @@ -9880,26 +10679,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" = ( @@ -9922,9 +10720,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" = ( @@ -9932,14 +10732,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{ @@ -9965,12 +10766,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" @@ -10019,26 +10822,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{ @@ -10047,14 +10854,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 @@ -10078,14 +10880,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, @@ -10100,6 +10894,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" = ( @@ -10133,8 +10928,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) @@ -10179,11 +10977,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 @@ -10202,14 +10997,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 @@ -10244,6 +11038,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" = ( @@ -10344,17 +11139,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" @@ -10378,6 +11166,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{ @@ -10400,6 +11194,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" = ( @@ -10417,19 +11214,21 @@ /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; pixel_x = -32 }, -/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, @@ -10437,7 +11236,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 }, @@ -10445,19 +11243,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{ @@ -10487,9 +11281,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" }, @@ -10500,6 +11291,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" = ( @@ -10512,7 +11306,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" = ( @@ -10528,10 +11327,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, @@ -10549,12 +11361,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{ @@ -10563,10 +11389,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 @@ -10581,12 +11411,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 @@ -10666,25 +11493,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" = ( @@ -10708,10 +11526,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" = ( @@ -10722,6 +11538,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{ @@ -10729,6 +11553,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) @@ -10745,6 +11578,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; @@ -10811,13 +11648,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{ @@ -10841,18 +11680,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 @@ -10865,12 +11708,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" @@ -10878,19 +11733,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, @@ -10907,6 +11759,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, @@ -10930,10 +11785,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 @@ -10973,28 +11829,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 @@ -11021,14 +11864,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" @@ -11038,15 +11888,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"; @@ -11060,35 +11917,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" = ( @@ -11102,15 +11955,18 @@ 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" = ( -/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, /area/offmap/aerostat/inside/toxins) "Ve" = ( /obj/machinery/atmospherics/portables_connector{ @@ -11125,29 +11981,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{ @@ -11159,13 +12017,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{ @@ -11174,11 +12035,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) @@ -11216,6 +12077,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" = ( @@ -11231,6 +12093,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 @@ -11282,16 +12150,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" = ( @@ -11301,16 +12175,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" @@ -11336,20 +12205,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" @@ -11373,6 +12252,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" = ( @@ -11409,9 +12289,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 }, @@ -11421,6 +12298,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" = ( @@ -11436,8 +12317,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 @@ -11446,11 +12341,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" = ( @@ -11470,20 +12365,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; @@ -11521,10 +12423,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 @@ -11532,11 +12436,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{ @@ -11558,9 +12469,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 @@ -11579,14 +12500,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" }, @@ -11606,10 +12530,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" = ( @@ -11629,13 +12555,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 @@ -11648,12 +12570,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, @@ -11667,29 +12590,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) @@ -11703,7 +12629,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, @@ -11722,11 +12648,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 @@ -11755,20 +12690,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" @@ -11799,12 +12735,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{ @@ -11836,9 +12776,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 }, @@ -11861,7 +12798,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" = ( @@ -11875,52 +12816,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; @@ -11946,12 +12914,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" @@ -11962,11 +12935,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" = ( @@ -11976,36 +12948,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" = ( @@ -12022,11 +13017,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; @@ -12041,12 +13047,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{ @@ -12071,6 +13073,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 @@ -12085,6 +13099,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" @@ -12139,13 +13157,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) @@ -17641,7 +18681,7 @@ XX Rl aE EN -UW +EN aw aw aw @@ -17782,7 +18822,7 @@ he Yx cI KW -EN +Jo gf Bz aw @@ -17924,8 +18964,8 @@ he FJ lL jL -EN -Bt +Jo +Qz Bz Bz aw @@ -18068,7 +19108,7 @@ Wt qN Jo if -Go +Qz Bz Bz aw @@ -18207,13 +19247,13 @@ PS PS Rr Re -qN -Jo +HS +Ls Lq Xa -Go +ni Bz -UW +Jo aw aw aw @@ -18349,13 +19389,13 @@ oW PS Rr Lt -qN +KA +Jo +ZK +ZK +ZK +ZK Jo -Bu -if -Go -Go -UW Bz aw aw @@ -18493,13 +19533,13 @@ Rr NV Hq Jo -Kv -Kr -Go -Go -Go -Bz -Bz +NP +Yw +wA +Yw +Yw +EA +EA aw aw aw @@ -18635,14 +19675,14 @@ Qd Zg HH FU -Kv +NP yG -Go -Qz -Go -Go -UW -UW +Yw +Yw +Yw +Yw +zH +zH aw aw aw @@ -18777,15 +19817,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 @@ -18925,10 +19965,10 @@ Ey kR fo Ml -Go -Go -Bz -Bz +Yw +Yw +EA +EA aw aw aw @@ -19061,17 +20101,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 @@ -19203,18 +20243,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 @@ -19345,19 +20385,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 @@ -19471,7 +20511,7 @@ ac Rr Rr ce -Eu +PX Eu Dh Jp @@ -19487,20 +20527,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 @@ -19618,11 +20658,11 @@ Lj Dh hu Pe -xu -qC -qC -qC -hu +ph +RI +WY +Op +lr Qd ux yO @@ -19630,18 +20670,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 @@ -19754,15 +20794,15 @@ ac mN ce Qd +qC +WQ Qd -jM -un Dh Yp CE Qa GX -Yt +Yb Mv yI Qd @@ -19772,20 +20812,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 @@ -19893,18 +20933,18 @@ aw aw aw Rr -QN +Vi Vi bG -Qd -tP +qC +WQ un Dh mu MH Zi Zj -Zj +dz Ay kO Qd @@ -19915,19 +20955,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 @@ -20038,8 +21078,8 @@ Rr mL ig oK -Qd -IA +qC +WQ un Dh FF @@ -20056,14 +21096,14 @@ Qd Ek ZH iX -Nl +UP Nl Nl Nl Nl Nl fJ -vM +mm Dq ZL TX @@ -20177,23 +21217,23 @@ aw Rr Rr qU -MM -qC +qU +qU io -vR -jM -un +qC +WQ +Eb Dh Gt TF HV -Sa -aF -bR -Br Qd -Zu -DI +Qd +bR +Gt +Qd +Mu +po Qd PR ZH @@ -20317,30 +21357,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 @@ -20459,23 +21499,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 @@ -20483,11 +21523,11 @@ VJ ZV iX DG -Nl +Mf Nl Wi Nl -Nl +Mf FT NJ lI @@ -20599,24 +21639,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 @@ -20740,26 +21780,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 @@ -20772,7 +21812,7 @@ Nl Nl Nl Nl -yK +eA NJ lI Ld @@ -20881,8 +21921,8 @@ aw Qg de wC -Gf -Xr +xP +xP mt Qd NH @@ -20890,26 +21930,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 @@ -20928,7 +21968,7 @@ ID ID iX PJ -tR +eW KK KK aw @@ -21022,9 +22062,9 @@ aw aw de wC -ZR -Gf -Xr +Ny +xP +xP ch Qd Qd @@ -21033,18 +22073,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 @@ -21070,8 +22110,8 @@ iX iX iX Nm -eW -eW +bF +CN KK KK Qg @@ -21163,10 +22203,10 @@ aw aw de wC -ju -ZR -Gf -Xr +xP +xP +xP +xP mt Ce cB @@ -21175,14 +22215,14 @@ cB cB GF gD -qC +xg Ly -oc -qC +Qd +FK mc +Gn +xu qC -qC -oc kt QO JT @@ -21213,7 +22253,7 @@ VI ie JS eW -eW +fP wz KK KK @@ -21304,11 +22344,11 @@ aw aw de de -mi -ju -ZR -Gf -Xr +xP +xP +xP +xP +xP lX Ce bK @@ -21316,11 +22356,11 @@ CO Cl PN GF -qC -qC -qC -qC -qC +qf +xs +Gf +Qd +QH mc qC qC @@ -21444,13 +22484,13 @@ iW la la la -BA -KD -sm -Ar -lk -vm -qf +de +ld +vt +vt +vt +uh +ge Pl As bw @@ -21458,14 +22498,14 @@ AL WF XQ bC -qC -qC -zJ -zJ -qC +Ly +xK +Ly +Qd +Sa Ih -xU -xU +qC +rf xU xU Wf @@ -21583,31 +22623,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 @@ -21625,7 +22665,7 @@ Ym Ym Ym Ym -Ym +wl Ym Ym Ym @@ -21640,9 +22680,9 @@ ie QX eW eW -eW -eW -eW +eJ +eJ +eJ eW Bq Eh @@ -21725,14 +22765,14 @@ aw aw aw kk -Wk +ry Te xP xP xP -xP -xP -xP +OL +HK +XV xP xP oJ @@ -21741,18 +22781,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 @@ -21782,9 +22822,9 @@ ie QX eW eW -VG -VG -VG +HK +HK +HK eW BP it @@ -21869,13 +22909,13 @@ cO de qj cX -Ng -OL -OL -OL -OL -OL +xP +xP +xP OL +HK +XV +xP hp yu Ce @@ -21883,19 +22923,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 @@ -21924,9 +22964,9 @@ HN QX eW eW -eW +fP pY -eW +fP eW wQ eW @@ -22011,33 +23051,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 @@ -22066,9 +23106,9 @@ pA QX eW eW -eW -eW -eW +VG +VG +VG eW Cj tE @@ -22154,13 +23194,13 @@ gv oe gk bj -VG -VG -VG -VG -VG -VG -VG +uV +wb +xP +Ng +ci +xP +lS bq Ce fH @@ -22169,17 +23209,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 @@ -22205,13 +23245,13 @@ SL Ya Ya pq -uh -pH -er -er -er -er -er +QX +eW +eW +VG +VG +VG +MZ NE er er @@ -22292,35 +23332,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 @@ -22346,16 +23386,16 @@ KI Zs Ya KI -HN -eW -QX -eW -eW +xH +iQ +sy +er +FA gP -eW -eW +FA +Vr OG -eW +tR KK DC Jd @@ -22434,35 +23474,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 @@ -22492,9 +23532,9 @@ ie eW QX eW -VG -VG -VG +HK +HK +HK eW OG pm @@ -22576,35 +23616,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 @@ -22619,7 +23659,7 @@ xl Ym Ym Ym -Ym +wl Ym Ym Ym @@ -22634,12 +23674,12 @@ ie eW QX eW -eW -eW -eW +fP +fP +fP eW OG -eW +EP HQ Qg aw @@ -22736,15 +23776,15 @@ pZ PA fD tL -qC -AC -qC -qC -Bk +Jq +Jq +HO +Ju +Yt KS iV -rx -xu +kS +AC qC qC EV @@ -22758,8 +23798,8 @@ eE Ym BF JX -Ff -Ff +Ui +sK sK Fs AN @@ -22864,13 +23904,13 @@ aw aw aw aw -de -de +dY +dY re -eO +bL IN -uV -eM +Ak +pZ uq rw bL @@ -22879,19 +23919,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 @@ -22900,10 +23940,10 @@ ky Ym xl Ym -Ym -Ym xe Ym +Ym +Ym xl Ym Ym @@ -23007,13 +24047,13 @@ aw aw aw aw -de -de +dY +dY MO -XV +bL YB -ff -ff +Ak +QE rw Du yv @@ -23021,19 +24061,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 @@ -23047,7 +24087,7 @@ IF JQ kC ql -pf +Vo qP ug CT @@ -23150,22 +24190,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 @@ -23184,24 +24224,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 @@ -23293,10 +24333,10 @@ aw aw aw Qg -de -de +dY +dY Ri -xP +QE ff jF aj @@ -23304,14 +24344,14 @@ bM da op Lf -Lf -Lf -Lf +Np +Jq +Ip jF UA Gi tV -Mn +Jq nY QA Mp @@ -23328,21 +24368,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 @@ -23436,10 +24476,10 @@ aw aw Qg aw -de -de -xP -ff +dY +dY +DD +QE jF au bS @@ -23454,7 +24494,7 @@ Mn kV Jq Jq -Ae +Jq oY fn gx @@ -23465,24 +24505,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 @@ -23579,9 +24619,9 @@ aw Qg aw aw -de -de -ff +dY +dY +QE jF az Ah @@ -23594,13 +24634,13 @@ Ul Dg Ul ML -Ul -Ul +sb +sb sb Cw qQ -ZA -ZA +FZ +SJ SJ jF ak @@ -23610,21 +24650,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 @@ -23722,7 +24762,7 @@ Qg aw aw aw -de +dY NN jF bE @@ -23738,12 +24778,12 @@ zI VX Zc ti -UH -QH -Gb -Eb +Jq +Jq +Xg +jF zn -Qh +jF jF qq Zb @@ -23753,19 +24793,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 @@ -23878,35 +24918,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 @@ -24020,34 +25060,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 @@ -24162,32 +25202,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 @@ -24299,38 +25339,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 @@ -24441,31 +25481,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 @@ -24582,15 +25622,15 @@ zp zp XP fY -fY -fY -fY -fY +vW +Cu +LD +fc Ln mj -mj +tj jZ -gW +xc XF Mb sD @@ -24599,22 +25639,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 @@ -24722,39 +25762,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 @@ -24866,36 +25906,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 @@ -25009,19 +26049,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 @@ -25031,7 +26071,7 @@ Jc GT II uD -gi +uK SV gi id @@ -25152,18 +26192,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 @@ -25175,7 +26215,7 @@ Nn Nn Nn Nn -Nn +Et Qq Qq aw @@ -25295,28 +26335,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 @@ -25438,25 +26478,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 @@ -25581,19 +26621,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 @@ -25724,14 +26764,14 @@ aw aw aw aw -Cd -Cd -NL -LY -AD -le +IO +IO +ot +fX +SC +KM lb -ry +ot Va XA ty @@ -25867,20 +26907,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 @@ -26010,12 +27050,12 @@ aw aw aw aw -ry -Cd -sW -MK -lD -ry +ot +IO +tn +Uo +JR +ot AI oM mX @@ -26153,11 +27193,11 @@ aw aw aw aw -Cd -Cd -ys -lq -ry +IO +IO +Uo +Uo +ot lZ Ma ek @@ -26296,14 +27336,14 @@ aw aw aw aw -Cd -Cd -sW -tY +IO +IO +zz +ot iy Nh tY -zr +Nn Qq Qq aw @@ -26439,9 +27479,9 @@ aw aw aw aw -Cd -KN -tY +IO +ze +ot Bo Bo rT @@ -26583,7 +27623,7 @@ aw aw aw Db -tY +ot eb ec ka @@ -26725,7 +27765,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 8bbc1765b7..f63be85625 100644 --- a/maps/expedition_vr/beach/_beach.dm +++ b/maps/expedition_vr/beach/_beach.dm @@ -85,7 +85,7 @@ //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/vore/fennec = 300, - /mob/living/simple_mob/animal/passive/snake = 100, + /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 ) diff --git a/maps/expedition_vr/beach/submaps/mountains.dm b/maps/expedition_vr/beach/submaps/mountains.dm index 6766d3465e..9150c690c2 100644 --- a/maps/expedition_vr/beach/submaps/mountains.dm +++ b/maps/expedition_vr/beach/submaps/mountains.dm @@ -68,82 +68,82 @@ /datum/map_template/surface/mountains/normal/deadBeacon name = "Abandoned Relay" desc = "An unregistered comms relay, abandoned to the elements." - mappath = 'maps/submaps/surface_submaps/mountains/deadBeacon.dmm' + 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/submaps/surface_submaps/mountains/prepper1.dmm' + 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/submaps/surface_submaps/mountains/quarantineshuttle.dmm' + 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/submaps/surface_submaps/mountains/Mineshaft1.dmm' + 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/submaps/surface_submaps/mountains/crystal1.dmm' + 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/submaps/surface_submaps/mountains/crystal2.dmm' + 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/submaps/surface_submaps/mountains/crystal3.dmm' + 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/submaps/surface_submaps/mountains/lost_explorer.dmm' + 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/submaps/surface_submaps/mountains/Rockb1.dmm' + 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/submaps/surface_submaps/mountains/ritual.dmm' + 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/submaps/surface_submaps/mountains/temple.dmm' + 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/submaps/surface_submaps/mountains/digsite.dmm' + 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/submaps/surface_submaps/mountains/vault1.dmm' + mappath = 'maps/expedition_vr/beach/submaps/vault1.dmm' cost = 5 allow_duplicates = TRUE template_group = "Buried Vaults" @@ -151,7 +151,7 @@ /datum/map_template/surface/mountains/normal/vault2 name = "Mine Vault 2" desc = "A small vault with potential loot." - mappath = 'maps/submaps/surface_submaps/mountains/vault2.dmm' + mappath = 'maps/expedition_vr/beach/submaps/vault2.dmm' cost = 5 allow_duplicates = TRUE template_group = "Buried Vaults" @@ -159,56 +159,56 @@ /datum/map_template/surface/mountains/normal/vault3 name = "Mine Vault 3" desc = "A small vault with potential loot. Also a horrible suprise." - mappath = 'maps/submaps/surface_submaps/mountains/vault3.dmm' + 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/submaps/surface_submaps/mountains/IceCave1A.dmm' + 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/submaps/surface_submaps/mountains/IceCave1B.dmm' + 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/submaps/surface_submaps/mountains/IceCave1C.dmm' + 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/submaps/surface_submaps/mountains/SwordCave.dmm' + 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/submaps/surface_submaps/mountains/SupplyDrop1.dmm' + 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/submaps/surface_submaps/mountains/crashedcontainmentshuttle.dmm' + 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/submaps/surface_submaps/mountains/deadspy.dmm' + 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/submaps/surface_submaps/mountains/Geyser1.dmm' + mappath = 'maps/expedition_vr/beach/submaps/Geyser1.dmm' cost = 5 allow_duplicates = TRUE template_group = "Underground Geysers" @@ -216,7 +216,7 @@ /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/submaps/surface_submaps/mountains/Geyser2.dmm' + mappath = 'maps/expedition_vr/beach/submaps/Geyser2.dmm' cost = 5 allow_duplicates = TRUE template_group = "Underground Geysers" @@ -224,7 +224,7 @@ /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/submaps/surface_submaps/mountains/Geyser2.dmm' + mappath = 'maps/expedition_vr/beach/submaps/Geyser2.dmm' cost = 10 allow_duplicates = TRUE template_group = "Underground Geysers" @@ -232,7 +232,7 @@ /datum/map_template/surface/mountains/normal/cliff1 name = "Ore-Topped Cliff" desc = "A raised area of rock created by volcanic forces." - mappath = 'maps/submaps/surface_submaps/mountains/Cliff1.dmm' + mappath = 'maps/expedition_vr/beach/submaps/Cliff1.dmm' cost = 5 allow_duplicates = TRUE template_group = "Underground Cliffs" @@ -240,7 +240,7 @@ /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/submaps/surface_submaps/mountains/deadly_rabbit_vr.dmm' + mappath = 'maps/expedition_vr/beach/submaps/deadly_rabbit_vr.dmm' cost = 5 allow_duplicates = FALSE @@ -252,46 +252,46 @@ /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/submaps/surface_submaps/mountains/lost_explorer.dmm' + 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/submaps/surface_submaps/mountains/crashed_ufo.dmm' + 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/submaps/surface_submaps/mountains/crashed_ufo_frigate.dmm' + 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/submaps/surface_submaps/mountains/Scave1.dmm' + 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/submaps/surface_submaps/mountains/CaveTrench.dmm' + 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/submaps/surface_submaps/mountains/Cavelake.dmm' + 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/submaps/surface_submaps/mountains/vault1.dmm' + mappath = 'maps/expedition_vr/beach/submaps/vault1.dmm' cost = 5 allow_duplicates = TRUE template_group = "Buried Vaults" @@ -299,7 +299,7 @@ /datum/map_template/surface/mountains/normal/vault2 //VOREStation Edit name = "Mine Vault 2" desc = "A small vault with potential loot." - mappath = 'maps/submaps/surface_submaps/mountains/vault2.dmm' + mappath = 'maps/expedition_vr/beach/submaps/vault2.dmm' cost = 5 allow_duplicates = TRUE template_group = "Buried Vaults" @@ -307,68 +307,68 @@ /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/submaps/surface_submaps/mountains/vault3.dmm' + 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/submaps/surface_submaps/mountains/vault4.dmm' + 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/submaps/surface_submaps/mountains/vault5.dmm' + 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/submaps/surface_submaps/mountains/vault6.dmm' + 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/submaps/surface_submaps/mountains/BlastMine1.dmm' + 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/submaps/surface_submaps/mountains/lava_trench.dmm' + 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/submaps/surface_submaps/mountains/CrashedMedShuttle1.dmm' + 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/submaps/surface_submaps/mountains/excavation1.dmm' + 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/submaps/surface_submaps/mountains/spatial_anomaly.dmm' + 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/submaps/surface_submaps/mountains/speakeasy_vr.dmm' + mappath = 'maps/expedition_vr/beach/submaps/speakeasy_vr.dmm' cost = 10 allow_duplicates = FALSE diff --git a/maps/gateway_vr/listeningpost.dmm b/maps/gateway_vr/listeningpost.dmm index a14786ace9..6c2d6b2fb9 100644 --- a/maps/gateway_vr/listeningpost.dmm +++ b/maps/gateway_vr/listeningpost.dmm @@ -211,7 +211,7 @@ /turf/simulated/mineral/floor, /area/mine/unexplored) "aL" = ( -/turf/simulated/floor/greengrid, +/turf/simulated/floor/greengrid/airless, /area/mine/explored) "aM" = ( /turf/simulated/mineral/floor, @@ -220,51 +220,51 @@ /obj/machinery/gateway{ dir = 9 }, -/turf/simulated/floor/greengrid, +/turf/simulated/floor/greengrid/airless, /area/mine/explored) "aO" = ( /obj/machinery/gateway{ dir = 1 }, -/turf/simulated/floor/greengrid, +/turf/simulated/floor/greengrid/airless, /area/mine/explored) "aP" = ( /obj/machinery/gateway{ dir = 5 }, -/turf/simulated/floor/greengrid, +/turf/simulated/floor/greengrid/airless, /area/mine/explored) "aQ" = ( /obj/machinery/gateway{ dir = 8 }, -/turf/simulated/floor/greengrid, +/turf/simulated/floor/greengrid/airless, /area/mine/explored) "aR" = ( /obj/machinery/gateway/centeraway, -/turf/simulated/floor/greengrid, +/turf/simulated/floor/greengrid/airless, /area/mine/explored) "aS" = ( /obj/machinery/gateway{ dir = 4 }, -/turf/simulated/floor/greengrid, +/turf/simulated/floor/greengrid/airless, /area/mine/explored) "aT" = ( /obj/machinery/gateway{ dir = 10 }, -/turf/simulated/floor/greengrid, +/turf/simulated/floor/greengrid/airless, /area/mine/explored) "aU" = ( /obj/machinery/gateway, -/turf/simulated/floor/greengrid, +/turf/simulated/floor/greengrid/airless, /area/mine/explored) "aV" = ( /obj/machinery/gateway{ dir = 6 }, -/turf/simulated/floor/greengrid, +/turf/simulated/floor/greengrid/airless, /area/mine/explored) "aW" = ( /obj/effect/overmap/visitable/sector/common_gateway/listeningpost, diff --git a/maps/gateway_vr/variable/arynthilake_a.dmm b/maps/gateway_vr/variable/arynthilake_a.dmm index 4ff8269251..42f3f1b517 100644 --- a/maps/gateway_vr/variable/arynthilake_a.dmm +++ b/maps/gateway_vr/variable/arynthilake_a.dmm @@ -3,7 +3,7 @@ /turf/unsimulated/mineral, /area/gateway/arynthilake) "ac" = ( -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake) "ae" = ( /obj/effect/floor_decal/techfloor{ @@ -18,7 +18,7 @@ /turf/simulated/floor/tiled/techfloor, /area/gateway/arynthilake/gateway) "af" = ( -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake) "ag" = ( /turf/simulated/wall/r_wall, @@ -147,7 +147,7 @@ /area/gateway/arynthilake/oldcabin) "aV" = ( /obj/item/weapon/lampshade, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "aX" = ( /turf/simulated/floor/carpet/bcarpet, @@ -227,13 +227,13 @@ /area/gateway/arynthilake) "bn" = ( /obj/structure/table/steel, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ outdoors = 1 }, /area/gateway/arynthilake) "bo" = ( /obj/structure/table, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ outdoors = 1 }, /area/gateway/arynthilake) @@ -345,7 +345,7 @@ /obj/item/stack/material/steel{ amount = 50 }, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ outdoors = 1 }, /area/gateway/arynthilake) @@ -540,7 +540,7 @@ /area/gateway/arynthilake/dome) "eV" = ( /obj/effect/landmark/mcguffin_spawner, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "eW" = ( /obj/item/device/analyzer/plant_analyzer, @@ -727,7 +727,7 @@ }, /area/gateway/arynthilake/dome) "jI" = ( -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "jK" = ( /obj/structure/table/rack/shelf/steel, @@ -919,7 +919,7 @@ /area/gateway/arynthilake) "nc" = ( /obj/random/awayloot, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "np" = ( /obj/random/mob/semirandom_mob_spawner/animal/e, @@ -927,7 +927,7 @@ /area/gateway/arynthilake) "nr" = ( /obj/effect/fake_sun, -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "nx" = ( /obj/machinery/door/airlock/engineering, @@ -1176,7 +1176,7 @@ /area/gateway/arynthilake/engine) "sl" = ( /obj/effect/overmap/visitable/sector/common_gateway/arynthilake, -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "sA" = ( /obj/structure/table/rack/steel, @@ -1754,7 +1754,7 @@ /area/gateway/arynthilake/engine) "Iq" = ( /obj/random/mob/semirandom_mob_spawner/humanoid/retaliate, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ outdoors = 1 }, /area/gateway/arynthilake) @@ -1813,7 +1813,7 @@ /turf/simulated/floor/tiled/eris/techmaint_cargo, /area/gateway/arynthilake/dome) "JK" = ( -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ outdoors = 1 }, /area/gateway/arynthilake) @@ -1936,7 +1936,7 @@ /turf/simulated/floor/carpet/purcarpet, /area/gateway/arynthilake/dome) "MD" = ( -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ outdoors = 1 }, /area/gateway/arynthilake/caves) @@ -2070,7 +2070,7 @@ /area/gateway/arynthilake/dome) "Or" = ( /obj/effect/landmark/hidden_level, -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "OC" = ( /turf/simulated/floor/carpet/blucarpet{ @@ -2150,7 +2150,7 @@ /turf/simulated/floor/tiled/steel_ridged, /area/gateway/arynthilake/engine) "Qr" = ( -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "Qx" = ( /obj/random/mob/semirandom_mob_spawner/robot/retaliate, @@ -2308,7 +2308,7 @@ /turf/simulated/floor/wood, /area/gateway/arynthilake/dome) "UZ" = ( -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/caveruins) "Vf" = ( /obj/structure/closet, @@ -2355,7 +2355,7 @@ /area/gateway/arynthilake/caveruins) "We" = ( /obj/random/mob/semirandom_mob_spawner/monster/e, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "Wj" = ( /obj/machinery/light{ diff --git a/maps/gateway_vr/variable/arynthilake_b.dmm b/maps/gateway_vr/variable/arynthilake_b.dmm index f3be0775bf..612294d96b 100644 --- a/maps/gateway_vr/variable/arynthilake_b.dmm +++ b/maps/gateway_vr/variable/arynthilake_b.dmm @@ -3,7 +3,7 @@ /obj/item/stack/material/steel{ amount = 50 }, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ outdoors = 1 }, /area/gateway/arynthilake) @@ -41,7 +41,7 @@ /area/gateway/arynthilake/dome) "bs" = ( /obj/effect/landmark/mcguffin_spawner, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "bw" = ( /obj/structure/table/sifwooden_reinforced, @@ -72,7 +72,7 @@ /turf/simulated/floor/carpet/purcarpet, /area/gateway/arynthilake/dome) "cg" = ( -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake) "ch" = ( /turf/simulated/floor/plating{ @@ -230,7 +230,7 @@ /turf/simulated/floor/tiled/eris, /area/gateway/arynthilake/engine) "ek" = ( -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "eq" = ( /obj/structure/lattice, @@ -247,7 +247,7 @@ /area/gateway/arynthilake/dome) "eN" = ( /obj/effect/fake_sun, -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "eP" = ( /obj/structure/table/standard{ @@ -309,7 +309,7 @@ /area/gateway/arynthilake/dome) "fC" = ( /obj/effect/overmap/visitable/sector/common_gateway/arynthilake, -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "fX" = ( /obj/structure/table/standard{ @@ -467,7 +467,7 @@ /turf/simulated/floor/tiled/techfloor, /area/gateway/arynthilake/gateway) "iX" = ( -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake) "jh" = ( /obj/structure/cable/green{ @@ -731,7 +731,7 @@ /area/gateway/arynthilake/dome) "nK" = ( /obj/structure/table/steel, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ outdoors = 1 }, /area/gateway/arynthilake) @@ -838,7 +838,7 @@ /area/gateway/arynthilake/dome) "pS" = ( /obj/random/awayloot, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "pT" = ( /obj/structure/bed/double/padded, @@ -886,7 +886,7 @@ /turf/simulated/floor/beach/sand/desert, /area/gateway/arynthilake/caves) "rt" = ( -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ outdoors = 1 }, /area/gateway/arynthilake) @@ -929,7 +929,7 @@ /area/gateway/arynthilake/dome) "si" = ( /obj/structure/table, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ outdoors = 1 }, /area/gateway/arynthilake) @@ -1187,7 +1187,7 @@ /turf/simulated/floor/water, /area/gateway/arynthilake/caves) "zs" = ( -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/caveruins) "zt" = ( /obj/structure/table/rack, @@ -1337,7 +1337,7 @@ /area/gateway/arynthilake) "Ev" = ( /obj/random/mob/semirandom_mob_spawner/monster, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ outdoors = 1 }, /area/gateway/arynthilake) @@ -1472,7 +1472,7 @@ /turf/simulated/floor/plating/external, /area/gateway/arynthilake/caveruins) "Hw" = ( -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "HK" = ( /obj/machinery/light, @@ -1564,7 +1564,7 @@ /area/gateway/arynthilake/dome) "JB" = ( /obj/item/weapon/lampshade, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "JK" = ( /obj/structure/table/marble, @@ -1666,7 +1666,7 @@ /turf/simulated/floor/outdoors/grass/forest, /area/gateway/arynthilake) "KQ" = ( -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ outdoors = 1 }, /area/gateway/arynthilake/caves) @@ -1707,7 +1707,7 @@ /area/gateway/arynthilake/caveruins) "LR" = ( /obj/random/mob/semirandom_mob_spawner/monster/f, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "LY" = ( /obj/random/mob/semirandom_mob_spawner/animal/retaliate/c, @@ -1841,7 +1841,7 @@ /area/gateway/arynthilake/dome) "NX" = ( /obj/random/mob/semirandom_mob_spawner/monster/e, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "Ob" = ( /obj/structure/catwalk, @@ -2024,7 +2024,7 @@ /area/gateway/arynthilake/dome) "Ry" = ( /obj/effect/landmark/hidden_level, -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "RK" = ( /obj/structure/table/fancyblack, @@ -2153,7 +2153,7 @@ /area/gateway/arynthilake/dome) "Uq" = ( /obj/random/mob/semirandom_mob_spawner/monster/b, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/caves) "UA" = ( /turf/simulated/wall/sifwood, diff --git a/maps/gateway_vr/variable/arynthilakeunderground_a.dmm b/maps/gateway_vr/variable/arynthilakeunderground_a.dmm index 54d03f71a6..9c1e9f7982 100644 --- a/maps/gateway_vr/variable/arynthilakeunderground_a.dmm +++ b/maps/gateway_vr/variable/arynthilakeunderground_a.dmm @@ -44,7 +44,7 @@ /turf/simulated/floor/tiled/eris/steel/techfloor, /area/gateway/arynthilake/engine) "gh" = ( -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "hB" = ( /obj/structure/table/steel_reinforced, @@ -123,10 +123,10 @@ /area/gateway/arynthilake/engine) "nD" = ( /obj/effect/landmark/hidden_level, -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "nO" = ( -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "oM" = ( /turf/simulated/floor/plating/eris/under, @@ -157,7 +157,7 @@ /area/gateway/arynthilake/engine) "qU" = ( /obj/random/awayloot, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "qX" = ( /obj/machinery/porta_turret{ @@ -209,7 +209,7 @@ /area/gateway/arynthilake/engine) "xh" = ( /obj/machinery/crystal, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "zh" = ( /obj/structure/ladder/up, @@ -229,7 +229,7 @@ /area/gateway/arynthilake/engine) "Bj" = ( /obj/random/mob/semirandom_mob_spawner/monster/e, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "BJ" = ( /obj/effect/landmark/gateway_scatter, @@ -253,7 +253,7 @@ /area/gateway/arynthilake/engine) "Eb" = ( /obj/random/mob/semirandom_mob_spawner/monster/f, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "Ek" = ( /obj/machinery/light/small{ @@ -306,9 +306,7 @@ /turf/simulated/floor/tiled/eris/steel/techfloor, /area/gateway/arynthilake/engine) "LF" = ( -/turf/simulated/floor/plating/eris/under{ - temperature = 258.15 - }, +/turf/simulated/floor/plating/eris/under, /area/gateway/arynthilake/underground/maintenance) "LY" = ( /turf/simulated/floor/beach/sand/desert, @@ -381,7 +379,7 @@ /area/gateway/arynthilake/underground/maintenance) "YC" = ( /obj/random/mob/semirandom_mob_spawner/monster/d, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "ZY" = ( /obj/structure/table/rack/shelf/steel, diff --git a/maps/gateway_vr/variable/arynthilakeunderground_b.dmm b/maps/gateway_vr/variable/arynthilakeunderground_b.dmm index ca1b2d01c9..5acb316d64 100644 --- a/maps/gateway_vr/variable/arynthilakeunderground_b.dmm +++ b/maps/gateway_vr/variable/arynthilakeunderground_b.dmm @@ -18,7 +18,7 @@ /turf/simulated/floor/tiled/eris/steel/orangecorner, /area/gateway/arynthilake/engine) "bL" = ( -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "bX" = ( /turf/unsimulated/mineral, @@ -50,7 +50,7 @@ /area/gateway/arynthilake/engine) "eQ" = ( /obj/random/awayloot, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "fM" = ( /turf/simulated/floor/tiled/eris/steel/danger, @@ -105,7 +105,7 @@ /area/gateway/arynthilake/engine) "jX" = ( /obj/effect/landmark/hidden_level, -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "kb" = ( /turf/simulated/wall/r_wall, @@ -188,11 +188,11 @@ "vG" = ( /obj/random/awayloot, /obj/random/mob/semirandom_mob_spawner/monster/f, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "wg" = ( /obj/random/mob/semirandom_mob_spawner/monster/e, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "wi" = ( /turf/simulated/wall/r_wall, @@ -261,7 +261,7 @@ /turf/simulated/floor/tiled/eris/techmaint, /area/gateway/arynthilake/engine) "Ff" = ( -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "Fs" = ( /obj/structure/table/rack/shelf/steel, @@ -323,7 +323,7 @@ /area/gateway/arynthilake/underground/maintenance) "LR" = ( /obj/random/mob/semirandom_mob_spawner/monster/f, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "LY" = ( /obj/structure/table/steel_reinforced, @@ -362,7 +362,7 @@ /area/gateway/arynthilake/engine) "QA" = ( /obj/machinery/crystal, -/turf/simulated/mineral/floor/ignore_cavegen, +/turf/simulated/mineral/floor/ignore_cavegen/cave, /area/gateway/arynthilake/underground) "QT" = ( /obj/structure/table/steel_reinforced, @@ -408,7 +408,7 @@ /turf/simulated/floor/plating/eris/under, /area/gateway/arynthilake/underground/maintenance) "Xt" = ( -/turf/simulated/mineral/ignore_cavegen, +/turf/simulated/mineral/ignore_cavegen/cave, /area/gateway/arynthilake/underground/maintenance) "Xx" = ( /obj/structure/table/rack/shelf/steel, diff --git a/maps/gateway_vr/variable/honlethhighlands_a.dmm b/maps/gateway_vr/variable/honlethhighlands_a.dmm index a3ca7db396..db7570d4ef 100644 --- a/maps/gateway_vr/variable/honlethhighlands_a.dmm +++ b/maps/gateway_vr/variable/honlethhighlands_a.dmm @@ -6,12 +6,12 @@ }, /area/gateway/honlethhighlands) "ab" = ( -/turf/simulated/mineral/ignore_cavegen{ +/turf/simulated/mineral/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) "ac" = ( -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -125,7 +125,7 @@ }, /area/gateway/honlethhighlands/caves) "aE" = ( -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ name = "dirt"; outdoors = 1; temperature = 253.15 @@ -190,7 +190,7 @@ /area/gateway/honlethhighlands/town/command) "aS" = ( /obj/effect/landmark/gateway_scatter, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -216,7 +216,7 @@ }, /area/gateway/honlethhighlands) "aX" = ( -/turf/simulated/mineral/ignore_cavegen{ +/turf/simulated/mineral/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/beach) @@ -308,7 +308,7 @@ /area/gateway/honlethhighlands/beach) "bp" = ( /obj/random/mob/semirandom_mob_spawner/animal/retaliate/c, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -513,7 +513,7 @@ /area/gateway/honlethhighlands/gate) "fa" = ( /obj/random/mob/semirandom_mob_spawner/animal/retaliate/b, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -540,7 +540,7 @@ /obj/item/stack/material/wood, /obj/item/stack/material/wood, /obj/item/stack/material/wood, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -665,7 +665,7 @@ /area/gateway/honlethhighlands) "is" = ( /obj/item/weapon/flame/lighter/random, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -822,7 +822,7 @@ /area/gateway/honlethhighlands/beach) "mG" = ( /obj/structure/table/bench/wooden, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -945,7 +945,7 @@ "oe" = ( /obj/structure/bonfire, /obj/random/meat, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -1025,13 +1025,13 @@ /area/gateway/honlethhighlands/town/engineering) "pT" = ( /obj/effect/landmark/mcguffin_spawner, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) "pX" = ( /obj/random/maintenance, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -1643,7 +1643,7 @@ /area/gateway/honlethhighlands/town/xenobio) "zE" = ( /obj/random/junk, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -1721,7 +1721,7 @@ "AK" = ( /obj/random/mre, /obj/random/mre, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -1968,7 +1968,7 @@ /area/gateway/honlethhighlands/gate) "Et" = ( /obj/random/mob/semirandom_mob_spawner/animal/retaliate, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -2204,7 +2204,7 @@ /area/gateway/honlethhighlands/gate) "JM" = ( /obj/random/cigarettes, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -2262,7 +2262,7 @@ /area/gateway/honlethhighlands/beach) "Ld" = ( /obj/random/awayloot, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -2321,7 +2321,7 @@ "Ms" = ( /obj/structure/table/bench/wooden, /obj/random/mob/semirandom_mob_spawner/humanoid/retaliate, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -2556,7 +2556,7 @@ /area/gateway/honlethhighlands/town/command) "Ro" = ( /obj/random/mob/semirandom_mob_spawner/vore/passive/b, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -2910,13 +2910,13 @@ /area/gateway/honlethhighlands/town/bar) "Zw" = ( /obj/random/mob/semirandom_mob_spawner/vore/passive, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) "Zy" = ( /obj/random/drinkbottle, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) diff --git a/maps/gateway_vr/variable/honlethhighlands_b.dmm b/maps/gateway_vr/variable/honlethhighlands_b.dmm index 73e1727581..7de8389bc7 100644 --- a/maps/gateway_vr/variable/honlethhighlands_b.dmm +++ b/maps/gateway_vr/variable/honlethhighlands_b.dmm @@ -6,12 +6,12 @@ }, /area/gateway/honlethhighlands) "ab" = ( -/turf/simulated/mineral/ignore_cavegen{ +/turf/simulated/mineral/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) "ac" = ( -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -125,7 +125,7 @@ }, /area/gateway/honlethhighlands/caves) "aE" = ( -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ name = "dirt"; outdoors = 1; temperature = 253.15 @@ -190,7 +190,7 @@ /area/gateway/honlethhighlands/town/command) "aS" = ( /obj/effect/landmark/gateway_scatter, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -216,7 +216,7 @@ }, /area/gateway/honlethhighlands) "aX" = ( -/turf/simulated/mineral/ignore_cavegen{ +/turf/simulated/mineral/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/beach) @@ -520,7 +520,7 @@ /obj/item/stack/material/wood, /obj/item/stack/material/wood, /obj/item/stack/material/wood, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -656,13 +656,13 @@ /area/gateway/honlethhighlands) "is" = ( /obj/item/weapon/flame/lighter/random, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) "iw" = ( /obj/random/mob/semirandom_mob_spawner/monster, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -821,7 +821,7 @@ "mo" = ( /obj/structure/table/bench/wooden, /obj/random/mob/semirandom_mob_spawner/humanoid, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -836,7 +836,7 @@ /area/gateway/honlethhighlands) "mG" = ( /obj/structure/table/bench/wooden, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -944,7 +944,7 @@ "oe" = ( /obj/structure/bonfire, /obj/random/meat, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -1033,13 +1033,13 @@ /area/gateway/honlethhighlands/town/engineering) "pR" = ( /obj/random/mob/semirandom_mob_spawner/monster/c, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) "pT" = ( /obj/effect/landmark/mcguffin_spawner, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -1155,7 +1155,7 @@ /area/gateway/honlethhighlands/gate) "qO" = ( /obj/random/mob/semirandom_mob_spawner/monster/f, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -1509,7 +1509,7 @@ /area/gateway/honlethhighlands/gate) "wF" = ( /obj/random/mob/semirandom_mob_spawner/monster/b, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -1677,7 +1677,7 @@ /area/gateway/honlethhighlands/town/xenobio) "zE" = ( /obj/random/junk, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -1748,7 +1748,7 @@ "AK" = ( /obj/random/mre, /obj/random/mre, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -2197,7 +2197,7 @@ /area/gateway/honlethhighlands/gate) "JM" = ( /obj/random/cigarettes, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -2493,7 +2493,7 @@ /area/gateway/honlethhighlands/gate) "Qm" = ( /obj/random/mob/semirandom_mob_spawner/monster/e, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -2578,7 +2578,7 @@ /area/gateway/honlethhighlands/town/command) "Ro" = ( /obj/random/mob/semirandom_mob_spawner/monster/d, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -2634,7 +2634,7 @@ /area/gateway/honlethhighlands/town/supply) "Td" = ( /obj/random/awayloot, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -2887,7 +2887,7 @@ /area/gateway/honlethhighlands/town/command) "WQ" = ( /obj/random/mob/semirandom_mob_spawner/humanoid, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) @@ -2959,7 +2959,7 @@ /area/gateway/honlethhighlands/town/bar) "Zy" = ( /obj/random/drinkbottle, -/turf/simulated/mineral/floor/ignore_cavegen{ +/turf/simulated/mineral/floor/ignore_cavegen/cave{ temperature = 253.15 }, /area/gateway/honlethhighlands/caves) diff --git a/maps/gateway_vr/wildwest.dmm b/maps/gateway_vr/wildwest.dmm index 16e6a42d3f..4aa6d1cace 100644 --- a/maps/gateway_vr/wildwest.dmm +++ b/maps/gateway_vr/wildwest.dmm @@ -98,11 +98,6 @@ }, /turf/space, /area/space) -"ar" = ( -/obj/structure/lattice, -/obj/structure/lattice, -/turf/space, -/area/space) "as" = ( /obj/effect/gateway, /turf/simulated/floor/cult, @@ -2420,7 +2415,7 @@ af af af af -ar +af af af af @@ -7260,7 +7255,7 @@ fH gF cx aD -ar +af af ia ia @@ -7543,7 +7538,7 @@ af af af af -ar +af ad fM nd @@ -7671,7 +7666,7 @@ ia ia ia af -ar +af af af af 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/stellardelight/stellar_delight_defines.dm b/maps/stellardelight/stellar_delight_defines.dm index d3fef20cb1..4803c47bdf 100644 --- a/maps/stellardelight/stellar_delight_defines.dm +++ b/maps/stellardelight/stellar_delight_defines.dm @@ -14,6 +14,7 @@ #define Z_LEVEL_OVERMAP 13 #define Z_LEVEL_OFFMAP1 14 #define Z_LEVEL_GATEWAY 15 +#define Z_LEVEL_OM_ADVENTURE 16 //Camera networks #define NETWORK_HALLS "Halls" @@ -137,7 +138,7 @@ list("Offmap Ship - Talon V2") ) - lateload_single_pick = list( + lateload_overmap = list( list("Carp Farm"), list("Snow Field"), list("Listening Post"), @@ -148,6 +149,10 @@ list("Wild West") ) + lateload_overmap = list( + list("Grass Cave") + ) + ai_shell_restricted = TRUE ai_shell_allowed_levels = list( Z_LEVEL_SHIP_LOW, @@ -167,7 +172,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/submaps/pois_vr/debris_field/debris14.dmm b/maps/submaps/pois_vr/debris_field/debris14.dmm index 91a5ef114a..6a346d6692 100644 --- a/maps/submaps/pois_vr/debris_field/debris14.dmm +++ b/maps/submaps/pois_vr/debris_field/debris14.dmm @@ -32,7 +32,6 @@ /area/tether_away/debrisfield/shuttle_buffer) "h" = ( /obj/structure/lattice, -/obj/structure/lattice, /turf/space, /area/tether_away/debrisfield/shuttle_buffer) "i" = ( diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm index b439b014b2..0d8755eaf9 100644 --- a/maps/tether/tether-02-surface2.dmm +++ b/maps/tether/tether-02-surface2.dmm @@ -387,6 +387,15 @@ /obj/structure/window/reinforced, /turf/simulated/floor/wood, /area/tether/surfacebase/medical/centralhall) +"aaH" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/open, +/area/rnd/staircase/secondfloor) "aaI" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -10368,6 +10377,12 @@ /obj/machinery/door/airlock/maintenance/common, /turf/simulated/floor/plating, /area/maintenance/asmaint2) +"aqt" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/rnd/staircase/secondfloor) "aqu" = ( /obj/structure/table/standard{ name = "plastic table frame" @@ -23637,21 +23652,9 @@ }, /turf/simulated/open, /area/rnd/staircase/secondfloor) -"aPG" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/simulated/open, -/area/rnd/staircase/secondfloor) "aPH" = ( /turf/simulated/open, /area/rnd/staircase/secondfloor) -"aPI" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/open, -/area/rnd/staircase/secondfloor) "aPJ" = ( /turf/simulated/wall, /area/rnd/breakroom) @@ -42532,7 +42535,7 @@ aMW aNv aOj aOZ -aPG +aaH aPH aPH aRM @@ -42674,7 +42677,7 @@ aMX aNv aOk aOY -aPH +aOY aPH aPH aRM @@ -42816,7 +42819,7 @@ aIP aIP aOl aPa -aPI +aqt aPH aPH aRM diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm index 9308c82448..4434bb45f7 100644 --- a/maps/tether/tether-03-surface3.dmm +++ b/maps/tether/tether-03-surface3.dmm @@ -14318,6 +14318,12 @@ /obj/effect/floor_decal/corner/mauve/bordercorner2, /turf/simulated/floor/tiled, /area/rnd/xenobiology/xenoflora) +"axt" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/rnd/staircase/thirdfloor) "axu" = ( /obj/structure/sink{ dir = 8; @@ -14325,6 +14331,13 @@ }, /turf/simulated/floor/wood, /area/tether/surfacebase/bar_backroom) +"axv" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/open, +/area/rnd/staircase/thirdfloor) "axw" = ( /obj/structure/cable/green{ d1 = 1; @@ -14439,12 +14452,6 @@ }, /turf/simulated/floor/tiled, /area/rnd/research) -"axF" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/open, -/area/rnd/staircase/thirdfloor) "axG" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light{ @@ -51461,7 +51468,7 @@ atV ahh auu auu -axF +axt ayr aBe afK @@ -51603,7 +51610,7 @@ atW ahh auu auu -auu +ayB ayB aBg afK @@ -51745,7 +51752,7 @@ akt ahh auu auu -axO +axv ayB aBh aBj diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm index a7010f6abb..87813d3acf 100644 --- a/maps/tether/tether_defines.dm +++ b/maps/tether/tether_defines.dm @@ -162,7 +162,7 @@ list("Fuel Depot - Z1 Space") ) - lateload_single_pick = list( + lateload_gateway = list( list("Carp Farm"), list("Snow Field"), list("Listening Post"), @@ -194,7 +194,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 f0439982a4..8c301e6d47 100644 --- a/maps/~map_system/maps.dm +++ b/maps/~map_system/maps.dm @@ -53,7 +53,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/tgui/packages/tgui/interfaces/VorePanel.js b/tgui/packages/tgui/interfaces/VorePanel.js index 50ee6263a3..4138384f3b 100644 --- a/tgui/packages/tgui/interfaces/VorePanel.js +++ b/tgui/packages/tgui/interfaces/VorePanel.js @@ -703,6 +703,7 @@ const VoreUserPreferences = (props, context) => { show_vore_fx, can_be_drop_prey, can_be_drop_pred, + allow_inbelly_spawning, allow_spontaneous_tf, step_mechanics_active, pickup_mechanics_active, @@ -821,6 +822,20 @@ const VoreUserPreferences = (props, context) => { disabled: "Spontaneous Pred Disabled", }, }, + inbelly_spawning: { + action: "toggle_allow_inbelly_spawning", + test: allow_inbelly_spawning, + tooltip: { + main: "This toggle is ghosts being able to spawn in one of your bellies." + + " You will have to confirm again when they attempt to.", + enable: "Click here to allow prey to spawn in you.", + disable: "Click here to prevent prey from spawning in you.", + }, + content: { + enabled: "Inbelly Spawning Allowed", + disabled: "Inbelly Spawning Forbidden", + }, + }, noisy: { action: "toggle_noisy", test: noisy, @@ -955,34 +970,37 @@ const VoreUserPreferences = (props, context) => { - + - + + + + - + - + - +