diff --git a/code/_helpers/unsorted_vr.dm b/code/_helpers/unsorted_vr.dm new file mode 100644 index 0000000000..e9b5f86f0b --- /dev/null +++ b/code/_helpers/unsorted_vr.dm @@ -0,0 +1,10 @@ +/* + get_holder_at_turf_level(): Similar to get_turf(), will return the "highest up" holder of this atom, excluding the turf. + Example: A fork inside a box inside a locker will return the locker. Essentially, get_just_before_turf(). +*/ //Credit to /vg/ +/proc/get_holder_at_turf_level(const/atom/movable/O) + if(!istype(O)) //atom/movable does not include areas + return + var/atom/A + for(A=O, A && !isturf(A.loc), A=A.loc); // semicolon is for the empty statement + return A \ No newline at end of file diff --git a/code/game/objects/items/contraband_vr.dm b/code/game/objects/items/contraband_vr.dm index da8f6cfeea..99b19bacc4 100644 --- a/code/game/objects/items/contraband_vr.dm +++ b/code/game/objects/items/contraband_vr.dm @@ -42,6 +42,12 @@ /obj/item/mecha_parts/part/phazon_right_arm, /obj/item/mecha_parts/part/phazon_right_leg, /obj/item/mecha_parts/part/phazon_torso, + /obj/item/device/bodysnatcher, + /obj/item/weapon/bluespace_harpoon, + /obj/item/weapon/permit, + /obj/item/device/perfect_tele, + /obj/item/device/sleevemate, + /obj/item/weapon/disk/nifsoft/compliance, /obj/item/seeds/ambrosiadeusseed, /obj/item/seeds/ambrosiavulgarisseed, /obj/item/seeds/libertymycelium, @@ -92,4 +98,4 @@ slot_flags = SLOT_BELT storage_slots = 7 can_hold = list(/obj/item/clothing/mask/smokable/cigarette/cigar/havana) - icon_type = "cigar" \ No newline at end of file + icon_type = "cigar" diff --git a/code/game/objects/mob_spawner_vr.dm b/code/game/objects/mob_spawner_vr.dm new file mode 100644 index 0000000000..5aa847c1c1 --- /dev/null +++ b/code/game/objects/mob_spawner_vr.dm @@ -0,0 +1,106 @@ +/obj/structure/mob_spawner + name = "mob spawner" + desc = "This shouldn't be seen, yell at a dev." + icon = 'icons/effects/effects.dmi' + icon_state = "rift" + anchored = 1 + + var/last_spawn = 0 + var/spawn_delay = 10 MINUTES + + var/list/spawn_types = list( + /mob/living/simple_animal/corgi = 100, + /mob/living/simple_animal/cat = 25 + ) + + var/total_spawns = -1 //Total mob spawns, over all time, -1 for no limit + var/simultaneous_spawns = 3 //Max spawned mobs active at one time + var/mob_faction + + var/destructible = 0 + var/health = 50 + + var/list/spawned_mobs = list() + +/obj/structure/mob_spawner/initialize() + ..() + processing_objects.Add(src) + last_spawn = world.time + rand(0,spawn_delay) + +/obj/structure/mob_spawner/Destroy() + processing_objects.Remove(src) + for(var/mob/living/L in spawned_mobs) + L.source_spawner = null + spawned_mobs.Cut() + return ..() + +/obj/structure/mob_spawner/process() + if(!can_spawn()) + return + var/chosen_mob = choose_spawn() + if(chosen_mob) + do_spawn(chosen_mob) + +/obj/structure/mob_spawner/proc/can_spawn() + if(!total_spawns) + return 0 + if(spawned_mobs.len >= simultaneous_spawns) + return 0 + if(world.time < last_spawn + spawn_delay) + return 0 + return 1 + +/obj/structure/mob_spawner/proc/choose_spawn() + return pickweight(spawn_types) + +/obj/structure/mob_spawner/proc/do_spawn(var/mob_path) + if(!ispath(mob_path)) + return 0 + var/mob/living/L = new mob_path(get_turf(src)) + L.source_spawner = src + spawned_mobs.Add(L) + last_spawn = world.time + if(total_spawns > 0) + total_spawns-- + if(mob_faction) + L.faction = mob_faction + return L + +/obj/structure/mob_spawner/proc/get_death_report(var/mob/living/L) + if(L in spawned_mobs) + spawned_mobs.Remove(L) + +/obj/structure/mob_spawner/attackby(var/obj/item/I, var/mob/living/user) + if(!I.force || I.flags & NOBLUDGEON || !destructible) + return + + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) + user.do_attack_animation(src) + visible_message("\The [src] has been [I.attack_verb.len ? "[pick(I.attack_verb)]":"attacked"] with \the [I] by [user].") + take_damage(I.force) + +/obj/structure/mob_spawner/bullet_act(var/obj/item/projectile/Proj) + ..() + if(destructible) + take_damage(Proj.get_structure_damage()) + +/obj/structure/mob_spawner/proc/take_damage(var/damage) + health -= damage + if(health <= 0) + visible_message("\The [src] breaks apart!") + qdel(src) + +/obj/structure/mob_spawner/clear_zlevel/can_spawn() + if(!..()) + return 0 + var/turf/T = get_turf(src) + if(!T) + return 0 + for(var/mob/living/L in player_list) + var/turf/L_T + if(L.stat == DEAD) + continue + L_T = get_turf(L) + if(T.z == L_T.z) + return 0 + return 1 \ No newline at end of file diff --git a/code/game/objects/structures/trash_pile.dm b/code/game/objects/structures/trash_pile.dm index f4a7d146d2..84cdc28f6a 100644 --- a/code/game/objects/structures/trash_pile.dm +++ b/code/game/objects/structures/trash_pile.dm @@ -9,6 +9,8 @@ var/list/searchedby = list()// Characters that have searched this trashpile, with values of searched time. var/mob/living/hider // A simple animal that might be hiding in the pile + var/obj/structure/mob_spawner/mouse_nest/mouse_nest = null + var/chance_alpha = 79 // Alpha list is junk items and normal random stuff. var/chance_beta = 20 // Beta list is actually maybe some useful illegal items. If it's not alpha or gamma, it's beta. var/chance_gamma = 1 // Gamma list is unique items only, and will only spawn one of each. This is a sub-chance of beta chance. @@ -40,6 +42,12 @@ "boxfort", "trashbag", "brokecomp") + mouse_nest = new(src) + +/obj/structure/trash_pile/Destroy() + qdel(mouse_nest) + mouse_nest = null + return ..() /obj/structure/trash_pile/attackby(obj/item/W as obj, mob/user as mob) var/w_type = W.type @@ -252,3 +260,31 @@ else return produce_beta_item() +/obj/structure/mob_spawner/mouse_nest + name = "trash" + desc = "A small heap of trash, perfect for mice to nest in." + icon = 'icons/obj/trash_piles.dmi' + icon_state = "randompile" + spawn_types = list(/mob/living/simple_animal/mouse) + simultaneous_spawns = 1 + destructible = 1 + +/obj/structure/mob_spawner/mouse_nest/initialize() + ..() + icon_state = pick( + "pile1", + "pile2", + "pilechair", + "piletable", + "pilevending", + "brtrashpile", + "microwavepile", + "rackpile", + "boxfort", + "trashbag", + "brokecomp") + +/obj/structure/mob_spawner/mouse_nest/do_spawn(var/mob_path) + . = ..() + var/atom/A = get_holder_at_turf_level(src) + A.visible_message("[.] crawls out of \the [src].") \ No newline at end of file diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm index 455bbbccd5..51c8c3279e 100644 --- a/code/modules/clothing/under/accessories/accessory_vr.dm +++ b/code/modules/clothing/under/accessories/accessory_vr.dm @@ -31,9 +31,100 @@ /obj/item/clothing/accessory/collar/shock name = "Shock collar" desc = "A collar used to ease hungry predators." - icon_state = "collar_shk" + icon_state = "collar_shk0" item_state = "collar_shk_overlay" overlay_state = "collar_shk_overlay" + // How about some copypasta? + var/on = 0 // 0 for off, 1 for on, starts off to encourage people to set non-default frequencies and codes. + var/frequency = 1449 + var/code = 2 + var/datum/radio_frequency/radio_connection + var/list/datum/radio_frequency/secure_radio_connections = new + proc/set_frequency(new_frequency) + radio_controller.remove_object(src, frequency) + frequency = new_frequency + radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT) + +/obj/item/clothing/accessory/collar/shock/New() + radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT) // Makes it so you don't need to change the frequency off of default for it to work. + +/obj/item/clothing/accessory/collar/shock/Topic(href, href_list) + if(usr.stat || usr.restrained()) + return + if(((istype(usr, /mob/living/carbon/human) && ((!( ticker ) || (ticker && ticker.mode != "monkey")) && usr.contents.Find(src))) || (usr.contents.Find(master) || (in_range(src, usr) && istype(loc, /turf))))) + usr.set_machine(src) + if(href_list["freq"]) + var/new_frequency = sanitize_frequency(frequency + text2num(href_list["freq"])) + set_frequency(new_frequency) + else + if(href_list["code"]) + code += text2num(href_list["code"]) + code = round(code) + code = min(100, code) + code = max(1, code) + else + if(href_list["power"]) + on = !( on ) + icon_state = "collar_shk[on]" // And apparently this works, too?! + if(!( master )) + if(istype(loc, /mob)) + attack_self(loc) + else + for(var/mob/M in viewers(1, src)) + if(M.client) + attack_self(M) + else + if(istype(master.loc, /mob)) + attack_self(master.loc) + else + for(var/mob/M in viewers(1, master)) + if(M.client) + attack_self(M) + else + usr << browse(null, "window=radio") + return + return + +/obj/item/clothing/accessory/collar/shock/receive_signal(datum/signal/signal) + if(!signal || signal.encryption != code) + return + + if(on) + var/mob/M = null + if(ismob(loc)) + M = loc + if(ismob(loc.loc)) + M = loc.loc // This is about as terse as I can make my solution to the whole 'collar won't work when attached as accessory' thing. + M << "You feel a sharp shock!" + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(3, 1, M) + s.start() + M.Weaken(10) + return + +/obj/item/clothing/accessory/collar/shock/attack_self(mob/user as mob, flag1) + if(!istype(user, /mob/living/carbon/human)) + return + user.set_machine(src) + var/dat = {" +Turn [on ? "Off" : "On"]
+Frequency/Code for collar:
+Frequency: +- +- [format_frequency(frequency)] ++ ++
+ +Code: +- +- [code] ++ ++
+
"} + user << browse(dat, "window=radio") + onclose(user, "radio") + return + /obj/item/clothing/accessory/collar/spike name = "Spiked collar" diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index d6c2bc0405..9ea12b967c 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -1,3 +1,8 @@ /mob/living/death() clear_fullscreens() + //VOREStation Edit - Mob spawner stuff + if(source_spawner) + source_spawner.get_death_report(src) + source_spawner = null + //VOREStation Edit End . = ..() \ No newline at end of file diff --git a/code/modules/mob/living/living_defines_vr.dm b/code/modules/mob/living/living_defines_vr.dm index 566c21dad8..8b463df93b 100644 --- a/code/modules/mob/living/living_defines_vr.dm +++ b/code/modules/mob/living/living_defines_vr.dm @@ -1,2 +1,3 @@ /mob/living - var/ooc_notes = null \ No newline at end of file + var/ooc_notes = null + var/obj/structure/mob_spawner/source_spawner = null \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm index 141822e540..6169aa18ca 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm @@ -15,6 +15,7 @@ var/list/injection_chems = list("dexalin", "bicaridine", "kelotane","anti_toxin", "alkysine", "imidazoline", "spaceacillin", "paracetamol") //The borg is able to heal every damage type. As a nerf, they use 750 charge per injection. var/eject_port = "ingestion" var/list/items_preserved = list() + var/UI_open = 0 /obj/item/device/dogborg/sleeper/New() ..() @@ -50,6 +51,8 @@ user.visible_message("[hound.name]'s medical pod lights up as [target.name] slips inside into their [src.name].", "Your medical pod lights up as [target] slips into your [src]. Life support functions engaged.") message_admins("[key_name(hound)] has eaten [key_name(patient)] as a dogborg. ([hound ? "JMP" : "null"])") playsound(hound, 'sound/vore/gulp.ogg', 100, 1) //POLARISTODO + if(UI_open == 1) + sleeperUI(usr) /obj/item/device/dogborg/sleeper/proc/go_out(var/target) hound = src.loc @@ -88,6 +91,7 @@ if(..()) return sleeperUI(user) + UI_open = 1 /obj/item/device/dogborg/sleeper/proc/sleeperUI(mob/user) var/dat @@ -174,9 +178,11 @@ dat += "" var/datum/browser/popup = new(user, "sleeper", "Sleeper Console", 520, 540) //Set up the popup browser window - popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) + //popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) //I have no idea what this is, but it feels irrelevant and causes runtimes idk. popup.set_content(dat) popup.open() + onclose(user, "sleeper") + UI_open = 0 return /obj/item/device/dogborg/sleeper/Topic(href, href_list) @@ -292,6 +298,8 @@ patient_laststat = null patient = null hound.updateicon() + if(UI_open == 1) + sleeperUI(usr) return //Gurgleborg process @@ -390,6 +398,8 @@ T.drop_from_inventory(I, src) qdel(T) src.update_patient() + if(UI_open == 1) + sleeperUI(hound) //Handle the target being anything but a /mob/living/carbon/human else @@ -438,6 +448,9 @@ contents -= T qdel(T) src.update_patient() + if(UI_open == 1) + sleeperUI(hound) + return /obj/item/device/dogborg/sleeper/process() @@ -514,6 +527,8 @@ if(length(contents) > 11) //grow that tum after a certain junk amount hound.sleeper_r = 1 hound.updateicon() + if(UI_open == 1) + sleeperUI(usr) return if(istype(target, /mob/living/simple_animal/mouse)) //Edible mice, dead or alive whatever. Mostly for carcass picking you cruel bastard :v @@ -527,6 +542,8 @@ if(length(contents) > 11) //grow that tum after a certain junk amount hound.sleeper_r = 1 hound.updateicon() + if(UI_open == 1) + sleeperUI(usr) return else if(ishuman(target)) @@ -547,6 +564,8 @@ playsound(hound, 'sound/vore/gulp.ogg', 80, 1) hound.sleeper_r = 1 hound.updateicon() + if(UI_open == 1) + sleeperUI(usr) return return diff --git a/code/modules/resleeving/designer.dm b/code/modules/resleeving/designer.dm index a69e3a574c..d0d8dbd99f 100644 --- a/code/modules/resleeving/designer.dm +++ b/code/modules/resleeving/designer.dm @@ -115,7 +115,7 @@ if(mannequin.wing_style.do_colouration) temp["color"] = MOB_HEX_COLOR(mannequin, wing) temp["colorHref"] = "wing_color" - styles["Tail"] = temp + styles["Wing"] = temp temp = list("styleHref" = "hair_style", "style" = mannequin.h_style) if(mannequin.species && (mannequin.species.appearance_flags & HAS_HAIR_COLOR)) diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm index 859fc83f41..50f60ba9e1 100644 --- a/code/modules/shuttles/shuttle.dm +++ b/code/modules/shuttles/shuttle.dm @@ -83,7 +83,7 @@ if(process_longjump(departing, destination)) //VOREStation Edit - To hook custom shuttle code in return //VOREStation Edit - It handled it for us (shuttle crash or such) - /* + var/last_progress_sound = 0 while (world.time < arrive_time) // Make the shuttle make sounds every four seconds, since the sound file is five seconds. @@ -91,7 +91,6 @@ make_sounds(interim, HYPERSPACE_PROGRESS) last_progress_sound = world.time sleep(5) - */ //VOREStation Edit. Polaris code in this commented out part, but line 84 takes care of it as far as I cna see. move(interim, destination, direction) moving_status = SHUTTLE_IDLE diff --git a/code/modules/vore/eating/belly_vr.dm b/code/modules/vore/eating/belly_vr.dm index 4f47baf0bf..edd138b0eb 100644 --- a/code/modules/vore/eating/belly_vr.dm +++ b/code/modules/vore/eating/belly_vr.dm @@ -175,6 +175,9 @@ prey.forceMove(owner) internal_contents |= prey + owner.updateVRPanel() + for(var/mob/living/M in internal_contents) + M.updateVRPanel() if(inside_flavor) prey << "[inside_flavor]" @@ -519,7 +522,10 @@ to_chat(owner, "[M] tastes of [M.get_taste_message(0)].") if(!silent) for(var/mob/hearer in range(1,owner)) - hearer << sound('sound/vore/squish2.ogg',volume=80) + hearer << sound(target.vore_sound,volume=80) + owner.updateVRPanel() + for(var/mob/living/M in internal_contents) + M.updateVRPanel() // Belly copies and then returns the copy // Needs to be updated for any var changes diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index 59202498ec..77c77122fd 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -84,6 +84,7 @@ owner.nutrition += offset*(10/difference) // 9.5 nutrition per digestion tick if they're 130 pounds and it's same size. 10.2 per digestion tick if they're 140 and it's same size. Etc etc. else owner.nutrition += (10/difference) + M.updateVRPanel() if(digest_mode == DM_ITEMWEAK) var/obj/item/T = pick(touchable_items) @@ -189,6 +190,7 @@ else return + owner.updateVRPanel() return //////////////////////////// DM_STRIPDIGEST //////////////////////////// @@ -255,6 +257,8 @@ s_owner.cell.charge += (50 * T.w_class) internal_contents -= T qdel(T) + for(var/mob/living/carbon/human/M in internal_contents) + M.updateVRPanel() for(var/mob/living/carbon/human/M in internal_contents) if(!M) @@ -289,7 +293,7 @@ for(var/stashslot in stash) var/obj/item/SL = M.get_equipped_item(stashslot) if(SL) - SL.forceMove(owner) + M.remove_from_mob(SL,owner) internal_contents += SL M.remove_from_mob(I,owner) internal_contents += I @@ -298,7 +302,9 @@ if(!(istype(I,/obj/item/organ) || istype(I,/obj/item/weapon/storage/internal) || istype(I,/obj/screen))) M.remove_from_mob(I,owner) internal_contents += I + M.updateVRPanel() + owner.updateVRPanel() return //////////////////////////// DM_ABSORB //////////////////////////// diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index be16db64d8..e255398e0b 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -13,6 +13,7 @@ var/metabolism = 0.0015 var/vore_taste = null // What the character tastes like var/no_vore = 0 // If the character/mob can vore. + var/openpanel = 0 // Is the vore panel open? // // Hook for generic creation of stuff on new creatures diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 9fdc300421..e76885147d 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -21,6 +21,19 @@ picker_holder.popup = new(src, "insidePanel","Inside!", 400, 600, picker_holder) picker_holder.popup.set_content(dat) picker_holder.popup.open() + src.openpanel = 1 + +/mob/living/proc/updateVRPanel() //Panel popup update call from belly évents. + if(src.openpanel == 1) + var/datum/vore_look/picker_holder = new() + picker_holder.loop = picker_holder + picker_holder.selected = vore_organs[vore_selected] + + var/dat = picker_holder.gen_ui(src) + + picker_holder.popup = new(src, "insidePanel","Inside!", 400, 600, picker_holder) + picker_holder.popup.set_content(dat) + picker_holder.popup.open() // // Callback Handler for the Inside form @@ -253,6 +266,7 @@ if(href_list["close"]) qdel(src) // Cleanup + user.openpanel = 0 return if(href_list["show_int"]) diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 76a20bf91e..fbacc37690 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -1342,3 +1342,14 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie user.visible_message("[user] displays their [src.name].\nIt reads: [stored_name], [badge_string].","You display your [src.name].\nIt reads: [stored_name], [badge_string].") else user.visible_message("[user] displays their [src.name].\nIt reads: [badge_string].","You display your [src.name]. It reads: [badge_string].") + +/obj/item/weapon/card/id/fluff/xennith + name = "\improper Amy Lessen's Central Command ID (Xenobiology Director)" + desc = "This ID card identifies Dr. Amelie Lessen as the founder and director of the NanoTrasen Xenobiology Research Department, circa 2553." + icon_state = "centcom" + registered_name = "Amy Lessen" + assignment = "Xenobiology Director" + access = list(access_cent_general,access_cent_thunder,access_cent_medical,access_cent_living,access_cent_storage,access_cent_teleporter,access_research,access_xenobiology,access_maint_tunnels,access_xenoarch,access_robotics,access_tox_storage,access_tox) //Yes, this looks awful. I tried calling both central and resarch access but it didn't work. + age = 39 + blood_type = "O-" + sex = "Female" \ No newline at end of file diff --git a/config/custom_items.txt b/config/custom_items.txt index 0262f57593..7363485b3d 100644 --- a/config/custom_items.txt +++ b/config/custom_items.txt @@ -727,6 +727,12 @@ character_name: Penelope Allen item_path: /obj/item/weapon/storage/box/fluff/penelope } +{ +ckey: Xennith +character_name: Amy Lessen +item_path: /obj/item/weapon/card/id/fluff/xennith +} + # ######## Y CKEYS # ######## Z CKEYS { diff --git a/icons/obj/clothing/collars_vr.dmi b/icons/obj/clothing/collars_vr.dmi index 0053dd4bc1..6717b4f236 100644 Binary files a/icons/obj/clothing/collars_vr.dmi and b/icons/obj/clothing/collars_vr.dmi differ diff --git a/maps/tether/tether-03-station.dmm b/maps/tether/tether-03-station.dmm index 2bd2b1cd58..ccd2520e00 100644 --- a/maps/tether/tether-03-station.dmm +++ b/maps/tether/tether-03-station.dmm @@ -139,12 +139,12 @@ "acI" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/turf/simulated/floor,/area/engineering/engine_room) "acJ" = (/turf/simulated/floor,/area/engineering/engine_room) "acK" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_room) -"acL" = (/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/engine_gas) -"acM" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/engineering,/turf/simulated/floor,/area/engineering/engine_gas) -"acN" = (/obj/machinery/power/terminal{tag = "icon-term (WEST)"; icon_state = "term"; dir = 8},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/engine_gas) -"acO" = (/obj/machinery/power/grid_checker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engineering/engine_gas) -"acP" = (/obj/machinery/power/smes/buildable{charge = 2e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Power - Main"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engineering/engine_gas) -"acQ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Master Grid"; name_tag = "Master"},/turf/simulated/floor,/area/engineering/engine_gas) +"acL" = (/turf/simulated/wall/r_wall,/area/engineering/engine_smes) +"acM" = (/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/engine_smes) +"acN" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/camera/network/engineering,/turf/simulated/floor,/area/engineering/engine_smes) +"acO" = (/obj/machinery/power/terminal{tag = "icon-term (WEST)"; icon_state = "term"; dir = 8},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/engineering/engine_smes) +"acP" = (/obj/machinery/power/grid_checker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engineering/engine_smes) +"acQ" = (/obj/machinery/power/smes/buildable{charge = 2e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Power - Main"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engineering/engine_smes) "acR" = (/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway) "acS" = (/turf/simulated/wall/r_wall,/area/engineering/workshop) "acT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/Dorm_5) @@ -168,12 +168,12 @@ "adl" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor,/area/engineering/engine_room) "adm" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/black,/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_room) "adn" = (/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 28},/turf/simulated/floor,/area/engineering/engine_room) -"ado" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/button/remote/airlock{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; req_access = list(10); specialfunctions = 4},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"adp" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"adq" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/steel,/obj/item/weapon/paper{info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info"},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"adr" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/electrical,/obj/item/clothing/gloves/yellow,/obj/item/device/multitool{pixel_x = 5},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"ads" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_gas) -"adt" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) +"ado" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Master Grid"; name_tag = "Master"},/turf/simulated/floor,/area/engineering/engine_smes) +"adp" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/button/remote/airlock{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; req_access = list(10); specialfunctions = 4},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"adq" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"adr" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/steel,/obj/item/weapon/paper{info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info"},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"ads" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/electrical,/obj/item/clothing/gloves/yellow,/obj/item/device/multitool{pixel_x = 5},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"adt" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_smes) "adu" = (/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway) "adv" = (/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway) "adw" = (/obj/structure/curtain/open/bed,/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/obj/random/plushie,/turf/simulated/floor,/area/maintenance/station/eng_lower) @@ -200,15 +200,15 @@ "adR" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/meter,/turf/simulated/floor,/area/engineering/engine_room) "adS" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) "adT" = (/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engineering/engine_room) -"adU" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"adV" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access = list(10)},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"adW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"adX" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) +"adU" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"adV" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"adW" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access = list(10)},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"adX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) "adY" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/backup) -"adZ" = (/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"aea" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"aeb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"aec" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) +"adZ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"aea" = (/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"aeb" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"aec" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) "aed" = (/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled,/area/engineering/hallway) "aee" = (/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 9},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway) "aef" = (/obj/random/junk,/obj/random/trash,/turf/simulated/floor,/area/maintenance/station/eng_lower) @@ -232,14 +232,14 @@ "aex" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/engineering/engine_room) "aey" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/engineering/engine_room) "aez" = (/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/structure/cable/cyan{d1 = 0; d2 = 4; icon_state = "0-4"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Power"; name_tag = "Engine Power"},/turf/simulated/floor,/area/engineering/engine_room) -"aeA" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"aeB" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access = list(10)},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"aeC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"aeD" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/item/device/radio/intercom{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"aeE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light_switch{dir = 1; pixel_y = -24},/obj/machinery/light/small,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"aeF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"aeG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) -"aeH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -32},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_gas) +"aeA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"aeB" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"aeC" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_electrical_maintenance"; locked = 1; name = "Electrical Maintenance"; req_access = list(10)},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"aeD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"aeE" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/item/device/radio/intercom{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"aeF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light_switch{dir = 1; pixel_y = -24},/obj/machinery/light/small,/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"aeG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) +"aeH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access = list(11)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) "aeI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/obj/machinery/camera/network/engineering{dir = 8},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/engineering/hallway) "aeJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway) "aeK" = (/obj/machinery/light/small{dir = 8; pixel_y = 0},/obj/random/trash,/turf/simulated/floor,/area/maintenance/station/eng_lower) @@ -642,6 +642,7 @@ "amr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled{tag = "icon-techmaint"; icon_state = "techmaint"},/area/engineering/storage) "ams" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/station/eng_lower) "amt" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_monitoring) +"amu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -32},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/techmaint,/area/engineering/engine_smes) "amv" = (/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/camera/network/engineering{dir = 4},/turf/simulated/floor,/area/engineering/engine_gas) "amw" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/engineering/engine_gas) "amx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/engineering/engine_gas) @@ -5529,11 +5530,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaiAaiBaiBapVaiBaiBapWahWahVaaaaaaaaaahVaiAaiBap aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahWabpaqEapVapVapVapVaqFahWahWaaaaaaaaaahWajiaiBapVaiBabjabBabkaiBapVaiBarEahWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmabQabSabRabTabQaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaccajiaiBapVaiBaiBapWahWahVaaaaaaaaaahVaiAaiBapVaiBabjabBabkaiBapVaiBapWahVaaaaaaaaaaaaaaaaaaaacaacaacaaaaaaabVackabSacaabTackacbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVabpaqEapVapVapVapVaqFahWahVaaaaaaaaaahVajiaiBapVaiBabjabBabkaiBapVaiBarEahVaaaaaaaaaaacaacaacaacaacaacaacabCabCacdackackackaceabCabCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaccajiaiBapVaiBaiBapWahWahVaaaaaaaaaagJagJagJagJagJariacfagJagJagJacgacgacgacgacgacgacgacgaczaczaczaacaacabCacAacjackackacjackacBabCaaaaaaaaaaaaaaaaaaaadaaeaaeaafaaeaaeaaeaaeaaeaaeaaeaaeaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVabpaqEapVapVapVapVaqFahWahVaaaaaaaaaagJacCacEacDacGacFacIacHacKacJacgacLacNacMacPacOacQacgadfacRaczaacaacabCadgacjackadhacjacjadiabCaacaacaacaacaaaaaaaaeaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahWaccajiaiBapVaiBaiBapWahWariagJadjagJagJadkacHadmacGacFanuadlacKadnacgadoadpadpadradqadtadsadvaduaczaacaacabCanGackackaciacjackadwabCaacaacaacaacaacaacaahaaiaajaakaalaamaanaaoaakaakaapaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaabaaaaaaaaaaaaaaaaaaahVabpaqEapVapVapVapVaqFahWagJadxanHadyadAadzadCadBadDadDadDadRacJadTadVadUadXadWaeaadZaecaebaeeaedaczaacaacabCaegaefackacjacjachaehabCaacaacaacaacaacaacaahaaiaajaaqaaqaaqaaqaaqaaqaaqaaqaaraasaataataataataataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaccajiaiBapVaiBaiBapWahWagJaekaemaelaepaeoaeuaetaewaewaewaexaezaeyaeBaeAaeDaeCaeFaeEaeHaeGaeJaeIarMarMarMarMarMaeKackackackaeLabCabCaacaacaacaacaacaacaahaaiaajaauaavaaqaawaaxaauaavaavaagaagaataataataataataataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaccajiaiBapVaiBaiBapWahWahVaaaaaaaaaagJagJagJagJagJariacfagJagJagJacLacLacLacLacLacLacLacLaczaczaczaacaacabCacAacjackackacjackacBabCaaaaaaaaaaaaaaaaaaaadaaeaaeaafaaeaaeaaeaaeaaeaaeaaeaaeaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVabpaqEapVapVapVapVaqFahWahVaaaaaaaaaagJacCacEacDacGacFacIacHacKacJacLacMacOacNacQacPadoacLadfacRaczaacaacabCadgacjackadhacjacjadiabCaacaacaacaacaaaaaaaaeaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahWaccajiaiBapVaiBaiBapWahWariagJadjagJagJadkacHadmacGacFanuadlacKadnacLadpadqadqadsadradUadtadvaduaczaacaacabCanGackackaciacjackadwabCaacaacaacaacaacaacaahaaiaajaakaalaamaanaaoaakaakaapaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaabaaaaaaaaaaaaaaaaaaahVabpaqEapVapVapVapVaqFahWagJadxanHadyadAadzadCadBadDadDadDadRacJadTadWadVadZadXaebaeaaeAaecaeeaedaczaacaacabCaegaefackacjacjachaehabCaacaacaacaacaacaacaahaaiaajaaqaaqaaqaaqaaqaaqaaqaaqaaraasaataataataataataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaccajiaiBapVaiBaiBapWahWagJaekaemaelaepaeoaeuaetaewaewaewaexaezaeyaeCaeBaeEaeDaeGaeFamuaeHaeJaeIarMarMarMarMarMaeKackackackaeLabCabCaacaacaacaacaacaacaahaaiaajaauaavaaqaawaaxaauaavaavaagaagaataataataataataataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVabpaqEapVapVapVapVaqFahWagJaeZamQafaafcafbafeafdaffacJacJafgacJafhafialFalFafjalFalFalFamtaflafkarMafmatcatbarMabCabCafnabCabCabCaacaacaacaacaacaacaacaahaagaagaagaagaayaayaagaagaagaagaagaataataataataataataataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahVaccajiaiBapVaiBaiBapWagJagJafoafqafpagJafrafuafsafsafHacJafgacJafIafKafJafNafMafQafOagPafPafSafRafVafTafXafWagsagragtagragraguabCaacaacaacaacaacaacaacaahaahaahaahaahaazaazaahaahaahaahaahaahaataataataataataataataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahWabpaqEapVapVapVapVaqFagJagxagwagzagyagBagAagCagCagCagCagLagKafHagMafKahuagNafLagOafLahZafPahmahlarMahnahpahoarMahqackackackahrabCaacaacaacaacaacaacaacaacaacaacaahaaAaaBaaCaaDaaEaaFaaGaaHaahaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/tether/tether-07-misc.dmm b/maps/tether/tether-07-misc.dmm index f9122f6f4b..d3daa3f986 100644 --- a/maps/tether/tether-07-misc.dmm +++ b/maps/tether/tether-07-misc.dmm @@ -132,7 +132,7 @@ "cB" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt) "cC" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/syndicate_station/start) "cD" = (/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/syndicate_station/start) -"cE" = (/obj/machinery/vending/medical{pixel_x = 32; pixel_y = 0; req_access = null},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/syndicate_station/start) +"cE" = (/obj/machinery/vending/medical{density = 0; pixel_y = -32; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "cF" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 4; start_pressure = 740.5},/turf/simulated/floor/plating,/area/syndicate_station/start) "cG" = (/obj/structure/table/standard,/obj/item/stack/cable_coil/black,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/plating,/area/syndicate_station/start) "cH" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hos,/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{icon_state = "lino"},/area/antag/antag_base) @@ -514,7 +514,7 @@ "jT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) "jU" = (/obj/vehicle/train/cargo/trolley,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jV" = (/obj/machinery/light,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"jW" = (/obj/machinery/vending/medical{pixel_y = -32; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"jW" = (/obj/structure/closet/wardrobe/captain,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jX" = (/obj/machinery/door/airlock/silver{name = "Restroom"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/syndicate_station/start) "jY" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 4; req_access = list(160)},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jZ" = (/obj/structure/table/steel_reinforced,/obj/random/medical,/obj/random/medical,/obj/random/medical,/obj/random/medical,/obj/structure/window/reinforced,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) @@ -603,7 +603,7 @@ "lE" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/meter,/obj/structure/largecrate/animal/cat,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "lF" = (/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access = list(160); req_one_access = newlist()},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "lG" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradeportshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom) -"lH" = (/obj/structure/closet/wardrobe/captain,/obj/item/weapon/gun/projectile/revolver/mateba,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"lH" = (/obj/machinery/vending/medical{density = 0; pixel_x = 32; pixel_y = 0; req_access = null},/turf/simulated/shuttle/floor{tag = "icon-floor_white"; icon_state = "floor_white"},/area/syndicate_station/start) "lI" = (/obj/machinery/light{dir = 1},/obj/structure/bookcase,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "lJ" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "lK" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/shuttle/trade/centcom) @@ -1125,7 +1125,7 @@ apgXgXgXgXhliaipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiakalalalalalakaiaiaiai apgXgXgXgXhlinipioipipipipioipiqhlgXgXgXgXapahaiaiaiaiaiaiakalalalalalakaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapiEiCiSiTiEiUiViWiXiYiEiEapapapiEiEiCamiDiCiEiIiKiCiZjaiEiNjbgpap apgXgXgXgXhlinipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiakalalalalalakaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapjejfjgjgjhjgjgjijjjkiEiEiIiJiKiEiEjljgjgjmiEjnjojpjgjqiEiNjbgpap apgXgXgXgXhlinipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiakakakakakakakaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapjujvjwjxiEjgjgjyjzjkiEjAjBjCjDjEjFjGjHjHjgjIjgjgjgjgjJiEiNjKgpap -apgXgXgXgXhliaipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapiEiEiEiEiEiEjMjgjgjNiEjOjPjQjRjSjTjUjHjHjgjIjgjVjWjgjgiEiEiEgpap +apgXgXgXgXhliaipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapiEiEiEiEiEiEjMjgjgjNiEjOjPjQjRjSjTjUjHjHjgjIjgjVcEjgjgiEiEiEgpap apgXgXgXgXhlinipioipipipipioipiqhlgXgXgXgXapahaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapiEiEiEjYjgiEiCjZkakbkckdkejUjHjgjMiCiEiEiCkfkgiEiEapgpap apgXgXgXgXhlinipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapiEkhkiiEiEiEiEiEiEiEiEkjjgjgjgjgkkjgjgjgjgiEiEkljgiCiEkmkmiEiEiEiEapapgpap apgXgXgXgXhlinipioipipipipioipifhlgXgXgXgXapahaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiahapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpiEiEknkoiEkpiEkqkrksiCiEktjgjHjHjHjHjHjHjHjHjHjgjHjgkukvjHjHjgiEiNiOapapgpap @@ -1135,7 +1135,7 @@ apgXgXgXgXhlinipioipipipipioipifhlgXgXgXgXapahahahahahahahahahahahahahahahahahah apgXgXgXgXhlinipioipipipipioipifhlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapiEljlkiEiEiEiEiEiEiEiClljgjgjgjgjVjgjgjgjgiEiEkljgiCiElmlniEiEiEiEapapgpap apgXgXgXgXhlialoioipipipipioloifhlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapiEiEiEjYjgiEiClplqlrlsltjFlujHjglviCiEiEiEjglwiEiEapgpap apgXgXgXgXhlinlolxlololololxloiqhlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapiEiEiEiEiEjglvjgjglyiElzlAlBlClDjTlEjHjHjglFjgkkjgjgjgiEiEiEgpap -apgXgXgXgXhlhmhnhohnhnhnhnhohnhphlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapaplGlHlIlJiEjgjgjilKlLiElMlNlOlPlQkelRjHjHjglFjgjgjgjgjgiEiNiOgpap +apgXgXgXgXhlhmhnhohnhnhnhnhohnhphlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapaplGjWlIlJiEjgjgjilKlLiElMlNlOlPlQkelRjHjHjglFjgjgjgjgjgiEiNiOgpap apgXgXgXgXhlhmhnhohnhnhnhnhohnhphlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapaplSjgjgjglTjgjglUlVlWiEiElXlYlZiEiEmambmcjgiEmdmemfjgjqiEiNjbgpap apgXgXgXgXhlhvhnhohnhnhnhnhohnhphlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapiEiCmgmhiEmijgmjmkmliEiEapapapiEiEiCmmmniCiElXlZiEmompiEiNjbgpap apgXgXgXgXhlhmhnhohnhnhnhnhohnhIhlgXgXgXgXapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapiEiEiEiEiEiElXlYlZiEapapapapapiEiEmqmriEiEapapiEiEiEiEiNjKgpap @@ -1178,7 +1178,7 @@ apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapap apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapaBaBapaBaBaBaBaBaBaBaBaBaBaBapapapoXrXrYoXapapapapapapapapapapapapapapapapapaBaBaBgp apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapaBaBaBaBapaBaBapapapaCaCaErZsaaEsfseapapapapapaCaCaCaGaGaGaCaCaCapapapapgp apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapapapapapapaCaCaHcgcicichcjaCaCapapapaCaCaCckcmclcocnaCaCaCapapapgp -apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapapapaCaCaCaCaCcpcqcicichcjaCaCaGaGaGaCaCaCcCcDcDcDcEaCaCaCaCapapgp +apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapapapaCaCaCaCaCcpcqcicichcjaCaCaGaGaGaCaCaCcCcDcDcDlHaCaCaCaCapapgp ahahahahahahahahahappqpqpqpqpqpqpqpqpqapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapapaCaCcFsgcGcJcIcLcKcMcraCaCcJcNcWcVcYcXcJcDcDcDcDcZaCaCaCaCaCapgp ahaiaiaiaiaiaiaiahappEpFpGpGpGpGpGpHpEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapaCaCaCshsvsusGchtEtbtbuhezeyeDexeAexexfFeBhecDeCeEhseFaCaCaCcJapgp ahaieGeGeGeGeGaiahappEpFpRpRpRpRpRpHpEapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapgpapapapapapapapapapapapapuiaCaChwdgukcJeDexdCdCdCdCuldCdCdCdCdCdCulcDcDeHeSeIaCaCcJfkflapgp diff --git a/vorestation.dme b/vorestation.dme index cf65688cdc..dc5c539c8c 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -84,6 +84,7 @@ #include "code\_helpers\type2type.dm" #include "code\_helpers\type2type_vr.dm" #include "code\_helpers\unsorted.dm" +#include "code\_helpers\unsorted_vr.dm" #include "code\_helpers\vector.dm" #include "code\_helpers\sorts\__main.dm" #include "code\_helpers\sorts\comparators.dm" @@ -783,6 +784,7 @@ #include "code\game\objects\explosion.dm" #include "code\game\objects\explosion_recursive.dm" #include "code\game\objects\items.dm" +#include "code\game\objects\mob_spawner_vr.dm" #include "code\game\objects\objs.dm" #include "code\game\objects\structures.dm" #include "code\game\objects\stumble_into_vr.dm"