From 4483d5275c098f429330a0db9c3eee05bb1e5365 Mon Sep 17 00:00:00 2001 From: coiax Date: Thu, 26 May 2016 14:15:19 +0100 Subject: [PATCH] Shuttle manipulator (#17436) * Starting out on our tgui journey * God tgui, why do you need to be updated You're dynamically generated anyway * Commit of stuff * Further progress is being made * Everyone loves buildscripts * Further modifications to my incredible running script * Starting to modify the minimap code to be better * It's going well thusfar, I guess * What have I done * RIP minimap * FUN FUN FUN FUN FUN * Adds shuttle_manipulator.dmi MUH HOLOGRAMS * Is it done? IS IT OVER * Peer review * Some bug fixes * Makes that damn greentext shut up * Shuttle registration * Made the Emergency Escape Bar more robust No climbing on the bar. * Do not stare into the operation end of the device * Compile shame * THE MOST DUMB * Passive barmaiden * Emergency shuttle memes * MORE SAFETY CODE * Fancy shuttle manipulator icons * Smoothing it out * We are going to have a lot of fun with this one * Independent blobbernauts * WABBAJACK WABBAJACK * Message for attempting to authenticate old style * Angry alert noise is back * Revert "Independent blobbernauts" This reverts commit 34d6af7c9c88cfc2864990cb37b586bb90163dd3. * No parrot sleep plz * Moves the special shuttle stuff to special.dm * No Bartender like a Centcom Bartender * Non-controversial map changes - Backup shuttle moved closer to Centcom main structure, docking tube created - Moved shuttle import landmark to above Centcom main building - Added shuttle displays to Conference Room - Squashed the Chapel a bit in Metastation - Made the docking port on Z2 massive - Made the docking port on Metastation a lot larger * Hacks and slashes at Box A bunch of things are extended and squashed so Box shuttle dock can support the MetaStation emergency shuttle. * Some Metastationshit * Never ending changes * Wabbajack to TGM * Modified the bar, I think that's all of them * Stops Barmaiden wandering around * More code review * Whitspace, the bane of us all * DIE WHITESPACE DIE --- CONTRIBUTING.md | 6 +- _maps/map_files/MetaStation/MetaStation.dmm | 123 ++-- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 692 +++++++++--------- _maps/map_files/generic/z2.dmm | 437 +++++------ _maps/shuttles/cargo_birdboat.dmm | 2 +- _maps/shuttles/cargo_box.dmm | 2 +- _maps/shuttles/emergency_airless.dmm | 8 +- _maps/shuttles/emergency_bar.dmm | 150 ++-- _maps/shuttles/emergency_birdboat.dmm | 62 +- _maps/shuttles/emergency_box.dmm | 60 +- _maps/shuttles/emergency_clown.dmm | 56 +- _maps/shuttles/emergency_cramped.dmm | 32 +- _maps/shuttles/emergency_goon.dmm | 52 +- .../emergency_imfedupwiththisworld.dmm | 8 +- _maps/shuttles/emergency_meta.dmm | 92 +-- _maps/shuttles/emergency_narnar.dmm | 20 +- _maps/shuttles/emergency_supermatter.dmm | 145 ++-- _maps/shuttles/emergency_wabbajack.dmm | 648 ++++++++++++++++ _maps/shuttles/ferry_base.dmm | 2 +- _maps/shuttles/ferry_lighthouse.dmm | 6 +- _maps/shuttles/ferry_meat.dmm | 2 +- _maps/shuttles/whiteship_box.dmm | 2 +- _maps/shuttles/whiteship_meta.dmm | 2 +- code/__DEFINES/misc.dm | 10 - code/__DEFINES/shuttles.dm | 23 + code/__DEFINES/stat.dm | 9 - code/__HELPERS/files.dm | 22 +- code/controllers/master.dm | 1 + code/controllers/subsystem/garbage.dm | 28 +- code/controllers/subsystem/shuttles.dm | 17 +- code/datums/helper_datums/map_template.dm | 4 +- code/datums/shuttles.dm | 16 +- code/game/gamemodes/nuclear/nuclearbomb.dm | 12 +- code/game/objects/structures/ladders.dm | 10 +- code/game/objects/structures/tables_racks.dm | 5 +- code/game/objects/structures/window.dm | 3 + code/game/turfs/space/space.dm | 7 +- code/game/turfs/turf.dm | 19 + code/modules/admin/admin_verbs.dm | 2 - code/modules/admin/verbs/shuttles.dm | 116 --- .../awaymissions/mission_code/challenge.dm | 75 +- code/modules/events/wizard/greentext.dm | 15 +- code/modules/jobs/access.dm | 7 +- code/modules/lighting/lighting_system.dm | 7 +- .../mining/lavaland/necropolis_chests.dm | 13 +- .../mob/living/carbon/human/human_helpers.dm | 2 +- .../friendly/drone/extra_drone_types.dm | 11 - .../mob/living/simple_animal/hostile/alien.dm | 1 - .../mob/living/simple_animal/simple_animal.dm | 3 + code/modules/mob/mob.dm | 3 + code/modules/mob/mob_helpers.dm | 1 - code/modules/power/singularity/emitter.dm | 5 +- code/modules/ruins/lavaland_ruin_code.dm | 14 +- code/modules/shuttle/emergency.dm | 223 ++++-- code/modules/shuttle/manipulator.dm | 246 ++++++- code/modules/shuttle/shuttle.dm | 99 +-- code/modules/shuttle/special.dm | 197 +++++ code/modules/shuttle/supply.dm | 4 +- code/modules/tgui/states.dm | 18 +- code/modules/tgui/states/human_adjacent.dm | 17 + icons/obj/machines/magic_emitter.dmi | Bin 0 -> 22698 bytes icons/obj/machines/shuttle_manipulator.dmi | Bin 0 -> 74029 bytes sound/misc/compiler-failure.ogg | Bin 0 -> 24457 bytes sound/misc/compiler-stage1.ogg | Bin 0 -> 8832 bytes sound/misc/compiler-stage2.ogg | Bin 0 -> 9269 bytes sound/misc/server-ready.ogg | Bin 0 -> 8967 bytes tgstation.dme | 6 +- tgui/assets/tgui.css | 2 +- tgui/assets/tgui.js | 24 +- tgui/build.sh | 11 + .../interfaces/emergency_shuttle_console.ract | 30 + tgui/src/interfaces/shuttle_manipulator.ract | 20 + .../shuttle_manipulator/modification.ract | 38 + .../shuttle_manipulator/status.ract | 11 + .../shuttle_manipulator/templates.ract | 24 + tools/linux_build.py | 77 ++ 76 files changed, 2788 insertions(+), 1329 deletions(-) create mode 100644 _maps/shuttles/emergency_wabbajack.dmm create mode 100644 code/__DEFINES/shuttles.dm delete mode 100644 code/modules/admin/verbs/shuttles.dm create mode 100644 code/modules/shuttle/special.dm create mode 100644 code/modules/tgui/states/human_adjacent.dm create mode 100644 icons/obj/machines/magic_emitter.dmi create mode 100644 icons/obj/machines/shuttle_manipulator.dmi create mode 100755 sound/misc/compiler-failure.ogg create mode 100755 sound/misc/compiler-stage1.ogg create mode 100755 sound/misc/compiler-stage2.ogg create mode 100755 sound/misc/server-ready.ogg create mode 100755 tgui/build.sh create mode 100644 tgui/src/interfaces/emergency_shuttle_console.ract create mode 100644 tgui/src/interfaces/shuttle_manipulator.ract create mode 100644 tgui/src/interfaces/shuttle_manipulator/modification.ract create mode 100644 tgui/src/interfaces/shuttle_manipulator/status.ract create mode 100644 tgui/src/interfaces/shuttle_manipulator/templates.ract create mode 100755 tools/linux_build.py diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 86f743417dc..d0aeab0904c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,7 +41,7 @@ Maintainers can revert your changes if they feel they are not worth maintaining As mentioned before, you are expected to follow these specifications in order to make everyone's lives easier, it will also save you and us time, with having to make the changes and us having to tell you what to change. Thank you for reading this section. -###Object Oriented code +###Object Oriented code As BYOND's Dream Maker is an object oriented language, code must be object oriented when possible in order to be more flexible when adding content to it. If you are unfamiliar with this concept, it is highly recommended you look it up. ###All Byond paths must contain the full path. @@ -63,7 +63,7 @@ datum code proc2() code - + datum2 varname1 = 0 proc @@ -148,7 +148,7 @@ Remember, this tradeoff makes sense in many cases but not all, you should think ###No magic numbers or strings Make these #defines with a name that more clearly states what it's for. - + ###Control statements: (if,while,for,etc) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 37d91dd73ba..57b2c9c959e 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -93876,18 +93876,12 @@ }, /area/chapel/main) "cTE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/turf/closed/wall/shuttle{ + tag = "icon-wall3 (NORTHWEST)"; + icon_state = "wall3"; + dir = 9 }, -/mob/living/simple_animal/hostile/retaliate/bat{ - name = "Orlocke"; - real_name = "Orlocke"; - turns_per_move = 6 - }, -/turf/open/floor/plasteel{ - icon_state = "dark" - }, -/area/chapel/main) +/area/shuttle/escape) "cTF" = ( /obj/machinery/door/window{ dir = 4; @@ -93927,8 +93921,13 @@ }, /area/chapel/main) "cTH" = ( -/obj/structure/bookcase{ - name = "Holy Bookcase" +/obj/machinery/camera{ + c_tag = "Chapel - Port"; + dir = 4; + network = list("SS13") + }, +/obj/structure/chair/comfy/black{ + dir = 4 }, /turf/open/floor/plasteel{ dir = 8; @@ -99123,11 +99122,11 @@ /obj/docking_port/stationary{ dheight = 0; dir = 2; - dwidth = 5; - height = 14; + dwidth = 10; + height = 25; id = "emergency_home"; - name = "emergency evac bay"; - width = 25 + name = "MetaStation emergency evac bay"; + width = 29 }, /turf/open/floor/plasteel/shuttle, /area/shuttle/escape) @@ -100611,18 +100610,20 @@ icon_state = "warning" }, /area/hydroponics) +"dfJ" = ( +/obj/structure/bookcase{ + name = "Holy Bookcase" + }, +/turf/open/floor/plasteel{ + dir = 4; + icon_state = "chapel" + }, +/area/chapel/main) "dfK" = ( /turf/closed/wall/shuttle{ icon_state = "swall2" }, /area/shuttle/escape) -"dfJ" = ( -/turf/closed/wall/shuttle{ - tag = "icon-wall3 (NORTHWEST)"; - icon_state = "wall3"; - dir = 9 - }, -/area/shuttle/escape) (1,1,1) = {" aaa @@ -121632,7 +121633,7 @@ cSr cSR cSQ cSr -cUd +cUe cRQ aaa aaf @@ -121886,10 +121887,10 @@ cQW cNm cRV cSr -cSQ -cSQ -cTE -cUe +cTJ +cTn +cSr +cTK cRQ aaa aaf @@ -122144,10 +122145,10 @@ cRz cRW cSs cSS -cTn -cSr -cTK -cRQ +cOU +cTF +cUf +cOU aaa aaf aaa @@ -122402,9 +122403,9 @@ cRX cSt cST cOU -cTF -cUf -cOU +cTG +cUg +cUt aaa aaf aaa @@ -122659,9 +122660,9 @@ cRY cSu cXo cOU -cTG -cUg -cUt +cOU +cOU +cOU aaf aaf aaa @@ -122916,9 +122917,9 @@ cOU cSv cXc cOU +dfJ cOU -cOU -cOU +aaa aaa ddg ddg @@ -123172,11 +123173,11 @@ cNm cRZ cSw cXp -cOU cTH +cRh cOU aaa -dfJ +cTE ddi ddi ddi @@ -123429,7 +123430,7 @@ cRB cSa cSx cSX -cTo +cSB cTI cOU ddb @@ -130127,11 +130128,11 @@ aaa aaa aaa aaf -cTC -cTC -cTC -cTC -cTC +aaa +aaa +aaa +aaa +aaa aaa aaa aaf @@ -130385,9 +130386,9 @@ cTC cTC cTC cTC -cVt -dfw -cVB +cTC +cTC +cTC cTC cTC cTC @@ -130642,8 +130643,8 @@ cVt dfs cVN cVo -cVs -cVC +cVt +dfw cVB cTC cXd @@ -130900,7 +130901,7 @@ cVC cVB cVo cVs -cVB +cVC cVB cTC cXb @@ -131138,7 +131139,7 @@ cTy cTy cTy cTy -cTy +aaa aaf aaf aaa @@ -131393,10 +131394,10 @@ cTz cTA dcN dcN -dcN dcQ cTy aaa +aaa aaf aaa cTC @@ -131650,9 +131651,9 @@ cTy cTy cTy cTy -cTy dcW cTy +aaa cTO cTC cTC @@ -131906,10 +131907,10 @@ bVE aaa aaf aaa -aaa cTy dcW cTy +cTy cTC cTR cTU @@ -132163,9 +132164,9 @@ bVE aaa aaf aaa -aaa cTy dcY +dcN cTB cTP cTT @@ -132420,7 +132421,7 @@ bVE aaf aaf aaf -aaa +cTy cTy cTy cTy diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index a2831ee955f..df61d13b779 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -2476,17 +2476,11 @@ /turf/open/floor/plasteel, /area/security/prison) "aeR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/machinery/light/small{ + dir = 1 }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/security/prison) +/turf/open/floor/plating, +/area/hallway/secondary/exit) "aeS" = ( /obj/structure/cable{ d1 = 4; @@ -2613,36 +2607,22 @@ /turf/open/floor/plating, /area/ai_monitored/security/armory) "afa" = ( -/obj/machinery/door/window/southleft{ - base_state = "right"; - icon_state = "right"; - name = "Armory"; - req_access_txt = "3" +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock" }, -/obj/machinery/door/firedoor, -/obj/machinery/light{ +/obj/docking_port/mobile/emergency{ + name = "BoxStation emergency shuttle" + }, +/obj/docking_port/stationary{ dir = 4; - icon_state = "tube1" + dwidth = 12; + height = 18; + id = "emergency_home"; + name = "BoxStation emergency evac bay"; + width = 32 }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8"; - tag = "" - }, -/turf/open/floor/plasteel{ - dir = 6; - icon_state = "warning" - }, -/area/ai_monitored/security/armory) +/turf/open/floor/plating, +/area/shuttle/escape) "afb" = ( /obj/machinery/recharger, /obj/structure/table, @@ -2940,16 +2920,9 @@ }, /area/security/prison) "afE" = ( -/obj/machinery/button/flasher{ - id = "insaneflash"; - pixel_y = -26 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel{ - icon_state = "whitehall"; - dir = 2 - }, -/area/security/prison) +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/hallway/secondary/exit) "afF" = ( /obj/structure/table, /obj/item/device/assembly/signaler, @@ -32667,7 +32640,10 @@ /turf/open/floor/plating, /area/maintenance/asmaint2) "bqh" = ( -/obj/structure/closet, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/asmaint2) "bqi" = ( @@ -34363,8 +34339,10 @@ /turf/open/floor/plating, /area/maintenance/asmaint2) "btq" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 2 +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" }, /turf/open/floor/plating, /area/maintenance/asmaint2) @@ -62758,20 +62736,12 @@ }, /area/shuttle/escape) "cxn" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Emergency Shuttle Airlock" +/obj/structure/lattice, +/obj/effect/landmark{ + name = "carpspawn" }, -/obj/docking_port/mobile/emergency, -/obj/docking_port/stationary{ - dir = 4; - dwidth = 9; - height = 11; - id = "emergency_home"; - name = "emergency evac bay"; - width = 22 - }, -/turf/open/floor/plating, -/area/shuttle/escape) +/turf/open/space, +/area/space) "cxo" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -5; @@ -114061,7 +114031,7 @@ bgg aNa aaa bky -blQ +bqh bme bnx bqe @@ -115322,7 +115292,7 @@ aoV aoV aaa aaa -aaa +aaf aaa aaa aaa @@ -115330,17 +115300,17 @@ aaa aaa aaa aNa -aQF -aRW -aTo +aeR aNa -aaa -aaa -aaa +aQE aNa -aTo -aRW -bdA +aaf +aaa +aaf +aNa +aQE +aNa +afE aNa aaa aaa @@ -115579,28 +115549,28 @@ aaa aaa aaa aaa +aaf aaa aaa aaa aaa aaa -cry -cwI -cwI -cxg -cxl -cxn -cwI -crx -crx -crx -cwI -cxK -cxl -cxK -cwI -cwI -cxW +aaa +aNa +aQE +aNa +aQE +aNa +aaf +aaf +aaf +aNa +aQE +aNa +aQE +aNa +aaa +aaa aaa aaf aaf @@ -115838,36 +115808,36 @@ aaa aaa aaa aaa -cry -cwI -cwI -cwT -cwY -cxd -cxe -cwU -cwL -anq -anq -anq -anq -anq -cwL -cwU -cxQ -cxQ -cxU -cwV -cxW +aaa +aaa +aaa +aaa +aaa +aNa +aQF +aRW +aTo +aNa +aaa aaf aaa +aNa +aTo +aRW +bdA +aNa +aaa +aaa +aaf +aaf +aaf bnu bhG bhG -brE +bhG bhG bsJ -bhG +brE bhG bhG bhG @@ -116094,41 +116064,41 @@ aaa aaa aaa aaa +aaa +aaa +aaa +aaa cry -crO -cwK -cwP -cwU -cwY -cxe -cxh -cwU -cxo -cwL -cwL -cwL -cwL -cwL -cxL -cwU -cxQ -cxQ -cxU -cxX -cxZ -aaf -aaf -aaf +cwI +cwI +cxg +cxl +afa +cwI +crx +crx +crx +cwI +cxK +cxl +cxK +cwI +cwI +cxW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa bky -bqh +btq brH -btq -btq bvQ bxt bvQ -btq -btq bCm bDh bEs @@ -116351,41 +116321,41 @@ aaa aaa aaa aaa -crx -crN -cwJ -cwO -cwU +aaa +cry +cwI +cwI +cwT cwY +cxd cxe -cxh cwU cwL -cxq -cxq -cxq -cxq -cxq +anq +anq +anq +anq +anq cwL -cxM +cwU cxQ cxQ -cxV -cxX -cxZ -aaf +cxU +cwV +cxW aaa aaa -bky +aaa +aaa +aaa +aaa +aaa +bZi bqg brG -btp -btp brG btp brG -btp -btp brG bDg bEs @@ -116608,41 +116578,41 @@ aae aaa aaa aaa -crx -cwF -cwL -cwR -cwV -crx -cxf -crx -cxm -cwL -cxr -cxr -cxr -cxr -cxr -cwL +cry +crO +cwK +cwP +cwU +cwY +cxe +cxh +cwU +cxo +cwL +cwL +cwL +cwL +cwL +cxL cwU -cxR cxQ -cxV +cxQ +cxU cxX cxZ -aaf -aaf -aaf -bky -bky +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bZi +btp brI -btp -btp bvR btp byx -btp -btp brI bky bky @@ -116866,34 +116836,34 @@ aaa aaa aaa crx -crQ -cwL -cwQ +crN +cwJ +cwO +cwU +cwY +cxe +cxh cwU -cwZ cwL -cxi -cxj +cxq +cxq +cxq +cxq +cxq cwL -cwL -cwL -cwL -cwL -cwL -cwL -cxN -cwI -cwI -cwI +cxM +cxQ +cxQ +cxV cxX cxZ -aaf aaa aaa aaa -bky -bky -bky +aaa +aaa +aaa +aaa bky bky bky @@ -117125,32 +117095,32 @@ aaa crx cwF cwL -cwL -cwX -cwL -cwL -anq -cxj -cwL -cxq -cxq -cxq -cxq -cxq -cwL +cwR +cwV crx -cxc -cxa -cxc +cxf +crx +cxm +cwL +cxr +cxr +cxr +cxr +cxr +cwL +cwU +cxR +cxQ +cxV cxX cxZ -aaf -aaf aaa aaa -aaf aaa -aaf +aaa +aaa +aaa +aaa aaf aaf aaa @@ -117380,38 +117350,38 @@ aaa aaa aaa crx -cwG -amB -amB -cwW -cxa +crQ cwL -cxj +cwQ +cwU +cwZ +cwL +cxi cxj cwL -cxr -cxr -cxr -cxr -cxr cwL -cxO -cxa -cxa -cxa +cwL +cwL +cwL +cwL +cwL +cxN +cwI +cwI +cwI cxX cxZ -aaf -aaf -aaf -aaf -aaf -aaf aaa aaa aaa aaa aaa +aaa +aaa +aaf +aaa +aaa +aaa aaf aaa aaa @@ -117636,39 +117606,39 @@ aaa aaa aaa aaa -crz -cwH -cwN -cwS -cwU -cxc -cwL -cwL -cwL -cwL +crx +cwF cwL cwL +cwX cwL cwL +anq +cxj cwL +cxq +cxq +cxq +cxq +cxq cwL crx +cxc cxa -cxa -cxa +cxc cxX cxZ -aaf -aaf +aaa +aaa +aaa +aaa +aaa aaa aaa aaf aaa aaa aaa -aaa -aaa -aaa aaf aaa aaa @@ -117893,39 +117863,39 @@ aaa aaa aaa aaa -aaa -crz -cwI -cwI -cwT -cxb -cxa -cxa -cxa -cxp -cxs -cxs -cxs -cxs -cxs -cxp crx -cxS -cxT -cxS -cwV -cxY -aaf -aaf -aaf -aaf -aaf +cwG +amB +amB +cwW +cxa +cwL +cxj +cxj +cwL +cxr +cxr +cxr +cxr +cxr +cwL +cxO +cxa +cxa +cxa +cxX +cxZ aaa aaa aaa aaa aaa aaa +aaa +aaf +aaa +aaa +aaa aaf aaa aaa @@ -118150,36 +118120,36 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa crz +cwH +cwN +cwS +cwU +cxc +cwL +cwL +cwL +cwL +cwL +cwL +cwL +cwL +cwL +cwL crx -cwI -crx -cwI -cwI -cwI -crx -crx -crx -cwI -cwI -cxP -crx -cwI -crx -cxY +cxa +cxa +cxa +cxX +cxZ aaa -aaf -aaf aaa aaa aaa aaa aaa aaa +aaf aaa aaa aaa @@ -118408,20 +118378,27 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +crz +cwI +cwI +cwT +cxb +cxa +cxa +cxa +cxp +cxs +cxs +cxs +cxs +cxs +cxp +crx +cxS +cxT +cxS +cwV +cxY aaa aaa aaa @@ -118436,13 +118413,6 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa aag aaa aaa @@ -118668,6 +118638,23 @@ aaa aaa aaa aaa +crz +crx +cwI +crx +cwI +cwI +cwI +crx +crx +crx +cwI +cwI +cxP +crx +cwI +crx +cxY aaa aaa aaa @@ -118676,16 +118663,6 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aaa -aaa -aaa aaf aaa aaa @@ -118693,13 +118670,6 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa aag aaa aaa @@ -118928,7 +118898,6 @@ aaa aaa aaa aaa -aae aaa aaa aaa @@ -118948,11 +118917,12 @@ aaa aaa aaa aaa -aae -aaa aaa aaa aaa +aaf +aaf +aaf aaa aaa aaa @@ -119209,7 +119179,7 @@ aaa aaa aaa aaa -aaa +cxn aaa aaa aaa @@ -119465,8 +119435,8 @@ aaa aaa aaa aaa -aaa -aaa +aaf +aaf aaa aaa aaa @@ -120727,7 +120697,7 @@ aaa aaa aaa aaa -aaa +aae aaa aaa aaa diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index a2953331701..955b079e46b 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -1625,7 +1625,11 @@ /turf/open/floor/plasteel/black, /area/centcom/ferry) "eP" = ( -/obj/structure/flora/kirbyplants, +/obj/machinery/door/airlock/centcom{ + name = "Centcom Backup Docks"; + opacity = 1; + req_access_txt = "101" + }, /turf/open/floor/plasteel/black, /area/centcom/ferry) "eQ" = ( @@ -1658,12 +1662,11 @@ /turf/open/floor/plasteel/black, /area/centcom/ferry) "eU" = ( -/obj/structure/sign/map/left, -/turf/open/floor/light, +/obj/machinery/shuttle_manipulator, +/turf/open/floor/plasteel/circuit, /area/centcom/ferry) "eV" = ( -/obj/structure/sign/map/right, -/turf/open/floor/light, +/turf/open/floor/plasteel/circuit, /area/centcom/ferry) "eW" = ( /obj/structure/extinguisher_cabinet{ @@ -2358,11 +2361,11 @@ "hh" = ( /obj/docking_port/stationary{ dir = 4; - dwidth = 9; - height = 11; + dwidth = 25; + height = 50; id = "emergency_away"; - name = "Centcom"; - width = 22 + name = "Centcom Emergency Shuttle Dock"; + width = 50 }, /turf/open/space, /area/space) @@ -5875,12 +5878,12 @@ /area/shuttle/escape) "rN" = ( /obj/machinery/status_display{ - layer = 4; - pixel_x = 0; - pixel_y = 32 + density = 0; + pixel_y = 32; + supply_display = 1 }, -/turf/open/floor/plasteel/shuttle/white, -/area/shuttle/escape) +/turf/open/floor/plasteel/black, +/area/centcom/ferry) "rO" = ( /turf/open/floor/plasteel/shuttle/white, /area/shuttle/escape) @@ -5897,7 +5900,9 @@ name = "Backup Shuttle Dock"; width = 8 }, -/obj/docking_port/mobile/emergency/backup, +/obj/docking_port/mobile/emergency/backup{ + dwidth = 3 + }, /turf/open/floor/plating, /area/shuttle/escape) "rR" = ( @@ -5924,21 +5929,37 @@ /turf/open/space/transit, /area/space) "rU" = ( +/obj/structure/flora/kirbyplants, /obj/machinery/status_display{ - density = 0; - pixel_y = -30; - supply_display = 1 + pixel_y = 32 }, -/turf/open/floor/plasteel/shuttle/white, -/area/shuttle/escape) +/turf/open/floor/plasteel/black, +/area/centcom/ferry) "rV" = ( /obj/structure/table/wood, /obj/item/weapon/book/manual/random, /turf/open/floor/plasteel/shuttle/white, /area/shuttle/escape) "rW" = ( -/obj/machinery/shuttle_manipulator, -/turf/open/floor/plasteel/black, +/obj/structure/lattice, +/turf/open/space, +/area/space) +"rX" = ( +/obj/machinery/status_display, +/turf/closed/wall/shuttle/smooth, +/area/shuttle/escape) +"rY" = ( +/turf/open/floor/plasteel/darkwarning{ + tag = "icon-warndark (EAST)"; + icon_state = "warndark"; + dir = 4 + }, +/area/centcom/ferry) +"rZ" = ( +/obj/machinery/door/airlock/external{ + name = "Backup Emergency Escape Shuttle" + }, +/turf/open/floor/plasteel/delivery, /area/centcom/ferry) (1,1,1) = {" @@ -36889,7 +36910,7 @@ ab ab ab ab -ab +rL ab ab ab @@ -38457,7 +38478,7 @@ ab ab ab eJ -eO +rN eO eS eO @@ -38710,11 +38731,11 @@ ab ab ab ab -ab -ab -ab eJ -eP +eJ +eJ +eJ +rU eO eO eO @@ -38967,11 +38988,11 @@ ab ab ab ab -ab -ab -ab eJ -rW +eO +eO +eP +eO eO eO eW @@ -39224,9 +39245,9 @@ ab ab ab ab -ab -ab -ab +eJ +rY +eJ eJ eJ eJ @@ -39481,9 +39502,9 @@ ab ab ab ab -ab -ab -ab +eJ +fQ +eJ ab ab ab @@ -39738,9 +39759,9 @@ ab ab ab ab -ab -ab -ab +eJ +rZ +eJ ab ab ab @@ -39994,14 +40015,14 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab +rM +rM +rQ +rM +rM +rM +rM +rM ab ab eJ @@ -40251,14 +40272,14 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab +rX +rO +rO +rO +rO +rO +rO +rX ab ab eJ @@ -40508,14 +40529,14 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab +rM +rO +rO +rO +rO +rO +rO +rM ab ab fh @@ -40765,14 +40786,14 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab +rM +rP +rP +rP +rP +rO +rP +rM ab ab fh @@ -41022,14 +41043,14 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab +rM +rP +rP +rP +rP +rO +rP +rM ab ab fh @@ -41279,14 +41300,14 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab +rM +rO +rR +rO +rO +rO +rO +rM ab ab fh @@ -41536,14 +41557,14 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab +rX +rO +rS +rV +rO +rO +rO +rX ab ab fh @@ -41793,14 +41814,14 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab +rM +rM +rM +rM +rM +rM +rM +rM ab ab fh @@ -57018,7 +57039,7 @@ ab ab ab ab -rL +ab ab ab ab @@ -64829,16 +64850,16 @@ df dg cT ab -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -65086,16 +65107,16 @@ cT cT cT ab -ad -rM -rM -rQ -rM -rM -rM -rM -rM -ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -65343,16 +65364,16 @@ cU ad ab ab -ad -rM -rN -rO -rO -rO -rO -rU -rM -ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -65600,16 +65621,16 @@ cV ad ab ab -ad -rM -rO -rO -rO -rO -rO -rO -rM -ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -65857,16 +65878,16 @@ cV ad ab ab -ad -rM -rP -rP -rP -rP -rO -rP -rM -ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -66114,16 +66135,16 @@ cV ad ab ab -ad -rM -rP -rP -rP -rP -rO -rP -rM -ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -66371,16 +66392,16 @@ cV ad ab ab -ad -rM -rO -rR -rO -rO -rO -rO -rM -ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -66628,16 +66649,16 @@ cV ad ab ab -ad -rM -rN -rS -rV -rO -rO -rU -rM -ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -66885,16 +66906,16 @@ cV ad ab ab -ad -rM -rM -rM -rM -rM -rM -rM -rM -ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -67142,16 +67163,16 @@ cV ad ab ab -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -71473,6 +71494,6 @@ ab ab ab ab -ab -ab +rW +rW "} diff --git a/_maps/shuttles/cargo_birdboat.dmm b/_maps/shuttles/cargo_birdboat.dmm index 423c397f6c1..345fb45a23a 100644 --- a/_maps/shuttles/cargo_birdboat.dmm +++ b/_maps/shuttles/cargo_birdboat.dmm @@ -14,7 +14,7 @@ "n" = (/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/supply) "o" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/turf/open/floor/plating,/area/shuttle/supply) "p" = (/obj/machinery/button/door{dir = 2; id = "QMLoaddoor2"; name = "Loading Doors"; pixel_x = 24; pixel_y = 8},/obj/machinery/button/door{id = "QMLoaddoor"; name = "Loading Doors"; pixel_x = 24; pixel_y = -8},/obj/machinery/conveyor_switch/oneway{id = "cargoshuttle"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/supply) -"q" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 3; width = 10},/turf/open/floor/plating,/area/shuttle/supply) +"q" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 3; width = 10; timid = 1},/turf/open/floor/plating,/area/shuttle/supply) "r" = (/obj/machinery/door/poddoor{id = "QMLoaddoor"; name = "supply dock loading door"},/obj/machinery/conveyor{dir = 4; id = "cargoshuttle"; name = "cargo shuttle conveyor belt"},/turf/open/floor/plating,/area/shuttle/supply) "s" = (/turf/closed/wall/shuttle{icon_state = "swallc3"},/area/shuttle/supply) "t" = (/turf/closed/wall/shuttle{icon_state = "swall14"; dir = 2},/area/shuttle/supply) diff --git a/_maps/shuttles/cargo_box.dmm b/_maps/shuttles/cargo_box.dmm index 05df2fa52ba..f2fad41946a 100644 --- a/_maps/shuttles/cargo_box.dmm +++ b/_maps/shuttles/cargo_box.dmm @@ -6,7 +6,7 @@ "f" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/poddoor{id = "QMLoaddoor2"; name = "supply dock loading door"},/turf/open/floor/plating,/area/shuttle/supply) "g" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/turf/open/floor/plating,/area/shuttle/supply) "h" = (/obj/machinery/button/door{dir = 2; id = "QMLoaddoor2"; name = "Loading Doors"; pixel_x = 24; pixel_y = 8},/obj/machinery/button/door{id = "QMLoaddoor"; name = "Loading Doors"; pixel_x = 24; pixel_y = -8},/turf/open/floor/plasteel/shuttle,/area/shuttle/supply) -"i" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 5; width = 12},/turf/open/floor/plating,/area/shuttle/supply) +"i" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 5; width = 12; timid = 1},/turf/open/floor/plating,/area/shuttle/supply) "j" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/poddoor{id = "QMLoaddoor"; name = "supply dock loading door"},/turf/open/floor/plating,/area/shuttle/supply) "k" = (/turf/closed/wall/shuttle{icon_state = "swall7"; dir = 2},/area/shuttle/supply) "l" = (/turf/open/floor/plasteel/shuttle,/turf/closed/wall/shuttle/interior{icon_state = "swall_f10"},/area/shuttle/supply) diff --git a/_maps/shuttles/emergency_airless.dmm b/_maps/shuttles/emergency_airless.dmm index d2d0025ee2f..c1a9f4f3b77 100644 --- a/_maps/shuttles/emergency_airless.dmm +++ b/_maps/shuttles/emergency_airless.dmm @@ -5,15 +5,15 @@ "e" = (/obj/structure/closet/malf,/turf/open/floor/plating/airless,/area/shuttle/escape) "f" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/open/floor/plating/airless,/area/shuttle/escape) "g" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/open/floor/plating/airless,/area/shuttle/escape) -"h" = (/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/open/floor/plating/airless,/area/shuttle/escape) +"h" = (/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/open/floor/plating/airless,/area/shuttle/escape) "i" = (/obj/machinery/computer/emergency_shuttle,/turf/open/floor/plating/airless,/area/shuttle/escape) "j" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/open/floor/plating/airless,/area/shuttle/escape) "k" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/open/floor/plating/airless,/area/shuttle/escape) "l" = (/turf/open/floor/plating,/area/shuttle/escape) -"m" = (/obj/structure/chair{dir = 8},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/turf/open/floor/plating/airless,/area/shuttle/escape) +"m" = (/obj/structure/chair{dir = 8},/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/turf/open/floor/plating/airless,/area/shuttle/escape) "n" = (/obj/structure/chair{dir = 4},/turf/open/floor/plating/airless,/area/shuttle/escape) -"o" = (/obj/docking_port/mobile/emergency{name = "Shuttle Under Construction"},/turf/open/floor/plating/airless,/area/shuttle/escape) -"p" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 4; name = "4maintenance loot spawner"},/turf/open/floor/plating/airless,/area/shuttle/escape) +"o" = (/obj/docking_port/mobile/emergency{name = "Shuttle Under Construction";timid = 1},/turf/open/floor/plating/airless,/area/shuttle/escape) +"p" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 4;name = "4maintenance loot spawner"},/turf/open/floor/plating/airless,/area/shuttle/escape) "q" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/open/floor/plating/airless,/area/shuttle/escape) "r" = (/obj/structure/shuttle/engine/propulsion,/turf/open/floor/plating/airless,/area/shuttle/escape) diff --git a/_maps/shuttles/emergency_bar.dmm b/_maps/shuttles/emergency_bar.dmm index 387ebe9f888..320859dd4cb 100644 --- a/_maps/shuttles/emergency_bar.dmm +++ b/_maps/shuttles/emergency_bar.dmm @@ -4,83 +4,105 @@ "ad" = (/obj/structure/table/wood,/obj/item/device/flashlight/lamp/green,/turf/open/floor/carpet,/area/shuttle/escape) "ae" = (/obj/structure/chair/comfy/brown{dir = 1},/turf/open/floor/carpet,/area/shuttle/escape) "af" = (/obj/machinery/computer/emergency_shuttle,/turf/open/floor/carpet,/area/shuttle/escape) -"ag" = (/obj/structure/table/wood,/obj/item/weapon/storage/fancy/cigarettes/cigars/havana,/obj/item/weapon/lighter{pixel_x = -4; pixel_y = 6},/turf/open/floor/carpet,/area/shuttle/escape) +"ag" = (/obj/structure/table/wood,/obj/item/weapon/storage/fancy/cigarettes/cigars/havana,/obj/item/weapon/lighter{pixel_x = -4;pixel_y = 6},/turf/open/floor/carpet,/area/shuttle/escape) "ah" = (/obj/machinery/computer/atmos_alert,/turf/open/floor/carpet,/area/shuttle/escape) "ai" = (/obj/structure/chair/comfy/brown{dir = 8},/turf/open/floor/carpet,/area/shuttle/escape) "aj" = (/turf/open/floor/carpet,/area/shuttle/escape) "ak" = (/obj/structure/chair/comfy/brown{dir = 4},/turf/open/floor/carpet,/area/shuttle/escape) "al" = (/obj/machinery/computer/security,/turf/open/floor/carpet,/area/shuttle/escape) "am" = (/obj/machinery/computer/crew,/turf/open/floor/carpet,/area/shuttle/escape) -"an" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/obj/structure/chair/comfy/brown{dir = 8},/turf/open/floor/carpet,/area/shuttle/escape) -"ao" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -29},/turf/open/floor/carpet,/area/shuttle/escape) -"ap" = (/obj/machinery/button/flasher{id = "cockpit_flasher"; pixel_x = 6; pixel_y = -24},/obj/structure/statue/diamond/captain{anchored = 1; name = "statue of THE captain"},/turf/open/floor/carpet,/area/shuttle/escape) +"an" = (/obj/structure/extinguisher_cabinet{pixel_x = 0;pixel_y = -30},/obj/structure/chair/comfy/brown{dir = 8},/turf/open/floor/carpet,/area/shuttle/escape) +"ao" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)";pixel_x = 0;pixel_y = -29},/turf/open/floor/carpet,/area/shuttle/escape) +"ap" = (/obj/machinery/button/flasher{id = "cockpit_flasher";pixel_x = 6;pixel_y = -24},/obj/structure/statue/diamond/captain{anchored = 1;name = "statue of THE captain"},/turf/open/floor/carpet,/area/shuttle/escape) "aq" = (/obj/machinery/computer/communications,/turf/open/floor/carpet,/area/shuttle/escape) -"ar" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Cockpit"; req_access_txt = "19"},/turf/open/floor/carpet,/area/shuttle/escape) +"ar" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Cockpit";req_access_txt = "19"},/turf/open/floor/carpet,/area/shuttle/escape) "as" = (/obj/machinery/status_display,/turf/closed/wall/shuttle/smooth,/area/shuttle/escape) "at" = (/obj/structure/chair,/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"au" = (/obj/machinery/flasher{id = "cockpit_flasher"; pixel_x = 6; pixel_y = 24},/obj/structure/flora/kirbyplants{icon_state = "plant-10"; layer = 4.1},/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"au" = (/obj/machinery/flasher{id = "cockpit_flasher";pixel_x = 6;pixel_y = 24},/obj/structure/flora/kirbyplants{icon_state = "plant-10";layer = 4.1},/turf/open/floor/plasteel/bar,/area/shuttle/escape) "av" = (/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aw" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"ax" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"ay" = (/obj/machinery/flasher{id = "shuttle_flasher"; pixel_x = -24; pixel_y = 6},/obj/machinery/button/flasher{id = "shuttle_flasher"; pixel_x = -24; pixel_y = -6},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"aw" = (/obj/structure/piano,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"ax" = (/obj/structure/chair/stool,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"ay" = (/obj/machinery/flasher{id = "shuttle_flasher";pixel_x = -24;pixel_y = 6},/obj/machinery/button/flasher{id = "shuttle_flasher";pixel_x = -24;pixel_y = -6},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) "az" = (/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"aA" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Brig"; req_access_txt = "2"},/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aB" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"; req_access_txt = "2"},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"aC" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"aA" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Brig";req_access_txt = "2"},/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aB" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock";req_access_txt = "2"},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"aC" = (/obj/structure/extinguisher_cabinet{pixel_x = 0;pixel_y = -30},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) "aD" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) "aE" = (/obj/structure/chair/wood{dir = 4},/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aF" = (/obj/structure/table/wood,/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aG" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aH" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{name = "The Emergency Escape Bar"},/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aI" = (/obj/structure/table,/obj/machinery/chem_dispenser/drinks/beer,/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aJ" = (/obj/structure/chair,/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aK" = (/mob/living/simple_animal/drone/snowflake/bardrone,/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aL" = (/obj/machinery/vending/boozeomat,/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aM" = (/obj/structure/table,/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aN" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker,/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 6; pixel_y = 4},/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aO" = (/obj/structure/table,/obj/machinery/chem_dispenser/drinks,/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aP" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aQ" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aR" = (/obj/structure/chair/stool,/turf/open/floor/wood,/area/shuttle/escape) -"aS" = (/obj/structure/table/wood/poker,/obj/effect/spawner/lootdrop/gambling,/turf/open/floor/wood,/area/shuttle/escape) -"aT" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aU" = (/obj/machinery/vending/cigarette,/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"aV" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) -"aW" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) -"aX" = (/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) -"aY" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) -"aZ" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) -"ba" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) -"bb" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) -"bc" = (/obj/machinery/door/airlock{name = "Unit B"},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) -"bd" = (/obj/structure/closet/jcloset,/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) -"be" = (/obj/structure/toilet{dir = 1},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) -"bf" = (/obj/machinery/recharge_station,/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) -"bg" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) -"bh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/open/floor/plating/airless,/area/shuttle/escape) -"bi" = (/obj/structure/shuttle/engine/propulsion,/turf/open/floor/plating/airless,/area/shuttle/escape) +"aF" = (/obj/structure/table/wood/bar{boot_dir = 9},/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aG" = (/obj/structure/table/wood/bar,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aH" = (/obj/structure/table/wood/bar{boot_dir = 8},/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aI" = (/obj/structure/extinguisher_cabinet{pixel_x = 27;pixel_y = 0},/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aJ" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{name = "The Emergency Escape Bar";timid = 1},/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aK" = (/mob/living/simple_animal/hostile/alien/maid/barmaid,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aL" = (/obj/structure/table,/obj/machinery/chem_dispenser/drinks/beer,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aM" = (/obj/structure/chair,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aN" = (/mob/living/simple_animal/drone/snowflake/bardrone,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aO" = (/obj/machinery/vending/boozeomat,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aP" = (/obj/structure/table,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aQ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker,/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 6;pixel_y = 4},/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aR" = (/obj/structure/table,/obj/machinery/chem_dispenser/drinks,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aS" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aT" = (/obj/structure/table/wood/bar{boot_dir = 10},/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aU" = (/obj/structure/table/wood/bar{boot_dir = 2},/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aV" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aW" = (/obj/structure/chair/stool,/turf/open/floor/wood,/area/shuttle/escape) +"aX" = (/obj/structure/table/wood/poker,/obj/effect/spawner/lootdrop/gambling,/turf/open/floor/wood,/area/shuttle/escape) +"aY" = (/obj/structure/extinguisher_cabinet{pixel_x = 0;pixel_y = -30},/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"aZ" = (/obj/machinery/vending/cigarette,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"ba" = (/obj/machinery/door/airlock{name = "Unisex Restrooms";req_access_txt = "0"},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) +"bb" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) +"bc" = (/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) +"bd" = (/obj/structure/extinguisher_cabinet{pixel_x = -5;pixel_y = 30},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) +"be" = (/obj/structure/sink{dir = 4;icon_state = "sink";pixel_x = 11;pixel_y = 0},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) +"bf" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) +"bg" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) +"bh" = (/obj/machinery/door/airlock{name = "Unit B"},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) +"bi" = (/obj/structure/closet/jcloset,/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) +"bj" = (/obj/structure/toilet{dir = 1},/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) +"bk" = (/obj/machinery/recharge_station,/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) +"bl" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2;pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/plasteel{icon_state = "freezerfloor"},/area/shuttle/escape) +"bm" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/open/floor/plating/airless,/area/shuttle/escape) +"bn" = (/obj/structure/shuttle/engine/propulsion,/turf/open/floor/plating/airless,/area/shuttle/escape) +"bE" = (/turf/closed/wall/shuttle{tag = "icon-gwall_space (EAST)";icon_state = "gwall_space";dir = 4},/area/shuttle/escape) +"bD" = (/turf/closed/wall/shuttle{tag = "icon-wall3";icon_state = "wall3";dir = 2},/area/shuttle/escape) +"bC" = (/turf/closed/wall/shuttle{tag = "icon-gwall_space";icon_state = "gwall_space";dir = 2},/area/shuttle/escape) +"bB" = (/turf/closed/wall/shuttle{icon_state = "swall11";dir = 2},/area/shuttle/escape) +"bA" = (/turf/closed/wall/shuttle{icon_state = "swallc2";dir = 2},/area/shuttle/escape) +"bz" = (/turf/closed/wall/shuttle{icon_state = "swall1";dir = 2},/area/shuttle/escape) +"by" = (/turf/closed/wall/shuttle{icon_state = "swall7";dir = 2},/area/shuttle/escape) +"bx" = (/turf/closed/wall/shuttle{icon_state = "swall4";dir = 2},/area/shuttle/escape) +"bw" = (/turf/closed/wall/shuttle{icon_state = "swall8";dir = 2},/area/shuttle/escape) +"bv" = (/turf/closed/wall/shuttle{icon_state = "swall14";dir = 2},/area/shuttle/escape) +"bu" = (/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/shuttle/escape) +"bt" = (/turf/closed/wall/shuttle{tag = "icon-swall13";icon_state = "swall13";dir = 2},/area/shuttle/escape) +"bs" = (/turf/closed/wall/shuttle{icon_state = "swall3";dir = 2},/area/shuttle/escape) +"br" = (/turf/closed/wall/shuttle{tag = "icon-swallc3";icon_state = "swallc3";dir = 2},/area/shuttle/escape) +"bq" = (/turf/closed/wall/shuttle{icon_state = "swallc4";dir = 2},/area/shuttle/escape) +"bp" = (/turf/closed/wall/shuttle{icon_state = "swall_s10";dir = 2},/area/shuttle/escape) +"bo" = (/turf/closed/wall/shuttle{icon_state = "swall_s6";dir = 2},/area/shuttle/escape) (1,1,1) = {" -aaaaabacacacacacabaaaa -aaababadaeafaeagababaa -aaabahaiajajajakalabaa -aaabamanaoapajakaqabaa -ababababababarasababab -abatatatacauavavawaxac -abayazazaAavavavavavab -aBaCaDaDacavaEaFaFaFac -abababababavaEaFavaGab -aHavavavavavaEaFavaIab -abaJaJaJavavaEaFaKaLab -acaMaNaMavavaEaFavaOac -acaPaPaPavavaEaFavavac -acavavavavavaEaFaFaFac -abavavavavavavavavavab -aQavaRaSaRaTavavavaUab -ababababababababaVabab -aWaXaXaXaXaXaYaXaXaZac -abbaabbbabbcabbdaXaZab -abbeabbeabbfabbgaXaZac -ababbhbhbhbhbhbhbhabab -aaabbibibibibibibiabaa +aaaaboacacacacacbpaaaa +aabobqadaeafaeagbrbpaa +aabsahaiajajajakalbsaa +aabsamanaoapajakaqbsaa +bobtbububvbwarasbxbtbp +bsatatatacauavavawaxac +bsayazazaAavavavavavbs +aBaCaDaDacavaEaFaGaGac +bybubububqavaEaHavaIbs +aJavavavavavaEaHaKaLbs +bsaMaMaMavavaEaHaNaObs +acaPaQaPavavaEaHavaRac +acaSaSaSavavaEaHavavac +acavavavavavaEaTaUaUac +bzavavavavavavavavavbs +aVavaWaXaWaYavavavaZbs +bAbububububububwbabxbB +bbbcbcbcbcbcbdbcbcbeac +bsbfabbgabbhabbibcbebs +bzbjbzbjbzbkbzblbcbeac +bCbDbmbmbmbmbmbmbmbDbE +aabDbnbnbnbnbnbnbnbDaa "} diff --git a/_maps/shuttles/emergency_birdboat.dmm b/_maps/shuttles/emergency_birdboat.dmm index 05f356775bd..80b1bc6fb43 100644 --- a/_maps/shuttles/emergency_birdboat.dmm +++ b/_maps/shuttles/emergency_birdboat.dmm @@ -1,63 +1,63 @@ "aa" = (/turf/open/space,/area/space) -"ab" = (/turf/closed/wall/shuttle{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape) -"ac" = (/turf/closed/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/escape) -"ad" = (/turf/closed/wall/shuttle{icon_state = "swall14"; dir = 2},/area/shuttle/escape) -"ae" = (/turf/closed/wall/shuttle{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape) -"af" = (/turf/closed/wall/shuttle{icon_state = "swall8"; dir = 2},/area/shuttle/escape) +"ab" = (/turf/closed/wall/shuttle{icon_state = "swall_s6";dir = 2},/area/shuttle/escape) +"ac" = (/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/shuttle/escape) +"ad" = (/turf/closed/wall/shuttle{icon_state = "swall14";dir = 2},/area/shuttle/escape) +"ae" = (/turf/closed/wall/shuttle{icon_state = "swall_s10";dir = 2},/area/shuttle/escape) +"af" = (/turf/closed/wall/shuttle{icon_state = "swall8";dir = 2},/area/shuttle/escape) "ag" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating,/area/shuttle/escape) -"ah" = (/turf/closed/wall/shuttle{icon_state = "swall4"; dir = 2},/area/shuttle/escape) -"ai" = (/turf/closed/wall/shuttle{icon_state = "swall11"; dir = 2},/area/shuttle/escape) -"aj" = (/obj/structure/table,/obj/item/weapon/scalpel,/obj/item/weapon/retractor{pixel_x = 0; pixel_y = 5},/obj/item/weapon/hemostat,/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) +"ah" = (/turf/closed/wall/shuttle{icon_state = "swall4";dir = 2},/area/shuttle/escape) +"ai" = (/turf/closed/wall/shuttle{icon_state = "swall11";dir = 2},/area/shuttle/escape) +"aj" = (/obj/structure/table,/obj/item/weapon/scalpel,/obj/item/weapon/retractor{pixel_x = 0;pixel_y = 5},/obj/item/weapon/hemostat,/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) "ak" = (/obj/structure/table,/obj/item/weapon/cautery,/obj/item/weapon/surgicaldrill,/obj/item/weapon/circular_saw{pixel_y = 9},/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) "al" = (/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) -"am" = (/turf/closed/wall/shuttle{icon_state = "swall3"; dir = 2},/area/shuttle/escape) -"an" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 8},/turf/open/floor/plating/airless,/area/shuttle/escape) -"ao" = (/turf/closed/wall/shuttle{icon_state = "swallc4"; dir = 2},/area/shuttle/escape) +"am" = (/turf/closed/wall/shuttle{icon_state = "swall3";dir = 2},/area/shuttle/escape) +"an" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r";dir = 8},/turf/open/floor/plating/airless,/area/shuttle/escape) +"ao" = (/turf/closed/wall/shuttle{icon_state = "swallc4";dir = 2},/area/shuttle/escape) "ap" = (/obj/machinery/computer/emergency_shuttle,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "aq" = (/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "ar" = (/obj/structure/flora/kirbyplants{icon_state = "plant-22"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"as" = (/turf/closed/wall/shuttle{icon_state = "swall1"; dir = 2},/area/shuttle/escape) +"as" = (/turf/closed/wall/shuttle{icon_state = "swall1";dir = 2},/area/shuttle/escape) "at" = (/obj/structure/chair,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor4"},/area/shuttle/escape) "au" = (/obj/structure/table/optable,/obj/item/weapon/surgical_drapes,/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) -"av" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/open/floor/plating/airless,/area/shuttle/escape) +"av" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion";dir = 8},/turf/open/floor/plating/airless,/area/shuttle/escape) "aw" = (/obj/machinery/computer/communications,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "ax" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"ay" = (/obj/machinery/door/airlock/glass_command{name = "bridge door"; req_access_txt = "19"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"ay" = (/obj/machinery/door/airlock/glass_command{name = "bridge door";req_access_txt = "19"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "az" = (/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor4"},/area/shuttle/escape) -"aA" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/turf/open/floor/plating/airless,/area/shuttle/escape) +"aA" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l";dir = 8},/turf/open/floor/plating/airless,/area/shuttle/escape) "aB" = (/obj/structure/extinguisher_cabinet{pixel_y = -32},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"aC" = (/obj/structure/table,/obj/machinery/recharger{active_power_usage = 0; idle_power_usage = 0; pixel_y = 4; use_power = 0},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor4"},/area/shuttle/escape) +"aC" = (/obj/structure/table,/obj/machinery/recharger{active_power_usage = 0;idle_power_usage = 0;pixel_y = 4;use_power = 0},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor4"},/area/shuttle/escape) "aD" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor4"},/area/shuttle/escape) -"aE" = (/turf/closed/wall/shuttle{icon_state = "swallc2"; dir = 2},/area/shuttle/escape) -"aF" = (/turf/closed/wall/shuttle{icon_state = "swall15"; dir = 2},/area/shuttle/escape) -"aG" = (/turf/closed/wall/shuttle{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape) +"aE" = (/turf/closed/wall/shuttle{icon_state = "swallc2";dir = 2},/area/shuttle/escape) +"aF" = (/turf/closed/wall/shuttle{icon_state = "swall15";dir = 2},/area/shuttle/escape) +"aG" = (/turf/closed/wall/shuttle{icon_state = "swall_s9";dir = 2},/area/shuttle/escape) "aH" = (/turf/closed/wall/shuttle,/area/shuttle/escape) -"aI" = (/obj/machinery/door/airlock/glass_security{name = "security airlock"; req_access_txt = "63"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor4"},/area/shuttle/escape) +"aI" = (/obj/machinery/door/airlock/glass_security{name = "security airlock";req_access_txt = "63"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor4"},/area/shuttle/escape) "aJ" = (/obj/machinery/door/airlock/glass,/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) "aK" = (/turf/closed/wall/shuttle{icon_state = "swallc3"},/area/shuttle/escape) -"aL" = (/turf/closed/wall/shuttle{icon_state = "swall13"; dir = 2},/area/shuttle/escape) -"aM" = (/obj/structure/flora/kirbyplants{icon_state = "plant-21"; layer = 4.1},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"aL" = (/turf/closed/wall/shuttle{icon_state = "swall13";dir = 2},/area/shuttle/escape) +"aM" = (/obj/structure/flora/kirbyplants{icon_state = "plant-21";layer = 4.1},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aN" = (/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aO" = (/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) "aP" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) "aQ" = (/obj/structure/table,/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) "aR" = (/obj/machinery/door/airlock/shuttle,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aS" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) -"aT" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti{name = "pasghetti"; pixel_x = 4; pixel_y = 7},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) -"aU" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency{dheight = 0; dir = 8; dwidth = 6; height = 18; travelDir = 90; width = 14},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"aT" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti{name = "pasghetti";pixel_x = 4;pixel_y = 7},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) +"aU" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency{dheight = 0;dir = 8;dwidth = 6;height = 18;travelDir = 90;width = 14;timid = 1},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aV" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) "aW" = (/obj/structure/chair{dir = 1},/obj/structure/window/reinforced,/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) -"aX" = (/turf/closed/wall/shuttle{icon_state = "swall2"; dir = 2},/area/shuttle/escape) -"aY" = (/obj/structure/chair,/obj/structure/window/reinforced{dir = 1; pixel_y = 2},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) +"aX" = (/turf/closed/wall/shuttle{icon_state = "swall2";dir = 2},/area/shuttle/escape) +"aY" = (/obj/structure/chair,/obj/structure/window/reinforced{dir = 1;pixel_y = 2},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) "aZ" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) -"ba" = (/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/toxin,/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) -"bb" = (/turf/closed/wall/shuttle{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape) -"bc" = (/turf/closed/wall/shuttle{icon_state = "swallc1"; dir = 2},/area/shuttle/escape) +"ba" = (/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5;pixel_y = 5},/obj/item/weapon/storage/firstaid/toxin,/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) +"bb" = (/turf/closed/wall/shuttle{icon_state = "swall_s5";dir = 2},/area/shuttle/escape) +"bc" = (/turf/closed/wall/shuttle{icon_state = "swallc1";dir = 2},/area/shuttle/escape) "bd" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) -"be" = (/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/brute{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/brute,/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) +"be" = (/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/brute{pixel_x = 5;pixel_y = 5},/obj/item/weapon/storage/firstaid/brute,/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) "bf" = (/obj/structure/extinguisher_cabinet{pixel_y = -32},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "bg" = (/obj/structure/chair,/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) -"bh" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 1},/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) +"bh" = (/obj/machinery/sleeper{icon_state = "sleeper-open";dir = 1},/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) "bi" = (/obj/structure/table/glass,/obj/item/weapon/defibrillator/loaded,/turf/open/floor/plasteel{icon_state = "white"},/area/shuttle/escape) (1,1,1) = {" diff --git a/_maps/shuttles/emergency_box.dmm b/_maps/shuttles/emergency_box.dmm index 87cc48d438c..159e7b94fd1 100644 --- a/_maps/shuttles/emergency_box.dmm +++ b/_maps/shuttles/emergency_box.dmm @@ -1,65 +1,65 @@ "aa" = (/turf/open/space,/area/space) -"ab" = (/turf/closed/wall/shuttle{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape) +"ab" = (/turf/closed/wall/shuttle{icon_state = "swall_s6";dir = 2},/area/shuttle/escape) "ac" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating,/area/shuttle/escape) -"ad" = (/turf/closed/wall/shuttle{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape) +"ad" = (/turf/closed/wall/shuttle{icon_state = "swall_s10";dir = 2},/area/shuttle/escape) "ae" = (/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/turf/closed/wall/shuttle/interior{icon_state = "swall_f9"},/area/shuttle/escape) "af" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "ag" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "ah" = (/obj/machinery/computer/emergency_shuttle,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"ai" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"ai" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2;pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aj" = (/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/turf/closed/wall/shuttle/interior{icon_state = "swall_f5"},/area/shuttle/escape) -"ak" = (/turf/closed/wall/shuttle{icon_state = "swall3"; dir = 2},/area/shuttle/escape) +"ak" = (/turf/closed/wall/shuttle{icon_state = "swall3";dir = 2},/area/shuttle/escape) "al" = (/obj/machinery/computer/atmos_alert,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "am" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "an" = (/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "ao" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "ap" = (/obj/machinery/computer/security,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aq" = (/obj/machinery/computer/crew,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) -"ar" = (/obj/structure/chair{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"as" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -29},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"at" = (/obj/machinery/button/flasher{id = "cockpit_flasher"; pixel_x = 6; pixel_y = -24},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"ar" = (/obj/structure/chair{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 0;pixel_y = -30},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"as" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)";pixel_x = 0;pixel_y = -29},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"at" = (/obj/machinery/button/flasher{id = "cockpit_flasher";pixel_x = 6;pixel_y = -24},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "au" = (/obj/machinery/computer/communications,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) -"av" = (/turf/closed/wall/shuttle{icon_state = "swall13"; dir = 2},/area/shuttle/escape) -"aw" = (/turf/closed/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/escape) -"ax" = (/turf/closed/wall/shuttle{icon_state = "swall14"; dir = 2},/area/shuttle/escape) -"ay" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Cockpit"; req_access_txt = "19"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"az" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/escape) +"av" = (/turf/closed/wall/shuttle{icon_state = "swall13";dir = 2},/area/shuttle/escape) +"aw" = (/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/shuttle/escape) +"ax" = (/turf/closed/wall/shuttle{icon_state = "swall14";dir = 2},/area/shuttle/escape) +"ay" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Cockpit";req_access_txt = "19"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"az" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/shuttle/escape) "aA" = (/obj/structure/chair,/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"aB" = (/obj/machinery/flasher{id = "cockpit_flasher"; pixel_x = 6; pixel_y = 24},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"aB" = (/obj/machinery/flasher{id = "cockpit_flasher";pixel_x = 6;pixel_y = 24},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aC" = (/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aD" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) -"aE" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) -"aF" = (/obj/machinery/flasher{id = "shuttle_flasher"; pixel_x = -24; pixel_y = 6},/obj/machinery/button/flasher{id = "shuttle_flasher"; pixel_x = -24; pixel_y = -6},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"aE" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2;pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"aF" = (/obj/machinery/flasher{id = "shuttle_flasher";pixel_x = -24;pixel_y = 6},/obj/machinery/button/flasher{id = "shuttle_flasher";pixel_x = -24;pixel_y = -6},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) "aG" = (/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"aH" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Brig"; req_access_txt = "2"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"aI" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"; req_access_txt = "2"},/turf/open/floor/plating,/area/shuttle/escape) +"aH" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Brig";req_access_txt = "2"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aI" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock";req_access_txt = "2"},/turf/open/floor/plating,/area/shuttle/escape) "aJ" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) "aK" = (/obj/structure/chair,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aL" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aM" = (/obj/structure/table,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) -"aN" = (/turf/closed/wall/shuttle{icon_state = "swall7"; dir = 2},/area/shuttle/escape) -"aO" = (/turf/closed/wall/shuttle{icon_state = "swallc4"; dir = 2},/area/shuttle/escape) -"aP" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency,/turf/open/floor/plating,/area/shuttle/escape) -"aQ" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"aR" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aN" = (/turf/closed/wall/shuttle{icon_state = "swall7";dir = 2},/area/shuttle/escape) +"aO" = (/turf/closed/wall/shuttle{icon_state = "swallc4";dir = 2},/area/shuttle/escape) +"aP" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{timid = 1},/turf/open/floor/plating,/area/shuttle/escape) +"aQ" = (/obj/structure/extinguisher_cabinet{pixel_x = -5;pixel_y = 30},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aR" = (/obj/structure/extinguisher_cabinet{pixel_x = 27;pixel_y = 0},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "aS" = (/obj/structure/chair{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aT" = (/obj/structure/chair{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aU" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aV" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plating,/area/shuttle/escape) -"aW" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aW" = (/obj/structure/extinguisher_cabinet{pixel_x = 0;pixel_y = -30},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "aX" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Cargo"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"aY" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall14"; dir = 2},/area/shuttle/escape) +"aY" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall14";dir = 2},/area/shuttle/escape) "aZ" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Infirmary"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"ba" = (/turf/closed/wall/shuttle{icon_state = "swall11"; dir = 2},/area/shuttle/escape) +"ba" = (/turf/closed/wall/shuttle{icon_state = "swall11";dir = 2},/area/shuttle/escape) "bb" = (/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor2"},/area/shuttle/escape) -"bc" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor2"},/area/shuttle/escape) -"bd" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 8},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) -"be" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bc" = (/obj/structure/extinguisher_cabinet{pixel_x = 27;pixel_y = 0},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor2"},/area/shuttle/escape) +"bd" = (/obj/machinery/sleeper{icon_state = "sleeper-open";dir = 8},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"be" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2;pixel_y = 3},/obj/item/weapon/crowbar,/obj/structure/extinguisher_cabinet{pixel_x = 27;pixel_y = 0},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "bf" = (/obj/structure/closet,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor2"},/area/shuttle/escape) "bg" = (/obj/structure/closet/crate,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor2"},/area/shuttle/escape) -"bh" = (/turf/closed/wall/shuttle{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape) +"bh" = (/turf/closed/wall/shuttle{icon_state = "swall_s5";dir = 2},/area/shuttle/escape) "bi" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/open/floor/plating/airless,/area/shuttle/escape) -"bj" = (/turf/closed/wall/shuttle{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape) +"bj" = (/turf/closed/wall/shuttle{icon_state = "swall_s9";dir = 2},/area/shuttle/escape) "bk" = (/obj/structure/shuttle/engine/propulsion,/turf/open/floor/plating/airless,/area/shuttle/escape) (1,1,1) = {" diff --git a/_maps/shuttles/emergency_clown.dmm b/_maps/shuttles/emergency_clown.dmm index 2e082b3e67e..a80e41e756f 100644 --- a/_maps/shuttles/emergency_clown.dmm +++ b/_maps/shuttles/emergency_clown.dmm @@ -1,64 +1,64 @@ "aa" = (/turf/open/space,/area/space) -"ab" = (/turf/closed/wall/shuttle{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape) +"ab" = (/turf/closed/wall/shuttle{icon_state = "swall_s6";dir = 2},/area/shuttle/escape) "ac" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating,/area/shuttle/escape) -"ad" = (/turf/closed/wall/shuttle{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape) +"ad" = (/turf/closed/wall/shuttle{icon_state = "swall_s10";dir = 2},/area/shuttle/escape) "ae" = (/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/turf/closed/wall/shuttle/interior{icon_state = "swall_f9"},/area/shuttle/escape) "af" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/turf/open/floor/noslip,/area/shuttle/escape) "ag" = (/obj/structure/chair{dir = 1},/turf/open/floor/bluespace,/area/shuttle/escape) "ah" = (/obj/machinery/computer/emergency_shuttle,/turf/open/floor/bluespace,/area/shuttle/escape) -"ai" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/noslip,/area/shuttle/escape) +"ai" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2;pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/noslip,/area/shuttle/escape) "aj" = (/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/turf/closed/wall/shuttle/interior{icon_state = "swall_f5"},/area/shuttle/escape) -"ak" = (/turf/closed/wall/shuttle{icon_state = "swall3"; dir = 2},/area/shuttle/escape) +"ak" = (/turf/closed/wall/shuttle{icon_state = "swall3";dir = 2},/area/shuttle/escape) "al" = (/obj/machinery/computer/atmos_alert,/turf/open/floor/noslip,/area/shuttle/escape) "am" = (/obj/structure/chair{dir = 8},/turf/open/floor/bluespace,/area/shuttle/escape) "an" = (/obj/item/toy/snappop,/turf/open/floor/bluespace,/area/shuttle/escape) "ao" = (/obj/structure/chair{dir = 4},/turf/open/floor/bluespace,/area/shuttle/escape) "ap" = (/obj/machinery/computer/security,/turf/open/floor/noslip,/area/shuttle/escape) "aq" = (/obj/machinery/computer/crew,/turf/open/floor/noslip,/area/shuttle/escape) -"ar" = (/obj/structure/chair{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/open/floor/bluespace,/area/shuttle/escape) -"as" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -29},/obj/item/toy/snappop,/turf/open/floor/bluespace,/area/shuttle/escape) +"ar" = (/obj/structure/chair{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 0;pixel_y = -30},/turf/open/floor/bluespace,/area/shuttle/escape) +"as" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)";pixel_x = 0;pixel_y = -29},/obj/item/toy/snappop,/turf/open/floor/bluespace,/area/shuttle/escape) "at" = (/obj/machinery/computer/communications,/turf/open/floor/noslip,/area/shuttle/escape) -"au" = (/turf/closed/wall/shuttle{icon_state = "swall13"; dir = 2},/area/shuttle/escape) -"av" = (/turf/closed/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/escape) -"aw" = (/turf/closed/wall/shuttle{icon_state = "swall14"; dir = 2},/area/shuttle/escape) -"ax" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Premium Lounge"; req_access_txt = "0"},/turf/open/floor/bluespace,/area/shuttle/escape) -"ay" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/escape) +"au" = (/turf/closed/wall/shuttle{icon_state = "swall13";dir = 2},/area/shuttle/escape) +"av" = (/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/shuttle/escape) +"aw" = (/turf/closed/wall/shuttle{icon_state = "swall14";dir = 2},/area/shuttle/escape) +"ax" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Premium Lounge";req_access_txt = "0"},/turf/open/floor/bluespace,/area/shuttle/escape) +"ay" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/shuttle/escape) "az" = (/turf/open/chasm/straight_down/lava_land_surface,/area/shuttle/escape) "aA" = (/turf/open/floor/noslip,/area/shuttle/escape) "aB" = (/obj/structure/closet/emcloset,/obj/item/toy/sword,/turf/open/floor/noslip,/area/shuttle/escape) -"aC" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/noslip,/area/shuttle/escape) -"aD" = (/obj/item/weapon/greentext{anchored = 1},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"aE" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Brig"; req_access_txt = "2"},/turf/open/floor/bluespace,/area/shuttle/escape) +"aC" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2;pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/noslip,/area/shuttle/escape) +"aD" = (/obj/item/weapon/greentext/quiet{anchored = 1},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"aE" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Brig";req_access_txt = "2"},/turf/open/floor/bluespace,/area/shuttle/escape) "aF" = (/obj/structure/chair,/turf/open/floor/noslip,/area/shuttle/escape) "aG" = (/obj/structure/chair{dir = 4},/turf/open/floor/noslip,/area/shuttle/escape) "aH" = (/obj/structure/table,/obj/item/device/multitool/ai_detect,/turf/open/floor/noslip,/area/shuttle/escape) -"aI" = (/turf/closed/wall/shuttle{icon_state = "swall7"; dir = 2},/area/shuttle/escape) -"aJ" = (/turf/closed/wall/shuttle{icon_state = "swallc4"; dir = 2},/area/shuttle/escape) +"aI" = (/turf/closed/wall/shuttle{icon_state = "swall7";dir = 2},/area/shuttle/escape) +"aJ" = (/turf/closed/wall/shuttle{icon_state = "swallc4";dir = 2},/area/shuttle/escape) "aK" = (/obj/structure/table,/obj/item/toy/sword,/turf/open/floor/noslip,/area/shuttle/escape) -"aL" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{name = "Snappop(tm)!"},/turf/open/floor/plating,/area/shuttle/escape) -"aM" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/item/toy/snappop,/turf/open/floor/bluespace,/area/shuttle/escape) -"aN" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/item/toy/snappop,/turf/open/floor/bluespace,/area/shuttle/escape) +"aL" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{name = "Snappop(tm)!";timid = 1},/turf/open/floor/plating,/area/shuttle/escape) +"aM" = (/obj/structure/extinguisher_cabinet{pixel_x = -5;pixel_y = 30},/obj/item/toy/snappop,/turf/open/floor/bluespace,/area/shuttle/escape) +"aN" = (/obj/structure/extinguisher_cabinet{pixel_x = 27;pixel_y = 0},/obj/item/toy/snappop,/turf/open/floor/bluespace,/area/shuttle/escape) "aO" = (/obj/structure/bed,/obj/item/weapon/bedsheet/random,/turf/open/floor/noslip,/area/shuttle/escape) "aP" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/bed,/obj/item/weapon/bedsheet/random,/turf/open/floor/noslip,/area/shuttle/escape) "aQ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/bed,/obj/item/weapon/bedsheet/random,/turf/open/floor/noslip,/area/shuttle/escape) "aR" = (/obj/structure/bed,/obj/item/weapon/bedsheet/random,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/noslip,/area/shuttle/escape) "aS" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plating,/area/shuttle/escape) -"aT" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/obj/item/toy/snappop,/turf/open/floor/bluespace,/area/shuttle/escape) +"aT" = (/obj/structure/extinguisher_cabinet{pixel_x = 0;pixel_y = -30},/obj/item/toy/snappop,/turf/open/floor/bluespace,/area/shuttle/escape) "aU" = (/obj/item/toy/snappop,/obj/item/toy/snappop,/turf/open/floor/bluespace,/area/shuttle/escape) "aV" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Cargo"},/turf/open/floor/bluespace,/area/shuttle/escape) -"aW" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall14"; dir = 2},/area/shuttle/escape) +"aW" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall14";dir = 2},/area/shuttle/escape) "aX" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Infirmary"},/turf/open/floor/bluespace,/area/shuttle/escape) -"aY" = (/turf/closed/wall/shuttle{icon_state = "swall11"; dir = 2},/area/shuttle/escape) +"aY" = (/turf/closed/wall/shuttle{icon_state = "swall11";dir = 2},/area/shuttle/escape) "aZ" = (/turf/open/floor/mineral/bananium,/area/shuttle/escape) -"ba" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/open/floor/mineral/bananium,/area/shuttle/escape) -"bb" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 8},/turf/open/floor/noslip,/area/shuttle/escape) -"bc" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/open/floor/noslip,/area/shuttle/escape) +"ba" = (/obj/structure/extinguisher_cabinet{pixel_x = 27;pixel_y = 0},/turf/open/floor/mineral/bananium,/area/shuttle/escape) +"bb" = (/obj/machinery/sleeper{icon_state = "sleeper-open";dir = 8},/turf/open/floor/noslip,/area/shuttle/escape) +"bc" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2;pixel_y = 3},/obj/item/weapon/crowbar,/obj/structure/extinguisher_cabinet{pixel_x = 27;pixel_y = 0},/turf/open/floor/noslip,/area/shuttle/escape) "bd" = (/obj/structure/closet/crate/trashcart{desc = "A heavy, metal trashcart with wheels. Feel free to hop in at any time!"},/obj/item/toy/sword,/turf/open/floor/mineral/bananium,/area/shuttle/escape) -"be" = (/obj/machinery/vending/autodrobe{extended_inventory = 1; scan_id = 0},/turf/open/floor/mineral/bananium,/area/shuttle/escape) +"be" = (/obj/machinery/vending/autodrobe{extended_inventory = 1;scan_id = 0},/turf/open/floor/mineral/bananium,/area/shuttle/escape) "bf" = (/obj/machinery/vending/clothing{extended_inventory = 1},/turf/open/floor/mineral/bananium,/area/shuttle/escape) -"bg" = (/turf/closed/wall/shuttle{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape) +"bg" = (/turf/closed/wall/shuttle{icon_state = "swall_s5";dir = 2},/area/shuttle/escape) "bh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/open/floor/plating/airless,/area/shuttle/escape) -"bi" = (/turf/closed/wall/shuttle{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape) +"bi" = (/turf/closed/wall/shuttle{icon_state = "swall_s9";dir = 2},/area/shuttle/escape) "bj" = (/obj/structure/shuttle/engine/propulsion,/turf/open/floor/plating/airless,/area/shuttle/escape) (1,1,1) = {" diff --git a/_maps/shuttles/emergency_cramped.dmm b/_maps/shuttles/emergency_cramped.dmm index db8c02bfc04..2f558a66be1 100644 --- a/_maps/shuttles/emergency_cramped.dmm +++ b/_maps/shuttles/emergency_cramped.dmm @@ -1,18 +1,18 @@ "a" = (/turf/closed/wall/shuttle/smooth,/area/shuttle/escape) "b" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating,/area/shuttle/escape) -"c" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"; req_access_txt = "2"},/turf/open/floor/plating,/area/shuttle/escape) +"c" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock";req_access_txt = "2"},/turf/open/floor/plating,/area/shuttle/escape) "d" = (/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) "e" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) "f" = (/obj/machinery/computer/shuttle,/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) "g" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/book/manual/random,/obj/structure/extinguisher_cabinet{pixel_x = -30},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) "h" = (/obj/machinery/door/window/southleft,/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) "i" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/device/gps{gpstag = "STV5"},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape) -"j" = (/obj/machinery/status_display,/turf/closed/wall/shuttle/smooth,/area/shuttle/escape) -"k" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{dwidth = 3; height = 5; name = "Secure Transport Vessel 5"; width = 14},/turf/open/floor/plating,/area/shuttle/escape) +"j" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall3"},/area/shuttle/escape) +"k" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{dwidth = 3;height = 5;name = "Secure Transport Vessel 5";width = 14;timid = 1},/turf/open/floor/plating,/area/shuttle/escape) "l" = (/turf/open/floor/plating,/area/shuttle/escape) "m" = (/obj/structure/closet/emcloset,/turf/open/floor/plating,/area/shuttle/escape) "n" = (/obj/structure/chair{dir = 4},/turf/open/floor/plating,/area/shuttle/escape) -"o" = (/obj/structure/closet/crate,/obj/effect/spawner/lootdrop/maintenance{lootcount = 8; name = "8maintenance loot spawner"},/turf/open/floor/plasteel/bot,/area/shuttle/escape) +"o" = (/obj/structure/closet/crate,/obj/effect/spawner/lootdrop/maintenance{lootcount = 8;name = "8maintenance loot spawner"},/turf/open/floor/plasteel/bot,/area/shuttle/escape) "p" = (/obj/structure/closet/crate/secure/loot,/turf/open/floor/plasteel/bot,/area/shuttle/escape) "q" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plating,/area/shuttle/escape) "r" = (/obj/structure/closet/crate/secure/weapon,/obj/effect/spawner/lootdrop/armory_contraband,/turf/open/floor/plasteel/bot,/area/shuttle/escape) @@ -20,20 +20,26 @@ "t" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/open/floor/plating/airless,/area/shuttle/escape) "u" = (/turf/open/space,/area/space) "v" = (/obj/structure/shuttle/engine/propulsion,/turf/open/floor/plating/airless,/area/shuttle/escape) +"B" = (/turf/closed/wall/shuttle{tag = "icon-wall3 (WEST)";icon_state = "wall3";dir = 8},/area/shuttle/escape) +"A" = (/turf/closed/wall/shuttle{icon_state = "swall1";dir = 2},/area/shuttle/escape) +"z" = (/turf/closed/wall/shuttle{icon_state = "swall2";dir = 2},/area/shuttle/escape) +"y" = (/turf/closed/wall/shuttle{icon_state = "swall3"},/area/shuttle/escape) +"x" = (/turf/closed/wall/shuttle{icon_state = "swall_s10";dir = 2},/area/shuttle/escape) +"w" = (/turf/closed/wall/shuttle{icon_state = "swall_s6";dir = 2},/area/shuttle/escape) (1,1,1) = {" -abbba -cdefa +wbbbx +cdefy aghij -kllma -anloa +kllmy +znloy bnlob bnlob bnlpb -anlpa -qllra -aslra -qllma -attta +Anlpy +qllry +aslry +qllmA +BtttB uvvvu "} diff --git a/_maps/shuttles/emergency_goon.dmm b/_maps/shuttles/emergency_goon.dmm index 3d8ebf08142..cc4bf12d0fc 100644 --- a/_maps/shuttles/emergency_goon.dmm +++ b/_maps/shuttles/emergency_goon.dmm @@ -1,45 +1,45 @@ "a" = (/turf/open/space,/area/space) -"b" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/open/floor/plating,/area/shuttle/escape) -"c" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/open/floor/plating,/area/shuttle/escape) -"d" = (/turf/closed/wall/shuttle{tag = "icon-swall0"; icon_state = "swall0"},/area/shuttle/escape) -"e" = (/turf/closed/wall/shuttle{tag = "icon-wall_space (NORTH)"; icon_state = "wall_space"; dir = 1},/area/shuttle/escape) -"f" = (/turf/closed/wall/shuttle{tag = "icon-swall2"; icon_state = "swall2"},/area/shuttle/escape) +"b" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion";dir = 4},/turf/open/floor/plating,/area/shuttle/escape) +"c" = (/obj/structure/shuttle/engine/heater{icon_state = "heater";dir = 8},/turf/open/floor/plating,/area/shuttle/escape) +"d" = (/turf/closed/wall/shuttle{tag = "icon-swall0";icon_state = "swall0"},/area/shuttle/escape) +"e" = (/turf/closed/wall/shuttle{tag = "icon-wall_space (NORTH)";icon_state = "wall_space";dir = 1},/area/shuttle/escape) +"f" = (/turf/closed/wall/shuttle{tag = "icon-swall2";icon_state = "swall2"},/area/shuttle/escape) "g" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"h" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{dheight = 0; dir = 2; dwidth = 9; name = "NES Port"; width = 19},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"i" = (/turf/closed/wall/shuttle{tag = "icon-wall_space (WEST)"; icon_state = "wall_space"; dir = 8},/area/shuttle/escape) -"j" = (/turf/closed/wall/shuttle{tag = "icon-swall4"; icon_state = "swall4"},/area/shuttle/escape) -"k" = (/turf/closed/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"},/area/shuttle/escape) -"l" = (/obj/machinery/vending/wallmed,/turf/closed/wall/shuttle{tag = "icon-swall8"; icon_state = "swall8"},/area/shuttle/escape) +"h" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{dheight = 0;dir = 2;dwidth = 9;name = "NES Port";width = 19;timid = 1},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"i" = (/turf/closed/wall/shuttle{tag = "icon-wall_space (WEST)";icon_state = "wall_space";dir = 8},/area/shuttle/escape) +"j" = (/turf/closed/wall/shuttle{tag = "icon-swall4";icon_state = "swall4"},/area/shuttle/escape) +"k" = (/turf/closed/wall/shuttle{tag = "icon-swall12";icon_state = "swall12"},/area/shuttle/escape) +"l" = (/obj/machinery/vending/wallmed,/turf/closed/wall/shuttle{tag = "icon-swall8";icon_state = "swall8"},/area/shuttle/escape) "m" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"n" = (/turf/closed/wall/shuttle{tag = "icon-swall1"; icon_state = "swall1"},/area/shuttle/escape) +"n" = (/turf/closed/wall/shuttle{tag = "icon-swall1";icon_state = "swall1"},/area/shuttle/escape) "o" = (/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"p" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/turf/open/floor/plating,/area/shuttle/escape) -"q" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 4},/turf/open/floor/plasteel/shuttle/white,/area/shuttle/escape) +"p" = (/obj/structure/shuttle/engine/heater{icon_state = "heater";dir = 8},/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/turf/open/floor/plating,/area/shuttle/escape) +"q" = (/obj/machinery/sleeper{icon_state = "sleeper-open";dir = 4},/turf/open/floor/plasteel/shuttle/white,/area/shuttle/escape) "r" = (/turf/open/floor/plasteel/shuttle/white,/area/shuttle/escape) "s" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"t" = (/turf/closed/wall/shuttle{tag = "icon-wall_floor"; icon_state = "wall_floor"},/area/shuttle/escape) +"t" = (/turf/closed/wall/shuttle{tag = "icon-wall_floor";icon_state = "wall_floor"},/area/shuttle/escape) "u" = (/turf/open/space,/area/shuttle/escape) "v" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel/shuttle/white,/area/shuttle/escape) "w" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Infirmary"},/turf/open/floor/plasteel/shuttle/white,/area/shuttle/escape) "x" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) "y" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/emergency,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"z" = (/obj/structure/table/reinforced,/obj/item/device/radio,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"z" = (/obj/structure/table/reinforced,/obj/item/device/radio,/obj/structure/window/reinforced{dir = 1;layer = 2.9},/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) "A" = (/obj/structure/chair/comfy/brown{dir = 4},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"B" = (/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/reinforced,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"C" = (/turf/closed/wall/shuttle{tag = "icon-swall8"; icon_state = "swall8"},/area/shuttle/escape) -"D" = (/turf/closed/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"},/area/shuttle/escape) -"E" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Cockpit"; req_access_txt = "19"},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"B" = (/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/reinforced,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"C" = (/turf/closed/wall/shuttle{tag = "icon-swall8";icon_state = "swall8"},/area/shuttle/escape) +"D" = (/turf/closed/wall/shuttle{tag = "icon-swall3";icon_state = "swall3"},/area/shuttle/escape) +"E" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Cockpit";req_access_txt = "19"},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) "F" = (/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"G" = (/obj/machinery/computer/emergency_shuttle,/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"G" = (/obj/machinery/computer/emergency_shuttle,/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) "H" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"I" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"I" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/obj/structure/window/reinforced,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) "J" = (/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"K" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Brig"; req_access_txt = "2"},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"K" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Brig";req_access_txt = "2"},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) "L" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"M" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"N" = (/turf/closed/wall/shuttle{tag = "icon-wall_space (EAST)"; icon_state = "wall_space"; dir = 4},/area/shuttle/escape) -"O" = (/turf/closed/wall/shuttle{tag = "icon-wall_floor (WEST)"; icon_state = "wall_floor"; dir = 8},/area/shuttle/escape) -"P" = (/turf/closed/wall/shuttle{tag = "icon-wall_space"; icon_state = "wall_space"},/area/shuttle/escape) +"M" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"N" = (/turf/closed/wall/shuttle{tag = "icon-wall_space (EAST)";icon_state = "wall_space";dir = 4},/area/shuttle/escape) +"O" = (/turf/closed/wall/shuttle{tag = "icon-wall_floor (WEST)";icon_state = "wall_floor";dir = 8},/area/shuttle/escape) +"P" = (/turf/closed/wall/shuttle{tag = "icon-wall_space";icon_state = "wall_space"},/area/shuttle/escape) (1,1,1) = {" abcdeaafghfaaaaaaaa diff --git a/_maps/shuttles/emergency_imfedupwiththisworld.dmm b/_maps/shuttles/emergency_imfedupwiththisworld.dmm index 4ecb0e8fd64..c1b24953b44 100644 --- a/_maps/shuttles/emergency_imfedupwiththisworld.dmm +++ b/_maps/shuttles/emergency_imfedupwiththisworld.dmm @@ -1,6 +1,6 @@ "a" = (/turf/closed/wall/mineral/wood,/area/shuttle/escape) "b" = (/obj/machinery/light_switch,/turf/closed/wall/mineral/wood,/area/shuttle/escape) -"c" = (/obj/machinery/door/unpowered/shuttle,/obj/docking_port/mobile/emergency{dheight = 0; dir = 4; dwidth = 1; height = 10; name = "Oh Hi Mark"; width = 12},/turf/open/floor/wood,/area/shuttle/escape) +"c" = (/obj/docking_port/mobile/emergency{dheight = 0;dir = 4;dwidth = 1;height = 10;name = "Oh Hi Mark";width = 12;timid = 1},/obj/machinery/door/airlock/wood,/turf/open/floor/wood,/area/shuttle/escape) "d" = (/turf/open/floor/wood,/area/shuttle/escape) "e" = (/obj/machinery/light{dir = 1},/turf/open/floor/carpet,/area/shuttle/escape) "f" = (/obj/structure/chair/comfy/teal,/turf/open/floor/carpet,/area/shuttle/escape) @@ -8,17 +8,17 @@ "h" = (/turf/open/floor/carpet,/area/shuttle/escape) "i" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchen/knife,/turf/open/floor/carpet,/area/shuttle/escape) "j" = (/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"k" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/vending/boozeomat,/turf/open/floor/plasteel/bar,/area/shuttle/escape) +"k" = (/obj/machinery/light{icon_state = "tube1";dir = 4},/obj/machinery/vending/boozeomat,/turf/open/floor/plasteel/bar,/area/shuttle/escape) "l" = (/obj/machinery/computer/security/wooden_tv,/turf/open/floor/carpet,/area/shuttle/escape) "m" = (/obj/structure/table/glass,/turf/open/floor/carpet,/area/shuttle/escape) -"n" = (/obj/structure/chair/comfy/teal{tag = "icon-comfychair (WEST)"; icon_state = "comfychair"; dir = 8},/turf/open/floor/carpet,/area/shuttle/escape) +"n" = (/obj/structure/chair/comfy/teal{tag = "icon-comfychair (WEST)";icon_state = "comfychair";dir = 8},/turf/open/floor/carpet,/area/shuttle/escape) "o" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/store/cake/birthday,/turf/open/floor/carpet,/area/shuttle/escape) "p" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/open/floor/plasteel/bar,/area/shuttle/escape) "q" = (/obj/structure/table/reinforced,/turf/open/floor/carpet,/area/shuttle/escape) "r" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass,/turf/open/floor/plasteel/bar,/area/shuttle/escape) "s" = (/obj/machinery/door/window{dir = 8},/turf/open/floor/plasteel/bar,/area/shuttle/escape) "t" = (/obj/structure/table/reinforced,/turf/open/floor/plasteel/bar,/area/shuttle/escape) -"u" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/open/floor/wood,/area/shuttle/escape) +"u" = (/obj/machinery/light{icon_state = "tube1";dir = 8},/turf/open/floor/wood,/area/shuttle/escape) "v" = (/obj/structure/chair/office/dark,/turf/open/floor/wood,/area/shuttle/escape) "w" = (/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/blood/drip,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/mob_spawn/human/corpse,/obj/item/weapon/gun/projectile/automatic/pistol/m1911,/obj/machinery/light/small{dir = 8},/obj/item/weapon/reagent_containers/food/snacks/cakeslice/birthday,/turf/open/floor/carpet,/area/shuttle/escape) "x" = (/obj/structure/bed,/obj/item/weapon/bedsheet/red,/obj/item/weapon/paper{info = "i love daniel
daniel is my best friend

you are tearing me apart elise"},/turf/open/floor/carpet,/area/shuttle/escape) diff --git a/_maps/shuttles/emergency_meta.dmm b/_maps/shuttles/emergency_meta.dmm index e972853c165..948f36a7b5e 100644 --- a/_maps/shuttles/emergency_meta.dmm +++ b/_maps/shuttles/emergency_meta.dmm @@ -1,58 +1,58 @@ "aa" = (/turf/open/space,/area/space) -"ab" = (/turf/closed/wall/shuttle{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape) +"ab" = (/turf/closed/wall/shuttle{icon_state = "swall_s6";dir = 2},/area/shuttle/escape) "ac" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating,/area/shuttle/escape) -"ad" = (/turf/closed/wall/shuttle{icon_state = "swall14"; dir = 2},/area/shuttle/escape) -"ae" = (/turf/closed/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/escape) +"ad" = (/turf/closed/wall/shuttle{icon_state = "swall14";dir = 2},/area/shuttle/escape) +"ae" = (/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/shuttle/escape) "af" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"ag" = (/obj/structure/sign/nosmoking_2,/turf/closed/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/escape) -"ah" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{dir = 2; dwidth = 5; height = 14; name = "MetaStation emergency shuttle"; width = 25},/obj/docking_port/stationary{dheight = 0; dir = 2; dwidth = 5; height = 14; id = "emergency_home"; name = "emergency evac bay"; width = 25},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"ai" = (/turf/closed/wall/shuttle{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape) -"aj" = (/turf/closed/wall/shuttle{tag = "icon-wall3 (NORTHWEST)"; icon_state = "wall3"; dir = 9},/area/shuttle/escape) -"ak" = (/turf/closed/wall/shuttle{icon_state = "swall3"; dir = 2},/area/shuttle/escape) -"al" = (/obj/structure/table,/obj/item/weapon/phone{pixel_x = -3; pixel_y = 3},/obj/item/weapon/cigbutt/cigarbutt{pixel_x = 5; pixel_y = -1},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"ag" = (/obj/structure/sign/nosmoking_2,/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/shuttle/escape) +"ah" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{dir = 2;dwidth = 5;height = 14;name = "MetaStation emergency shuttle";width = 25;timid = 1},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"ai" = (/turf/closed/wall/shuttle{icon_state = "swall_s10";dir = 2},/area/shuttle/escape) +"aj" = (/turf/closed/wall/shuttle{tag = "icon-wall3 (NORTHWEST)";icon_state = "wall3";dir = 9},/area/shuttle/escape) +"ak" = (/turf/closed/wall/shuttle{icon_state = "swall3";dir = 2},/area/shuttle/escape) +"al" = (/obj/structure/table,/obj/item/weapon/phone{pixel_x = -3;pixel_y = 3},/obj/item/weapon/cigbutt/cigarbutt{pixel_x = 5;pixel_y = -1},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "am" = (/obj/machinery/computer/crew,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "an" = (/obj/machinery/computer/security,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "ao" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "ap" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aq" = (/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "ar" = (/obj/structure/chair,/turf/open/floor/plasteel/shuttle/white,/area/shuttle/escape) -"as" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 27},/obj/structure/chair,/turf/open/floor/plasteel/shuttle/white,/area/shuttle/escape) -"at" = (/obj/item/clothing/suit/hazardvest{desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket"},/obj/item/clothing/suit/hazardvest{desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket"},/obj/item/clothing/suit/hazardvest{desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket"},/obj/item/clothing/suit/hazardvest{desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket"},/obj/item/clothing/suit/hazardvest{desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket"},/obj/item/weapon/tank/internals/emergency_oxygen/double{pixel_x = 3},/obj/item/weapon/tank/internals/emergency_oxygen/double{pixel_x = 3},/obj/item/weapon/tank/internals/emergency_oxygen/double{pixel_x = 3},/obj/item/weapon/tank/internals/emergency_oxygen/double{pixel_x = 3},/obj/item/weapon/tank/internals/emergency_oxygen/double{pixel_x = 3},/obj/item/clothing/mask/breath{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/breath{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/breath{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/breath{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/breath{pixel_x = -3; pixel_y = -3},/obj/item/clothing/head/hardhat/orange{name = "protective hat"; pixel_y = 9},/obj/item/clothing/head/hardhat/orange{name = "protective hat"; pixel_y = 9},/obj/item/clothing/head/hardhat/orange{name = "protective hat"; pixel_y = 9},/obj/item/clothing/head/hardhat/orange{name = "protective hat"; pixel_y = 9},/obj/item/clothing/head/hardhat/orange{name = "protective hat"; pixel_y = 9},/obj/structure/closet/crate{name = "lifejackets"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"as" = (/obj/item/device/radio/intercom{dir = 4;name = "Station Intercom (General)";pixel_x = 0;pixel_y = 27},/obj/structure/chair,/turf/open/floor/plasteel/shuttle/white,/area/shuttle/escape) +"at" = (/obj/item/clothing/suit/hazardvest{desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";name = "emergency lifejacket"},/obj/item/clothing/suit/hazardvest{desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";name = "emergency lifejacket"},/obj/item/clothing/suit/hazardvest{desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";name = "emergency lifejacket"},/obj/item/clothing/suit/hazardvest{desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";name = "emergency lifejacket"},/obj/item/clothing/suit/hazardvest{desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";name = "emergency lifejacket"},/obj/item/weapon/tank/internals/emergency_oxygen/double{pixel_x = 3},/obj/item/weapon/tank/internals/emergency_oxygen/double{pixel_x = 3},/obj/item/weapon/tank/internals/emergency_oxygen/double{pixel_x = 3},/obj/item/weapon/tank/internals/emergency_oxygen/double{pixel_x = 3},/obj/item/weapon/tank/internals/emergency_oxygen/double{pixel_x = 3},/obj/item/clothing/mask/breath{pixel_x = -3;pixel_y = -3},/obj/item/clothing/mask/breath{pixel_x = -3;pixel_y = -3},/obj/item/clothing/mask/breath{pixel_x = -3;pixel_y = -3},/obj/item/clothing/mask/breath{pixel_x = -3;pixel_y = -3},/obj/item/clothing/mask/breath{pixel_x = -3;pixel_y = -3},/obj/item/clothing/head/hardhat/orange{name = "protective hat";pixel_y = 9},/obj/item/clothing/head/hardhat/orange{name = "protective hat";pixel_y = 9},/obj/item/clothing/head/hardhat/orange{name = "protective hat";pixel_y = 9},/obj/item/clothing/head/hardhat/orange{name = "protective hat";pixel_y = 9},/obj/item/clothing/head/hardhat/orange{name = "protective hat";pixel_y = 9},/obj/structure/closet/crate{name = "lifejackets"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "au" = (/obj/structure/shuttle/engine/propulsion{dir = 4},/turf/open/floor/plating/airless,/area/shuttle/escape) "av" = (/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plating/airless,/area/shuttle/escape) "aw" = (/obj/structure/table,/obj/item/weapon/storage/fancy/donut_box,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "ax" = (/obj/structure/chair/office/dark{dir = 1},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "ay" = (/obj/structure/table,/obj/item/weapon/restraints/handcuffs{pixel_y = 3},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"az" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall3"; dir = 2},/area/shuttle/escape) -"aA" = (/obj/structure/tank_dispenser/oxygen{layer = 2.7; pixel_x = -1; pixel_y = 2},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"az" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall3";dir = 2},/area/shuttle/escape) +"aA" = (/obj/structure/tank_dispenser/oxygen{layer = 2.7;pixel_x = -1;pixel_y = 2},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "aB" = (/obj/machinery/computer/communications,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "aC" = (/obj/structure/chair/office/dark,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "aD" = (/turf/closed/wall/shuttle{icon_state = "swall1"},/area/shuttle/escape) "aE" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/shuttle/white,/area/shuttle/escape) "aF" = (/obj/machinery/computer/emergency_shuttle,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "aG" = (/obj/structure/chair/office/dark{dir = 8},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"aH" = (/obj/machinery/door/airlock/glass_command{name = "Cockpit"; req_access_txt = "19"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"aI" = (/obj/machinery/vending/wallmed{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = 0; req_access_txt = "0"; use_power = 0},/turf/closed/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/escape) -"aJ" = (/obj/structure/extinguisher_cabinet,/turf/closed/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/escape) +"aH" = (/obj/machinery/door/airlock/glass_command{name = "Cockpit";req_access_txt = "19"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aI" = (/obj/machinery/vending/wallmed{name = "Emergency NanoMed";pixel_x = 0;pixel_y = 0;req_access_txt = "0";use_power = 0},/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/shuttle/escape) +"aJ" = (/obj/structure/extinguisher_cabinet,/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/shuttle/escape) "aK" = (/turf/closed/wall/shuttle{icon_state = "wall3"},/area/shuttle/escape) "aL" = (/obj/machinery/computer/station_alert,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "aM" = (/turf/closed/wall/shuttle{icon_state = "swall2"},/area/shuttle/escape) -"aN" = (/obj/machinery/status_display{dir = 8; pixel_x = 32; pixel_y = 0},/obj/machinery/hologram/holopad,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aN" = (/obj/machinery/status_display{dir = 8;pixel_x = 32;pixel_y = 0},/obj/machinery/hologram/holopad,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) "aO" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/emergency{pixel_y = 3},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"aP" = (/obj/structure/table,/obj/machinery/recharger{active_power_usage = 0; idle_power_usage = 0; pixel_y = 4; use_power = 0},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"aQ" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 8},/obj/item/device/radio/intercom{dir = 2; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -31},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"aR" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/structure/extinguisher_cabinet{dir = 4; pixel_x = 0; pixel_y = -27},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"aS" = (/obj/item/device/radio/intercom{dir = 2; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -31},/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/shuttle/white,/area/shuttle/escape) +"aP" = (/obj/structure/table,/obj/machinery/recharger{active_power_usage = 0;idle_power_usage = 0;pixel_y = 4;use_power = 0},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aQ" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2;pixel_y = 8},/obj/item/device/radio/intercom{dir = 2;name = "Station Intercom (General)";pixel_x = 0;pixel_y = -31},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aR" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/structure/extinguisher_cabinet{dir = 4;pixel_x = 0;pixel_y = -27},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aS" = (/obj/item/device/radio/intercom{dir = 2;name = "Station Intercom (General)";pixel_x = 0;pixel_y = -31},/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/shuttle/white,/area/shuttle/escape) "aT" = (/obj/structure/table,/obj/item/stack/medical/gauze,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) -"aU" = (/turf/closed/wall/shuttle{icon_state = "swall7"; dir = 2},/area/shuttle/escape) -"aV" = (/turf/closed/wall/shuttle{icon_state = "swall8"; dir = 2},/area/shuttle/escape) -"aW" = (/obj/machinery/door/airlock/command{name = "Emergency Recovery Airlock"; req_access = null; req_access_txt = "19"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"aX" = (/turf/closed/wall/shuttle{icon_state = "swall15"; dir = 2},/area/shuttle/escape) -"aY" = (/obj/machinery/door/airlock/glass_security{name = "Brig"; req_access_txt = "2"},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"aZ" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"ba" = (/obj/structure/sign/bluecross_2,/turf/closed/wall/shuttle{icon_state = "swall14"; dir = 2},/area/shuttle/escape) +"aU" = (/turf/closed/wall/shuttle{icon_state = "swall7";dir = 2},/area/shuttle/escape) +"aV" = (/turf/closed/wall/shuttle{icon_state = "swall8";dir = 2},/area/shuttle/escape) +"aW" = (/obj/machinery/door/airlock/command{name = "Emergency Recovery Airlock";req_access = null;req_access_txt = "19"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aX" = (/turf/closed/wall/shuttle{icon_state = "swall15";dir = 2},/area/shuttle/escape) +"aY" = (/obj/machinery/door/airlock/glass_security{name = "Brig";req_access_txt = "2"},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"aZ" = (/obj/machinery/door/airlock/glass_medical{id_tag = null;name = "Escape Shuttle Infirmary";req_access_txt = "0"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"ba" = (/obj/structure/sign/bluecross_2,/turf/closed/wall/shuttle{icon_state = "swall14";dir = 2},/area/shuttle/escape) "bb" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Cargo Bay Airlock"},/turf/open/floor/plasteel/delivery,/area/shuttle/escape) -"bc" = (/turf/closed/wall/shuttle{icon_state = "swall11"; dir = 2},/area/shuttle/escape) +"bc" = (/turf/closed/wall/shuttle{icon_state = "swall11";dir = 2},/area/shuttle/escape) "bd" = (/obj/structure/chair{dir = 4},/turf/open/floor/plating{icon_state = "floorgrime"},/area/shuttle/escape) "be" = (/turf/open/floor/plating{icon_state = "floorgrime"},/area/shuttle/escape) "bf" = (/obj/machinery/door/airlock/external{name = "Emergency Recovery Airlock"},/turf/open/floor/plating{icon_state = "floorgrime"},/area/shuttle/escape) @@ -67,11 +67,11 @@ "bo" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plasteel/delivery,/area/shuttle/escape) "bp" = (/turf/open/floor/plasteel/delivery,/area/shuttle/escape) "bq" = (/obj/machinery/recharge_station,/turf/open/floor/plasteel/delivery,/area/shuttle/escape) -"br" = (/turf/closed/wall/shuttle{icon_state = "swall4"; dir = 2},/area/shuttle/escape) +"br" = (/turf/closed/wall/shuttle{icon_state = "swall4";dir = 2},/area/shuttle/escape) "bs" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"bt" = (/obj/structure/reagent_dispensers/peppertank,/turf/closed/wall/shuttle{icon_state = "swall3"; dir = 2},/area/shuttle/escape) -"bu" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{pixel_x = 6; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/bottle/charcoal{pixel_x = -3},/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{pixel_x = -3; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/charcoal{pixel_x = 6; pixel_y = 8},/obj/item/weapon/reagent_containers/syringe/epinephrine{pixel_x = 3; pixel_y = -2},/obj/item/weapon/reagent_containers/syringe/epinephrine{pixel_x = 4; pixel_y = 1},/obj/item/weapon/reagent_containers/syringe/epinephrine{pixel_x = -2; pixel_y = 5},/obj/item/weapon/reagent_containers/syringe/epinephrine{pixel_x = 2; pixel_y = 8},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) -"bv" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/electrical{pixel_x = -3; pixel_y = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = -1},/obj/item/weapon/storage/toolbox/emergency{pixel_x = 3; pixel_y = -5},/turf/open/floor/plasteel/warning{dir = 4},/area/shuttle/escape) +"bt" = (/obj/structure/reagent_dispensers/peppertank,/turf/closed/wall/shuttle{icon_state = "swall3";dir = 2},/area/shuttle/escape) +"bu" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{pixel_x = 6;pixel_y = 0},/obj/item/weapon/reagent_containers/glass/bottle/charcoal{pixel_x = -3},/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{pixel_x = -3;pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/charcoal{pixel_x = 6;pixel_y = 8},/obj/item/weapon/reagent_containers/syringe/epinephrine{pixel_x = 3;pixel_y = -2},/obj/item/weapon/reagent_containers/syringe/epinephrine{pixel_x = 4;pixel_y = 1},/obj/item/weapon/reagent_containers/syringe/epinephrine{pixel_x = -2;pixel_y = 5},/obj/item/weapon/reagent_containers/syringe/epinephrine{pixel_x = 2;pixel_y = 8},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bv" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/electrical{pixel_x = -3;pixel_y = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0;pixel_y = -1},/obj/item/weapon/storage/toolbox/emergency{pixel_x = 3;pixel_y = -5},/turf/open/floor/plasteel/warning{dir = 4},/area/shuttle/escape) "bw" = (/obj/item/weapon/cigbutt,/turf/open/floor/plating{icon_state = "floorgrime"},/area/shuttle/escape) "bx" = (/turf/open/floor/plasteel/floorgrime,/area/shuttle/escape) "by" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/open/floor/plating{icon_state = "floorgrime"},/area/shuttle/escape) @@ -79,24 +79,24 @@ "bA" = (/turf/open/floor/plasteel/warning{dir = 4},/area/shuttle/escape) "bB" = (/turf/closed/wall/shuttle{icon_state = "diagonalWall3"},/area/shuttle/escape) "bC" = (/obj/structure/reagent_dispensers/watertank,/turf/open/floor/plating{icon_state = "floorgrime"},/area/shuttle/escape) -"bD" = (/obj/structure/table,/obj/item/weapon/folder/red{pixel_x = 3},/obj/item/weapon/folder/white{pixel_x = -4; pixel_y = 2},/obj/item/device/radio/intercom{dir = 2; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -31},/obj/item/weapon/book/manual/wiki/security_space_law{pixel_x = -4; pixel_y = 4},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"bD" = (/obj/structure/table,/obj/item/weapon/folder/red{pixel_x = 3},/obj/item/weapon/folder/white{pixel_x = -4;pixel_y = 2},/obj/item/device/radio/intercom{dir = 2;name = "Station Intercom (General)";pixel_x = 0;pixel_y = -31},/obj/item/weapon/book/manual/wiki/security_space_law{pixel_x = -4;pixel_y = 4},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) "bE" = (/obj/structure/table,/obj/item/weapon/restraints/handcuffs{pixel_y = 3},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"bF" = (/obj/structure/table,/obj/machinery/recharger{active_power_usage = 0; idle_power_usage = 0; use_power = 0},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"bG" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs{pixel_x = 2; pixel_y = 2},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) -"bH" = (/obj/structure/table,/obj/item/weapon/scalpel{pixel_y = 12},/obj/item/weapon/circular_saw,/obj/item/weapon/retractor{pixel_x = 4},/obj/item/weapon/hemostat{pixel_x = -4},/obj/item/clothing/gloves/color/latex,/obj/item/clothing/mask/surgical,/obj/item/device/radio/intercom{dir = 2; name = "Station Intercom (General)"; pixel_x = -27; pixel_y = 0},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bF" = (/obj/structure/table,/obj/machinery/recharger{active_power_usage = 0;idle_power_usage = 0;use_power = 0},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"bG" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs{pixel_x = 2;pixel_y = 2},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"bH" = (/obj/structure/table,/obj/item/weapon/scalpel{pixel_y = 12},/obj/item/weapon/circular_saw,/obj/item/weapon/retractor{pixel_x = 4},/obj/item/weapon/hemostat{pixel_x = -4},/obj/item/clothing/gloves/color/latex,/obj/item/clothing/mask/surgical,/obj/item/device/radio/intercom{dir = 2;name = "Station Intercom (General)";pixel_x = -27;pixel_y = 0},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "bI" = (/obj/structure/sink,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) -"bJ" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) -"bK" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bJ" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2;pixel_y = 3},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bK" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3;pixel_y = 3},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) "bL" = (/obj/structure/sign/bluecross_2,/turf/closed/wall/shuttle{icon_state = "swall2"},/area/shuttle/escape) "bM" = (/obj/structure/rack{dir = 1},/obj/item/weapon/tank/internals/oxygen/red,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/mask/gas,/obj/item/clothing/head/hardhat/red,/turf/open/floor/plasteel/warning{dir = 4},/area/shuttle/escape) -"bN" = (/obj/machinery/space_heater,/obj/structure/extinguisher_cabinet{dir = 4; pixel_x = 0; pixel_y = -27},/turf/open/floor/plating{icon_state = "bot"},/area/shuttle/escape) -"bO" = (/obj/structure/closet/crate{name = "emergency supplies crate"},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/device/flashlight/flare{pixel_x = 3; pixel_y = 3},/obj/item/device/flashlight/flare{pixel_x = -6; pixel_y = -2},/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/device/radio,/turf/open/floor/plating{icon_state = "bot"},/area/shuttle/escape) -"bP" = (/obj/structure/closet/crate/medical{name = "medical crate"},/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/toxin{pixel_x = -4; pixel_y = 3},/obj/item/device/healthanalyzer{pixel_x = 3; pixel_y = 3},/obj/item/weapon/lazarus_injector,/mob/living/simple_animal/bot/medbot{name = "\improper emergency medibot"; pixel_x = -3; pixel_y = 2},/turf/open/floor/plating{icon_state = "bot"},/area/shuttle/escape) -"bQ" = (/obj/item/device/radio/intercom{dir = 2; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -31},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/open/floor/plating{icon_state = "bot"},/area/shuttle/escape) +"bN" = (/obj/machinery/space_heater,/obj/structure/extinguisher_cabinet{dir = 4;pixel_x = 0;pixel_y = -27},/turf/open/floor/plating{icon_state = "bot"},/area/shuttle/escape) +"bO" = (/obj/structure/closet/crate{name = "emergency supplies crate"},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/device/flashlight/flare{pixel_x = 3;pixel_y = 3},/obj/item/device/flashlight/flare{pixel_x = -6;pixel_y = -2},/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/item/device/radio,/turf/open/floor/plating{icon_state = "bot"},/area/shuttle/escape) +"bP" = (/obj/structure/closet/crate/medical{name = "medical crate"},/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3;pixel_y = 3},/obj/item/weapon/storage/firstaid/toxin{pixel_x = -4;pixel_y = 3},/obj/item/device/healthanalyzer{pixel_x = 3;pixel_y = 3},/obj/item/weapon/lazarus_injector,/mob/living/simple_animal/bot/medbot{name = "\improper emergency medibot";pixel_x = -3;pixel_y = 2},/turf/open/floor/plating{icon_state = "bot"},/area/shuttle/escape) +"bQ" = (/obj/item/device/radio/intercom{dir = 2;name = "Station Intercom (General)";pixel_x = 0;pixel_y = -31},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/open/floor/plating{icon_state = "bot"},/area/shuttle/escape) "bR" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/item/hand_labeler_refill,/turf/open/floor/plating{icon_state = "bot"},/area/shuttle/escape) -"bS" = (/turf/closed/wall/shuttle{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape) -"bT" = (/turf/closed/wall/shuttle{icon_state = "swall13"; dir = 2},/area/shuttle/escape) -"bU" = (/turf/closed/wall/shuttle{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape) +"bS" = (/turf/closed/wall/shuttle{icon_state = "swall_s5";dir = 2},/area/shuttle/escape) +"bT" = (/turf/closed/wall/shuttle{icon_state = "swall13";dir = 2},/area/shuttle/escape) +"bU" = (/turf/closed/wall/shuttle{icon_state = "swall_s9";dir = 2},/area/shuttle/escape) (1,1,1) = {" aaaaabacacacacadaeacaeafacafagacacacaeahacafaeaeai diff --git a/_maps/shuttles/emergency_narnar.dmm b/_maps/shuttles/emergency_narnar.dmm index 17b1b2dc1cd..8f1957d974e 100644 --- a/_maps/shuttles/emergency_narnar.dmm +++ b/_maps/shuttles/emergency_narnar.dmm @@ -4,21 +4,21 @@ "d" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "e" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/cult,/area/shuttle/escape) "f" = (/obj/machinery/computer/emergency_shuttle,/turf/open/floor/plasteel/cult,/area/shuttle/escape) -"g" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/plasteel/cult,/area/shuttle/escape) +"g" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2;pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "h" = (/obj/machinery/computer/atmos_alert,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "i" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/cult,/area/shuttle/escape) "j" = (/turf/open/floor/plasteel/cult,/area/shuttle/escape) "k" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel/cult,/area/shuttle/escape) "l" = (/obj/machinery/computer/security,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "m" = (/obj/machinery/computer/crew,/turf/open/floor/plasteel/cult,/area/shuttle/escape) -"n" = (/obj/structure/chair{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/open/floor/plasteel/cult,/area/shuttle/escape) -"o" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -29},/turf/open/floor/plasteel/cult,/area/shuttle/escape) +"n" = (/obj/structure/chair{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 0;pixel_y = -30},/turf/open/floor/plasteel/cult,/area/shuttle/escape) +"o" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)";pixel_x = 0;pixel_y = -29},/turf/open/floor/plasteel/cult,/area/shuttle/escape) "p" = (/obj/machinery/computer/communications,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "q" = (/obj/item/stack/sheet/metal,/obj/effect/decal/remains/human,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "r" = (/obj/machinery/door/airlock/cult/unruned/glass/friendly,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "s" = (/obj/machinery/status_display,/turf/closed/wall/mineral/cult,/area/shuttle/escape) "t" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel/cult,/area/shuttle/escape) -"u" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/plasteel/cult,/area/shuttle/escape) +"u" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2;pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "v" = (/obj/effect/decal/cleanable/blood,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "w" = (/mob/living/simple_animal/hostile/construct/builder,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "x" = (/obj/machinery/door/airlock/cult/friendly,/turf/open/floor/plating,/area/shuttle/escape) @@ -28,19 +28,19 @@ "B" = (/obj/effect/rune/true_sight,/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/gibs/body,/obj/effect/decal/cleanable/blood/gibs/core,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "C" = (/mob/living/simple_animal/hostile/construct/armored,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "D" = (/obj/effect/rune/true_sight,/obj/effect/decal/remains/human,/turf/open/floor/plasteel/cult,/area/shuttle/escape) -"E" = (/obj/machinery/door/airlock/cult/friendly,/obj/docking_port/mobile/emergency{name = "shuttle 667"},/turf/open/floor/plating,/area/shuttle/escape) +"E" = (/obj/machinery/door/airlock/cult/friendly,/obj/docking_port/mobile/emergency{name = "shuttle 667";timid = 1},/turf/open/floor/plating,/area/shuttle/escape) "F" = (/obj/effect/decal/cleanable/blood/gibs/down,/turf/open/floor/plasteel/cult,/area/shuttle/escape) -"G" = (/obj/structure/extinguisher_cabinet{has_extinguisher = null; icon_state = "extinguisher_empty"; opened = 1; pixel_x = 27; pixel_y = 0},/obj/item/weapon/extinguisher{safety = 0},/turf/open/floor/plasteel/cult,/area/shuttle/escape) +"G" = (/obj/structure/extinguisher_cabinet{has_extinguisher = null;icon_state = "extinguisher_empty";opened = 1;pixel_x = 27;pixel_y = 0},/obj/item/weapon/extinguisher{safety = 0},/turf/open/floor/plasteel/cult,/area/shuttle/escape) "H" = (/mob/living/simple_animal/hostile/construct/wraith,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "I" = (/obj/effect/rune/narsie,/turf/open/floor/plasteel/cult,/area/shuttle/escape) -"J" = (/mob/living/simple_animal/hostile/carp/eyeball{faction = list("cult"); name = "left eyeball"},/turf/open/floor/plasteel/cult,/area/shuttle/escape) -"K" = (/mob/living/simple_animal/hostile/carp/eyeball{faction = list("cult"); name = "right eyeball"},/turf/open/floor/plasteel/cult,/area/shuttle/escape) +"J" = (/mob/living/simple_animal/hostile/carp/eyeball{faction = list("cult");name = "left eyeball"},/turf/open/floor/plasteel/cult,/area/shuttle/escape) +"K" = (/mob/living/simple_animal/hostile/carp/eyeball{faction = list("cult");name = "right eyeball"},/turf/open/floor/plasteel/cult,/area/shuttle/escape) "L" = (/obj/effect/decal/cleanable/blood/drip,/turf/open/floor/plasteel/cult,/area/shuttle/escape) -"M" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/open/floor/plasteel/cult,/area/shuttle/escape) +"M" = (/obj/structure/extinguisher_cabinet{pixel_x = 27;pixel_y = 0},/turf/open/floor/plasteel/cult,/area/shuttle/escape) "N" = (/obj/machinery/door/airlock/cult/glass/friendly,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "O" = (/obj/structure/dresser,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "P" = (/obj/structure/showcase/horrific_experiment,/turf/open/floor/plasteel/cult,/area/shuttle/escape) -"Q" = (/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/item/stack/sheet/metal,/turf/open/floor/plasteel/cult,/area/shuttle/escape) +"Q" = (/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2;pixel_y = 3},/obj/item/weapon/crowbar,/obj/structure/extinguisher_cabinet{pixel_x = 27;pixel_y = 0},/obj/item/stack/sheet/metal,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "R" = (/obj/item/stack/sheet/metal,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "S" = (/obj/structure/table/wood,/obj/item/weapon/tome,/turf/open/floor/plasteel/cult,/area/shuttle/escape) "T" = (/obj/structure/bed,/obj/item/weapon/bedsheet/cult,/turf/open/floor/plasteel/cult,/area/shuttle/escape) diff --git a/_maps/shuttles/emergency_supermatter.dmm b/_maps/shuttles/emergency_supermatter.dmm index 5b51ab7b5b1..0187e4514d0 100644 --- a/_maps/shuttles/emergency_supermatter.dmm +++ b/_maps/shuttles/emergency_supermatter.dmm @@ -1,69 +1,82 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/turf/closed/wall/shuttle/smooth,/area/shuttle/escape) -"c" = (/obj/structure/sign/radiation,/turf/closed/wall/shuttle/smooth,/area/shuttle/escape) -"d" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating,/area/shuttle/escape) -"e" = (/obj/structure/closet/radiation{anchored = 1},/obj/item/clothing/glasses/meson/engine,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"f" = (/obj/structure/chair,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"g" = (/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"h" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"i" = (/obj/machinery/shower{dir = 8},/turf/open/floor/noslip,/area/shuttle/escape) -"j" = (/obj/structure/reflector/single{anchored = 1},/turf/open/floor/plating{icon_state = "warnplate"; dir = 8},/area/shuttle/escape) -"k" = (/obj/structure/reflector/box{anchored = 1},/turf/open/floor/plating,/area/shuttle/escape) -"l" = (/obj/structure/reflector/single{tag = "icon-reflector (WEST)"; icon_state = "reflector"; dir = 8; anchored = 1},/turf/open/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/escape) -"m" = (/obj/machinery/shower{dir = 4},/turf/open/floor/noslip,/area/shuttle/escape) -"n" = (/obj/machinery/status_display,/turf/closed/wall/shuttle/smooth,/area/shuttle/escape) -"o" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"p" = (/turf/open/floor/plating{icon_state = "warnplate"; dir = 8},/area/shuttle/escape) -"q" = (/turf/open/floor/plating,/area/shuttle/escape) -"r" = (/turf/open/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/escape) -"s" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"t" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plating,/area/shuttle/escape) -"u" = (/obj/machinery/power/supermatter_shard/hugbox{anchored = 1; base_icon_state = "darkmatter"; explosion_power = 20; gasefficency = 0.15; icon_state = "darkmatter"; name = "anchored supermatter crystal"},/turf/open/floor/plating,/area/shuttle/escape) -"v" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/crowbar/red,/obj/item/weapon/storage/box/snappops{pixel_x = 4; pixel_y = -4},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"w" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) -"x" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{name = "Hyperfractal Gigashuttle"},/turf/open/floor/plating,/area/shuttle/escape) -"y" = (/obj/machinery/door/airlock/external{name = "Emergency Launch Catwalk"; req_access = null; req_access_txt = "10;13"},/turf/open/floor/plating,/area/shuttle/escape) -"z" = (/turf/open/floor/plating/airless,/area/shuttle/escape) -"A" = (/obj/structure/reflector/single{anchored = 1},/turf/open/floor/plating/airless,/area/shuttle/escape) -"B" = (/obj/structure/reflector/double{anchored = 1},/turf/open/floor/plating/airless,/area/shuttle/escape) -"C" = (/obj/structure/reflector/double{tag = "icon-reflector_double (NORTH)"; icon_state = "reflector_double"; dir = 1; anchored = 1},/turf/open/floor/plating/airless,/area/shuttle/escape) -"D" = (/obj/structure/reflector/single{tag = "icon-reflector (WEST)"; icon_state = "reflector"; dir = 8; anchored = 1},/turf/open/floor/plating/airless,/area/shuttle/escape) -"E" = (/turf/open/floor/plating/airless{dir = 9; icon_state = "warnplate"},/area/shuttle/escape) -"F" = (/turf/open/floor/plating/airless{dir = 1; icon_state = "warnplate"},/area/shuttle/escape) -"G" = (/turf/open/floor/plating/airless{dir = 5; icon_state = "warnplate"},/area/shuttle/escape) -"H" = (/turf/open/floor/plating/airless{dir = 8; icon_state = "warnplate"},/area/shuttle/escape) -"I" = (/obj/machinery/power/supermatter_shard/hugbox{anchored = 1; name = "anchored supermatter shard"},/turf/open/floor/plating/airless,/area/shuttle/escape) -"J" = (/turf/open/floor/plating/airless{dir = 4; icon_state = "warnplate"},/area/shuttle/escape) -"K" = (/turf/open/floor/plating/airless{dir = 10; icon_state = "warnplate"},/area/shuttle/escape) -"L" = (/turf/open/floor/plating/airless{dir = 2; icon_state = "warnplate"},/area/shuttle/escape) -"M" = (/turf/open/floor/plating/airless{dir = 6; icon_state = "warnplate"},/area/shuttle/escape) -"N" = (/obj/machinery/power/emitter/energycannon{dir = 1},/turf/open/floor/plating/airless,/area/shuttle/escape) -"O" = (/obj/structure/chair,/turf/open/floor/plating/airless{dir = 1; icon_state = "warnplate"},/area/shuttle/escape) -"P" = (/obj/structure/shuttle/engine/heater,/turf/open/floor/plating/airless,/area/shuttle/escape) -"Q" = (/obj/machinery/computer/emergency_shuttle,/turf/open/floor/plating/airless,/area/shuttle/escape) -"R" = (/obj/structure/shuttle/engine/propulsion,/turf/open/floor/plating/airless,/area/shuttle/escape) +"aa" = (/turf/open/space,/area/space) +"ab" = (/turf/closed/wall/shuttle{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape) +"ac" = (/obj/structure/sign/radiation,/turf/closed/wall/shuttle{tag = "icon-swall12"; icon_state = "swall12"},/area/shuttle/escape) +"ad" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating,/area/shuttle/escape) +"ae" = (/turf/closed/wall/shuttle{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape) +"af" = (/turf/closed/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"},/area/shuttle/escape) +"ag" = (/obj/structure/closet/radiation{anchored = 1},/obj/item/clothing/glasses/meson/engine,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"ah" = (/obj/structure/chair,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"ai" = (/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"aj" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"ak" = (/obj/structure/sign/radiation,/turf/closed/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"},/area/shuttle/escape) +"al" = (/obj/machinery/shower{dir = 8},/turf/open/floor/noslip,/area/shuttle/escape) +"am" = (/obj/structure/reflector/single{anchored = 1},/turf/open/floor/plating{icon_state = "warnplate"; dir = 8},/area/shuttle/escape) +"an" = (/obj/structure/reflector/box{anchored = 1},/turf/open/floor/plating,/area/shuttle/escape) +"ao" = (/obj/structure/reflector/single{tag = "icon-reflector (WEST)"; icon_state = "reflector"; dir = 8; anchored = 1},/turf/open/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/escape) +"ap" = (/obj/machinery/shower{dir = 4},/turf/open/floor/noslip,/area/shuttle/escape) +"aq" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"},/area/shuttle/escape) +"ar" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"as" = (/turf/open/floor/plating{icon_state = "warnplate"; dir = 8},/area/shuttle/escape) +"at" = (/turf/open/floor/plating,/area/shuttle/escape) +"au" = (/turf/open/floor/plating{icon_state = "warnplate"; dir = 4},/area/shuttle/escape) +"av" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"aw" = (/turf/closed/wall/shuttle{icon_state = "swallc2"; dir = 2},/area/shuttle/escape) +"ax" = (/turf/closed/wall/shuttle{icon_state = "swall_f9"; dir = 2},/area/shuttle/escape) +"ay" = (/turf/closed/wall/shuttle{icon_state = "swall_f5"; dir = 2},/area/shuttle/escape) +"az" = (/turf/closed/wall/shuttle{icon_state = "swallc1"},/area/shuttle/escape) +"aA" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plating,/area/shuttle/escape) +"aB" = (/obj/machinery/power/supermatter_shard/hugbox{anchored = 1; base_icon_state = "darkmatter"; explosion_power = 20; gasefficency = 0.15; icon_state = "darkmatter"; name = "anchored supermatter crystal"},/turf/open/floor/plating,/area/shuttle/escape) +"aC" = (/obj/structure/sign/radiation,/turf/closed/wall/shuttle/smooth,/area/shuttle/escape) +"aD" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/crowbar/red,/obj/item/weapon/storage/box/snappops{pixel_x = 4; pixel_y = -4},/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"aE" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plasteel/shuttle/yellow,/area/shuttle/escape) +"aF" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{name = "Hyperfractal Gigashuttle"; timid = 1},/turf/open/floor/plating,/area/shuttle/escape) +"aG" = (/turf/closed/wall/shuttle{icon_state = "swallc3"},/area/shuttle/escape) +"aH" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall12"},/area/shuttle/escape) +"aI" = (/obj/structure/sign/radiation,/turf/closed/wall/shuttle{icon_state = "swallc1"},/area/shuttle/escape) +"aJ" = (/obj/structure/sign/radiation,/turf/closed/wall/shuttle{icon_state = "swallc2"; dir = 2},/area/shuttle/escape) +"aK" = (/turf/closed/wall/shuttle{icon_state = "swallc4"; dir = 2},/area/shuttle/escape) +"aL" = (/obj/machinery/door/airlock/external{name = "Emergency Launch Catwalk"; req_access = null; req_access_txt = "10;13"},/turf/open/floor/plating,/area/shuttle/escape) +"aM" = (/turf/open/floor/plating/airless,/area/shuttle/escape) +"aN" = (/obj/structure/reflector/single{anchored = 1},/turf/open/floor/plating/airless,/area/shuttle/escape) +"aO" = (/obj/structure/reflector/double{anchored = 1},/turf/open/floor/plating/airless,/area/shuttle/escape) +"aP" = (/obj/structure/reflector/double{tag = "icon-reflector_double (NORTH)"; icon_state = "reflector_double"; dir = 1; anchored = 1},/turf/open/floor/plating/airless,/area/shuttle/escape) +"aQ" = (/obj/structure/reflector/single{tag = "icon-reflector (WEST)"; icon_state = "reflector"; dir = 8; anchored = 1},/turf/open/floor/plating/airless,/area/shuttle/escape) +"aR" = (/turf/open/floor/plating/airless{dir = 9; icon_state = "warnplate"},/area/shuttle/escape) +"aS" = (/turf/open/floor/plating/airless{dir = 1; icon_state = "warnplate"},/area/shuttle/escape) +"aT" = (/turf/open/floor/plating/airless{dir = 5; icon_state = "warnplate"},/area/shuttle/escape) +"aU" = (/turf/open/floor/plating/airless{dir = 8; icon_state = "warnplate"},/area/shuttle/escape) +"aV" = (/obj/machinery/power/supermatter_shard/hugbox{anchored = 1; name = "anchored supermatter shard"},/turf/open/floor/plating/airless,/area/shuttle/escape) +"aW" = (/turf/open/floor/plating/airless{dir = 4; icon_state = "warnplate"},/area/shuttle/escape) +"aX" = (/turf/open/floor/plating/airless{dir = 10; icon_state = "warnplate"},/area/shuttle/escape) +"aY" = (/turf/open/floor/plating/airless{dir = 2; icon_state = "warnplate"},/area/shuttle/escape) +"aZ" = (/turf/open/floor/plating/airless{dir = 6; icon_state = "warnplate"},/area/shuttle/escape) +"ba" = (/obj/machinery/power/emitter/energycannon{dir = 1},/turf/open/floor/plating/airless,/area/shuttle/escape) +"bb" = (/obj/structure/chair,/turf/open/floor/plating/airless{dir = 1; icon_state = "warnplate"},/area/shuttle/escape) +"bc" = (/obj/structure/shuttle/engine/heater,/turf/open/floor/plating/airless,/area/shuttle/escape) +"bd" = (/obj/machinery/computer/emergency_shuttle,/turf/open/floor/plating/airless,/area/shuttle/escape) +"be" = (/obj/structure/shuttle/engine/propulsion,/turf/open/floor/plating/airless,/area/shuttle/escape) (1,1,1) = {" -abcdddddcba -abefeeefeba -adeghhhgeda -aceijklmeca -aneopqrsena -adeopqrseda -bbeopqrsebb -tggopursggt -cvgopqrsgwc -xggopqrsggt -bndcpqrcdnb -aaabdydbaaa -aaaaqzqaaaa -aAqqBzCqqDa -azaaazaaaza -aEFGazaEFGa -aHIJzzzHIJa -aKLMazaKLMa -aqqaazaaqqa -aNNzEOGzNNa -aPPaHQJaPPa -aRRaKLMaRRa +aaabacadadadadadacaeaa +aaafagahagagagahagafaa +aaadagaiajajajaiagadaa +aaakagalamanaoapagakaa +aaaqagarasatauavagaqaa +aaadagarasatauavagadaa +awaxagarasatauavagayaz +aAaiaiarasaBauavaiaiaA +aCaDaiarasatauavaiaEaC +aFaiaiarasatauavaiaiaA +aGaHadaIasatauaJadaHaK +aaaaaaaGadaLadaKaaaaaa +aaaaaaaaataMataaaaaaaa +aaaNatataOaMaPatataQaa +aaaMaaaaaaaMaaaaaaaMaa +aaaRaSaTaaaMaaaRaSaTaa +aaaUaVaWaMaMaMaUaVaWaa +aaaXaYaZaaaMaaaXaYaZaa +aaatataaaaaMaaaaatataa +aababaaMaRbbaTaMbabaaa +aabcbcaaaUbdaWaabcbcaa +aabebeaaaXaYaZaabebeaa "} diff --git a/_maps/shuttles/emergency_wabbajack.dmm b/_maps/shuttles/emergency_wabbajack.dmm new file mode 100644 index 00000000000..9cc9bbcfe6c --- /dev/null +++ b/_maps/shuttles/emergency_wabbajack.dmm @@ -0,0 +1,648 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/open/space, +/area/space) +"ab" = ( +/turf/closed/wall/shuttle/smooth, +/area/shuttle/escape) +"ac" = ( +/obj/structure/grille, +/obj/structure/window/shuttle/tinted, +/turf/open/floor/plating, +/area/shuttle/escape) +"ad" = ( +/turf/open/floor/plasteel/green, +/area/shuttle/escape) +"ae" = ( +/turf/open/floor/plasteel/darkgreen, +/area/shuttle/escape) +"af" = ( +/obj/machinery/power/emitter/energycannon/magical, +/turf/open/floor/plasteel/darkgreen, +/area/shuttle/escape) +"ag" = ( +/obj/structure/table/abductor/wabbajack/left, +/turf/open/floor/plasteel/darkgreen, +/area/shuttle/escape) +"ah" = ( +/obj/structure/table/abductor/wabbajack/right, +/turf/open/floor/plasteel/darkgreen, +/area/shuttle/escape) +"ai" = ( +/obj/structure/sign/biohazard, +/turf/closed/wall/shuttle/smooth, +/area/shuttle/escape) +"aj" = ( +/obj/structure/barricade/wooden, +/obj/machinery/door/airlock/shuttle, +/turf/open/floor/plasteel/cult, +/area/shuttle/escape) +"ak" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/shuttle/red, +/area/shuttle/escape) +"al" = ( +/turf/open/floor/plasteel/shuttle/red, +/area/shuttle/escape) +"am" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/shuttle/red, +/area/shuttle/escape) +"an" = ( +/obj/structure/table/wood, +/obj/item/candle/infinite, +/turf/open/floor/plasteel/cult, +/area/shuttle/escape) +"ao" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/plasteel/cult, +/area/shuttle/escape) +"ap" = ( +/turf/open/floor/plasteel/cult, +/area/shuttle/escape) +"aq" = ( +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"ar" = ( +/obj/structure/table, +/obj/item/weapon/storage/firstaid/fire, +/obj/item/weapon/storage/firstaid/regular{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/weapon/crowbar, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"as" = ( +/obj/structure/grille, +/obj/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/escape) +"at" = ( +/obj/machinery/flasher{ + id = "shuttle_flasher"; + pixel_x = -24; + pixel_y = 6 + }, +/obj/machinery/button/flasher{ + id = "shuttle_flasher"; + pixel_x = -24; + pixel_y = -6 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/shuttle/red, +/area/shuttle/escape) +"au" = ( +/obj/structure/chair/wood, +/turf/open/floor/plasteel/cult, +/area/shuttle/escape) +"av" = ( +/obj/structure/chair, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aw" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"ax" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock"; + req_access_txt = "2" + }, +/turf/open/floor/plating, +/area/shuttle/escape) +"ay" = ( +/obj/structure/table, +/obj/item/weapon/paper_bin, +/obj/item/weapon/pen{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"az" = ( +/obj/machinery/computer/emergency_shuttle, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aA" = ( +/obj/structure/table, +/obj/item/weapon/coin/mythril, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aB" = ( +/obj/machinery/door/airlock/glass{ + name = "Emergency Shuttle Brig"; + req_access_txt = "2" + }, +/turf/open/floor/plasteel/shuttle, +/area/shuttle/escape) +"aC" = ( +/obj/machinery/door/airlock/shuttle, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aD" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock" + }, +/obj/docking_port/mobile/emergency{ + timid = 1, name = "NT Lepton Violet" + }, +/turf/open/floor/plating, +/area/shuttle/escape) +"aE" = ( +/turf/open/floor/plasteel/shuttle, +/area/shuttle/escape) +"aF" = ( +/obj/machinery/door/window/eastleft, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aG" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27; + pixel_y = 0 + }, +/obj/structure/table/glass, +/obj/item/weapon/storage/box/syringes{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/storage/box/beakers, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aH" = ( +/turf/closed/wall/shuttle{ + icon_state = "swall3"; + dir = 2 + }, +/area/shuttle/escape) +"aI" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aJ" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aK" = ( +/obj/machinery/sleeper{ + icon_state = "sleeper-open"; + dir = 4 + }, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aL" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aM" = ( +/obj/machinery/chem_dispenser, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aN" = ( +/obj/structure/table, +/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/weapon/storage/firstaid/regular{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/item/weapon/wrench/medical, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aO" = ( +/turf/open/floor/plating, +/area/shuttle/escape) +"aP" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aQ" = ( +/obj/machinery/chem_heater, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aR" = ( +/obj/machinery/chem_master, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aS" = ( +/obj/machinery/door/window/eastright, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aT" = ( +/obj/structure/table/glass, +/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/weapon/reagent_containers/glass/bottle/charcoal, +/turf/open/floor/plasteel/shuttle{ + icon_state = "shuttlefloor3" + }, +/area/shuttle/escape) +"aU" = ( +/obj/machinery/door/airlock/glass, +/turf/open/floor/plasteel/shuttle, +/area/shuttle/escape) +"aV" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock" + }, +/turf/open/floor/plating, +/area/shuttle/escape) +"aW" = ( +/turf/open/floor/plasteel/yellow, +/turf/open/floor/plasteel/warningline{ + tag = "icon-warningline (NORTH)"; + icon_state = "warningline"; + dir = 1 + }, +/area/shuttle/escape) +"aX" = ( +/turf/open/floor/plasteel/yellow, +/turf/open/floor/plasteel/warningline{ + tag = "icon-warningline (NORTHEAST)"; + icon_state = "warningline"; + dir = 5 + }, +/area/shuttle/escape) +"aY" = ( +/turf/open/floor/plasteel/whitered, +/turf/open/floor/plasteel/warningline{ + tag = "icon-warningline (NORTHWEST)"; + icon_state = "warningline"; + dir = 9 + }, +/area/shuttle/escape) +"aZ" = ( +/turf/open/floor/plasteel/whitered, +/turf/open/floor/plasteel/warningline{ + tag = "icon-warningline (NORTH)"; + icon_state = "warningline"; + dir = 1 + }, +/area/shuttle/escape) +"ba" = ( +/obj/structure/cult/forge{ + desc = "A engine used in powering the shuttle."; + name = "magma engine" + }, +/turf/open/floor/plasteel/yellow, +/area/shuttle/escape) +"bb" = ( +/turf/open/floor/plasteel/yellow, +/turf/open/floor/plasteel/warningline{ + tag = "icon-warningline (EAST)"; + icon_state = "warningline"; + dir = 4 + }, +/area/shuttle/escape) +"bc" = ( +/turf/open/floor/plasteel/whitered, +/turf/open/floor/plasteel/warningline{ + tag = "icon-warningline (WEST)"; + icon_state = "warningline"; + dir = 8 + }, +/area/shuttle/escape) +"bd" = ( +/obj/structure/cult/forge{ + desc = "A engine used in powering the shuttle."; + name = "magma engine" + }, +/turf/open/floor/plasteel/whitered, +/area/shuttle/escape) +"be" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plating/lava/smooth/airless, +/area/shuttle/escape) +"bf" = ( +/obj/structure/shuttle/engine/heater, +/turf/open/floor/plating/lava/smooth/airless, +/area/shuttle/escape) +"bg" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/open/floor/plating/airless, +/area/shuttle/escape) + +(1,1,1) = {" +aa +aa +aa +aa +ab +ab +ab +ax +ab +aD +aH +as +as +as +aH +aV +ab +aV +ab +ab +ab +aa +"} +(2,1,1) = {" +aa +ab +ab +ab +ab +ak +at +al +as +aE +aI +aI +aI +aE +ab +aE +aI +aW +ba +be +ab +ab +"} +(3,1,1) = {" +ab +ab +ag +ae +ab +al +al +al +aB +aE +aE +aE +aE +aE +ab +aE +aE +aX +bb +be +bf +bg +"} +(4,1,1) = {" +ac +ad +ae +ad +ab +am +am +am +as +aE +aJ +aJ +aJ +aE +aU +aE +aE +aE +aE +be +bf +bg +"} +(5,1,1) = {" +ac +ae +ad +ae +ab +ab +ab +ab +ab +aq +aK +aN +aK +aq +ab +aw +aw +aw +aw +be +bf +bg +"} +(6,1,1) = {" +ac +af +ad +ae +ai +an +au +ay +ab +aq +aq +aq +aq +aq +ab +ab +ab +ab +ab +be +bf +bg +"} +(7,1,1) = {" +ac +ae +ad +ae +aj +ao +au +az +ab +aF +aJ +aq +aJ +aS +as +aI +aI +aI +aI +be +bf +bg +"} +(8,1,1) = {" +ac +ad +ae +ad +ai +ap +av +aA +ab +aq +aL +aO +aL +aq +aU +aE +aE +aE +aE +be +bf +bg +"} +(9,1,1) = {" +ab +ab +ah +ae +ab +aq +aq +aq +aC +aq +aq +aP +aq +aq +as +av +aE +aY +bc +be +bf +bg +"} +(10,1,1) = {" +aa +ab +ab +ab +ab +ar +aw +aw +ab +aG +aM +aQ +aR +aT +as +av +aE +aZ +bd +be +ab +ab +"} +(11,1,1) = {" +aa +aa +aa +aa +ab +as +ab +as +ab +ab +ab +as +as +as +ab +ab +ab +as +ab +ab +ab +aa +"} diff --git a/_maps/shuttles/ferry_base.dmm b/_maps/shuttles/ferry_base.dmm index 66b39b7dd87..0e5e5f12a35 100644 --- a/_maps/shuttles/ferry_base.dmm +++ b/_maps/shuttles/ferry_base.dmm @@ -10,7 +10,7 @@ "j" = (/obj/structure/chair,/turf/open/floor/plasteel/shuttle,/area/shuttle/transport) "k" = (/obj/machinery/door/airlock/shuttle,/turf/open/floor/plasteel/shuttle,/area/shuttle/transport) "l" = (/turf/open/floor/plasteel/shuttle,/area/shuttle/transport) -"m" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dir = 8; dwidth = 2; height = 12; id = "ferry"; name = "ferry shuttle"; roundstart_move = "ferry_away"; travelDir = 180; width = 5},/turf/open/floor/plasteel/shuttle,/area/shuttle/transport) +"m" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dir = 8; dwidth = 2; height = 12; id = "ferry"; name = "ferry shuttle"; roundstart_move = "ferry_away"; travelDir = 180; width = 5; timid = 1},/turf/open/floor/plasteel/shuttle,/area/shuttle/transport) "n" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/closed/wall/shuttle{icon_state = "swall_s5"; dir = 2},/area/shuttle/transport) "o" = (/turf/open/floor/plasteel/shuttle,/turf/closed/wall/shuttle/interior{icon_state = "swall_f10"},/area/shuttle/transport) "p" = (/obj/structure/closet/crate,/turf/open/floor/plasteel/shuttle,/area/shuttle/transport) diff --git a/_maps/shuttles/ferry_lighthouse.dmm b/_maps/shuttles/ferry_lighthouse.dmm index 9267e97bcf0..867110f7d7a 100644 --- a/_maps/shuttles/ferry_lighthouse.dmm +++ b/_maps/shuttles/ferry_lighthouse.dmm @@ -38,7 +38,7 @@ "aL" = (/turf/closed/wall/rust,/area/shuttle/transport) "aM" = (/obj/structure/table/wood,/obj/structure/window/reinforced{dir = 4},/turf/open/floor/wood,/area/shuttle/transport) "aN" = (/obj/machinery/power/grounding_rod{anchored = 1},/turf/open/floor/plasteel/shuttle,/area/shuttle/transport) -"aO" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dir = 8;dwidth = 9;height = 27;id = "ferry";name = "ferry shuttle";roundstart_move = "ferry_away";travelDir = 180;width = 16},/turf/open/floor/plasteel/shuttle,/area/shuttle/transport) +"aO" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dir = 8;dwidth = 8;height = 27;id = "ferry";name = "The Lighthouse";roundstart_move = "ferry_away";timid = 1;travelDir = 180;width = 16},/turf/open/floor/plasteel/shuttle,/area/shuttle/transport) "aP" = (/obj/machinery/vending/magivend,/turf/open/floor/plasteel/shuttle,/area/shuttle/transport) "aQ" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/open/floor/plasteel/shuttle,/area/shuttle/transport) "aR" = (/obj/structure/chair/office/dark{dir = 4},/turf/open/floor/wood,/area/shuttle/transport) @@ -70,9 +70,9 @@ aaafamanaoapadadapaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae aaafafaqakapararapapapaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae agaaaaasakatauauavauapapapawawadadaxaxayaxaxaxazaxaxaA agagagaBakapauauaCaDaDaDaEaEaEakaFaGaHaIakaJaJaJaJaKay -aaaaaaasakaLauauaMaDaDaDaNaNaEaEaEaEaEaEaEaEaEaEaEaEaO +aaaaaaasakaLauauaCaDaDaDaNaNaEaEaEaEaEaEaEaEaEaEaEaEaO aaaaagasaPaQauaRaSaDaDaDaEaEaEakaTaUaVaWaWaWaWaWaWaWay -aaabacaXaXapauauaMaDaDaDadadadaYawadaxayaxaxaxazaxaxaZ +aaabacaXaXapauauaCaDaDaDadadadaYawadaxayaxaxaxazaxaxaZ aaaaagahbaaLaLbbbcbdadadadaeaeaeaeaeaeaeaeaeaeaeaeaeae aaaaaaahbebebfbgadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae aaaaagahbhbhadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeae diff --git a/_maps/shuttles/ferry_meat.dmm b/_maps/shuttles/ferry_meat.dmm index e8bb7a536ce..eda349c9aa3 100644 --- a/_maps/shuttles/ferry_meat.dmm +++ b/_maps/shuttles/ferry_meat.dmm @@ -14,7 +14,7 @@ "n" = (/obj/effect/decal/cleanable/dirt,/obj/structure/chair,/turf/open/floor/plasteel/freezer,/area/shuttle/transport) "o" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/open/floor/plating,/area/shuttle/transport) "p" = (/obj/machinery/door/airlock/shuttle,/turf/open/floor/plasteel/freezer,/area/shuttle/transport) -"q" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dir = 8;dwidth = 2;height = 12;id = "ferry";name = "ferry shuttle";roundstart_move = "ferry_away";travelDir = 180;width = 5},/turf/open/floor/plasteel/freezer,/area/shuttle/transport) +"q" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dir = 8;dwidth = 2;height = 12;id = "ferry";name = "ferry shuttle";roundstart_move = "ferry_away";travelDir = 180;width = 5;timid = 1},/turf/open/floor/plasteel/freezer,/area/shuttle/transport) "r" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion";dir = 4},/turf/closed/wall/shuttle{icon_state = "swall_s5";dir = 2},/area/shuttle/transport) "s" = (/turf/open/floor/plasteel/freezer,/turf/closed/wall/shuttle/interior{icon_state = "swall_f10"},/area/shuttle/transport) "t" = (/obj/structure/closet/chefcloset,/turf/open/floor/plasteel/freezer,/area/shuttle/transport) diff --git a/_maps/shuttles/whiteship_box.dmm b/_maps/shuttles/whiteship_box.dmm index 44db343ee14..07756f111dd 100644 --- a/_maps/shuttles/whiteship_box.dmm +++ b/_maps/shuttles/whiteship_box.dmm @@ -1,7 +1,7 @@ "aa" = (/turf/open/space,/area/space) "ab" = (/turf/closed/wall/shuttle{icon_state = "swall_s6"; dir = 2},/area/shuttle/abandoned) "ac" = (/turf/closed/wall/shuttle{icon_state = "swall_s10"; dir = 2},/area/shuttle/abandoned) -"ad" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dheight = 0; dir = 2; dwidth = 11; height = 22; id = "whiteship"; launch_status = 0; name = "NT Medical Ship"; roundstart_move = "whiteship_away"; travelDir = 180; width = 35},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/abandoned) +"ad" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dheight = 0; dir = 2; dwidth = 11; height = 22; id = "whiteship"; launch_status = 0; name = "NT Medical Ship"; roundstart_move = "whiteship_away"; travelDir = 180; width = 35; timid = 1},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/abandoned) "ae" = (/turf/closed/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/abandoned) "af" = (/obj/machinery/door/airlock/shuttle,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/abandoned) "ag" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/open/floor/plating/airless,/area/shuttle/abandoned) diff --git a/_maps/shuttles/whiteship_meta.dmm b/_maps/shuttles/whiteship_meta.dmm index 834aaa68d89..0b5fb24e513 100644 --- a/_maps/shuttles/whiteship_meta.dmm +++ b/_maps/shuttles/whiteship_meta.dmm @@ -4,7 +4,7 @@ "ad" = (/turf/closed/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/abandoned) "ae" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating,/area/shuttle/abandoned) "af" = (/turf/closed/wall/shuttle{icon_state = "swallc1"; dir = 2},/area/shuttle/abandoned) -"ag" = (/obj/docking_port/mobile{dheight = 0; dir = 2; dwidth = 11; height = 15; id = "whiteship"; launch_status = 0; name = "NT Recovery White-Ship"; roundstart_move = "whiteship_away"; travelDir = 180; width = 27},/obj/machinery/door/airlock/shuttle{name = "recovery shuttle external airlock"},/obj/effect/decal/cleanable/dirt{desc = "A thin layer of dust coating the floor."; name = "dust"},/turf/open/floor/plasteel/shuttle,/area/shuttle/abandoned) +"ag" = (/obj/docking_port/mobile{dheight = 0; dir = 2; dwidth = 11; height = 15; id = "whiteship"; launch_status = 0; name = "NT Recovery White-Ship"; roundstart_move = "whiteship_away"; travelDir = 180; width = 27; timid = 1},/obj/machinery/door/airlock/shuttle{name = "recovery shuttle external airlock"},/obj/effect/decal/cleanable/dirt{desc = "A thin layer of dust coating the floor."; name = "dust"},/turf/open/floor/plasteel/shuttle,/area/shuttle/abandoned) "ah" = (/obj/machinery/door/airlock/shuttle{name = "recovery shuttle external airlock"},/obj/effect/decal/cleanable/dirt{desc = "A thin layer of dust coating the floor."; name = "dust"},/turf/open/floor/plasteel/shuttle,/area/shuttle/abandoned) "ai" = (/turf/closed/wall/shuttle{icon_state = "swallc2"; dir = 2},/area/shuttle/abandoned) "aj" = (/turf/closed/wall/shuttle{icon_state = "swall_s10"; dir = 2},/area/shuttle/abandoned) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 74f542bda05..153ab82e1f3 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -396,12 +396,6 @@ var/global/list/ghost_others_options = list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define APPEARANCE_UI_IGNORE_ALPHA RESET_COLOR|RESET_TRANSFORM|NO_CLIENT_COLOR|RESET_ALPHA #define APPEARANCE_UI RESET_COLOR|RESET_TRANSFORM|NO_CLIENT_COLOR -//Launching Shuttles to Centcomm -#define NOLAUNCH -1 -#define UNLAUNCHED 0 -#define ENDGAME_LAUNCHED 1 -#define EARLY_LAUNCHED 2 - //Just space #define SPACE_ICON_STATE "[((x + y) ^ ~(x * y) + z) % 25]" @@ -424,10 +418,6 @@ var/global/list/ghost_others_options = list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define MAP_MAXY 5 #define MAP_MAXZ 6 -// Shuttle return values -#define SHUTTLE_ALREADY_DOCKED 7 - - #define CHECK_DNA_AND_SPECIES(C) if((!(C.dna)) || (!(C.dna.species))) return // Evil narsie colour diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm new file mode 100644 index 00000000000..fe600a713a2 --- /dev/null +++ b/code/__DEFINES/shuttles.dm @@ -0,0 +1,23 @@ +//shuttle mode defines +#define SHUTTLE_IDLE "idle" +#define SHUTTLE_RECALL "recalled" +#define SHUTTLE_CALL "called" +#define SHUTTLE_DOCKED "docked" +#define SHUTTLE_STRANDED "stranded" +#define SHUTTLE_ESCAPE "escape" +#define SHUTTLE_ENDGAME "endgame" + +// Shuttle return values +#define SHUTTLE_NOT_A_DOCKING_PORT "not_a_docking_port" +#define SHUTTLE_DWIDTH_TOO_LARGE "docking_width_too_large" +#define SHUTTLE_WIDTH_TOO_LARGE "width_too_large" +#define SHUTTLE_DHEIGHT_TOO_LARGE "docking_height_too_large" +#define SHUTTLE_HEIGHT_TOO_LARGE "height_too_large" +#define SHUTTLE_ALREADY_DOCKED "we_are_already_docked" +#define SHUTTLE_SOMEONE_ELSE_DOCKED "someone_else_docked" + +//Launching Shuttles to Centcomm +#define NOLAUNCH -1 +#define UNLAUNCHED 0 +#define ENDGAME_LAUNCHED 1 +#define EARLY_LAUNCHED 2 diff --git a/code/__DEFINES/stat.dm b/code/__DEFINES/stat.dm index 7397a22d21f..f7e519336d0 100644 --- a/code/__DEFINES/stat.dm +++ b/code/__DEFINES/stat.dm @@ -24,12 +24,3 @@ #define POWEROFF 4 // tbd #define MAINT 8 // under maintaince #define EMPED 16 // temporary broken by EMP pulse - -//shuttle mode defines -#define SHUTTLE_IDLE 0 -#define SHUTTLE_RECALL 1 -#define SHUTTLE_CALL 2 -#define SHUTTLE_DOCKED 3 -#define SHUTTLE_STRANDED 4 -#define SHUTTLE_ESCAPE 5 -#define SHUTTLE_ENDGAME 6 diff --git a/code/__HELPERS/files.dm b/code/__HELPERS/files.dm index e5d13b03080..b1b557b6451 100644 --- a/code/__HELPERS/files.dm +++ b/code/__HELPERS/files.dm @@ -49,7 +49,7 @@ It is just a timer that only permits a download every [FTPDELAY] ticks. This can be changed by modifying FTPDELAY's value above. - PLEASE USE RESPONSIBLY, Some log files canr each sizes of 4MB! */ + PLEASE USE RESPONSIBLY, Some log files can reach sizes of 4MB! */ /client/proc/file_spam_check() var/time_to_wait = fileaccess_timer - world.time if(time_to_wait > 0) @@ -57,4 +57,22 @@ return 1 fileaccess_timer = world.time + FTPDELAY return 0 -#undef FTPDELAY \ No newline at end of file +#undef FTPDELAY + +/proc/pathwalk(path) + var/list/jobs = list(path) + var/list/filenames = list() + + while(jobs.len) + var/current_dir = pop(jobs) + var/list/new_filenames = flist(current_dir) + for(var/new_filename in new_filenames) + // if filename ends in / it is a directory, append to currdir + if(findtext(new_filename, "/", -1)) + jobs += current_dir + new_filename + else + filenames += current_dir + new_filename + return filenames + +/proc/pathflatten(path) + return replacetext(path, "/", "_") diff --git a/code/controllers/master.dm b/code/controllers/master.dm index a01c867c134..13533f67f03 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -108,6 +108,7 @@ var/global/datum/controller/master/Master = new() CHECK_TICK world << "Initializations complete!" + world.log << "Initializations complete." // Sort subsystems by display setting for easy access. sortTim(subsystems, /proc/cmp_subsystem_display) diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index 08561726e6b..0fdc5702433 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -17,7 +17,7 @@ var/datum/subsystem/garbage_collector/SSgarbage var/gcedlasttick = 0 // number of things that gc'ed last tick var/totaldels = 0 var/totalgcs = 0 - + var/highest_del_time = 0 var/highest_del_tickusage = 0 @@ -31,6 +31,9 @@ var/datum/subsystem/garbage_collector/SSgarbage // the types are stored as strings var/list/noqdelhint = list()// list of all types that do not return a QDEL_HINT + // all types that did not respect qdel(A, force=TRUE) and returned one + // of the immortality qdel hints + var/list/noforcerespect = list() #ifdef TESTING var/list/qdel_list = list() // list of all types that have been qdel()eted @@ -150,7 +153,7 @@ var/datum/subsystem/garbage_collector/SSgarbage // Should be treated as a replacement for the 'del' keyword. // Datums passed to this will be given a chance to clean up references to allow the GC to collect them. -/proc/qdel(datum/D) +/proc/qdel(datum/D, force=FALSE) if(!D) return #ifdef TESTING @@ -159,16 +162,25 @@ var/datum/subsystem/garbage_collector/SSgarbage if(!istype(D)) del(D) else if(isnull(D.gc_destroyed)) - var/hint = D.Destroy() // Let our friend know they're about to get fucked up. + var/hint = D.Destroy(force) // Let our friend know they're about to get fucked up. if(!D) return switch(hint) if (QDEL_HINT_QUEUE) //qdel should queue the object for deletion. SSgarbage.QueueForQueuing(D) - if (QDEL_HINT_LETMELIVE) //qdel should let the object live after calling destory. - return - if (QDEL_HINT_IWILLGC) //functionally the same as the above. qdel should assume the object will gc on its own, and not check it. - return + if (QDEL_HINT_LETMELIVE, QDEL_HINT_IWILLGC) //qdel should let the object live after calling destory. + if(!force) + return + // Returning LETMELIVE after being told to force destroy + // indicates the objects Destroy() does not respect force + if(!("[D.type]" in SSgarbage.noforcerespect)) + SSgarbage.noforcerespect += "[D.type]" + testing("WARNING: [D.type] has been force deleted, but is \ + returning an immortal QDEL_HINT, indicating it does \ + not respect the force flag for qdel(). It has been \ + placed in the queue, further instances of this type \ + will also be queued.") + SSgarbage.QueueForQueuing(D) if (QDEL_HINT_HARDDEL) //qdel should assume this object won't gc, and queue a hard delete using a hard reference to save time from the locate() SSgarbage.HardQueue(D) if (QDEL_HINT_HARDDEL_NOW) //qdel should assume this object won't gc, and hard del it post haste. @@ -197,7 +209,7 @@ var/datum/subsystem/garbage_collector/SSgarbage // Default implementation of clean-up code. // This should be overridden to remove all references pointing to the object being destroyed. // Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE. -/datum/proc/Destroy() +/datum/proc/Destroy(force=FALSE) tag = null return QDEL_HINT_QUEUE diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm index e2df3ccd9f6..5955447600f 100644 --- a/code/controllers/subsystem/shuttles.dm +++ b/code/controllers/subsystem/shuttles.dm @@ -79,9 +79,16 @@ var/datum/subsystem/shuttle/SSshuttle /datum/subsystem/shuttle/proc/requestEvac(mob/user, call_reason) if(!emergency) - WARNING("requestEvac(): There is no emergency shuttle, but the shuttle was called. Using the backup shuttle instead.") + WARNING("requestEvac(): There is no emergency shuttle, but the \ + shuttle was called. Using the backup shuttle instead.") if(!backup_shuttle) - throw EXCEPTION("requestEvac(): There is no emergency shuttle, or backup shuttle! The game will be unresolvable. This is likely due to a mapping error") + throw EXCEPTION("requestEvac(): There is no emergency shuttle, \ + or backup shuttle! The game will be unresolvable. This is \ + possibly a mapping error, more likely a bug with the shuttle \ + manipulation system, or badminry. It is possible to manually \ + resolve this problem by loading an emergency shuttle template \ + manually, and then calling register() on the mobile docking port. \ + Good luck.") return emergency = backup_shuttle @@ -211,11 +218,5 @@ var/datum/subsystem/shuttle/SSshuttle for(var/obj/docking_port/mobile/M in mobile) if(!M.roundstart_move) continue - for(var/obj/docking_port/stationary/S in stationary) - if(S.z != ZLEVEL_STATION && findtext(S.id, M.id)) - S.width = M.width - S.height = M.height - S.dwidth = M.dwidth - S.dheight = M.dheight moveShuttle(M.id, "[M.roundstart_move]", 0) CHECK_TICK diff --git a/code/datums/helper_datums/map_template.dm b/code/datums/helper_datums/map_template.dm index a545622036a..a6bd818abad 100644 --- a/code/datums/helper_datums/map_template.dm +++ b/code/datums/helper_datums/map_template.dm @@ -120,5 +120,5 @@ var/datum/map_template/shuttle/S = new shuttle_type() - shuttle_templates[S.name] = S - map_templates[S.name] = S + shuttle_templates[S.shuttle_id] = S + map_templates[S.shuttle_id] = S diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index f34e49e96a0..77afc9e5f36 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -3,12 +3,14 @@ var/prefix = "_maps/shuttles/" var/suffix var/port_id + var/shuttle_id var/description var/admin_notes /datum/map_template/shuttle/New() - mappath = "[prefix][port_id]_[suffix].dmm" + shuttle_id = "[port_id]_[suffix]" + mappath = "[prefix][shuttle_id].dmm" . = ..() /datum/map_template/shuttle/emergency @@ -129,6 +131,18 @@ is a shuttle used at other less known nanotrasen facilities \ and has a more open inside for larger crowds." +/datum/map_template/shuttle/emergency/wabbajack + suffix = "wabbajack" + name = "NT Lepton Violet" + description = "The research team based on this vessel went missing one \ + day, and no amount of investigation could discover what happened to \ + them. The only occupants were a number of dead rodents, who appeared to \ + have clawed each other to death. Needless to say, no engineering team \ + wanted to go near the thing, and it's only being used as an Emergency \ + Escape Shuttle because there is literally nothing else available." + admin_notes = "If the crew can solve the puzzle, they will wake the \ + wabbajack statue. It will likely not end well. There's a reason it's \ + boarded up. Maybe they should have just left it alone." /datum/map_template/shuttle/ferry/base suffix = "base" diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index b10374a2dbf..418a878733d 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -429,10 +429,16 @@ This is here to make the tiles around the station mininuke change when it's arme get(src, /mob) << "You can't help but feel that you just lost something back there..." qdel(src) -/obj/item/weapon/disk/nuclear/Destroy() +/obj/item/weapon/disk/nuclear/Destroy(force) + var/turf/diskturf = get_turf(src) + + if(force) + message_admins("[src] has been !!force deleted!! in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z] - JMP":"nonexistent location"]).") + log_game("[src] has been !!force deleted!! in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z]":"nonexistent location"]).") + return ..() + if(blobstart.len > 0) var/turf/targetturf = get_turf(pick(blobstart)) - var/turf/diskturf = get_turf(src) if(ismob(loc)) var/mob/M = loc M.remove_from_mob(src) @@ -444,4 +450,4 @@ This is here to make the tiles around the station mininuke change when it's arme log_game("[src] has been destroyed in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z]":"nonexistent location"]). Moving it to ([targetturf.x], [targetturf.y], [targetturf.z]).") else throw EXCEPTION("Unable to find a blobstart landmark") - return QDEL_HINT_LETMELIVE //Cancel destruction regardless of success + return QDEL_HINT_LETMELIVE //Cancel destruction unless forced diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index d5dc481041d..8c23c5046cc 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -66,7 +66,7 @@ go_up(user,is_ghost) else if(down) go_down(user,is_ghost) - + if(!is_ghost) add_fingerprint(user) @@ -92,6 +92,8 @@ /obj/structure/ladder/proc/can_use(mob/user) return 1 -/obj/structure/ladder/unbreakable/Destroy() - return QDEL_HINT_LETMELIVE - +/obj/structure/ladder/unbreakable/Destroy(force) + if(force) + . = ..() + else + return QDEL_HINT_LETMELIVE diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index a38f9465763..5efd453e419 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -325,7 +325,9 @@ buildstack = /obj/item/stack/sheet/mineral/wood burn_state = FLAMMABLE burntime = 20 - canSmoothWith = list(/obj/structure/table/wood, /obj/structure/table/wood/poker) + canSmoothWith = list(/obj/structure/table/wood, + /obj/structure/table/wood/poker, + /obj/structure/table/wood/bar) /obj/structure/table/wood/narsie_act() return @@ -336,7 +338,6 @@ icon = 'icons/obj/smooth_structures/poker_table.dmi' icon_state = "poker_table" buildstack = /obj/item/stack/tile/carpet - canSmoothWith = list(/obj/structure/table/wood/poker, /obj/structure/table/wood) /obj/structure/table/wood/poker/narsie_act() new /obj/structure/table/wood(src.loc) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index e81ee6965a7..5b37185a6b2 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -487,3 +487,6 @@ /obj/structure/window/shuttle/narsie_act() color = "#3C3434" + +/obj/structure/window/shuttle/tinted + opacity = TRUE diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 06581872610..b6663bfa960 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -19,8 +19,11 @@ update_icon() air = space_gas -/turf/open/space/Destroy() - return QDEL_HINT_LETMELIVE +/turf/open/space/Destroy(force) + if(force) + . = ..() + else + return QDEL_HINT_LETMELIVE /turf/open/space/Initalize_Atmos(times_fired) return diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 33971447d07..0db152579cf 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -299,3 +299,22 @@ /turf/proc/add_blueprints_preround(atom/movable/AM) if(!ticker || ticker.current_state != GAME_STATE_PLAYING) add_blueprints(AM) + +/turf/proc/empty(turf_type=/turf/open/space) + // Remove all atoms except observers, landmarks, docking ports + var/turf/T0 = src + for(var/A in T0.GetAllContents()) + if(istype(A, /mob/dead)) + continue + if(istype(A, /obj/effect/landmark)) + continue + if(istype(A, /obj/docking_port)) + continue + qdel(A, force=TRUE) + + T0.ChangeTurf(turf_type) + + T0.redraw_lighting() + SSair.remove_from_active(T0) + T0.CalculateAdjacentTurfs() + SSair.add_to_active(T0,1) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 91c0770c04d..11c21972abb 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -56,8 +56,6 @@ var/list/admin_verbs_admin = list( /client/proc/jumptoturf, /*allows us to jump to a specific turf*/ /client/proc/admin_call_shuttle, /*allows us to call the emergency shuttle*/ /client/proc/admin_cancel_shuttle, /*allows us to cancel the emergency shuttle, sending it back to centcom*/ - /client/proc/cmd_admin_destroy_shuttle, /* Destroys the emergency shuttle, allowing us to import a new shuttle template. Or just horribly fuck with the game. */ - /client/proc/cmd_admin_import_shuttle, /* Imports a emergency shuttle from a template, and sends it to its round start location. Probably should destroy the old one first.*/ /client/proc/cmd_admin_direct_narrate, /*send text directly to a player with no padding. Useful for narratives and fluff-text*/ /client/proc/cmd_admin_world_narrate, /*sends text to all players with no padding*/ /client/proc/cmd_admin_local_narrate, /*sends text to all mobs within view of atom*/ diff --git a/code/modules/admin/verbs/shuttles.dm b/code/modules/admin/verbs/shuttles.dm deleted file mode 100644 index 2dc8e5820ee..00000000000 --- a/code/modules/admin/verbs/shuttles.dm +++ /dev/null @@ -1,116 +0,0 @@ -/proc/emergency_sanity_check() - if(SSshuttle.emergency.mode != SHUTTLE_IDLE) - var/confirm = alert(src, "Modification of the emergency shuttle while it is not idle can be highly dangerous, and may result in WEIRD UNPREDICTABLE SHIT. Are you SURE you want to continue? Obviously if you're not touching the emergency shuttle, then you're probably fine.", "Confirm", "Yes", "No") - if(confirm == "Yes") - return TRUE - else - return FALSE - else - return TRUE - -/client/proc/cmd_admin_destroy_shuttle() - set category = "Admin" - set name = "Shuttle Destroy" - - if (!holder) - src << "Only administrators may use this command." - return - - if(!emergency_sanity_check()) - return - - var/list/names = list() - var/obj/docking_port/mobile/M - for (var/atom/AM in SSshuttle.mobile) - M = AM - names += M.name - - var/selected = input("Select shuttle to DESTROY", "Shuttles") as null|anything in names - - var/decide_against_msg = "You decide against destroying a shuttle." - - if(!selected) - src << decide_against_msg - return - - var/confirm = alert(src, "Are you sure you want to destroy [selected]?", "Confirm", "Yes", "No") - - if(confirm != "Yes") - src << decide_against_msg - return - - var/destroyed = FALSE - for (var/atom/AM in SSshuttle.mobile) - M = AM - if(M.name == selected) - M.jumpToNullSpace() - destroyed = TRUE - break - - if(!destroyed) - src << "Something went wrong, the selected shuttle doesn't exist anymore." - return - - log_admin("[key_name(usr)] - ShuttleDestroy: [M]") - message_admins("[key_name_admin(usr)] has used ShuttleDestroy on [selected]
") - feedback_add_details("admin_verb","SHTDEL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - -/client/proc/cmd_admin_import_shuttle() - set category = "Admin" - set name = "Shuttle Import" - - if (!holder) - src << "Only administrators may use this command." - return - - if(!emergency_sanity_check()) - return - - var/datum/map_template/template - var/map = input(usr, "Choose a Shuttle Template to import","Import Shuttle Template") as null|anything in shuttle_templates - if(!map) - return - template = shuttle_templates[map] - - if(alert(usr,"Confirm importing of [map]","Shuttle Import Confirm","Yes","No") != "Yes") - return - - var/turf/T = get_turf(locate("landmark*Shuttle Import")) - if(!T) - usr << "Shuttle import landmark not found. \ - Aborting." - template.load(T, centered = TRUE) - - var/obj/docking_port/mobile/M - - for(var/S in template.get_affected_turfs(T,centered = TRUE)) - for (var/AM in S) - if(istype(AM, /obj/docking_port/mobile)) - if(!M) - M = AM - else - usr << "More than one mobile docking port was detected ([AM]), this is a BAD THING, TELL A CODER." - if(istype(AM, /obj/docking_port/stationary)) - usr << "REEEEEEEEEEEE! THE LOADED TEMPLATE HAS [AM], A STATIONARY DOCKING PORT, THIS IS A BAD THING FIX IT. TELL A CODER. WE CAN DELETE IT BUT IT SHOULD NOT BE THERE." - var/obj/docking_port/stationary/bad = AM - bad.i_know_what_im_doing = TRUE - qdel(bad) - - if(!M) - usr << "The loaded template didn't have a mobile docking port! The template has been deleted." - for(var/S in template.get_affected_turfs(T,centered = TRUE)) - var/turf/T0 = S - for(var/atom/AM in T0.GetAllContents()) - if(istype(AM, /mob/dead)) - continue - qdel(AM) - qdel(S) - return - - var/status = M.dockRoundstart() - if(status) - message_admins("The imported shuttle [map]/[M] failed to travel to its roundstart location (error code [status]). Please fix or delete the imported shuttle before continuing any more shuttle import hijinks.") - - log_admin("[key_name(usr)] - ShuttleImport: [map] - [M]") - message_admins("[key_name_admin(usr)] has used ShuttleImport: [map] - [M]
") - feedback_add_details("admin_verb","SHTIMP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/awaymissions/mission_code/challenge.dm b/code/modules/awaymissions/mission_code/challenge.dm index 2134e7db4cb..75d240ec777 100644 --- a/code/modules/awaymissions/mission_code/challenge.dm +++ b/code/modules/awaymissions/mission_code/challenge.dm @@ -1,40 +1,35 @@ -//Challenge Areas - -/area/awaymission/challenge/start - name = "Where Am I?" - icon_state = "away" - -/area/awaymission/challenge/main - name = "Danger Room" - icon_state = "away1" - requires_power = 0 - -/area/awaymission/challenge/end - name = "Administration" - icon_state = "away2" - requires_power = 0 - - -/obj/machinery/power/emitter/energycannon - name = "Energy Cannon" - desc = "A heavy duty industrial laser" - icon = 'icons/obj/singularity.dmi' - icon_state = "emitter" - anchored = 1 - density = 1 - - use_power = 0 - idle_power_usage = 0 - active_power_usage = 0 - - active = 1 - locked = 1 - state = 2 - -/obj/machinery/power/emitter/energycannon/RefreshParts() - return - -/obj/machinery/power/emitter/energycannon/magical - name = "wabbajack statue" - desc = "Who am I? What is my purpose in life? What do I mean by who am I?" - projectile_type = /obj/item/projectile/magic/change +//Challenge Areas + +/area/awaymission/challenge/start + name = "Where Am I?" + icon_state = "away" + +/area/awaymission/challenge/main + name = "Danger Room" + icon_state = "away1" + requires_power = 0 + +/area/awaymission/challenge/end + name = "Administration" + icon_state = "away2" + requires_power = 0 + + +/obj/machinery/power/emitter/energycannon + name = "Energy Cannon" + desc = "A heavy duty industrial laser" + icon = 'icons/obj/singularity.dmi' + icon_state = "emitter" + anchored = 1 + density = 1 + + use_power = 0 + idle_power_usage = 0 + active_power_usage = 0 + + active = 1 + locked = 1 + state = 2 + +/obj/machinery/power/emitter/energycannon/RefreshParts() + return diff --git a/code/modules/events/wizard/greentext.dm b/code/modules/events/wizard/greentext.dm index b301049eaf4..f472cfe6796 100644 --- a/code/modules/events/wizard/greentext.dm +++ b/code/modules/events/wizard/greentext.dm @@ -29,6 +29,7 @@ var/mob/living/new_holder var/list/color_altered_mobs = list() burn_state = FIRE_PROOF + var/quiet = FALSE /obj/item/weapon/greentext/New() ..() @@ -76,9 +77,11 @@ last_holder.color = "#FF0000" last_holder = new_holder //long live the king -/obj/item/weapon/greentext/Destroy() - if(burn_state != ON_FIRE) +/obj/item/weapon/greentext/Destroy(force) + if((burn_state != ON_FIRE) && (!force)) return QDEL_HINT_LETMELIVE + + . = ..() poi_list.Remove(src) for(var/mob/M in mob_list) var/message = "A dark temptation has passed from this world" @@ -86,5 +89,9 @@ message += " and you're finally able to forgive yourself" M.color = initial(M.color) message += "..." - M << message - return ..() + // can't skip the mob check as it also does the decolouring + if(!quiet) + M << message + +/obj/item/weapon/greentext/quiet + quiet = TRUE diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index 64bef84887e..5c9f8678509 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -76,6 +76,7 @@ /var/const/access_cent_storage = 106//Generic storage areas. /var/const/access_cent_teleporter = 107//Teleporter. /var/const/access_cent_captain = 109//Captain's office/ID comp/AI. +/var/const/access_cent_bar = 110 // The non-existent Centcom Bar //The Syndicate /var/const/access_syndicate = 150//General Syndicate Access @@ -209,6 +210,8 @@ return get_ert_access("eng") if("Medical Response Officer") return get_ert_access("med") + if("Centcom Bartender") + return list(access_cent_general, access_cent_living, access_cent_bar) /proc/get_all_accesses() return list(access_security, access_sec_doors, access_brig, access_armory, access_forensics_lockers, access_court, @@ -427,6 +430,8 @@ return "Code Black" if(access_cent_captain) return "Code Gold" + if(access_cent_bar) + return "Code Scotch" /proc/get_all_jobs() return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Cook", "Botanist", "Quartermaster", "Cargo Technician", @@ -438,7 +443,7 @@ return get_all_jobs() + list("Prisoner") /proc/get_all_centcom_jobs() - return list("VIP Guest","Custodian","Thunderdome Overseer","Centcom Official","Medical Officer","Death Commando","Research Officer","Special Ops Officer","Admiral","Centcom Commander","Emergency Response Team Commander","Security Response Officer","Engineer Response Officer", "Medical Response Officer") + return list("VIP Guest","Custodian","Thunderdome Overseer","Centcom Official","Medical Officer","Death Commando","Research Officer","Special Ops Officer","Admiral","Centcom Commander","Emergency Response Team Commander","Security Response Officer","Engineer Response Officer", "Medical Response Officer","Centcom Bartender") /obj/item/proc/GetJobName() //Used in secHUD icon generation var/obj/item/weapon/card/id/I = GetID() diff --git a/code/modules/lighting/lighting_system.dm b/code/modules/lighting/lighting_system.dm index e797c182abc..4cd39bcbf8d 100644 --- a/code/modules/lighting/lighting_system.dm +++ b/code/modules/lighting/lighting_system.dm @@ -245,8 +245,11 @@ infra_luminosity = 1 anchored = 1 -/atom/movable/light/Destroy() - return QDEL_HINT_LETMELIVE +/atom/movable/light/Destroy(force) + if(force) + . = ..() + else + return QDEL_HINT_LETMELIVE /atom/movable/light/Move() return 0 diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index e367f1d425a..198f92cdb58 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -212,8 +212,11 @@ icon_state = "talisman" var/cooldown = 0 -/obj/item/device/immortality_talisman/Destroy() - return QDEL_HINT_LETMELIVE +/obj/item/device/immortality_talisman/Destroy(force) + if(force) + . = ..() + else + return QDEL_HINT_LETMELIVE /obj/item/device/immortality_talisman/attack_self(mob/user) if(cooldown < world.time) @@ -250,11 +253,11 @@ /obj/effect/immortality_talisman/singularity_pull() return 0 -/obj/effect/immortality_talisman/Destroy() - if(!can_destroy) +/obj/effect/immortality_talisman/Destroy(force) + if(!can_destroy && !force) return QDEL_HINT_LETMELIVE else - ..() + . = ..() //Shared Bag diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 642f86d9903..0bc8696500f 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -77,7 +77,7 @@ return //gets ID card object from special clothes slot or null. -/mob/living/carbon/human/proc/get_idcard() +/mob/living/carbon/human/get_idcard() if(wear_id) return wear_id.GetID() diff --git a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm index c93310b4d22..f37da30e127 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm @@ -54,17 +54,6 @@ ..() desc += " This drone appears to have a complex holoprojector built on its 'head'." -/mob/living/simple_animal/drone/snowflake/bardrone - name = "Bardrone" - desc = "A barkeeping drone, an indestructible robot built to tend bars." - seeStatic = FALSE - laws = "1. Serve drinks.\n\ - 2. Talk to patrons.\n\ - 3. Don't get messed up in their affairs." - languages = ALL - status_flags = GODMODE // Please don't punch the barkeeper - unique_name = FALSE // disables the (123) number suffix - /obj/item/drone_shell/syndrone name = "syndrone shell" desc = "A shell of a syndrone, a modified maintenance drone designed to infiltrate and annihilate." diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index b361d62b00d..8dd1a9a63e0 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -170,4 +170,3 @@ var/atom/movable/M = target M.clean_blood() visible_message("[src] polishes \the [target].") - diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 597a1660f70..75d8731296e 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -558,3 +558,6 @@ var/atom/A = client.eye if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates. return + +/mob/living/simple_animal/get_idcard() + return access_card diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 543a564c788..676a97d7035 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -940,3 +940,6 @@ var/next_mob_id = 0 /mob/proc/is_literate() return 0 + +/mob/proc/get_idcard() + return diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index fb1553ba799..c3708e32a05 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -272,7 +272,6 @@ It's fairly easy to fix if dealing with single letters but not so much with comp return M return 0 - /mob/proc/abiotic(full_body = 0) if(l_hand && !l_hand.flags&ABSTRACT || r_hand && !r_hand.flags&ABSTRACT) return 1 diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 660e1b409c1..5a8baf62a1b 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -5,6 +5,7 @@ desc = "A heavy duty industrial laser.\nAlt-click to rotate it clockwise." icon = 'icons/obj/singularity.dmi' icon_state = "emitter" + var/icon_state_on = "emitter_+a" anchored = 0 density = 1 req_access = list(access_engine_equip) @@ -94,9 +95,9 @@ /obj/machinery/power/emitter/update_icon() if (active && powernet && avail(active_power_usage)) - icon_state = "emitter_+a" + icon_state = icon_state_on else - icon_state = "emitter" + icon_state = initial(icon_state) /obj/machinery/power/emitter/attack_hand(mob/user) diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index 622e3c38a31..19802dda3c1 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -30,8 +30,11 @@ /obj/structure/lavaland_door/singularity_pull() return 0 -/obj/structure/lavaland_door/Destroy() - return QDEL_HINT_LETMELIVE +/obj/structure/lavaland_door/Destroy(force) + if(force) + . = ..() + else + return QDEL_HINT_LETMELIVE /obj/machinery/lavaland_controller name = "weather control machine" @@ -50,8 +53,11 @@ LAVA.weather_start_up() ongoing_weather = null -/obj/machinery/lavaland_controller/Destroy() - return QDEL_HINT_LETMELIVE +/obj/machinery/lavaland_controller/Destroy(force) + if(force) + . = ..() + else + return QDEL_HINT_LETMELIVE //lavaland_surface_seed_vault.dmm //Seed Vault diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index acbcbb82fbe..26b754d31f5 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -1,3 +1,8 @@ +#define TIME_LEFT (SSshuttle.emergency.timeLeft()) +#define ENGINES_START_TIME 10 +#define ENGINES_STARTED (TIME_LEFT <= ENGINES_START_TIME) +#define IS_DOCKED (SSshuttle.emergency.mode == SHUTTLE_DOCKED) + /obj/machinery/computer/emergency_shuttle name = "emergency shuttle console" desc = "For shuttle control." @@ -6,61 +11,165 @@ var/auth_need = 3 var/list/authorized = list() +/obj/machinery/computer/emergency_shuttle/attackby(obj/item/I, mob/user,params) + if(istype(I, /obj/item/weapon/card/id)) + say("Please equip your ID card into your ID slot to authenticate.") + . = ..() -/obj/machinery/computer/emergency_shuttle/attackby(obj/item/I, mob/user, params) - var/obj/item/weapon/card/id/ID = I.GetID() - if(ID) - if(stat & (BROKEN|NOPOWER)) - return - if(SSshuttle.emergency.mode != SHUTTLE_DOCKED) - return - if(SSshuttle.emergency.timeLeft() < 11) - return - if(!(access_heads in ID.access)) //doesn't have this access - user << "The access level of [ID.registered_name]\'s card is not high enough. " - return +/obj/machinery/computer/emergency_shuttle/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = human_adjacent_state) - var/choice = alert(user, text("Would you like to (un)authorize a shortened launch time? [] authorization\s are still needed. Use abort to cancel all authorizations.", src.auth_need - src.authorized.len), "Shuttle Launch", "Authorize", "Repeal", "Abort") - if(SSshuttle.emergency.mode != SHUTTLE_DOCKED || user.get_active_hand() != ID) - return + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "emergency_shuttle_console", name, + 400, 400, master_ui, state) + ui.open() - var/seconds = SSshuttle.emergency.timeLeft() - if(seconds <= 10) - return +/obj/machinery/computer/emergency_shuttle/ui_data() + var/list/data = list() - switch(choice) - if("Authorize") - if(!authorized.Find(ID.registered_name)) - authorized += ID.registered_name - if(auth_need - authorized.len > 0) - message_admins("[key_name_admin(user.client)](?) (FLW) has authorized early shuttle launch ",0,1) - log_game("[key_name(user)] has authorized early shuttle launch in ([x],[y],[z])") - minor_announce("[auth_need - authorized.len] more authorization(s) needed until shuttle is launched early",null,1) - else - message_admins("[key_name_admin(user.client)](?) (FLW) has launched the emergency shuttle [seconds] seconds before launch.",0,1) - log_game("[key_name(user)] has launched the emergency shuttle in ([x],[y],[z]) [seconds] seconds before launch.") - minor_announce("The emergency shuttle will launch in 10 seconds",null,1) - SSshuttle.emergency.setTimer(100) + data["timer_str"] = SSshuttle.emergency.getTimerStr() + data["engines_started"] = ENGINES_STARTED + data["authorizations_remaining"] = max((auth_need - authorized.len), 0) + var/list/A = list() + for(var/i in authorized) + var/obj/item/weapon/card/id/ID = i + var/name = ID.registered_name + var/job = ID.assignment - if("Repeal") - if(authorized.Remove(ID.registered_name)) - minor_announce("[auth_need - authorized.len] authorizations needed until shuttle is launched early") + if(emagged) + name = Gibberish(name, 0) + job = Gibberish(job, 0) + A += list(list("name" = name, "job" = job)) + data["authorizations"] = A - if("Abort") - if(authorized.len) - minor_announce("All authorizations to launch the shuttle early have been revoked.") - authorized.Cut() - else - return ..() + data["enabled"] = (IS_DOCKED && !ENGINES_STARTED) + data["emagged"] = emagged + return data + +/obj/machinery/computer/emergency_shuttle/ui_act(action, params, datum/tgui/ui) + if(..()) + return + if(ENGINES_STARTED) // past the point of no return + return + if(!IS_DOCKED) // shuttle computer only has uses when onstation + return + + var/mob/user = usr + . = FALSE + + var/obj/item/weapon/card/id/ID = user.get_idcard() + + if(!ID) + user << "You don't have an ID." + return + + if(!(access_heads in ID.access)) + user << "The access level of \ + your card is not high enough." + return + + var/old_len = authorized.len + + switch(action) + if("authorize") + . = authorize(user) + + if("repeal") + authorized -= ID + + if("abort") + if(authorized.len) + // Abort. The action for when heads are fighting over whether + // to launch early. + authorized.Cut() + . = TRUE + + if((old_len != authorized.len) && !ENGINES_STARTED) + var/alert = (authorized.len > old_len) + if(authorized.len) + minor_announce("[auth_need - authorized.len] authorizations \ + needed until shuttle is launched early", null, alert) + else + minor_announce("All authorizations to launch the shuttle \ + early have been revoked.") + +/obj/machinery/computer/emergency_shuttle/proc/authorize(mob/user, source) + var/obj/item/weapon/card/id/ID = user.get_idcard() + + if(ID in authorized) + return FALSE + for(var/i in authorized) + var/obj/item/weapon/card/id/other = i + if(other.registered_name == ID.registered_name) + return FALSE // No using IDs with the same name + + authorized += ID + + message_admins("[key_name_admin(user.client)] \ + (?) \ + (FLW) \ + has authorized early shuttle launch", 0, 1) + log_game("[key_name(user)] has authorized early shuttle launch in \ + ([x],[y],[z])") + // Now check if we're on our way + . = TRUE + process() + +/obj/machinery/computer/emergency_shuttle/process() + // Launch check is in process in case auth_need changes for some reason + // probably external. + . = FALSE + if(ENGINES_STARTED || (!IS_DOCKED)) + return . + + // Check to see if we've reached criteria for early launch + if((authorized.len >= auth_need) || emagged) + // shuttle timers use 1/10th seconds internally + SSshuttle.emergency.setTimer(ENGINES_START_TIME * 10) + var/system_error = emagged ? "SYSTEM ERROR:" : null + minor_announce("The emergency shuttle will launch in \ + [ENGINES_START_TIME] seconds", system_error, alert=TRUE) + . = TRUE /obj/machinery/computer/emergency_shuttle/emag_act(mob/user) - if(!emagged && SSshuttle.emergency.mode == SHUTTLE_DOCKED) - var/time = SSshuttle.emergency.timeLeft() - message_admins("[key_name_admin(user.client)](?) (FLW) has emagged the emergency shuttle [time] seconds before launch.",0,1) - log_game("[key_name(user)] has emagged the emergency shuttle in ([x],[y],[z]) [time] seconds before launch.") - minor_announce("The emergency shuttle will launch in 10 seconds", "SYSTEM ERROR:",null,1) - SSshuttle.emergency.setTimer(100) - emagged = 1 + // How did you even get on the shuttle before it go to the station? + if(!IS_DOCKED) + return + + var/time = TIME_LEFT + message_admins("[key_name_admin(user.client)] \ + (?) \ + (FLW) \ + has emagged the emergency shuttle [time] seconds before launch.", 0, 1) + log_game("[key_name(user)] has emagged the emergency shuttle in \ + ([x],[y],[z]) [time] seconds before launch.") + emagged = TRUE + var/datum/species/S = new + for(var/i in 1 to 10) + // the shuttle system doesn't know who these people are, but they + // must be important, surely + var/obj/item/weapon/card/id/ID = new(src) + var/datum/job/J = pick(SSjob.occupations) + ID.registered_name = S.random_name(pick(MALE, FEMALE)) + ID.assignment = J.title + + authorized += ID + + if(ENGINES_STARTED) + // Give them a message anyway + user << "The shuttle is already \ + about to launch!" + else + process() + +/obj/machinery/computer/emergency_shuttle/Destroy() + // Our fake IDs that the emag generated are just there for colour + // They're not supposed to be accessible + + for(var/obj/item/weapon/card/id/ID in src) + qdel(ID) + + . = ..() /obj/docking_port/mobile/emergency name = "emergency shuttle" @@ -74,16 +183,16 @@ roundstart_move = "emergency_away" var/sound_played = 0 //If the launch sound has been sent to all players on the shuttle itself -/obj/docking_port/mobile/emergency/New() - ..() - // The last created emergency shuttle will always be the one - // that we use. +/obj/docking_port/mobile/emergency/register() + . = ..() SSshuttle.emergency = src -/obj/docking_port/mobile/emergency/Destroy() - if(src.i_know_what_im_doing) +/obj/docking_port/mobile/emergency/Destroy(force) + if(force) // This'll make the shuttle subsystem use the backup shuttle. - SSshuttle.emergencyDeregister() + if(src == SSshuttle.emergency) + // If we're the selected emergency shuttle + SSshuttle.emergencyDeregister() . = ..() @@ -342,12 +451,16 @@ // We want to be a valid emergency shuttle // but not be the main one, keep whatever's set // valid. + // backup shuttle ignores `timid` because THERE SHOULD BE NO TOUCHING IT var/current_emergency = SSshuttle.emergency ..() SSshuttle.emergency = current_emergency SSshuttle.backup_shuttle = src - #undef UNLAUNCHED #undef LAUNCHED #undef EARLY_LAUNCHED +#undef TIMELEFT +#undef ENGINES_START_TIME +#undef ENGINES_STARTED +#undef IS_DOCKED diff --git a/code/modules/shuttle/manipulator.dm b/code/modules/shuttle/manipulator.dm index 55913ab432f..53a5b13cb3b 100644 --- a/code/modules/shuttle/manipulator.dm +++ b/code/modules/shuttle/manipulator.dm @@ -6,8 +6,250 @@ I took the one less traveled by,\n\ And that has made all the difference." - icon = 'icons/obj/machines/dominator.dmi' - icon_state = "dominator-blue" + icon = 'icons/obj/machines/shuttle_manipulator.dmi' + icon_state = "holograph_on" + + // UI state variables + var/datum/map_template/shuttle/selected + + var/obj/docking_port/mobile/existing_shuttle + + var/obj/docking_port/mobile/preview_shuttle + var/datum/map_template/shuttle/preview_template + +/obj/machinery/shuttle_manipulator/New() + . = ..() + update_icon() + +/obj/machinery/shuttle_manipulator/update_icon() + overlays.Cut() + var/image/hologram_projection = image(icon, "hologram_on") + hologram_projection.pixel_y = 22 + var/image/hologram_ship = image(icon, "hologram_whiteship") + hologram_ship.pixel_y = 27 + overlays += hologram_projection + overlays += hologram_ship /obj/machinery/shuttle_manipulator/process() return + +/obj/machinery/shuttle_manipulator/ui_interact(mob/user, ui_key = "main", \ + datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, \ + datum/ui_state/state = admin_state) + + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "shuttle_manipulator", name, 800, 600, \ + master_ui, state) + ui.open() + +/obj/machinery/shuttle_manipulator/ui_data(mob/user) + var/list/data = list() + data["tabs"] = list("Status", "Templates", "Modification") + + // Templates panel + data["templates"] = list() + var/list/templates = data["templates"] + data["templates_tabs"] = list() + data["selected"] = list() + + for(var/shuttle_id in shuttle_templates) + var/datum/map_template/shuttle/S = shuttle_templates[shuttle_id] + + if(!templates[S.port_id]) + data["templates_tabs"] += S.port_id + templates[S.port_id] = list( + "port_id" = S.port_id, + "templates" = list()) + + var/list/L = list() + L["name"] = S.name + L["shuttle_id"] = S.shuttle_id + L["port_id"] = S.port_id + L["description"] = S.description + L["admin_notes"] = S.admin_notes + + if(selected == S) + data["selected"] = L + + templates[S.port_id]["templates"] += list(L) + + data["templates_tabs"] = sortList(data["templates_tabs"]) + + data["existing_shuttle"] = null + + // Status panel + data["shuttles"] = list() + for(var/i in SSshuttle.mobile) + var/obj/docking_port/mobile/M = i + var/list/L = list() + L["name"] = M.name + L["id"] = M.id + L["timer"] = M.timer + L["timeleft"] = M.getTimerStr() + L["mode"] = capitalize(M.mode) + L["status"] = M.getStatusText() + if(M == existing_shuttle) + data["existing_shuttle"] = L + + data["shuttles"] += list(L) + + return data + +/obj/machinery/shuttle_manipulator/ui_act(action, params) + if(..()) + return + + var/mob/user = usr + + // Preload some common parameters + var/shuttle_id = params["shuttle_id"] + var/datum/map_template/shuttle/S = shuttle_templates[shuttle_id] + + switch(action) + if("select_template") + if(S) + existing_shuttle = SSshuttle.getShuttle(S.port_id) + selected = S + . = TRUE + if("jump_to") + if(params["type"] == "mobile") + . = TRUE + for(var/i in SSshuttle.mobile) + var/obj/docking_port/mobile/M = i + if(M.id == params["id"]) + user.forceMove(get_turf(M)) + break + + if("preview") + if(S) + . = TRUE + unload_preview() + load_template(S) + if(preview_shuttle) + preview_template = S + user.forceMove(get_turf(preview_shuttle)) + if("load") + if(existing_shuttle == SSshuttle.backup_shuttle) + // TODO make the load button disabled + WARNING("The shuttle that the selected shuttle will replace \ + is the backup shuttle. Backup shuttle is required to be \ + intact for round sanity.") + else if(S) + . = TRUE + // If successful, returns the mobile docking port + var/mdp = action_load(S) + if(mdp) + user.forceMove(get_turf(mdp)) + + update_icon() + +/obj/machinery/shuttle_manipulator/proc/action_load( + datum/map_template/shuttle/loading_template) + // Check for an existing preview + if(preview_shuttle && (loading_template != preview_template)) + preview_shuttle.jumpToNullSpace() + preview_shuttle = null + preview_template = null + + if(!preview_shuttle) + load_template(loading_template) + preview_template = loading_template + + // get the existing shuttle information, if any + var/timer = 0 + var/mode = SHUTTLE_IDLE + var/obj/docking_port/stationary/D + + if(existing_shuttle) + timer = existing_shuttle.timer + mode = existing_shuttle.mode + D = existing_shuttle.get_docked() + else + D = preview_shuttle.findRoundstartDock() + + if(!D) + var/m = "No dock found for preview shuttle, aborting." + WARNING(m) + throw EXCEPTION(m) + + var/result = preview_shuttle.canDock(D) + // truthy value means that it cannot dock for some reason + // but we can ignore the someone else docked error because we'll + // be moving into their place shortly + if(result && (result != SHUTTLE_SOMEONE_ELSE_DOCKED)) + var/m = "Unsuccessful dock of [preview_shuttle] ([result])." + WARNING(m) + return + + existing_shuttle.jumpToNullSpace() + + preview_shuttle.dock(D) + . = preview_shuttle + + // Shuttle state involves a mode and a timer based on world.time, so + // plugging the existing shuttles old values in works fine. + preview_shuttle.timer = timer + preview_shuttle.mode = mode + + preview_shuttle.register() + + // TODO indicate to the user that success happened, rather than just + // blanking the modification tab + preview_shuttle = null + preview_template = null + existing_shuttle = null + selected = null + + return preview_shuttle + +/obj/machinery/shuttle_manipulator/proc/load_template( + datum/map_template/shuttle/S) + // load shuttle template, centred at shuttle import landmark, + var/turf/landmark_turf = get_turf(locate("landmark*Shuttle Import")) + S.load(landmark_turf, centered = TRUE) + + var/affected = S.get_affected_turfs(landmark_turf, centered=TRUE) + + var/found = 0 + // Search the turfs for docking ports + // - We need to find the mobile docking port because that is the heart of + // the shuttle. + // - We need to check that no additional ports have slipped in from the + // template, because that causes unintended behaviour. + for(var/T in affected) + for(var/obj/docking_port/P in T) + if(istype(P, /obj/docking_port/mobile)) + var/obj/docking_port/mobile/M = P + found++ + if(found > 1) + qdel(P, force=TRUE) + world.log << "Map warning: Shuttle Template [S.mappath] \ + has multiple mobile docking ports." + else if(!M.timid) + // The shuttle template we loaded isn't "timid" which means + // it's already registered with the shuttles subsystem. + // This is a bad thing. + var/m = "Template [S] is non-timid! Unloading." + WARNING(m) + M.jumpToNullSpace() + return + else + preview_shuttle = P + if(istype(P, /obj/docking_port/stationary)) + world.log << "Map warning: Shuttle Template [S.mappath] has a \ + stationary docking port." + if(!found) + var/msg = "load_template(): Shuttle Template [S.mappath] has no \ + mobile docking port. Aborting import." + for(var/T in affected) + var/turf/T0 = T + T0.empty() + + message_admins(msg) + WARNING(msg) + +/obj/machinery/shuttle_manipulator/proc/unload_preview() + if(preview_shuttle) + preview_shuttle.jumpToNullSpace() + preview_shuttle = null diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index b0c3f08652d..1d1e3006f45 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -18,18 +18,16 @@ var/dwidth = 0 //position relative to covered area, perpendicular to dir var/dheight = 0 //position relative to covered area, parallel to dir - var/i_know_what_im_doing = 0 - //these objects are indestructable -/obj/docking_port/Destroy() +/obj/docking_port/Destroy(force) // unless you assert that you know what you're doing. Horrible things // may result. - if(!i_know_what_im_doing) - return QDEL_HINT_LETMELIVE + if(force) + ..() + . = QDEL_HINT_HARDDEL_NOW else - // If not removed immediately, it can interfere with the docking - // detection code, which is annoying and inconvinient. - return QDEL_HINT_HARDDEL_NOW + return QDEL_HINT_LETMELIVE + /obj/docking_port/singularity_pull() return /obj/docking_port/singularity_act() @@ -187,12 +185,20 @@ var/launch_status = NOLAUNCH + // A timid shuttle will not register itself with the shuttle subsystem + // All shuttle templates are timid + var/timid = FALSE + /obj/docking_port/mobile/New() ..() + if(!timid) + register() + +/obj/docking_port/mobile/proc/register() SSshuttle.mobile += src -/obj/docking_port/mobile/Destroy() - if(i_know_what_im_doing) +/obj/docking_port/mobile/Destroy(force) + if(force) SSshuttle.mobile -= src . = ..() @@ -222,29 +228,35 @@ //this is to check if this shuttle can physically dock at dock S /obj/docking_port/mobile/proc/canDock(obj/docking_port/stationary/S) if(!istype(S)) - return 1 + return SHUTTLE_NOT_A_DOCKING_PORT + if(istype(S, /obj/docking_port/stationary/transit)) - return 0 - //check dock is big enough to contain us + return FALSE + if(dwidth > S.dwidth) - return 2 + return SHUTTLE_DWIDTH_TOO_LARGE + if(width-dwidth > S.width-S.dwidth) - return 3 + return SHUTTLE_WIDTH_TOO_LARGE + if(dheight > S.dheight) - return 4 + return SHUTTLE_DHEIGHT_TOO_LARGE + if(height-dheight > S.height-S.dheight) - return 5 + return SHUTTLE_HEIGHT_TOO_LARGE + //check the dock isn't occupied var/currently_docked = S.get_docked() if(currently_docked) // by someone other than us if(currently_docked != src) - return 6 + return SHUTTLE_SOMEONE_ELSE_DOCKED else // This isn't an error, per se, but we can't let the shuttle code // attempt to move us where we currently are, it will get weird. return SHUTTLE_ALREADY_DOCKED - return 0 //0 means we can dock + + return FALSE //call the shuttle to destination S /obj/docking_port/mobile/proc/request(obj/docking_port/stationary/S) @@ -254,13 +266,10 @@ // Triggering shuttle movement code in place is weird return else if(status) - . = status - spawn(0) - var/msg = "request(): shuttle [src] cannot dock at [S], \ - error: [status]" - message_admins(msg) - throw EXCEPTION(msg) - return status //we can't dock at S + var/msg = "request(): shuttle [src] cannot dock at [S], \ + error: [status]" + message_admins(msg) + throw EXCEPTION(msg) switch(mode) if(SHUTTLE_CALL) @@ -330,6 +339,8 @@ var/obj/docking_port/stationary/S0 = get_docked() var/turf_type = /turf/open/space var/area_type = /area/space + // If the shuttle is docked to a stationary port, restore its normal + // "empty" area and turf if(S0) if(S0.turf_type) turf_type = S0.turf_type @@ -346,25 +357,13 @@ for(var/turf/T0 in L0) A0.contents += T0 - for(var/i=1, i<=L0.len, ++i) - var/turf/T0 = L0[i] + for(var/i in L0) + var/turf/T0 =i if(!T0) continue + T0.empty(turf_type) - for(var/atom/AM in T0.GetAllContents()) - if(istype(AM, /mob/dead)) - continue - qdel(AM) - - T0.ChangeTurf(turf_type) - - T0.redraw_lighting() - SSair.remove_from_active(T0) - T0.CalculateAdjacentTurfs() - SSair.add_to_active(T0,1) - - src.i_know_what_im_doing = TRUE - qdel(src) + qdel(src, force=TRUE) //this is the main proc. It instantly moves our mobile port to stationary port S1 //it handles all the generic behaviour, such as sanity checks, closing doors on the shuttle, stunning mobs, etc @@ -372,8 +371,8 @@ // Crashing this ship with NO SURVIVORS if(!force) var/status = canDock(S1) - if(status == 7) - return SHUTTLE_ALREADY_DOCKED + if(status == SHUTTLE_ALREADY_DOCKED) + return status else if(status) spawn(0) var/msg = "dock(): shuttle [src] cannot dock at [S1], \ @@ -552,15 +551,25 @@ /obj/docking_port/mobile/proc/roadkill(list/L, dir, x, y) for(var/turf/T in L) for(var/atom/movable/AM in T) - if(ismob(AM)) + if(isliving(AM)) if(ishuman(AM)) var/mob/living/M = AM + M.visible_message("[M] is hit by \ + a bluespace ripple and thrown clear!", + "You feel an immense \ + crushing pressure as the space around you ripples.\ + ") + M.Paralyse(10) M.apply_damage(60, BRUTE, "chest") M.apply_damage(60, BRUTE, "head") M.anchored = 0 else var/mob/M = AM + M.visible_message("[M] is hit by \ + a bluespace ripple and is torn into pieces!", + "You are torn into pieces by \ + bluespace churn.") M.gib() continue diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm new file mode 100644 index 00000000000..9112554fcfd --- /dev/null +++ b/code/modules/shuttle/special.dm @@ -0,0 +1,197 @@ +// Special objects for shuttle templates go here if nowhere else + +// Wabbajack statue, a sleeping frog statue that shoots bolts of change if +// living carbons are put on its altar/tables + +/obj/machinery/power/emitter/energycannon/magical + name = "wabbajack statue" + desc = "Who am I? What is my purpose in life? What do I mean by who am I?" + projectile_type = /obj/item/projectile/magic/change + icon = 'icons/obj/machines/magic_emitter.dmi' + icon_state = "wabbajack_statue" + icon_state_on = "wabbajack_statue_on" + var/list/active_tables = list() + active = FALSE + +/obj/machinery/power/emitter/energycannon/magical/New() + . = ..() + if(prob(50)) + desc = "Oh no, not again." + update_icon() + +/obj/machinery/power/emitter/energycannon/magical/update_icon() + if(active) + icon_state = icon_state_on + else + icon_state = initial(icon_state) + +/obj/machinery/power/emitter/energycannon/magical/process() + . = ..() + var/changed = FALSE + if(active_tables.len >= 2) + if(!active) + visible_message("\ + [src] opens its eyes.") + changed = TRUE + active = TRUE + else + if(active) + visible_message("\ + [src] closes its eyes.") + changed = TRUE + active = FALSE + + if(changed) + update_icon() + +/obj/machinery/power/emitter/energycannon/magical/attack_hand(mob/user) + return + +/obj/machinery/power/emitter/energycannon/magical/attackby(obj/item/W, mob/user, params) + return + +/obj/machinery/power/emitter/energycannon/magical/ex_act(severity) + return + +/obj/machinery/power/emitter/energycannon/magical/emag_act(mob/user) + return + +/obj/structure/table/abductor/wabbajack + name = "wabbajack altar" + health = 1000 + verb_say = "chants" + var/obj/machinery/power/emitter/energycannon/magical/our_statue + var/list/mob/living/sleepers = list() + var/never_spoken = TRUE + flags = NODECONSTRUCT + +/obj/structure/table/abductor/wabbajack/New() + . = ..() + SSobj.processing += src + +/obj/structure/table/abductor/wabbajack/Destroy() + SSobj.processing -= src + . = ..() + +/obj/structure/table/abductor/wabbajack/process() + var/area = orange(4, src) + if(!our_statue) + for(var/obj/machinery/power/emitter/energycannon/magical/M in area) + our_statue = M + break + + var/turf/T = get_turf(src) + var/list/found = list() + for(var/mob/living/carbon/C in T) + if(C.stat != DEAD) + found += C + + // New sleepers + for(var/i in found - sleepers) + var/mob/living/L = i + L.color = "#800080" + L.visible_message("A strange purple glow \ + wraps itself around [L] as they suddenly fall unconcious.", + "[desc]") + + + // Existing sleepers + for(var/i in found) + var/mob/living/L = i + L.SetSleeping(10) + + // Missing sleepers + for(var/i in sleepers - found) + var/mob/living/L = i + L.color = initial(L.color) + L.visible_message("The glow from [L] fades \ + away.") + + sleepers = found + + if(sleepers.len) + our_statue.active_tables |= src + if(never_spoken || prob(5)) + say(desc) + never_spoken = FALSE + else + our_statue.active_tables &= src + +/obj/structure/table/abductor/wabbajack/left + desc = "You sleep so it may wake." + +/obj/structure/table/abductor/wabbajack/right + desc = "It wakes so you may sleep." + +// Bar staff, GODMODE mobs that just want to make sure people have drinks +// and a good time. + +/mob/living/simple_animal/drone/snowflake/bardrone + name = "Bardrone" + desc = "A barkeeping drone, an indestructible robot built to tend bars." + seeStatic = FALSE + laws = "1. Serve drinks.\n\ + 2. Talk to patrons.\n\ + 3. Don't get messed up in their affairs." + languages = ALL + status_flags = GODMODE // Please don't punch the barkeeper + unique_name = FALSE // disables the (123) number suffix + +/mob/living/simple_animal/drone/snowflake/bardrone/New() + . = ..() + access_card.access |= access_cent_bar + +/mob/living/simple_animal/hostile/alien/maid/barmaid + gold_core_spawnable = 0 + name = "Barmaid" + desc = "A barmaid, a maiden found in a bar." + pass_flags = PASSTABLE + status_flags = GODMODE + languages = ALL + unique_name = FALSE + AIStatus = AI_OFF + stop_automated_movement = TRUE + +/mob/living/simple_animal/hostile/alien/maid/barmaid/New() + . = ..() + access_card = new /obj/item/weapon/card/id(src) + var/datum/job/captain/C = new /datum/job/captain + access_card.access = C.get_access() + access_card.access |= access_cent_bar + access_card.flags |= NODROP + +/mob/living/simple_animal/hostile/alien/maid/barmaid/Destroy() + qdel(access_card) + . = ..() + +// Bar table, a wooden table that kicks you in a direction if you're not +// barstaff (defined as someone who was a roundstart bartender or someone +// with CENTCOM_BARSTAFF) + +/obj/structure/table/wood/bar + burn_state = LAVA_PROOF + flags = NODECONSTRUCT + health = 1000 + var/boot_dir = 1 + +/obj/structure/table/wood/bar/Crossed(atom/movable/AM) + if(isliving(AM) && !is_barstaff(AM)) + // No climbing on the bar please + var/mob/living/M = AM + var/throwtarget = get_edge_target_turf(src, boot_dir) + M.Weaken(2) + M.throw_at_fast(throwtarget, 5, 1,src) + M << "No climbing on the bar please." + else + . = ..() + +/obj/structure/table/wood/bar/proc/is_barstaff(mob/living/user) + . = FALSE + if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(H.mind && H.mind.assigned_role == "Bartender") + return TRUE + + var/obj/item/weapon/card/id/ID = user.get_idcard() + if(ID && (access_cent_bar in ID.access)) + return TRUE diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 2bb0a1d1c35..8aed478964e 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -39,8 +39,8 @@ var/contraband = FALSE var/emagged = FALSE -/obj/docking_port/mobile/supply/New() - ..() +/obj/docking_port/mobile/supply/register() + . = ..() SSshuttle.supply = src /obj/docking_port/mobile/supply/canMove() diff --git a/code/modules/tgui/states.dm b/code/modules/tgui/states.dm index 6244f000bcf..ee21dfd1206 100644 --- a/code/modules/tgui/states.dm +++ b/code/modules/tgui/states.dm @@ -16,14 +16,22 @@ **/ /datum/proc/ui_status(mob/user, datum/ui_state/state) var/src_object = ui_host() + . = UI_CLOSE + if(!state) + return - if(istype(user, /mob/dead/observer)) // Special-case ghosts. + if(istype(user, /mob/dead/observer)) + // If they turn on ghost AI control, admins can always interact. if(IsAdminGhost(user)) - return UI_INTERACTIVE // If they turn it on, admins can interact. + . = max(., UI_INTERACTIVE) + + // Regular ghosts can always at least view if in range. if(get_dist(src_object, src) < user.client.view) - return UI_UPDATE // Regular ghosts can only view. - return UI_CLOSE // To keep too many UIs from being opened. - return state.can_use_topic(src_object, user) // Check if the state allows interaction. + . = max(., UI_UPDATE) + + // Check if the state allows interaction + var/result = state.can_use_topic(src_object, user) + . = max(., result) /** * private diff --git a/code/modules/tgui/states/human_adjacent.dm b/code/modules/tgui/states/human_adjacent.dm new file mode 100644 index 00000000000..feedd457020 --- /dev/null +++ b/code/modules/tgui/states/human_adjacent.dm @@ -0,0 +1,17 @@ + + /** + * tgui state: human_adjacent_state + * + * In addition to default checks, only allows interaction for a + * human adjacent user. + **/ + +/var/global/datum/ui_state/human_adjacent_state/human_adjacent_state = new() + +/datum/ui_state/human_adjacent_state/can_use_topic(src_object, mob/user) + . = user.default_can_use_topic(src_object) + + var/dist = get_dist(src_object, user) + if((dist > 1) || (!ishuman(user))) + // Can't be used unless adjacent and human, even with TK + . = min(., UI_UPDATE) diff --git a/icons/obj/machines/magic_emitter.dmi b/icons/obj/machines/magic_emitter.dmi new file mode 100644 index 0000000000000000000000000000000000000000..1c85aa70712428a21a0a867ffb89a9b4464f7091 GIT binary patch literal 22698 zcmbrm1yodR+x|UtOACldh=fRY4vnI;(%ncZokIyo2-2aXfJ#dD(A_8vLwDx@!_2q2 zpXa&X=dJJi|JOH57mHEZd-lGr^E`jYacn=Tt11!UKfnipKtwN|%WHx_Xbiw_5H2?G z4mo#G4e+JO=e4ezyp^lPdpj35J7*^l$m@&$XxqJD9zxLQ=>;Xx!zY*&c_~JOoi2eU zy7(D9?xr=2$A^+$t*K_|kJ78S9pywQH!H%Lo^ESBDC$O|wtOesR~)(<)aLZ^1^1h& zMl~}!F+4)_A4#s`E-_!5YuA*&f4KY zlezEeWKIS%Jr3C2@H_LO5@b9ateC^n-1`Id6XrO%NFuAT8K?8aAAxfxr% zIqNzkIW@bRj+r(>O*7-WFSvPAdNp`Hd~*~3^XF4G;B|&6D_Ig49NfN5FoJD+nDFN} zu>ysv3L8?**=s$kjxP8%rztwq_d--;GdD__y{pOlG=fUu%gSe^M>$DJNtmET2+Chy zSC={hk)HmbIgmY{A(VlYwa_5z57*nbZ`tzG8$wCcm3f`!>!jV@ATFi8L?W`5S;j(K zH^&JoD|r0iE)*0LAW$-wk@Dt97R<3zU0FjzLk4YW*1qigiJBtA<5-g5qOz7*26E73 znMoNrQL78|dtM6ufKGrEc*awiy+9=+nE|rU;GQ@&601C804G-as*Gm3d~~}=dqYF|^%&oU07{O#i3G%B zb@jdr#oiAU$FO8_-X72Q`RJx(?{zvPoR^&~txx)8<;xVYdDn0XDH;B0@8`$g%gTDn z%{tCdp(KRVJRl8aQYOr?RKMh!U%yCwFZSBvpS+YvY9j_Cq(Rxaxxv=f)+_Bl`e7x!gckBSm#mZ5PXE?}F@j zE(z)E4c&e6%U8-J!WHo3=1hKv9+@sLoNCqN``irfp`#E zV(w4xzPm*Ne->8dWFW!uMdTeiCk#^72S@r=)l_8*vN#*PQq!3Fp;c%O+%#K9$3F+o zjtchn9GSNPlpeQEB^&|q$KaLts9)y85DTy2e6N$VLX0wug?0!RA<9<}^`*2B9o6!z zBZ^bq%Ie9^&JLni?1uy_3@tIYxtR`l**ZHb`TB}Kg06ABoY|8)F3ZpFay<<10j}wD z;5cGpVrO8MqP#r0^suC!5IbR(Et}cU`p{k!t3N7c(?%+$<;Sgm(&L0FgR4y+@WA{} zikIS^FPYH`5&UN!NIIgn>3CX3%#JW3IcsZ{VW}Gj&}fMiBWA3`39e!^^)j>l92+}( zj;N?8-qd09rLo#62;BED@|xRo%V-vMuZadSU;D6D7+5L}H3fu)EfnTxy^b>*8@4Hx z{7g@_e_-JJP5Q-!2Z=06jN(|KiAmGh_{-~WtP^RshZ&RfV4Bn)n}Ut&_|exR+n?O3 z22g$UV(Nd+@!Avan@<*G_<4JP?$&_aDpFG9^h=e~CTfL}leKTc5NdB66Y@R0;{o>DA!K1FqPb#|ip zpPz5wb1-C>j7j4h0i z23)&6UK+P;k+o=hDg1hnUfd8~Simx4*<(oT+YK=dqAXN{v$6M2M`Q-axJnGiK>& zITpJQg{5-fn@1K)Fb(4Gx6-sc0!X9zC=%v-4@E$rYd#SW;R6BO6eABBwtU?tFW%fS zwq(ze9wW7OttWdanFW#@fsc)Ff}(~d)RjM{rvn!pf0nLTT!nAy~J?@O*R$jC!J3e47Y z!9zF`Oo*-P4VZY>1pM=w>N25V7e_Bfx7;+y*)IYCzWuG`^`N!UehPaS)tFyqx@d5@ z${bTx%!cf^p2}Q8^*#|^9a3Dn&I;H}hxE8gM}2B8g*d%^I}WCo^1*ENR;{dzdGazj zEjXZ4taXVcjgWXnP3e{+GAP3fboj2}tcZF)p7Yyjpbk&WYbk^lt{GRl!Xoz2`} zA*AD@m@@V?s;vs9q@;9P>Euv>j64#)mnO%JnM)zwGQH90mkE(yp$}Puu1*uDRBDlW=i+v~>{P-7LYNDnaqNhu@%2vbF z|HO4z6em!dosW+XSS-~;DHcaXCz_C;tDx0MxULzQK)8oYCLQ)XbjR+ zSC`MzV4V?*BaVZ`wBPoW0$WgQqu^D?VJ%k|o##BBEUsenY|yGJHV#7?`q-M)tcs1A zIjRA2u5g@nR=RZjcola1aCFjfwvJCy(nu?kWImwhE8OjrWr%M)@Tp00Ypvs40k`rQ z?I^v%L>XGPI~uehpIC9!7R15d%?0l!q9t@9Q8W?42BCi?7&QO`Ydtxv42pc90uzF> zx8J8gMM7G^NIDt@6_85PeYrRz8ROwBO<310%rK(}qa#RA{EPJH0Y;haep@4HgIS5_uib)q`1HnYlh+ryqnHwju_JxQ>~ ziG&bELY5z-z8${uveZL1Il^fQ^is~J&p^*{P5h1(+7ET8 z5aUPwGbYBJTLWA;+10_7)<&^{_KR(t&=z)WL(I@`*#s0(_c?Q|lX8G_yH80O7)KFj zo6_>-dTI*!=|uty257u)@^EqnDg@7*`DLLbn>i6xsz~+S1|k}`k|lGT0M;E{hjN(y7R5Dd*oG{r-x_l-QP~gL}r|o0?|Tq}qs1YAE3c zS=v4LfpG9l_eJf~+Bm zJ4Wkz$1tE$87A{uK2v0-EG%em3*Bfy13~mZb;} z8EEXAc9KB@T>M~LijR*D<@jX$%^XY{wfG zG4AX%)`MR@4*mH93VZ-cU{T?lr_ZNg1Su#e=t2XUmurLD+u@QP&p*#6fbGbB3Og#- zVKWT-6^{=; zcCKuTdH&O>p`{g~9;sMxa1)k76~mGU#$A5;HSCw3 z-gJXw#%8lN=TH)Pw3qcBIdI|d6&M}r z69##5($H!_otJGo<}y*7lJ|^+GNWpP-DA(4JjB(y6$LZ1(PWalO_#lO5^q|->A*l$ zVa`FrkhLA+DHTxNU}{JsCB--D>gq@MCb{N!z*ZN;CykGfFNtjx2rPUb!hR4tKylQG zXkuM$!CmZMGDZGec{bx;^gfOq?eAAc2OUCDQk>785n5hV7ZfORo7M=VB_xn8Lt1E;hj6FY9$WcES;l4YmVGIU8UH>=KTOd9e&wsg% zxH@etA=6a;d@)6h+D5MZfY*l8lcP!r)q!zyXkcK1PLtcDWxf&$%mok9Q&LjOKkghY zcYvaCmQMc0va`BBs%>k%mVH8*bYgC7%bv+NChv-hihj^@K8DSDuu`MC>?u$P&n~Dd z(&#b}w6u}otSBQBw3$!?av9#m`DMO2fVXM?321{!P=6Yz_l3|cm=O~Ln{aewrkr2w znWKfp@@_JSJR7%1Ph7mM5xHyce_&5ME z<#KW_oS@;(4_-MFj?`1A zNu9baktZ&6L9F#=*gL=zZ;rDbmJ*UUAN%cMYeoV?y_=g`Hh^9G`}?TptgLLSs;b(4?t9ogl`zngWqD8GHbwks zh-yv)wSI5#nhOVlcq^Kokr9MD3UH0Id{kJy=b^EiduHcHa#j}v{5TX0%8Vh#;Fkq` ztN26@{se#*fMI2&yTn=k*z$oJ8`cPzqw`X_Gnc~cC%W&jW2_y|y;e0oexvR7WJ5eg zY9R+|K7Rgp7c(}idzB-Thm4`7?|bAW>bCL9V!0I5ja6ZAql~y}iqe)D&P`@u> zI*7T@ebH>zEbnxo16T)&JeX>Sgm0ais~l%aUM4@|;O3svv74Qn6V$;O zW4k`vjY={0!AsOMY%<5v23f zLb&eD)v7^|dwUL`*8fUh0ZYGEp+ic@IVVShnlhNs9KAAW_*xk^tpX+{$kB$iY?gmp|;og=`Lm@N`wN1Ja+cIx3w^?!*f`2^De&IX43O; zF@}Fcf?TWM)p5xaGQ6jNVnNf(BLV+ErlOLuzu9XV4^(&6JJg!d>Ny3$k+mo(3deWC z>VgIux1zLokyDxNcPoajC!n?XiLlv%O|_T#^w-o=$OdRsoB8@;pFo=9EHROSLO8l@ ziRz1I+mJM_%y8W?2$wIM@Wppq-}DUhm_AO~*fGc8y?3i|qGz%U%D+~l99srV01Ut7 zH(05E)ViFf1p2bsC?S13k|%sjzg(L26EXK7SQ4nVYc0MT2?6qzI-w+%mX?7e!S)&4 zJ*7sCAZc(4fDj~1<$F`^n}#4pP4BRJJUAGv0Wb;GGu>>6No4`Gz4_cSd;S(YHtLt{ z7!&MfEfVsv*tivPoNj(A()ptw3T*9)3cmCt$@@6F7Z{+w0C-C{8!Y5Bj|=*a(k39L zm1hKP%+;o+SA!giDG6nTOdW1DwX{}!x}NICk>{?juM2R9(-OtR6s#h{x)on>JZoR+ zit^{i_$T5x$}>|iKxseR#2SSFfHSC)76x-RiWEPnBM&8s_Nm6`*(CIc&sP}@9j#;W z#ENzL?og2X<9<;jN$^mH@MB3yx(^cts|SsTlTO(b6u(^w*<7!H0SF2O2B2tsTi#Oc zPe!}I8AleFU`X$x2e`kakIo(gS#QJ`9mUWJQO`3(w>S`jFvX~{YXcIQ1UZRJAh&|) zEsjT8p_~peUDRr7Q+^C2vMx7to+}eW8CCBK(cVY_Cr^(&b)Ewqry<$Tjpk89f?oI# zrHeQ`JkD795;=f4C{N8`VMMeAyT3={bn(Q*#mQ?vR5rz9l>js&ySKMzNpp;H0SftU zL%9<>iF1rzfN{t=FAd3A{QgJ0Tz73?sHFh}-fHnrNgb=MM@=HiF)m0ktKW^-SM%?!xy zV@lW-LKIVg`CBj`YJmu#8M()IXyUxHtD&yWASs{&%%eE>9!6YWD}E~|$Sutwg$V>i zHH3A;Rb+R2U>0?;9eNn!>afwk_I6pdaKZEUaU$Ka&z_Y!6qcK)Bjk?hr59_6NPMOF zU+$)0SwHrV&#eydX=!J+WTTJ;e&Ms>M@Am4f8ut5kD3Vx3J0OrUFh(a*Ei^UYF2X! zc?daj+P-dlgl~7*eek2Sw7ZkzByd{qTSLPFyyh3$75Iimv#MG-wWNL0aSo(R zivK|(g*5;5EIJ?N4E|FjB}(S#@H-B3WpJ21JLAZL3}?S5Zm8^~8;&|dVyaD|raIa9 zx~IDxxr=;bHmv8V8SVxrCYFpqqFW`Yt})pCElFnDy2 z^ss}>0*h)B&759V-=11t;WeVi@+s1P9rov;`nz|$i$1%Ypw{c^Lv)b!@E1I?{0K5< z)%$uW@n+qFY14*AM4<0zJa*&E9k+nmj;{Xtb?Eu-6m0+p+p}nxMWH(L<(gW0=#EMT zSt(isKYdYEWn`2_vmLpI1I($3_}Cl0cJyOD1@Pvv+AqXEacM15In#QeFy-JPvwOGK6<3B!$`-){@l4T73B#f#~Z-qko71&v9hu< zo2zjw_@BTf6abe8P~iHs90f-Y_1|4=iNm1?#YRx**=DM!t93Af*P?p~z#_HxgW2%# z6)*@%*M$WP1ciEfdOXqd=2j$3`ohK4)qhUo^H^AE1O3P0!T%zd+0>4TwfF3QgxvGL zePfP>lyrCe2f?I(Vg2eL`67m5M005kb5a>x2f^>P2771Pep2C`DEq~2Lh*p2)0L5b zkefS?fpNPcvsj$Nn7=5x?<~W_xImJ~eacbj<*H77;vE5rc-sn&af@23BMg8Z_^M^M z_d5VF_{KTr9UT9_7eJ}m;$_45mYqFnp^p7rMkc2xn=nqP&b_ttXf<#JMjKxm{O9-Y zEv&(07C_5HH`;NH0_dPWS$gLER^7W*^s#f|b*r=a%8@ovDkDr~_Kl&8sS+!|-T5yZ zB;T@Pa<2;t=GhCi#yk;!Sk`j=_SRGJ;QD;`N8P4u4evlvJEG(Cs;@;$nb&c)3iE1r zvLvr5AmDXB&gO7Fm9>=_Ageae&*#5P8NWK+^fY+#Es<%z%ufI6+fBlq;p9Vrx+A68 zn;kr)JH~4*Ex9{0Nk{{*Yo-|q_m^0MZ5572J$pp_Evc3{gD z1XM-)+0T7tZjfD8gQR=ui(cGreSQow9sL)@6kDEkgy>8bV64t>e_MY7ZF1Yz zoE5GHUw`>SkCT46oOAOCx5|3a?{o;D(j&j|2e@G*m`- zR7pzu01=x0(#`*188J}xKI6c6AG9}9$?LxJx(NWB>stVKi0l?>ytDyB1XI5SWt?z) zdui)vCu9F=u^}~crqYJi?JHn3O_mshPflv@BPX>1s#%#i)G?bnoNO>J0d)LKu(@UX zIUu%zS|eU^bw`S#VwOcyR{Cr*@A(Cf$4*Y&Llrx8EW4DgoBV!r>`W}#2l1nf)~u?n z&CAQf0AL32ka|{A=B?6F7g&+iRaINfSv3Z8$$Hl2L3dvj0_#7292lLQjr{cK-fe8( z&em4>;A&eHE%_P0W4ocOLy*+=jk5&!)b31W-#NY=?A=0y;czlCP_vSC9?*0`Y1X)VcxvhQ2!07mpdFsdMpjWS6kNWny)+<(7*W~p^dWA?`J_iHG>+& z)K&nHDOdoPb%*EdPu5s{h8Cc;67C*b>-Kt zY7WAI){{bz%k-u=7Xk5UcvT`(A2{pDWO*E>c`N~I5dax%(83P6EKj`!)1&z_`DcNp z(En;;^}(G1P%s@WD|d!Tf%>k(V-bZj>sgu%=!l~ko7QX-b|hV^GjgArKF}bn>>q@o zi&_@m*IEAPUzW-Oh-q6pJF;xw+;gwbw)4~^u-utyo0<%>@|~TXrwr*j=br##tris? z0Zvjdq-KUw$MiQu)$`k9jx25{f()p((k>^6od- zlc=Ue>%DYp_rHW!@|~>lt4(y@`i=&yiKsqwk_!lEF{9i7E*<U6ZXm($lzZ@cq#2xWTKumd+UeN|KL z4C>fNl97yZVW3f#0eyY_xXjGb-Km+Gk2B&u=IaXdv?q2YbDR1&fFvDof~WZD;m5WR z91DPLvJ-P_YVId$HX&ACI@N)JOv6930RHE+se(?=#6Df|Q~h=F9X3@KH{+bTbr-y^ z(o$nZT{lcm*7|%1{8l>g)c7b+7uoR36vzT722vTibgi>3PQG(Suk$Y_M+%*U9@U2^ zJ;SuLFnd%>_a*cX`CFo?(m6i#Rg~U}?zWj)XdjU)@x-4LbaBsvPQZ~S;uCh54wMVO zw;Z%OWsWEsKCP97{YFmf9t#CPkMTNAteMHi2EeSWIH4qa{uSx>0@z@`{JNlm6sWc% zXOT!=7!jsBT2)vlHHZg-X5pjHCL z-EJ9*ND1ygJ1P-;0Qg_q!k3&4Y(mXmr=K%|go6%CQTIZ-^>v6T=kX7dTY|lv7h)3x zS}H33-9VBg?ShKRBV!HU^DjDJmZE;Fz&KGai1Wz)@@(FBtF(@Yw$oe)2%`l)N|;N! ze=oadOGxIT?j8J!JK$qcz@vNL-1YC6<+Ng&9>^N_bb9I${tZU7hYYOmg*FD$FqGMW zQ6b!@(ZdW7{DBMj;I1P1Ah;>C8}Pw4<&* z0yNTK+J=66lP=h$OD=v-hFzftVi>Iub^pqEm%iZ;?LAEL^aVKAT^EnBx3?F>h&d%> z@(DN^T3`#)3YY>V&4jwMZs^0+5se)7N(Ul?@&bbPXw$(?SXYzWz}+m>*;@|zLc)1B zYRt^o+Byh0>d`)+IU z2^SJ>v}|Ce7+C%Q$-s_a3GEiF=kRiqv*M>zsn&fHO5(8CL<7J-+ZQ1^PndtL2S$E& zcBX}N+5k@Pq2e;qVu}HP8dt4?*(Qy8cL{r=S3|!WBl1hl{({~|{IVN`c9+`N}b%5G< zAn^hE*ta({G`WZPDiS5nh7^SNL4SkZXlsw>wxb7z9(7TfFe3uo+qj8fDYxqi(Jg!L zLFtrV1b2Ok^-k|OU7f4^ij;l4oo=&}700`cEJOck)> z12M$d-#UH0wGTP`3=}%%HPPm+w{Af`7b)nS_!_cYfKwEX$q}x!a#FvW$bx<1ir)o& z2*@e{Cs{l=uK`lNqZQ{J+PL)er~au6L^0Dwup8^_~s6dX#{|#OPG?VOFRN@ab-6e*OOqI92~E;3WQc zz%l=Kz^T;~@X(wll&J|W4$kO1dRemqdkAPNh!t=f$W9|u?#`s)4}3eei6zgD^+X@2 z@ow%47Q|?BFWVAv+nPRPGejtU-a1xI?4y*YdTyv%OuGmykKy5aUnIQAR8(e9Oe4Gw zlOJ%@i4c?Akc{hhFg#^a`{J+|^iLz`ua6wE3^uzL@!$LyWpyUZ?C;-kcc;pP5!&jy z)X*N)oaYC9Sps-}GK8KOMoGRvfEn*B9{_L4Ep9wk{Ub)m>puMNKF}T5{AVBNzTJys z=YsS*$CaEl$BqJ%Vr)7ye1EQXS2hnl$h-hBgYaf}mjUpYu5rw;d%~bki>n?9=zF<9 zdL)M;W)OiuOsjlpvi%L0)W$pgfc_vO=|jm}jrU>(X^aON?)C_;>&77Fl|^@S+pn6u z%(c{@Ky>C%0B}riF81|5Jnpu|Ofd-%{ZvhNJ~_*Q%vVR?bU+2TbiKVrhx+^P+?f^z z%PjW%S$Ip$5fUtb> z+s-pkJ?+jDda~`BBJYV~?LK`(t2b@WF$_vV$ z8Udvj^CNT(u&y~zZX%zZpD6pZWKNTlJ~=b2g3HBT#`$=0qo1*860{i{!ZP++{@@#zmiCbV zay`*G(f{jEDc08Pg*NiS3b8RWSAJ59rg4?PuB`t*=Daoahwndq<3qBPj1V|c5)Dkdgoy3&TY zMxF`8Q@fKFYq*`5l_CtdS>*3s8l%@WA*&yl)J*qA9LoHvS(G z4h#Cyc@qct{zNon367M(UR`B{FJ}$HLqErE-di9}><%~GlM=o@TF29jA^vecF!J!0 z=SVTasM27vMyKsxW*79-=E-BJKwvcH(fjo z$j(E$Hmu@n=<6$2R#yJycrE?WG3mOaMDhuGg&8n?>s|CJL`c?HO%Fr*w*Bd~!vM_1 zuIRV~aS27m+#N$V?aq9=1%vGB`RewMb=&YzuXM@~yWN-{x#>`vAGuTCh>4pv)6YcF zDoT}ud1GwjsGBZGQl&gH<%DIQ`#Jf)7h@`jpMU(#M)7$vH-@jOv5okMyl6?YTB(bPPq(iI4@Bh%R!uUh{?mp>*M3=aa;u936}Ku%H51h!W6Fb&8)2Hj;J z7feU*GLH{adaWw}KPX=h;MSw&EUWPhhiu@!B!4JW?Mi;Wc9-@HI&q$Ck2-zmL892g zxUkqO(@fP_`t|9+g=)Bgb(oT&;2KdUP?Ubm{A3y!`E<{L`e$FIja$M+U@9s4QTy@g z%5HW}(JAxA!9r292mEj}RM*h^uf&Al>xMT}Uzh%$uy$+!&zC zf5S}@=W{&9)OlV~VkaMT^Xf|sAZRMU%F4QY4cMH!c8|7L)8y_vJ^$yYb3wwZu{X)9 z7aMayxaEMI$AAvlRm6eX8$dFze8=CLPl|95w+#&i9RC_3j)+QV#uH0zlD8%?dGyF^ z&BEot8;={u`3vHaVm)21h@ceHPjyE&ej%mF=!Q^Vzz9MP-W9fqlE|jrpHz0Wo13;Y zEdZFBbi}D1T{Ya~oSC{&Nl-w$H`TqmWV`&Rx@S)3=GSI^oo89r2n>*mA1WJj=C0P*SlPy8 zh_VZ6M*QQ&)Jp+Aq^j9ppf3|_;@hDzu)rngX(*}{JZZqoW+d& z|4Ou8|ECm7ya%9orsczbkatT3tmpglv>=5ZV;PXL>llXzNEz|0{B$f zG>yENkB#~gw*%IZ<^p;58eOF0(Wx82bAF2hPdXQ~Y$GJ-y8efx;|N&~_dq#o`&w9i z`1a1rAi%sf2b@OiG+H5t)*QL;qt;`4UgVq2D}x;8w-AS7FIp%J9%|+-PWEw&GeA}K z9xh|4r*-V#T)wif`Y$W-o+D+HWZB@MvKoUevMVwRjT3u1`qp!q-|sElQKIxW_)y8O zLSkm%afXXEcT5r~Sxoi}bJbu(e;BK^c)I7ZxCtR6MGW(w4uiJpU2a{Cvp0EO#j>eb8tlwN16l1LzN* zKcmUwmO8dP1kMK?jPdqBSl~$Ujy;n&~vE;1Q`gdA^egF6BhmjF4Cx)gS zl)d?> zLK>8`mLg|5-`n#;Z9CAZH|-E^0IQ&^hp~s$SGHJ2y~FUS4~JN3eZmRs{V6nAM)2XQ zr>Xx%P;hz=yAu?|B#q|8W&cA^@KF?CSS9ye1_T8lHG2M6YP6azFHzI)pO))JOSIfy zip8*b%$?*YKJPKt&BQlS z9a*(rAR`o?y9KqiM7=!U3(&Uqh>86^;9wX&Q+IEW;kbwIr+N${^+%qQUr#IU*RH8f zg%`gm(I@$hsiWcg67RGBgZV8fpFm=5kb~A+y;}`eXd#?W8XY9`w`uQF=PDHbO zd`bq%_`X~);1%~odiPaGJE>~u>Ai@;CjgPPQkd7x!}>C~!i_Xu%l4a|H4+>b)n ztqj`wkPqLnnO|0kOxRFxwXzv9EYL{eQ&FGTG%L2wN9v`1Mia2;J2S@~JHS?6 z03`w2=?<7%S~Ox;zkqVii|lQGL->5R@BCo^m2=9=M-xcLPgDNG?_CO)_{(Lswy{~w zxW=}$vU;(;?_?XDA~y){Cv-7dt-apd1HzDv?i_&M_D$mKKGJhJux$(U9PYF}M*Q4Q zFaGK!b`{2V)e(vMv?D9NVn5*l9~naP*l_xlqwC82chH5vBk`*J_To#7BT0q_f1bW$ z`}U?K730Uw&f8Z_vZrrTfbjmmYbUl8M!zm#(*zMCPR@U4UAaF*4wqwM&JdVm55EdC zshD|1{9?=pd}m7wh=(fMQeY`4z)f#`45e5I0&7H%XHAA$(@~d>uhIqZG?d*#%x4Yu z%#dFldMj7QMxHhAF-!Pv&!h>kHZzEm__A8d@o+SIhqw!D#My%QzBP*?=hOa(KI88t z6!pEACSgnujMt+&ZEU!?8q7XT9~CaxJxlEd{n+GtfdRxw<# zBWxWRq}jVa(cL+-p_)}GqF^vfXj%5y_us-U|H;Gt_?L%$^$|$^vh>meLEk%7hq;Fk z^WQ9V!h5`md3A`Bfp^9G-)k2i#RLa3J(xSK^1ty|*pmO?r;w-l`gLL)9luoZ{Gi*e z9dd?%Rd~VJ5RoXiA%Qvhq+fGTbG?qm!2!wjY8Fskk zU%49&+CXhRw)}<;_M*6FOmG-3V+8uNw!!X=#@vGY5Xl7#l!i6gRj{jfXal0_af!o%IX};2v_POXE!N3dWKO5&uvrmc~Mm~7Ds~TY% zJ!&p#^39NvBv(!ArjFcyBZ>~x=Tn4GW* zEEIlxa7`#kO;C{c<^!*|zeAF z-o2=nHX3VUj0mNDh24h=cP_@RUnT;9jQsQdd9+tx6V@EPJv%T%CaJl>*^m`|JD|D9 zGZ~ysFUs*SF|yQ}G>E?IYCTKt!WABvIADBUB+*D42@$10ZN#a{RlPgO7bZVl{X8{TtvdgWI0QE+AF?N?(?nxOUV|{>x0#!!}2NGFm%=g-g;ZzfV zT1gk&H#{Wb-qKmfPY_~`tygEreKf1$KE9Hcl=AFh6k7<&DS5Gvr!#i*4G>RC=u2wj zLN%Z%TQ6U|N{~s;WN$NlBhvf>U2NYe%G8R*KyXRzSw_jzx}^QHG)mM)17JH~wxMWV z)&1ei)niO=`*}3jG=7Y=%+}kd3zb&FyVn9?8O`teN5d zs1-12B!s#Ys|_+96M@(XS$M%x*rL;kr?f#etyVtD*feNaQa;sRSl=C;LK8*j?uTON zAZSgF(E~McJU+f6+W5r3rJTAaT7{rM0ipWZ9`F^`!Bk^o#nF!n!cGPU!oJ{NznoG< zxF{Ou&F3GNkz{rJ^nGxtlIMM!B8q*9J~nfoTlhQP>x-s9zXO?L`tTK~?^W#{+Q)Xi z;w_q+!*(0^@1r>{!yk~v*h7_55=IU$>-v(XIbWYA2Bw)TbtbntC>1RnG4-|fb75>+ zq%e1rnHq;Vwe@^n$zujxgfRdSI&drlyw?BzE5g?!1c?i~N@)7a{kL7$y0i90jJr-z zoIzegoP+3HzcK?SaI^V(&(?u|Iowfw7aEd4tiUD}PSbrj+c`O5qK z>#qRnE4-^|BT`T>H&}xzt%cB`BQs&h{w}hoHLa3h8i>G`TVb8wT6>ZhMaS$b+CVU? zJaD!q+zxjrR-niMj5SYI*;sA6XT12X?SQJc*vl3!Q6&-2Agm1^J0g{etVw|U9+dT}RuGeb%nz-XL{Vz`z95^EMWCJ zmpxA#<&=cYlSMvi9NhUl(Zk>&zwA|2pFY@_s)bS@!MTu(_qMA)<(aObn#?ie`WSGP z+YWJ-QWT5Si3%%E%a-XTB(aKbdIBor_gRbGB6i;enH`2tOX84S{^)I}1)cF#8eGX6 z!OxofW-9O0Qu>NsH|%1LtQC`E7&&6@0Bv6;WVv!r&7+L2+{w#RM*C{T$1i2HA-Wxl z8kjrpE1U}FIlkt%|Jd|es(_%#%X*D}CeH;;TVZnNn%BR}x4Fvi?w+G&xRFGK%L#gI z?9>FH>A;flK{#x`Cg2s9={%-&A*EXdSnf9(Ppl`WJ=Ty%cZD*8lWt}FGN$#TlP^0K zh3Iz?xrHG}yP~|uy>R;2C|JqS>uov^i0bp*{|g||fHrBQz#lE!uuZ){=){6ZCFD2q z^31Gogquh8^t5f9dp0gdg{Or}XgKkS*xdq;kf9FNOoXL9ge`yhT9u@JJ*!9R;{AH&K|fA?Jgk4z*Cm}-B#tMcCdUSGdTA3K-S zu7IhLa@rr27$wb20?B*ztC~NDG=vKv#WHY6bRHpQsk=_9wXO!W6{cYzOX}YH6DQY| zkz3!|D}6J58K5fPwxvoneIoQ|T#SThP<25(fouTLNC>!^qv)A6G1H>Wg^NeiT9+D2 zkCEWCBWW5^`> z_*$LN^yw=24JxVgoYnu`D;U+@9 zW-CBG%rrFbh~C3&bB&X@p!SUj8LwI+&e4}J5j-*vxy{+2yNyYQ5Kj-a{uDXfKh1hR z;R}eBt@Cy##EeCLW@{M2==3eT7=iD;uPM?ecRw}3)_Za`yHE6(p5YHXj%#8Kzr>q= z$Bpi4q{40Q?AMfb!_=v>rg7#~?GhSp94c0LIi#q{-u$p99>QqkykR1S$uG{hd*8V6 zhpN5=KezYF+PCjfw)sQj;@e@@$4#nD$m6An8BuSpejT7&Hin>#p@fH3jgH#yI^STl zD0n?X2niazS)$W>flxtIr- z-FE)$)$bTL;xk8l2d)V%%ZBdW_thI58e>q6LofQ05zWU~=Z;>_y`t2%7f)VYJk$@k zV4?YXy?FP`pKm0jgCrVnXy~hHgzp;VaeubE#?`Nih&tzZg3;&&O>Q?2hKXCCXJM;( zGld1(A5}uc@zrpB!|sjv|~1 zCFc;}c(Ny-yY}HUuA0zVT)*px$*FC{!Dh*CZ-q(iggTbveB|c1*(S}$Q_MU%9yCoG z95FJKY1WNwJfe{jL|7O2R#a#qdUD`XqhIefk97&&lH~iK;zrI4ztcRXbgW2=1(!ln z2CKO30i_q9cw!m(^8TJy9g&&lfF@~ebwq~Tu`@kmC4FjAMY^|5M$Dk84dGjxV(#Ic z%BFo;=8;2zTrNI;n&~i3){Lp(NfYe5&L$2Q7L=Bl4_!YZ>+iT1PpRrDV_=t-iBO#O z6@s>p!tsEl&-}><_sprt0$iAy;j{YRoijtk_1`+@(?_ueuk7zcGWcYm8j(AS~pEl0LpXvRN zC5ptcon7eeL(S=-!#U>(`EDV`T$mJmSJ6)YzTDD5a{cdw9WO65Js9eHi z=J!?SoZsc~`vdlP*keAQ=ll77zuuqKylz63fOD(<)6lbNga40fC7~&7 zNMfM2fO`Na75Ao_)_w0K^;GKy_C@QC7B@Q~vk(@suhkY0wDQnELu5Ae!v9*q6boO$`oQLnNv@*#;t8+xbI8h(eFzZy06DhhFTZ7RK*CB9O!^)Idts9NsLLJI74z(M<5#9NyZ{Y!Lb7DhVcvwR6XLLhiRJ3{MlWU{N^th|1n?l0me;Fh zdr-Gx(r6^SJS@8GE}2##mp6X2_DEn7M8nWkuR6bB`5SUx+|`qDD{AbQ*6ItTuk583 zGlLjHyL;e{DC(D39PrssjbhoeY-_S0q*ndpZ_Wnkt+*tE$BpfnKz4&pD`J~+!1{yC z%R(CkI3-fM+)pO{x$3fbRKSs0nbQ>RLNE5^Bnb1^Lthmqt}Xs}?|0T}yv_HFdn|w~ zPvWc#n|N>FaNK+k1%pTSB!Tg0PS z@u&N)1RTR5(21`;xyNPp6?H7{m!iHLNOuTs3Qv+%++qj&T+w_Jlg;@jEd^LH5bLH@ zi$!fq6$p_#x(HR?Ky;NW444Cl=m}c&9;f-#6lMyQqs@t?n$g3gR!8&mstnc@fY*Wd z9@64w@@A(*mREdlM9?7;77f>2liPXp8gQu(Koo)$S41FM#;{>{0aUPEhW5K~Fx?<7 ztGND*#lO|IBB4S{DN$DOPg0h+^-&oTNB@~CK3xH*Q-b} z10VnLRs+&d-5{S^21}E((4{b+O|Zu1R80TMvl$(YiS*3E<#spaYTIKk55@Dt*0~BO z8bEH=bQKEUyAGRq2&p;-!Pmq%l<0oo&tZ)WIFQ>wK2bB~r(6LNp>fL9jid;5abEtW z`l0i^b0|;~f7;Jn;kx?lRg>r}Gl7>`BFxw52i`1Dz#SC5@aQ|2;*T}b7)QgA7gtz>Ga5k->G(YPzTH=eh zp$Dn%JvddK;VJTR;^R6ry?xR-ez(8Q;Ds}VkhVDal=x@kcN+o)t z52e~|<=4wNOO8PT_15}Zw&fY2S-5(38Gx!~EYcKwZm5Vo!{@eJYRm=d@fFnw@U>6T z%GQY<7KNU*Pm>%iRoZMJ?YRDF%x5E(oKp{9j?L!q^^~6b@KfzxWl3(Be&#)@s-0n- ze{G$pdmHKhX{`2;~hwdDr$d(cp-; zM8s_ev>x+^OzUypqaEFWwR-DECaZ=nkF$Eoj#=ANAtU?V^WBiaoj#y$$>EWoW-)VM z;^+;A#mhg=x_{`moOi2zk#OC@FddjFAZ<~V&!K~t-;P+4s@b_?`w2#)^?^;bGZU;1 z^NC9jXaL2a;Jx>S1L}$%uQk$+13KzzH{f-7gltxH@y_z4CRFA0VGlzSZDhHo!Cu|O z2kXtGKqnKq9Sw7F(0cG^z%j>G(yg;Gw4g~L_CtJl7; z+w%&LVVu;bZWxU>`!fYHhT2QlkT_Y>T|!HFRK4m;lFI#a4<)`zR=mcFXGSF8ea0zFpEIb%Da=+PU#K{h8v2V2Z{xMqkzm2wY-)Il- z9RZT;>%P>~q(9h2P*>H7?6(#}+pHRFCENw#RCVR%!rdfRFV_7hJpWr`qk$p|s=1eC z26LDhV?DH}U7rKAn~5v*H$y%%8UQ`5{X~#Dyu?h_cQct2Gm-h~pDtf~ivTI^UvTT+ z<&{#Dh((hF^Kl4Q%R}b!hpPB%-=)vHZG@(V0sUArAes2N>rW$D-9n|WH@6joqh}j; z9{dH-TF$2>!0MFvU#n9{ef6@amK44jzc;0}x|K5uni?gt?=NA6`7qc&*BJgS82*pm zHT@}1+AbcX_prLiy5EPlhekV}pFy)pbv~Eq?$fWidPHa@X!oK)Nl}dF71*lrRjl`t z78En-MW#;j$cc6V&EQhp!XvDnL6GzyQ>uvZBPdF6>nvcncci+3k@?SKgPnbm2&1K9 zbz_4>mN*n)@bi3E6E{j=A7}F~VW#fr`(%!8(}Q(drhVY)nxEHuT`c|b7tJTgKMvuK zl`964#;v6vgKhdvU05wKcaYy91%nW|QhwUZ-AqMRHo@2ro_Zp*!FQk^(gzj@ulzLb zcL`2plOahQcSVWo=iK{yf4nYJwA<(}gX72>-!TzXVA%9S(890?;F2#BQY=cXOQHGM zxU{Qkbg;TZn2Ei}YB8EhptrA-%uRewghWW#*4BM*Z4zK)Q!~XTi?oX zH#j~JC2ehOe{1Bh|J-eE-HnCVv{x$;yE7S?JFILvDo4j#xP%Z%Dc}k+Y9rA|ZQ|mF zwFvMV7_uaq9}S6t7K9c#Uqhvr1vUjGhSu?=Z3GAB)SJ7%2*Hxy&aScze7}}4CY1o~ zh*JduPO|wVy+YuRP11;<5tM(UtFftLy435~ba7$5argAlR-*0&-Q*0U-BnQxu*`JpBE6YwySFiZ+P-Tt-_z1n~&@Cv3hj)JQITJr~V4$M3)-! zmAdWfPh5i;&-p)LV2v8K3Tg}s;)Ux!F_&7LgeV#&1{k>QU8RAGkA!O|)}d5Wyc^=` zHSH|A5HeOxWL1CH{wD8JL}8zHW&2U|FWW3$;~+3R&87mZpZyHdGuAP#5M9LBM8CNX>=r4WZe)sIsUU&uU zcBfQ>pB+Tbr@e~>PKm9#=((PgPFP8cWml9g&(wK6Isgt_KrE9tx@Z_ev-+2{fD3z| zSJ*0@W+EUEWNQMzoRmMSoAEID->B=Rn5fTDuF|T88wa`Bn16WK!X9C^&z&V{%_^s2>nUfq(5F2fla z=5)kfPmgq8=LpR5K&MB#KJH0d`uyXIE`3;M@4c6!3DH265a0sOv&r`>_O>M_Sx(+z zpUc3#OBWF!3e|EBBRAw7zMmR;Qny%a+TZeCO2h>V@`5V=$`gPW*mVzetJZ|`6zV-3 zDDCu*O<9~A;f6GdImg^+^+7RC5)wyNlF``sx{_Yh&Ot@-*^n#9;41VLf*X&!sEWgp z(vDL@?OwZpMS{mTP#f0b?Oz;nc$#UeZ$?R-jt%GEfPjh6hT2d0DGfmPHYwf7!SSFf6;#IAPJhUwg%^gLkeP8j+$apY$=a}YX7?e1rK4TOS;KMDBlOU%Hy!fuU3)B5lK8kNxS4M3prLoCc z*+oJ5#EH$_JM3x65~eEbsq<~z3}o6^z!p1AP6q$c+)}`BgK%gy<+{qMP6U5(&Q$w zG!2p}Ax^tkM6kvBESls?a;SN=5zPL;5`x5PF zBN|hqWsyXpSOVxyghqb&~yVeF%-?v=9cW0H9-6~=~U+-_|Fmn0WX1(u9i)3$-#0+0he9G zD)v~pF0cFi@L^L^6KzOVT$=QK301d-B=@$2AC;7$aJDDI{aeyXL}lzHgft|AaUN<< z)QBmSMl&~`zow)i2~IQ2d`9yk^^T4YS?%|0o~x*k0{j9xlFJ*vspV zoZw$R+H3s0ZSC!yMH{=hUkZ*703Y5invfItno8vD0W*gd`S z0DhVa+laox(S4A@a=ibP5Idnp-18aRjjaIne1D30fVzs`YEGNuxdsErzE6M*9zxby zAff9^=}<3vqHhVcT}@1a{3fhnxr+s%=O^wKj7bhDqFc9qNa84qajSP%W{Ms#;FfWd zQ1~PHUi#JSAh?eyLpf(+H|R8pbgemk4t&|YgiQiES257*F^|+swVdMBBj7TTdK_}a zgUzB$)_dokY_WWCs(dyv&+HkpVHf$(^EBuf$asL80`^ zr-nT*sqwhGJ{e8S`z_{@x<={b+&Z8%M>z@a+>LAK0%+E#Fk9*5w>3pg@Z}HTEjg~6 zazsnL5#0`5zRLxSOEz1tW}BSsP$6QaE{6=L8&G7Nayas&#GLCHymz_h${RA?)X?dL zh9ia`gHz2BS)-tyY(E%qB^=T0xJ{2KL5-vbO?-k3qF|Bg1^ylEn}9ILi;hP{?rF#c z#o428q$tH_1Wj5L|4!|OnSF<}tZQTT!C~@3Cyd6n<_SW{j@!bZ3(%?~5)TXvtiSK_nievLYCN0| zk`F%H`neRcU0U1Kbydk4*9xdZPURDlHL7cmEkLI_c@aBwB|I9s9v<86SQX)r2|M7G zIrd@K(#Yr+$uvg|TOi?LU-`VB`W@_Va^WUSy64o)k9!klUkZPRoW<8)i`zS=PjA*L zDjZJ1G+`Y;T32t9wdBRvFbvly9)kNV`u;&{Tt#%W7dmaG=k%xFCwHt}lY@~(fUGzf z8Jp6}7y3AG$o}Hi3{b21ywT$cPCQSt_E-_Fh3*|vQjNWw@ccQ`1zV57%5oE~;QbKF z{z0%kv8w2|LL(*Giz)iyF64u0q$lbdpilIm-elZ3Igz?r2|LyUQH!CQuP1mmi@SiM zRE&?R@Ad&P5T=i#hg=Xw`cKqtFVV*gB+~yJhPNL%lF@_Yo6lgEWO?)FitvwV(NLVf zGkPdx{-mq-G5K~c&^LyeqUo>XiQ2w|g=!FE0n&Cm6xK)j(Kc2+iI%e4C%vNIPVbC5n!| zbdQOyG;rlz{RWPV%mKp@`@_p{&P_177f3cYx*sS)_bOvmh>O!8OG#X`BUr-g$7IfL zHO#K$SQ1R_r+qQd-zuebuW&}!Sc)vybj`Vga9ttbnjFryd8POu@#V=6OWb%Dj&)E$ zAOXB}E}O_`^(Z;s|FhIWvklc@NEPO0*mYYOPYrLD?k9!D29_K>v0QCQ=Y;0$lF*a4 zRhX}}ij|jG&m71f;4HG;+mmI0Q{A8Wv6JCp)r(sb9R0_tu~J3l_C<=DJeqR~GKGC| zUF&j!&-0qe6pc*8^c1ox3vx@4DWW;R6+GVjDy~sR%Hx!lG(A zCbucU1FD*m?eG6AI*gU7k!Nc9=Lz+MH7940B5o|#?iVfrT=8*i>jAXlc?&5iwGRo` zF7vjr1_~FoBDo^J0PG*@N1l0CVeBH$EhcH-$eS>up&YzfFP?K6AyTX7Y3KAM6`ExWrUI{1)uO1nkGDIq0nrx7s&o$ zlPBri6Fl~>7!L6L{C8Lmq-_6RC1k*{4aT9@pSvA6P&W;Bk6$}W0!YYOd_{l&7#({3 zh0sd0c*zNp*4}~&iT$1|-kbml$xOd|6^gzNHsb;)SBC<2nh)J;bAay>5knbkxEaXm zrzMI8MOfNxP|Ci_#``a2?UriLdlJi+Pnaat9Oiuo7G`zP4(eVw@Yr~>iqHkmamAN{ zs^;d5KgSTBi42-I4_Xok{a!<^OzckGoH7+yC95S=@|(VeViH*Z+rz{2QVqr}KsF1M zT^O_p$pKbnD%dHF*yO6eUM!*kX@pKsLb zdSg3z+t7n#9`NVz;!Jmcb|1E;ALF-d5f-Kj+u3)+M~~P4DeEYZdQ9{M-y`&bg02cS zy=UGvoS$@*&i(zK^67HH+o31;w7y&OZN9|}%68~MDHi|aZ}GssCU}&&p~{vy(Mvb& zJsvA{?)&E90u}e^)#A@~GMxWJUj4v6P*>`2<)4_w&O%J~=e0fq*O7VLVP&&)7ug!2 z8@7jbAk0nYumh!0C`K`T<;vq6cjCeM<(NB<8>y(!bIzCKQ5I~Az5rqPIm$G?A$YJ+ zZcsE)sql3_0?6k1fSbq8fpD{S9U$ZaymifE;sYiTUWZ>gwl{~I%eSY4S^|$jZMdYN z50U4SZx@auE+pqpriJZslc4ER#NdprE!_hYQm6H75Cp-`3lHkY0Q|ltU031sCa@$}&$Nn^y&+W6kM>*B0QH{KDKw znTI^xDbdStCx09dzioRe7e>6=k47&kn^?k zZb1Wp3gF)eOV9KLf7>h_-HyOz+`PFrA@Oj~n>9$n9&(nP`|hbvp)5dZ5uH~RN>#6d zzdMl>RS;ssC?PRXT=8paV)HUQoc(e(W%oKm4N>PV!`^%LBV+cCK=UgIkmM{=NaJBq zy5X)9x`Gzoe^9#*T8xM@6&fg9$@et=c=G_7f`1P1XCnm8p`k6sWP*4bELdePpuuY) zRx0)%aQSrHeWe4Je)r2r0=7$o?rU7Ncum)iAksJ#U%(@-(j2>%=8hM;GWL8Lr~Zs8 z`YsKxXCy+i8&;lZlwfoCFNbi5i5AdhKL6ze1bC-T<+D9rDpYDNtEQ&*Gz1lubNlf( zuAn7Lhr000kx_04=JYeUWcH8DpHDt*mxXPaZQ%zF;pTYIZa~c@v_te>RA;Bc!oq_7 z9r0N2wX5YIo}i`Y2Adr{??Sr~27LH$JiWXKS9e1&JN5sKT0#Y(b$CAFB_BfKc`aAK zA$0#EGqz2JXz5cx-TcSrZp*NUt8Vz_^?q|RXMu1T8!+!T`!I-0JFXOs!=fEp9+48< zxpOD*)vNS{?Qj+9WGvpBAzUaUdbEg+=QDPO{yjll=c2D{ zY;5d1FpS%c27Q%CpLFL6^X1EzD!Tq~yyirYGNRoe2T(YU8mI7jZv~cWQ8%3n(WY>8 zblf>SBz3vi`*Y*y_*>Eqirahd?N)};xm4#q1#Fi<3i-bM7YxWjqRBMqEjUpijI$3>WO3%gGfLKE!?LfrT#0%gd)-e+d_IOk?}J^H-=-a(x0zZl{J0gk{?s`fqXeuXz+vC~J#I7yn!jYgY-J9w4Q_w%k0 z!L3`j#J&J{|Hby%-1Z{pcbmFaRJL5WlY5!l!&}-L8j?7CKf3-_xq?H0`nIT`FZ&PG zPWp&@&PtEpt&Sddd(YmLEhYXh+<5yTuBiQ2QJZOaIZV~p;x;6v$}KsfemqrWAU@hS zdwg*4jZMee`UYO2xLw+HAAkL-~7 zpNyP*D5@r>YUZcA3`ET zL?QNrEwL_E6i}4HiqxmeuXUUC53gE=xZh&J*V7c!uZw3s6D@rSyQ+uzEPw8hIlnVu zYiFPV6)rS=u`!%QSx59grs69{`!pkjd4U{+)FSr(DL-qIm&@aJgXC*L#g=L1E5nBz zf94wW4;423%E^N-=RF9Kzw&$KcGZIMHvMOsX+YNZX>+e)w#o4Ut?QfB{To^fw$A3nnYK4B>J%S(yaEz zMQ6j|+Wt@3*~Ry-=7Y)IgbFpB@sA1^%Z-n!h43Q)b1|`SML77sV6=w0?OI|I=E z^`i~n5yAR@hxVD$bzG}>wyjev#E7Nf@3gH#8^DgAW8&qlCs^v|bxe{g=fyDXb!J=@W1SZ7X&;!c~D}v|0?&$IF9>cFvz% zWMG`|gV7>k7*hDzb!>OAllP0ScmO+ie0G2ZQubHSwy#w$Z4vpIdil)(! z!8iK~FVM{}w{c8>0%_=KLmh)LV%PxZ|Nf0s-T#X+OTNv5UZ}nWojBu;=ryGNaU?!= zklW}h92P!_N!UkD!6SUkr=M%__Z=>F6~Ek{J)NHjzyJF#^x2~KF^cbdGmib}7zV9- z6&d{Ns*#Hig0P0lB+_x0OgF^-8*vqRIPppTkAe^2ghNg!U3W;nKqUqt4zB=Q^|9?f zCK@UWo)(vx7GWdyGnHmbN*+Egu27PU2}j&dlx0=KYNkj3;xWpp1P3V`I=CrVGf4AjsLD=IuH#fKEAr zocX~L-7Jo}T>#RTQFy_*HdZL>{{F#0rDAW=Bb~gq?*e8GeEPzZ+EZD^)5l>O$&{g> zkXh7t^A|4c(PAbT?R0&8EjHSGy$;fP%k);d9?)}7!BGG8^Ps-zhF|4M>D3y{%f z{vb#|4&)Gx6IT&*n5s~kQ;#VQ^yk$3`>y);-9r@xwHbdh=DYQvvNA^pyC zw4ihLMCBIQts6xV0M_Je9O@%t$wv91Baxl+HXAqJ@Dowm^Yv1VpOd4)`sjZE&9&+G zFo3kNfxWAPz0lb8ji|0l?0WZ3dtnd`7alzhU(nJ3_l<6!7$lsImwi_aAp*`v?_Jm` z{z+R7#+eG;c>m17P%-+?uk+qYt`mT+KOKNMTHSG_kW?G=*&9@Voh+6qPI7OYifU!2axQM3QXVd z23x=sHN_rhhwV3KDJX#aKG;9s{Bt5n|7&W++z-st+@KPP=KDv7%geb}#s85e8g^2b zdtP#Qw1pT3j}Hk>d2hoYNQ zIo8xJ=bm%zzvqOZ4*ZOSf-h69KHy22+5g>vV$tQxef?bGsMtihvuL@jDmrVu&SNojp1azWT|d?1@or z^lX!((b-Ag+XZ-|{A}-KhlH2k_NReF2Xt}Q=~9J`gqQc`f_QWJ&rat*xbG=90}l6{ z6=&cpgB`OEWNQXtDvtoc9oVH~USQzK(%L}#yY8ZGI-Vy+2IRBOVTU;?u)PA>|0AYh zPAE`dPS-;pnASkFuX&l8@{=$82I;BuV3hin%-LJFTHLhV@^BJ)uj%a2(Ic0uE7lTV zqjB~W(S@T|j5yKRh(!4RCx8f1kg{2KC?sKA@maO{$<`Ri+ajicyX^iDUN;lyui@wZ zvCD5T>@ITvAb^Ij%#lUgW4~S+^#1oitN}O58sCrMsEwhU^#CLOkUjzzfM4W?aHLxx zmJT5C3bS8w?XhVj6|@rKvH5hn)@&Pwh+H2`TMB|lRL$IRyE(>g%tzKpJkC8I z;tH~H9vyA$5{EM_&dlhWm{1c~fUxJ!ghKBBFA{r;M>#*>T`ED)(UO;f?~?tM9~^rW z^a*#pFHXLdgh!|#5T2kOZh9YH9m6M*S;PtOOjgm>7VukRd)ndN|5z}aG6#ZT+i))p z{~v%#c<_G!sAKZ_^Z)<(>CZ!r+5ejy{-kz7sR2^6=$T8LK|1GJO}=xH``c4DfB(#_ zttY9{@0`CB8Sq53%LqS9Z3vIo$7_o&c%-Uo(2-n#@=fml5!Vc8Nn0RCrEenQC_taW za<_DJ?T;EkXUW{<<)v}usKx1BzSfR z?#oo^m#~AA87Duk04aJd6_OH|{lf3x-)I$=q@I?dk71DC4t?D#7kB@m*9vMp=>Ey( z)iNGw3df`IQt)5>&cQxlUaIyX2JwVLx{8OAT&|3pn`Kvcw#$9|XFurGt4FC7cp}3u zy3**k%U7$bypp}hzXew!F#3C_$;TIA#-dY>Z7=ul$1%u?QQ+s)`Bw`(&dWGy#jgho z9iz{dKj$_%b-lnlP1UP{muLnTOMXE?it6g>OTp`DRWnVvc{Y6O`SwaYm-L**j;Y|`o6>Ld6o<~n_xHZ@II|HmC3 z^vwjw@B7`a4rNC3C7b)+-T+x1H^1$rX;H&8;g-+T)F!H6FzCw4im`>WdHZ{m%=d+% z-9A*TSL$twn32}Km!s&nkwBF}#(lbP?(w|;d!wTNG$WL044)NKZ*Ose&Dqn+>#x-e z8fQK|t}hN_Ek-T7kK8iU@1szI9DbY^icK#`KZac$Swa>+zw~~*<5c$ceR{Ztg-juy zpZIT>ll~9EgTCS7|MHxPw9`kP#FDKRdB1Ov5C;tkQN&2={4CTx%>1m-*kYZw;4=c( zq&Ycgn;<%=k&N*A6>@?vmfQbK1E<@yL6$tC^XTIkV%|3Qe*X3LmfNIbRZgSo5*NK4 zwhK|HeevN{qhsVnNT&P`@iy6Zu&1=c6AVA`hi~T<)YbPv8nK$kM-ifY_Z4t zu7`)Mr*wm+G7&xhaO+wf4}4JbZ#dLGwBwjK^}jcJ{OKm5Pq2%;e_vNQ2l_bNCe#Vu zZdq#U8Y*_rwzK_)V_{_=P$<7VIQ%j3{LS5`66Y9bvn6}tD<6lJ(7QKe{u}eT^Ibv5 zT6p_}-pjl%k8tnrh%ZskT|PpA0|?Q@C&@2=BXh-JF1Li8n=@fm&AO@U z(C4V*g;s4dS9!A?*1nv5od-BcM-({o5d3n`tcD?Dd45YO+S<&0c8lfEdgV%D;BDo~ z{I>XR(0DWK=}4`~clu$YThWMKc{1gdu$Mj#uCo}8W2~j=mSiH?uk|l>>VWtZffO3m zT)V2M8KuRTPBe7nJ(}$P^Y}~yxEYFq{a%EP6b_etQ8&Q*;4huS@cKmedx3gbm{9Lu zFI^-w3h&E&+tu91{UCg7qy#=IG`C->g^xi!yBK?~2@0klvbi9OoWb`$^C=k)LX;lV z;inf2ySyxEe0a=qshS(evGX}3ZSKtQDh^#r3{XFGx-THb?6K3;-T6);ZM_R0SW$hU z8}dXQ&eR|9=NRx~bDXt+R=f@7soU_jt~v&VC)Q^{%RN>uLKk+w<~l;+%}Sp>+|OXm zpXF?ucz-9$yY<|s*YqF+S+nP+SO#d1LR!5?N0xN|B|`+w;DAe<$B8{E4usDsQEa`)r>4%dkVSd(;Kr;?Sv=4=$R8 zXm|y9rPm?#)!t{1nc}p0tJ-qJ_gQc+#)f%>{Imi5%pQ2_KZ-eqH1hZtQbPzmi=A=S z?|)O7PAlP_&E~PBD1)%s>0;qNId!jHI3c!c&?KNSG#9o2?+DQg+py!cnVT}*P^7gP zKQLPl-UPxIjNCkn#=y21qnioQe=W*ug^UqefieZ-|jnYg?a0u{O3V zx)bl;(?tR;C8{i2*u*Owm@yx47za#xupGr~jCU06+1wJ-G`Dq=W_bH@=wtF87Te7} zDRK|o>dY5^Tzb(sE9vLfh!ev9NxyzyY?rP~@lX+b|L!w|ZSk2^68vUzVI_>YiA~|b z4O5QaXLi`8U6#vYb|ftskIoqhF6xX_g_1-bhmfy4Mc`j|<&{*xUM5F!agoN0DiW36 zco`!!0^!l2-f8ioJo~&bO|zpC+1(SFvo%8T!F!bI?b9MNo6E<0@(e7n03kX9(A;}>8m3wK1iOdn>hAYWdsDax7`wPo;o_Zfh0(wpA7Jk* zS(LaKZ!B^B`#YoiibRej!~te=E)3&-b`iJmWg*6RF?0X?Sm49!DUZ*aQn_?T7~IqK zaB|N|Vu6W_sBT~9+m#_9DgHYT?*_tDrsm=iolJji7Fly2M}v03ViPnUNAwZPZ`Wr1a-@#AYtNZ zC+8!O4(*jU{l>y(UP*bc-@slYm@rorT1{1#V;X|pXT;>3yc_oKO|)Pr6P@!U`4x9_ zoKY(-T`006K8uK7lZ}Uhfh{n{F}9D5JUX6%kci$M=HW-*hf^WH(8i>(WqoJkh}ERD zhBrefgPCH#4ik9E6|{Z{g)({S$y%*TT7)Xbj{ocf^6<}buYA^*5r}+|GtCM!hBEa; zYEXYNuAIdc=t+mLOmY}yQ~c^X6@$@AkdEu3z>NrR7s|<-@9VH$*DNQFE^z#_^_3Z` zE*}Xp9b$tKu)47k$xt{lTr!@F%zo4>ML?8e2v=)HoV9_+al)^)%utH9L;A6K@{tcW zGj8#_*`n^O?s*}b`~6wXBB@Z4Qrh|`7|qwGabJSoT*H%H7*7Iial%z{8uZM2NH8^q zQzZKS^cWzpW;A4CJ8LIA3dBFa-84lj)+VOi714-Y%@>6xJ#~%#z$*g%UIqwf#>I=1 z3MfJH?LxRHtr9#4`;%27IrtmvWJmV%CYUN^UHB=RU&@t%Eu7exRU8d$#tQ}x?4S0`d9CzjIgt)n+1UAQO|+mrU%PwfPV}$J&8?;VKMYAO(v&FO!Zp7X;<2%wqf3vwLJ`h)NYC zprS&|YRjK+7AcI#H;9?O;33T8H?(NL6({Rx)~Kag1CLR@lYitRg-0Mi=dO>-B#9l( zWC5T4PA~V?@n#|5<_i>9>JT0r&`lN{FK5y>Eb{f0oG_>PW6!EeS=DIPiQ8kj6fy;# zpBTkdtgYFI^^H@L@;Kt9MN?_$GZ|S6^e1)L+-y$5;f(WT4+3d`{B7P-5MsW z10=yl_GHJS2uBc|BF8TED#z~z%9^ce(o@r7)vqt}b*-k&hTZlVJa{dv;wk25PV>0w zqQxho$92j0HE777oZ*RAEvLV!wE z&j!BY5%n3_rN!n!m(bZEfS1P8N2-Sgx5;eU7>ONfeDJe=9KxR$O(_*4eF2hykcuE>hk>-dK78-F5qZ#< z4*8k~#Q(;nDG~{&xPbIt7gv_ucapRD}$VVz>ibYK?me={wPcY%ad93w%3Sybe5`JJa<XOM@-%8=d=oBZzc%T+9rrQx4JHFK7}cUh zUd|%gu#XI52qo2zx4sd%V&IkZG$?c79@D^7PNMCpH=JzryNlFJAhwGym|0|O^7!_* zyyTI zf0METlfCOhzMYzRniEd@F|EFn%ry3^BxC6xJM)y_o10$) zV>q?9AkkTNnjgsAf>s4cRAQ(Zd&PWQ1Ic3Kh*J7Q;w(L#s-96RR!v3{iIPOOFhpxQ zkonwCc%1Y%P#+|3sZEjgdrj`mDa!(r$nMPPRh2G>e)kQuXiUE5++7(Smuj-Ziu_lr zA6d!LzBVK8G*PJCWDg`-k;9C|Kp1Xo7M;+wQ(_yV-lK-zD3>?YuHAuR`D_(3%%R zbZ3EWQ9mV+U_A40LPY>U{n#l&vV2YXbZbD}l)>5hO-LFe;k~|L)*P_K|gILGm&|sqenJQ;e*Ths;de+?@=FQP1 zr^?Z$5TT+-rivjDXCR3bMw)zR5+r%5%*qkvXW_9|rBLYuOUv>5>Y0?q>PfoLynd4+ zo20N{QZg<>j4DT%A0oRUz(gNIHo4XlG!N~%vD2eFte^Ty=)`H&i zTOWBu6%ts&WIzgrDSfJx@iio<8aJ#}RWh$>S-Bvkv+RZh385!>J7+FX_9t$NPJ7fsX-?mG9t= znm((hhZeo1=Qtk~SvO2`;oPl6D{hxSloFvsLaZFqbDQnQ8$*`5d0b7F4DpXAh*#n& z@Tg3ORMzre6j_xbMNg`*#UF_A6B`gm@JiSimB;ssa8xlH(L_QMxi&sbQ>KbfM)GJo z>x+8aGj{8um2p=c=4X|4=wAGF zaxk5YKEC>$1L4r)=e=idi4sOAW}27~jegG&Q2D?IOTuWJAS94zO^Tdt(;{H-rlHf? z<^W@AE@J;Tq&Q}*;tRGKG4y@w{~>+J|fa%@@wm^e!0| zEJXNJ`j@)#Dyj9k_%m;g4?%ethgHhBV$G0*z86`8_{7=ZB7Q61bh@glF_WpmuS+~e!u9X8g=WmB=pFLa$>z& zPqW$OjAUwL3MZ%i^rQBt@kXiqh)Tj*FvWqO$!RQ}~TbrMnjx!V3_cK!^f zmz>b^bp!r-Lqux^Hir`dCZauQn&XEzkhs*0$v2v{BFtLC-|Qi6n)M{L%CWg^!%q`? zyaY4TGDkAcQYt_`t{u@_Bn3;3IckcZz=W@2{8xZ;iR+1|xi~rVU>*JJc&KSrmbNcrkcq$?>^A>BrhS97w=Q_J2y-%NjrK5Bgi zJ?iPB%yWs<=Zx_uvfK@EdaDljMOAwys*}OI?9menev6oF0~5VplJ_3u^!;G7xn1t! zR1lsN`1ej9XiTbVU*CqZSDF-}DicgM`kArR?DrMa)Wwu;>agsJoT<>nRkzGt+XjQm zBET?fv!1-Ut3UGTHd9HbGhC1uQOi4U{}YpNv1M zCa8Oz_of?(st~-JN+@{3ruTuntV*$FqfO~GJnE)9V+5T& zYeV^+o`9K~wij@H;Ww^WMXuK*%(A9sKn)3{hu}$-!zCWOK=GFo{hi?-B-~eB9EztL z`&IlM$DMZf857ds`5 z2**!?2D+p~-A#^i3Yjbc(4&D$W+Rgr1cg2cMN(67R%CRbdEW;jgNkHUFUj~G zU7o|@#noLTg#q|O(qHjQp2vqrmB7_H`Pe2XN^`^b%)CtX2WPJsD( z%KQmRA$NMc28V@SkYs@f;28*zkxO2Dq_q8}MJ7*+OP0kiCKpr|*ma+#pZTB61XZiu z^kFBOX2^x4RL?rE*Np%P!=ObJ_&qQ*HLnok!mi($mJLvWGOJYtqSeyHu#RT9unN$w zTMQoswW6m!+i^Iyi{)2h;FPv_*wYIz1#?RDiXAWTZ-qwXz8Wv;1a`Wrao62r5UmEdL z_jQrHq6)m%pUN!#nb1P6Tt-1#Sb9X;J417km$=%aV%$qDh+1pS!TmG4o1D>v9*M?4 zY{Hw_1j%PFPy+1MF$sa^4M4#3*y8RtMzWN#UcQ$wq!zyW~nmOqh~mdWzG8v zG4e!0X)W2vPtf})mPSyY$%^*9YmL?luV2^AOS!x%Q8%4$12K02%MzVor^-u7BdXX; z);vL8aXuLFQg}l<#QKP!N{RA7Z{cBqE@KG|vl^A7Y{`q3B7t8D$Sne;eYPV85_alr zLq2Ma_s^xj3)#51S!*h6P?l(Yco1$UD{?32PwEM$zLgAS?)CGN1ZREvI?5dS&e%Uo zuiMp91&umHa~3rp?WD!s)R5fh1St7G*C3%;mz~eCBlm;1>Q_8qU@VnHP`H0Y-q zOVy8wK=f}__ayN`ZmGX1@CLcAT}%J^q!zwZF>Ny>c`|mk`rwCuqNeK8b{O;ZjX_?C z*iN!OGZ%?OEx|?%ky8|N^H(0_SZ*WpouC)ZP%>e>WqtJv7(abd1utuDyzajK z+DXY&S&K`l$1MiOZVNR5uUv^wnxCU!B8On6?0c3di+ht^3D#ckYM4@HtXj%IA$mK$KbNA+p!?U3m`f~rre>*XdJxjN~$@6pc1%Xu+6M_D*1Xq9W# z7;ez02oBTdOfG!?MPx+CM8&0q91`f9jg|)D#%SL7PrRsIWBy2a%XrGpOf3FBccXNl zJY{kX)BPC(CHAFAt#TH3_5N*|3yUGy0VQI`H(l?pBOh1AlGO7hmApR=;%aXek9_!y zn40PRmT9crsR{HX;4$Jn`~<(N!$g!ABltsFDjgi%YP2Dzb;dY0+=!=R2-D#r(!;r* zYUUA!%zuLof?V<})}%H6+ALWKzSr)a1Bf1IziFpvj;@wS;ib@&e>2P;lLvLvpDFLS zfl65wn$#i!4ovJr<@Lqg@d8of<6T-o2U}c(P1T_M-S2M_b7>jOKaU*W*a9}-SFhG^ z&L1tk@nHmoQ&%xk@eAsy~=gIZOqSdm2c-=yPD5{e;=e>R`CjG+tM z6RMs~=8_n^<;x!ts!UT_xj|Ej^>Z<%9oFY~CxB#f>qb)9NNKN9sHqwD&?3xAj`Ug{!mP_ zaHxA-_W^5bKj3WyedSWG`NPOHJXW+OGmX{WccY6R@_rD=XghC7{DBc%9TG@^#YxEh zX#yIo=%@yQuVoIbsdhi+VkSNxk_<4-zhdsLVK4oV8A-GlG_(b4maZ97dk0W|!c5?` zI5{YzB_cf6fYjp&KTx+!sQ>&{Fv;Rd>ho~j&MZ2K>K|E#+q}8%_k!m-2irJK+XwGb zNl3=~c>R7vI>b@2`Y28>lX0WvB;La6W*<12Usd{V=|?R>;l-Hz*&Ii-p;E-0Z$h6! zeSi_uCopkumxtekP4B_;&cAXe&Fjdv%n$5B8T++ESM+LhpPWwOV_WJ^>-+^se3|qb zM*OnU+5{^Wt(vWZM?|d4`pbaX*CNUvEa$qtv)zD4C$az>g^3FpE*+RfB zI`M8RAaUaM481iBXFyR4{9>|_5+U<15k5JPTZno{GHT-D;ALaL&*_(NAe3rY?vv7^ zlrHJa+mNy%1MO`g!XcH2d1H3@z_bW9F!&BuHk^-5Se5^fzvgik7V7W){Jcg%V zOF9aB0!5-73fcZLbH3!!r3Gmis3keuLk3Wq6_x9!*QR+yRPqJxQcwZal3Js@^3{7E zQg$k1-k3>S>uyBfHnYspq^O<}F|IC&sxE$_R2XfZU-_KDSo5t*pLEc_5|dHY9FP(f9zB5kxH%~I6iHscd6(XhDc;xBWDa8rXQhDg;@ zoq~Q2BQ#a)?Jf$L1uC8s4h(ScW!_J~sBHU6S{Bs5{Z^byoAw&5ctpUu{a(O7bOBxTR;k(jGm&5Sckh_#6`zIUAOM0&aZnYF7o$Z`IbX z7Bg@)lA}Ce1kZz1VQsLlIuw^Jz~Wq$d6^QVwdVyrGNZuRR4`u$^K=w=%X6a|KB!2j zl9>+TJ)^DQsqhAotPJd287;o7F4TRi@x7?sgE4u66Y}TOWQa!z7ZeS-Qp&@oR!ENk z-&l10SmAMOe&lE<6B|m^8^}V?Q;9B41fzh3YmlTNHfWV#XOQDAKh08I9AxNTuk|2v zvhkJ<1A`b3_!j1U#-95m?XU$hu+1w|^c^H_H=j{OkS08EuS(T6^PgsPIZZ}o3(7Y0U_{a{WYU*!Op*&`Fhe)VL^NfND z0Xe=EIcx9=6p{%j6kHZl1O!auLWH$Vc=Xam!cCo5V&Q6cBJ1|YaTV(soG|iei+Z*2 z-Sr^#p<`v7QKsmlL)k!;XsLN2*shIqYr25mhP=qrYL%B5!PdSY49hz#)bmntat;T+ z+(SO(nZjn!F97DzUeJX>kO=UGGs~8@nF|H9Z3B|V*eels-uLhexU2()(aMy+@~&R} zT6JYg`OY~5!q*hV_`iP(aC4(h?e!kXugos>Jua7D9;F1kK^2or^zxs}WJ)dg1gnL# z6RbsSE7Z7tiG!<_?uy97o?q+MoXtf~3@IO?rck-*muttdzD~HL95)B98kw1wq?IWm zULq67^N|(V5#WYUO3gBA_wYwE5#{w&@g?-9&^@bZ`CE)D+CMT8fggy0?mk%L2!>G+2P7S-T3cl6B6!8)7J|4#b zLLtc5NcwCD1jzq8vvNsarzHup$9eG&xQW=l+ysUJs5$^S+6Nso^d>fIZZJR1eV z)N&)n@QXh8B?E_i+|0d^VB;n@BUcIR)~(be24mmTF!gp3X@~i!ZZaR^bJ^E6NFqcS zn>F{EUxlEJ7}W1{`vo~pV}cB@Wgv}r48VlO!H$vq8+V}Trd%+KJ1QxzFNcASGl-TA zD*gD1BCJ>T0&->2%lX>5n{E?X?bKmUV?d|P;c8^f!+O*h)uDprTc!F0i zibrH2vg?9RFH)4qJgU;B#M$IS)-xq8jXec!GLhV8#KhJ|SQh}fgb$mkIUtVSUg2Ywv{x!cNOWJ%tv<3(s*=IjP*>{+;yMUPJB~q$Mr7AGdy-2Rob2o74x}E zra&%QIgwGD9^ZfMVnYF>XZ@%-&h<+fNrH3!oW4La#CXQ=Z+{AG1dim|7fG`E|&PiTk>V@94@%K zh_61J3`J}su(Q8omSx}7%=>R~9Dg(p z1e2~~EcYRK{8y!XmQitaq3mL*?B(#b6V2Sw(gpN`rILS>tD_t4 zM>%rq^|$MtVxDo?%h|QL@p;04Eu67SZCQ6o-G+rn6EB*7y3^tTsJblB*=s7wG`e4| z?8!M#xd>tuJ8Zp#%&k{^55hT-S=L>DzxpDGq7(Bz2b)Ir8?Q{dy$s6spQFuENl;Rn`Nk-IyIy4j{ajfe$?uW$Y+UV4T{VH41> zM`L5ggp;QAVr;uGW~^^TtyuN zH~6(?ac4HT=a2`|Uyn`cdlNxG6wpz^*@5qr?yMNUayLpiHS(W#O+HgF4Ga%2Lg^g= z291>7nPKJYhCsp6qLcXAnrH3>6hfAKzxL7;>Wauru&{W=E7yr#O1W4%4yIPB5g)mD zTSG*8X6St20n0u9+X@h0+wYv>DX`Y7;NVNwSv+w_K^cAri>T=?wLbtRL>byEaqkpF_L=4Rpt6T|L1f=sNIt7eSg-!l`D6rz&vW#6u6jqb z;W0$NY#*`28&EZRvv*`F%Get)f2KlAJIu} zlpRQM2zq`wnIOAb0kcg#UH zrn8i#I7W`Hrw63J8~ht;gO{!COhm4~3=73J(;Q|77m{(05JXV0B@MIfIAXuRvTG_) z+WMqdaoQyE2TMC@>nd)S?AJ!PFc#pPWdJb@J;8@3V|>CX__=yOUcxNJcrGLO95A== z7^Su@Xe*N9)R1+>)@ec)4R(r0{qFuVDi3SLb;rT=lV`ENWW@20Ao?cc7pX_@gIA)N zE$o5!rEP_r&c1NKFMl;uI)=^x%9FmAb>ek3`L+?US9HnT1;orFBt1ntL;0oXPd-NQ zS-VVf(cV?fOqD;9G~giOykKBQuqE1>j6mV)f^g5WtmigkJNuEWQnXLDwK-h^!S_GlzhF7>3h^)>FQ_&h%H&UOjS7hLgYZ%%(l_%u5aXFSUoluMoD-E1m)4;1h0B*-e-;U;E5#d`})`C9md%u&Gt(ubu+8 zV7Qij9$BBs%{qz86K4DRbj+6jQFBRZ%@rY;+#grN$ni-g~+~FGod)K*r7t#&IUV%g5|5s z*U7M_ME1|nXxW!#?a35fx-+|^S`4oxx)0cq!xe13@x3PT4HDMPMnjFAICXUla`Od< z+0TQ8&+B&yGUYSe=aB`BR6Y^I#A22+J5T$+dnyHdwUG(4gC`HhdeFBbr%wA!<6!jGITC zTKKd@NI0V@{NNNg_d9=5*XkqLA0cL-iB-xJQpO%MkTSiPPG)KWg%3?hM2%gxgkm2W zeYyEjyx9sz6+L;_M!Q-)Pgg}TI-dT+CxBA+!z{rDa|1Ow&h!zt@~?32PH67SNYlkE zo)8Ppj2wNVyw3DhFC#Z>&-QW<$HF!@`%xe2qf;`}d?rNYOKfF{=5@zaI7N1s9dt?z zY^g2inrD1uF+*)^RpZY%uH77q@T>s9N0C~PL*UTUr|fS1Vk|&t$%X7AF}nqU(JDh~ z28*M7>3g~z;S5|1+~H^yL^1eIRGXu8(0R#<*CGX^Y!jRUB=Q;X`^XUo!(XY3HFk3Z z(n$|O=I=fZ;j_?543ae<({81DL!;XgN|XB5c3HEVfS0p5R?(QXWfESb^5Qg7P7@eo zL&9|F(yPo5b4{=$|FcA7`3*F>myiCEdrRWeZx?3TTonkl~szh5v^S){&Ub(R) z$+~hqx{D^--8M6SJ6@HNFLg+FG9E?Yz>8{;9r(=CRBxre(qBB3GEfkDkJ~Iwv02{CkQu7vS&?H}mY4=^{@~v9fWGY>)uNE=4oq zF=CedzmTlY43R9B;1sd}fZ22T4*+jl;7?e0m2{$e8e(d*9_tyawRw{jh(YAGC@PsZ zX*1Uk97GiDQ3P4h#b$%tUL?hRBcZ?(ix=*CL1FWtCl< z46$=xl8A!_SLnWcpe4v|5P!v*4MK~wWj9Ko7WOyhJWGA+UjhNvm9RP3nxd7JAE zdNj<84!feMBl`p5m5bz}B-x_zWKtU-yWt>tJb((q^mYq%a*zhJ1s=h$2?Q#0#mW=+ za$M=kt)$#@*CCWKQUpBbD!<3kLDu*Syy0fW@Kftge77`7-;{BepRbO-4lCwTpMFP_ z-1|dh4$7EW&jdV#Esz6O@I16rdqEN8OJB-6KA>L56gmDDHWy(?TBJMmtZD)x2AYgi z5cI>f@n5WxDRA}sHT4zHQ?%ye2_6kz5>j|zt$zIE?{Kq5r1qat{b2KGW>{$YQh zox@LPS?%sZIx$;cY)sYZcP|jUd^M!w)YAl?z*MKp0No#x_Le{PwQ#YHp;E6ST|pSj z*hmJxFlPb3qlh;}-a#1*vsX}4SL38X9IObkxgVo-Djq2%vKqhG`La~x2m>9-4SyJt zm+OeqC`l4BPybn*$8=7RB;un{O`Oc@J;W#uX}(qBiw-wd{KC&m)TOMy%d$(kDNa4U z1?B10WA&Q1v-HyJqeJw7Jq#SmJ6owAc*Sh*Xses;kLuI&R*GLcC4w)X(Yj=)?s)! z+Ec3=ffRmIW26xl{4)f}&n?$)Ld)DLby{kFCZ=&EAIxfq_@n$W9`t!69SqF0(u{rF z>~o!yQqP!%`uJrvN{_^jk0CM+*KMzf#c=c(R;`j*aoxGT#yNcJDr8SSizN>7m7!7F z&JqcY5emVYPJ2QkPhNuIw{i21NgBDs4g)Dx8#!$JQ$R4K60_6ygo-(X?s zFpqe^h;R@ri=67;@b1Ux@8z5A@8JS`Cq1cM&zOK1@_D9o*zZXgk6U*OdZ|aoy!C0w z^hjW#)V_*E7o*}*qGNGIre#K7sIB9VbbPj@!@w|nI{bg|0q7>CQkPE%X1ByIF8CDB z(intXO7Eku+PAlCp=yh-DX_XeDL9}g*CC426+GTPczbW3vHmk-zthSFb+CXsJ^P_| z&i)TDgK%4ko|&)ShFm184u2T#on*^t~EV!6!R5hZ44c7?MUw1In>x*>$dN5c1o+OjbfEvj#?6J zKG@sB)BK9`A_yqzlKWVThfK67Qa}=eHq1M~6AT2f8yiTwVl_|+=0q@Y02ycEXEff& z_CNVD?2lk^RoaEAgb2>g@$d^!x7xKRy9m!8r89Z|Ficl%F3p*zL zaMBI>Ij|Ik8+c5yh~5DXPHjFR5<^sWg1NRDes_POD(UBd|IBiQ%2wE5#pm&)%0A@5 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 Txu(aj8=LPRZERkz0G|H=1e?*) literal 0 HcmV?d00001 diff --git a/sound/misc/compiler-stage1.ogg b/sound/misc/compiler-stage1.ogg new file mode 100755 index 0000000000000000000000000000000000000000..997268b2f5ba544ce14324cc22b2da3329ba50aa GIT binary patch literal 8832 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 ST+;VRyVelI7#9-#Q~EzjOBtI0 literal 0 HcmV?d00001 diff --git a/sound/misc/compiler-stage2.ogg b/sound/misc/compiler-stage2.ogg new file mode 100755 index 0000000000000000000000000000000000000000..66e8e523485e65d41771822d51c44cdf180c5bb2 GIT binary patch literal 9269 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 OujD)ddE3#yZ?5!9=_QqCyg@$aAP-Lkj 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 T_x$70a06+Frb=9qQI7ut2?c[2]:void 0,p=Math.min((void 0===l?o:i(l,o))-u,o-s),f=1;for(s>u&&u+p>s&&(f=-1,u+=p-1,s+=p-1);p-- >0;)u in n?n[s]=n[u]:delete n[s],s+=f,u+=f;return n}},{76:76,79:79,80:80}],6:[function(t,e,n){"use strict";var r=t(80),i=t(76),a=t(79);e.exports=[].fill||function(t){for(var e=r(this),n=a(e.length),o=arguments,s=o.length,u=i(s>1?o[1]:void 0,n),c=s>2?o[2]:void 0,l=void 0===c?n:i(c,n);l>u;)e[u++]=t;return e}},{76:76,79:79,80:80}],7:[function(t,e,n){var r=t(78),i=t(79),a=t(76);e.exports=function(t){return function(e,n,o){var s,u=r(e),c=i(u.length),l=a(o,c);if(t&&n!=n){for(;c>l;)if(s=u[l++],s!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l;return!t&&-1}}},{76:76,78:78,79:79}],8:[function(t,e,n){var r=t(17),i=t(34),a=t(80),o=t(79),s=t(9);e.exports=function(t){var e=1==t,n=2==t,u=3==t,c=4==t,l=6==t,p=5==t||l;return function(f,d,h){for(var m,v,g=a(f),y=i(g),b=r(d,h,3),x=o(y.length),w=0,_=e?s(f,x):n?s(f,0):void 0;x>w;w++)if((p||w in y)&&(m=y[w],v=b(m,w,g),t))if(e)_[w]=v;else if(v)switch(t){case 3:return!0;case 5:return m;case 6:return w;case 2:_.push(m)}else if(c)return!1;return l?-1:u||c?c:_}}},{17:17,34:34,79:79,80:80,9:9}],9:[function(t,e,n){var r=t(38),i=t(36),a=t(83)("species");e.exports=function(t,e){var n;return i(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!i(n.prototype)||(n=void 0),r(n)&&(n=n[a],null===n&&(n=void 0))),new(void 0===n?Array:n)(e)}},{36:36,38:38,83:83}],10:[function(t,e,n){var r=t(11),i=t(83)("toStringTag"),a="Arguments"==r(function(){return arguments}());e.exports=function(t){var e,n,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=(e=Object(t))[i])?n:a?r(e):"Object"==(o=r(e))&&"function"==typeof e.callee?"Arguments":o}},{11:11,83:83}],11:[function(t,e,n){var r={}.toString;e.exports=function(t){return r.call(t).slice(8,-1)}},{}],12:[function(t,e,n){"use strict";var r=t(46),i=t(31),a=t(60),o=t(17),s=t(69),u=t(18),c=t(27),l=t(42),p=t(44),f=t(82)("id"),d=t(30),h=t(38),m=t(65),v=t(19),g=Object.isExtensible||h,y=v?"_s":"size",b=0,x=function(t,e){if(!h(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!d(t,f)){if(!g(t))return"F";if(!e)return"E";i(t,f,++b)}return"O"+t[f]},w=function(t,e){var n,r=x(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};e.exports={getConstructor:function(t,e,n,i){var l=t(function(t,a){s(t,l,e),t._i=r.create(null),t._f=void 0,t._l=void 0,t[y]=0,void 0!=a&&c(a,n,t[i],t)});return a(l.prototype,{clear:function(){for(var t=this,e=t._i,n=t._f;n;n=n.n)n.r=!0,n.p&&(n.p=n.p.n=void 0),delete e[n.i];t._f=t._l=void 0,t[y]=0},"delete":function(t){var e=this,n=w(e,t);if(n){var r=n.n,i=n.p;delete e._i[n.i],n.r=!0,i&&(i.n=r),r&&(r.p=i),e._f==n&&(e._f=r),e._l==n&&(e._l=i),e[y]--}return!!n},forEach:function(t){for(var e,n=o(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.n:this._f;)for(n(e.v,e.k,this);e&&e.r;)e=e.p},has:function(t){return!!w(this,t)}}),v&&r.setDesc(l.prototype,"size",{get:function(){return u(this[y])}}),l},def:function(t,e,n){var r,i,a=w(t,e);return a?a.v=n:(t._l=a={i:i=x(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=a),r&&(r.n=a),t[y]++,"F"!==i&&(t._i[i]=a)),t},getEntry:w,setStrong:function(t,e,n){l(t,e,function(t,e){this._t=t,this._k=e,this._l=void 0},function(){for(var t=this,e=t._k,n=t._l;n&&n.r;)n=n.p;return t._t&&(t._l=n=n?n.n:t._t._f)?"keys"==e?p(0,n.k):"values"==e?p(0,n.v):p(0,[n.k,n.v]):(t._t=void 0,p(1))},n?"entries":"values",!n,!0),m(e)}}},{17:17,18:18,19:19,27:27,30:30,31:31,38:38,42:42,44:44,46:46,60:60,65:65,69:69,82:82}],13:[function(t,e,n){var r=t(27),i=t(10);e.exports=function(t){return function(){if(i(this)!=t)throw TypeError(t+"#toJSON isn't generic");var e=[];return r(this,!1,e.push,e),e}}},{10:10,27:27}],14:[function(t,e,n){"use strict";var r=t(31),i=t(60),a=t(4),o=t(38),s=t(69),u=t(27),c=t(8),l=t(30),p=t(82)("weak"),f=Object.isExtensible||o,d=c(5),h=c(6),m=0,v=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},y=function(t,e){return d(t.a,function(t){return t[0]===e})};g.prototype={get:function(t){var e=y(this,t);return e?e[1]:void 0},has:function(t){return!!y(this,t)},set:function(t,e){var n=y(this,t);n?n[1]=e:this.a.push([t,e])},"delete":function(t){var e=h(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},e.exports={getConstructor:function(t,e,n,r){var a=t(function(t,i){s(t,a,e),t._i=m++,t._l=void 0,void 0!=i&&u(i,n,t[r],t)});return i(a.prototype,{"delete":function(t){return o(t)?f(t)?l(t,p)&&l(t[p],this._i)&&delete t[p][this._i]:v(this)["delete"](t):!1},has:function(t){return o(t)?f(t)?l(t,p)&&l(t[p],this._i):v(this).has(t):!1}}),a},def:function(t,e,n){return f(a(e))?(l(e,p)||r(e,p,{}),e[p][t._i]=n):v(t).set(e,n),t},frozenStore:v,WEAK:p}},{27:27,30:30,31:31,38:38,4:4,60:60,69:69,8:8,82:82}],15:[function(t,e,n){"use strict";var r=t(29),i=t(22),a=t(61),o=t(60),s=t(27),u=t(69),c=t(38),l=t(24),p=t(43),f=t(66);e.exports=function(t,e,n,d,h,m){var v=r[t],g=v,y=h?"set":"add",b=g&&g.prototype,x={},w=function(t){var e=b[t];a(b,t,"delete"==t?function(t){return m&&!c(t)?!1:e.call(this,0===t?0:t)}:"has"==t?function(t){return m&&!c(t)?!1:e.call(this,0===t?0:t)}:"get"==t?function(t){return m&&!c(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof g&&(m||b.forEach&&!l(function(){(new g).entries().next()}))){var _,k=new g,E=k[y](m?{}:-0,1)!=k,S=l(function(){k.has(1)}),O=p(function(t){new g(t)});O||(g=e(function(e,n){u(e,g,t);var r=new v;return void 0!=n&&s(n,h,r[y],r),r}),g.prototype=b,b.constructor=g),m||k.forEach(function(t,e){_=1/e===-(1/0)}),(S||_)&&(w("delete"),w("has"),h&&w("get")),(_||E)&&w(y),m&&b.clear&&delete b.clear}else g=d.getConstructor(e,t,h,y),o(g.prototype,n);return f(g,t),x[t]=g,i(i.G+i.W+i.F*(g!=v),x),m||d.setStrong(g,t,h),g}},{22:22,24:24,27:27,29:29,38:38,43:43,60:60,61:61,66:66,69:69}],16:[function(t,e,n){var r=e.exports={version:"1.2.6"};"number"==typeof __e&&(__e=r)},{}],17:[function(t,e,n){var r=t(2);e.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},{2:2}],18:[function(t,e,n){e.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},{}],19:[function(t,e,n){e.exports=!t(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{24:24}],20:[function(t,e,n){var r=t(38),i=t(29).document,a=r(i)&&r(i.createElement);e.exports=function(t){return a?i.createElement(t):{}}},{29:29,38:38}],21:[function(t,e,n){var r=t(46);e.exports=function(t){var e=r.getKeys(t),n=r.getSymbols;if(n)for(var i,a=n(t),o=r.isEnum,s=0;a.length>s;)o.call(t,i=a[s++])&&e.push(i);return e}},{46:46}],22:[function(t,e,n){var r=t(29),i=t(16),a=t(31),o=t(61),s=t(17),u="prototype",c=function(t,e,n){var l,p,f,d,h=t&c.F,m=t&c.G,v=t&c.S,g=t&c.P,y=t&c.B,b=m?r:v?r[e]||(r[e]={}):(r[e]||{})[u],x=m?i:i[e]||(i[e]={}),w=x[u]||(x[u]={});m&&(n=e);for(l in n)p=!h&&b&&l in b,f=(p?b:n)[l],d=y&&p?s(f,r):g&&"function"==typeof f?s(Function.call,f):f,b&&!p&&o(b,l,f),x[l]!=f&&a(x,l,d),g&&w[l]!=f&&(w[l]=f)};r.core=i,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,e.exports=c},{16:16,17:17,29:29,31:31,61:61}],23:[function(t,e,n){var r=t(83)("match");e.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(i){}}return!0}},{83:83}],24:[function(t,e,n){e.exports=function(t){try{return!!t()}catch(e){return!0}}},{}],25:[function(t,e,n){"use strict";var r=t(31),i=t(61),a=t(24),o=t(18),s=t(83);e.exports=function(t,e,n){var u=s(t),c=""[t];a(function(){var e={};return e[u]=function(){return 7},7!=""[t](e)})&&(i(String.prototype,t,n(o,u,c)),r(RegExp.prototype,u,2==e?function(t,e){return c.call(t,this,e)}:function(t){return c.call(t,this)}))}},{18:18,24:24,31:31,61:61,83:83}],26:[function(t,e,n){"use strict";var r=t(4);e.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},{4:4}],27:[function(t,e,n){var r=t(17),i=t(40),a=t(35),o=t(4),s=t(79),u=t(84);e.exports=function(t,e,n,c){var l,p,f,d=u(t),h=r(n,c,e?2:1),m=0;if("function"!=typeof d)throw TypeError(t+" is not iterable!");if(a(d))for(l=s(t.length);l>m;m++)e?h(o(p=t[m])[0],p[1]):h(t[m]);else for(f=d.call(t);!(p=f.next()).done;)i(f,h,p.value,e)}},{17:17,35:35,4:4,40:40,79:79,84:84}],28:[function(t,e,n){var r=t(78),i=t(46).getNames,a={}.toString,o="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return i(t)}catch(e){return o.slice()}};e.exports.get=function(t){return o&&"[object Window]"==a.call(t)?s(t):i(r(t))}},{46:46,78:78}],29:[function(t,e,n){var r=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},{}],30:[function(t,e,n){var r={}.hasOwnProperty;e.exports=function(t,e){return r.call(t,e)}},{}],31:[function(t,e,n){var r=t(46),i=t(59);e.exports=t(19)?function(t,e,n){return r.setDesc(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},{19:19,46:46,59:59}],32:[function(t,e,n){e.exports=t(29).document&&document.documentElement},{29:29}],33:[function(t,e,n){e.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},{}],34:[function(t,e,n){var r=t(11);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},{11:11}],35:[function(t,e,n){var r=t(45),i=t(83)("iterator"),a=Array.prototype;e.exports=function(t){return void 0!==t&&(r.Array===t||a[i]===t)}},{45:45,83:83}],36:[function(t,e,n){var r=t(11);e.exports=Array.isArray||function(t){return"Array"==r(t)}},{11:11}],37:[function(t,e,n){var r=t(38),i=Math.floor;e.exports=function(t){return!r(t)&&isFinite(t)&&i(t)===t}},{38:38}],38:[function(t,e,n){e.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},{}],39:[function(t,e,n){var r=t(38),i=t(11),a=t(83)("match");e.exports=function(t){var e;return r(t)&&(void 0!==(e=t[a])?!!e:"RegExp"==i(t))}},{11:11,38:38,83:83}],40:[function(t,e,n){var r=t(4);e.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(a){var o=t["return"];throw void 0!==o&&r(o.call(t)),a}}},{4:4}],41:[function(t,e,n){"use strict";var r=t(46),i=t(59),a=t(66),o={};t(31)(o,t(83)("iterator"),function(){return this}),e.exports=function(t,e,n){t.prototype=r.create(o,{next:i(1,n)}),a(t,e+" Iterator")}},{31:31,46:46,59:59,66:66,83:83}],42:[function(t,e,n){"use strict";var r=t(48),i=t(22),a=t(61),o=t(31),s=t(30),u=t(45),c=t(41),l=t(66),p=t(46).getProto,f=t(83)("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",m="keys",v="values",g=function(){return this};e.exports=function(t,e,n,y,b,x,w){c(n,e,y);var _,k,E=function(t){if(!d&&t in A)return A[t];switch(t){case m:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",O=b==v,C=!1,A=t.prototype,P=A[f]||A[h]||b&&A[b],T=P||E(b);if(P){var j=p(T.call(new t));l(j,S,!0),!r&&s(A,h)&&o(j,f,g),O&&P.name!==v&&(C=!0,T=function(){return P.call(this)})}if(r&&!w||!d&&!C&&A[f]||o(A,f,T),u[e]=T,u[S]=g,b)if(_={values:O?T:E(v),keys:x?T:E(m),entries:O?E("entries"):T},w)for(k in _)k in A||a(A,k,_[k]);else i(i.P+i.F*(d||C),e,_);return _}},{22:22,30:30,31:31,41:41,45:45,46:46,48:48,61:61,66:66,83:83}],43:[function(t,e,n){var r=t(83)("iterator"),i=!1;try{var a=[7][r]();a["return"]=function(){i=!0},Array.from(a,function(){throw 2})}catch(o){}e.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var a=[7],o=a[r]();o.next=function(){n=!0},a[r]=function(){return o},t(a)}catch(s){}return n}},{83:83}],44:[function(t,e,n){e.exports=function(t,e){return{value:e,done:!!t}}},{}],45:[function(t,e,n){e.exports={}},{}],46:[function(t,e,n){var r=Object;e.exports={create:r.create,getProto:r.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:r.getOwnPropertyDescriptor,setDesc:r.defineProperty,setDescs:r.defineProperties,getKeys:r.keys,getNames:r.getOwnPropertyNames,getSymbols:r.getOwnPropertySymbols,each:[].forEach}},{}],47:[function(t,e,n){var r=t(46),i=t(78);e.exports=function(t,e){for(var n,a=i(t),o=r.getKeys(a),s=o.length,u=0;s>u;)if(a[n=o[u++]]===e)return n}},{46:46,78:78}],48:[function(t,e,n){e.exports=!1},{}],49:[function(t,e,n){e.exports=Math.expm1||function(t){return 0==(t=+t)?t:t>-1e-6&&1e-6>t?t+t*t/2:Math.exp(t)-1}},{}],50:[function(t,e,n){e.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&1e-8>t?t-t*t/2:Math.log(1+t)}},{}],51:[function(t,e,n){e.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:0>t?-1:1}},{}],52:[function(t,e,n){var r,i,a,o=t(29),s=t(75).set,u=o.MutationObserver||o.WebKitMutationObserver,c=o.process,l=o.Promise,p="process"==t(11)(c),f=function(){var t,e,n;for(p&&(t=c.domain)&&(c.domain=null,t.exit());r;)e=r.domain,n=r.fn,e&&e.enter(),n(),e&&e.exit(),r=r.next;i=void 0,t&&t.enter()};if(p)a=function(){c.nextTick(f)};else if(u){var d=1,h=document.createTextNode("");new u(f).observe(h,{characterData:!0}),a=function(){h.data=d=-d}}else a=l&&l.resolve?function(){l.resolve().then(f)}:function(){s.call(o,f)};e.exports=function(t){var e={fn:t,next:void 0,domain:p&&c.domain};i&&(i.next=e),r||(r=e,a()),i=e}},{11:11,29:29,75:75}],53:[function(t,e,n){var r=t(46),i=t(80),a=t(34);e.exports=t(24)(function(){var t=Object.assign,e={},n={},r=Symbol(),i="abcdefghijklmnopqrst";return e[r]=7,i.split("").forEach(function(t){n[t]=t}),7!=t({},e)[r]||Object.keys(t({},n)).join("")!=i})?function(t,e){for(var n=i(t),o=arguments,s=o.length,u=1,c=r.getKeys,l=r.getSymbols,p=r.isEnum;s>u;)for(var f,d=a(o[u++]),h=l?c(d).concat(l(d)):c(d),m=h.length,v=0;m>v;)p.call(d,f=h[v++])&&(n[f]=d[f]);return n}:Object.assign},{24:24,34:34,46:46,80:80}],54:[function(t,e,n){var r=t(22),i=t(16),a=t(24);e.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],o={};o[t]=e(n),r(r.S+r.F*a(function(){n(1)}),"Object",o)}},{16:16,22:22,24:24}],55:[function(t,e,n){var r=t(46),i=t(78),a=r.isEnum;e.exports=function(t){return function(e){for(var n,o=i(e),s=r.getKeys(o),u=s.length,c=0,l=[];u>c;)a.call(o,n=s[c++])&&l.push(t?[n,o[n]]:o[n]);return l}}},{46:46,78:78}],56:[function(t,e,n){var r=t(46),i=t(4),a=t(29).Reflect;e.exports=a&&a.ownKeys||function(t){var e=r.getNames(i(t)),n=r.getSymbols;return n?e.concat(n(t)):e}},{29:29,4:4,46:46}],57:[function(t,e,n){"use strict";var r=t(58),i=t(33),a=t(2);e.exports=function(){for(var t=a(this),e=arguments.length,n=Array(e),o=0,s=r._,u=!1;e>o;)(n[o]=arguments[o++])===s&&(u=!0);return function(){var r,a=this,o=arguments,c=o.length,l=0,p=0;if(!u&&!c)return i(t,n,a);if(r=n.slice(),u)for(;e>l;l++)r[l]===s&&(r[l]=o[p++]);for(;c>p;)r.push(o[p++]);return i(t,r,a)}}},{2:2,33:33,58:58}],58:[function(t,e,n){e.exports=t(29)},{29:29}],59:[function(t,e,n){e.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},{}],60:[function(t,e,n){var r=t(61);e.exports=function(t,e){for(var n in e)r(t,n,e[n]);return t}},{61:61}],61:[function(t,e,n){var r=t(29),i=t(31),a=t(82)("src"),o="toString",s=Function[o],u=(""+s).split(o);t(16).inspectSource=function(t){return s.call(t)},(e.exports=function(t,e,n,o){"function"==typeof n&&(n.hasOwnProperty(a)||i(n,a,t[e]?""+t[e]:u.join(e+"")),n.hasOwnProperty("name")||i(n,"name",e)),t===r?t[e]=n:(o||delete t[e],i(t,e,n))})(Function.prototype,o,function(){return"function"==typeof this&&this[a]||s.call(this)})},{16:16,29:29,31:31,82:82}],62:[function(t,e,n){e.exports=function(t,e){var n=e===Object(e)?function(t){return e[t]}:e;return function(e){return(e+"").replace(t,n)}}},{}],63:[function(t,e,n){e.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},{}],64:[function(t,e,n){var r=t(46).getDesc,i=t(38),a=t(4),o=function(t,e){if(a(t),!i(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,n,i){try{i=t(17)(Function.call,r(Object.prototype,"__proto__").set,2),i(e,[]),n=!(e instanceof Array)}catch(a){n=!0}return function(t,e){return o(t,e),n?t.__proto__=e:i(t,e),t}}({},!1):void 0),check:o}},{17:17,38:38,4:4,46:46}],65:[function(t,e,n){"use strict";var r=t(29),i=t(46),a=t(19),o=t(83)("species");e.exports=function(t){var e=r[t];a&&e&&!e[o]&&i.setDesc(e,o,{configurable:!0,get:function(){return this}})}},{19:19,29:29,46:46,83:83}],66:[function(t,e,n){var r=t(46).setDesc,i=t(30),a=t(83)("toStringTag");e.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,a)&&r(t,a,{configurable:!0,value:e})}},{30:30,46:46,83:83}],67:[function(t,e,n){var r=t(29),i="__core-js_shared__",a=r[i]||(r[i]={});e.exports=function(t){return a[t]||(a[t]={})}},{29:29}],68:[function(t,e,n){var r=t(4),i=t(2),a=t(83)("species");e.exports=function(t,e){var n,o=r(t).constructor;return void 0===o||void 0==(n=r(o)[a])?e:i(n)}},{2:2,4:4,83:83}],69:[function(t,e,n){e.exports=function(t,e,n){if(!(t instanceof e))throw TypeError(n+": use the 'new' operator!");return t}},{}],70:[function(t,e,n){var r=t(77),i=t(18);e.exports=function(t){return function(e,n){var a,o,s=i(e)+"",u=r(n),c=s.length;return 0>u||u>=c?t?"":void 0:(a=s.charCodeAt(u),55296>a||a>56319||u+1===c||(o=s.charCodeAt(u+1))<56320||o>57343?t?s.charAt(u):a:t?s.slice(u,u+2):(a-55296<<10)+(o-56320)+65536)}}},{18:18,77:77}],71:[function(t,e,n){var r=t(39),i=t(18);e.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return i(t)+""}},{18:18,39:39}],72:[function(t,e,n){var r=t(79),i=t(73),a=t(18);e.exports=function(t,e,n,o){var s=a(t)+"",u=s.length,c=void 0===n?" ":n+"",l=r(e);if(u>=l)return s;""==c&&(c=" ");var p=l-u,f=i.call(c,Math.ceil(p/c.length));return f.length>p&&(f=f.slice(0,p)),o?f+s:s+f}},{18:18,73:73,79:79}],73:[function(t,e,n){"use strict";var r=t(77),i=t(18);e.exports=function(t){var e=i(this)+"",n="",a=r(t);if(0>a||a==1/0)throw RangeError("Count can't be negative");for(;a>0;(a>>>=1)&&(e+=e))1&a&&(n+=e);return n}},{18:18,77:77}],74:[function(t,e,n){var r=t(22),i=t(18),a=t(24),o=" \n\x0B\f\r   ᠎              \u2028\u2029\ufeff",s="["+o+"]",u="​…",c=RegExp("^"+s+s+"*"),l=RegExp(s+s+"*$"),p=function(t,e){var n={};n[t]=e(f),r(r.P+r.F*a(function(){return!!o[t]()||u[t]()!=u}),"String",n)},f=p.trim=function(t,e){return t=i(t)+"",1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(l,"")),t};e.exports=p},{18:18,22:22,24:24}],75:[function(t,e,n){var r,i,a,o=t(17),s=t(33),u=t(32),c=t(20),l=t(29),p=l.process,f=l.setImmediate,d=l.clearImmediate,h=l.MessageChannel,m=0,v={},g="onreadystatechange",y=function(){var t=+this;if(v.hasOwnProperty(t)){var e=v[t];delete v[t],e()}},b=function(t){y.call(t.data)};f&&d||(f=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return v[++m]=function(){s("function"==typeof t?t:Function(t),e)},r(m),m},d=function(t){delete v[t]},"process"==t(11)(p)?r=function(t){p.nextTick(o(y,t,1))}:h?(i=new h,a=i.port2,i.port1.onmessage=b,r=o(a.postMessage,a,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(t){l.postMessage(t+"","*")},l.addEventListener("message",b,!1)):r=g in c("script")?function(t){u.appendChild(c("script"))[g]=function(){u.removeChild(this),y.call(t)}}:function(t){setTimeout(o(y,t,1),0)}),e.exports={set:f,clear:d}},{11:11,17:17,20:20,29:29,32:32,33:33}],76:[function(t,e,n){var r=t(77),i=Math.max,a=Math.min;e.exports=function(t,e){return t=r(t),0>t?i(t+e,0):a(t,e)}},{77:77}],77:[function(t,e,n){var r=Math.ceil,i=Math.floor;e.exports=function(t){return isNaN(t=+t)?0:(t>0?i:r)(t)}},{}],78:[function(t,e,n){var r=t(34),i=t(18);e.exports=function(t){return r(i(t))}},{18:18,34:34}],79:[function(t,e,n){var r=t(77),i=Math.min;e.exports=function(t){return t>0?i(r(t),9007199254740991):0}},{77:77}],80:[function(t,e,n){var r=t(18);e.exports=function(t){return Object(r(t))}},{18:18}],81:[function(t,e,n){var r=t(38);e.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},{38:38}],82:[function(t,e,n){var r=0,i=Math.random();e.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+i).toString(36))}},{}],83:[function(t,e,n){var r=t(67)("wks"),i=t(82),a=t(29).Symbol;e.exports=function(t){return r[t]||(r[t]=a&&a[t]||(a||i)("Symbol."+t))}},{29:29,67:67,82:82}],84:[function(t,e,n){var r=t(10),i=t(83)("iterator"),a=t(45);e.exports=t(16).getIteratorMethod=function(t){return void 0!=t?t[i]||t["@@iterator"]||a[r(t)]:void 0}},{10:10,16:16,45:45,83:83}],85:[function(t,e,n){"use strict";var r,i=t(46),a=t(22),o=t(19),s=t(59),u=t(32),c=t(20),l=t(30),p=t(11),f=t(33),d=t(24),h=t(4),m=t(2),v=t(38),g=t(80),y=t(78),b=t(77),x=t(76),w=t(79),_=t(34),k=t(82)("__proto__"),E=t(8),S=t(7)(!1),O=Object.prototype,C=Array.prototype,A=C.slice,P=C.join,T=i.setDesc,j=i.getDesc,M=i.setDescs,L={};o||(r=!d(function(){return 7!=T(c("div"),"a",{get:function(){return 7}}).a}),i.setDesc=function(t,e,n){if(r)try{return T(t,e,n)}catch(i){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(h(t)[e]=n.value),t},i.getDesc=function(t,e){if(r)try{return j(t,e)}catch(n){}return l(t,e)?s(!O.propertyIsEnumerable.call(t,e),t[e]):void 0},i.setDescs=M=function(t,e){h(t);for(var n,r=i.getKeys(e),a=r.length,o=0;a>o;)i.setDesc(t,n=r[o++],e[n]);return t}),a(a.S+a.F*!o,"Object",{getOwnPropertyDescriptor:i.getDesc,defineProperty:i.setDesc,defineProperties:M});var F="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),N=F.concat("length","prototype"),R=F.length,D=function(){var t,e=c("iframe"),n=R,r=">";for(e.style.display="none",u.appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("