diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index dffbfccbf5a..3be13fd3d97 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -1050,7 +1050,7 @@ "auj" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/camera/autoname{dir = 4; network = list("SS13")},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "auk" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aul" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/light/small{dir = 4},/obj/item/device/radio/intercom{frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aum" = (/obj/machinery/door/airlock/maintenance{icon = 'icons/obj/doors/Doorint.dmi'; name = "Brig Emergency Storage"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/security/brig) +"aum" = (/obj/machinery/door/airlock/maintenance{icon = 'icons/obj/doors/doorint.dmi'; name = "Brig Emergency Storage"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/security/brig) "aun" = (/obj/machinery/space_heater,/turf/simulated/floor/plasteel,/area/security/podbay) "auo" = (/obj/machinery/light{dir = 1; in_use = 1},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/maintenance/starboard) "aup" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) @@ -4166,7 +4166,7 @@ "bCf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge) "bCg" = (/obj/machinery/hologram/holopad,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge) "bCh" = (/obj/machinery/camera{c_tag = "Council Chamber"; dir = 2; network = list("SS13")},/obj/machinery/light{dir = 1},/obj/machinery/ai_status_display{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge) -"bCi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/account_database,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 250; oxygen = 0; temperature = 0},/area/bridge) +"bCi" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/doorint.dmi'; name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/starboard) "bCj" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light_switch{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge) "bCk" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge) "bCl" = (/obj/item/weapon/hand_labeler,/obj/item/stack/packageWrap,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/woodentable,/obj/item/device/eftpos,/turf/simulated/floor/wood,/area/crew_quarters/heads) @@ -5049,7 +5049,7 @@ "bTe" = (/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/light/small{dir = 8},/obj/machinery/camera{c_tag = "MiniSat Exterior Aft-Starboard"; dir = 4; network = list("MiniSat")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/construction/hallway{name = "\improper MiniSat Exterior"}) "bTf" = (/obj/structure/table/reinforced,/obj/item/device/flashlight,/obj/item/device/radio,/obj/machinery/camera{c_tag = "Engineering Equipment East"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay) "bTg" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay) -"bTh" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Doorint.dmi'; name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/starboard) +"bTh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/account_database,/turf/simulated/floor/bluegrid,/area/bridge) "bTi" = (/obj/item/stack/sheet/cardboard,/obj/item/device/flashlight,/obj/effect/decal/cleanable/cobweb2,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/maintenance/starboard) "bTj" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay) "bTk" = (/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay) @@ -8586,11 +8586,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablOblPblQblRbkbblSblTblSblTblSblTblSbkbblUblVbccbgVblWbgXblXblYblZbmabmbbmcbgXbmdbmebmfbmgbmhbmibmjbmkbmlbmmbmnbmobmpbmqbmrbmsbmtbmubmvbmwbmxbmybmzbmAbiVbfIbmSbhqbmQbmCbmDbmEbhqbmFbmGbjeabqabqbmHboBbopbpVboHbqfbqdbqhbqgbqkbqjbqlbmTabqabqbhwbmUbmVbmWbmXbmYbmZbnabhwbhybnbbncbndbnebnfbnebngbnhbnibnebnebnebnjbnebnkbnlbnmbnnbnebnebnobnkbngbnjbnpbnqbnobnrbnsbntbnubnvbnwbnxbnybnzbnAbnBbnCbnDdfpdfmdftdfqdfxdfudfydeZaoNdflabqaaaaaaaaaaefaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqaefblDblEbnKblEbnLaXOaaaaaaaaaaXLbnMbnNbdJbnObnPbnQbnRbnSbnTbdIbrQaXLaXLaXLaXLbnUaWCarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiqbkbbkbbipbkbblSblTblSbnVblSblTblSbkbblUblVbccbnWbnXbnYbnZboabobbocbobbiubiubodboebhcbfwbofbogbohboibojbokbolbfwbombonbojbkCboobfwbrXboqborbosbotbiUbkIbfIbkJbhqboubovbowboxbhqboybozbjebkWboAbkWbsbboCboDboEboDboFboDboEboDboGbscbkWboAbkWbhwboIboIboIboJboKboLboMbhwboNboOboPboQboRboSboRboTboRboUboRboRboRboVboRboWboXboYboZboRboRbpabpbbpcboVbpdboVbpebpfbpgbntbphbpibpibpjbpkbpibpidfzdfBdfAdfGdfDdfIdfHdfKdfJdgddfLdgKazDabqaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqbpraaaaaaaaaabqbjRbjRbjObpsaXIaXOaaaaaaaaaaXLaXLblHbdIbdIbdIbptbdIbdIbdIbdIbsebsdbsfaaaaZhaXIaXOarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablObpwbpxblRbkbblSblTblSblTblSblTblSbkbblUblVbccbpybpzbpAbpBbpCbpDbpDbpEbpFbpBbpGbpHbpIbfwbpJbpKbpLbpMbpNbpObpPbfwbpQbpRbpSbpTbpUbfwbsibpWbpXbpYbpZbfGbqabjnbqbbqcbqcbqcbqcbqcbhtbtPbqebhtbkWbtSbtRbtTboEboEboEboEbqiboEboEboEboEbtZbtYbubbkWbqmbqnbqobqpbqqbqrbqrbqsbhwbqtbqubqvbqwbqxbqybqxbqzbqxbqAbqxbqxbqBbqxbqxbqCbqDbqxbqEbqBbqFbqGbqCbqHbqxbqIbqJbqKbqLbqMbqNbqObqPbqQbqRbpnbqSbqSbqTdgMdgLdgOdgNdgPanqanqanqanqanqanqanqanqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqaaabqYbqZbrabrbbrcbrdbrebrfaXIaXLaXLaXLaXLaXLbrgbrhbrgbrgbribrjbribrkbrkbrlbrmbrnbudaaaaZhaXIaXOarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrobiobiobjZbrpbkbbrqbkbbrrbrsbkbbrtbkbbkibrubccbgVbrvbrwbrxbrybrzbrAbrBbrCbrxbrDbrEbrFbfwbrGbhabrHbrIbfwbfwbfwbfwbfwbhabrJbrKbfwbfwbiUbrLbrMbiUbiUbzObehbfIbrObqcbrPbumbrRbqcbrSbrTbrUbrVbrWburbrYbrZbsabsabvWbwfbwebvWbvWbsabsabsgbshbwgbkWbhwboIboIboIbsjboIboIboIbhwbskbfIbslbZibsnbsobsnbsmbspbspbspbspbspbspaoGaoGbsqaoGaoGaoGbsrbThaoGaoGaoGbstaoGbsubsvbswbsxbsybszbsAbsBbqSbsCbsCbsDbqUbsEbjNbntbsFbsGbsHbsIbsJbsJbsKbsLabqaaaaaaabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaabqaaabqYbsMbsNaaaabqbsObsPbsQbsRbsSbsTbrgbsUbsVbsWbsXbsYbsZbrgbtabtbbtcbtdbtebtfbtfbtgaXMaaaaZhaXIaXOarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrobiobiobjZbrpbkbbrqbkbbrrbrsbkbbrtbkbbkibrubccbgVbrvbrwbrxbrybrzbrAbrBbrCbrxbrDbrEbrFbfwbrGbhabrHbrIbfwbfwbfwbfwbfwbhabrJbrKbfwbfwbiUbrLbrMbiUbiUbzObehbfIbrObqcbrPbumbrRbqcbrSbrTbrUbrVbrWburbrYbrZbsabsabvWbwfbwebvWbvWbsabsabsgbshbwgbkWbhwboIboIboIbsjboIboIboIbhwbskbfIbslbZibsnbsobsnbsmbspbspbspbspbspbspaoGaoGbsqaoGaoGaoGbsrbCiaoGaoGaoGbstaoGbsubsvbswbsxbsybszbsAbsBbqSbsCbsCbsDbqUbsEbjNbntbsFbsGbsHbsIbsJbsJbsKbsLabqaaaaaaabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaabqaaabqYbsMbsNaaaabqbsObsPbsQbsRbsSbsTbrgbsUbsVbsWbsXbsYbsZbrgbtabtbbtcbtdbtebtfbtfbtgaXMaaaaZhaXIaXOarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrobiobthbiobiqbiobiobiqbiobipbtibtjaWDbtkbtlbtmbfGbtnbtobtpbtobtqbfGbtrbtsbttbtubtvbtwbtxbtybtzbtwbtAbtBbtwbtvbtvbtCbtvbtDbtEbtFbtGbtHbtvbtIbtJbtKbkJbtLbtMbtNbtObqcbjebjebjebjebkWbwmbtQboEboEboEbtUboEbtVbtWbtXboEboEbwnbuabAkbucbhwbwobuebufbugbuhboIbuibhwbujbfIbukbuldedbunbuobsmbupbuqbwpbusbutbuubuvbuwbuxaoGbuybuzbuAbuBbuCaoGaxcbuDaoGbuEbuFbuGbnEbuHbuHbuHbuIbuJbqSbqSbuKbuLbuMbuNbuObuPbuQbuRbuSbuTbuTbuUbuVbuWbuWbuWbuXdgQbuWbuWbuWbuWbuWbuXbuWbuWbuWbuWbuWbuWbuXbuWbuYbuZbuTbuTbuTbvabvbbvcbvdbvdbvebvfbvgbvhbvibvjbvkbvlbvmbvnbvobvpbvqbvrbvsbvtbvubvvbbXbbXbvwaWCarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqaaabccbdRbccbccbccbccbccbccbdRbccaaaaWDbvxbvybvzbfGbvAbvBbvCbvBbvDbfGbvEbvFbvGbvHbvHbvIbvJbvHbvHbvKbvLbvMbvNbvHbvHbvObvHbvHbvHbvPbvQbvRbvRbvSbvTbvUbvVbqcbyobvXbvYbqcbvZbwabwbbwcbwdboEbtQboEbypbywbwhbwibwjbwibwkbyJbyxbAbbyQbAkbwqbhwbwrbwsbwtbwubwvbhwbhwbhwbhybwwbwxbsmbwybwzbwAbsmbwBbwCbwDbwEbwFbwGbwHbwIbwJbwKbwLbwMbwNbwObwPbwQbwRbwSaoGbsubwTbwUbntbwVbwWbwXbwYbwZbxabxbbxcbxdbqUbxebxfbxgbxhbxiaWCaaaaaabxjbsNabqaaaaaaabqaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaaaaaaaaaabqaaabxkbxlbsLaaaabqaZhbxmbxnbxobxpbxqbxrbxsbxtbxubxvbxwbxxbxybxzbxAbxBbxCbxDbtfbxEbxFaXMaaaaZhaXIaXOarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqbccabqaaaabqaaabccbxGbccbxHbxIbfebxJbccbxGbccbccaWDbgVbxKbxLbfGbxMbvBbxNbvBbxObfGbxPbxQbxRbxSbxTbxUbxVbxWbxXbxYbxZbyabxTbxTbxTbybbxTbycbydbxVbyebxTbxTbyfbygbyhbvVbqcbyibyjbykbylbymbynbymbymbwdbAjbAebyqbyqbyqbyrbysbytbyubyvbyqbyqbyqbBWbCcbkWbhwbyybyzbyAbyBbyCbhwbyDbyEbyFbyGbwxbsnbyHbyIbCdbsmbyKbyLbyMbyNbspbspaoGaoGbyOaoGaoGaoGbyPbCeaoGaoGbyRbySaoGbyTbwTbyUbntbjNbjNbjNbjNbyVbjNbjNbyWbyXbyYbntbntbyZbzabzbbzcaaabqYbzdaaaabqaaaaaaabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqabqaaabxkbxlbsLabqbzebzfbzgbzhbzibzjbrgbzkbzlbzmbznbzobzpbrgbzqbzrbzsbrkbztbzubtfbtgaXMaaaaZhaXIaXOarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaabccbccbdQbccaWDbccbdRbccbzvbaBbzwbzxbccbdRbccbzybzzbzAbtlbtmbfGbzBbzCbtpbzCbzBbfGbzDbzEbzFbfGbzGbzHbzIbfGapfbzJapfbzKbzKbzLbzMbzNbzLbzKbzKbzKbzKbzKbzKdeDbzPbzQbzRbzSbzTbzUbzVbzWbzVbzXbzYbzZbAabCfbAcbAdbCibAdbAdbAfbAgbAhbyqbyqbAibyqbCkbAkbhwbAlbAmbAnbAobApbAqbhwbArbhtbAsbbrbAtbsmbsmbsmbsmbsmbAubAvbspbspbspbAwbAxbspbAybAzbAAaoGazpbABaoGbACbADbAEbAFbAGbAHbAIbAJbAKbALbAMbAKbANbAObjNbAPbAQbARbASbATbAUbAVbAWbAXbsJbAYbAZabqabqabqabqabqaaaabqaaaabqaaaabqaaaabqaaaaaaaaaaaaaaaaaaabqbpraaabxkbBabrbbBbbBcbrebpsaXIaXLbBdbBebBfbBgbBhbBibrgbrgbBjbBkbBlbrkbrkbBmbBnbBoaXMaaaaZhaXIaXOarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaabccbccbdQbccaWDbccbdRbccbzvbaBbzwbzxbccbdRbccbzybzzbzAbtlbtmbfGbzBbzCbtpbzCbzBbfGbzDbzEbzFbfGbzGbzHbzIbfGapfbzJapfbzKbzKbzLbzMbzNbzLbzKbzKbzKbzKbzKbzKdeDbzPbzQbzRbzSbzTbzUbzVbzWbzVbzXbzYbzZbAabCfbAcbAdbThbAdbAdbAfbAgbAhbyqbyqbAibyqbCkbAkbhwbAlbAmbAnbAobApbAqbhwbArbhtbAsbbrbAtbsmbsmbsmbsmbsmbAubAvbspbspbspbAwbAxbspbAybAzbAAaoGazpbABaoGbACbADbAEbAFbAGbAHbAIbAJbAKbALbAMbAKbANbAObjNbAPbAQbARbASbATbAUbAVbAWbAXbsJbAYbAZabqabqabqabqabqaaaabqaaaabqaaaabqaaaabqaaaaaaaaaaaaaaaaaaabqbpraaabxkbBabrbbBbbBcbrebpsaXIaXLbBdbBebBfbBgbBhbBibrgbrgbBjbBkbBlbrkbrkbBmbBnbBoaXMaaaaZhaXIaXOarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaabccbBpbaBbaCbBqbBrbaBbaBbBsbBtbchbBubBvbBvbBvbBwbBxbBybBzbBAbBBbBCbBDbBEbBFbBGbBBbBHbBIbBJbBKbBKbBLbBKbBKarKbBMbBNbzKbBObBPbBQbBRbBSbzKbBTbBUbzKbBTbBUbzKbzPbfIbkJbqcbBVbClbBXbqcbBYbBZbCabCbbwdbAkbDrbyqboEbDVbCgboEboEbAkbChbDWbCjbyqbEfbEgbhwbCmbCnbCobCpbCqbCrbCsbCtbhtbhybbrbhzbspbCubCvbCwbCxbCybCzbCAbspbCBbCCbCDbCEbCFbCGbCHaoGaoGaoGaoGaoGaoGbCIaoGbCJbCKbCLbCMbCNbCNbCNbCNbCNbCMbCMbCNbCObCPbCQbCRbCSbCTbCUbCVbCMbCMbCMabqaaaaaaaaaabqaaaabqaaaabqaaaabeaaaabeaaaaaaaaaaaaaaaaaaaaaabqabqabqabqabqabqabqarBbicaXIaXObCWaXLbCXbCYbCZbDabDbbDcbDdbDebDfbDgbDhbDibbXbbXbDjaXLaXLbnUaWCarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaabccbcdbcebcebDkbcebDlbDmbDnbDnbDobDnbDpbDqbEJbDsbDtbDubDvbDwbpBbDxbDybDzbDAbDBbDCbDDbDEbDFbDGbDHbDIbDJbBKbDKbDLanHbzKbDMbDNbBQbBRbBSbzKbDObDPbzKbDObDPbzKbDQbfIbkJbqcbqcbDRbqcbqcbqcbDSbDTbDUbqcbFJbtQbDXboEbwibwibDYbDZbEabEbbEcbEdbEebshbFUbEhbEibEjbEkbElbEmbEnbhwbEobhtbEpbbrbhzbspbEqbErbCybEsbCybEtbCybEubEvbCHbEwbExbEybEzbEAbEBbECbEDbEEbEFbEGbEHaoGbEIbwTbHCbCMbEKbELbEMbENbEObCMbEPbEQbERbESbETbEUbEVbEWbEXbEYbEZbFabCMabqabqabqabqabqabqabqaaaabeaaabFbaaabFcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBaZhbFdaXOaaaaXLbFebFfbFgbDabFhbFibFjbFkbFlbFmbFnbDaaXLaaaaaaaaaaZhaXIaXOarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqbccbccaWDbccbdQbccaWDbccbccbccaWDbccaWDaWDaWDbnWbnXapfbFoapfapfbFpbFqbFpbFrbFpbFpbFpbFpbBKbBKbFsbFtbBKbBKbBKbFuaoXbzKbFvbFwbBQbFxbzKbzKbFybzKbzKbFzbzKbzKbFAbfIbkJbFBbFCbFDbFEbFFbFGbFDbFDbFHbFIbAkbHDbAdbFKbFLbFMbFNbFObFPbFQbFRbFSbyqbFTbAkbhwbFVbFWbFXbFYbFZbGabhwbGbbhtbhybbrbhzbspbGcbGdbGebGdbGfbGgbGhbGibEvbCHbGjbGkbCHbEvbGlbGmbGnbGobGpbGqbEGbySaoGbGrbGsbGtbGubGvbGwbGxbGybGzbCMbGAbGBbGCbGDbETbGEbGFbGGbGHbGIbGJbGKbCMabqbGLbGLbGLbGLbGLabqaaabFcaaabFbaaabFcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarBaZhbFdaXOaaaaXLbGMbGNbGObDabGPbGQbGRbGSbGTbGUbGVbDaaXLaaaaaaaUUbjPaXIaXOarBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/RandomZLevels/spacehotel.dmm b/_maps/map_files/RandomZLevels/spacehotel.dmm index e168c1ccb19..d3c520a6696 100644 --- a/_maps/map_files/RandomZLevels/spacehotel.dmm +++ b/_maps/map_files/RandomZLevels/spacehotel.dmm @@ -1,325 +1,718 @@ -"aa" = (/turf/space,/area/space) -"ab" = (/turf/unsimulated/wall,/area/space) -"ac" = (/turf/unsimulated/wall,/area/awaymission) -"ad" = (/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/wall,/area/awaymission) -"ae" = (/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/awaymission) -"af" = (/obj/machinery/power/apc/noalarm{dir = 1; pixel_y = 32},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission) -"ag" = (/mob/living/simple_animal/hostile/alien/queen,/turf/simulated/floor/carpet,/area/awaymission) -"ah" = (/obj/item/stack/cable_coil/random,/obj/effect/decal/remains/human,/turf/simulated/floor/plating,/area/awaymission) -"ai" = (/turf/simulated/floor/plating,/area/awaymission) -"aj" = (/obj/machinery/power/smes/magical,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/awaymission) -"ak" = (/obj/structure/toilet{dir = 1},/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/item/organ/internal/body_egg/alien_embryo,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"al" = (/obj/machinery/shower{dir = 8},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"am" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/awaymission) -"an" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/awaymission) -"ao" = (/turf/simulated/wall,/area/awaymission) -"ap" = (/obj/machinery/door/airlock/highsecurity,/turf/simulated/floor/plating,/area/awaymission) -"aq" = (/turf/unsimulated/beach/water,/area/awaymission) -"ar" = (/obj/structure/window{dir = 4},/obj/machinery/shower,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/awaymission) -"as" = (/obj/structure/rack,/obj/item/clothing/suit/apron,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/suit/holidaypriest,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/suit/storage/labcoat,/obj/item/clothing/suit/nun,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/wizrobe/fake,/obj/item/clothing/suit/wizrobe/marisa/fake,/obj/effect/decal/cleanable/greenglow,/turf/simulated/floor/carpet,/area/awaymission) -"at" = (/obj/structure/rack,/obj/item/clothing/head/collectable/police,/obj/item/clothing/head/nun_hood,/obj/item/clothing/head/mailman,/obj/item/clothing/head/nursehat,/obj/item/clothing/head/wizard/fake,/obj/item/clothing/head/powdered_wig,/obj/item/clothing/head/wizard/marisa/fake,/obj/machinery/camera{c_tag = "Gold Suite"; c_tag_order = 999; network = list("Hotel")},/obj/item/clothing/mask/gas/sexyclown,/turf/simulated/floor/carpet,/area/awaymission) -"au" = (/obj/structure/rack,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/head/kitty,/obj/item/clothing/head/rabbitears,/obj/item/clothing/mask/muzzle,/obj/item/clothing/accessory/stethoscope,/turf/simulated/floor/carpet,/area/awaymission) -"av" = (/obj/structure/dresser,/turf/simulated/floor/carpet,/area/awaymission) -"aw" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet,/area/awaymission) -"ax" = (/obj/structure/rack,/obj/item/clothing/suit/apron,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/suit/holidaypriest,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/suit/storage/labcoat,/obj/item/clothing/suit/nun,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/wizrobe/fake,/obj/item/clothing/suit/xenos,/obj/item/clothing/suit/wizrobe/marisa/fake,/turf/simulated/floor/carpet,/area/awaymission) -"ay" = (/obj/structure/rack,/obj/item/clothing/head/collectable/police,/obj/item/clothing/head/nun_hood,/obj/item/clothing/head/mailman,/obj/item/clothing/head/nursehat,/obj/item/clothing/head/wizard/fake,/obj/item/clothing/head/powdered_wig,/obj/item/clothing/head/xenos,/obj/item/clothing/head/wizard/marisa/fake,/obj/machinery/camera{c_tag = "Silver Suite"; c_tag_order = 999; network = list("Hotel")},/obj/item/clothing/mask/gas/sexyclown,/turf/simulated/floor/carpet,/area/awaymission) -"az" = (/turf/simulated/floor/wood,/area/awaymission) -"aA" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Bathroom1"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"aB" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Bathroom2"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"aC" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"aD" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/camera{c_tag = "Locker Room"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"aE" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Bathroom3"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"aF" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Bathroom4"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"aG" = (/obj/structure/window{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/awaymission) -"aH" = (/turf/simulated/floor/carpet,/area/awaymission) -"aI" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/captain,/turf/simulated/floor/carpet,/area/awaymission) -"aJ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hop,/turf/simulated/floor/carpet,/area/awaymission) -"aK" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/wood,/area/awaymission) -"aL" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/wood,/area/awaymission) -"aM" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/wood,/area/awaymission) -"aN" = (/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"aO" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"aP" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"aQ" = (/obj/machinery/light{dir = 8},/obj/item/weapon/soap/deluxe,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/awaymission) -"aR" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteblue"},/area/awaymission) -"aS" = (/obj/structure/window{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitebluecorner"},/area/awaymission) -"aT" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/wood,/area/awaymission) -"aU" = (/obj/machinery/gateway/centeraway,/turf/simulated/floor/wood,/area/awaymission) -"aV" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/wood,/area/awaymission) -"aW" = (/obj/machinery/door/airlock,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"aX" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"aY" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"aZ" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"ba" = (/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"bb" = (/obj/machinery/door_control{id = "Gold Suite"; name = "Gold Suite Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaymission) -"bc" = (/obj/machinery/door_control{id = "Silver Suite"; name = "Silver Suite Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaymission) -"bd" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/wood,/area/awaymission) -"be" = (/obj/machinery/gateway,/turf/simulated/floor/wood,/area/awaymission) -"bf" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor/wood,/area/awaymission) -"bg" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"bh" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"bi" = (/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"bj" = (/obj/structure/mirror,/obj/structure/sink{icon_state = "sink"; dir = 4; pixel_x = -12; pixel_y = 2},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"bk" = (/obj/machinery/door/airlock/gold{id_tag = "Gold Suite"; name = "Gold Suite"},/turf/simulated/floor/carpet,/area/awaymission) -"bl" = (/obj/machinery/door/airlock/silver{id_tag = "Silver Suite"; name = "Silver Suite"},/turf/simulated/floor/carpet,/area/awaymission) -"bm" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/space) -"bn" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/awaymission) -"bo" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/space) -"bp" = (/turf/simulated/floor/carpet{icon_state = "carpetsymbol"},/area/awaymission) -"bq" = (/obj/machinery/light,/turf/simulated/floor/carpet,/area/awaymission) -"br" = (/obj/structure/stool/bed/chair/comfy,/turf/simulated/floor/carpet,/area/awaymission) -"bs" = (/turf/unsimulated/wall/fakeglass,/area/space) -"bt" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/carpet,/area/awaymission) -"bu" = (/obj/machinery/light{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/carpet,/area/awaymission) -"bv" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet,/area/awaymission) -"bw" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitebluecorner"},/area/awaymission) -"bx" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/awaymission) -"by" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitebluecorner"},/area/awaymission) -"bz" = (/obj/machinery/door/airlock{id_tag = "Room301"; name = "Room301"},/turf/simulated/floor/plasteel,/area/awaymission) -"bA" = (/obj/machinery/door/airlock{id_tag = "Room302"; name = "Room302"},/turf/simulated/floor/plasteel,/area/awaymission) -"bB" = (/obj/machinery/door/airlock{id_tag = "Room303"; name = "Room303"},/turf/simulated/floor/plasteel,/area/awaymission) -"bC" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "whiteblue"},/area/awaymission) -"bD" = (/turf/simulated/shuttle/floor,/area/awaymission) -"bE" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/awaymission) -"bF" = (/obj/machinery/camera{c_tag = "Room 301"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission) -"bG" = (/obj/machinery/door_control{name = "Room301 Bolt Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; id = "Room301"; normaldoorcontrol = 1; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"bH" = (/obj/machinery/camera{c_tag = "Room 302"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission) -"bI" = (/obj/machinery/door_control{id = "Room302"; name = "Room302 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"bJ" = (/obj/structure/dresser,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/turf/simulated/floor/carpet,/area/awaymission) -"bK" = (/obj/machinery/camera{c_tag = "Room 303"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission) -"bL" = (/obj/machinery/door_control{id = "Room303"; name = "Room303 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"bM" = (/obj/machinery/light{dir = 1},/turf/unsimulated/beach/water,/area/awaymission) -"bN" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/awaymission) -"bO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaymission) -"bP" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor/carpet,/area/awaymission) -"bQ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/awaymission) -"bR" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/space) -"bS" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/carpet,/area/awaymission) -"bT" = (/obj/structure/window,/turf/simulated/floor/carpet,/area/awaymission) -"bU" = (/obj/machinery/door/window/southright,/turf/simulated/floor/carpet,/area/awaymission) -"bV" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/awaymission) -"bW" = (/obj/structure/mirror,/turf/simulated/wall,/area/awaymission) -"bX" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"bY" = (/obj/machinery/shower{dir = 8},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"bZ" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/effect/decal/cleanable/vomit,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"ca" = (/obj/structure/toilet{dir = 1},/obj/effect/decal/cleanable/vomit,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"cb" = (/obj/machinery/light{dir = 8},/turf/unsimulated/beach/water,/area/awaymission) -"cc" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/beach/water,/area/awaymission) -"cd" = (/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/carpet,/area/awaymission) -"ce" = (/obj/machinery/door/airlock{id_tag = "Room201"; name = "Room201"},/turf/simulated/floor/plasteel,/area/awaymission) -"cf" = (/obj/machinery/door/airlock{id_tag = "Room202"; name = "Room202"},/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/plasteel,/area/awaymission) -"cg" = (/obj/machinery/door/airlock{id_tag = "Room203"; name = "Room203"},/turf/simulated/floor/plasteel,/area/awaymission) -"ch" = (/obj/machinery/camera{c_tag = "Room 201"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission) -"ci" = (/obj/machinery/door_control{id = "Room201"; name = "Room201 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"cj" = (/obj/structure/dresser,/obj/item/weapon/lipstick/jade,/turf/simulated/floor/carpet,/area/awaymission) -"ck" = (/obj/machinery/camera{c_tag = "Room 202"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission) -"cl" = (/obj/machinery/door_control{id = "Room202"; name = "Room202 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"cm" = (/obj/machinery/camera{c_tag = "Room 203"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission) -"cn" = (/obj/machinery/door_control{id = "Room203"; name = "Room203 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"co" = (/obj/structure/dresser,/obj/item/weapon/lipstick/purple,/turf/simulated/floor/carpet,/area/awaymission) -"cp" = (/obj/machinery/light,/turf/unsimulated/beach/water,/area/awaymission) -"cq" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor/carpet,/area/awaymission) -"cr" = (/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/carpet,/area/awaymission) -"cs" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/carpet,/area/awaymission) -"ct" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/turf/simulated/floor/carpet,/area/awaymission) -"cu" = (/obj/item/weapon/beach_ball,/turf/simulated/shuttle/floor,/area/awaymission) -"cv" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/flour{desc = "Rather caked in there."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/carpet,/area/awaymission) -"cw" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitebluecorner"},/area/awaymission) -"cx" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitebluecorner"},/area/awaymission) -"cy" = (/obj/machinery/door/window/southright,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/carpet,/area/awaymission) -"cz" = (/obj/structure/window,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/simulated/floor/carpet,/area/awaymission) -"cA" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/carpet,/area/awaymission) -"cB" = (/obj/structure/table,/turf/simulated/floor/carpet,/area/awaymission) -"cC" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"cD" = (/obj/structure/stool,/turf/simulated/floor/carpet,/area/awaymission) -"cE" = (/obj/machinery/door/airlock{id_tag = "Room101"; name = "Room101"},/turf/simulated/floor/plasteel,/area/awaymission) -"cF" = (/obj/machinery/door/airlock{id_tag = "Room102"; name = "Room102"},/turf/simulated/floor/plasteel,/area/awaymission) -"cG" = (/obj/machinery/door/airlock{id_tag = "Room103"; name = "Room103"},/turf/simulated/floor/plasteel,/area/awaymission) -"cH" = (/obj/machinery/camera{c_tag = "Room 101"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission) -"cI" = (/obj/machinery/door_control{id = "Room101"; name = "Room101 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"cJ" = (/obj/structure/dresser,/obj/item/clothing/head/xenos,/turf/simulated/floor/carpet,/area/awaymission) -"cK" = (/obj/machinery/camera{c_tag = "Room 102"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission) -"cL" = (/obj/machinery/door_control{id = "Room102"; name = "Room102 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"cM" = (/obj/effect/decal/cleanable/blood/gibs/old,/turf/simulated/floor/carpet,/area/awaymission) -"cN" = (/obj/machinery/camera{c_tag = "Room 103"; c_tag_order = 999; network = list("Hotel")},/turf/simulated/floor/carpet,/area/awaymission) -"cO" = (/obj/machinery/door_control{id = "Room103"; name = "Room103 Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"cP" = (/turf/simulated/floor/plasteel,/area/awaymission) -"cQ" = (/mob/living/simple_animal/hostile/retaliate/goat,/turf/simulated/floor/plasteel,/area/awaymission) -"cR" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/awaymission) -"cS" = (/obj/structure/stool/bed/nest,/turf/simulated/floor/carpet,/area/awaymission) -"cT" = (/obj/structure/stool/bed/alien,/obj/item/xenos_claw,/turf/simulated/floor/carpet,/area/awaymission) -"cU" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/yellow,/turf/simulated/floor/carpet,/area/awaymission) -"cV" = (/obj/machinery/light{dir = 8},/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/carpet,/area/awaymission) -"cW" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/carpet,/area/awaymission) -"cX" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/carpet,/area/awaymission) -"cY" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel,/area/awaymission) -"cZ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/turf/simulated/floor/plasteel,/area/awaymission) -"da" = (/obj/structure/table,/turf/simulated/floor/plasteel,/area/awaymission) -"db" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/table,/turf/simulated/floor/plasteel,/area/awaymission) -"dc" = (/obj/effect/gibspawner/xeno,/turf/simulated/floor/carpet,/area/awaymission) -"dd" = (/obj/effect/decal/remains/human,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"de" = (/obj/structure/stool/bed/alien,/obj/item/clothing/suit/xenos,/turf/simulated/floor/carpet,/area/awaymission) -"df" = (/obj/machinery/optable,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/carpet,/area/awaymission) -"dg" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/obj/effect/decal/cleanable/blood/gibs/old,/turf/simulated/floor/carpet,/area/awaymission) -"dh" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor/plasteel,/area/awaymission) -"di" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/simulated/floor/plasteel,/area/awaymission) -"dj" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor/plasteel,/area/awaymission) -"dk" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor/plasteel,/area/awaymission) -"dl" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/table,/obj/item/weapon/book/manual/chef_recipes,/turf/simulated/floor/plasteel,/area/awaymission) -"dm" = (/obj/structure/window,/obj/structure/alien/weeds/node,/turf/simulated/floor/carpet,/area/awaymission) -"dn" = (/obj/structure/window,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/carpet,/area/awaymission) -"do" = (/obj/machinery/door/window/southright,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/carpet,/area/awaymission) -"dp" = (/obj/structure/table/woodentable,/obj/item/weapon/lipstick/black,/turf/simulated/floor/carpet,/area/awaymission) -"dq" = (/obj/structure/window,/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/cleanable/blood/gibs/old,/turf/simulated/floor/carpet,/area/awaymission) -"dr" = (/obj/structure/window,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/carpet,/area/awaymission) -"ds" = (/obj/machinery/door/window/southright,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/carpet,/area/awaymission) -"dt" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor/plasteel,/area/awaymission) -"du" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"dv" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/awaymission) -"dw" = (/obj/machinery/door/window/eastleft,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission) -"dx" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/awaymission) -"dy" = (/obj/machinery/light,/turf/simulated/floor/plasteel,/area/awaymission) -"dz" = (/obj/machinery/processor,/turf/simulated/floor/plasteel,/area/awaymission) -"dA" = (/obj/machinery/chem_master/condimaster,/turf/simulated/floor/plasteel,/area/awaymission) -"dB" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor/plasteel,/area/awaymission) -"dC" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor/plasteel,/area/awaymission) -"dD" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor/plasteel,/area/awaymission) -"dE" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/plasteel,/area/awaymission) -"dF" = (/obj/structure/kitchenspike,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel,/area/awaymission) -"dG" = (/obj/machinery/door/airlock,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/plasteel,/area/awaymission) -"dH" = (/obj/item/weapon/bananapeel,/obj/item/toy/spinningtoy,/turf/simulated/floor/carpet,/area/awaymission) -"dI" = (/obj/structure/barricade/wooden,/turf/simulated/floor/carpet,/area/awaymission) -"dJ" = (/obj/item/target/syndicate,/turf/simulated/floor/carpet,/area/awaymission) -"dK" = (/obj/item/trash/candy,/turf/simulated/floor/carpet,/area/awaymission) -"dL" = (/obj/item/toy/spinningtoy,/turf/simulated/floor/carpet,/area/awaymission) -"dM" = (/obj/item/weapon/gun/projectile/shotgun/toy/crossbow,/turf/simulated/floor/carpet,/area/awaymission) -"dN" = (/obj/structure/barricade/wooden,/obj/structure/barricade/wooden,/turf/simulated/floor/carpet,/area/awaymission) -"dO" = (/obj/machinery/door/airlock,/turf/simulated/floor/carpet,/area/awaymission) -"dP" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/wall,/area/awaymission) -"dQ" = (/obj/effect/decal/remains/human,/obj/item/clothing/head/soft/red,/turf/simulated/floor/carpet,/area/awaymission) -"dR" = (/obj/item/toy/prize/honk,/turf/simulated/floor/carpet,/area/awaymission) -"dS" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/carpet,/area/awaymission) -"dT" = (/obj/machinery/vending/sovietsoda,/turf/simulated/floor/carpet,/area/awaymission) -"dU" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; dir = 4; network = "Hotel"; use_power = 1},/turf/simulated/floor/carpet,/area/awaymission) -"dV" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"dW" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; network = "Hotel"; use_power = 0},/turf/simulated/floor/carpet,/area/awaymission) -"dX" = (/turf/simulated/wall/cult,/area/awaymission) -"dY" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/engine/cult,/area/awaymission) -"dZ" = (/obj/effect/decal/remains/human,/turf/simulated/floor/carpet,/area/awaymission) -"ea" = (/obj/item/trash/candle,/obj/item/trash/candle,/obj/item/trash/candle,/turf/simulated/floor/carpet,/area/awaymission) -"eb" = (/obj/machinery/vending/snack,/turf/simulated/floor/carpet,/area/awaymission) -"ec" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/carpet,/area/awaymission) -"ed" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/carpet,/area/awaymission) -"ee" = (/turf/simulated/floor/engine/cult,/area/awaymission) -"ef" = (/obj/effect/gibspawner/human,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/engine/cult,/area/awaymission) -"eg" = (/obj/item/toy/sword,/turf/simulated/floor/carpet,/area/awaymission) -"eh" = (/obj/machinery/vending/cola,/turf/simulated/floor/carpet,/area/awaymission) -"ei" = (/obj/item/candle,/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/engine/cult,/area/awaymission) -"ej" = (/obj/effect/rune,/obj/item/organ/brain,/turf/simulated/floor/engine/cult,/area/awaymission) -"ek" = (/obj/item/candle,/turf/simulated/floor/engine/cult,/area/awaymission) -"el" = (/obj/item/weapon/tome,/turf/simulated/floor/engine/cult,/area/awaymission) -"em" = (/obj/effect/rune,/turf/simulated/floor/engine/cult,/area/awaymission) -"en" = (/obj/structure/stool/bed/chair/comfy,/obj/item/device/soulstone,/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/remains/human,/turf/simulated/floor/engine/cult,/area/awaymission) -"eo" = (/obj/effect/gibspawner/human,/turf/simulated/floor/engine/cult,/area/awaymission) -"ep" = (/obj/item/trash/sosjerky,/turf/simulated/floor/carpet,/area/awaymission) -"eq" = (/obj/structure/table/woodentable,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor/carpet,/area/awaymission) -"er" = (/obj/item/latexballon,/obj/item/latexballon,/turf/simulated/floor/carpet,/area/awaymission) -"es" = (/obj/structure/rack,/obj/item/key,/obj/item/key,/obj/item/key,/obj/item/key,/obj/item/key,/turf/simulated/floor/carpet,/area/awaymission) -"et" = (/obj/structure/stool/bed/chair/comfy,/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/carpet,/area/awaymission) -"eu" = (/obj/structure/stool/bed/chair/comfy,/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/simulated/floor/carpet,/area/awaymission) -"ev" = (/obj/item/weapon/restraints/legcuffs,/turf/simulated/floor/engine/cult,/area/awaymission) -"ew" = (/obj/machinery/space_heater,/turf/simulated/floor/carpet,/area/awaymission) -"ex" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/awaymission) -"ey" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; dir = 1; network = "Hotel"; use_power = 0},/turf/simulated/floor/carpet,/area/awaymission) -"ez" = (/obj/item/weapon/melee/cultblade,/turf/simulated/floor/engine/cult,/area/awaymission) -"eA" = (/obj/item/weapon/kitchen/knife/butcher{blood_DNA = 1e+009},/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/engine/cult,/area/awaymission) -"eB" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/turf/simulated/floor/carpet,/area/awaymission) -"eC" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/awaymission) -"eD" = (/obj/structure/table/woodentable,/obj/item/weapon/clipboard,/obj/item/weapon/paper,/turf/simulated/floor/carpet,/area/awaymission) -"eE" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor/carpet,/area/awaymission) -"eF" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/simulated/floor/carpet,/area/awaymission) -"eG" = (/turf/unsimulated/wall/fakeglass{dir = 10; icon_state = "fakewindows"},/area/space) -"eH" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/space) -"eI" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/space) -"eJ" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/turf/simulated/floor/plating,/area/awaymission) -"eK" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/awaymission) -"eL" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaymission) -"eM" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/space) -"eN" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaymission) -"eO" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/plating,/area/awaymission) -"eQ" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/wall{icon_state = "swallc4"; dir = 2},/area/awaymission) -"eR" = (/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor,/area/awaymission) -"eS" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/awaymission) -"eT" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/floor,/area/awaymission) -"eU" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/floor/plating/airless,/area/awaymission) -"eV" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/space,/area/awaymission) -"eW" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/floor,/area/awaymission) -"eX" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor,/area/awaymission) -"eY" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/floor,/area/awaymission) -"fa" = (/turf/simulated/shuttle/wall{icon_state = "swallc1"; dir = 2},/area/awaymission) -"fb" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor,/area/awaymission) -"fc" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/floor,/area/awaymission) +"aa" = (/turf/unsimulated/wall{icon = 'icons/turf/mining.dmi'; icon_state = "rock"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"ab" = (/turf/unsimulated/wall/metal,/area/awaymission/undersea{requires_power = 0}) +"ac" = (/turf/unsimulated/wall{icon = 'icons/turf/mining.dmi'; icon_state = "rock"},/area/awaymission/beach) +"ad" = (/turf/unsimulated/floor/lava/dense,/area/awaymission) +"ae" = (/turf/unsimulated/wall/metal,/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"af" = (/turf/unsimulated/wall{dynamic_lighting = 0; icon = null},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"ag" = (/turf/template_noop,/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"ah" = (/turf/template_noop,/area/template_noop) +"ai" = (/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"aj" = (/obj/machinery/light{dir = 1},/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"ak" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"al" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"am" = (/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"an" = (/obj/effect/view_portal{id = "mazeland_111"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"ao" = (/obj/effect/view_portal/visual{dir = 4; dist = 2; id = "mazeland_121"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"ap" = (/obj/effect/view_portal/visual{dir = 1; dist = 2; id = "mazeland_332"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"aq" = (/obj/effect/view_portal/visual{dir = 1; dist = 5; frustrum = 1; id = "mazeland_room"; radius = 0},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"ar" = (/obj/effect/view_portal/visual{dir = 1; dist = 2; id = "mazeland_331"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"as" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"at" = (/turf/unsimulated/beach/sand,/area/awaymission/beach) +"au" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"av" = (/obj/effect/view_portal{id = "mazeland_211"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"aw" = (/obj/effect/view_portal{id = "mazeland"},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"ax" = (/obj/effect/view_portal{id = "mazeland_411"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"ay" = (/mob/living/simple_animal/hostile/retaliate/carp,/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"az" = (/obj/effect/view_portal{id = "mazeland_112"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"aA" = (/obj/effect/view_portal/visual{dir = 4; dist = 2; id = "mazeland_122"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"aB" = (/obj/effect/view_portal{id = "mazeland_31"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"aC" = (/turf/unsimulated/wall/metal,/area/awaymission{name = "Snowland"; requires_power = 0}) +"aD" = (/turf/unsimulated/wall{dynamic_lighting = 0; icon = null},/area/awaymission{name = "Snowland"; requires_power = 0}) +"aE" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"aF" = (/obj/item/weapon/paper/hotel_scrap_5,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"aG" = (/mob/living/simple_animal/hostile/pirate,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"aH" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"aI" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"aJ" = (/obj/effect/view_portal/visual{dir = 1; dist = 3; id = "snowland_room"; radius = 3},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"aK" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/mob/living/simple_animal/hostile/bear,/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"aL" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"aM" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"aN" = (/obj/effect/view_portal/visual{dir = 8; dist = 2; id = "mazeland_111"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"aO" = (/obj/effect/view_portal{id = "mazeland_121"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"aP" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"aQ" = (/obj/effect/view_portal/visual{dir = 8; dist = 2; id = "mazeland_31"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"aR" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows"; opacity = 1},/area/awaymission{name = "Snowland"; requires_power = 0}) +"aS" = (/turf/unsimulated/wall/fakeglass{dir = 4; icon_state = "fakewindows"; opacity = 0},/area/awaymission{name = "Snowland"; requires_power = 0}) +"aT" = (/obj/effect/view_portal{id = "snowland"},/obj/effect/decal/snow/sand/surround{icon_state = "gravsnow_surround"; dir = 1},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"aU" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows"; opacity = 0},/area/awaymission{name = "Snowland"; requires_power = 0}) +"aV" = (/turf/unsimulated/wall/fakeglass{dir = 4; icon_state = "fakewindows"; opacity = 1},/area/awaymission{name = "Snowland"; requires_power = 0}) +"aW" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"aX" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"aY" = (/obj/machinery/light{dir = 8},/mob/living/simple_animal/hostile/retaliate/carp,/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"aZ" = (/obj/structure/ladder/dive_point/anchor{id = "weirddive"; layer = 4.5},/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"ba" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"bb" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 4},/obj/structure/closet/athletic_mixed,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"bc" = (/turf/unsimulated/wall{icon_state = "sandstone6"},/area/awaymission/beach) +"bd" = (/turf/unsimulated/wall{icon_state = "sandstone12"},/area/awaymission/beach) +"be" = (/turf/unsimulated/wall{icon_state = "sandstone10"},/area/awaymission/beach) +"bf" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 8},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"bg" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"bh" = (/obj/effect/decal/snow/sand/edge{icon_state = "gravsnow_corner"; dir = 1},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/machinery/light{dir = 8},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bi" = (/obj/effect/decal/snow/sand/edge{icon_state = "gravsnow_corner"; dir = 1},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bj" = (/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bk" = (/obj/effect/decal/snow/sand/edge{icon_state = "gravsnow_corner"; dir = 1},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bl" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/obj/effect/decal/snow/clean/edge,/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"bm" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal/snow/clean/edge{icon_state = "snow_corner"; dir = 6},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"bn" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 4},/obj/item/clothing/shoes/sandal,/obj/item/clothing/shoes/sandal,/obj/item/clothing/shoes/sandal,/obj/structure/closet/crate,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"bo" = (/turf/unsimulated/wall{icon_state = "sandstone3"},/area/awaymission/beach) +"bp" = (/turf/unsimulated/wall{dynamic_lighting = 0; icon = null},/area/awaymission/beach) +"bq" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"br" = (/obj/effect/view_portal/visual{dir = 8; dist = 2; id = "mazeland_212"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"bs" = (/obj/effect/view_portal{id = "mazeland_122"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"bt" = (/obj/effect/view_portal{id = "mazeland_212"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"bu" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bv" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bw" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bx" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"by" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"bz" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"bA" = (/turf/unsimulated/wall{icon_state = "sandstone1"},/area/awaymission/beach) +"bB" = (/obj/effect/view_portal/visual{dir = 1; dist = 3; id = "beach_room"; radius = 2},/turf/unsimulated/floor,/area/awaymission/beach) +"bC" = (/mob/living/simple_animal/crab{faction = list("neutral","pirate")},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"bD" = (/turf/unsimulated/floor/lava,/area/awaymission) +"bE" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/obj/structure/closet/crate/secure/loot,/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"bF" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"bG" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bH" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bI" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bJ" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 1},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"bK" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 1},/obj/effect/view_portal{id = "beach"},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"bL" = (/obj/effect/decal/snow/sand/edge{dir = 9; icon_state = "gravsnow_corner"; name = "rough sand"},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"bM" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 1},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"bN" = (/obj/effect/decal/snow/sand/edge{dir = 5; icon_state = "gravsnow_corner"; name = "rough sand"},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"bO" = (/obj/effect/view_portal{id = "mazeland_213"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"bP" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light,/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"bQ" = (/obj/effect/view_portal{id = "mazeland_413"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"bR" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/obj/effect/decal/snow/clean/edge{icon_state = "snow_corner"; dir = 6},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"bS" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bT" = (/obj/structure/flora/bush,/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bU" = (/obj/structure/flora/grass/green,/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"bV" = (/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"bW" = (/obj/effect/view_portal/visual{dir = 1; dist = 7; id = "mazeland_213"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"bX" = (/obj/effect/view_portal/visual{dir = 1; dist = 7; id = "mazeland_413"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"bY" = (/obj/effect/view_portal/visual{dist = 2; id = "mazeland_131"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"bZ" = (/obj/effect/view_portal{id = "mazeland_331"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"ca" = (/obj/effect/view_portal{id = "mazeland_332"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"cb" = (/obj/effect/view_portal/visual{dist = 2; id = "mazeland_132"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"cc" = (/obj/structure/window/reinforced/tinted,/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"cd" = (/obj/machinery/door/window/southright,/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"ce" = (/obj/structure/window/reinforced/tinted,/obj/machinery/light,/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"cf" = (/obj/effect/light_emitter{invisibility = 101; light_color = "#ffffc0"; light_power = 2},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"cg" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"ch" = (/obj/effect/view_portal{id = "mazeland_131"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"ci" = (/obj/effect/view_portal{id = "mazeland_132"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"cj" = (/obj/effect/view_portal/visual{dir = 2; dist = 7; id = "mazeland_411"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"ck" = (/obj/effect/view_portal/visual{dir = 2; dist = 7; id = "mazeland_211"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"cl" = (/turf/unsimulated/wall/metal,/area/awaymission/spacehotel) +"cm" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"cn" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"co" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"cp" = (/obj/machinery/shower{dir = 8},/obj/structure/curtain/open/shower{anchored = 1; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; opacity = 1},/area/awaymission/spacehotel) +"cq" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 8},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"cr" = (/obj/item/candle/eternal,/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"cs" = (/obj/structure/mirror{dir = 8; pixel_x = -28},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"ct" = (/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"cu" = (/obj/structure/mirror{dir = 4; pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"cv" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/structure/closet/crate/secure/loot,/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"cw" = (/obj/structure/flora/tree/pine,/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"cx" = (/obj/effect/view_portal{id = "poolland"},/obj/machinery/light/small,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"cy" = (/turf/unsimulated/floor,/area/awaymission/undersea{requires_power = 0}) +"cz" = (/obj/effect/levelref{id = "lavaland"; name = "lavaland"},/obj/effect/light_emitter{invisibility = 101; light_color = "#ffffc0"; light_power = 2},/obj/effect/rune,/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"cA" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/mob/living/simple_animal/hostile/bear,/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"cB" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"cC" = (/obj/structure/flora/grass/both,/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"cD" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"cE" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 10},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"cF" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"cG" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal/snow/clean/edge,/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"cH" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/turf/unsimulated/beach/coastline,/area/awaymission/beach) +"cI" = (/obj/effect/waterfall{dir = 1; water_frequency = 104},/turf/unsimulated/beach/coastline,/area/awaymission/beach) +"cJ" = (/turf/unsimulated/beach/coastline,/area/awaymission/beach) +"cK" = (/obj/effect/waterfall{dir = 1; water_frequency = 97},/turf/unsimulated/beach/coastline,/area/awaymission/beach) +"cL" = (/obj/effect/waterfall{dir = 1; water_frequency = 94},/turf/unsimulated/beach/coastline,/area/awaymission/beach) +"cM" = (/obj/effect/waterfall{dir = 1; water_frequency = 192},/turf/unsimulated/beach/coastline,/area/awaymission/beach) +"cN" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/turf/unsimulated/beach/coastline/dense,/area/awaymission/beach) +"cO" = (/turf/unsimulated/floor/chasm,/area/awaymission) +"cP" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 6},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"cQ" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal/snow/clean/edge{icon_state = "snow_corner"; dir = 6},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission{name = "Snowland"; requires_power = 0}) +"cR" = (/obj/machinery/poolcontroller/seacontroller,/turf/unsimulated/wall/metal,/area/awaymission/undersea{requires_power = 0}) +"cS" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/turf/unsimulated/beach/water,/area/awaymission/beach) +"cT" = (/turf/unsimulated/beach/water,/area/awaymission/beach) +"cU" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/beach/water/dense,/area/awaymission/beach) +"cV" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"cW" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"cX" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"cY" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/beach/water,/area/awaymission/beach) +"cZ" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/beach/water,/area/awaymission/beach) +"da" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/turf/unsimulated/beach/water,/area/awaymission/beach) +"db" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/turf/unsimulated/beach/water,/area/awaymission/beach) +"dc" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/turf/unsimulated/beach/water,/area/awaymission/beach) +"dd" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 8},/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"de" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"df" = (/obj/item/weapon/mop,/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"dg" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/beach/water,/area/awaymission/beach) +"dh" = (/obj/effect/decal/snow/sand/edge,/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"di" = (/obj/structure/mopbucket,/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"dj" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 6},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"dk" = (/turf/unsimulated/floor/chasm,/area/awaymission{name = "Snowland"; requires_power = 0}) +"dl" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 10},/turf/unsimulated/floor/snow,/area/awaymission{name = "Snowland"; requires_power = 0}) +"dm" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/turf/unsimulated/beach/water/edge_drop,/area/awaymission/beach) +"dn" = (/turf/unsimulated/beach/water/drop,/area/awaymission/beach) +"do" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/turf/unsimulated/beach/water/edge_drop,/area/awaymission/beach) +"dp" = (/obj/effect/light_emitter{invisibility = 101; light_color = "#ffffc0"; light_power = 2},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/turf/unsimulated/floor/chasm,/area/awaymission{name = "Snowland"; requires_power = 0}) +"dq" = (/obj/effect/light_emitter{invisibility = 101; light_color = "#ffffc0"; light_power = 2},/turf/unsimulated/floor/chasm,/area/awaymission{name = "Snowland"; requires_power = 0}) +"dr" = (/obj/effect/light_emitter{invisibility = 101; light_color = "#ffffc0"; light_power = 2},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/turf/unsimulated/floor/chasm,/area/awaymission{name = "Snowland"; requires_power = 0}) +"ds" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/beach/water/deep/dense,/area/awaymission/beach) +"dt" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/beach/water/deep/dense,/area/awaymission/beach) +"du" = (/turf/unsimulated/beach/water/deep/dense,/area/awaymission/beach) +"dv" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/turf/unsimulated/beach/water/deep/dense,/area/awaymission/beach) +"dw" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/turf/unsimulated/floor/chasm,/area/awaymission{name = "Snowland"; requires_power = 0}) +"dx" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/turf/unsimulated/floor/chasm,/area/awaymission{name = "Snowland"; requires_power = 0}) +"dy" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_n"},/turf/unsimulated/floor/chasm,/area/awaymission{name = "Snowland"; requires_power = 0}) +"dz" = (/obj/machinery/light{dir = 8},/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"dA" = (/obj/structure/ladder/dive_point/anchor{layer = 4.5},/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"dB" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/turf/unsimulated/beach/water/deep/dense,/area/awaymission/beach) +"dC" = (/turf/unsimulated/beach/water/drop/dense,/area/awaymission/beach) +"dD" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_e"},/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_s"},/turf/unsimulated/beach/water/deep/dense,/area/awaymission/beach) +"dE" = (/obj/effect/decal/snow/sand/edge{name = "rough sand"},/obj/effect/decal/snow/sand/edge{name = "rough sand"; icon_state = "gravsnow_corner"; dir = 1},/turf/unsimulated/floor{icon_state = "asteroid"; name = "cave"},/area/awaymission) +"dF" = (/turf/unsimulated/floor/lava,/area/awaymission{name = "Snowland"; requires_power = 0}) +"dG" = (/obj/effect/decal{name = "rock"; icon = 'icons/turf/mining.dmi'; icon_state = "rock_side_w"},/turf/unsimulated/beach/water/drop/dense,/area/awaymission/beach) +"dH" = (/turf/unsimulated/floor/lava/dense,/area/awaymission{name = "Snowland"; requires_power = 0}) +"dI" = (/obj/machinery/light,/turf/unsimulated/beach/water/deep/wood_floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"; name = "Pool Floor"},/area/awaymission/undersea{requires_power = 0}) +"dJ" = (/turf/unsimulated/wall{icon_state = "sandstone2"},/area/awaymission) +"dK" = (/obj/effect/view_portal/visual{dist = 3; id = "cultroom"},/turf/template_noop,/area/awaymission) +"dL" = (/turf/unsimulated/wall{icon_state = "sandstone5"},/area/awaymission) +"dM" = (/turf/unsimulated/wall{icon_state = "sandstone12"},/area/awaymission) +"dN" = (/turf/unsimulated/wall{icon_state = "sandstone9"},/area/awaymission) +"dO" = (/turf/space,/area/space) +"dP" = (/obj/effect/view_portal{id = "turbinespace"},/turf/space,/area/space) +"dQ" = (/turf/unsimulated/wall,/area/space) +"dR" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows"; opacity = 0},/area/space) +"dS" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/space) +"dT" = (/turf/unsimulated/wall/fakeglass{dir = 4; icon_state = "fakewindows"; opacity = 0},/area/space) +"dU" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows"; opacity = 0},/area/awaymission/spacehotel) +"dV" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/awaymission/spacehotel) +"dW" = (/turf/unsimulated/wall/fakeglass{dir = 4; icon_state = "fakewindows"; opacity = 0},/area/awaymission/spacehotel) +"dX" = (/turf/template_noop,/area/awaymission/spacehotel) +"dY" = (/obj/machinery/camera{c_tag = "Room 110"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"dZ" = (/obj/machinery/camera{c_tag = "Room 111"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"ea" = (/obj/machinery/camera{c_tag = "Room 112"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"eb" = (/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ec" = (/obj/structure/toilet,/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"ed" = (/obj/structure/closet/secure_closet/personal,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"ee" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/camera{c_tag = "Room X"; c_tag_order = 999; network = list("Hotel")},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"ef" = (/obj/machinery/camera{c_tag = "Room 210"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"eg" = (/obj/machinery/camera{c_tag = "Room 211"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"eh" = (/obj/machinery/camera{c_tag = "Room 212"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"ei" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"ej" = (/obj/machinery/light/small{dir = 8},/obj/item/weapon/paper/hotel_scrap_2,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"ek" = (/obj/machinery/light/small{dir = 4},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"el" = (/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"em" = (/obj/effect/landmark/map_loader/hotel_room,/turf/template_noop,/area/awaymission/spacehotel) +"en" = (/obj/machinery/door/airlock,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"eo" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"ep" = (/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"eq" = (/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"er" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 12; pixel_y = 2},/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"es" = (/obj/effect/decal/cleanable/flour{desc = "Probably."},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"et" = (/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour{desc = "Probably."},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"eu" = (/obj/machinery/light{dir = 1},/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission/spacehotel) +"ev" = (/obj/machinery/door/unpowered/hotel_door{icon = 'icons/obj/doors/Doorgold.dmi'; id = 110},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ew" = (/obj/machinery/door/unpowered/hotel_door{icon = 'icons/obj/doors/Doorgold.dmi'; id = 111},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ex" = (/obj/machinery/door/unpowered/hotel_door{icon = 'icons/obj/doors/Doorgold.dmi'; id = 112},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ey" = (/obj/machinery/door/unpowered/hotel_door{icon = 'icons/obj/doors/Doorgold.dmi'; id = 210},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ez" = (/obj/machinery/door/unpowered/hotel_door{icon = 'icons/obj/doors/Doorgold.dmi'; id = 211},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eA" = (/obj/machinery/door/unpowered/hotel_door{icon = 'icons/obj/doors/Doorgold.dmi'; id = 212},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eB" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/space) +"eC" = (/obj/machinery/light{dir = 1},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eD" = (/obj/machinery/light,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eE" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/space) +"eF" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eG" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eH" = (/obj/machinery/light{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eI" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eJ" = (/obj/structure/stool/bed/chair/comfy,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eK" = (/obj/structure/window/reinforced,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eL" = (/turf/unsimulated/wall/fakeglass,/area/space) +"eM" = (/turf/unsimulated/floor{dir = 2; icon_state = "whitebluecorner"},/area/awaymission/spacehotel) +"eN" = (/turf/unsimulated/floor{dir = 2; icon_state = "whiteblue"},/area/awaymission/spacehotel) +"eO" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor{dir = 8; icon_state = "whitebluecorner"},/area/awaymission/spacehotel) +"eP" = (/obj/machinery/light{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eQ" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eR" = (/turf/unsimulated/floor/upperlevel,/area/awaymission/upperlevel) +"eS" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor/upperlevel,/area/awaymission/upperlevel) +"eT" = (/obj/machinery/door/unpowered/hotel_door{id = 107},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eU" = (/obj/machinery/door/unpowered/hotel_door{id = 108},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eV" = (/obj/machinery/door/unpowered/hotel_door{id = 109},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"eW" = (/obj/effect/decal{icon = 'icons/turf/floors.dmi'; icon_state = "wood_siding13"; name = "wood siding"},/turf/unsimulated/floor/grass,/area/awaymission/spacehotel) +"eX" = (/turf/unsimulated/floor{dir = 4; icon_state = "whiteblue"},/area/awaymission/spacehotel) +"eY" = (/turf/simulated/shuttle/floor,/area/awaymission/spacehotel) +"eZ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/awaymission/spacehotel) +"fa" = (/obj/machinery/door/unpowered/hotel_door{id = 207},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fb" = (/obj/machinery/door/unpowered/hotel_door{id = 208},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fc" = (/obj/machinery/door/unpowered/hotel_door{id = 209},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fd" = (/obj/structure/window/reinforced{icon_state = "rwindow"; dir = 8},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fe" = (/obj/machinery/camera{c_tag = "Room 107"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"ff" = (/obj/machinery/camera{c_tag = "Room 108"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"fg" = (/obj/machinery/camera{c_tag = "Room 109"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"fh" = (/obj/effect/decal{icon = 'icons/turf/floors.dmi'; icon_state = "wood_siding12"; name = "wood siding"},/turf/unsimulated/floor/grass,/area/awaymission/spacehotel) +"fi" = (/obj/structure/window/plasmabasic,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fj" = (/turf/unsimulated/beach/water/drop,/area/awaymission/spacehotel) +"fk" = (/obj/machinery/light{dir = 1},/turf/unsimulated/beach/water/drop,/area/awaymission/spacehotel) +"fl" = (/turf/unsimulated/beach/water/deep,/area/awaymission/spacehotel) +"fm" = (/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/awaymission/spacehotel) +"fn" = (/obj/machinery/camera{c_tag = "Room 207"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"fo" = (/obj/machinery/camera{c_tag = "Room 208"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"fp" = (/obj/machinery/camera{c_tag = "Room 209"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"fq" = (/obj/structure/window/plasmabasic{icon_state = "plasmawindow"; dir = 4},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fr" = (/turf/unsimulated/beach/water{icon = 'icons/turf/floors.dmi'; icon_state = "light_on"},/area/awaymission/spacehotel) +"fs" = (/obj/structure/window/plasmabasic{icon_state = "plasmawindow"; dir = 8},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ft" = (/turf/unsimulated/beach/water,/area/awaymission/spacehotel) +"fu" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows3"},/area/space) +"fv" = (/obj/effect/landmark/map_loader/hotel_room{dir = 1},/turf/template_noop,/area/awaymission/spacehotel) +"fw" = (/mob/living/simple_animal/hostile/retaliate/carp,/turf/unsimulated/beach/water{icon = 'icons/turf/floors.dmi'; icon_state = "light_on"},/area/awaymission/spacehotel) +"fx" = (/obj/effect/landmark{name = "awaystart"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fy" = (/obj/structure/window/plasmabasic{icon_state = "plasmawindow"; dir = 1},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fz" = (/obj/structure/mirror,/turf/unsimulated/wall/metal,/area/awaymission/spacehotel) +"fA" = (/obj/effect/decal{icon = 'icons/turf/floors.dmi'; icon_state = "wood_siding14"; name = "wood siding"},/turf/unsimulated/floor/grass,/area/awaymission/spacehotel) +"fB" = (/obj/machinery/light{dir = 8},/turf/unsimulated/beach/water/drop,/area/awaymission/spacehotel) +"fC" = (/obj/structure/ladder/dive_point/buoy,/obj/structure/ladder/dive_point/buoy{id = "weirddive"; invisibility = 101},/turf/unsimulated/beach/water/deep,/area/awaymission/spacehotel) +"fD" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/beach/water/deep,/area/awaymission/spacehotel) +"fE" = (/obj/machinery/light,/obj/structure/window/reinforced{icon_state = "rwindow"; dir = 1},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fF" = (/obj/structure/window/reinforced{icon_state = "rwindow"; dir = 1},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fG" = (/obj/structure/closet/crate/bin,/obj/item/weapon/paper/crumpled/hotel_scrap_1,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fH" = (/obj/effect/landmark{name = "awaystart"},/turf/unsimulated/beach/water,/area/awaymission/spacehotel) +"fI" = (/obj/machinery/door/unpowered/hotel_door{id = 104},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fJ" = (/obj/machinery/door/unpowered/hotel_door{id = 105},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fK" = (/obj/machinery/door/unpowered/hotel_door{id = 106},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fL" = (/obj/machinery/door/unpowered/hotel_door{id = 204},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fM" = (/obj/machinery/door/unpowered/hotel_door{id = 205},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fN" = (/obj/machinery/door/unpowered/hotel_door{id = 206},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"fO" = (/obj/machinery/camera{c_tag = "Room 104"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"fP" = (/obj/machinery/camera{c_tag = "Room 105"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"fQ" = (/obj/machinery/camera{c_tag = "Room 106"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"fR" = (/obj/machinery/light,/turf/unsimulated/beach/water/drop,/area/awaymission/spacehotel) +"fS" = (/obj/machinery/camera{c_tag = "Room 204"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"fT" = (/obj/machinery/camera{c_tag = "Room 205"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"fU" = (/obj/machinery/camera{c_tag = "Room 206"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"fV" = (/obj/item/weapon/beach_ball,/turf/simulated/shuttle/floor,/area/awaymission/spacehotel) +"fW" = (/turf/unsimulated/wall/metal,/area/awaymission) +"fX" = (/obj/effect/levelref{id = "hotel"; name = "hotel level 1"},/turf/unsimulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/awaymission/spacehotel) +"fY" = (/turf/unsimulated/floor{dir = 1; icon_state = "whiteblue"},/area/awaymission/spacehotel) +"fZ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor{dir = 1; icon_state = "whitebluecorner"},/area/awaymission/spacehotel) +"ga" = (/obj/effect/levelref{id = "hotel"; name = "hotel level 2"},/turf/unsimulated/floor/upperlevel,/area/awaymission/upperlevel) +"gb" = (/obj/structure/window/reinforced{icon_state = "rwindow"; dir = 1},/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gc" = (/obj/structure/window/reinforced{icon_state = "rwindow"; dir = 1},/obj/structure/stool/bed/chair/sofa/left{icon_state = "sofaend_left"; dir = 4},/obj/structure/window/reinforced{icon_state = "rwindow"; dir = 8},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gd" = (/obj/structure/window/reinforced{icon_state = "rwindow"; dir = 1},/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ge" = (/obj/structure/window/reinforced{icon_state = "rwindow"; dir = 1},/obj/structure/stool/bed/chair/sofa/right{icon_state = "sofaend_right"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gf" = (/obj/structure/window/reinforced{icon_state = "rwindow"; dir = 1},/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/obj/item/weapon/paper/hotel_scrap_3,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gg" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gh" = (/obj/structure/table,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gi" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gj" = (/obj/structure/stool/bed/chair/sofa{icon_state = "sofamiddle"; dir = 4},/obj/structure/window/reinforced{icon_state = "rwindow"; dir = 8},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gk" = (/obj/structure/table/woodentable,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gl" = (/obj/structure/stool/bed/chair/sofa{icon_state = "sofamiddle"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gm" = (/obj/structure/stool/bed/chair/sofa/right{icon_state = "sofaend_right"; dir = 4},/obj/structure/window/reinforced{icon_state = "rwindow"; dir = 8},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gn" = (/obj/structure/stool/bed/chair/sofa/left{icon_state = "sofaend_left"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"go" = (/obj/machinery/light{dir = 8},/turf/template_noop,/area/awaymission/spacehotel) +"gp" = (/obj/structure/stool,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gq" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/closet/crate/bin,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gr" = (/obj/effect/landmark/map_loader/random{template_list = "light_floor_1.dmm;light_floor_2.dmm;light_floor_3.dmm"},/turf/template_noop,/area/awaymission/spacehotel) +"gs" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/template_noop,/area/awaymission/spacehotel) +"gt" = (/obj/machinery/door/unpowered/hotel_door{id = 101},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gu" = (/obj/machinery/door/unpowered/hotel_door{id = 102},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gv" = (/obj/machinery/door/unpowered/hotel_door{id = 103},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gw" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gx" = (/obj/machinery/door/unpowered/hotel_door{id = 201},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gy" = (/obj/machinery/door/unpowered/hotel_door{id = 202},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gz" = (/obj/machinery/door/unpowered/hotel_door{id = 203},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"gA" = (/obj/machinery/camera{c_tag = "Room 101"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"gB" = (/obj/machinery/camera{c_tag = "Room 102"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"gC" = (/obj/machinery/camera{c_tag = "Room 103"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"gD" = (/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gE" = (/mob/living/carbon/human/interactive/away/hotel/chef,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gF" = (/obj/machinery/camera{c_tag = "Room 201"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"gG" = (/obj/machinery/camera{c_tag = "Room 202"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"gH" = (/obj/machinery/camera{c_tag = "Room 203"; c_tag_order = 999; network = list("Hotel")},/turf/template_noop,/area/awaymission/spacehotel) +"gI" = (/obj/structure/stool,/turf/template_noop,/area/awaymission/spacehotel) +"gJ" = (/obj/structure/closet/crate/bin,/obj/item/weapon/paper/crumpled/hotel_scrap_6,/turf/template_noop,/area/awaymission/spacehotel) +"gK" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/awaymission/spacehotel) +"gL" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gM" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/dough,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gN" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gO" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/rawsticks,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gP" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"gQ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/awaymission/spacehotel) +"gR" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gS" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gT" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gU" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gV" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/salmonmeat,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gW" = (/obj/structure/table,/obj/item/weapon/book/manual/chef_recipes,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"gX" = (/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"gY" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"gZ" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"ha" = (/mob/living/carbon/human/interactive/away/hotel/bartender,/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"hb" = (/turf/unsimulated/wall/fakeglass,/area/awaymission/spacehotel) +"hc" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"hd" = (/obj/machinery/light,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"he" = (/obj/machinery/processor,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"hf" = (/obj/machinery/chem_master/condimaster,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"hg" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"hh" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"hi" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"hj" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"hk" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"hl" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/awaymission/spacehotel/kitchen) +"hm" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"hn" = (/obj/machinery/light,/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"ho" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"hp" = (/obj/structure/table,/obj/machinery/chem_dispenser/soda,/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"hq" = (/obj/structure/table,/obj/machinery/chem_dispenser/beer,/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"hr" = (/obj/machinery/light,/obj/structure/table,/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"hs" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"ht" = (/obj/machinery/door/airlock{name = "Kitchen"; req_access_txt = "150"},/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor,/area/awaymission/spacehotel) +"hu" = (/obj/machinery/door/airlock{name = "Kitchen"; req_access_txt = "150"},/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor{icon_state = "whiteyellowfull"},/area/awaymission/spacehotel) +"hv" = (/turf/unsimulated/floor,/area/awaymission/spacehotel) +"hw" = (/turf/unsimulated/wall{dynamic_lighting = 0; icon = null},/area/awaymission/spacehotel) +"hx" = (/obj/effect/view_portal/visual{dir = 8; dist = 0; id = "hotel_11"; radius = 0},/turf/unsimulated/floor,/area/awaymission/spacehotel) +"hy" = (/obj/effect/view_portal{id = "hotel_21"},/turf/unsimulated/floor{icon_state = "ramptop"; dir = 4},/area/awaymission/spacehotel) +"hz" = (/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon_state = "rampbottom"; dir = 4},/area/awaymission/spacehotel) +"hA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows3"},/area/awaymission/spacehotel) +"hB" = (/turf/unsimulated/floor{icon_state = "whiteyellow"; dir = 1},/area/awaymission/spacehotel) +"hC" = (/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon_state = "whiteyellow"; dir = 1},/area/awaymission/spacehotel) +"hD" = (/turf/unsimulated/floor{icon_state = "whiteyellowcorner"; dir = 1},/area/awaymission/spacehotel) +"hE" = (/turf/unsimulated/floor{icon_state = "white"},/area/awaymission/spacehotel) +"hF" = (/turf/unsimulated/floor{icon_state = "whiteyellowcorner"; dir = 4},/area/awaymission/spacehotel) +"hG" = (/obj/structure/ladder{height = 1; icon_state = "ladder10"; id = "service"},/turf/unsimulated/floor{icon_state = "whiteyellow"; dir = 5},/area/awaymission/spacehotel) +"hH" = (/turf/unsimulated/floor{icon_state = "ramptop"; dir = 4},/area/awaymission/spacehotel) +"hI" = (/obj/effect/view_portal{id = "hotel_11"},/turf/unsimulated/floor{icon_state = "rampbottom"; dir = 4},/area/awaymission/spacehotel) +"hJ" = (/obj/effect/view_portal/visual{dir = 4; dist = 0; id = "hotel_21"; opacity = 0; radius = 0},/turf/unsimulated/floor,/area/awaymission/spacehotel) +"hK" = (/obj/machinery/light{dir = 1},/turf/unsimulated/floor/upperlevel,/area/awaymission/upperlevel) +"hL" = (/obj/machinery/light/built{icon_state = "tube1"; dir = 1},/turf/unsimulated/floor{icon_state = "whiteyellow"; dir = 1},/area/awaymission/spacehotel) +"hM" = (/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor{icon_state = "whiteyellow"; dir = 1},/area/awaymission/spacehotel) +"hN" = (/obj/effect/decal/cleanable/blood/old,/obj/structure/ladder{height = 2; icon_state = "ladder01"; id = "service"},/turf/unsimulated/floor{icon_state = "whiteyellow"; dir = 5},/area/awaymission/spacehotel) +"hO" = (/obj/effect/view_portal/visual{dir = 8; dist = 7; id = "hotel_12"; radius = 2},/turf/unsimulated/floor,/area/awaymission/spacehotel) +"hP" = (/obj/effect/view_portal{id = "hotel_22"},/turf/unsimulated/floor{icon_state = "ramptop"; dir = 4},/area/awaymission/spacehotel) +"hQ" = (/turf/unsimulated/floor{icon_state = "rampbottom"; dir = 4},/area/awaymission/spacehotel) +"hR" = (/obj/machinery/door/airlock/glass{name = "Employees Only"; req_access_txt = "150"},/turf/unsimulated/floor{dir = 8; icon_state = "whitered"},/area/awaymission/spacehotel) +"hS" = (/turf/unsimulated/floor{icon_state = "whiteyellow"; dir = 4},/area/awaymission/spacehotel) +"hT" = (/obj/effect/view_portal{id = "hotel_12"},/turf/unsimulated/floor{icon_state = "rampbottom"; dir = 4},/area/awaymission/spacehotel) +"hU" = (/obj/effect/view_portal/visual{dir = 4; dist = 0; id = "hotel_22"; opacity = 0; radius = 0},/turf/unsimulated/floor,/area/awaymission/spacehotel) +"hV" = (/obj/machinery/door/airlock/glass{icon_state = "door_locked"; locked = 1; name = "Employees Only"; req_access_txt = "150"},/obj/item/tape/police{icon_state = "police_door"; layer = 3.2},/turf/unsimulated/floor{dir = 8; icon_state = "whitered"},/area/awaymission/spacehotel) +"hW" = (/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor{icon_state = "white"},/area/awaymission/spacehotel) +"hX" = (/obj/effect/view_portal/visual{dir = 8; dist = 0; id = "hotel_13"; radius = 0},/turf/unsimulated/floor,/area/awaymission/spacehotel) +"hY" = (/obj/effect/view_portal{id = "hotel_23"},/turf/unsimulated/floor{icon_state = "ramptop"; dir = 4},/area/awaymission/spacehotel) +"hZ" = (/obj/machinery/light,/turf/unsimulated/floor{icon_state = "rampbottom"; dir = 4},/area/awaymission/spacehotel) +"ia" = (/turf/unsimulated/floor{icon_state = "whiteyellow"},/area/awaymission/spacehotel) +"ib" = (/turf/unsimulated/floor{icon_state = "whiteyellowcorner"; dir = 8},/area/awaymission/spacehotel) +"ic" = (/turf/unsimulated/floor{icon_state = "whiteyellowcorner"},/area/awaymission/spacehotel) +"id" = (/turf/unsimulated/floor{icon_state = "whiteyellow"; dir = 6},/area/awaymission/spacehotel) +"ie" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows2"},/area/space) +"if" = (/obj/effect/view_portal{id = "hotel_13"},/turf/unsimulated/floor{icon_state = "rampbottom"; dir = 4},/area/awaymission/spacehotel) +"ig" = (/obj/effect/view_portal/visual{dir = 4; dist = 0; id = "hotel_23"; opacity = 0; radius = 0},/turf/unsimulated/floor,/area/awaymission/spacehotel) +"ih" = (/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor{icon_state = "whiteyellow"},/area/awaymission/spacehotel) +"ii" = (/obj/machinery/door/airlock{name = "Supply"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission/spacehotel) +"ij" = (/obj/machinery/door/airlock/glass{name = "Mail Room"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ik" = (/obj/machinery/door/airlock{name = "Security"; req_access_txt = "150"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"il" = (/obj/machinery/door/airlock{name = "Electrical Room"; req_access_txt = "150"},/obj/structure/cable/heavyduty{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/unsimulated/floor,/area/awaymission/spacehotel) +"im" = (/obj/machinery/door/airlock{name = "Employees Only"; req_access_txt = "150"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"in" = (/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/wall/metal,/area/awaymission/spacehotel) +"io" = (/obj/effect/decal/cleanable/blood/old,/obj/structure/falsewall,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"ip" = (/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission/spacehotel) +"iq" = (/obj/structure/closet/crate/secure/loot,/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission/spacehotel) +"ir" = (/turf/unsimulated/floor{icon_state = "warning"; dir = 8},/area/awaymission/spacehotel) +"is" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"it" = (/obj/machinery/vending/sovietsoda,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"iu" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; dir = 4; name = "Hotel Security Monitor"; network = list("Hotel"); use_power = 0},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"iv" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"iw" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; name = "Hotel Security Monitor"; network = list("Hotel"); use_power = 0},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ix" = (/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"iy" = (/obj/item/stack/cable_coil/random,/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"iz" = (/obj/structure/cable/heavyduty{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"iA" = (/obj/machinery/computer/account_database,/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"iB" = (/turf/unsimulated/floor/wood,/area/awaymission/spacehotel) +"iC" = (/obj/structure/window/basic{icon_state = "window"; dir = 8},/obj/structure/flora/ausbushes/fernybush,/turf/unsimulated/floor/grass,/area/awaymission/spacehotel) +"iD" = (/turf/unsimulated/wall{icon = 'icons/turf/walls/cult_wall.dmi'; icon_state = "cult"; desc = "The patterns engraved on the wall seem to shift as you try to focus on them. You feel sick"},/area/awaymission/spacehotel) +"iE" = (/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"iF" = (/obj/structure/closet/crate/plastic,/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission/spacehotel) +"iG" = (/obj/machinery/vending/snack,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"iH" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"iI" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"iJ" = (/obj/structure{desc = "It appears to be similar to a SMES."; icon = 'icons/obj/power.dmi'; icon_state = "smes"; name = "WaffeCo PSU"},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"iK" = (/obj/structure{desc = "It appears to be some sort of generator."; icon = 'icons/obj/power.dmi'; icon_state = "teg"; name = "WaffeCo PGU"},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"iL" = (/obj/machinery/power/supermatter_shard,/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"iM" = (/obj/machinery/gateway{dir = 9},/turf/unsimulated/floor{icon_state = "warning"; dir = 9},/area/awaymission/spacehotel) +"iN" = (/obj/machinery/gateway{dir = 1},/turf/unsimulated/floor{icon_state = "warning"; dir = 1},/area/awaymission/spacehotel) +"iO" = (/obj/machinery/gateway{dir = 5},/turf/unsimulated/floor{icon_state = "warning"; dir = 5},/area/awaymission/spacehotel) +"iP" = (/obj/structure/window/basic{icon_state = "window"; dir = 8},/obj/structure/flora/grass/both,/turf/unsimulated/floor/grass,/area/awaymission/spacehotel) +"iQ" = (/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"iR" = (/obj/effect/gibspawner/human,/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"iS" = (/obj/structure/table/reinforced,/obj/machinery/door/poddoor/shutters/preopen,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"iT" = (/obj/machinery/vending/cola,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"iU" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; dir = 4; name = "Hotel Security Monitor"; network = list("Hotel"); use_power = 0},/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"iV" = (/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"iW" = (/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/heavyduty{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"iX" = (/obj/structure/cable/heavyduty{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"iY" = (/obj/structure/cable/heavyduty{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/heavyduty{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"iZ" = (/obj/structure/cable/heavyduty{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/unsimulated/floor/plating{icon_state = "platingdmg1"},/area/awaymission/spacehotel) +"ja" = (/obj/structure/cable/heavyduty{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/heavyduty{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"jb" = (/obj/machinery/light/small{dir = 4},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"jc" = (/obj/machinery/gateway{dir = 8},/turf/unsimulated/floor{icon_state = "warning"; dir = 8},/area/awaymission/spacehotel) +"jd" = (/obj/machinery/gateway/centeraway{calibrated = 0},/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission/spacehotel) +"je" = (/obj/machinery/gateway{dir = 4},/turf/unsimulated/floor{icon_state = "warning"; dir = 4},/area/awaymission/spacehotel) +"jf" = (/obj/structure/window/basic{icon_state = "window"; dir = 8},/obj/structure/flora/rock,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/grass,/area/awaymission/spacehotel) +"jg" = (/obj/item/candle,/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"jh" = (/obj/effect/rune,/obj/item/organ/brain,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"ji" = (/obj/item/candle,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"jj" = (/obj/item/weapon/tome,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"jk" = (/obj/structure/closet/crate/critter,/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission/spacehotel) +"jl" = (/obj/machinery/door/airlock/glass{name = "Lobby"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jm" = (/obj/effect/spawner/snpc_squad{squad_type = /mob/living/carbon/human/interactive/away/hotel/guard},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jn" = (/obj/structure{desc = "It appears to be similar to a SMES."; icon = 'icons/obj/power.dmi'; icon_state = "smes"; name = "WaffeCo PSU"},/turf/unsimulated/floor/plating{icon_state = "platingdmg1"},/area/awaymission/spacehotel) +"jo" = (/obj/effect/decal/remains/human,/obj/item/clothing/head/soft/red,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jp" = (/obj/item/toy/prize/honk,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jq" = (/obj/item/toy/spinningtoy,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jr" = (/obj/item/weapon/bananapeel,/obj/item/toy/spinningtoy,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"js" = (/obj/structure/barricade/wooden,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jt" = (/obj/machinery/door/airlock/glass,/obj/item/tape/engineering{icon_state = "engineering_door"; layer = 3.2},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ju" = (/obj/machinery/gateway{dir = 10},/turf/unsimulated/floor{icon_state = "warning"; dir = 10},/area/awaymission/spacehotel) +"jv" = (/obj/machinery/gateway,/turf/unsimulated/floor{icon_state = "warning"},/area/awaymission/spacehotel) +"jw" = (/obj/machinery/gateway{dir = 6},/turf/unsimulated/floor{icon_state = "warning"; dir = 6},/area/awaymission/spacehotel) +"jx" = (/obj/structure/window/basic{icon_state = "window"; dir = 8},/obj/structure/flora/ausbushes/palebush,/turf/unsimulated/floor/grass,/area/awaymission/spacehotel) +"jy" = (/obj/item/device/flashlight/lantern{on = 1},/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"jz" = (/obj/effect/rune,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"jA" = (/obj/structure/stool/bed/chair/comfy,/obj/item/device/soulstone,/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/remains/human,/obj/effect/view_portal{id = "cultroom"},/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"jB" = (/obj/effect/gibspawner/human,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"jC" = (/obj/machinery/atm{pixel_y = 32},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jD" = (/obj/effect/decal/warning_stripes/white/hollow,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jE" = (/obj/item/weapon/paper/pamphlet{pixel_x = -8; pixel_y = 4},/obj/structure/table/reinforced,/obj/item/weapon/paper/pamphlet/hotel{pixel_x = 8; pixel_y = 8},/obj/item/weapon/paper/pamphlet/hotel{pixel_x = 8; pixel_y = 4},/obj/item/weapon/paper/pamphlet/hotel{pixel_x = 8},/obj/item/weapon/paper/pamphlet/hotel{pixel_x = 8; pixel_y = -4},/obj/item/weapon/paper/pamphlet/hotel{pixel_x = 8; pixel_y = -8},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"jF" = (/obj/item/latexballon,/obj/item/latexballon,/obj/structure/table/glass,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"jG" = (/obj/structure/rack,/obj/item/key,/obj/item/key,/obj/item/key,/obj/item/key,/obj/item/key,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"jH" = (/obj/structure/stool/bed/chair/comfy,/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jI" = (/obj/structure/stool/bed/chair/comfy,/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jJ" = (/obj/structure/cable/heavyduty{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"jK" = (/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/heavyduty{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"jL" = (/obj/structure/cable/heavyduty{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"jM" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jN" = (/obj/item/trash/candle,/obj/item/trash/candle,/obj/item/trash/candle,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jO" = (/obj/structure/window/basic{icon_state = "window"; dir = 8},/obj/structure/flora/bush,/turf/unsimulated/floor/grass,/area/awaymission/spacehotel) +"jP" = (/obj/item/weapon/restraints/legcuffs,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"jQ" = (/obj/structure/closet/crate/secure/unknownchemicals,/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission/spacehotel) +"jR" = (/obj/structure/closet/crate/bin,/obj/item/weapon/paper/crumpled/hotel_scrap_7,/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission/spacehotel) +"jS" = (/obj/structure/table/reinforced,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"jT" = (/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"jU" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; dir = 1; name = "Hotel Security Monitor"; network = list("Hotel"); use_power = 0},/obj/machinery/light,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jV" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Not used to spy on hotel rooms."; dir = 1; name = "Hotel Security Monitor"; network = list("Hotel"); use_power = 0},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jW" = (/obj/machinery/light/small,/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"jX" = (/obj/item/toy/sword,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jY" = (/obj/item/target/syndicate,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"jZ" = (/obj/item/trash/sosjerky,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ka" = (/obj/item/weapon/gun/projectile/shotgun/toy/crossbow,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"kb" = (/obj/machinery/space_heater,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"kc" = (/obj/machinery/door/airlock{name = "Supply Closet"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"kd" = (/obj/machinery/door/airlock/glass{name = "Gateway"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ke" = (/obj/item/weapon/melee/cultblade,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"kf" = (/obj/item/weapon/kitchen/knife/butcher{blood_DNA = 1e+009},/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"kg" = (/obj/machinery/light{dir = 8},/obj/structure/stool/bed/chair/sofa/left{icon_state = "sofaend_left"; dir = 4},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"kh" = (/obj/effect/hotel_controller,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ki" = (/obj/item/weapon/pen,/obj/structure/table/reinforced,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"kj" = (/obj/structure/stool/bed/chair{dir = 8},/mob/living/carbon/human/interactive/away/hotel/concierge,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"kk" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"kl" = (/obj/structure/stool/bed/chair/sofa{icon_state = "sofamiddle"; dir = 4},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"km" = (/obj/item/weapon/clipboard,/obj/item/weapon/paper,/obj/structure/table/reinforced,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"kn" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"ko" = (/obj/structure/filingcabinet/filingcabinet,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"kp" = (/obj/structure/filingcabinet/filingcabinet,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"kq" = (/obj/structure/stool/bed/chair/sofa/corner{dir = 4},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"kr" = (/obj/structure/stool/bed/chair/sofa{dir = 1},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ks" = (/obj/machinery/light,/obj/structure/stool/bed/chair/sofa/left{dir = 1},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"kt" = (/obj/machinery/light,/obj/structure/stool/bed/chair/sofa/right{dir = 1},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"ku" = (/obj/structure/stool/bed/chair/sofa/left{dir = 1},/obj/effect/decal/warning_stripes/white/hollow,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) +"kv" = (/obj/item/weapon/paper_bin,/obj/structure/table/glass,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"kw" = (/obj/structure/table/glass,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) +"kx" = (/turf/unsimulated/wall/fakeglass{dir = 10; icon_state = "fakewindows"},/area/space) +"ky" = (/turf/unsimulated/wall/fakeglass{dir = 4; icon_state = "fakewindows"; opacity = 1},/area/space) +"kz" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/turf/unsimulated/floor/plating,/area/awaymission/spacehotel) +"kA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/space) +"kB" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 6},/area/space) +"kC" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/awaymission) +"kD" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaymission) +"kE" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/awaymission) +"kF" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/awaymission) +"kG" = (/turf/unsimulated/wall/fakeglass{dir = 4; icon_state = "fakewindows"; opacity = 1},/area/awaymission) +"kH" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaymission) +"kI" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/plating,/area/awaymission) +"kJ" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/awaymission) +"kK" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/space) +"kL" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/space) +"kM" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/space) +"kN" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows3"},/area/awaymission) +"kO" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/wall{icon_state = "swallc4"; dir = 2},/area/awaymission) +"kP" = (/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor,/area/awaymission) +"kQ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/awaymission) +"kR" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/weapon/paper/hotel_scrap_4,/turf/simulated/shuttle/floor,/area/awaymission) +"kS" = (/turf/simulated/shuttle/floor,/area/awaymission) +"kT" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/floor,/area/awaymission) +"kU" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/unsimulated/floor/plating/airless,/area/awaymission) +"kV" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/space,/area/awaymission) +"kW" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"; dir = 2},/area/space) +"kX" = (/turf/simulated/shuttle/wall/interior,/area/space) +"kY" = (/turf/simulated/shuttle/wall{icon_state = "swall3"},/area/space) +"kZ" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/space,/area/space) +"la" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/floor,/area/awaymission) +"lb" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor,/area/awaymission) +"lc" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/floor,/area/awaymission) +"ld" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/awaymission) +"le" = (/turf/simulated/shuttle/wall{icon_state = "swallc1"; dir = 2},/area/awaymission) +"lf" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor,/area/awaymission) +"lg" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/cleanable/blood/old,/turf/simulated/shuttle/floor,/area/awaymission) +"lh" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/space) +"li" = (/turf/simulated/shuttle/wall{icon_state = "swallc1"; dir = 2},/area/space) +"lj" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/awaymission) +"lk" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/space) +"ll" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"lm" = (/obj/structure/curtain/open/shower,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/awaymission{name = "Amazing Place"; requires_power = 0}) +"ln" = (/obj/item/weapon/paper/hotel_scrap_8,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacadacacacacacacacacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaeaiahaiaiaiafaiaiaiaiaiaiacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaabababababababababababababababababababacajamamamamamanaiaiaiaiaiaiacababababababababababababababababababaaaaaaaaaa -aaaaaaabaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoabaaaaaaaaaa -aaaaaaabaoaqaqarasatauavawaoaqaqaraxayauavawaoazazazazazazazazazazazazazaoaAaoaBaoaCaCaCaDaCaCaCaoaEaoaFaoaoabaaaaaaaaaa -aaaaaaabaoaqaqaGaHaHaHaHaIaoaqaqaGaHaHaHaHaJaoaHazazazazaKaLaMazazazazaoaoaNaoaNaoaOaNaNaNaNaNaPaoaNaoaNaoaoabaaaaaaaaaa -aaaaaaabaoaQaRaSaHaHaHaHaIaoaQaRaSaHaHaHaHaJaoaHaHazazazaTaUaVazazazaHaoaoaWaoaWaoaoaoaoaWaoaoaoaoaWaoaWaoaoabaaaaaaaaaa -aaaaaaabaoaXaYaZaHaHbaaHbbaoaXaYaZaHaHbaaHbcaoaHaHaHazazbdbebfazazaHaHaobgaNaNaNaNaNbhaNaNaNbhaNaNbibiaNbjaoababaaaaaaaa -aaaaaaabaoaoaoaobkbkaoaoaoaoaoaoaoblblaoaoaoaoaHaHaHaHazazazazazazaHaHaoaoaoaoaoaoaoaoaNaNaNaoaoaoaoaoaoaoaoaoabaaaaaaaa -aaaaaaaabmaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHazazazazaHaHaHaHbnaHaHaHaHaHaHbnaHaHaHbnaHaHaHaHaHaHbnaoabaaaaaaaa -aaaaaaaaboaHbpaHaHaHbpaHaHaHbpaHaHaHbpaHaHaHbpaHaHaHaHaHbqaHbqaHaHaHaHaHaHaHbraHaHbraHaHbraHaHbraHaHbraHaHaHaoabaaaaaaaa -aaaaaaaabsaHaHaHaHaHbqaHaHaHaHaHbqaHaHaHaHaHaHaHaHaHaHbtaobuaobvaHaHaHbwbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbyaoabaaaaaaaa -aaaaaaabaoaoaobzaoaoaoaoaobAaoaoaoaoaobBaoaoaoaHaHaHaHaHbnaHbnaHaHaHaHbCbDbDbDbDbDbDbDbDbDbDbDbDbDbDbDbDbDbEaoabaaaaaaaa -aaaaaaabaoaHbFbGaHavaoaHbHbIaHbJaoaHbKbLaHavaoaHaHaHaHaHaHaHaHaHaHaHaHbCbDaqaqaqaqaqaqaqbMaqaqaqaqaqaqaqbDbNbmaaaaaaaaaa -aaaaaaabaobvaHbaaHbOaobvaHaHaHbPaobvaHaHaHbQaoaHaHaHaHaHbpaHbpaHaHaHaHbCbDaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqbDbNboaaaaaaaaaa -aaaaaaaabRaHaHaHaHbSaoaHaHaHaHbPaoaHaHaHaHbQaoaHaHaHaHaHaHaHaHaHaHaHaHbCbDaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqbDbNboaaaaaaaaaa -aaaaaaabaobTbTbUbTbVaobTbTbUbTbVaobTbTbUbTbVaoaHaHaHaHaHaHaHaHaHaHaHaHbCbDaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqbDbNboaaaaaaaaaa -aaaaaaabbWbXaYaZbYaobWbXaYaZbYaobWbZcaaZbYaoaoaHaHaHaHaHbpaHbpaHaHaHaHbCbDaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqbDbNboaaaaaaaaaa -aaaaaaabaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaHaHaHaHaHaHaHaHaHaHaHaHbCbDcbaqaqaqaqaqaqaqaqaqaqaqaqaqccbDbNboaaaaaaaaaa -aaaaaaaabmaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHbqaHbqaHaHaHaHbCbDaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqbDbNboaaaaaaaaaa -aaaaaaaaboaHbpaHaHaHbpaHaHaHbpaHaHaHbpaHaHaHbpaHaHaHaHbtaobuaobvaHaHaHbCbDaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqbDbNboaaaaaaaaaa -aaaaaaaabsaHaHaHaHaHbqaHaHcdcdaHbqaHaHaHaHaHaHaHaHaHaHaHbnaHbnaHaHaHaHbCbDaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqbDbNboaaaaaaaaaa -aaaaaaabaoaoaoceaoaoaoaoaocfaoaoaoaoaocgaoaoaoaHaHaHaHaHaHaHaHaHaHaHaHbCbDaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqbDbNboaaaaaaaaaa -aaaaaaabaoaHchciaHcjaoaHckclaHavaoaHcmcnaHcoaoaHaHaHaHaHbpaHbpaHaHaHaHbCbDaqaqaqaqaqaqaqcpaqaqaqaqaqaqaqbDbNbsaaaaaaaaaa -aaaaaaabaobvaHaHaHcqaocrcrcrcrcsaobvaHaHaHctaoaHaHaHaHaHaHaHaHaHaHaHaHbCbDbDbDcubDbDbDbDbDbDbDbDbDbDbDbDbDbEaoabaaaaaaaa -aaaaaaaabRaHaHaHaHcqaoaHcrcrcrcvaoaHaHaHaHctaoaHaHaHaHaHaHaHaHaHaHaHaHcwaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRcxaoabaaaaaaaa -aaaaaaabaobTbTbUbTbVaobTbTcyczbVaobTbTbUbTbVaoaHaHaHaHaHbpaHbpaHaHaHaobvaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHbmaaaaaaaaaa -aaaaaaabbWbXaYaZbYaobWbXaYaZbYaobWbXaYaZbYaoaoaHaHaHaHaHaHaHaHaHaHaHaHaHcAcBcCcAcBcCcAcBcCcAcBcCcAcBcCcAcBcCboaaaaaaaaaa -aaaaaaabaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaHaHaHaHaHaHaHaHaHaHaHaobvaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHboaaaaaaaaaa -aaaaaaaabmaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHbqaHbqaHaHaHaHaHcAcBcCcAcBcCcAcBcCcAcBcCcAcBcCcAcBcCboaaaaaaaaaa -aaaaaaaaboaHbpaHaHaHbpaHaHaHbpaHaHaHbpaHaHaHbpaHaHaHaHbtaobuaobvaHaHaobvaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHbsaaaaaaaaaa -aaaaaaaabsaHaHaHaHaHbqaHaHaHaHaHbqaHaHaHaHaHaHaHaHaHaHaHbnaHbnaHaHaHaHaHcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDbtaoabaaaaaaaa -aaaaaaabaoaoaocEaoaoaoaoaocFaoaoaoaoaocGaoaoaoaHaHaHaHaHbpaHbpaHaHaHaHcBcBcBcBcBcBcBcBcBcBcBcBcBcBcBcBcBcBcBaoabaaaaaaaa -aaaaaaabaoaHcHcIaHcJaoaHcKcLaHavaocMcNcOaHavaoaHaHaHaHaHaHaHaHaHaHaHaHcBcPcPcPcQcPcPcPcPcPcPcPcPcPcPcPcQcPcPaoabaaaaaaaa -aaaaaaabaoaHaHagcScTaobvaHaHaHcUaocVcWcWaHcXaoaHaHaHaHaHaHaHaHaHaHaHaHaocYcPcZdadbdbcPcPcPcPcPdadadadadacPcYaoabaaaaaaaa -aaaaaaaabRaHdcddcSdeaoaHaHaHaHcUaocWdfcWaHdgaoaHaHaHaHaHbpaHbpaHaHaHaHaodhcPdadidjdkcPcPcPcQcPdadadldadacPdhaoabaaaaaaaa -aaaaaaabaodmdndodndpaobTbTbUbTbVaodqdrdsdrbVaoaHaHaHaHaHaHaHaHaHaHaHaHaodtcPcQcPcPcPcPcPcPcPcPcPcPcPcPcPcPdtaoabaaaaaaaa -aaaaaaabbWduakdwalaobWbXaYaZbYaobWbXaYaZbYaoaoaHaHaHaHaHbqaHbqaHaHaHaHaocPdydzdAdBdCcQdycPdycPcPdDdEdFcPdycQaoabaaaaaaaa -aaaaaaabaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaHaHaHaHbtaobuaobvaHaHaHaoaoaoaoaoaoaoaoaodGaoaoaoaoaoaoaoaoaoaoabaaaaaaaa -aaaaaaabaoaHaHaHaHaHaHaHaHaHdHaHaHaHaHaHdIdIdIaHaHaHaHaHbnaHbnaHaHaHaHaHaHaHaHbnaHaHaHaHaHaHaHaHaHaHcWaHaHcWbmaaaaaaaaaa -aaaaaaabaodJaHdKaHaHaHaHaHaHaHdHaHaHaHaHdIdIdIaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHcWcWcWcWaHboaaaaaaaaaa -aaaaaaabaoaHaHaHaHaHaHdHaHaHaHaHaHdLaHaHaHdIdIdIaHaHaHaHbpaHbpaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHcWcWaHcWaHaHbsaaaaaaaaaa -aaaaaaabaodMaHdJaHaHaHaHaHaHaHdLaHaHaHaHaHaHdNaoaHaHaHaHaHaHaHaHaHaHaHaoaoaoaodOaoaoaoaoaoaodPdPdPaoaoaoaoaoaoabaaaaaaaa -aaaaaaabaodQdRaHaHaHaHdLaHaHaHaHaHaHdLaHaHaHaHaodSaHaHaHaHaHaHaHaHaHdTaodUdVaHaHaHdWdWdWaodXdXdYdXdXdXdXdXdXaoabaaaaaaaa -aaaaaaabaoaodZeaaHdHaHaHaHdHaHaHdHaHaHaHaHaHaHaodSaHaHaHbpaHbpaHaHaHebaodUcCaHaHaHecededaodXeeefeedXdXdXdXeeaoabaaaaaaaa -aaaaaaababaoegdJaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaodSaHaHaHaHaHaHaHaHaHehaodUdVaHaHaHaHaHaHaodXeeeeeiejekeeeeelaoabaaaaaaaa -aaaaaaaaabaoaHaHaHaHaHdLaHaHaHaHaHdHaHaHaHdIdIaoaoaoaoaodOaodOaoaoaoaoaodUcCaHaHaHaHaHaHaoeeeeeeemenemeeeoeeaoabaaaaaaaa -aaaaaaaaabaoaHepaHaHaHaHaHaHaHaHdHaHaHaHaHdIdIaoaHaHaHaHaHbnaHaHeqeresaobvaHaHbretbreuetaodXeeeeekemekeeeveeaoabaaaaaaaa -aaaaaaaaabaoewewaHaHaHaHaHaHaHaHaHaHaHaHaHdIdIdOaHaHaHaHbpaHbpaHexaHaHdOaHaHaHeyeyeyeyeyaodXezeoeeeeeAeedXdXaoabaaaaaaaa -aaaaaaaaabaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaobvaHaHaHaHaHaHaHeBeCaHdPaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoabaaaaaaaa -aaaaaaaaabababababababababababababababababababbmaHaHaHaHaHaHaHaHeDcCeEaoababababababababababababababababababababaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboaHaHaHaHbpaHbpaHexaHeEaoabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboaHaHaHaHaHaHaHbqexeFexaoabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeGeHeHeIaoeJaoeJaoaoaoaoaoabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeJaoeJababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacReLeMeHeIeNeOeNeOeNeMeHeIeNdvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacRbReQeReSeSeSbDbDbDbDbDeSeSeSeTeUeVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabReWeXbDbDbDbDbDeSeSeSbDbDbDbDeYeUeVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxbRfabDeSeWeSbDbDeRbDbDfbfceSeTeUeVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxeNeMeHeIeNeLeLeLeNeMeHeIeNeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababacacacacacacacacacacacacacacacacacacacacacacacacacadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaeaeaeaeaeaeaeafaeafaeagagagagagaeafaeahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaiaiaiajaiaiaiabacacacacacacacacacacacacacakalacacacacacacacacacacadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaeamamanaoafaeapaeaqaeagagagagagaearaeahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaiaiaiaiaiaiaiabacacacacacacacacacacacakasatatasasasasalacacacacacadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaeauaeaeaeaeaeavaeawaeaeaeaeaeaeaeaxaeahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaiaiaiaiayaiaiabacacacacacacacakasasasatatatatatatatatatasasalacacadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaeamamazaAafaeamaeamamaBaAafaeamamamaeahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaaaaaaaaaaaCaDaDaDaDaDaCaaaaaaaaaaaaaaaaabaiaiaiaiaiaiaiabacaEasasasasasatatatatatatatatataFatataGatataHacacadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaeaeaeaeaeaeaeaIaeaeaeaeaeaeaeaPaeamaeahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaaaaaaaaaaaCaDaDaJaDaDaCaaaaaaaaaKaaaaaaabaiaiaiaiaiaiaiabacacaLatatatatatatataMaMaMatatatatatatatatatatalacadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaeafaNaOamamaeaPamamaeafaQamamamaeauaeahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaaaaaaaaaaaCaRaSaTaUaVaCaaaaaaaWaXaaaaaaabaYaiaiaiaiaZbaabacacaLatatatatatatbbbcbdbebfatatatatatatatatatbgacadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaeaeaeaeaeaPaeamaeauaeaeaeaeaeaeaeamaeahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaaaaaaaaaaaabhbibjbibkaaaaaablbmaaaaaaaaabaiaiaiaiaiaiaiabacacaLatatatatatatbnbobpbobfatatatatbqatatataHacacadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaeafbrbsamamaeamaeamambtaAafaellaeamaeahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaaaaaaaaaabubjbjbjbjbjbvaaaabwbxaaaaaaaaabaiaiaiaiaiaiaiabacacbyatatatatatatbzbAbBbAbfatbCatatatatatataHacacadadadadadadadadbDbDbDbDbDbDbDbDbDbDbDbDbDadadadadadadadadaeaeaeaeaeaeaeamaeaeaeaeaeaeaelmamamaeahahahahahahahahahahahahahahahahahahahahahahah +aabEbFaabGbHbHbHbjbjbjbjbjbjbjbHbHbjbjbIaaaaaaabaiaiaiaiaiaiaiabacacacaLatatatatatatbJbKbJatatatatatatatatataHacacadadadadadadadadbDbDbDbLbMbMbNbDbDbDbDbDbDadadadadadadadadaeagaeafaeafaebOaeambPamaeagaeaeaebQaeahahahahahahahahahahahahahahahahahahahahahahah +aaaabRbSbjbjbTbjbjbUbjbjbjbjbjbjbTbjbjbjbvaaaaabaiaiaiaiaiaiaiabacacacaLatatbCatatatatatatatatatatatatatatataHacacadadadadadadadadbDbDbLbVbVbVbVbMbMbMbNbDbDadadadadadadadadaeagaebWaebXaebYaebZaecaaeagagagaecbaeahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaabwbjbjbjbjbjbjbjbjbjbjbjbjbjbjbUbxaaaaabcccccdceaiaiaiabacacacaLatatatatatatatatatatatatatatatatatataHacacadadadadadadadadbDbLbVbVcfbVbVbVcfbVcgbDbDadadadadadadadadaeagaechaeciaeafaecjaeckaeagagagaeafaeahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaabwbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbxaaaaclcmcncocpclabababacacacaLatatatatatatatatatbqatatatatatatatataHacacadadadadadadadadbDcqbVbVbVbVcrbVbVbVcgbDbDadadadadadadadadaeagaecsctcuaeagaeafaeafaeagagagagagagahahahahahahahahahahahahahahahahahahahahahahah +aaaacvaabwbjbjcwbjbjbjbUbjbjbjbjbjbjbjbjbxaaaaclclclclcxclcycycyacacakatatatatatatatatatatatatatatatatatatatatalacadadadadadadadadbDcqbVbVbVcrczcrbVbVbVbNbDadadadadadadadadaeagaeaeaeaeaeagagagagagagagagagagagagahahahahahahahahahahahahahahahahahahahahahahah +aacAcBaabwbjbjbjbjbjbjbjbjcCbjbjcwbjbjbjbxaaaacycycyclclclcycycyacacbycDatatatatatatatatatatatatatatatatatatatbgacadadadadadadadadbDcEbVbVbVbVcrbVbVbVbVcgbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +aacFcGaabwbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbxaaaacycycycycycycycycyacacacaccHcIcJcJcJcJcJcKcJcJcLcJcJcKcJcMcJcJcNacacadadadadadadadadbDcOcqbVcfbVbVbVcfbVbVcPbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +aacQbjbHbjbjbjbjbjcwbjbjbjbjbjbjbjbjbjbjbjbvaaabcRabababababababacacacaccScTcTcTcTcTcTcTcTcTcTcTcTcTcTcTcTcTcUacacadadadadadadadadbDbDcEcVbVbVbVbVbVcVcPcObDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +aacWcXbjbjbjbjbjbjbjbjbjbjbjbUbjbjbjbjcCbjbxaaabababababababababacacacaccYcTcTcTcTcTcTcTcTcTcTcTcTcTcTcTcZdaacacacadadadadadadadadbDbDcOcOcEcVbVcVcPcOcObDbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +aaaaaacWbjbjcwbjbjbjbjbjbjbjbjbjbjcwbjbjbjbxaaabaiaiaiajaiaiaiabacacacacacdbcZcTcTcTcTcTcTcTcTcTcTcTcTdcacacacacacadadadadadadadadbDbDbDbDcOcOddcOcObDbDbDbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaabwbjcCbjbjbjbUbjbjbjbjbjbjbjcXcXcXdeaaabaiaiaidfaiaiaiabacacacacacacaccScTcTcTcTcTcTcTcTcTcTcTdgacacacacacadadadadadadadadbDbDbDbDbDbDddbDbDbDbDbDbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaacWcXcXcXcXbjdhdhbjcXcXcXcXdeaaaaaaaaaaabaidiaiaiaiaiaiabacacacacacacaccYcZcTcTcTcTcTcTcTcTcZdaacacacacacacadadadadadadadadbDbDbDbDbDbLcPbDbDbDbDbDbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaaaaaaaaaaaadjdkdkdlaaaaaaaaaaaaaaaaaaaaabaiaiaiaiaiaiaiabacacacacacacacacacdmdndndndndndndoacacacacacacacacadadadadadadadadbDbDbDbDbDddcObDbDbDbDbDbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +aaaaaaaaaaaaaaaaaadpdqdqdraaaaaaaaaaaaaaaaaaaaabaiaiaiaiaiaiaiabacacacacacacacacacdsdtdudududududvacacacacacacacacadadadadadadadadbDbDbDbDbDddbDbDbDbDbDbDbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dwdwdwdxaaaaaadydwdkdkdkdkdwdwdwdxaaaaaaaaaaaaabdzaiaiaiaidAbaabacacacacacacacacacacacdBdududCdtdDacacacacacacacacadadadadadadadadbDbDbDbDbDcEdEbNbDbDbDbDbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dkdkdkdkdwdwdwdkdkdkdFdFdkdkdkdkdkdwdwdwdwdwdwabaiaiaiaiaiaiaiabacacacacacacacacacacacdsdCdudvacacacacacacacacacacadadadadadadadadbDbDbDbDbDcOcOddbDbDbDbDbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dkdkdkdkdkdkdkdkdkdFdFdFdFdkdkdkdkdkdkdkdkdkdkabaiaiaiaiaiaiaiabacacacacacacacacacacacacdGdudDacacacacacacacacacacadadadadadadadadbDbDbDbDbDbDbLcPbDbDbDbDbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dHdHdHdHdkdkdkdFdFdFdFdFdFdFdFdFdFdkdkdkdkdkdkabaiaiaiaiaiaiaiabacacacacacacacacacacacacdBdvacacacacacacacacacacacadadadadadadadadadadadadbDbDddcObDbDbDbDbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHabaiaiaiaiaiaiaiabacacacacacacacacacacacacdBdvacacacacacacacacacacacadadadadadadadadadadadadbDbDddbDbDbDbDbDbDadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHabaiaiaidIaiaiaiabacacacacacacacacacacacacdBdvacacacacacacacacacacacadadadadadadadadadadadadaddJdKdJadadadadadadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHabababababababababahahahahahahahahahahahahahahahahahahahahahahahahahadadadadadadadadadadadadaddLdMdNadadadadadadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahadadadadadadadadadadadadadcOcOcOadadadadadadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdPdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdQdQdQdQdQdOdOdOdQdQdQdQdQdQdQdOdOdOdQdQdQdQdQdQdQdOdOdOdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdOdOdOdOdOdOdOdOdOdQdQdQdQdQdOdOdOdQdQdQdQdQdQdQdOdOdOdQdQdQdQdQdQdQdOdOdOdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdOdOdOdOdOdOdO +dOdOdOdOdOdOdQclclclcldRdSdTclclclclclclcldRdSdTclclclclclclcldRdSdTclclclclclclclclclclclclclclclclclclclclclclclcldQdOdOdOdOdOdOdOdOdOdQclclclcldRdSdTclclclclclclcldRdSdTclclclclclclcldUdVdWclclclclclclclclclclclclclclclclclclclclclclclcldQdOdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXdYdXdXdXdXcldXdXdXdXdZdXdXdXdXcldXdXdXdXeadXdXdXdXclebebcleccleccledededeeedededclecclecclcldQdOdOdOdOdOdOdOdOdOdQcldXdXdXdXefdXdXdXdXcldXdXdXdXegdXdXdXdXcldXdXdXdXehdXdXdXdXclebebcleccleccledededeeedededclecclecclcldQdOdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXdXdXdXdXdXcldXdXdXdXdXdXdXdXdXcldXdXdXdXdXdXdXdXdXclebclcleicleiclejeieieieieiekcleicleiclcldQdOdOdOdOdOdOdOdOdOdQcldXdXdXdXdXdXdXdXdXcldXdXdXdXdXdXdXdXdXcldXdXdXdXdXdXdXdXdXclebclcleicleicleleieieieieiekcleicleiclcldQdOdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXemdXdXdXdXcldXdXdXdXemdXdXdXdXcldXdXdXdXemdXdXdXdXclebclclenclenclclclclenclclclclenclenclcldQdOdOdOdOdOdOdOdOdOdQcldXdXdXdXemdXdXdXdXcldXdXdXdXemdXdXdXdXcldXdXdXdXemdXdXdXdXclebclclenclenclclclclenclclclclenclenclcldQdOdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXdXdXdXdXdXcldXdXdXdXdXdXdXdXdXcldXdXdXdXdXdXdXdXdXclebcleoeieieieieiepeieieiepeieieqeqeiercldQdQdOdOdOdOdOdOdOdOdQcldXdXdXdXdXdXdXdXdXcldXdXdXdXdXdXdXdXdXcldXdXdXdXdXdXdXdXdXclebcleoeieieseteiepeieieiepeieieieieieucldQdQdOdOdOdOdOdO +dOdOdOdOdOdOdQclclclclclevclclclclclclclclclewclclclclclclclclclexclclclclclclclclclclclclclcleieieiclclclclclclclclcldQdOdOdOdOdOdOdOdOdQclclclclcleyclclclclclclclclclezclclclclclclclclcleAclclclclclclclclclclclclclcleieieiclclclclclclclclcldQdOdOdOdOdOdO +dOdOdOdOdOdOdOeBebebebebebeCebebebebebeCebebebebebebebebebebebeDebeDebebebebebeCebebebebebebeCebebebeCebebebebebebeCcldQdOdOdOdOdOdOdOdOdOeBebebebebebebebebebebebebebebebebebebebebebebebeDebeDebebebebebeCebebebebebebeCebebebeCebebebebebebeCcldQdOdOdOdOdOdO +dOdOdOdOdOdOdOeEeFebebebebebebebebebebebebebebebebebebebebebeGcleHcleIebebebebebebebeJebebeJebebeJebebeJebebeJebebebcldQdOdOdOdOdOdOdOdOdOeEeFebebebebebebebebebebebebebebebebebebebebebeGcleHcleIebebebebeKeKeKeKeKeKeKeKeKeKeKeKeKeKeKeKeKeKeKcldQdOdOdOdOdOdO +dOdOdOdOdOdOdOeLebebebebebeDebebebebebeDebebebebebebebebebebebeCebeCebebebebebeMeNeNeNeNeNeNeNeNeNeNeNeNeNeNeNeNeNeOcldQdOdOdOdOdOdOdOdOdOeLebebebebebeDebebebebebeDebebebebebebebebebebebePeKePebebebebeQeReReReReReReReReReReReReReReReReReReScldQdOdOdOdOdOdO +dOdOdOdOdOdOdQclclcleTclclclclcleUclclclclcleVclclclebebeWebebebebebebebeWebebeXeYeYeYeYeYeYeYeYeYeYeYeYeYeYeYeYeYeZcldQdOdOdOdOdOdOdOdOdQclclclfaclclclclclfbclclclclclfcclclclebebeWebeQeReReRfdebeWebeQeReReReReReReReReReReReReReReReReReReScldQdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXfedXdXdXcldXffdXdXdXcldXfgdXdXdXclebebfhebebfififiebebfhebebeXeYfjfjfjfjfjfjfjfkflflflflflflfleYfmeBdOdOdOdOdOdOdOdOdOdQcldXfndXdXdXcldXfodXdXdXcldXfpdXdXdXclebebfhebeQeReReRfdebfhebeQeReReReReReReReReReReReReReReReReReReReBdOdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebfqfrfrfrfsebfhebebeXeYfjftftftftftftfjflflflflflflfleYfmeEdOdOdOdOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebeQeReReRfdebfhebeQeReReReReReReReReReReReReReReReReReReReEdOdOdOdOdOdOdO +dOdOdOdOdOdOdOfudXdXfvdXdXcldXdXfvdXdXcldXdXfvdXdXclebebfhebfqfrfwfrfsebfhebebeXeYfjftftftftftftfjflflflflflflfleYfmeEdOdOdOdOdOdOdOdOdOdOfudXdXfvdXdXcldXdXfvdXdXcldXdXfvdXdXclebebfhebeQeReReRfdebfhebeQeReReReReReReReReReReReReReReReReReReReEdOdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebfqfrfrfrfsebfhebebeXeYfjftftftftftftfjflflflflflflfleYfmeEdOdOdOdOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebeQeReReRfdebfhebeQeReReReReReReReReReReReReReReReReReReReEdOdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebfxfhebebfyfyfyebebfhebebeXeYfjftftftftftftfjflflflflflflfleYfmeEdOdOdOdOdOdOdOdOdOdQfzdXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebeQeReReRfdebfhebeQeReReReReReReReReReReReReReReReReReReReEdOdOdOdOdOdOdO +dOdOdOdOdOdOdQclclclclclclclclclclclclclclclclclclclebebfAebebebebebebebfAebebeXeYfBftftftftftftfjflflflflflfCfDeYfmeEdOdOdOdOdOdOdOdOdOdQclclclclclclclclclclclclclclclclclclclebebfAebeQeReReRfdebfAebeQeReReReReReReReReReReReReReReReReReReReEdOdOdOdOdOdOdO +dOdOdOdOdOdOdOeBebebebebebebebebebebebebebebebebebebebebebebebeDebeDebebebebebeXeYfjftftftftftftfjflflflflflflfleYfmeEdOdOdOdOdOdOdOdOdOdOeBebebebebebebebebebebebebebebebebebebebebebebebfEfFfEebebebebeQeReReReReReReReReReReReReReReReReReReReEdOdOdOdOdOdOdO +dOdOdOdOdOdOdOeEfGebebebebebebebebebebebebebebebebebebebebebeGcleHcleIebebebebeXeYfjftftftfHftftfjflflflflflflfleYfmeEdOdOdOdOdOdOdOdOdOdOeEeFebebebebebebebebebebebebebebebebebebebebebeGcleHcleIebebebeQeReReReReReReReReReReReReReReReReReReReEdOdOdOdOdOdOdO +dOdOdOdOdOdOdOeLebebebebebeDebebebebebeDebebebebebebebebebebebeCebeCebebebebebeXeYfjftftftftftftfjflflflflflflfleYfmeEdOdOdOdOdOdOdOdOdOdOeLebebebebebeDebebebebebeDebebebebebebebebebebebePeKePebebebebeQeReReReReReReReReReReReReReReReReReReReEdOdOdOdOdOdOdO +dOdOdOdOdOdOdQclclclfIclclclclclfJclclclclclfKclclclebebeWebebebebebebebeWebebeXeYfjftftftftftftfjflflflflflflfleYfmeEdOdOdOdOdOdOdOdOdOdQclclclfLclclclclclfMclclclclclfNclclclebebeWebeQeReReRfdebeWebeQeReReReReReReReReReReReReReReReReReReReEdOdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXfOdXdXdXcldXfPdXdXdXcldXfQdXdXdXclebebfhebebfififiebebfhebebeXeYfjfjfjfjfjfjfjfRflflflflflflfleYfmeLdOdOdOdOdOdOdOdOdOdQcldXfSdXdXdXcldXfTdXdXdXcldXfUdXdXdXclebebfhebeQeReReRfdebfhebeQeReReReReReReReReReReReReReReReReReReReLdOdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebfqfrfrfrfsebfhebebeXeYeYeYfVeYeYeYeYeYeYeYeYeYeYeYeYeYeZfWdQdOdOdOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebeQeReReRfdebfhebeQeReReReReReReReReReReReReReReReReReReScldQdOdOdOdOdOdO +dOdOdOdOdOdOdOfudXdXfvdXdXcldXdXfvdXdXcldXdXfvdXdXclebebfhebfqfrfwfrfsebfhebebfXfYfYfYfYfYfYfYfYfYfYfYfYfYfYfYfYfYfZfWdQdOdOdOdOdOdOdOdOdOfudXdXfvdXdXcldXdXfvdXdXcldXdXfvdXdXclebebfhebeQeReReRfdebfhebeQgaeReReReReReReReReReReReReReReReReReScldQdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebfqfrfrfrfsebfhebcleIebebebebebebebebebebebebebebebebebebeBdOdOdOdOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebeQeReReRfdebfhebclgbgcgdgegcgdgegcgdgegcgdgegcgfgegcgdgeeBdOdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebebfyfyfyebebfhebebebggghgiggghgiggghgiggghgiggghgiggghgieEdOdOdOdOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebeQeReReRfdebfhebebebgjgkglgjgkglgjgkglgjgkglgjgkglgjgkgleEdOdOdOdOdOdOdO +dOdOdOdOdOdOdQclclclclclclclclclclclclclclclclclclclebebfAebebebebebebebfAebcleIebebebebebebebebebebebebebebebebebebeEdOdOdOdOdOdOdOdOdOdQclclclclclclclclclclclclclclclclclclclebebfAebeQeReReRfdebfAebcleIgmgkgngmgkgngmgkgngmgkgngmgkgngmgkgneEdOdOdOdOdOdOdO +dOdOdOdOdOdOdOeBebebebebebebebebebebebebebebebebebebebebebebebeDebeDebebebebebebggghgiggghgiggghgiggghgiggghgiggghgieEdOdOdOdOdOdOdOdOdOdOeBebebebebebebebebebebebebebebebebebebebebebebebfEfFfEebebebebebdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXeEdOdOdOdOdOdOdO +dOdOdOdOdOdOdOeEeFebebebebebebebebebebebebebebebebebebebebebeGcleHcleIebebebcleIebebebebebebebebebebebebebebebebebebeLdOdOdOdOdOdOdOdOdOdOeEeFebebebebebebebebebebebebebebebebebebebebebeGcleHcleIebebebclgodXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXeLdOdOdOdOdOdOdO +dOdOdOdOdOdOdOeLebebebebebeDebebebebebeDebebebebebebebebebebebeCebeCebebebebebebgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgqcldQdOdOdOdOdOdOdOdOdOeLebebebebebeDebebebebebeDebebebebebebebebebebebePeKePebebebebebdXdXdXdXdXdXdXdXdXgrdXdXdXdXdXdXdXdXgscldQdOdOdOdOdOdO +dOdOdOdOdOdOdQclclclgtclclclclclguclclclclclgvclclclebebeWebebebebebebebeWebebgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwgwcldQdOdOdOdOdOdOdOdOdQclclclgxclclclclclgyclclclclclgzclclclebebeWebeQeReReRfdebeWebclgodXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXdXcldQdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXgAdXdXdXcldXgBdXdXdXcldXgCdXdXdXclebebfhebebfififiebebfhebebgwgDgDgDgDgEgDgDgDgDgDgDgDgDgDgDgDgDgDcldQdOdOdOdOdOdOdOdOdQcldXgFdXdXdXcldXgGdXdXdXcldXgHdXdXdXclebebfhebeQeReReRfdebfhebebdXgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJcldQdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebfqfrfrfrfsebfhebebgKgDgDgLgMgNgMgDgDgDgDgDgMgNgOgNgNgDgDcldQdOdOdOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebeQeReReRfdebfhebebgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPgPcldQdOdOdOdOdOdO +dOdOdOdOdOdOdOfudXdXfvdXdXcldXdXfvdXdXcldXdXfvdXdXclebebfhebfqfrfwfrfsebfhebebgQgDgDgRgSgTgUgDgDgDgDgDgVgNgWgNgNgDgDcldQdOdOdOdOdOdOdOdOdOfudXdXfvdXdXcldXdXfvdXdXcldXdXfvdXdXclebebfhebeQeReReRfdebfhebebgPgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgYcldQdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhfxfqfrfrfrfsebfhebebgQgDgDgDgDgDgDgDgDgDgDgDgDgDgDgDgDgDgDcldQdOdOdOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebeQeReReRfdebfhebebgKgZgXgXgXgXgXhagXgXgXgXgXgXgXgXgXgXgZcldQdOdOdOdOdOdO +dOdOdOdOdOdOdQcldXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebebfyfyfyebebfhebebhbhchdhehfhghhgDhdgDhdgDhihjhkhlgDhdhccldQdOdOdOdOdOdOdOdOdQfzdXdXdXdXdXcldXdXdXdXdXcldXdXdXdXdXclebebfhebeQeReReRfdebfhebebhbhmhngXgXhohphqhrgXhrhqhpgYgYhsgXhnhmcldQdOdOdOdOdOdO +dOdOdOdOdOdOdQclclclclclclclclclclclclclclclclclclclebebfAebebebebebebebfAebebclclclclclclclclclhtclclclclclclclclclcldQdOdOdOdOdOdOdOdOdQclclclclclclclclclclclclclclclclclclclebebfAebeQeReReRfdebfAebebclclclclclclclclclhuclclclclclclclclclcldQdOdOdOdOdOdO +dOdOdOdOdOdOdOeBhvhvhvhvhvhvhwhxhyhzebebebeCebebebeCebebebebebeDebeDebebebebebhAhBhBhBhBhChBhBhDhEhFhBhBhChBhBhBhChGeBdOdOdOdOdOdOdOdOdOdOeBebeCebebebeChHhIhJhKeReReRhKeReReRhKfdebebebebfEfFfEebebebebebhAhBhBhBhBhLhBhBhDhEhFhBhBhLhBhMhBhLhNeBdOdOdOdOdOdOdO +dOdOdOdOdOdOdOeEhvhvhvhvhvhvhwhOhPhQebebebebebebebebebebebebeGcleHcleIebebebebhRhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhEhSeEdOdOdOdOdOdOdOdOdOdOeEebebebebebebhHhThUeReReReReReReReReRfdebebebeGcleHcleIebebebebhVhEhEhEhEhEhEhEhEhEhEhEhEhEhWhWhWhWhSeEdOdOdOdOdOdOdO +dOdOdOdOdOdOdOeLhvhvhvhvhvhvhwhXhYhZebebebeDebebebeDebebebebebeCebeCebebebebebhAiaiaibhEiciaiaiaiaiaiaiaiaiaiaiaiaideLdOdOdOdOdOdOdOdOdOdOieebebebebebebhHifigeReReReReReReReReRfdebebebebeCebeCebebebebebhAiaiaibhEiciaiaiaiaiaiaiaihihiaihiaideLdOdOdOdOdOdOdO +dOdOdOdOdOdOdQclclclclclclclclclclclcliiclclclijclclebebebebebebebebebebebebebclclclclikclclclclclclclclclilclclclclcldQdOdOdOdOdOdOdOdOdOieebebebebebebfFfFfFfFfFfFfFfFfFfFfFfFebebebebebebebebebebebebebclclclclimclclclclclclinioinclclclclclcldQdOdOdOdOdOdO +dOdOdOdOdOdOdQclipipipipipipipipiqipipipirclebebebclisebebebebebebebebebebebitcliuivebebebiwiwiwclixixiyixizixixixiAcldQdOdOdOdOdOdOdOdOdOieebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebitclebiBiBiBiBiBebiCcliDiDiEiDiDiDiDiDiDcldQdOdOdOdOdOdO +dOdOdOdOdOdOdQclipipiFipipipiqipipipipipircleIebebclisebebebebebebebebebebebiGcliugiebebebiHiIiIcliJiKiJiLiziLiJiKiJcldQdOdOdOdOdOdOdOdOdOeLebeDebebebeDebebebeDebebebeDebebebeDebebebebebebebebebebebebiGclebiBiMiNiOiBebiPcliDlniRiQiDiDiDiDiQcldQdOdOdOdOdOdO +dOdOdOdOdOdOdOfuipipipipiqipipipipipipipiriSebebebclisebebebebebebebebebebebiTcliUivebebebebebeGcliViWiXiXiYiXiZjajbcldQdOdOdOdOdOdOdOdOdQclclclclclclclclclclclclclclclclclclclisisisebebebebebebebebebiTcleIiBjcjdjeiBeGjfcliDiQiQjgjhjiiQiQjjcldQdOdOdOdOdOdO +dOdOdOdOdOdOdQclipjkipipipipipipipipipipiriSebebebclclclclclcljlcljlclclclclclcliugiebebebebebjmcliJiKjniLiziLiJiKiJcldQdOdOdOdOdOdOdOdOdQcljojpebebebebjqebebebebebjrebebjsjsclclclclclcljtcljtclclclclclclebiBjujvjwiBebjxcliQjyiQjzjAjziQjBiQcldQdOdOdOdOdOdO +dOdOdOdOdOdOdQclipipipipiFipipiqipipipipircleIebebijebebjCebeCebebebeCjDjEjFjGclebebebeJjHeJjIjHclixjJiXiXjKiXiXjLixcldQdOdOdOdOdOdOdOdOdQclebjMjNebebjqebebebebebjrebebebjsjsclebebebebeCebebebeCebebebebclebiBiBiBiBiBebjOcliDiQiQjijzjijyjPiQcldQdOdOdOdOdOdO +dOdOdOdOdOdOdQcljQipipipipipipipipipipjRirclebebebijebebebebebebebebebjDjSjTjTikebebebjUjVjVjVjVcliJiKiJiLjWiLiJiKiJcldQdOdOdOdOdOdOdOdOdQclebjXjYjZkaebjYebebjqebebkbkbebjsjskcebebebebebebebebebebebebebkdebebebeDebebebiCcliDkejBiQiQkfiQiDiDcldQdOdOdOdOdOdO +dOdOdOdOdOdOdQclclclclclclclclclclclclclclclclclclclkgebebfxfxfxebkhebjDkikjkkinclclclclclclclclclclclclclclclclclclcldQdOdOdOdOdOdOdOdOdQclclclclclclclclclclclclclclclclclclcleIebebebebebebebebebebebebinclclclclclclclclclclclclclclclclclclcldQdOdOdOdOdOdO +dOdOdOdOdOdOdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQclklebebfxfxfxebebebjDkmknkocldQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdOdOdOdOdOdOdOdOdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQclebebebebebebebebebebebebebcldQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdQdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOeBklebebebebebebebebjDjSjTkpeBdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOeBebebebebebebebebebebebebebeBdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOeEkqkrkrkrksebebebktkujSkvkwiedOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOeEebebebebeDebebebeDebebebebiedOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOkxdSdSdSkyclkzclkzclkAdSdSdSkBdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOkxdSdSdSkyclclclclclkAdSdSdSkBdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdQkzclkzdQdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdQdQdQdQdQdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOkCkDkEkFkGkHkIkHkIkHkEkFkGkHkJdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOkKkLkLkLkLkLkLkLkLkLkLkLkLkLkMdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOkCkNkOkPkQkRkQkSkSkSkSkSkQkQkQkTkUkVdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOkKkLkWkXkXkXkXkXkXkXkXkXkXkXkXkXkYkZdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOkNlalbkSkSkSkSkSkQkQkQkSkSkSkSlckUkVdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOkYkXkXkXkXkXkXkXkXkXkXkXkXkXkXkXkYkZdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOldkNlekSkQlakQkSkSkPkSkSlflgkQkTkUkVdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOlhkLlikXkXkXkXkXkXkXkXkXkXkXkXkXkYkZdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOldkHkEkFkGkHkDkDkDkHkEkFkGkHljdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOlhkLkLkLkLkLkLkLkLkLkLkLkLkLlkdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO +dOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdOdO "} diff --git a/_maps/map_files/RandomZLevels/wildwest.dmm b/_maps/map_files/RandomZLevels/wildwest.dmm index c716ee68a6c..ae596b4b18b 100644 --- a/_maps/map_files/RandomZLevels/wildwest.dmm +++ b/_maps/map_files/RandomZLevels/wildwest.dmm @@ -43,7 +43,7 @@ "aQ" = (/obj/item/weapon/paper{info = "meat grinder requires sacri"},/turf/simulated/floor/engine/cult,/area/awaymission/wwvault) "aR" = (/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwmines) "aS" = (/obj/effect/landmark/corpse/syndicatecommando,/turf/simulated/floor/engine/cult,/area/awaymission/wwvault) -"aT" = (/turf/simulated/mineral,/area/awaymission/wwrefine) +"aT" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/mineral,/area/awaymission/wwrefine) "aU" = (/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwrefine) "aV" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines) "aW" = (/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibup1"; icon_state = "gibup1"},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand1"; icon_state = "ironsand1"},/area/awaymission/wwmines) @@ -570,60 +570,60 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababaFaFababababababacaaaaacacaaaaaaaaaGaGaGaGaGaGaGaGaNaLaOaOaOaOaPaOaOaOaLaNaNaGaLaOaOaLaLaLaNaGaLaLaLaIaIaIaLaLaLaLaGaGaGaGaGaGaGaGaGaGaLaLaLaLaLaLaNaNaLaLaLaNaNaNaNaNaLaLaLaLaLaNaLaLaLaLaNaNaNaGaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaacaaacaaacaaaaabaQacabaaaaacacaaacaaaaaaaaaaaaaaaGaGaGaGaGaGaGaNaLaLaLaRaRaRaRaRaRaRaRaOaOaOaOaOaRaRaRaPaLaLaLaLaRaLaLaRaLaLaRaRaLaLaLaLaLaLaLaLaLaLaLaLaRaLaLaRaLaLaLaLaRaLaNaLaLaLaLaLaRaRaRaLaLaLaRaRaLaNaNaNaNaNaGaGaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaacacacacacaaaaabaSacabaaaaacacaaacacaaaaaaaaaaaaaGaGaGaGaGaGaGaLaLaPaOaOaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaRaRaLaRaRaLaRaRaRaRaRaRaLaRaRaRaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaLaLaLaLaLaLaNaGaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaacacacacaaaaabacacabaaacacacaaaaacacaaaaaaaaaGaGaGaGaGaGaGaGaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaNaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaacacacaaaaabacacabaaacaaacaaaaaaacacacaGaGaGaGaGaGaGaTaTaUaVaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaLaLaLaLaIaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaacacacacacacacaaaaaaaaaaaaaaaaaaaGaGaGaGaGaUaUaUaUaUaUaUaRaRaRaRaRaRaRaRaRaWaRaRaRaRaRaRaRaRaRaRaRaRaRaRaXaRaRaWaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaYaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaLaRaRaRaIaNaGaGaaaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaGaGaGaGaUaZbababababbaRaRaRaRaRaXaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaXaRaRaRaRaRaRaRaRaRaRaRaRaRaRaWaRaRaRaRaRaRaRaRaRaRaRaXaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaaGaGaGaUbabababababbaRaRaRaRaRaRaRbcaRaRaRaRaRaRaRaRaRaRaRbdaRaRaRaRaRaRaRaRaRaRaRaRaXaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaLaNaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaGaGbeaUbabababaaUaUaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaWaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbdaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaNaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaGaGaGbebabfbababaaUaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbgaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaGaGaUaUbababababaaUaLaRaRaRaRaRbhbhbhbhbhbhbhbhbhbhbibhbhbhbhbhbhbhbhbhbhbhbjbhbhbhbhbhbhbhbhbhbhbhbhbhbibhbhbhbhbhbhbhbhbhbhbhbhbkbkbhbhbhbhbhbhbhbhbhbhaRbdaRaRaRaRaRaRaRaRaRaRaRaLaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaGaGaGaUbfbabablbabmaUaLaRaRaRaRaRbjbhbhbhbhbhbhbhbhbhbibkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbnbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhaRaRaWaRaRaRaRaRaRaRaRaRaLaLaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaUbabababababaaUaLaRaRaXaRaRbhbhbhbnbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbkbhaRaRaRaRaRaRaXaRaRaRaRaRaLaLaLaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaGaUbababobababfaUaLaRaRaRaRaRbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbkbhbhbhbhbhbhbibhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaUaUbabababfbabaaUaLaRaRaRaRaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbqbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpaaaaaaaabpbpbpbpbpbpbpbpbpbpaabpaabpbpbpbpaaaaaabpbpbpbpbpbpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaUbrbabababababaaUaLaRaRaRaRaRbkbhbhbhaRbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsaRbhbhbhbhaRbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaLaLaGaGaGaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaabpbtbububububububtbtbtbtbtbububtbtbtbubtbtbtbtbubububububtbtbtbtbtaabpaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaGaUbababababababaaUaLaRaRaRaRaRbhbhbhbhaRbsbvbwbwbxbwbwbwbsbybzeSbzbBbsaRbhbhbCbhaRbsbDbDbDfQbDbDbDgEbBbBbEcebFbGbBgFbhbhbhbhgGbwbwbHgHbJbwbKbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaabpbLbMbNbObObObObObObObObObObObObObObObObObObObObObObObObObObObObPbMbQaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaUbabababfbababaaUaLaRaRaRaRaRbhbhbhbhaRbsgIbRbwbwbwbSgJbsbhbhbhbhbhbsaRbhbhbhbhaRbsbDbDbDbDbDbDbDbhbhbhbhbhbhbhbhbhbhbhbhbhbhbwbwbwbwbwbwbwbsaRbhbhbhbhaRaXaRaRaRaRaRaRaRaRaRaRaRaLaLaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaabpbTbUbVbVbVbVbVbVbVbVbVbWbVbVbVbVbVbVbVbVbVbVbWbVbVbVbVbVbVbVbVbVbXbQaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaUbfbababababfbaaUaLaRaWaRaRbdbhbhbhbhaRbsbwbwbwbwbwbwbwbsbhbhbhbhbhbsaRbhbkbhbhaRbsbDbDbDbDbDbDbDbBbBbBbBbBbBbBbAbBbYbBbBbBbZbwbwbwbwcabwbwbsaRbhbhbhbhaRaRaRaRaRaRaRaXaRaRaRaRaRaRaLaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaabpbTcbbVbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbVccbQaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaGaGaGaUbababababababaaUaLaRaRaRaRaRbhbhbkbhaRbsgIbRcdbwbwbSgJbsbsbsbsbscfbsaRbhbnbhbhaRbsgKcgbDbDchcgbDbBcicicicicicicicibhbhbhbhbBbwbwbwbwbwbwgJbsaRbhbhbCbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaabpbTcbbVbMcjcjcjcjcjcjbMckclgLclclckgMclckckgLckclbMcmcngNcncpbMbVcccqaaaaaaaaaaaabpcrbpaaaaaaaaaaaaaaaaaaaGaGaGaUbababababababmaUaLaRaRaRaRaRbibhbhbhaRbsbwbwbwbwbwbwbwcfbhbhbhbhbhbsaRbhbhbhbhaRbsbDbDbDcsbDbDbDbBbhbhbhbhbhbhbhbhbhbhbhbhbBbwbwbwbwbwbwbwbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaLaLaRaLaIaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaabpbTcbbVbMckckckclckckbMckctctctctcuctcuckcvcvclckbMcncncncncnbMbWcccqaaaaaaaaaabpbpbpbpbpbpaaaaaaaaaaaaaaaGaGaGaUbabmbabmbababaaUaLaRaRaRaRaRbhbhbhbhaRbsbsbsbsbsbsbsbsbsbhbhbhbhgObsaRbhcwbhbhaRbsbDbDbDbDbDbDbDbBbhbhbhbhgPbhbhgPbhbhbhbhbBbwbwbwbwbwbwbwbsaRbhbhbhbhaRaRcxaRaRaRaRaRaRaRaRaLaLaLaLaIaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabpbpbLcbbVbMgQczckckckgRbMgScuctctctctctctcAckckckgRbMgTcncBcCgUbMbVcccqbpbpaabpbpbpaaaaaabpbpbpbpaaaaaaaaaGaGaGaGaUbababababababaaUaLaRaRaRaRaRbhbhbhbhaRbscDbhgVbhbhbhgVbhbhbhbhbhbhbsaRbhbhbhbhaRbsbBbBbBbBbBbBbBbBbhbhbhgWbsgXgObsgXbhbhbhbBbBbBcEcFbBbBbBbsaRbkbhbnbhaRaRaRaRaRaRaRaRaRaRaRaRaLaLaLaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabpaabTcbbVbMcGcHckckcIckcJckctctctctcKctctcAckckckckbMcncncncncnbMbWccbQaacrbpbpaaaaaaaaaaaaaaaabpbpbpaaaaaGaGaGaGaUbfbabababababaaUaLaRaRaRaRaRbhbibhbhaRbscDbhbhbsbsbhbhbsbsbhbhbsbsbsaRbhbhbhbhaRbsbhcicicicicicibhbhbhbhbhgVbhbhgVbhbhbhbhbhcicicicicicibhbsaRbhbhbhbhaRaRaRaRaRaRaRaRaWaRaRaRaRaRaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabpaabTcLbVbMcyczckckckckbMckctctctctctctctcMckckckckcJcncncncncnbMbVcNbQaabpaaaaaaaaaaaaaaaaaaaaaaaabpaaaGaGaGaGaGaUbabfbacObababaaUaLaRaYaRaRaXbhbhbhbhaRbscDbCbhcDbsbhbhbsbhbhbhbhbhbsaRbhbhbhbhaRbsbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbsaRbhbhbhbhaRaRaRaXaRaRaRaRaRaRaRaRaRaRaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabpaabLbMbVbMckckckckckckbMckctctcPctctctctcMckckckckbMcncQcRcScnbMbVbMbQaabpaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaGaUbababababababaaUaLaRaRaRaRaRbhbhbhbhaRbscDbhbhcDbsbhbhbsgYbhbhbhgZbsaRbhbhbhbkaRbscVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaacrbpbLcXbVbMgSckcIckclgRbMgSctctctctctctctcMckckckgRbMhacncYcngUbMbVcZbQaabpbpaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaGaGaGaUbababababfbabaaUaLaRaRaRaRaRbhbhbkbhaRbscDbhgPcDbsbhbhbscTbhbhbhcUbsaRbkbhbhbhaRbsbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaabpbpaabTcbbVbMckckckckckclbMckcuctdactctctctckckckckckbMcncncncncnbMbVccbQbpbpbpbpaaaaaaaaaaaaaaaaaGaGaGaGaGaGaGaGaUaUbabababababadbaUaLaRaRaRaRaRbhbhbhbhaRbsbsbsbsbsbscfcfbsbsdcdcbsbsbsaRbhbhbjbhaRbsbsbsbsdcdcdcbsbsbsbsbsbsbsdddebsbsbsbsbsbsbsdcdcdcbsbsbsbsaRcwbhbkbhaRaRaRaYaRaRaRaRaRaRaRaRaRaLaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbMckdgclckckckbMckckhcckckckhccIckckhcckckbMdhdhhddjdjbMbVcccqbpaaaabpbpbpbpaaaaaaaGaGaGaGaGaGaGaGaGaUaUbfbmbabababmbabaaUaLaRaRaRaRaRbhbhbhbhaRaRaRaRaRaRhedkaRheaRaRaRaRaRaRaRbhbhbhbhaRaRaRaRheaRaRaRheaRaRaRaRaRheaXdkheaRaRaRaRaRheaRaRaRheaRaRaRaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbMbMbMbMbMbMbMbMbMbMbMcJcJbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbVcccqaaaaaaaaaaaabpbpbpaGaGaGaGaGaGaGaGaGaGaUaZbabababababababfaUaLaRaRaRaRaRbhbhbibhbhbhbhbhbhbhbhdlbkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhdmbhbhbhbhbhdlbhbhbhbkbhbhbhbhbhbhbhbhbhbhbhbjbhbhbhaRaRaRaRdnaRaRaRaRaRaRaRaRaLaLaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbVbVbVbVbVbVdobVbVbVhfbVbVhfbVbVbVbVbVbVbVbVbVbVbVbVbVbVdocccqbpaaaaaaaaaaaaaaaGaGaGaUaUaUaUaUaUaUaUaUbabababababfbaaUaUaUaLaRaRaRaRaRbhbhdpbhbhbhbhbhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhcwbhbhbhbhbhbhbhbhbhbhbhbibhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhaRaRaRaRaRaRaRaXaRaRaRaRaRaLaLaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVdobVbVbVbVbVbVbVbVbVbVbVdqbVbVbVbVbVbVdobVbVbVdrbVbVbVbVbVccbQbpaaaaaaaaaaaaaaaGaGaGaUaZbabmbababfbabababababababmbaaUaNaLaLaRaRaRaRaRbibhbhbhbhbhbhbhbhbhbhbhbhbhbhbibhbhbhbhbhbhbhbhbhbhbhbhbhbkbhbhbhbhbhbhbhbhbhbhbhdlbhbhbhbhbjbhbhcwbhbkbhbhbhbhbhbhbhbkbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbVbVbMbMbMbVbVbVbVbVbVbVbWbVbVbVbVbVbVdqbVdrbVbVbVbVbWbVbVccbQbpaaaaaaaaaaaaaGaGaGaGaUbababababababababmbababfbaaUaUaUaLaLaRaRaWaRaRaRbqbhbhbhbhbhbhbnbhbhbhbhbhbhbhdlbhbkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhbhbhbnbhbhbhbhaRaRaRaRhgaRaRhgaRaRaRaRaRaLaLaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbVbVbMdsbMbVbVbVdrbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVdtbVbVbVccbQbpbpaaaaaaaaaaaGaGaGaGaUbabfbababablbabababababaaUaUaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRhgdkaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbhbhdpbhbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsdcdcbsbsbsbsbsaLaLaNaGaGaGaGaaaaaaaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaabpbpaadfcbdrbVbVbMdubMbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVdobVbVdrbVbVbWbVccbQbpbpbpaaaaaGaGaGaGaGaGaUbabababababababababfbabaaUaNaNaLaLaRaRaRaRaRaRaRaWaRaRaRaRaRaRbsbsbsbsbsbsbsbscfbsbsbsbsbsbsbsaRaRbsbsbsbsbsbsbsbsbsbsbsbsbsaRbjbhbhbhbsbhbhbhgVbhbhgVbibhbhbsdvhhdvdvdvbhdvbsbhbhgVbhbhbhgVbhbhbsaNaNaNaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabpbpdfcLbVbVbVbVbVhfbVbVbVbVbVbVbVbVbVbVbVdwbVbVbVbVbVbVbVbVbVbVbVbVcNbQbpaabpbpbpaGaGaGaGaGaGaUbmbabababfbabababaaUaUaUaUaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsbwhibwbwhibwbsbhbshjbwbwbwbwbsaRaRbsbhdygVdybhdybhdygVdybhbsaRbhbhbhbhbsbhbDdzbDdAdBbDbDbDbhdCbhbhbhbhbhbhbhbsdDcwdEbhbjbhdFdGbhdHaNaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaabpdfbMdIdJdJdJdJdJdJdJdJdJdJdKdLdLdIdJdJdJdJdJdJdJdJdJdJdJdJdJdJdKbMbQbpaaaabpaGaGaGaGaGaGaGaUbababababababmbabaaUaNaNaNaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsdMbwbwbwbwdNbsbhbsdxbwbwbwbwbsaRaRbsbhbhbhbhbhbhbhbhbhbhbhbsaRbkbhbhbhbsbhbDdOdPdQdRdSdTbDbhbsbhbhbhbhdGbhbhbsbBbhdEbhbhbhdFbhbhbsaNaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabpbpaadUdUdUdUdUdUdUdUdUdUdUdVdWdXdYdZdUdUdUdUdUdUdVdUdUdUdUdUdUdVdUdUbpcraaaabpbpbpaGaGaGaGaGaUbbbbaUaUaUaUbabmaUaUaNaNaLaLaRaRaRaRaXaRaRaRaRaReaaRaRaXaRaRaRbsdMbxebbwbwdNbsgObsecbwebbwbwbsaRaRbsbhdybhdybhdybhedbhdybhbsaRbhbhbhbhbsgXbDeedQbDbDdQefdzgObsdvbhbhbhbhbhbhbsdDbhdEbhbhcwdFbhbhdHaNaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaabpbpbpbpdfeheibQaaaaaaaaaaaabpbpbpbpbpbpbpbpbpbpbpbpbpaaaaaacraGaGejejejejekekejejejaUaUaUaUaNaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsdMbwbwelbwdNbsbhbsdxbwbwbxbwbsaRaRbsgXbhbibhbhbhbhbhbhbhgObsaRbhbhbhbhbsbhbDdOdSbDbDdSdTembhbsdvdvbhbhbhhkbhdCbhbhbhdGbhbhdFbhbhbsaNaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpaaaaaaaaaaaabpbpaaaaaadfeneobQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpejejejepeqerekekekekejejejejaNaNaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsdMhlbwbwhldNbsbhbshjbwbwbwbwbsaRaRbsbhbhbhbhbhbCbhbhbhbhbhcfaRbhbhbnbhbsbhbDeedRbDbDdRefbDbhbsbsbsbsbsbsbsbsbsbhesesesesbhdFbhbhdHaNaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpbpbpbpaaaaaaaadfdXetbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaejekekekekekekekekekekekekejaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaXaRaRaRaRbsbsbsbwbwbsbsbscfbsbsbwbwbsbsbsaWaRbsbheubhdybhdybhevbhdybhbshmbhbhbhbhbshnbDdOdQbDbDewexbDgObsbyhobybybyhobybsbhdDhpbBdDbhgPbhbhbsaNaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeheybQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaezekekekekekekekekekekekekejaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsbhbhbhbhbhbhbhbhbhbhbhbhbhbhbsdkaRbsgXbhbhbhbhbhbhbhbhbhgObsaRbhdpbhbhbsbhbDeedSdQdPdRefeAbhbsbhbhbhbhbhbhbhbsbsbsbsbsbseBbsbsbsbsaNaNaNaGaGaGaGaaaaaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeCdYbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDeEeFeGekekekekekekekekekekekekejaNaNaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsbhbheHbhbsbsbsbsbsbsbhbhbhbhbsdkaWbsbhdybhevbhdybhdybhdybhbsaRbhbhbhbhbsbhbDbDbDeIeJeKbDbDbhdCbhcwbhbhbjbhbhdCeLhqeMeNeOeOePhreLbsaNaNaNaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfdXeQbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeRekekeRekekekekekekekekekekekekejaNaNaNaLaRaRaRaRaXaRaRaRaRaRaRaNaNaRaRaRaRaRaRbsgXbhbhbhbhhshshshsbhbhbhbhgObsdkaRbsbhbhbhbhbhbhbhbhbhbhbhbsaRbhbhbhbhbsbhbhbhgPbhbhgPbhbhbhbsbhbhbhbhbhbhbhbseLeLeLeTeUeVeLeLeLbsaNaNaNaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfendYbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDeEeEeWekekekekekekekekekekekekejaNaNaNaLaRaRaRaRaRaRaRaRaRaRaRaNaNaNaRaRaRaRaRbsbhbhbhgPdpbibhbhbhbhgPbhbhbhbsdkaRbsbhbhgPbhbhbhbhbhgPbhbhbsaRbhbhbhbhbsbsbsbsbseXeXbsbsbsbsbsbsbsbsbsbsbsbsbseLeLeYeLeLeVeLeLhtbsaNaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfdXeibQaaaaaaaaaaaaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaeZekekekekekekekekekekekekejaNaNaNaLaRaRaRaRaRaRaRaRbdaRaRaRaNaNaNaRaRaRaRbsfabsfabsfabsfabsbsfabsfabsfbbsaRaXfcbsbsbseBbsbsbsbsbsbsbsbsaRbhbhcwbhfdfebhgVbBbhbhbsbhbhgVbhbhbsbhbhgVbhbhbsffeLfgeLffeLfgeLeLbsaNaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaabtbtbtbtbtbtbtbtbtbtbtbtbtbtfhdLdLfibtbtbtbtbtbtaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaafjekekekekekekekekekekekekejaNaNaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaNaRaRaRbsbsbsbsbsbsbsbsbsbsbsfcbsbsbsbsaRaRfkaRaWaRaRaRaRflaRaWaRaRaRaRbhbhbhgObshubhbhbBfmbhbsbhfnbBfmbhbsbhfobBfpbhbseLeLeLfqeLeLeLfqeLbsaNaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabTfrfsfsfsfsfsfsfsfsfsfsfsfsfsfsftftfsfsfsfsfsfsfufvbpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaejekekekekekekfwekekekekekejaNaLaLaPaRaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaNaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaReaaWfxfcbsbsbsbsbseBbsbsbsbsbsbsaRbjbhbhfycfbhbhbhbBbhbhbsbhbhegbhbCbsbjbhbhbhbhbsdcdcdcbsdCbseLfzeLbsaNaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBfvbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaafCekekekekekekekekekekekekejaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaRaRaRaRaRaRbsbsbsbsbsbsbsbsbsbsbsbsfcdkbsfDbhbhbhbhgVbhbhbhbhbhbsaRbhfEbhbhcfbhbhbhbBfmgObsbhfnbBfmbjbsbhfobBfpbhbsbhbhbhbhbhdceLeLhtbsaNaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftfFfFfGfHfIfIbpbpbpaaaaaaaaaaaaaaaaaaaaaaeZekekekekekekfJekekekekekejaNaLaRaRaRaRaRaRaRaRaRaRaPaRaNaNaNaNaNaNaNaRaRaRaRaRaRbsfKbhbhbhbhgVbhbhbhbhbhbsdkeBbhbhbhbhdpcwbhbhbhbhbhddaRbhbjbhgObshubjbhbBbhbhbsgXbhbBbhgObsgXcwfLbhgObsbsbsbsbhbhdceLfMeLbsaNaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftfNftfNfIfIfIbpbpaaaaaaaaaaaaaaaaaaaaaaaafjekekekekekekekekekekekekejaNaLaRaRaRaRaRaRaNaNaNaNaNaNaNaNaNaNaNaNaNaRaRaRaRaRaRbsbhbhbhbhbjbhfObhbjdGbhbsflbsbhbhdGbhbhbhbhbhbhcwbhbshmbhfPbhbhbsfebhbhbBbhbhbsbhfnbBfmbhbsbhfobBfpbhbshvbhbshnbhdceLeLeLbsaNaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabTfAftftfSftftftftftftftftftftftftftftftftftfsfsfTfHfIbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaejekekekekekekekekekekekekejaLaLaRaRaRaRaLaLaLaLaLaLaLaLaLaLaLaLaLfUaLaLaRaRaRaRaRbsbhbhbhbhbhfPfVdpbhfWbhcfaRbsgXbhbhbhbhbhfRbhbhbhgObsdnbhbhbhbheBfXbhbhbBfmgObsbhbhbhbhbhbsbhbhbhbhbhbsfYbhcfbhbhdceLfZeLbsaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBfvbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaafCekekekekekekekekekekekekejaLaPaRaRaLaLaLaLaRaRaRaRaRaRaRaRdnaRaRaRaLaLaLaRaRaRaRbsgXdpbhbhbhbhbhbhgabhgOeBhmbsbhbhbhbhbhbhdpbhbhdGbheBaRbhbhbhbhbsfebhbhbBbhbhbsbsbscfbseBbsbsbscfbsbsbsbseBbsbhbhdceLeLhtbsaNaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZekekekekekekekekekekekekejaLaLaLaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaReaaRaLaLaLaRaRaRbsbhbhbjbhbnbhbhdpbhbhbhbsaWbsbhbhcwbhbhbhbibhbhbhbhbsaRaRaRaRaRbsgXbhcwbBbBbhbsbhbhbjbhbhcwbhbhbhbhbhbhbhbhbhbjbhbseLfMeLbsaNaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafjekekekekekekekekekekekekejaGaNaNaLaLaRaRaRaRaRaLaLaLfUaRaRaRaRaRaRaRaRaRaLaLaRaRbsbhbhbhbhbhbhbhbhdGbhbhbsaRbsbhbhbhgPbhbhgPbhbhbhbhfcaRaXaRaRaRbsbhbhgPbhbhcwcfbhbhgPbhdGbhbhbhgPbhbhfPcwbhgPbhbhbseLeLeLbsaNaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftgdftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaejgeeEeWeRgfggezgeeEghejejejaGaNaNaLaRaRaRaRaRaRaLaLaLaLaLaLaLaRaRaReaaRaRaRaLaLaLbsbsbsbsbsfcaRbsbsbsbsbsbsaRbsbsbsbseBdcdcbsbsbsbsbsbsaRaRaRaRaRbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsaNaNaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZekeZaaaaaaaaaaaGaGaGaGaNaLaLaRaRaRaRaRaRaRaRaRaRaLaLaLaLaLaLaRaRaRaRaRfUaLaLaRaRaRaRaRaRfcbsbsaRaRaRaRaRaRaRaRheaRaRheaRaRaRaRaRaRaRaRaRaRaLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaacacacacaaaaabacacabaaacacacaaaaacacaaaaaaaaaGaGaGaGaGaGaIaIaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaNaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaacacacaaaaabacacabaaacaaacaaaaaaacacacaGaGaGaIaIaIaIaTaTaUaVaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaLaLaLaLaIaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaacacacacacacacaaaaaaaaaaaaaaaaaaaGaGaGaGaIaUaUaUaUaUaUaUaRaRaRaRaRaRaRaRaRaWaRaRaRaRaRaRaRaRaRaRaRaRaRaRaXaRaRaWaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaYaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaLaRaRaRaIaNaGaGaaaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaGaGaGaIaUaZbababababbaRaRaRaRaRaXaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaXaRaRaRaRaRaRaRaRaRaRaRaRaRaRaWaRaRaRaRaRaRaRaRaRaRaRaXaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaaGaIaIaUbabababababbaRaRaRaRaRaRaRbcaRaRaRaRaRaRaRaRaRaRaRbdaRaRaRaRaRaRaRaRaRaRaRaRaXaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaLaNaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaGaIbeaUbabababaaUaUaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaWaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbdaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaNaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaGaIaIbebabfbababaaUaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbgaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaGaIaUaUbababababaaUaLaRaRaRaRaRbhbhbhbhbhbhbhbhbhbhbibhbhbhbhbhbhbhbhbhbhbhbjbhbhbhbhbhbhbhbhbhbhbhbhbhbibhbhbhbhbhbhbhbhbhbhbhbhbkbkbhbhbhbhbhbhbhbhbhbhaRbdaRaRaRaRaRaRaRaRaRaRaRaLaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaGaGaIaUbfbabablbabmaUaLaRaRaRaRaRbjbhbhbhbhbhbhbhbhbhbibkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbnbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhaRaRaWaRaRaRaRaRaRaRaRaRaLaLaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaIaUbabababababaaUaLaRaRaXaRaRbhbhbhbnbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbkbhaRaRaRaRaRaRaXaRaRaRaRaRaLaLaLaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaIaIaUbababobababfaUaLaRaRaRaRaRbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbkbhbhbhbhbhbhbibhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaIaUaUbabababfbabaaUaLaRaRaRaRaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbqbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpaaaaaaaabpbpbpbpbpbpbpbpbpbpaabpaabpbpbpbpaaaaaabpbpbpbpbpbpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaIaUbrbabababababaaUaLaRaRaRaRaRbkbhbhbhaRbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsaRbhbhbhbhaRbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaLaLaGaGaGaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaabpbtbububububububtbtbtbtbtbububtbtbtbubtbtbtbtbubububububtbtbtbtbtaabpaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaIaUbababababababaaUaLaRaRaRaRaRbhbhbhbhaRbsbvbwbwbxbwbwbwbsbybzeSbzbBbsaRbhbhbCbhaRbsbDbDbDfQbDbDbDgEbBbBbEcebFbGbBgFbhbhbhbhgGbwbwbHgHbJbwbKbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaabpbLbMbNbObObObObObObObObObObObObObObObObObObObObObObObObObObObObPbMbQaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaIaUbabababfbababaaUaLaRaRaRaRaRbhbhbhbhaRbsgIbRbwbwbwbSgJbsbhbhbhbhbhbsaRbhbhbhbhaRbsbDbDbDbDbDbDbDbhbhbhbhbhbhbhbhbhbhbhbhbhbhbwbwbwbwbwbwbwbsaRbhbhbhbhaRaXaRaRaRaRaRaRaRaRaRaRaRaLaLaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaabpbTbUbVbVbVbVbVbVbVbVbVbWbVbVbVbVbVbVbVbVbVbVbWbVbVbVbVbVbVbVbVbVbXbQaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaGaGaIaUbfbababababfbaaUaLaRaWaRaRbdbhbhbhbhaRbsbwbwbwbwbwbwbwbsbhbhbhbhbhbsaRbhbkbhbhaRbsbDbDbDbDbDbDbDbBbBbBbBbBbBbBbAbBbYbBbBbBbZbwbwbwbwcabwbwbsaRbhbhbhbhaRaRaRaRaRaRaRaXaRaRaRaRaRaRaLaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaabpbTcbbVbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbVccbQaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaGaGaIaUbababababababaaUaLaRaRaRaRaRbhbhbkbhaRbsgIbRcdbwbwbSgJbsbsbsbsbscfbsaRbhbnbhbhaRbsgKcgbDbDchcgbDbBcicicicicicicicibhbhbhbhbBbwbwbwbwbwbwgJbsaRbhbhbCbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaabpbTcbbVbMcjcjcjcjcjcjbMckclgLclclckgMclckckgLckclbMcmcngNcncpbMbVcccqaaaaaaaaaaaabpcrbpaaaaaaaaaaaaaaaaaaaGaGaIaUbababababababmaUaLaRaRaRaRaRbibhbhbhaRbsbwbwbwbwbwbwbwcfbhbhbhbhbhbsaRbhbhbhbhaRbsbDbDbDcsbDbDbDbBbhbhbhbhbhbhbhbhbhbhbhbhbBbwbwbwbwbwbwbwbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaLaLaRaLaIaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaabpbTcbbVbMckckckclckckbMckctctctctcuctcuckcvcvclckbMcncncncncnbMbWcccqaaaaaaaaaabpbpbpbpbpbpaaaaaaaaaaaaaaaGaGaIaUbabmbabmbababaaUaLaRaRaRaRaRbhbhbhbhaRbsbsbsbsbsbsbsbsbsbhbhbhbhgObsaRbhcwbhbhaRbsbDbDbDbDbDbDbDbBbhbhbhbhgPbhbhgPbhbhbhbhbBbwbwbwbwbwbwbwbsaRbhbhbhbhaRaRcxaRaRaRaRaRaRaRaRaLaLaLaLaIaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabpbpbLcbbVbMgQczckckckgRbMgScuctctctctctctcAckckckgRbMgTcncBcCgUbMbVcccqbpbpaabpbpbpaaaaaabpbpbpbpaaaaaaaaaGaGaGaIaUbababababababaaUaLaRaRaRaRaRbhbhbhbhaRbscDbhgVbhbhbhgVbhbhbhbhbhbhbsaRbhbhbhbhaRbsbBbBbBbBbBbBbBbBbhbhbhgWbsgXgObsgXbhbhbhbBbBbBcEcFbBbBbBbsaRbkbhbnbhaRaRaRaRaRaRaRaRaRaRaRaRaLaLaLaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabpaabTcbbVbMcGcHckckcIckcJckctctctctcKctctcAckckckckbMcncncncncnbMbWccbQaacrbpbpaaaaaaaaaaaaaaaabpbpbpaaaaaGaGaGaIaUbfbabababababaaUaLaRaRaRaRaRbhbibhbhaRbscDbhbhbsbsbhbhbsbsbhbhbsbsbsaRbhbhbhbhaRbsbhcicicicicicibhbhbhbhbhgVbhbhgVbhbhbhbhbhcicicicicicibhbsaRbhbhbhbhaRaRaRaRaRaRaRaRaWaRaRaRaRaRaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabpaabTcLbVbMcyczckckckckbMckctctctctctctctcMckckckckcJcncncncncnbMbVcNbQaabpaaaaaaaaaaaaaaaaaaaaaaaabpaaaGaGaGaGaIaUbabfbacObababaaUaLaRaYaRaRaXbhbhbhbhaRbscDbCbhcDbsbhbhbsbhbhbhbhbhbsaRbhbhbhbhaRbsbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbsaRbhbhbhbhaRaRaRaXaRaRaRaRaRaRaRaRaRaRaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabpaabLbMbVbMckckckckckckbMckctctcPctctctctcMckckckckbMcncQcRcScnbMbVbMbQaabpaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaIaUbababababababaaUaLaRaRaRaRaRbhbhbhbhaRbscDbhbhcDbsbhbhbsgYbhbhbhgZbsaRbhbhbhbkaRbscVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaacrbpbLcXbVbMgSckcIckclgRbMgSctctctctctctctcMckckckgRbMhacncYcngUbMbVcZbQaabpbpaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaGaIaIaUbababababfbabaaUaLaRaRaRaRaRbhbhbkbhaRbscDbhgPcDbsbhbhbscTbhbhbhcUbsaRbkbhbhbhaRbsbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaabpbpaabTcbbVbMckckckckckclbMckcuctdactctctctckckckckckbMcncncncncnbMbVccbQbpbpbpbpaaaaaaaaaaaaaaaaaGaGaGaGaGaGaIaIaUaUbabababababadbaUaLaRaRaRaRaRbhbhbhbhaRbsbsbsbsbsbscfcfbsbsdcdcbsbsbsaRbhbhbjbhaRbsbsbsbsdcdcdcbsbsbsbsbsbsbsdddebsbsbsbsbsbsbsdcdcdcbsbsbsbsaRcwbhbkbhaRaRaRaYaRaRaRaRaRaRaRaRaRaLaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbMckdgclckckckbMckckhcckckckhccIckckhcckckbMdhdhhddjdjbMbVcccqbpaaaabpbpbpbpaaaaaaaGaGaGaGaGaGaGaGaIaUaUbfbmbabababmbabaaUaLaRaRaRaRaRbhbhbhbhaRaRaRaRaRaRhedkaRheaRaRaRaRaRaRaRbhbhbhbhaRaRaRaRheaRaRaRheaRaRaRaRaRheaXdkheaRaRaRaRaRheaRaRaRheaRaRaRaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbMbMbMbMbMbMbMbMbMbMbMcJcJbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbVcccqaaaaaaaaaaaabpbpbpaGaIaIaIaIaIaIaIaIaIaUaZbabababababababfaUaLaRaRaRaRaRbhbhbibhbhbhbhbhbhbhbhdlbkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhdmbhbhbhbhbhdlbhbhbhbkbhbhbhbhbhbhbhbhbhbhbhbjbhbhbhaRaRaRaRdnaRaRaRaRaRaRaRaRaLaLaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbVbVbVbVbVbVdobVbVbVhfbVbVhfbVbVbVbVbVbVbVbVbVbVbVbVbVbVdocccqbpaaaaaaaaaaaaaaaGaGaIaUaUaUaUaUaUaUaUaUbabababababfbaaUaUaUaLaRaRaRaRaRbhbhdpbhbhbhbhbhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhcwbhbhbhbhbhbhbhbhbhbhbhbibhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhaRaRaRaRaRaRaRaXaRaRaRaRaRaLaLaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVdobVbVbVbVbVbVbVbVbVbVbVdqbVbVbVbVbVbVdobVbVbVdrbVbVbVbVbVccbQbpaaaaaaaaaaaaaaaGaGaIaUaZbabmbababfbabababababababmbaaUaNaLaLaRaRaRaRaRbibhbhbhbhbhbhbhbhbhbhbhbhbhbhbibhbhbhbhbhbhbhbhbhbhbhbhbhbkbhbhbhbhbhbhbhbhbhbhbhdlbhbhbhbhbjbhbhcwbhbkbhbhbhbhbhbhbhbkbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbVbVbMbMbMbVbVbVbVbVbVbVbWbVbVbVbVbVbVdqbVdrbVbVbVbVbWbVbVccbQbpaaaaaaaaaaaaaGaGaGaIaUbababababababababmbababfbaaUaUaUaLaLaRaRaWaRaRaRbqbhbhbhbhbhbhbnbhbhbhbhbhbhbhdlbhbkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhbhbhbnbhbhbhbhaRaRaRaRhgaRaRhgaRaRaRaRaRaLaLaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbVbVbMdsbMbVbVbVdrbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVdtbVbVbVccbQbpbpaaaaaaaaaaaGaGaGaIaUbabfbababablbabababababaaUaUaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRhgdkaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbhbhdpbhbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsdcdcbsbsbsbsbsaLaLaNaGaGaGaGaaaaaaaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaabpbpaadfcbdrbVbVbMdubMbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVdobVbVdrbVbVbWbVccbQbpbpbpaaaaaGaGaGaGaGaIaUbabababababababababfbabaaUaNaNaLaLaRaRaRaRaRaRaRaWaRaRaRaRaRaRbsbsbsbsbsbsbsbscfbsbsbsbsbsbsbsaRaRbsbsbsbsbsbsbsbsbsbsbsbsbsaRbjbhbhbhbsbhbhbhgVbhbhgVbibhbhbsdvhhdvdvdvbhdvbsbhbhgVbhbhbhgVbhbhbsaLaNaNaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabpbpdfcLbVbVbVbVbVhfbVbVbVbVbVbVbVbVbVbVbVdwbVbVbVbVbVbVbVbVbVbVbVbVcNbQbpaabpbpbpaGaGaGaGaGaIaUbmbabababfbabababaaUaUaUaUaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsbwhibwbwhibwbsbhbshjbwbwbwbwbsaRaRbsbhdygVdybhdybhdygVdybhbsaRbhbhbhbhbsbhbDdzbDdAdBbDbDbDbhdCbhbhbhbhbhbhbhbsdDcwdEbhbjbhdFdGbhdHaLaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaabpdfbMdIdJdJdJdJdJdJdJdJdJdJdKdLdLdIdJdJdJdJdJdJdJdJdJdJdJdJdJdJdKbMbQbpaaaabpaGaGaGaGaGaGaIaUbababababababmbabaaUaNaNaNaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsdMbwbwbwbwdNbsbhbsdxbwbwbwbwbsaRaRbsbhbhbhbhbhbhbhbhbhbhbhbsaRbkbhbhbhbsbhbDdOdPdQdRdSdTbDbhbsbhbhbhbhdGbhbhbsbBbhdEbhbhbhdFbhbhbsaLaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabpbpaadUdUdUdUdUdUdUdUdUdUdUdVdWdXdYdZdUdUdUdUdUdUdVdUdUdUdUdUdUdVdUdUbpcraaaabpbpbpaGaIaIaIaIaUbbbbaUaUaUaUbabmaUaUaNaNaLaLaRaRaRaRaXaRaRaRaRaReaaRaRaXaRaRaRbsdMbxebbwbwdNbsgObsecbwebbwbwbsaRaRbsbhdybhdybhdybhedbhdybhbsaRbhbhbhbhbsgXbDeedQbDbDdQefdzgObsdvbhbhbhbhbhbhbsdDbhdEbhbhcwdFbhbhdHaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaabpbpbpbpdfeheibQaaaaaaaaaaaabpbpbpbpbpbpbpbpbpbpbpbpbpaaaaaacraIaIejejejejekekejejejaUaUaUaUaNaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsdMbwbwelbwdNbsbhbsdxbwbwbxbwbsaRaRbsgXbhbibhbhbhbhbhbhbhgObsaRbhbhbhbhbsbhbDdOdSbDbDdSdTembhbsdvdvbhbhbhhkbhdCbhbhbhdGbhbhdFbhbhbsaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpaaaaaaaaaaaabpbpaaaaaadfeneobQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpejejejepeqerekekekekejejejejaNaNaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsdMhlbwbwhldNbsbhbshjbwbwbwbwbsaRaRbsbhbhbhbhbhbCbhbhbhbhbhcfaRbhbhbnbhbsbhbDeedRbDbDdRefbDbhbsbsbsbsbsbsbsbsbsbhesesesesbhdFbhbhdHaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpbpbpbpaaaaaaaadfdXetbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaejekekekekekekekekekekekekejaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaXaRaRaRaRbsbsbsbwbwbsbsbscfbsbsbwbwbsbsbsaWaRbsbheubhdybhdybhevbhdybhbshmbhbhbhbhbshnbDdOdQbDbDewexbDgObsbyhobybybyhobybsbhdDhpbBdDbhgPbhbhbsaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeheybQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaezekekekekekekekekekekekekejaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsbhbhbhbhbhbhbhbhbhbhbhbhbhbhbsdkaRbsgXbhbhbhbhbhbhbhbhbhgObsaRbhdpbhbhbsbhbDeedSdQdPdRefeAbhbsbhbhbhbhbhbhbhbsbsbsbsbsbseBbsbsbsbsaLaNaNaGaGaGaGaaaaaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeCdYbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDeEeFeGekekekekekekekekekekekekejaNaNaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsbhbheHbhbsbsbsbsbsbsbhbhbhbhbsdkaWbsbhdybhevbhdybhdybhdybhbsaRbhbhbhbhbsbhbDbDbDeIeJeKbDbDbhdCbhcwbhbhbjbhbhdCeLhqeMeNeOeOePhreLbsaLaNaNaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfdXeQbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeRekekeRekekekekekekekekekekekekejaNaNaNaLaRaRaRaRaXaRaRaRaRaRaRaNaNaRaRaRaRaRaRbsgXbhbhbhbhhshshshsbhbhbhbhgObsdkaRbsbhbhbhbhbhbhbhbhbhbhbhbsaRbhbhbhbhbsbhbhbhgPbhbhgPbhbhbhbsbhbhbhbhbhbhbhbseLeLeLeTeUeVeLeLeLbsaLaNaNaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfendYbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDeEeEeWekekekekekekekekekekekekejaNaNaNaLaRaRaRaRaRaRaRaRaRaRaRaNaNaNaRaRaRaRaRbsbhbhbhgPdpbibhbhbhbhgPbhbhbhbsdkaRbsbhbhgPbhbhbhbhbhgPbhbhbsaRbhbhbhbhbsbsbsbsbseXeXbsbsbsbsbsbsbsbsbsbsbsbsbseLeLeYeLeLeVeLeLhtbsaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfdXeibQaaaaaaaaaaaaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaeZekekekekekekekekekekekekejaNaNaNaLaRaRaRaRaRaRaRaRbdaRaRaRaNaNaNaRaRaRaRbsfabsfabsfabsfabsbsfabsfabsfbbsaRaXfcbsbsbseBbsbsbsbsbsbsbsbsaRbhbhcwbhfdfebhgVbBbhbhbsbhbhgVbhbhbsbhbhgVbhbhbsffeLfgeLffeLfgeLeLbsaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaabtbtbtbtbtbtbtbtbtbtbtbtbtbtfhdLdLfibtbtbtbtbtbtaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaafjekekekekekekekekekekekekejaNaNaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaNaRaRaRbsbsbsbsbsbsbsbsbsbsbsfcbsbsbsbsaRaRfkaRaWaRaRaRaRflaRaWaRaRaRaRbhbhbhgObshubhbhbBfmbhbsbhfnbBfmbhbsbhfobBfpbhbseLeLeLfqeLeLeLfqeLbsaLaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabTfrfsfsfsfsfsfsfsfsfsfsfsfsfsfsftftfsfsfsfsfsfsfufvbpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaejekekekekekekfwekekekekekejaNaLaLaPaRaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaNaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaReaaWfxfcbsbsbsbsbseBbsbsbsbsbsbsaRbjbhbhfycfbhbhbhbBbhbhbsbhbhegbhbCbsbjbhbhbhbhbsdcdcdcbsdCbseLfzeLbsaLaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBfvbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaafCekekekekekekekekekekekekejaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaRaRaRaRaRaRbsbsbsbsbsbsbsbsbsbsbsbsfcdkbsfDbhbhbhbhgVbhbhbhbhbhbsaRbhfEbhbhcfbhbhbhbBfmgObsbhfnbBfmbjbsbhfobBfpbhbsbhbhbhbhbhdceLeLhtbsaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftfFfFfGfHfIfIbpbpbpaaaaaaaaaaaaaaaaaaaaaaeZekekekekekekfJekekekekekejaNaLaRaRaRaRaRaRaRaRaRaRaPaRaNaNaNaNaNaNaNaRaRaRaRaRaRbsfKbhbhbhbhgVbhbhbhbhbhbsdkeBbhbhbhbhdpcwbhbhbhbhbhddaRbhbjbhgObshubjbhbBbhbhbsgXbhbBbhgObsgXcwfLbhgObsbsbsbsbhbhdceLfMeLbsaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftfNftfNfIfIfIbpbpaaaaaaaaaaaaaaaaaaaaaaaafjekekekekekekekekekekekekejaNaLaRaRaRaRaRaRaNaNaNaNaNaNaNaNaNaNaNaNaNaRaRaRaRaRaRbsbhbhbhbhbjbhfObhbjdGbhbsflbsbhbhdGbhbhbhbhbhbhcwbhbshmbhfPbhbhbsfebhbhbBbhbhbsbhfnbBfmbhbsbhfobBfpbhbshvbhbshnbhdceLeLeLbsaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabTfAftftfSftftftftftftftftftftftftftftftftftfsfsfTfHfIbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaejekekekekekekekekekekekekejaLaLaRaRaRaRaLaLaLaLaLaLaLaLaLaLaLaLaLfUaLaLaRaRaRaRaRbsbhbhbhbhbhfPfVdpbhfWbhcfaRbsgXbhbhbhbhbhfRbhbhbhgObsdnbhbhbhbheBfXbhbhbBfmgObsbhbhbhbhbhbsbhbhbhbhbhbsfYbhcfbhbhdceLfZeLbsaLaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBfvbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaafCekekekekekekekekekekekekejaLaPaRaRaLaLaLaLaRaRaRaRaRaRaRaRdnaRaRaRaLaLaLaRaRaRaRbsgXdpbhbhbhbhbhbhgabhgOeBhmbsbhbhbhbhbhbhdpbhbhdGbheBaRbhbhbhbhbsfebhbhbBbhbhbsbsbscfbseBbsbsbscfbsbsbsbseBbsbhbhdceLeLhtbsaLaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZekekekekekekekekekekekekejaLaLaLaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaReaaRaLaLaLaRaRaRbsbhbhbjbhbnbhbhdpbhbhbhbsaWbsbhbhcwbhbhbhbibhbhbhbhbsaRaRaRaRaRbsgXbhcwbBbBbhbsbhbhbjbhbhcwbhbhbhbhbhbhbhbhbhbjbhbseLfMeLbsaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafjekekekekekekekekekekekekejaGaNaNaLaLaRaRaRaRaRaLaLaLfUaRaRaRaRaRaRaRaRaRaLaLaRaRbsbhbhbhbhbhbhbhbhdGbhbhbsaRbsbhbhbhgPbhbhgPbhbhbhbhfcaRaXaRaRaRbsbhbhgPbhbhcwcfbhbhgPbhdGbhbhbhgPbhbhfPcwbhgPbhbhbseLeLeLbsaLaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftgdftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaejgeeEeWeRgfggezgeeEghejejejaGaNaNaLaRaRaRaRaRaRaLaLaLaLaLaLaLaRaRaReaaRaRaRaLaLaLbsbsbsbsbsfcaRbsbsbsbsbsbsaRbsbsbsbseBdcdcbsbsbsbsbsbsaRaRaRaRaRbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsaLaNaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZekeZaaaaaaaaaaaGaGaGaGaNaLaLaRaRaRaRaRaRaRaRaRaRaLaLaLaLaLaLaRaRaRaRaRfUaLaLaRaRaRaRaRaRfcbsbsaRaRaRaRaRaRaRaRheaRaRheaRaRaRaRaRaRaRaRaRaRaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaNaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftfSftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZekeZaaaaaaaaaGaGaGaGaGaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRfUaLaLaLaRaRaReaaRaRaLaRaReaaRaLaLaLaLaLaLaLaLaRaRaLaLaLaLaLaRaRaLaLaRaRaLaRaRaRaRaLaLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaGaGaGaGaGaGaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaabTgigjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgkbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagleRglaaaaaaaaaGaGaGaGaNaNaLaLaLaLaLaLaRaRaRaRaRaRaRaRaRaRaLaLaLaLaLaRaRaRaRgmaRaWaRaRfUaNaNaNaNaNaNaLaLaLaLaNaNaNaLaLaLaLaLaLaLaLaRaLaLaLaLaLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaGaGaGaGaGaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaadUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagbgogpgqgrgogcaaaaaaaGaGaGaNaNaNaLaLaLaLaLaLfUaLaLaRaRaRaRaRaRaRaRaLaLaLaLaRaRaWeaaRaRaRaRaLaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaNaNaNaNaLaLaLaGaGaGaNaNaNaNaNaNaNaNaNaNaNaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 1467548e94e..be38675aa71 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -5458,8 +5458,8 @@ "caX" = (/obj/machinery/computer/shuttle/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "caY" = (/obj/machinery/mineral/equipment_vendor,/turf/simulated/floor/plasteel{dir = 10; icon_state = "brown"},/area/quartermaster/miningdock) "caZ" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/quartermaster/miningdock) -"cba" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cbb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cba" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cbb" = (/obj/effect/decal/cleanable/dirt,/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/apmaint) "cbc" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/apmaint) "cbd" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/closet/crate,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/apmaint) "cbe" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/apmaint) @@ -5536,8 +5536,8 @@ "ccx" = (/obj/structure/table,/obj/item/weapon/storage/box/syndidonkpockets,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "ccy" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "ccz" = (/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) -"ccA" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"ccB" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"ccA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"ccB" = (/obj/structure/stool/bed,/turf/simulated/floor/plating,/area/maintenance/apmaint) "ccC" = (/obj/machinery/power/apc{dir = 2; name = "Cargo Maintenance APC"; pixel_y = -24},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/apmaint) "ccD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/apmaint) "ccE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "HoP Office"; sortType = 15},/turf/simulated/floor/plating,/area/maintenance/apmaint) @@ -5978,7 +5978,7 @@ "ckX" = (/obj/machinery/light/small{dir = 1},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "ckY" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "ckZ" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/rack{dir = 1},/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"cla" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/plating/airless,/area/space) +"cla" = (/obj/structure/table/glass,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/maintenance/apmaint) "clb" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating/airless,/area/space) "clc" = (/obj/effect/spawner/window/reinforced,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cld" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/closet/emcloset,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating,/area/maintenance/incinerator) @@ -6362,7 +6362,7 @@ "csr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/aft) "css" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/aft) "cst" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"csu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/aft) +"csu" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/apmaint) "csv" = (/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/aft) "csw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/aft) "csx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/aft) @@ -6489,7 +6489,7 @@ "cuO" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "cuP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "cuQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cuR" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) +"cuR" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/apmaint) "cuS" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/assembly/assembly_line) "cuT" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "cuU" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/plasteel,/area/hallway/primary/aft) @@ -6589,7 +6589,7 @@ "cwK" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1443; icon_state = "on"; id = "air_in"; on = 1},/turf/simulated/floor/engine,/area/toxins/test_chamber) "cwL" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/toxins/test_chamber) "cwM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"cwN" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/space) +"cwN" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/apmaint) "cwO" = (/obj/structure/table,/obj/item/pod_parts/core,/obj/item/weapon/circuitboard/mecha/pod,/obj/item/clothing/glasses/welding{pixel_y = 12},/turf/simulated/floor/plasteel,/area/engine/mechanic_workshop) "cwP" = (/obj/machinery/door_control{id = "mechpod"; name = "Mechanic's Inner Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "70"},/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/mineral/plasma{amount = 30},/turf/simulated/floor/plasteel,/area/engine/mechanic_workshop) "cwQ" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/spod_part_fabricator,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/engine/mechanic_workshop) @@ -6767,7 +6767,7 @@ "cAg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/engine,/area/toxins/test_chamber) "cAh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) "cAi" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "xeno_airlock_exterior"; id_tag = "xeno_airlock_control"; tag_interior_door = "xeno_airlock_interior"; name = "Xenobiology Access Console"; pixel_x = 8; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light_switch{pixel_x = -6; pixel_y = 26},/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitegreencorner"},/area/toxins/xenobiology) -"cAj" = (/obj/machinery/atmospherics/unary/outlet_injector/on,/turf/simulated/floor/plating/airless,/area/maintenance/incinerator) +"cAj" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/plating,/area/maintenance/apmaint) "cAk" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/port) "cAl" = (/obj/item/weapon/pen,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line) "cAm" = (/obj/machinery/atmospherics/unary/vent_pump{on = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line) @@ -6987,8 +6987,8 @@ "cEs" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/unary/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/portsolar) "cEt" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cEu" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cEv" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/portsolar) -"cEw" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) +"cEv" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/maintenance/apmaint) +"cEw" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/maintenance/apmaint) "cEx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "cEy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "cEz" = (/obj/machinery/optable{name = "Robotics Operating Table"},/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "white"},/area/assembly/assembly_line) @@ -7105,7 +7105,7 @@ "cGG" = (/obj/machinery/power/solar_control{id = "portsolar"; name = "Aft Port Solar Control"; track = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar) "cGH" = (/turf/simulated/floor/plating,/area/maintenance/portsolar) "cGI" = (/obj/machinery/power/apc{cell_type = 2500; dir = 1; name = "Engineering Shuttle Access APC"; pixel_x = 0; pixel_y = 25; shock_proof = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) -"cGJ" = (/obj/structure/closet/wardrobe/black,/obj/machinery/camera{c_tag = "Aft Port Solar Access"; dir = 1; network = list("SS13")},/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/aft) +"cGJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/apmaint) "cGK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "cGL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "cGM" = (/obj/machinery/computer/security/engineering,/obj/machinery/light_switch{pixel_x = -27},/turf/simulated/floor/plasteel,/area/engine/engineering) @@ -8796,6 +8796,77 @@ "dnh" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/quartermaster/office) "dni" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/office) "dnj" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/sortjunction{dir = 1; icon_state = "pipe-j1s"; sortType = 13},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"}) +"dnk" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area/space) +"dnl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Alternate Construction Area"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnm" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnn" = (/obj/structure/curtain/open/shower,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/maintenance/apmaint) +"dno" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnq" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnr" = (/obj/structure/closet/crate,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dns" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnt" = (/turf/simulated/wall,/area/maintenance/consarea) +"dnu" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnv" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnw" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnx" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dny" = (/obj/structure/sign/poster{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnz" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnA" = (/turf/simulated/floor/plasteel,/area/maintenance/consarea) +"dnB" = (/obj/structure/table,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnC" = (/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnD" = (/obj/item/weapon/screwdriver,/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnE" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 4},/turf/simulated/floor/plating/airless,/area/maintenance/incinerator) +"dnF" = (/obj/item/weapon/crowbar,/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnG" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnH" = (/obj/item/stack/sheet/metal{amount = 10},/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnI" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnJ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnK" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnL" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Alternate Construction Area"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnO" = (/obj/item/stack/sheet/glass{amount = 10},/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnP" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/aft) +"dnR" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dnS" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plasteel,/area/maintenance/consarea) +"dnT" = (/obj/item/stack/rods{amount = 8},/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnU" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnV" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "Alternate Construction Area APC"; pixel_x = 25},/turf/simulated/floor/plating,/area/maintenance/consarea) +"dnW" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engine/mechanic_workshop) +"dnX" = (/obj/machinery/door/airlock/maintenance{name = "Mechanic Workshop Maintenance"; req_access = null; req_access_txt = "70"},/turf/simulated/floor/plating,/area/maintenance/aft) +"dnY" = (/turf/simulated/wall/r_wall,/area/maintenance/consarea) +"dnZ" = (/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) +"doa" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dob" = (/obj/structure/spacepoddoor,/obj/machinery/door/poddoor/multi_tile/three_tile_ver{id_tag = "mechpodbayouter"; layer = 3.1; req_access_txt = "70"},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) +"doc" = (/obj/machinery/light,/turf/simulated/floor/engine,/area/engine/mechanic_workshop) +"dod" = (/obj/machinery/door_control{desc = "A remote control-switch for the pod doors."; id = "mechpodbayouter"; name = "Pod Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "70"},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) +"doe" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) +"dof" = (/obj/structure/grille,/turf/simulated/floor/plasteel/airless{icon_state = "circuit"},/area/engine/mechanic_workshop) +"dog" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/floor/plasteel/airless{icon_state = "circuit"},/area/engine/mechanic_workshop) +"doh" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/aft) +"doi" = (/turf/simulated/wall,/area/maintenance/aft) +"doj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/aft) +"dok" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) +"dol" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/aft) +"don" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/aft) +"doo" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/maintenance/aft) +"dop" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/aft) +"doq" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/aft) +"dor" = (/obj/effect/spawner/window/reinforced,/turf/simulated/wall,/area/maintenance/aft) +"dos" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plating,/area/maintenance/aft) +"dot" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/aft) +"dou" = (/obj/machinery/power/apc{dir = 8; name = "Aft Maintenance APC"; pixel_x = -24},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/aft) +"dov" = (/obj/structure/closet/wardrobe/black,/obj/machinery/camera{c_tag = "Aft Port Solar Access"; dir = 1; network = list("SS13")},/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/maintenance/aft) +"dow" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"dox" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"doy" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/obj/item/stack/sheet/metal{amount = 2},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"doz" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"doA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/apmaint) +"doB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/engine,/area/engine/mechanic_workshop) +"doC" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/maintenance/aft) +"doD" = (/obj/item/stack/sheet/metal{amount = 10},/turf/simulated/floor/plating,/area/space) (1,1,1) = {" bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -8947,40 +9018,40 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkkdjydkKdkJdkDdkLdkMdjFdjHdjHdkNdjHdjHdjHdkOdjHdkPdjFbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbQebUEbUFbUEbQebUIbWmbWlbOVbWnbWpbWqbWrbWsbNzbWtbWubWvbWwbNzbUTbUTbWxbUVbWybWzbWAbWBbWCbUZdmbbWEbWFbWGcAzbUZbWIbWJbWKbVfbWLbWMbWObWNbWPbWQbWRceLbWTbWUbWVbWWbWXbWYbWZbXabXbbXcbXdbXebXfbXgbXhbSrbXibXjbXkbXlbXmbXnbJsbXobXpbXqbXrbVDbXsbXsbXtbXubLgbXvbXwbXxbXybXzbXAbXBbLhbXCbXDbXEbXFbXEbXEbXGbXHbXIbXJbXKbXLbXMbPTbXNbXObPXbEXbxXbXPbXQbXRbXRbXQbXRbXSbUAbXTbXUbWcbWdbXWbXVbUCbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWfbXXbXYbXXbWgbWhbWhbXZbYabXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkkdjydkQdkDdkDdkRdjFdjHdjHdjFdkSdjHdjHdkUdkTdjydkjbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbTgbUGbUEbUEdeycOWbTkbTkdeAbZAbTkbWqbYhbYibNzbNzbNzbNzbNzbNzbYjbUTbYkbYlbYmbYnbYnbYnbYobUZbYpbYqbYqbYqbYrbYsbYtbYubYvbYwbYxbYybYzbYAbYBbYCbVfbVibYDbVkbYEbYFbYGbYHbYIbVkbSmbQVbSnbSobYJbYKbYLbYMbYNbYObYPbYQbYRbVubYSbYTbYUbYVbYWbYXbYYbYZbZabZbbLgbLgbLgbLgbLgbZcbZdbZebLhbZfbXEbXEbZgbZhbXEbZibZjbZkbZlbRAbZmbZmbPTbPVbZnbPXbEXbUAbZobUAbUAbUAbUAbUAbUAbUAbZpbZqbUCbZrbZtbZsbUCaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbZubXXbXXbZvbWhbWhbXZbXZbZwbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkkdjydkWdkVdkXdjFdjHdkYdjFdkZdladjHdjydjydkjbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbQebUFbUFbUFbQebUIbYfbYebZzbZAbTkbZBbZCbZDbZEbZFbZFbZFbZGbUTbUTbUTbWxbUVbZHbYnbZIbYnbZJbUZbYpbYqbZKbYqbZLbUZbZMbZNbZObVfbZPbZQbZRbZSbZTbZUbZVbZWbZXbZYbZZcaacabcaccadbVkbTQbQVbQVcaebYJbYKcafcagcahbXjcaicajcElcalcamcancaocapcaqcarcIfcasbXscatbVAcaucavcawcaxcaycazcaAbZjbZfcaBbXEbXEbXEcaCcaDbZjbZkcaEbRAbZmbZmbPTcaFcaGbPXbEXcaHcaIcaJbUAcaKcaLcaMcaNcaOcaPcaQbUCcaRcaScaTbUCbUAbUAbUAbUAbUAbUAbUAbUAbikbikbikbikbikaabbikbikbikbikbikbikbikcaUbWhbZubWhbWhbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkkdjydjydjydjydjydjydjydjydjydjydkjbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbTgbWjbYbbWkbTgbUIbUIbUIbOVcaYcaZcaZcaZbOVbOVbUTcbacbacbbcbcbUTcbdcbebUVbZHbYnbYnbYncbfbUZbYpbYqbYqcbgcbhcbicbjcbkcblbVfbVfbVfbVfbVfcbmbVfbVfcbncbobVkbVkcbpbVkbVnbVkbVkbPlcbqcbqbPlccicbrcbscbtcbucbvcbwcbxcbycbzcbAcbBcaocapcbCcbDcbEcbFcbGcbHbVAcbIcbJcbKcbLcbMcbNcbOcbPcbQcbPcbRcbRcbRcbPcbScbPcbPcbTcbUbZmbZmbPTcbVbZnbPXcbWcbXcbYcbZccaccbccccccccdcceccfccgcckccjcdqcclcfeccmccnccoccpccqccrccscctaabaabaabaabaabaabaabaabbikbikbikbikbikbWgbWhccuccvccvbXZbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbYcbOTbYgbOTbZxbikaabbikbOVbOVbUIbUIbUIbOVbikbUTccAccBccCccDbZFccEccFbUVccGccHdmcbYnccJccKccLccMccNccOccPbUZccQccRccSccTccUccUccUccUccVccWccXccYccYccZccZcdacdbcdcbVibPlcddcdecdfcdgcdhbYKcdicbtcdjcdkcdlcdmbSwcdncdocdpcffcdrcdrcdscdrcdrcdrcdtbVAcducdvcdwcdxcdycdzcdAcbPcdBcdCcdDcdEcdFcdCcdGcdHcdCcdIcdJbRBbPTbPTcdKcdLcdMcdNcdOcdPcdQcdRcdScdTcdUcdVcdWcdXcdYcdZceacebceaceccebcebcebcedceecefcegcehaabbikbikbikbikaabbikbikbikbikbikbikbikbWhbWhceibXZbXZbXZbXZbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabcejbUTbUTbUTcekbUTbUTcelbUVcemcenceocepceqcercescetceucevcewccKcexceycezceAceBceBceBceBceCceDceEceFceGceFceHceIceJceKchvceMceNceOcePceQceRceSceTceUceVceWceXceYceZcfacfbcfccfgbMmbMmcfichOcgHceYchVcfjcfjcfkcfjcflcfmcfncfocbPcfpcfqcfrcfscfrcftcfucfvcdCbPTcfwbPTbPTcfxcfybZnbBxbEXbUAcfzbUAbUAcfAcfBcfCcfDcfEcebcfFcfGcfHcdUcfHcdUcfIcdUcdUbUAcfJcfKcfLcfMaabaabaabaabaabaabaabaabbikbikbikbikbikbWhbXZbXZbXZbXZbXZbXZcfNbXZcfObXZbXZbXZbXZbXZbWhbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcejcfPbVccqsbUTcfSbUVcfTcfUcfVbZHcfWcfXcfYbYpcfZcgacgbcfXcgccgdcgecgfcgfcggcghcgicgjcgkcglcgmbGycgnbVicgobGybGycgpcgqcgrcgscgtceQcgucgvcgwcgxcgycgzbMVcgBcgCcgzcgzcgDcgEcgEcgEcgEcgEcgGcgFciOcgJcgJcgKcgLcgMcgNcgOcgPcbPcgQcgRcgScgTcgScgUcgVcfrcgWcgXcgYbBxcgZbBxcfybZnbBxbEXchachbchcbUAbUAbUAbUAbUAchdcdUchechfcfIcdUchgcdUbZpcdUchhbUAchichjchkbUAaabbikbikbikbikaabbikbikbikbikbikbikbikbWhchlchlchlchlchlchlchmbXZchnchlcfObXZbXZbXZbXZbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcejchocfQchpbUTcfSchrchrchrchrchrchrbUZbUZbUZbUZbUZbUZbUZchschtchucWpchwchxchychychzchAcglbGybGychBchCchDbGybGybGycqOchFchGceOchHchIchJcgEchKchLchMbSqchLchNcfdcfdcfdcjncjlcjlcjlcjlckacgIbSqclPchPchQchRchSchTchUclQcbPchWchXcfrchYcfrchZciacibciccidciecifbBxcigcfybZncihbEXbFeciicijcikbwobxXbxXbUAcilcimcinciocipciqcirciscitciucivbUAciwciycixcizbikbikbikbikaahbikbikbikbikbikbikbikbikciAbXXbXXbXXbXXbXXbXXbXXciBciCbXZbXZbXZbXZciDbYabWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcejcejcejcejbUTcfScejbikbikbikbikciEbaTciGciHciIciJciKciLciMciNcmPciPciQciRciSciSciTciUciVciWciWciWciWciXciWbGybGybPlciYciZcjacjbcjccjdchScjecjfcjgcjhcjicjjcjkcjlcfdcnicjpcjpcjpcjpckNclSckUcnjcjqcjrcjscjtcbAcwncjvcbPcjwcjxcjycjzcjAcfrcjBcbPcbPbEXcjCbEXbEXbEXcjDcjEcjFbEXbxXciicjGcjHbwobwobwobUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbikbikbikbikbikaabbikbikbikbikbikbikbikbWhccvccvccvccvccvccvcjIbXZccuccvcjJbXZbXZbXZbXZbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcAjbikaabaabcjKcjKcjKcjKcjKcjKcjLcjKbUTcelcjMbikcjNcjOcjPcjQcjRcjScjTcjUcjVcjWcjXcjYcjZcosckbckcckdckeckfckgckhciVckickjckjckjckkciWbGybGycklcklcklcklckmcklckncknckocklcklckpcklckqckrckscktcksclZaPKcmacmmcmlcmocmnckzckAckBckCckDckEckFcdccbPcbPckGcbPckHcbPckIckJckKcgnckLckMckvckOckPckQckRckSckPbxXciickTbxXbxXckVckWckXchabxXbxXbxXbxXbxXbxXbxXckYckZcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWhbXZbXZbXZbXZbXZbXZcfNbXZcjJbXZbXZbXZbXZbXZbWhbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikclaclbclbclbclccldcleclfclgclhclicjLcljcelcjMbikclkcllclmclnclocjSclpclqclrclsciLcltcgdcoaciPcluchyclvchyclwclxclyclzclAclAclAclBciWbGybGycklclCclDclEclFclGclHclHclIclJclKclLclMclNclOcotcfhcpwcmpcmrcmqctbcsZcuoctcckDclVclWclXckzclYcmtcmscmbcmbcmccmdcmecmfcmgcmhcmfcmfcmfcmicmfcmfcmjcmucnpcnlcqRcoXcrGcqScrHcrHcrIcrHcrHcrHcrHcrJcrKcrHcrHcrHcrMcmvbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWhbWhceibXZbXZbXZbXZbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcmwcmxcmxcmxcmxcmycmzcmAcmBcmCcmCcmDcjKcmEcfScjMbikclkcmFcmGcmHcmIcmJcmKcmLcmIcmIcmMcmNcmOcpxcmQcmQcmRbHtchycmTcmUclyclAclAclAclAcmVciWbGybGycklcmWcmXcmYcmZcnacnbcnbbzsbvWbulbxBclHcnhcklcqQcfdcrLcjpcwscvxcwEcwCcxNcxIckDcnmcnncnockDbJGcumctecnqcnqcnqcnqcnqcnrcnscntcnucnvcnvcnwcnwcnvcnxcnycnzcnAcnBcnCcnDcnEcnCcnCcnCcnCcnCcnCcnCcnCcnCcnCcnCcnCcuncnFcnGcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcaUbWhbWhchlchlbXZbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcnHcnIcnJcnKcnJcnLcnMcnNcnOcnPcnQcjKcnRcelcjMbikclkcnScnTcnUcnVcjScnWcnXcnYcnZciLcltcgdcbkchqcgfcoccodciPciPciPcoecofclAclAcogcohciWbGycoicklcojcokcolcomcomcomconcoocomcomcopclHcoqcorcrNcfdcupcjpcxVcxUcxVcxVcxNcEickDcowcoxcoyckDcozcuscoicoAcoAcoAcoAcoAcoDcoDcoDcoAcoAbikbikbikbikckPcoEcoFcoGcnCcoHcoIcoJcoKcoLcoMcoNcoOcoPcoQcoRcoScoTcoUcnCcuncoWcvtcoYcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcpacpbbWhbZubWhbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikcnHcpccpdcpecpfcmBcpgcphcpicmBcpjcpkcplcpmcjMbikcpncjOcpocjQcppcjScjScpqcprcpscptcpucpvcwqchqcgfcpycpzcpAcpBcpCciVcpDclAclAclAcpEciWbGybGycpFcpFcpGcpHcpIcpIcpIcyFcpJcpJcpJcpKcpFcpGcpMcqQcfdcrLcEjbjVcEYdbndbmcxNclRckDcoucpNcovckDbGycuscoAcoAaabaabbikbikbikbikbikbikbikbikbikbikbikcpRcpScpTcpUcpVcpWcpXcpXcpYcpXcpXcpXcpXcpXcpZcqacqbcqccqdbwocvvbXSbwobwoaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWhcqhcqicqjbWhbWhbXZbXZcqkbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcnHcqlcnJcqmcnJcqncqocqpcqqcnNcqrcjKcqscelcejbikbikbikbikciEcqtcqucqvcqvciLcqwciLcqxcgdcbkcqycqzcqAcqBcqCcqCcqCcqDcqEclAcqFclAcqGciWbGybGycpFcqHcqIcqJcqKcqLcqMcpFcqLcqMcqKcqNdehcqPcpMczecyWczgcEjdbpdbodbrdbqdbsctcckDcpOcpPcpQckDbGycuscoAcvyaabaabaabbikbikbikbikbikbikbikbikbikbikcpRcqUcqVcqWcqXcqYcqZcracrbcpXcpXcrccpXcpXcpZcqbcqbcqbcrdbwocvzbxXbwoaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWfcrhcribZvbWgbWhbWhbXZbYabXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikadbabLcrjcrjcrjcrjcrjcrjcrjcrjcrkcrkcrkcrkcrkcjKcjKcjKcjKcjKcjKcjKcekcrlcrmcrmcrmcrmcrmciEciLciLciLciLciLciLciLcrncgdcbkcrocrpcrqcrrcrscrtcrucrvcrwcrxcrycrzcrAciWbGybGycpFcrBcrCcqJcqKcqKcrDcpFcrEcqKcqKcqNcqKcrFcpMbGwbGwbGwcEjdbudbtdbvdbmdbxctcdbydbydbycoAcoAbGycuscoDcwpbikaabaabaabbikbikbikbikbikbikbikbikbikcpRczNczPcoBcrOcrPcrQcrRcrScpXcpXcpXcpXcrTcrUcrVcrWcrXcrYbwocvzbxXbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWfbWfbWfbWfbWgbWgbWhbWhbWhbWhbWiaabaabbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikaSecsdcsecsfcsgcsgcshcsicspcskcslcsmcsncsocsrcsqcsqcsscsucstctzctzctAcsvcswcsxcsycsxcsxcsxcswcsxcsxcszcsAcsBcsCcgdcbkcsDcsEcsFcsGcgfcsHcmQcsIcsJcsKcsLcsMcsNcsObGybGycpFcsPcsQcsRcsScsTcsUcpFcsVcsTcsWcsXdlFcsYcwrbikbikbikcEjdbAdbzdbAdbAdbCdbBdbEdbDdbycwFbVibGycuscoDcwpbikbikaabaabaabbikbikbikbikbikbikbikbikctdckPcxGckSctdctfctgcthctictjctkctlcpXcpXctmctnctoctpctqbwocvzbxXcxHbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikaabaabaabaabbikbikbikbikaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaSecsdctuctvctwctvctxctyctDctCdmedcYdmedmfcxnctEctFctEcgdctGcblcblctEctHctEctEctEctEctEctEctEctEctEctEctIctJctKctLctMctNctOctPctQctRctSctTctUctVctWctXciFctZcuacnqcubcuccudcuecufcugcuhcuicpFcujcqKcugcukcqKculcwrbikbikbikdbFcmkdbGdbJdbIdbCdbKdbMdbLdbOdbNceFceJdbPcoDcwpbikbikbikaabaabaabbikbikbikbikbikbikbikckPcurczQcutckPcnCcnCcnCcnCcnCcnCcuuctlcuvcuwcuxcuycnCcnCbwocvzbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaSecuBctvcuCcuDcuEcuFcuGcuHcuIcuJcuKcuLcuMcuNcuOcuPcuQcuRceAcuSceAcuNcuTcuNcuNcuNcuNcuNcuNcuNcuNcuNcuNcuUctEcuVcuWcuXcuYcuZcvacvbcvccvdcvecvfcvgcvhcvicvjcvkcsLceJcvlcvmcvncqKcqJcqKcqKcvocpFcvpcqKcqKcqNcqKcyGcwrbikbikbikdbFdbRdbQdbTdbSdbVdbUdbXdbWdbybGychCcyHcuscoAbikbikbikbikbikaabckPckPckPckPckPckPckPckPckPcvucxScvwckPcxOcxOcyIckPaabcnCcnCcvAcnCcvBcvCcvDcnCcyKcyJcvzbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikadbabLcrjcrjcrjcrjcrjcrjcvFcvGcvGcvHctBdlXcrjcrmcvJcvKcvKcvLcvKcvMcvKcvKcvNcvOcvKcvKcvOcvOcvOcvKcvKcvKcvKcvPcvQcvRcvScvTcvUcvVcvWcvXcvWcvWcvWcvWcvZcwacwbcwccwdcsObGycvrcwecwfcwgcwhcwicwjcwkcpFcwlcwjcwmcqNcqKcwocpMbikbikbikdbFdbZdbYdcadbIdccdcbdbUczRdbycyObVibVicuscoAbikbikbikbikbikbikckPcwtcwucwvcwwcwxcwycwzcwAcwBczScwDckPcxOcBZcyPckPaabaabcwGcwHcwIcwJcwKcwLcwGbxXbxXcvzczfbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGacGafxafxacGafxafxafxagiafxafxaabagiaqZbikaabaabcwNcwNcwNcrjcwOcwPcwQcwRcwScwTcwUcwVcwWcwXcwYcwZcxacxbcxccxdcxecxfcxgcvKcxfcxhcxicxjcxjcxkcvKcxlcxmcxncxocbkcxpcxqcxrcxscxtcxucxtcxvcxwcxxcxycxzcxAcsOcsOcvrcwecpMcpMcxBcpMcpMcxCcxDcxEcxEcxEcxFcxEcyUcpMbikbikbikdbFdbFdbFdbFdbFdbydcedcgdcfdbybGybGyczhcuscoAbikbikbikbikbikbikckPcxOcxPcxOcxQcxRcqUcxScwAcxTczicxTckPcxOcxOcMpckPaabbikcwGcxWcxXcwJcwJcxYcwGczjbxXcvzbzNczMbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikbikaabaabbikaabaabbikbikaabaabaabbikaqZbikbikbikaabaabcwNcrjcrjcrjcrjcrjcrjcrjcrjcybcwWcwXcyccydcyecyfcyfcyfcyfcygcyhcyicxjcyjcxjcxjcykcxjcylcymcyncyocxocbkcypcyqcmScxscyscytcyucxscyvcywcyxcyycyzcyAcyBcyCcyDcyEcyEcAaczUcAdcAccAeczTcALceJcAhbGycAMcoAcoAcoAcoAcoAbikbikbikbikdcidchdckdcjdbydclbVibVicuscoAcoAcoAcoAcoAbikbikckPcxOcxOcxOcyZczaczbczcczdcAicAOcAvckPcAVcAYcAWckPbikbikcwGczkcwJczlcwJczmcwGbxXbxXcvzczMbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikczoczpczqbikczoczpczqbikczoczpczqaabczraabbikbikbikbikaabaabaabbikbikbikbikbikbikczscwWcwXcztcxjcykczucxjcxjcxjczvcxjcztcztcxjcxjcxjcxjczwczxcymczyctEczzcoacyqcyqczAcxsczBczCczDcxsczEctWczFczGczHczIczJczKbGyczLcdcczLbGycBacAZcBccBccBccBccBPcBNcBNcBNcBNcBNcBQcoAbikbikbikbikdcidchdckdcmcTabGyckObVicusbGybGybGycgmcoAbikbikckPcwAcwAcwAcwAczWcqUczXczYczZcCfcAbckPcCGcCYcCIckPbikbikcwGcAfcAgcDLcwJcDNcwGcEdbxXcvzbwoaabaabaabaabbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikczocAkczqbikczocAkczqbikczocAkczqaabaabaabaabbikbikbikbikbikbikbikbikbikaabaabaabczscwWcwXcztcAlcxjcAmcAncAocAocyjcxjcztcApcxjcxjcxjcxjcAqcArcAscAtbZNcAucAPcAwcAxcAycxsczBdlYcAAcxscABctWcsOcACcsLcADcAEcAFcAGcAHcAIcAJcAGcAKcAGcAGcAGcoAcoAcoAcoAcoAcoAcoAcoAcEhcoAbikbikbikbikdcicBTdcqcBUdbycgmcFdbVicFmcFlcFlcFnbGycoAbikbikckPcwtcwucwvcAQcARczbcAScATcAUcFrcIScAXcGscIScGtckPbikbikcwGcwGcBbcCrcBdcwGcwGbwobxXcGycyJcyJcyJbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikafxaabczocAkczqbikczocAkczqaabczocAkczqaabbikbikaabaabaabaabaabbikbikbikbikbikaabbikbikczscwWcvKcBecxjcBfcBgcBhcBicBjcBicBkcBicBlcBmcxfcBncztcztczxcBocBpcBqcBrcBscBtcBucBvcBwcBxcBycBzcBAcBBcBCcBDcBDcBEcBFcBGcBHcBIcBJcBKcBLcBMcrecBOcHucHtcDPcDPcDPcDPcDPcDPcHvcoAcEhclUclUclUclUclUclUcjmbEJcjmcFfclUclUcoAcoAcoAcoAcusbGycoAbikbikckPcxOcBZcxOcCacxRcqUcCbcCccCdcCecqUcqUcCgcqUcChckPbikaabaabcwGcwGcCscwGcwGbikbwobxXcvzcyJcHycHxbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikczocAkczqaabczocAkczqbikczocAkczqbikbikbikbikbikbikaabaabaabbikaabbikaabaabbikbikcybcCicvKcCjcCkcCkcClcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcCmcCncCmcCocCmcrmcCpcCqcFbcCtcCtcCtcCucCvcBCcCwcCxcCycCzcCAcCBcBIcCCcCDcCEcCFcHzcCHcHAcCJaabcCKcCKcCKcCKcCKcHBcoAcHDcHCcIGcHHcIHctackycjocBWckuckycBXcCPcBYcCRcCQcoAcusbGycoAbikbikckPcxOcxOcxOcAQcCTczbcCUcCVcCWcCXcCZcCZcDacqUcDbckPaabaabbikbikbikcIKbikbikbikbwobxXcvzcyJbxXbxXbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxaabbikczocAkczqaabczocAkczqbikczocAkczqaabbikbikbikbikbikbikbikbikaabcDccDdcDdcDdcDdcybcDecwWcDfcDgcDhcDhcDicDjcDkcDlcDlcDlcDlcDmcDncDocDncDncDpcDpcDncDqcDrcDscDtcDtctYcDvcDwcDxcDycDzcDzcDAcDBcDCcDDcDEcDFcCAcDGcBIcDHcDIcDJcDKcILcDMcIMcDOcDPcDQcDRcDScDTcCKcHBcoDcEhclUcvscvqcIOcINcxLckxckwdcrclUcCSczVcuqczVcDUcoAcusbGycoAcoAbikckPcwAcwAcwAcwAcEkcqUcCbdlZcEmcCecqUcEncEocEocEpcEqcXYaabbikbikbikbikbikbikbikbwobxXcGybxXbxXcIPbwoaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikaabbikaabaabcEraabaabaabcEraabbikaabcEraabbikbikbikbikbikbikbikbikcDccDccDccEscEtcEucEvcEwcExcEycDfcDfcEzcEAcvKcvKcEBcECcECcECcECcEDcEEcEFcEEcEEcEEcDtcDtcEGcEHcEIcEJcEKcDzcELcDwcDzcDzcDzcDzcEMcBCcENcEOcCycDFcCAcDFcBIcDHcDIcEPcEQcERcEScETcEUaabcEVcEWcDTcEXcCKcHBcoDcHDcHCcxKcxJczVcxMclUcIIcDVdcsclUcDWcDYczVcEbcEaclUcusbGycITcoAbikckPcwtcwucwvcFjcARczbcFkcJIcGCcJKcJKcFocFpcFqcJLckPaabaabaabbikbikbikbikbikbikbwocJMcvzbwobwobwobwobwoaabaabaabcJNcJNcJNcJNcJNcJNaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxaabcFscFtcFtcFucFvcFwcFwcFwcFvcFwcFwcFwcFvcFwcFwcFxcFtcFtcFtcFtcFtcFycFzcFAcFBcFCcFDcFEcFFcFGcfRcwWcFHcDfcvKcvKcvKcFIcEBcECcFJcFKcFLcyrcFNcDucFPcFOcFQcFScFTcSpcFVcFWcFXcFScFYcFZcDwcGacDzcDzcDzcGbcBCcGccGccDFcGdcGecGfcGgcGhcGicGjcGkcGlcGmcGncDOcGocDQcGpcDTcDTcCKcHBcoDcEhclUcyMcyLcyNcFfclUcnkclTcFfclUcyQcyScyRcyTcyTclUcusbGycJOcoAbikckPcxOcxPcxOcGAcxRcqUcGBcJPcJJcqUdlWcGDcwAcwAcwAckPbikbikaabaabbikbikbikbikbikbwocyKcvzbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikaabbikaabaabcGFaabbikaabcGFaabbikaabcGFaabbikbikbikbikbikbikbikbikcDccDccDccGGcGHcFMcDdcGJcfRcGKcExcExcExcExcGLcExcFGcECcGMcGNcGOcGPcGQcGRcGScGTcGUcGVcGWcGXcGYcGZcHacHbcFYcELcDwcHccHdcDzcDzcHecBCcHfcHgcDFcHhcCAcHicHjcHkcHlcHmcHncHocHpcHocHqaabcCKcCKcCKcCKcCKcHBcoAcEhclUcIJcyVcyYcyXcEecEccEgcEfcHwcGucHZczVcIRcIQclUcusbGycJRcoAbikckPcxOcxOcxOcFjcHEcHFcHGcJScHIcCZcCZcCZcHJcHKcHLcHMbikbikbikaabaabbikbikbikbikbwobwocvzbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxaabaabczocHOczqbikczocHOczqbikczocHOczqaabbikbikbikbikbikbikbikaabaabcDccDdcDdcDdcDdcHPcHQcHRcfRcHScfRcfRcEBcHTcfRcECcHUcHVcGOcHWcFNcHXcHYcIacIacIbcIccIdcIedmabRFcIbcIhcIicIjcIkcIlcImcIncIocIpcIqcGfcIrcIscItcIucIvcIwcIxcIycIzcIAcIBcICcIDcDPcDQcIEcIFcIFcCKcHBcoAcEhclUclUclUclUclUcJhcANcBRcJQcMccBScMecMdcMCcBVclUcuscGqcGrcGrcGrcJTcJTcJTcJTcJTcJUcKTcKbcKUcIUczbcIVczbcIWczbcIXcHMbikbikbikbikaabaabbikbikbikbikbwocvzbwoaabaabaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikczocHOczqaabczocHOczqbikczocHOczqbikbikbikaabbikbikbikbikaabaabaabbikbikaabaabcJbcJbcJbcJbcJbcJbcJbcJccJbcJbcECcJdcJecGOcHWcFNcJfcFNcFNcJgcDtcJicJjcFWcJkcFRcDtcJmcDzcDwcJncJocJpcIncJqcJrcJscJtcJucJvcJwcJtcJxcJycJzcJAcDFcJBcJCcJDcJEaabcEVcJFcJGcJHcCKcHBcoDcKWcKVcKVcKVcKXclUcFacyLcCLcFecyScCMcyTcyTcyScCNclUcuscGvbVibGycKYcKZcoAbikbikckPcJVcJWcJXcJYcJVcJWcJZcKacJVcJWcLackPaabaabaabaabaabaabaabaabaabaabbwocvzbwobwobwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjcbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxaabczocHOczqbikczocHOczqbikczocHOczqaabbikbikbikbikbikbikbikaabaabbikbikaabaabaabcJbcKjcKjcKkcGIcKmcKmcKncKocKocKpcKqcKrcGOcHWcGOcKscGOcGOcGOcDtcKtcKucKvcKwcKxcKycKzcKAcKBcKCcKCcKCcKDcKEcKFcKGcKHcKIcHhcCAcKJcKKcKLcKMcKNcDFcJBcKOcKPcKQcKRcDQcKScIFcIFcCKcHBcoDcEhbVibVibVibYDclUcFgcCOcDXcNDcyScPocPMcyTcPVcPQclUcuscGvbVibGycyHbGycoAbikbikckPcLicLjcLkcwAcLlcLmcLncwAcLocLpcLqckPaabaabbikbikbikbikbikbikbikbikbwocvzbxXbxXbwoaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxaabczocHOczqbikczocHOczqaabczocHOczqaabaabaabbikaabbikbikaabaabbikbikbikaabbikbikcJbcKjcKjcKkcLscLscLscLtcLucLvcECcLwcLxcLycLzcLAcLBcLCcLDcLDcLEcLFcLGcGOcGOcGOcLHcLIcLJcLKcLLcLMcLNcLOcLPcECcLQcLQcLRcHhcCAcLScLTcLUcLVcLWcDFcLXcLYcLZcMacMbcCKcCKcCKcCKcCKcHBcoDcEhcLbbGybGybYDclUcNEczVczVcOtcDZcQMcRwcyTdbkcYuclUcuscGvczhbGychCcITcoAbikbikckPcMpcxOcxOcwAcMpcxOcxOcwAcMpcxOcxOckPbikaabaabbikbikbikbikbikbikbikbwocLccyJbxXbwobwobwocJNcJNaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagiaabczocMqczqbikczocMqczqbikczocMqczqaabafxaabaabaabaabaabaabbikbikbikbikbikbikaabcJbcMrcMscLscLscLscMtcMucMucMucMucMucMucMucMvcMwcMxcMycMzcMzcMzcMAcMBdcpdcodcvcMzcMBcMDcMEcMFcLMcMGcLOcLPcMHcMIcMJcMKcMLcMMcMNcMOcKNcMPcMQcMRcMScMTcMUcIDcMVcDQcMWcMXcMXcCKcHBcoAcEhbVicozcLdbYDclUcOBczVcQgcPYcySdcydczcyTdcBdcAclUcuscGvbVibGybVibVicoAaabaabckPcNncBZcxOcwAcNncBZcxOcwAcNncBZcxOckPbikbikaabaabbikbikbikbikbikbikbwocvzcyJcLecyJcLfbwoaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxbikaabbikbikbikaabaabaabbikbikaabaabbikafxaabaabaabaabaabbikbikbikbikbikbikbikaabcJbcNocLscLscLscLscLscMubhGcNpcHscNrcNtcMucNucNvcNwcJecGOcGOcNxdcCcNzcNAcNBdcDcNCdcEcECdcFcMFcLMcNFcLOcNGcECcNHcLQcNIcNJcDFcMNcMOcNKcDFcMQcMRcJBcJCcNLcJEcNMcEVcNNcNOcNPcCKcHBcoAcEhbVicLgcLgbYDclUclUdbldcwclUcEZclUclUclUclUclUclUcuscGvbVibGybGycMfcoAbikbikckPcOacxOcxOcwAcOacxOcxOcwAcOacxOcxOckPbikbikbikaabaabbikbikbikbikbikbwocvzcyJbxXbxXbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxacGacGagiafxafxafxafxacGafxafxacGcOcaabbikbikbikbikbikbikbikbikbikbikbikbikcJbcOdcLucLscLscLscOecMucNpcNqcOkcOlcOmcOncOocOpcOqcOrcGOcOsdcKcOucOvcOwcOxcOycOzcOAdcLcNwcJecOCcODcLKcOEcECcOFcLQcOGcOHcDFcMNcMOcKNcDFcOIcMRcJBcOJcOKcKQcOLcDQcOMcMXcMXcCKcHBcoDcEhcMgchCbJGbYDdcxclUclUcMhclUdcHdcGcFcbVicMjcMibGycuscGvbVibGycMkcITcoAbikbikckPckPckPckPckPckPckPckPckPckPckPckPckPbikbikbikbikaabaabbikbikbwobwobwocvzcyJcMmcMlbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkkdjydjydjydjydjydjydjydjydjydjydkjbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabaabaacbUTcjMcjMbUTcjMcjMbUTbikbikbikbTgbWjbYbbWkbTgbUIbUIbUIbOVcaYcaZcaZcaZbOVbOVbUTcbbcbaccAcbcbUTcbdcbebUVbZHbYnbYnbYncbfbUZbYpbYqbYqcbgcbhcbicbjcbkcblbVfbVfbVfbVfbVfcbmbVfbVfcbncbobVkbVkcbpbVkbVnbVkbVkbPlcbqcbqbPlccicbrcbscbtcbucbvcbwcbxcbycbzcbAcbBcaocapcbCcbDcbEcbFcbGcbHbVAcbIcbJcbKcbLcbMcbNcbOcbPcbQcbPcbRcbRcbRcbPcbScbPcbPcbTcbUbZmbZmbPTcbVbZnbPXcbWcbXcbYcbZccaccbccccccccdcceccfccgcckccjcdqcclcfeccmccnccoccpccqccrccscctaabaabaabaabaabaabaabaabbikbikbikbikbikbWgbWhccuccvccvbXZbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikbUTccBcqsbUTccBcqsbUTbikbikbikbYcbOTbYgbOTbZxbikaabbikbOVbOVbOVbOVbOVbOVclabUTcuRcsuccCccDbZFccEccFbUVccGccHdmcbYnccJccKccLccMccNccOccPbUZccQccRccSccTccUccUccUccUccVccWccXccYccYccZccZcdacdbcdcbVibPlcddcdecdfcdgcdhbYKcdicbtcdjcdkcdlcdmbSwcdncdocdpcffcdrcdrcdscdrcdrcdrcdtbVAcducdvcdwcdxcdycdzcdAcbPcdBcdCcdDcdEcdFcdCcdGcdHcdCcdIcdJbRBbPTbPTcdKcdLcdMcdNcdOcdPcdQcdRcdScdTcdUcdVcdWcdXcdYcdZceacebceaceccebcebcebcedceecefcegcehaabbikbikbikbikaabbikbikbikbikbikbikbikbWhbWhceibXZbXZbXZbXZbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaacbikaacbUTcfQcqsbUTcfQcqsbUTbikbikaabaabaabaabaabaabaabaabaabbUTcqscAjcwNbUTcEvcEwbUTcGJbUTbUTcekbUTbUTcelbUVcemcenceocepceqcercescetceucevcewccKcexceycezceAceBceBceBceBceCceDceEceFceGceFceHceIceJceKchvceMceNceOcePceQceRceSceTceUceVceWceXceYceZcfacfbcfccfgbMmbMmcfichOcgHceYchVcfjcfjcfkcfjcflcfmcfncfocbPcfpcfqcfrcfscfrcftcfucfvcdCbPTcfwbPTbPTcfxcfybZnbBxbEXbUAcfzbUAbUAcfAcfBcfCcfDcfEcebcfFcfGcfHcdUcfHcdUcfIcdUcdUbUAcfJcfKcfLcfMaabaabaabaabaabaabaabaabbikbikbikbikbikbWhbXZbXZbXZbXZbXZbXZcfNbXZcfObXZbXZbXZbXZbXZbWhbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabdnkaacaabaDDaDDaacbUTbUTcekbUTbUTcekbUTbUTbUTcjMcjMcjMbUTbUTbUTbUTbUTbUTbUTcqschodnmbUTdnnbUTbUTdnobUTcfPbVccqsbUTcfSbUVcfTcfUcfVbZHcfWcfXcfYbYpcfZcgacgbcfXcgccgdcgecgfcgfcggcghcgicgjcgkcglcgmbGycgnbVicgobGybGycgpcgqcgrcgscgtceQcgucgvcgwcgxcgycgzbMVcgBcgCcgzcgzcgDcgEcgEcgEcgEcgEcgGcgFciOcgJcgJcgKcgLcgMcgNcgOcgPcbPcgQcgRcgScgTcgScgUcgVcfrcgWcgXcgYbBxcgZbBxcfybZnbBxbEXchachbchcbUAbUAbUAbUAbUAchdcdUchechfcfIcdUchgcdUbZpcdUchhbUAchichjchkbUAaabbikbikbikbikaabbikbikbikbikbikbikbikbWhchlchlchlchlchlchlchmbXZchnchlcfObXZbXZbXZbXZbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaacaaccjMcqscqscqscqsdoadnxcqscqscuRdnpdnpdowdnpdnpdnpdnpdnpdnpdnpdnpdnpdnpdnpdnpcsubUTchocfQchpbUTcfSchrchrchrchrchrchrbUZbUZbUZbUZbUZbUZbUZchschtchucWpchwchxchychychzchAcglbGybGychBchCchDbGybGybGycqOchFchGceOchHchIchJcgEchKchLchMbSqchLchNcfdcfdcfdcjncjlcjlcjlcjlckacgIbSqclPchPchQchRchSchTchUclQcbPchWchXcfrchYcfrchZciacibciccidciecifbBxcigcfybZncihbEXbFeciicijcikbwobxXbxXbUAcilcimcinciocipciqcirciscitciucivbUAciwciycixcizbikbikbikbikaahbikbikbikbikbikbikbikbikciAbXXbXXbXXbXXbXXbXXbXXciBciCbXZbXZbXZbXZciDbYabWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaacaabaabaaccjMdnrdnqdnscqscqsdoxcqscqsdnobUTbUTbUTbUTbUTbUTcekbUTbUTbUTbUTdntdntdntdntdntdntdntdntdntbUTcfScejbikbikbikbikciEbaTciGciHciIciJciKciLciMciNcmPciPciQciRciSciSciTciUciVciWciWciWciWciXciWbGybGybPlciYciZcjacjbcjccjdchScjecjfcjgcjhcjicjjcjkcjlcfdcnicjpcjpcjpcjpckNclSckUcnjcjqcjrcjscjtcbAcwncjvcbPcjwcjxcjycjzcjAcfrcjBcbPcbPbEXcjCbEXbEXbEXcjDcjEcjFbEXbxXciicjGcjHbwobwobwobUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbikbikbikbikbikaabbikbikbikbikbikbikbikbWhccvccvccvccvccvccvcjIbXZccuccvcjJbXZbXZbXZbXZbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbUTcjKcjKcjKcjKcjKcjKcjLcjKdnodnubUTcqsdoydnwdnycqsdnydnvdnzdnwdntdnAdnAdntdnBdntdnDdnCdntcqscelcjMbikcjNcjOcjPcjQcjRcjScjTcjUcjVcjWcjXcjYcjZcosckbckcckdckeckfckgckhciVckickjckjckjckkciWbGybGycklcklcklcklckmcklckncknckocklcklckpcklckqckrckscktcksclZaPKcmacmmcmlcmocmnckzckAckBckCckDckEckFcdccbPcbPckGcbPckHcbPckIckJckKcgnckLckMckvckOckPckQckRckSckPbxXciickTbxXbxXckVckWckXchabxXbxXbxXbxXbxXbxXbxXckYckZcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWhbXZbXZbXZbXZbXZbXZcfNbXZcjJbXZbXZbXZbXZbXZbWhbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdnEclbclbclbclbclbclbclccldcleclfclgclhclicjLdnocnRbUTcqsdozdnwcqscqscqsdnvcwNdnwdntdnAdnFdnCdnCdnGdnCdnHdntcljcelcjMbikclkcllclmclnclocjSclpclqclrclsciLcltcgdcoaciPcluchyclvchyclwclxclyclzclAclAclAclBciWbGybGycklclCclDclEclFclGclHclHclIclJclKclLclMclNclOcotcfhcpwcmpcmrcmqctbcsZcuoctcckDclVclWclXckzclYcmtcmscmbcmbcmccmdcmecmfcmgcmhcmfcmfcmfcmicmfcmfcmjcmucnpcnlcqRcoXcrGcqScrHcrHcrIcrHcrHcrHcrHcrJcrKcrHcrHcrHcrMcmvbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWhbWhceibXZbXZbXZbXZbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcmwcmxcmxcmxcmxcmycmzcmAcmBcmCcmCcmDcjKdnocqscekcqscqscqscqscqscqscqscqscqsdntdntdnCdnIdnCdntdnCdnIdntcmEcfScjMbikclkcmFcmGcmHcmIcmJcmKcmLcmIcmIcmMcmNcmOcpxcmQcmQcmRbHtchycmTcmUclyclAclAclAclAcmVciWbGybGycklcmWcmXcmYcmZcnacnbcnbbzsbvWbulbxBclHcnhcklcqQcfdcrLcjpcwscvxcwEcwCcxNcxIckDcnmcnncnockDbJGcumctecnqcnqcnqcnqcnqcnrcnscntcnucnvcnvcnwcnwcnvcnxcnycnzcnAcnBcnCcnDcnEcnCcnCcnCcnCcnCcnCcnCcnCcnCcnCcnCcnCcuncnFcnGcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcaUbWhbWhchlchlbXZbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcnHcnIcnJcnKcnJcnLcnMcnNcnOcnPcnQcjKdnobUTbUTdnJcjMcjMcjMcjMcjMcjMcjMdnKdntdnCdnCdnCdnCdnLdnCdnCdntcnRcelcjMbikclkcnScnTcnUcnVcjScnWcnXcnYcnZciLcltcgdcbkchqcgfcoccodciPciPciPcoecofclAclAcogcohciWbGycoicklcojcokcolcomcomcomconcoocomcomcopclHcoqcorcrNcfdcupcjpcxVcxUcxVcxVcxNcEickDcowcoxcoyckDcozcuscoicoAcoAcoAcoAcoAcoDcoDcoDcoAcoAbikbikbikbikckPcoEcoFcoGcnCcoHcoIcoJcoKcoLcoMcoNcoOcoPcoQcoRcoScoTcoUcnCcuncoWcvtcoYcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcoZcpacpbbWhbZubWhbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcnHcpccpdcpecpfcmBcpgcphcpicmBcpjcpkdnMchobUTcqscjMbikbikbikbikbikcjMcqsdnldnAdnOdnCdnCdnCdnCdnPdnNcplcpmcjMbikcpncjOcpocjQcppcjScjScpqcprcpscptcpucpvcwqchqcgfcpycpzcpAcpBcpCciVcpDclAclAclAcpEciWbGybGycpFcpFcpGcpHcpIcpIcpIcyFcpJcpJcpJcpKcpFcpGcpMcqQcfdcrLcEjbjVcEYdbndbmcxNclRckDcoucpNcovckDbGycuscoAcoAaabaabbikbikbikbikbikbikbikbikbikbikbikcpRcpScpTcpUcpVcpWcpXcpXcpYcpXcpXcpXcpXcpXcpZcqacqbcqccqdbwocvvbXSbwobwoaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWhcqhcqicqjbWhbWhbXZbXZcqkbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcnHcqlcnJcqmcnJcqncqocqpcqqcnNcqrcjKdoAcwNbUTcfQcejbikbikbikbikbikcejdnRdntdnSdnSdnAdnUdnTdnCdnVdntcqscelcejbikbikbikbikciEcqtcqucqvcqvciLcqwciLcqxcgdcbkcqycqzcqAcqBcqCcqCcqCcqDcqEclAcqFclAcqGciWbGybGycpFcqHcqIcqJcqKcqLcqMcpFcqLcqMcqKcqNdehcqPcpMczecyWczgcEjdbpdbodbrdbqdbsctcckDcpOcpPcpQckDbGycuscoAcvyaabaabaabbikbikbikbikbikbikbikbikbikbikcpRcqUcqVcqWcqXcqYcqZcracrbcpXcpXcrccpXcpXcpZcqbcqbcqbcrdbwocvzbxXbwoaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWfcrhcribZvbWgbWhbWhbXZbYabXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikcjKcjKcjKcjKcjKcjKdnWcrjcrjcrjcrjcrjdnQcrjcrjcrjcrjcrjcrjcrjcrjcrkcrkcrkcrkcrkdnYdnYdnYdnYdnYdnYdnYcekcrlcrmcrmcrmcrmcrmciEciLciLciLciLciLciLciLcrncgdcbkcrocrpcrqcrrcrscrtcrucrvcrwcrxcrycrzcrAciWbGybGycpFcrBcrCcqJcqKcqKcrDcpFcrEcqKcqKcqNcqKcrFcpMbGwbGwbGwcEjdbudbtdbvdbmdbxctcdbydbydbycoAcoAbGycuscoDcwpbikaabaabaabbikbikbikbikbikbikbikbikbikcpRczNczPcoBcrOcrPcrQcrRcrScpXcpXcpXcpXcrTcrUcrVcrWcrXcrYbwocvzbxXbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWfbWfbWfbWfbWgbWgbWhbWhbWhbWhbWiaabaabbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikaSecsdctvdnZctvdoBcsdcsecsfcsgcsgcshcsicspcskcslcsmcsncsocsrcsqcsqcsscsqcstctzctzctAcsvcswcsxcsycsxcsxcsxcswcsxcsxcszcsAcsBcsCcgdcbkcsDcsEcsFcsGcgfcsHcmQcsIcsJcsKcsLcsMcsNcsObGybGycpFcsPcsQcsRcsScsTcsUcpFcsVcsTcsWcsXdlFcsYcwrbikbikbikcEjdbAdbzdbAdbAdbCdbBdbEdbDdbycwFbVibGycuscoDcwpbikbikaabaabaabbikbikbikbikbikbikbikbikctdckPcxGckSctdctfctgcthctictjctkctlcpXcpXctmctnctoctpctqbwocvzbxXcxHbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikaabaabaabaabbikbikbikbikaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaSecsdctvctvctvdoBcsdctuctvctwctvctxctyctDctCdmedcYdmedmfcxnctEctFctEctEctGcblcblctEctHctEctEctEctEctEctEctEctEctEctEctIctJctKctLctMctNctOctPctQctRctSctTctUctVctWctXciFctZcuacnqcubcuccudcuecufcugcuhcuicpFcujcqKcugcukcqKculcwrbikbikbikdbFcmkdbGdbJdbIdbCdbKdbMdbLdbOdbNceFceJdbPcoDcwpbikbikbikaabaabaabbikbikbikbikbikbikbikckPcurczQcutckPcnCcnCcnCcnCcnCcnCcuuctlcuvcuwcuxcuycnCcnCbwocvzbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaSedobctvdocctvdoBcuBdodcuCcuDcuEcuFcuGcuHcuIcuJcuKcuLcuMcuNcuOcuPcuQdoeceAcuSceAcuNcuTcuNcuNcuNcuNcuNcuNcuNcuNcuNcuNcuUctEcuVcuWcuXcuYcuZcvacvbcvccvdcvecvfcvgcvhcvicvjcvkcsLceJcvlcvmcvncqKcqJcqKcqKcvocpFcvpcqKcqKcqNcqKcyGcwrbikbikbikdbFdbRdbQdbTdbSdbVdbUdbXdbWdbybGychCcyHcuscoAbikbikbikbikbikaabckPckPckPckPckPckPckPckPckPcvucxScvwckPcxOcxOcyIckPaabcnCcnCcvAcnCcvBcvCcvDcnCcyKcyJcvzbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdogdofcrjcrjcrjcrjdnQcrjcrjcrjcrjdnXcrjcvFcvGcvGcvHctBdlXcrjcrmcvJcvKcvKcvLcvKcvMcvKcvKcvNcvOcvKcvKcvOcvOcvOcvKcvKcvKcvKcvPcvQcvRcvScvTcvUcvVcvWcvXcvWcvWcvWcvWcvZcwacwbcwccwdcsObGycvrcwecwfcwgcwhcwicwjcwkcpFcwlcwjcwmcqNcqKcwocpMbikbikbikdbFdbZdbYdcadbIdccdcbdbUczRdbycyObVibVicuscoAbikbikbikbikbikbikckPcwtcwucwvcwwcwxcwycwzcwAcwBczScwDckPcxOcBZcyPckPaabaabcwGcwHcwIcwJcwKcwLcwGbxXbxXcvzczfbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGacGafxafxacGafxafxaabagiaabaqZbikaqZaqZdoidoCdojdojdojdoldokcrjcwOcwPcwQcwRcwScwTcwUcwVcwWcwXcwYcwZcxacxbcxccxdcxecxfcxgcvKcxfcxhcxicxjcxjcxkcvKcxlcxmcxncxocbkcxpcxqcxrcxscxtcxucxtcxvcxwcxxcxycxzcxAcsOcsOcvrcwecpMcpMcxBcpMcpMcxCcxDcxEcxEcxEcxFcxEcyUcpMbikbikbikdbFdbFdbFdbFdbFdbydcedcgdcfdbybGybGyczhcuscoAbikbikbikbikbikbikckPcxOcxPcxOcxQcxRcqUcxScwAcxTczicxTckPcxOcxOcMpckPaabbikcwGcxWcxXcwJcwJcxYcwGczjbxXcvzbzNczMbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikbikaabaabbikaabaabbikbikaabaabaabaabaabdoidoidohdoidoidoncEBcrjcrjcrjcrjcrjcrjcrjcrjcybcwWcwXcyccydcyecyfcyfcyfcyfcygcyhcyicxjcyjcxjcxjcykcxjcylcymcyncyocxocbkcypcyqcmScxscyscytcyucxscyvcywcyxcyycyzcyAcyBcyCcyDcyEcyEcAaczUcAdcAccAeczTcALceJcAhbGycAMcoAcoAcoAcoAcoAbikbikbikbikdcidchdckdcjdbydclbVibVicuscoAcoAcoAcoAcoAbikbikckPcxOcxOcxOcyZczaczbczcczdcAicAOcAvckPcAVcAYcAWckPbikbikcwGczkcwJczlcwJczmcwGbxXbxXcvzczMbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdoDbikacGbikczoczpczqbikczoczpczqbikczoczpczqbikbikdoidoocfRdopdoidoqcGKdojdojdojdojdojdojdojdojdojcEycwXcztcxjcykczucxjcxjcxjczvcxjcztcztcxjcxjcxjcxjczwczxcymczyctEczzcoacyqcyqczAcxsczBczCczDcxsczEctWczFczGczHczIczJczKbGyczLcdcczLbGycBacAZcBccBccBccBccBPcBNcBNcBNcBNcBNcBQcoAbikbikbikbikdcidchdckdcmcTabGyckObVicusbGybGybGycgmcoAbikbikckPcwAcwAcwAcwAczWcqUczXczYczZcCfcAbckPcCGcCYcCIckPbikbikcwGcAfcAgcDLcwJcDNcwGcEdbxXcvzbwoaabaabaabaabbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikczocAkczqbikczocAkczqbikczocAkczqbikaqZdoicfRcfRcfRdoidoidorczsdoidoiczsczsdoidoiczsczscwWcwXcztcAlcxjcAmcAncAocAocyjcxjcztcApcxjcxjcxjcxjcAqcArcAscAtbZNcAucAPcAwcAxcAycxsczBdlYcAAcxscABctWcsOcACcsLcADcAEcAFcAGcAHcAIcAJcAGcAKcAGcAGcAGcoAcoAcoAcoAcoAcoAcoAcoAcEhcoAbikbikbikbikdcicBTdcqcBUdbycgmcFdbVicFmcFlcFlcFnbGycoAbikbikckPcwtcwucwvcAQcARczbcAScATcAUcFrcIScAXcGscIScGtckPbikbikcwGcwGcBbcCrcBdcwGcwGbwobxXcGycyJcyJcyJbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikaqZaabczocAkczqbikczocAkczqaabczocAkczqbikaabdoidondosdoqdoibikaabbikbikbikbikbikaabbikbikczscwWcvKcBecxjcBfcBgcBhcBicBjcBicBkcBicBlcBmcxfcBncztcztczxcBocBpcBqcBrcBscBtcBucBvcBwcBxcBycBzcBAcBBcBCcBDcBDcBEcBFcBGcBHcBIcBJcBKcBLcBMcrecBOcHucHtcDPcDPcDPcDPcDPcDPcHvcoAcEhclUclUclUclUclUclUcjmbEJcjmcFfclUclUcoAcoAcoAcoAcusbGycoAbikbikckPcxOcBZcxOcCacxRcqUcCbcCccCdcCecqUcqUcCgcqUcChckPbikaabaabcwGcwGcCscwGcwGbikbwobxXcvzcyJcHycHxbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikczocAkczqaabczocAkczqbikczocAkczqaabbikdoidoiczsdoidoibikaabaabbikaabbikaabaabbikbikcybcCicvKcCjcCkcCkcClcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcCmcCncCmcCocCmcrmcCpcCqcFbcCtcCtcCtcCucCvcBCcCwcCxcCycCzcCAcCBcBIcCCcCDcCEcCFcHzcCHcHAcCJaabcCKcCKcCKcCKcCKcHBcoAcHDcHCcIGcHHcIHctackycjocBWckuckycBXcCPcBYcCRcCQcoAcusbGycoAbikbikckPcxOcxOcxOcAQcCTczbcCUcCVcCWcCXcCZcCZcDacqUcDbckPaabaabbikbikbikcIKbikbikbikbwobxXcvzcyJbxXbxXbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxaqZbikczocAkczqaabczocAkczqbikczocAkczqaabbikbikbikbikbikbikbikbikbikaabcDccDdcDdcDdcDdcybcDecwWcDfcDgcDhcDhcDicDjcDkcDlcDlcDlcDlcDmdotcDocDncDncDpcDpcDncDqcDrcDscDtcDtctYcDvcDwcDxcDycDzcDzcDAcDBcDCcDDcDEcDFcCAcDGcBIcDHcDIcDJcDKcILcDMcIMcDOcDPcDQcDRcDScDTcCKcHBcoDcEhclUcvscvqcIOcINcxLckxckwdcrclUcCSczVcuqczVcDUcoAcusbGycoAcoAbikckPcwAcwAcwAcwAcEkcqUcCbdlZcEmcCecqUcEncEocEocEpcEqcXYaabbikbikbikbikbikbikbikbwobxXcGybxXbxXcIPbwoaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikaabbikaabaabcEraabaabaabcEraabbikaabcEraabbikbikbikbikbikbikbikbikbikcDccDccDccEscEtcEucDddoucExcEycDfcDfcEzcEAcvKcvKcEBcECcECcECcECcEDcEEcEFcEEcEEcEEcDtcDtcEGcEHcEIcEJcEKcDzcELcDwcDzcDzcDzcDzcEMcBCcENcEOcCycDFcCAcDFcBIcDHcDIcEPcEQcERcEScETcEUaabcEVcEWcDTcEXcCKcHBcoDcHDcHCcxKcxJczVcxMclUcIIcDVdcsclUcDWcDYczVcEbcEaclUcusbGycITcoAbikckPcwtcwucwvcFjcARczbcFkcJIcGCcJKcJKcFocFpcFqcJLckPaabaabaabbikbikbikbikbikbikbwocJMcvzbwobwobwobwobwoaabaabaabcJNcJNcJNcJNcJNcJNaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxaabcFscFtcFtcFucFvcFwcFwcFwcFvcFwcFwcFwcFvcFwcFwcFwcFxcFtcFtcFtcFtcFtcFycFzcFAcFBcFCcFDcFEcFFcFGcfRcwWcFHcDfcvKcvKcvKcFIcEBcECcFJcFKcFLcyrcFNcDucFPcFOcFQcFScFTcSpcFVcFWcFXcFScFYcFZcDwcGacDzcDzcDzcGbcBCcGccGccDFcGdcGecGfcGgcGhcGicGjcGkcGlcGmcGncDOcGocDQcGpcDTcDTcCKcHBcoDcEhclUcyMcyLcyNcFfclUcnkclTcFfclUcyQcyScyRcyTcyTclUcusbGycJOcoAbikckPcxOcxPcxOcGAcxRcqUcGBcJPcJJcqUdlWcGDcwAcwAcwAckPbikbikaabaabbikbikbikbikbikbwocyKcvzbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikaabbikaabaabcGFaabbikaabcGFaabbikaabcGFaabbikbikbikbikbikbikbikbikbikcDccDccDccGGcGHcFMcDddovcfRcGKcExcExcExcExcGLcExcFGcECcGMcGNcGOcGPcGQcGRcGScGTcGUcGVcGWcGXcGYcGZcHacHbcFYcELcDwcHccHdcDzcDzcHecBCcHfcHgcDFcHhcCAcHicHjcHkcHlcHmcHncHocHpcHocHqaabcCKcCKcCKcCKcCKcHBcoAcEhclUcIJcyVcyYcyXcEecEccEgcEfcHwcGucHZczVcIRcIQclUcusbGycJRcoAbikckPcxOcxOcxOcFjcHEcHFcHGcJScHIcCZcCZcCZcHJcHKcHLcHMbikbikbikaabaabbikbikbikbikbwobwocvzbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxacGaabczocHOczqbikczocHOczqbikczocHOczqaabbikbikbikbikbikbikbikbikaabaabcDccDdcDdcDdcDdcHPcHQcHRcfRcHScfRcfRcEBcHTcfRcECcHUcHVcGOcHWcFNcHXcHYcIacIacIbcIccIdcIedmabRFcIbcIhcIicIjcIkcIlcImcIncIocIpcIqcGfcIrcIscItcIucIvcIwcIxcIycIzcIAcIBcICcIDcDPcDQcIEcIFcIFcCKcHBcoAcEhclUclUclUclUclUcJhcANcBRcJQcMccBScMecMdcMCcBVclUcuscGqcGrcGrcGrcJTcJTcJTcJTcJTcJUcKTcKbcKUcIUczbcIVczbcIWczbcIXcHMbikbikbikbikaabaabbikbikbikbikbwocvzbwoaabaabaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikczocHOczqaabczocHOczqbikczocHOczqbikbikbikbikaabbikbikbikbikaabaabaabbikbikaabaabcJbcJbcJbcJbcJbcJbcJbcJccJbcJbcECcJdcJecGOcHWcFNcJfcFNcFNcJgcDtcJicJjcFWcJkcFRcDtcJmcDzcDwcJncJocJpcIncJqcJrcJscJtcJucJvcJwcJtcJxcJycJzcJAcDFcJBcJCcJDcJEaabcEVcJFcJGcJHcCKcHBcoDcKWcKVcKVcKVcKXclUcFacyLcCLcFecyScCMcyTcyTcyScCNclUcuscGvbVibGycKYcKZcoAbikbikckPcJVcJWcJXcJYcJVcJWcJZcKacJVcJWcLackPaabaabaabaabaabaabaabaabaabaabbwocvzbwobwobwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjcbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxaabczocHOczqbikczocHOczqbikczocHOczqaabbikbikbikbikbikbikbikbikaabaabbikbikaabaabaabcJbcKjcKjcKkcGIcKmcKmcKncKocKocKpcKqcKrcGOcHWcGOcKscGOcGOcGOcDtcKtcKucKvcKwcKxcKycKzcKAcKBcKCcKCcKCcKDcKEcKFcKGcKHcKIcHhcCAcKJcKKcKLcKMcKNcDFcJBcKOcKPcKQcKRcDQcKScIFcIFcCKcHBcoDcEhbVibVibVibYDclUcFgcCOcDXcNDcyScPocPMcyTcPVcPQclUcuscGvbVibGycyHbGycoAbikbikckPcLicLjcLkcwAcLlcLmcLncwAcLocLpcLqckPaabaabbikbikbikbikbikbikbikbikbwocvzbxXbxXbwoaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxaabczocHOczqbikczocHOczqaabczocHOczqaabaabaabaabbikaabbikbikaabaabbikbikbikaabbikbikcJbcKjcKjcKkcLscLscLscLtcLucLvcECcLwcLxcLycLzcLAcLBcLCcLDcLDcLEcLFcLGcGOcGOcGOcLHcLIcLJcLKcLLcLMcLNcLOcLPcECcLQcLQcLRcHhcCAcLScLTcLUcLVcLWcDFcLXcLYcLZcMacMbcCKcCKcCKcCKcCKcHBcoDcEhcLbbGybGybYDclUcNEczVczVcOtcDZcQMcRwcyTdbkcYuclUcuscGvczhbGychCcITcoAbikbikckPcMpcxOcxOcwAcMpcxOcxOcwAcMpcxOcxOckPbikaabaabbikbikbikbikbikbikbikbwocLccyJbxXbwobwobwocJNcJNaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikagiaabczocMqczqbikczocMqczqbikczocMqczqaabafxaabaabaabaabaabaabaabbikbikbikbikbikbikaabcJbcMrcMscLscLscLscMtcMucMucMucMucMucMucMucMvcMwcMxcMycMzcMzcMzcMAcMBdcpdcodcvcMzcMBcMDcMEcMFcLMcMGcLOcLPcMHcMIcMJcMKcMLcMMcMNcMOcKNcMPcMQcMRcMScMTcMUcIDcMVcDQcMWcMXcMXcCKcHBcoAcEhbVicozcLdbYDclUcOBczVcQgcPYcySdcydczcyTdcBdcAclUcuscGvbVibGybVibVicoAaabaabckPcNncBZcxOcwAcNncBZcxOcwAcNncBZcxOckPbikbikaabaabbikbikbikbikbikbikbwocvzcyJcLecyJcLfbwoaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikafxbikaabbikbikbikaabaabaabbikbikaabaabbikafxaabaabaabaabaabaabbikbikbikbikbikbikbikaabcJbcNocLscLscLscLscLscMubhGcNpcHscNrcNtcMucNucNvcNwcJecGOcGOcNxdcCcNzcNAcNBdcDcNCdcEcECdcFcMFcLMcNFcLOcNGcECcNHcLQcNIcNJcDFcMNcMOcNKcDFcMQcMRcJBcJCcNLcJEcNMcEVcNNcNOcNPcCKcHBcoAcEhbVicLgcLgbYDclUclUdbldcwclUcEZclUclUclUclUclUclUcuscGvbVibGybGycMfcoAbikbikckPcOacxOcxOcwAcOacxOcxOcwAcOacxOcxOckPbikbikbikaabaabbikbikbikbikbikbwocvzcyJbxXbxXbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxacGacGagiafxafxafxafxacGafxafxacGcOcbikaabbikbikbikbikbikbikbikbikbikbikbikbikcJbcOdcLucLscLscLscOecMucNpcNqcOkcOlcOmcOncOocOpcOqcOrcGOcOsdcKcOucOvcOwcOxcOycOzcOAdcLcNwcJecOCcODcLKcOEcECcOFcLQcOGcOHcDFcMNcMOcKNcDFcOIcMRcJBcOJcOKcKQcOLcDQcOMcMXcMXcCKcHBcoDcEhcMgchCbJGbYDdcxclUclUcMhclUdcHdcGcFcbVicMjcMibGycuscGvbVibGycMkcITcoAbikbikckPckPckPckPckPckPckPckPckPckPckPckPckPbikbikbikbikaabaabbikbikbwobwobwocvzcyJcMmcMlbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabcJbcJbcJbdeBcOXcOXcOXcMucOYcOZcPacPacPbcPccMzcPdcPecPfcPgcPhdcMcPicPjcPkcPlcPmcPncPidcNcPpcPqcPrcPscPtcPucPvcNHcLQcPwcPxcDFcMNcDFcPycDFcMQcMRcJBcJCcPzcJEcNMcCKcCKcCKcCKcCKcHBcoDcMncKXchCcITcMYcMocMocMocMZbVidcJdcIcFhbVicNacKVcKVcNbcHrczhbGybGycoAcoAbikbikcONaabbikbikbikbikaabbikbikbikbikbikaabbikbikbikbikbikaabaabbikbwocyKcNccNdcyJcNfcNebxXcxHbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabcPEcLscLscOXaabaabcMucPHcPIcPacPacPJcMucPKcPLdcOcPNcPOcPPdcPcECcPRcPScPTcGOcPUcECdcQcPWcPXcPNcPNdcRcPZcECcQacLQcQbcQccDFcMNcDFcLScLTcQdcQecMScQfdcScIDcQhcDQcQicQjcQjcCKcHBcoDcNhcNgbVibVicEhbVibVibGycNibVibVicGwbVibVicNkcNjcNmcNlcNQcoAcoAcoAcoAbikbikbikbikaabbikbikbikbikaabbikbikbikbikbikaabbikbikbikbikbikbikaabaabbwocNRcunbOMcyJcyJcyJbxXbwoaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikaabaabcPEcLscLscOXaabbikcMucQscPIcPacPacQtcMucQucQvcECcQwcQxcQxdcTcECcQycQzcQAcQBdcUcECcQxcQxcQxcQwcECcQCcQucECcNHcLQcJlcQEcQFcQGcQHcQIcQJcQKcIAcQLcJCdcVcJEcNMcEVcQNcQOcQPcCKcHBcoAcoAcEhcdbcNScEhcNTbVibGycNVcNUcNXcNWcMocMocNYcGvbVicNZcoAcoAbikbikaabbikbikbikbikaabbikbikbikbikaabbikbikbikbikbikaabbikbikbikbikbikbwobwobwobwobwocOObOMcyJcOQcOPbxXbwoaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index a5d0cd3f66f..7f5a03e58af 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -631,6 +631,7 @@ "mg" = (/obj/item/weapon/mop,/obj/structure/mirror{pixel_x = 28},/obj/item/weapon/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "mh" = (/obj/item/weapon/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "mi" = (/obj/machinery/door_control{id = "nukeop_ready"; name = "Mission Launch Control"; pixel_x = -26; pixel_y = -2; req_access_txt = "151"},/obj/item/weapon/twohanded/required/kirbyplants,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"mj" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/obj/effect/landmark{name = "ERT Director"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) "mk" = (/obj/structure/stool,/obj/effect/landmark{name = "Syndicate-Spawn"},/obj/effect/decal/warning_stripes/east,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "ml" = (/obj/structure/stool,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/syndicate_mothership) "mm" = (/obj/structure/stool,/obj/structure/sign/poster/legit{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/control) @@ -639,6 +640,7 @@ "mp" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control) "mq" = (/obj/structure/stool,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/evac) "mr" = (/turf/unsimulated/wall,/area/trader_station/sol) +"ms" = (/obj/machinery/teleport/hub/upgraded{admin_usage = 1},/turf/unsimulated/floor{tag = "icon-delivery"; icon_state = "delivery"},/area/admin) "mt" = (/turf/space,/area/syndicate_mothership/elite_squad) "mu" = (/obj/effect/landmark{name = "Syndicate-Commando"; tag = "Commando"},/obj/machinery/light/spot,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad) "mv" = (/obj/machinery/light/spot,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) @@ -934,7 +936,6 @@ "vJ" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "vL" = (/obj/item/device/radio/intercom/specops{pixel_y = -28},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "vM" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "SPECOPS"; name = "Ready Room"; pixel_y = 16; req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "ASSAULT"; name = "Assault Armor"; pixel_y = -4; req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "specopsoffice"; name = "Privacy Shutters"; pixel_y = 6; req_access_txt = "114"},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) -"vN" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) "vO" = (/obj/machinery/computer/artillerycontrol{luminosity = 255},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops) "vP" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) "vQ" = (/obj/machinery/telecomms/processor/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) @@ -1355,7 +1356,6 @@ "IF" = (/obj/structure/table,/obj/item/clothing/gloves/color/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "IG" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "IH" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"II" = (/obj/machinery/teleport/hub/upgraded,/turf/unsimulated/floor{tag = "icon-delivery"; icon_state = "delivery"},/area/admin) "IJ" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "IK" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/obj/item/weapon/shield/energy,/obj/machinery/recharger/wallcharger{pixel_x = 3; pixel_y = -30},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) "IL" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/obj/item/weapon/shield/energy,/obj/machinery/recharger/wallcharger{pixel_x = 3; pixel_y = -30},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) @@ -1515,7 +1515,7 @@ aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXuWsXsXujuXuRuYuZvavbujvcvdvdvdvdvesXuosXsXsXsXsqtQtRtZsuvfuuvgvgvgvhvisutQtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvjvkvlsXujujvauRvmuRujujvnvdvovpvqvdsXsXsXvrtTtUsqtQtRtZsqsqvsvtvuvvvwsqsqtQtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvkvkvkvxujujujvyvyujujujvzvdvAvBvCbesXvEtTuEtRtRvFtRtRtZsqsqsusususususqsqtQtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXvGvHsXvIvJujujujujvLujsXvdvMvNvOvPsXvQtRtRtRtZsutQtRtStTtTtTtTtTtTtTtTtTuEtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXvGvHsXvIvJujujujujvLujsXvdvMmjvOvPsXvQtRtRtRtZsutQtRtStTtTtTtTtTtTtTtTtTuEtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXsXsXsXsXbfbfsXsXsXvSvTvUvVvdsXvWtRtRtRvXsutQtRtRtRtRtRtRtRtRtRtRtRtRtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwbwcwdwbwesXiDwgwhwiwjsXwkudududwlsuwmudududududuetRucudududududwnsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwrwswtwrwesXsXsXsXsXsXsXsqsqsqsqsqsqsqsqsqsqsqsqsqwusqsqsqsqsqsqsqsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN @@ -1618,7 +1618,7 @@ aNaNaNaNHjIiIjIkIrIkIrIkIlImjcjcjcjcjcjcjcjcjcjcjcjcjcInIlIoIsIoIsIoIjIpHjaNaNaN aNaNaNaNHjIiIjIkIkIvIkIkIlImjcjcjcjcjcIwIxIwjcjcjcjcjcInIlIoIoIyIoIoIjIpHjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkQkRkxkxkxkAkSaNkQkRkxkxkxkAkSaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDIDKDKDKDKlKDIaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNHjIiIjIkIrIkIrIkIlImjcjcjcjcjcIwIzIwjcjcjcjcjcInIlIoIsIoIsIoIjIpHjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkUlikVlkljlmllaNkUlikVlkljlmllaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDNIADKDKDKIBDNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNHjIiIjIkIkIkIkIkIlImjcjcjcjcjcjcjcjcjcjcjcjcjcInIlIoIoIoIoIoIjIpHjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNlylnlAlzlFaNaNaNlylnlAlzlFaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEfICDKDKDKIDEfaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNHjHjHjIEIEIEIEIEjajbjcjcjcjcjcjcjcjcjcjcjcjcjcjbjaIEIEIEIEIEHjHjHjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDwIFIGIHIIIJDwEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNHjHjHjIEIEIEIEIEjajbjcjcjcjcjcjcjcjcjcjcjcjcjcjbjaIEIEIEIEIEHjHjHjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFZFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDwIFIGIHmsIJDwEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNHjIKIKIKIKIKHjIdIeIeIeIeIeIeIeIeIeIeIeIeIeIfHjILILILILILHjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMDwDxDyDzDwEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNHjHjHjHjHjHjHjIMINININININIOIPIQINININININIMHjHjHjHjHjHjHjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNEMaNaNaNEnaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNHjIMIMIMIRIMISISISISISIMIRIMIMIMHjaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN diff --git a/_maps/map_files/templates/light_floor_1.dmm b/_maps/map_files/templates/light_floor_1.dmm new file mode 100644 index 00000000000..eedb8420201 --- /dev/null +++ b/_maps/map_files/templates/light_floor_1.dmm @@ -0,0 +1,16 @@ +"a" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"b" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-r"},/area/template_noop) +"c" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-y"},/area/template_noop) +"d" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-g"},/area/template_noop) +"e" = (/turf/unsimulated/floor{icon_state = "light_on"; luminosity = 1},/area/template_noop) +"f" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-b"},/area/template_noop) +"g" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-p"},/area/template_noop) +"h" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-w"},/area/template_noop) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaa +abcdefghgfedcbcdefg +abcdefghgfedcbcdefg +abcdefghgfedcbcdefg +aaaaaaaaaaaaaaaaaaa +"} diff --git a/_maps/map_files/templates/light_floor_2.dmm b/_maps/map_files/templates/light_floor_2.dmm new file mode 100644 index 00000000000..03b6c6735b0 --- /dev/null +++ b/_maps/map_files/templates/light_floor_2.dmm @@ -0,0 +1,16 @@ +"a" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"b" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-r"},/area/template_noop) +"c" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-y"},/area/template_noop) +"d" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-g"},/area/template_noop) +"e" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on"},/area/template_noop) +"f" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-b"},/area/template_noop) +"g" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-p"},/area/template_noop) +"h" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-w"},/area/template_noop) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaa +aabcdefghgfedcbcdef +abcdefghgfedcbcdefg +bcdefghgfedcbcdefga +aaaaaaaaaaaaaaaaaaa +"} diff --git a/_maps/map_files/templates/light_floor_3.dmm b/_maps/map_files/templates/light_floor_3.dmm new file mode 100644 index 00000000000..940cd14e631 --- /dev/null +++ b/_maps/map_files/templates/light_floor_3.dmm @@ -0,0 +1,16 @@ +"a" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"b" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-y"},/area/template_noop) +"c" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-b"},/area/template_noop) +"d" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-p"},/area/template_noop) +"e" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-g"},/area/template_noop) +"f" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-r"},/area/template_noop) +"g" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on"},/area/template_noop) +"h" = (/turf/unsimulated/floor{luminosity = 1; icon_state = "light_on-w"},/area/template_noop) + +(1,1,1) = {" +aabaacaadaaeaabaaca +afbegcdhdcgebfbegcd +afbegcdhdcgebfbegcd +afbegcdhdcgebfbegcd +affffffhhhhhhgggggg +"} diff --git a/_maps/map_files/templates/spacehotel/n_01.dmm b/_maps/map_files/templates/spacehotel/n_01.dmm new file mode 100644 index 00000000000..4480512c668 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_01.dmm @@ -0,0 +1,25 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster/legit{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/obj/item/weapon/lipstick/jade,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/obj/item/toy/plushie/octopus,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/machinery/door/window/southright,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"l" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"m" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"n" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"o" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aecccfa +accccga +ahhihja +aklmnoa +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_02.dmm b/_maps/map_files/templates/spacehotel/n_02.dmm new file mode 100644 index 00000000000..9555b7a80e5 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_02.dmm @@ -0,0 +1,30 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/effect/decal/cleanable/flour{desc = "Probably."},/obj/effect/decal/cleanable/pie_smudge,/turf/template_noop,/area/template_noop) +"c" = (/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/obj/item/weapon/bananapeel{layer = 2.6},/turf/template_noop,/area/template_noop) +"d" = (/obj/structure/sign/poster{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/obj/item/weapon/bananapeel/clownfish,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/flour{desc = "Rather caked in there."},/obj/effect/decal/cleanable/pie_smudge,/obj/item/weapon/bananapeel/clownfish,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/machinery/door/window/southright,/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/turf/unsimulated/floor/carpet,/area/template_noop) +"l" = (/obj/effect/decal/cleanable/pie_smudge,/obj/effect/decal/cleanable/flour,/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"m" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/bananalamp,/turf/unsimulated/floor/carpet,/area/template_noop) +"n" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"o" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"p" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"q" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"r" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaabbaa +aaacaaa +adefega +affffha +aefffia +ajjklma +anopqra +aaaaaaa +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_03.dmm b/_maps/map_files/templates/spacehotel/n_03.dmm new file mode 100644 index 00000000000..e4aa24d6899 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_03.dmm @@ -0,0 +1,24 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster/legit{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/obj/item/weapon/lipstick/purple,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/obj/item/toy/random,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/machinery/door/window/southright,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"k" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"l" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"m" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"n" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aecccfa +accccfa +agghgia +ajklmna +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_04.dmm b/_maps/map_files/templates/spacehotel/n_04.dmm new file mode 100644 index 00000000000..74a6e875b4a --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_04.dmm @@ -0,0 +1,30 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster{desc = "You can't make out anything from the poster's original print. It's ruined."; dir = 8; icon_state = "poster_ripped"; name = "ripped poster"; pixel_x = -32; ruined = 1},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/obj/item/clothing/head/xenos,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/mob/living/simple_animal/hostile/alien/queen,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/stool/bed/nest,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/stool/bed/alien,/obj/item/xenos_claw,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/effect/gibspawner/xeno,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/structure/stool/bed/alien,/obj/item/clothing/suit/xenos,/turf/unsimulated/floor/carpet,/area/template_noop) +"l" = (/obj/structure/alien/weeds/node,/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"m" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"n" = (/obj/machinery/door/window/southright,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/unsimulated/floor/carpet,/area/template_noop) +"o" = (/obj/structure/table/woodentable,/obj/item/weapon/lipstick/black,/turf/unsimulated/floor/carpet,/area/template_noop) +"p" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/alien/weeds,/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"q" = (/obj/structure/toilet{dir = 1},/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/item/organ/internal/body_egg/alien_embryo,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"r" = (/obj/machinery/door/window/eastleft,/obj/structure/alien/weeds,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"s" = (/obj/machinery/shower{dir = 8},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"t" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aecfgha +acijgka +almnmoa +apqrsta +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_05.dmm b/_maps/map_files/templates/spacehotel/n_05.dmm new file mode 100644 index 00000000000..cf60cf65327 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_05.dmm @@ -0,0 +1,25 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster/legit{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/yellow,/obj/item/toy/plushie/girly_corgi,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/yellow,/obj/item/toy/plushie/corgi,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/machinery/door/window/southright,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"l" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"m" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"n" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"o" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aecccfa +accccga +ahhihja +aklmnoa +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_06.dmm b/_maps/map_files/templates/spacehotel/n_06.dmm new file mode 100644 index 00000000000..046119cf016 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_06.dmm @@ -0,0 +1,28 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/effect/decal/cleanable/blood/gibs/old,/obj/structure/sign/poster{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/obj/item/toy/figure/cmo,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/machinery/optable,/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/obj/effect/decal/cleanable/blood/gibs/old,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/cleanable/blood/gibs/old,/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/effect/decal/cleanable/blood/old,/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"l" = (/obj/machinery/door/window/southright,/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor/carpet,/area/template_noop) +"m" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/turf/unsimulated/floor/carpet,/area/template_noop) +"n" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"o" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"p" = (/obj/machinery/door/window/eastleft,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"q" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"r" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aeffcga +afhfcia +ajklkma +anopqra +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_07.dmm b/_maps/map_files/templates/spacehotel/n_07.dmm new file mode 100644 index 00000000000..fc00baa9a45 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_07.dmm @@ -0,0 +1,25 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/effect/decal/cleanable/blood/old,/obj/item/toy/carpplushie/dehy_carp,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/machinery/door/window/southright,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"l" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"m" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"n" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"o" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aecccfa +accccga +ahhihja +aklmnoa +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_08.dmm b/_maps/map_files/templates/spacehotel/n_08.dmm new file mode 100644 index 00000000000..81c8881c5e7 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_08.dmm @@ -0,0 +1,26 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster/legit{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/obj/structure/sign/poster{dir = 1; pixel_x = 0; pixel_y = 32},/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/structure/dresser,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/obj/structure/sign/poster{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/machinery/door/window/southright,/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/turf/unsimulated/floor/carpet,/area/template_noop) +"l" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"m" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"n" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"o" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"p" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcdcea +afdddga +addddga +ahijika +almnopa +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_09.dmm b/_maps/map_files/templates/spacehotel/n_09.dmm new file mode 100644 index 00000000000..ecf873f1913 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_09.dmm @@ -0,0 +1,25 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster/legit{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/obj/item/toy/eight_ball,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/machinery/door/window/southright,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"l" = (/obj/structure/toilet{dir = 1},/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"m" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"n" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"o" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aecccfa +accccga +ahhihja +aklmnoa +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_10.dmm b/_maps/map_files/templates/spacehotel/n_10.dmm new file mode 100644 index 00000000000..9038bbbce3d --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_10.dmm @@ -0,0 +1,24 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster/legit{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/deer,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/effect/decal/snow/sand/edge,/obj/effect/view_portal{id = "snowland_room"},/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows"; opacity = 1},/area/template_noop) +"j" = (/turf/unsimulated/wall/fakeglass{dir = 4; icon_state = "fakewindows"; opacity = 0},/area/template_noop) +"k" = (/obj/effect/view_portal/visual{dist = 6; frustrum = 1; id = "snowland"; radius = 2},/turf/unsimulated/floor,/area/template_noop) +"l" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows"; opacity = 0},/area/template_noop) +"m" = (/turf/unsimulated/wall/fakeglass{dir = 4; icon_state = "fakewindows"; opacity = 1},/area/template_noop) +"n" = (/turf/unsimulated/wall{dynamic_lighting = 0; icon = null},/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aecccfa +accgcha +aijklma +annnnna +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_11.dmm b/_maps/map_files/templates/spacehotel/n_11.dmm new file mode 100644 index 00000000000..415d3f1f7c5 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_11.dmm @@ -0,0 +1,26 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/syndie,/obj/item/weapon/twohanded/toy/chainsaw,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/syndie,/obj/item/toy/figure/syndie{pixel_x = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/obj/structure/sign/poster{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/machinery/door/window/southright,/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/turf/unsimulated/floor/carpet,/area/template_noop) +"l" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"m" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"n" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"o" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"p" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aecccfa +accccga +ahijika +almnopa +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_12.dmm b/_maps/map_files/templates/spacehotel/n_12.dmm new file mode 100644 index 00000000000..24d3321f4f7 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_12.dmm @@ -0,0 +1,26 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster/legit{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/obj/item/weapon/bikehorn/rubberducky,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/machinery/door/window/southright,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"l" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"m" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"n" = (/obj/machinery/shower{dir = 8},/obj/structure/curtain/open/shower{anchored = 1; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; opacity = 1},/area/template_noop) +"o" = (/turf/unsimulated/wall/metal,/area/template_noop) +"p" = (/obj/effect/view_portal/visual{dist = 0; id = "poolland"; radius = 0},/turf/template_noop,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aecccfa +aghigja +aklmnoa +aooopoa +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_13.dmm b/_maps/map_files/templates/spacehotel/n_13.dmm new file mode 100644 index 00000000000..0d10f62eba5 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_13.dmm @@ -0,0 +1,29 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster/legit{dir = 8; pixel_x = -32},/obj/structure/sign/poster/legit{dir = 1; pixel_y = 32},/obj/random/plushie,/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/obj/structure/sign/poster/legit{dir = 1; pixel_y = 32},/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/structure/sign/poster/legit{dir = 1; pixel_y = 32},/obj/random/plushie,/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/dresser,/obj/structure/sign/poster/legit{dir = 1; pixel_y = 32},/obj/structure/sign/poster/legit{dir = 4; pixel_x = 32},/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/machinery/light{dir = 8},/obj/random/plushie,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/stool/bed,/obj/structure/sign/poster/legit{dir = 4; pixel_x = 32},/obj/item/weapon/bedsheet/rainbow,/obj/random/plushie,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/random/plushie,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/obj/structure/sign/poster/legit{dir = 8; pixel_x = -32},/obj/random/plushie,/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"l" = (/obj/machinery/door/window/southright,/turf/unsimulated/floor/carpet,/area/template_noop) +"m" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/obj/random/plushie,/turf/unsimulated/floor/carpet,/area/template_noop) +"n" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/obj/structure/sign/poster/legit{dir = 4; pixel_x = 32},/obj/structure/sign/poster/legit{pixel_y = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"o" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"p" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"q" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"r" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"s" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcdefa +agdddha +aidddha +ajklmna +aopqrsa +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_14.dmm b/_maps/map_files/templates/spacehotel/n_14.dmm new file mode 100644 index 00000000000..7fe5a48cafd --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_14.dmm @@ -0,0 +1,26 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster/legit{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/stool/bed,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/mopbucket,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/qm,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/machinery/door/window/southright,/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/turf/unsimulated/floor/carpet,/area/template_noop) +"l" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"m" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"n" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"o" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"p" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aecccfa +agcccha +aiijika +almnopa +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_15.dmm b/_maps/map_files/templates/spacehotel/n_15.dmm new file mode 100644 index 00000000000..39ef7bf1334 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_15.dmm @@ -0,0 +1,23 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/unsimulated/floor{icon_state = "engine"},/area/template_noop) +"c" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/template_noop) +"d" = (/obj/machinery/power/compressor{dir = 1},/obj/effect/decal/warning_stripes/eastnorthwest,/turf/unsimulated/floor{icon_state = "engine"},/area/template_noop) +"e" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/unsimulated/floor{icon_state = "engine"},/area/template_noop) +"f" = (/obj/machinery/power/turbine,/obj/effect/decal/warning_stripes/east,/obj/effect/decal/warning_stripes/west,/turf/unsimulated/floor{icon_state = "engine"},/area/template_noop) +"g" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows"; opacity = 1},/area/template_noop) +"h" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/template_noop) +"i" = (/obj/machinery/door/poddoor{opacity = 0},/turf/space,/area/template_noop) +"j" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/template_noop) +"k" = (/turf/unsimulated/wall/fakeglass{dir = 4; icon_state = "fakewindows"; opacity = 1},/area/template_noop) +"l" = (/turf/unsimulated/wall{dynamic_lighting = 0; icon = null},/area/template_noop) +"m" = (/obj/effect/view_portal/visual{dist = 5; frustrum = 1; id = "turbinespace"},/turf/unsimulated/floor,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abbbbba +acbdbea +abbfbba +aghijka +allmlla +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_16.dmm b/_maps/map_files/templates/spacehotel/n_16.dmm new file mode 100644 index 00000000000..0312f2a7b33 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_16.dmm @@ -0,0 +1,25 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/unsimulated/wall{icon_state = "sandstone2"},/area/template_noop) +"c" = (/obj/structure/stool,/obj/structure/mirror{dir = 8; pixel_x = -28},/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{icon_state = "wood"},/area/template_noop) +"d" = (/turf/unsimulated/floor{icon_state = "wood"},/area/template_noop) +"e" = (/obj/structure/stool,/obj/structure/mirror{dir = 4; pixel_x = 28},/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{icon_state = "wood"},/area/template_noop) +"f" = (/turf/unsimulated/wall{icon_state = "sandstone3"},/area/template_noop) +"g" = (/obj/structure/stool,/obj/structure/mirror{dir = 8; pixel_x = -28},/obj/machinery/light/small,/turf/unsimulated/floor{icon_state = "wood"},/area/template_noop) +"h" = (/obj/structure/stool,/obj/structure/mirror{dir = 4; pixel_x = 28},/obj/machinery/light/small,/turf/unsimulated/floor{icon_state = "wood"},/area/template_noop) +"i" = (/turf/unsimulated/wall{icon_state = "sandstone5"},/area/template_noop) +"j" = (/turf/unsimulated/wall{icon_state = "sandstone8"},/area/template_noop) +"k" = (/obj/effect/view_portal{id = "beach_room"},/obj/structure/curtain/open,/turf/unsimulated/floor{icon_state = "wood"},/area/template_noop) +"l" = (/turf/unsimulated/wall{icon_state = "sandstone4"},/area/template_noop) +"m" = (/turf/unsimulated/wall{icon_state = "sandstone9"},/area/template_noop) +"n" = (/turf/unsimulated/wall{dynamic_lighting = 0; icon = null},/area/template_noop) +"o" = (/obj/effect/view_portal/visual{dist = 6; frustrum = 1; id = "beach"; radius = 1},/turf/unsimulated/floor{icon_state = "wood"},/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcdeba +afgdhfa +aijklma +annonna +annnnna +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_17.dmm b/_maps/map_files/templates/spacehotel/n_17.dmm new file mode 100644 index 00000000000..964a75ba8ba --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_17.dmm @@ -0,0 +1,27 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster/legit{dir = 8; pixel_x = -32},/obj/item/pizzabox/margherita,/obj/item/pizzabox/margherita{pixel_y = 4},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/obj/item/pizzabox/vegetable,/obj/item/pizzabox/vegetable{pixel_y = 4},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/obj/item/toy/prize/ripley{pixel_x = 4},/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/item/pizzabox/mushroom,/obj/item/pizzabox/mushroom{pixel_y = 4},/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/obj/item/pizzabox/meat,/obj/item/pizzabox/meat{pixel_y = 4},/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"k" = (/obj/machinery/door/window/southright,/turf/unsimulated/floor/carpet,/area/template_noop) +"l" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/obj/item/toy/katana,/turf/unsimulated/floor/carpet,/area/template_noop) +"m" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"n" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"o" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"p" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"q" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aecccfa +agcccha +aijkjla +amnopqa +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_18.dmm b/_maps/map_files/templates/spacehotel/n_18.dmm new file mode 100644 index 00000000000..28145e1b4fb --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_18.dmm @@ -0,0 +1,24 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/sign/poster/legit{dir = 8; pixel_x = -32},/turf/unsimulated/floor/carpet,/area/template_noop) +"c" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"d" = (/obj/structure/dresser,/obj/item/weapon/lipstick/purple,/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/purple,/obj/item/toy/plushie/purple_fox,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/window/reinforced/polarized{id = "room_n"},/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/machinery/door/window/southright,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table/woodentable,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{dir = 8; pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"k" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"l" = (/obj/machinery/door/window/eastleft,/obj/machinery/button/windowtint{id = "room_n"; pixel_y = -24; range = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"m" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"n" = (/turf/unsimulated/wall/metal,/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abcccda +aecccfa +accccfa +agghgia +ajklmna +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/n_19.dmm b/_maps/map_files/templates/spacehotel/n_19.dmm new file mode 100644 index 00000000000..114dabbf44b --- /dev/null +++ b/_maps/map_files/templates/spacehotel/n_19.dmm @@ -0,0 +1,15 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/unsimulated/wall/metal,/area/template_noop) +"c" = (/obj/effect/view_portal{id = "mazeland_room"},/obj/machinery/light{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/template_noop) +"d" = (/obj/effect/view_portal/visual{dist = 2; frustrum = 0; id = "mazeland"; radius = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/template_noop) +"e" = (/turf/unsimulated/wall{dynamic_lighting = 0; icon = null},/area/template_noop) + +(1,1,1) = {" +aaaaaaa +abbcbba +abbdbba +abeeeba +abeeeba +abbbbba +aaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/s_01.dmm b/_maps/map_files/templates/spacehotel/s_01.dmm new file mode 100644 index 00000000000..11ec761615a --- /dev/null +++ b/_maps/map_files/templates/spacehotel/s_01.dmm @@ -0,0 +1,27 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/unsimulated/beach/water,/area/template_noop) +"c" = (/obj/machinery/shower{pixel_y = 24},/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/template_noop) +"d" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/structure/rack,/obj/item/clothing/suit/apron,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/suit/holidaypriest,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/suit/storage/labcoat,/obj/item/clothing/suit/nun,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/wizrobe/fake,/obj/item/clothing/suit/wizrobe/marisa/fake,/obj/effect/decal/cleanable/greenglow,/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/rack,/obj/item/clothing/head/collectable/police,/obj/item/clothing/head/nun_hood,/obj/item/clothing/head/mailman,/obj/item/clothing/head/nursehat,/obj/item/clothing/head/wizard/fake,/obj/item/clothing/head/powdered_wig,/obj/item/clothing/head/wizard/marisa/fake,/obj/item/clothing/mask/gas/sexyclown,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/rack,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/head/kitty,/obj/item/clothing/head/rabbitears,/obj/item/clothing/mask/muzzle,/obj/item/clothing/accessory/stethoscope,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/template_noop) +"k" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/captain,/turf/unsimulated/floor/carpet,/area/template_noop) +"l" = (/obj/machinery/light{dir = 8},/obj/item/weapon/soap/deluxe,/obj/machinery/button/windowtint{id = "room_s"; pixel_x = -24; pixel_y = 0; range = 5},/turf/unsimulated/floor{dir = 1; icon_state = "whiteblue"},/area/template_noop) +"m" = (/turf/unsimulated/floor{dir = 1; icon_state = "whiteblue"},/area/template_noop) +"n" = (/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 1; icon_state = "whitebluecorner"},/area/template_noop) +"o" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"p" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"q" = (/obj/machinery/door/window/eastleft,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) + +(1,1,1) = {" +aaaaaaaaaaa +abbcdefghia +abbjdddddka +almndddddka +aopqdddddda +aaaaaaaaaaa +aaaaaaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/s_02.dmm b/_maps/map_files/templates/spacehotel/s_02.dmm new file mode 100644 index 00000000000..98eaa3b377b --- /dev/null +++ b/_maps/map_files/templates/spacehotel/s_02.dmm @@ -0,0 +1,27 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/unsimulated/beach/water,/area/template_noop) +"c" = (/obj/machinery/shower{pixel_y = 24},/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/template_noop) +"d" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/structure/rack,/obj/item/clothing/suit/apron,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/suit/holidaypriest,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/suit/storage/labcoat,/obj/item/clothing/suit/nun,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/wizrobe/fake,/obj/item/clothing/suit/xenos,/obj/item/clothing/suit/wizrobe/marisa/fake,/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/rack,/obj/item/clothing/head/collectable/police,/obj/item/clothing/head/nun_hood,/obj/item/clothing/head/mailman,/obj/item/clothing/head/nursehat,/obj/item/clothing/head/wizard/fake,/obj/item/clothing/head/powdered_wig,/obj/item/clothing/head/xenos,/obj/item/clothing/head/wizard/marisa/fake,/obj/item/clothing/mask/gas/sexyclown,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/rack,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/head/kitty,/obj/item/clothing/head/rabbitears,/obj/item/clothing/mask/muzzle,/obj/item/clothing/accessory/stethoscope,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/template_noop) +"k" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hop,/turf/unsimulated/floor/carpet,/area/template_noop) +"l" = (/obj/machinery/light{dir = 8},/obj/item/weapon/soap/deluxe,/obj/machinery/button/windowtint{id = "room_s"; pixel_x = -24; pixel_y = 0; range = 5},/turf/unsimulated/floor{dir = 1; icon_state = "whiteblue"},/area/template_noop) +"m" = (/turf/unsimulated/floor{dir = 1; icon_state = "whiteblue"},/area/template_noop) +"n" = (/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 1; icon_state = "whitebluecorner"},/area/template_noop) +"o" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"p" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"q" = (/obj/machinery/door/window/eastleft,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) + +(1,1,1) = {" +aaaaaaaaaaa +abbcdefghia +abbjdddddka +almndddddka +aopqdddddda +aaaaaaaaaaa +aaaaaaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/s_03.dmm b/_maps/map_files/templates/spacehotel/s_03.dmm new file mode 100644 index 00000000000..c82b1f84d11 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/s_03.dmm @@ -0,0 +1,28 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/unsimulated/floor/upperlevel,/area/awaymission/desert{name = "Sudden Drop"}) +"c" = (/obj/machinery/shower{pixel_y = 24},/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/template_noop) +"d" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/structure/rack,/obj/item/weapon/gun/magic/wand,/obj/item/weapon/gun/magic/staff{pixel_y = -4},/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe{pixel_x = -8; pixel_y = -8},/obj/item/clothing/suit/wizrobe/black{pixel_x = -4; pixel_y = -4},/obj/item/clothing/suit/wizrobe/clown,/obj/item/clothing/suit/wizrobe/marisa{pixel_x = 4; pixel_y = 4},/obj/item/clothing/suit/wizrobe/red{pixel_x = 8; pixel_y = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/rack,/obj/item/clothing/head/wizard{pixel_x = 8; pixel_y = -8},/obj/item/clothing/head/wizard/black{pixel_x = 4; pixel_y = -4},/obj/item/clothing/head/wizard/clown,/obj/item/clothing/head/wizard/marisa{pixel_x = -4; pixel_y = 4},/obj/item/clothing/head/wizard/red{pixel_x = -8; pixel_y = 8},/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/effect/levelref{id = "lavaland"; name = "lavaland"},/turf/unsimulated/floor/upperlevel,/area/awaymission/desert{name = "Sudden Drop"}) +"k" = (/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/template_noop) +"l" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/wiz,/turf/unsimulated/floor/carpet,/area/template_noop) +"m" = (/obj/machinery/light{dir = 8},/obj/item/weapon/soap/deluxe,/obj/machinery/button/windowtint{id = "room_s"; pixel_x = -24; pixel_y = 0; range = 5},/turf/unsimulated/floor{dir = 1; icon_state = "whiteblue"},/area/template_noop) +"n" = (/turf/unsimulated/floor{dir = 1; icon_state = "whiteblue"},/area/template_noop) +"o" = (/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 1; icon_state = "whitebluecorner"},/area/template_noop) +"p" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"q" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"r" = (/obj/machinery/door/window/eastleft,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) + +(1,1,1) = {" +aaaaaaaaaaa +abbcdefghia +abjkdddddla +amnodddddla +apqrdddddda +aaaaaaaaaaa +aaaaaaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/s_04.dmm b/_maps/map_files/templates/spacehotel/s_04.dmm new file mode 100644 index 00000000000..9648a7c707c --- /dev/null +++ b/_maps/map_files/templates/spacehotel/s_04.dmm @@ -0,0 +1,29 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/unsimulated/beach/water,/area/template_noop) +"c" = (/obj/machinery/shower{pixel_y = 24},/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/template_noop) +"d" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/template_noop) +"e" = (/obj/structure/rack,/obj/item/clothing/suit/syndicatefake,/obj/item/clothing/under/syndicate,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/template_noop) +"f" = (/obj/structure/rack,/obj/item/clothing/mask/gas/syndicate,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/template_noop) +"g" = (/obj/structure/rack,/obj/structure/sign/poster{dir = 1; pixel_y = 32},/obj/item/clothing/suit/space/rig/syndi,/obj/item/clothing/head/helmet/space/syndicate{pixel_x = -4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/template_noop) +"h" = (/obj/structure/dresser,/obj/structure/sign/poster{dir = 1; pixel_y = 32},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/template_noop) +"i" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/item/weapon/storage/fancy/cigarettes/syndicate{pixel_x = 8},/obj/structure/sign/poster{dir = 1; pixel_y = 32},/obj/structure/sign/poster{dir = 4; pixel_x = 32},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/template_noop) +"j" = (/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/template_noop) +"k" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/syndie,/obj/structure/sign/poster{dir = 4; pixel_x = 32},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/template_noop) +"l" = (/obj/machinery/light{dir = 8},/obj/machinery/button/windowtint{id = "room_s"; pixel_x = -24; pixel_y = 0; range = 5},/obj/item/weapon/soap/syndie,/turf/unsimulated/floor{dir = 1; icon_state = "whiteblue"},/area/template_noop) +"m" = (/turf/unsimulated/floor{dir = 1; icon_state = "whiteblue"},/area/template_noop) +"n" = (/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 1; icon_state = "whitebluecorner"},/area/template_noop) +"o" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"p" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"q" = (/obj/machinery/door/window/eastleft,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"r" = (/obj/structure/sign/poster{pixel_y = -32},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/template_noop) +"s" = (/obj/structure/sign/poster{dir = 4; pixel_x = 32},/obj/structure/sign/poster{pixel_y = -32},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/template_noop) + +(1,1,1) = {" +aaaaaaaaaaa +abbcdefghia +abbjdddddka +almndddddka +aopqrdrrrsa +aaaaaaaaaaa +aaaaaaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/s_05.dmm b/_maps/map_files/templates/spacehotel/s_05.dmm new file mode 100644 index 00000000000..1de8b749e58 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/s_05.dmm @@ -0,0 +1,26 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/unsimulated/beach/water,/area/template_noop) +"c" = (/obj/machinery/shower{pixel_y = 24},/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whitehall"},/area/template_noop) +"d" = (/turf/unsimulated/floor{icon_state = "white"},/area/template_noop) +"e" = (/obj/structure/rack,/obj/item/device/guitar,/obj/item/device/violin{pixel_x = 8},/turf/unsimulated/floor{icon_state = "white"},/area/template_noop) +"f" = (/obj/structure/dresser,/turf/unsimulated/floor{icon_state = "white"},/area/template_noop) +"g" = (/obj/item/device/flashlight/lamp/green,/obj/structure/table,/turf/unsimulated/floor{icon_state = "white"},/area/template_noop) +"h" = (/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whitehall"},/area/template_noop) +"i" = (/obj/structure/piano,/turf/unsimulated/floor{icon_state = "white"},/area/template_noop) +"j" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/turf/unsimulated/floor{icon_state = "white"},/area/template_noop) +"k" = (/obj/machinery/light{dir = 8},/obj/machinery/button/windowtint{id = "room_s"; pixel_x = -24; pixel_y = 0; range = 5},/obj/item/weapon/soap,/turf/unsimulated/floor{dir = 1; icon_state = "whitehall"},/area/template_noop) +"l" = (/turf/unsimulated/floor{dir = 1; icon_state = "whitehall"},/area/template_noop) +"m" = (/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 1; icon_state = "whitecorner"},/area/template_noop) +"n" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"o" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"p" = (/obj/machinery/door/window/eastleft,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) + +(1,1,1) = {" +aaaaaaaaaaa +abbcdddefga +abbhiddddja +aklmdddddja +anopdddddda +aaaaaaaaaaa +aaaaaaaaaaa +"} diff --git a/_maps/map_files/templates/spacehotel/s_06.dmm b/_maps/map_files/templates/spacehotel/s_06.dmm new file mode 100644 index 00000000000..e733f819c36 --- /dev/null +++ b/_maps/map_files/templates/spacehotel/s_06.dmm @@ -0,0 +1,28 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/unsimulated/beach/water,/area/template_noop) +"c" = (/obj/machinery/shower{pixel_y = 24},/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/template_noop) +"d" = (/turf/unsimulated/floor/carpet,/area/template_noop) +"e" = (/obj/structure/rack,/obj/item/weapon/twohanded/dualsaber/toy,/obj/item/weapon/twohanded/toy/chainsaw,/obj/item/toy/foamblade,/turf/unsimulated/floor/carpet,/area/template_noop) +"f" = (/obj/structure/rack,/obj/item/toy/griffin{pixel_y = 8},/obj/item/toy/snappop,/obj/item/toy/redbutton,/turf/unsimulated/floor/carpet,/area/template_noop) +"g" = (/obj/structure/rack,/obj/item/toy/cards/deck,/obj/item/toy/figure/secofficer,/turf/unsimulated/floor/carpet,/area/template_noop) +"h" = (/obj/structure/dresser,/turf/unsimulated/floor/carpet,/area/template_noop) +"i" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/unsimulated/floor/carpet,/area/template_noop) +"j" = (/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 8; icon_state = "whiteblue"},/area/template_noop) +"k" = (/obj/item/toy/snappop,/turf/unsimulated/floor/carpet,/area/template_noop) +"l" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/patriot,/turf/unsimulated/floor/carpet,/area/template_noop) +"m" = (/obj/machinery/light{dir = 8},/obj/machinery/button/windowtint{id = "room_s"; pixel_x = -24; pixel_y = 0; range = 5},/obj/item/weapon/soap/nanotrasen,/turf/unsimulated/floor{dir = 1; icon_state = "whiteblue"},/area/template_noop) +"n" = (/turf/unsimulated/floor{dir = 1; icon_state = "whiteblue"},/area/template_noop) +"o" = (/obj/structure/window/reinforced/polarized{dir = 4; id = "room_s"},/turf/unsimulated/floor{dir = 1; icon_state = "whitebluecorner"},/area/template_noop) +"p" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"q" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) +"r" = (/obj/machinery/door/window/eastleft,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/template_noop) + +(1,1,1) = {" +aaaaaaaaaaa +abbcdefghia +abbjdddkdla +amnokddddla +apqrdddddda +aaaaaaaaaaa +aaaaaaaaaaa +"} diff --git a/code/__DEFINES/genetics.dm b/code/__DEFINES/genetics.dm index 3be0682c727..e6988ca745e 100644 --- a/code/__DEFINES/genetics.dm +++ b/code/__DEFINES/genetics.dm @@ -1,5 +1,8 @@ // String identifiers for associative list lookup + +#define MUTCHK_FORCED 1 + // mob/var/list/mutations // Used in preferences. diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index a8c548bdd7a..36bb824e642 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -46,14 +46,6 @@ if(S.flags & IS_WHITELISTED) whitelisted_species += S.name - paths = subtypesof(/datum/emote) - for(var/T in paths) - var/datum/emote/E = new T - if(istype(T, /datum/emote/custom)) - continue - emotes += E - - init_subtypes(/datum/table_recipe, table_recipes) return 1 diff --git a/code/__HELPERS/logging.dm b/code/__HELPERS/logging.dm index 5d2427603c7..bf3a5b3ffc9 100644 --- a/code/__HELPERS/logging.dm +++ b/code/__HELPERS/logging.dm @@ -82,8 +82,8 @@ diary << "\[[time_stamp()]]MISC: [text][log_end]" /proc/log_to_dd(text) - world.log << text //this comes before the config check because it can't possibly runtime - if(config.log_world_output) + world.log << text + if(config && config.log_world_output) diary << "\[[time_stamp()]]DD_OUTPUT: [text][log_end]" /** diff --git a/code/_compile_options.dm b/code/_compile_options.dm index cac93fdbaf6..5e9d9462d7f 100644 --- a/code/_compile_options.dm +++ b/code/_compile_options.dm @@ -20,3 +20,6 @@ This may require updating to a beta release. #endif var/global/list/processing_objects = list() //This has to be initialized BEFORE world + +// Macros that must exist before world.dm +#define to_chat to_chat_filename=__FILE__;to_chat_line=__LINE__;to_chat_src=src;__to_chat diff --git a/code/_globalvars/lists/misc.dm b/code/_globalvars/lists/misc.dm index b02f3d20d68..d230dc529ef 100644 --- a/code/_globalvars/lists/misc.dm +++ b/code/_globalvars/lists/misc.dm @@ -20,7 +20,8 @@ var/list/restricted_camera_networks = list( //Those networks can only be accesse "Thunderdome", "UO45", "UO45R", - "Xeno" + "Xeno", + "Hotel" ) var/list/mineral_turfs = list() diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm index e1e8b818356..b6dc1c58b8f 100644 --- a/code/_globalvars/lists/mobs.dm +++ b/code/_globalvars/lists/mobs.dm @@ -4,7 +4,6 @@ var/global/list/all_languages[0] var/global/list/language_keys[0] // Table of say codes for all languages var/global/list/all_superheroes[0] var/global/list/all_nations[0] -var/global/list/emotes[0] var/global/list/whitelisted_species = list() var/list/clients = list() //list of all clients diff --git a/code/_globalvars/lists/reagents.dm b/code/_globalvars/lists/reagents.dm index 8417275d780..23d310be857 100644 --- a/code/_globalvars/lists/reagents.dm +++ b/code/_globalvars/lists/reagents.dm @@ -58,4 +58,9 @@ var/global/list/blocked_chems = list("polonium", "initropidril", "concentrated_i "reagent", "life","dragonsbreath") //List of chems/mixtures that can't grow in plants (in addition to the global random chem blacklist) -var/global/list/plant_blocked_chems = list() //filled in /datum/reagents/New() with chems that have can_grow_in_plants = 0 \ No newline at end of file +var/global/list/plant_blocked_chems = list() //filled in /datum/reagents/New() with chems that have can_grow_in_plants = 0 + +var/global/list/safe_chem_list = list("antihol", "charcoal", "epinephrine", "insulin", "teporone","silver_sulfadiazine", "salbutamol", + "omnizine", "stimulants", "synaptizine", "potass_iodide", "oculine", "mannitol", "styptic_powder", + "spaceacillin", "salglu_solution", "sal_acid", "cryoxadone", "blood", "synthflesh", "hydrocodone", + "mitocholide", "rezadone") \ No newline at end of file diff --git a/code/_globalvars/mapping.dm b/code/_globalvars/mapping.dm index db7a2278979..891dbc05b24 100644 --- a/code/_globalvars/mapping.dm +++ b/code/_globalvars/mapping.dm @@ -37,6 +37,7 @@ var/list/latejoin_cyborg = list() var/list/prisonwarp = list() //prisoners go to these var/list/holdingfacility = list() //captured people go here var/list/xeno_spawn = list()//Aliens spawn at these. +var/list/ertdirector = list() // list/mazewarp = list() var/list/tdome1 = list() var/list/tdome2 = list() diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index db5a0bbcd0f..2579005af3d 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -131,7 +131,9 @@ Topic(src, list("src"= "\ref[src]", "command"="emergency", "activate" = "0"), 1) return -/atom/proc/AIShiftClick() +/atom/proc/AIShiftClick(var/mob/user) + if(user.client) + user.examinate(src) return /obj/machinery/door/airlock/AIShiftClick() // Opens and closes doors! diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index ecb7f00cd8b..1f60c26f885 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -139,7 +139,9 @@ /obj/machinery/door/airlock/BorgAltShiftClick() // Enables emergency override on doors! Forwards to AI code. AIAltShiftClick() -/atom/proc/BorgShiftClick() +/atom/proc/BorgShiftClick(var/mob/user) + if(user.client && user.client.eye == user) + user.examinate(src) return /obj/machinery/door/airlock/BorgShiftClick() // Opens and closes doors! Forwards to AI code. diff --git a/code/datums/Emote_system/emote.dm b/code/datums/Emote_system/emote.dm deleted file mode 100644 index 4f130fbf330..00000000000 --- a/code/datums/Emote_system/emote.dm +++ /dev/null @@ -1,587 +0,0 @@ -/******************************************************************************************************* - Emotes -Remember, only 1 instance of each emote is made, and used by all mobs that can access it. As such, the -ONLY place you can safely set object variables during runtime is in New(). Otherwise override the emote. -The only exception to this is custom emotes, which are created as needed and only last until they are finished -VampyrBytes - -*******************************************************************************************************/ -#define EMOTE_COOLDOWN 20 //Time in deciseconds that the cooldown lasts -#define HEARING_RANGE 7 -#define INVALID -1 //Using -1 as I can't see how a negative number could be a valid input - -/datum/emote - var/name = "" - var/desc = "" - var/list/commands[0] // list of commands that trigger the emote. - var/text = "" - var/selfText = "" // the version of text that you should see - eg, if text is screams, you want scream here, as You screams is bad grammer - var/startText = "" // if you need to put something in before [user] - var/selfStart = 1 // whether the start text is used in what you see - - var/audible = 0 - var/mimeText = "" - var/mimeSelf = "" //self version of mimeText - var/sound // sound file - var/vol = 50 - var/muzzleAffected = 0 // whether being muzzled affects this emote - var/muzzledNoise = "" // if the emote is audible and you're muzzled, this is what type of noise you make (eg weak, loud). - var/cooldown = 0 // How long the cooldown should be on this emote. Defaults to EMOTE_COOLDOWN if not set and the emote plays a sound - - var/restrained = 0 // 1 if being restrained prevents this emote - - var/canTarget = 0 // 1 if the emote accepts a target - var/targetMob = 0 // 0 if target can be any atom, 1 if it has to be a mob, - var/mustTarget = 0 // 1 if the emote needs a target to work (won't get None as an option) - var/targetText = "at" // what goes inbetween user and target - var/takesNumber = 0 // 1 if the emote uses a number parameter - - var/emoteSpanClass = "notice" - var/userSpanClass = "em" - var/baseLevel = 1 - var/allowParent = 0 // 1 if you want the parent available as well as this one - - -/datum/emote/New() - var/pathString = "[type]" - var/count = 0 - for(var/i in 1 to lentext(pathString)) - var/char = copytext(pathString, i, i+1) - if(char == "/") - count++ - if(count == 4) - baseLevel = 0 - break - - if(sound && !cooldown) - cooldown = EMOTE_COOLDOWN - - if(targetText) - if(!findtextEx(targetText, " ", lentext(targetText))) - targetText += " " - -/datum/emote/proc/doEmote(var/mob/user, var/command = "") - if(!istype(user)) - return - if(cooldown) - if(handle_emote_CD(user)) - return - - var/message = "" - var/list/params[0] - - params = getParams(user) - - for(var/p in params) - if(params[p] == INVALID) - return - - if(text) - message = createMessage(user, params) - - if(message) - message = addExtras(user, params, message) - . = processMessage(user, params, message) - - if(!doMime(user) && (!muzzleAffected || !isMuzzled(user))) - if(playSound(user, params)) - . = 2 - - doAction(user, params) - - for(var/obj/item/weapon/implant/I in user) - if(I.implanted) - I.trigger(command, user) - - return - -// for things that the emote does that aren't text or sound based -/datum/emote/proc/doAction(var/mob/user, var/list/params) - return - -/datum/emote/proc/getParams(var/mob/user) - var/list/params[0] - - if(takesNumber) - user.set_typing_indicator(1) - user.hud_typing = 1 - params["num"] = getNumber(user) - user.hud_typing = 0 - user.set_typing_indicator(0) - - if(canTarget) - user.set_typing_indicator(1) - user.hud_typing = 1 - params["target"] = getTarget(user) - user.hud_typing = 0 - user.set_typing_indicator(0) - return params - -// return INVALID from either of these getters if you've tested the input and it's failed -/datum/emote/proc/getNumber(var/mob/user) - var/number = input("How many?", "Enter number") as null|num - return number - -/datum/emote/proc/getTarget(var/mob/user) - if(user.sdisabilities & BLIND || user.blinded || user.paralysis) - return - var/list/targets = list() - if(!mustTarget) - targets += "None" - var/target - if(targetMob) - target = getMobTarget(user, targets) - else - target = getAtomTarget(user, targets) - if(!target) - return INVALID - if(target == "None") - return - return target - -/datum/emote/proc/getMobTarget(var/mob/user, var/list/targets) - for(var/mob/M in view(getLoc(user))) - targets += M - var/mob/target = input("Select target", "Target Mob") as null|anything in targets - return target - - -/datum/emote/proc/getAtomTarget(var/mob/user, var/list/targets) - for(var/A in oview(getLoc(user))) - if(ismob(A) || isobj(A) || isturf(A)) - targets += A - var/atom/target = input("Select target", "Target") as null|anything in targets - return target - -// returns the reason the user can't currently do the emote -/datum/emote/proc/prevented(var/mob/user) - if(user.stat == DEAD) - return "you are dead" - if(user.stat == UNCONSCIOUS) - return "you are unconscious" - if(restrained && user.restrained()) - return "you are restrained" - if(isbrain(user)) - var/mob/living/carbon/brain/brain = user - if(!(brain.container && istype(brain.container, /obj/item/device/mmi))) - return "you need to be in an mmi to do this" - -// return 1 if this emote can be used by this type of user -/datum/emote/proc/available(var/mob/user) - return - -/datum/emote/proc/createMessage(var/mob/user, var/list/params) - if(!text) - return - var/message = "" - - if(doMime(user)) - message = mimeMessage(user, params) - if(message) - return message - - if(muzzleAffected && isMuzzled(user)) - message = muzzleMessage(user, params) - return message - - if(checkForParams(params)) - message = paramMessage(user, params) - return message - - message = standardMessage(user, params) - - return message - -/datum/emote/proc/isMuzzled(var/mob/user) - if(user.sdisabilities & MUTE || user.is_muzzled()) - return 1 - if(!isliving(user)) - return - var/mob/living/L = user - if(L.silent) - return 1 - -/datum/emote/proc/checkForParams(var/list/params) - for(var/p in params) - if(p == "target") - continue - return 1 - -/datum/emote/proc/addExtras(var/mob/user, var/list/params, var/message = "") - if(!message) - return - if(startText) - message = "[startText] [message]" - message = addPunc(message) - message = "[message]" - return message - -/datum/emote/proc/addPunc(var/message = "") - var/regex/endingPunc = new("\[\\.!\\?\"]$") - if(!endingPunc.Find(message)) - message += "." - return message - -/datum/emote/proc/standardMessage(var/mob/user, var/list/params) - var/message = "\The [user] [text]" - if("target" in params) - message = addTarget(user, params, message) - return message - -/datum/emote/proc/mimeMessage(var/mob/user, var/list/params) - if(!mimeText) - return - if(checkForParams(params)) - return paramMimeMessage(user, params) - var/message = "\The [user] [mimeText]" - if(message && "target" in params) - message = addTarget(user, params, message) - return message - -/datum/emote/proc/muzzleMessage(var/mob/user, var/list/params) - var/message = "\The [user] makes a " - if(muzzledNoise) - message += "[muzzledNoise] " - message += "noise" - return message - -// if the emote takes a non target parameter, set up and return the with parameter version in here -/datum/emote/proc/paramMessage(var/mob/user, var/list/params) - return - -// as above, but for mimes when there is mimeText -/datum/emote/proc/paramMimeMessage(var/mob/user, var/list/params) - return - -/datum/emote/proc/addTarget(var/mob/user, var/list/params, var/message = "") - if(!canTarget) - return message - if(!params["target"]) - return message - if(params["target"] == user) - message += " [targetText][getHimself(user)]" - return message - message += " [targetText]\the [params["target"]]" - return message - - -// What you should see when you perform the emote -/datum/emote/proc/createSelfMessage(var/mob/user, var/list/params, var/message = "") - if(!selfText) - return message - - message = replacetext(message, text, selfText) - message = changeTextMacros(user, message) - - if(mimeSelf) - message = replacetext(message, mimeText, mimeSelf) - - if(startText && !selfStart) - var/start = findtextEx(message, startText) - var/end = start + lentext(startText) + 1 - message = copytext(message, 1, start) + copytext(message, end, lentext(message) + 1) - - message = replaceMobWithYou(user, message, user) - - return message - -/datum/emote/proc/replaceMobWithYou(var/mob/M, var/message = "", var/mob/user) // user passed in in case an override needs to do something different if M != user (see johnny) VB - - message = replacetext(message, "\The [M]", "You") - message = replacetext(message, "\the [M]", "you") - - return message - -/datum/emote/proc/processMessage(var/mob/user, var/list/params, var/message = "") - var/visualOrAudible = audible + 1 - if(doMime(user)) - visualOrAudible = 1 - - log_emote("[user.name]/[user.key] : [message]") - sendToDead(user, message) - for(var/mob/M in getRecipients(getLoc(user, message), visualOrAudible)) - var/msg = "" - - if(M==user) - msg = createSelfMessage(user, params, message) - if(msg) - outputMessage(M, msg, user) - continue - - if(M.stat == UNCONSCIOUS || (M.sleeping && M.stat != DEAD)) - if(!visualOrAudible == 2) - continue - msg = "... You can almost hear someone talking ..." - outputMessage(M, msg, user) - continue - - if(M.sdisabilities & DEAF || M.ear_deaf) - if(M.sdisabilities & BLIND || M.blinded || M.paralysis) - continue - if(!(M in getRecipients(user, 1)) || M.see_invisible < user.invisibility) - continue - - msg = createDeafMessage(user, params, message) - if(!msg && visualOrAudible == 2) - continue - if(msg) - outputMessage(M, msg, user) - continue - - if(M.sdisabilities & BLIND || M.blinded || M.paralysis || (M.see_invisible < user.invisibility && visualOrAudible == 2)) - if(!(M in getRecipients(user, 2))) - continue - - msg = createBlindMessage(user, params, message) - if(!msg && visualOrAudible == 1) - continue - if(msg) - outputMessage(M, msg, user) - continue - - if(M.see_invisible < user.invisibility && visualOrAudible == 1) - continue - - msg = message - outputMessage(M, msg, user) - - if(visualOrAudible == 2) - handleListeningObjects(user, message) - - return visualOrAudible - -/datum/emote/proc/outputMessage(var/mob/M, var/msg = "", var/mob/user) - msg = replaceMobWithYou(M, msg, user) - to_chat(M, msg) - -/datum/emote/proc/getLoc(var/mob/user, var/message = "") - var/loc = checkForHolopad(user, message) - if(loc) - return loc - return user - -/datum/emote/proc/checkForHolopad(var/mob/user, var/message = "") - if(!isAI(user)) - return - var/mob/living/silicon/ai/AI = user - var/obj/machinery/hologram/holopad/T = AI.holo - if(!(T && T.hologram && T.master == AI)) - return - if(message) - to_chat(AI, "Holopad action relayed, [message]") - return T - -/datum/emote/proc/handleListeningObjects(var/mob/user, var/message = "") - // based on say code - var/omsg = replacetext(message, "[user] ", "") - var/list/listening_obj = new - for(var/atom/movable/A in view(HEARING_RANGE, user)) - if(istype(A, /mob)) - var/mob/M = A - for(var/obj/O in M.contents) - listening_obj |= O - else if(istype(A, /obj)) - var/obj/O = A - listening_obj |= O - for(var/obj/O in listening_obj) - O.hear_message(user, omsg) - -/datum/emote/proc/getRecipients(var/location, var/visualOrAudible) - if(visualOrAudible == 1) - return viewers(location) - return get_mobs_in_view(HEARING_RANGE, location) - -// set up different messages for blind people here. Empty will mean no message for -//non-audible emotes and the standard message for audible ones -/datum/emote/proc/createBlindMessage(var/mob/user, var/list/params, var/message) - if(audible && selfText) - message = "You hear someone [selfText]" - message = addExtras(message) - return message - -// set up different messages for deaf people here. Empty will mean no message for -// audible emotes and standard for non-audible ones -/datum/emote/proc/createDeafMessage(var/mob/user, var/list/params, var/message) - message = mimeMessage(user, params) - message = addExtras(message) - return message - -/datum/emote/proc/sendToDead(var/mob/user, var/message = "", var/ghostEmote) - for(var/mob/M in dead_mob_list) - if(!M.client || istype(M, /mob/new_player)) - continue //skip monkeys, leavers and new players - if(M.stat == DEAD) - if(ghostEmote && ((M.client.prefs.toggles & CHAT_GHOSTSIGHT) || (M in viewers(user)))) - M.show_message(message) - else if((M.client.prefs.toggles & CHAT_GHOSTSIGHT) && !(M in viewers(user))) - M.show_message(message) - -/datum/emote/proc/playSound(var/mob/user, var/list/params) - if(!sound) - return - playsound(user, sound, vol) - return 1 - -/datum/emote/proc/doMime(var/mob/user) - if(mimeText && user.mind && user.mind.miming) - return 1 - -//Emote Cooldown System (it's so simple!) -/datum/emote/proc/handle_emote_CD(var/mob/user) - if(user.emote_cd == 2) return 1 // Cooldown emotes were disabled by an admin, prevent use - if(user.emote_cd == 1) return 1 // Already on CD, prevent use - - user.emote_cd = 1 // Starting cooldown - - spawn(cooldown) - if(user.emote_cd == 2) return 1 // Don't reset if cooldown emotes were disabled by an admin during the cooldown - user.emote_cd = 0 // Cooldown complete, ready for more! - - return 0 // Proceed with emote -//--FalseIncarnate - -/datum/emote/proc/changeTextMacros(var/mob/user, var/message = "") - message = swapHisToYour(user, message) - message = swapHimselfToYourself(user, message) - return message - -/datum/emote/proc/getHis(var/mob/user) - var/his = "[user]\his" - his = copytext(his, lentext("[user]") + 1) - return his - -/datum/emote/proc/swapHisToYour(var/mob/user, var/message = "") - var/his = getHis(user) - message = replacetext(message, " [his] ", " your ") - return message - -/datum/emote/proc/getHimself(var/mob/user) - var/himself = "[user]\himself" - himself = copytext(himself, lentext("[user]") + 1) - return himself - -/datum/emote/proc/swapHimselfToYourself(var/mob/user, var/message) - var/himself = getHimself(user) - message = replacetext(message, "[himself]", "yourself") - return message - -/****************************************************************************************** - Emote Verbs -******************************************************************************************/ - -/datum/emote/proc/addVerbs(var/mob/user) - if(!istype(user)) - return - new /obj/emoteVerb(user, src, commands) - -// Dummy object to allow access to the verb, needed as verbs require a valid loc for setting the src -/obj/emoteVerb - var/datum/emote/emote - var/mob/owner - -/obj/emoteVerb/New(var/mob/user, var/datum/emote/toAccess) - if(!(istype(user))) - return - if(!(istype(toAccess))) - return - if(!toAccess.commands) - return - owner = user - emote = toAccess - name = "[emote]" - loc = user - user.verbs += new/obj/emoteVerb/proc/runEmote(src, emote.commands[1], emote.desc) - -/obj/emoteVerb/proc/runEmote() - set src = usr.contents - set category = "Emotes" - return usr.emoteHandler.runEmote(emote.commands[1]) - -/obj/emoteVerb/Destroy() - owner.verbs -= new/obj/emoteVerb/proc/runEmote(src, emote.commands[1]) - ..() - -/obj/emoteVerb/custom - -obj/emoteVerb/custom/New(var/mob/user) - if(!(istype(user))) - return - owner = user - name = "custom" - user.verbs += new/obj/emoteVerb/proc/runEmote(src, "custom", "Make your own emote") - -/obj/emoteVerb/custom/runEmote() - set src = usr.contents - set category = "Emotes" - return usr.emoteHandler.runEmote("me") - - - -/************************************************************************************************************************** - Custom Emotes -As these are made as needed, they aren't searched for the appropriate one. As such, you need to specify conditions for which -one is used in /datum/emote_handler/customEmote(). - -***************************************************************************************************************************/ - -/datum/emote/custom - name = "Custom emote" - baseLevel = 0 - -/datum/emote/custom/New(var/mob/user, var/message = "", var/isAudible) - if(!message) - message = getMessage(user) - text = message - audible = isAudible - -/datum/emote/custom/proc/getMessage(var/mob/user) -// user.set_typing_indicator(1) -// user.hud_typing = 1 - var/input = copytext(input(user,"What do you want to emote?", "Custom emote") as text|null,1,MAX_MESSAGE_LEN) -// user.hud_typing = 0 -// user.set_typing_indicator(0) - input = trim_strip_html_properly(input) - return input - -/datum/emote/custom/available(var/mob/user) - return 1 - -/datum/emote/custom/prevented(var/mob/user) - if(!user.use_me) - return "you are prevented from using custom emotes" - -// Yeah, no -/datum/emote/custom/createSelfMessage(var/mob/user, var/list/params, var/message = "") - return - -/datum/emote/custom/replaceMobWithYou(var/mob/M, var/message = "", var/mob/user) - return message - -/datum/emote/custom/ghost - name = "Ghost emote" - startText = "DEAD: " - emoteSpanClass = "game deadsay" - -/datum/emote/custom/ghost/prevented(var/mob/user) - . = ..() - if(.) - return - if(user.client.prefs.muted & MUTE_DEADCHAT) - return "you are muted from deadchat" - if(!(user.client.prefs.toggles & CHAT_DEAD)) - return "you have deadchat muted" - if(!user.client.holder) - if(!config.dsay_allowed) - return "deadchat is globally muted" - -/datum/emote/custom/ghost/getMessage(var/mob/user) - var/input = copytext(input(user,"What do you want to emote?", "Custom emote") as text|null,1,MAX_MESSAGE_LEN) - input = trim_strip_html_properly(input) - return input - -/datum/emote/custom/ghost/processMessage(var/mob/user, var/list/params, var/message = "") - if(!message) - return - log_emote("Ghost/[user.key] : [message]") - sendToDead(user, message, ghostEmote = 1) - diff --git a/code/datums/Emote_system/emote_handler.dm b/code/datums/Emote_system/emote_handler.dm deleted file mode 100644 index be962a72dc7..00000000000 --- a/code/datums/Emote_system/emote_handler.dm +++ /dev/null @@ -1,90 +0,0 @@ -/datum/emoteHandler - var/mob/owner - var/list/commands - -/datum/emoteHandler/New(var/mob/user) - owner = user - setupCommands() - -/datum/emoteHandler/proc/setupCommands(var/reset = 0) - spawn(0) // needed so at mob creation species is set before emotes are allocated - if(reset) - deleteEmoteVerbs() - commands = new/list() - for(var/e in emotes) - var/datum/emote/emote = e - if(emote.baseLevel || emote.allowParent) - var/datum/emote/found = searchTree(emote) - if(found) - for(var/command in found.commands) - commands[lowertext(command)] = found - found.addVerbs(owner) - -/datum/emoteHandler/proc/deleteEmoteVerbs() - for(var/obj/emoteVerb/E in owner.contents) - qdel(E) - -/datum/emoteHandler/proc/runEmote(var/command = "", var/message = "", var/audible = 0) // message and audible only used in custom emotes - if(!command) - return 0 - if(command == "help") - showCommands() - return 1 - - var/datum/emote/emote - - if(copytext(command, 1, 3) == "me" && !message && lentext(command) >= 4) - message = copytext(command, 4) - command = "me" - - if(command == "me") - emote = customEmote(message, audible) - if(!emote) - return 0 - - if(!commands[command] && !(command == "me")) - to_chat(owner, "Unknown emote, please check *help for emotes available to your character") - return 0 - - if(!emote) - emote = commands[command] - - if(!emote.available(owner)) // something's changed, remake the commands list, then try again to see if they've got a different version - setupCommands() - return runEmote(command, message, audible) - - var/prevented = emote.prevented(owner) - if(prevented) - to_chat(owner, "You can't do that because [prevented]!") - return 0 - return emote.doEmote(owner, command) - -/datum/emoteHandler/proc/showCommands() - var/emoteList = "Available emotes are " - var/commandAdded = 0 - for(var/c in commands) - if(commandAdded) - emoteList += ", " - emoteList += c - commandAdded = 1 - - to_chat(owner, emoteList) - -// recursive search of subtypes - starts checking at the lowest level and breaks out if it finds one that can be done -/datum/emoteHandler/proc/searchTree(var/datum/emote/emote) - var/list/subtypes = subtypesof(emote.type) - var/datum/emote/found - for(var/t in subtypes) - var/datum/emote/em = new t - if(em.allowParent) - continue - found = searchTree(em) - if(found) - return (found) - if(emote.available(owner)) - return emote - -/datum/emoteHandler/proc/customEmote(var/custom, var/audible) - if(isobserver(owner)) - return new /datum/emote/custom/ghost(owner, custom, audible) - return new /datum/emote/custom(owner, custom, audible) diff --git a/code/datums/Emote_system/emotes.dm b/code/datums/Emote_system/emotes.dm deleted file mode 100644 index fd17fcc3953..00000000000 --- a/code/datums/Emote_system/emotes.dm +++ /dev/null @@ -1,1735 +0,0 @@ - -/datum/emote/airguitar - name = "airguitar" - desc = "Makes the mob play an air guitar" - commands = list("airguitar") - text = "is strumming the air and headbanging like a safari chimp" - selfText = "are strumming the air and headbanging like a safari chimp" - restrained = 1 - -/datum/emote/airguitar/available(var/mob/user) - if(ishuman(user)) - return 1 - if(isrobot(user)) - return 1 - -/datum/emote/alarm - name = "alarm" - desc = "makes the mob sound an alarm" - commands = list("alarm") - text = "sounds an alarm" - selfText = "sound an alarm" - audible = 1 - -/datum/emote/alarm/available(var/mob/user) - if(isbrain(user)) - return 1 - -/datum/emote/alarm/createBlindMessage(var/mob/user, var/params, var/messaage) - return "You hear an alarm" - -/datum/emote/alert - name = "alert" - desc = "Makes the mob sound an alert" - commands = list("alert") - text = "lets out a distressed noise" - selfText = "let out a distressed noise" - audible = 1 - -/datum/emote/alert/available(var/mob/user) - if(isbrain(user)) - return 1 - -/datum/emote/beep - name = "beep" - desc = "makes the mob let out a beep" - commands = list("beep") - text = "beeps" - selfText = "beep" - audible = 1 - -/datum/emote/beep/available(var/mob/user) - if(isbrain(user)) - return 1 - -/datum/emote/beep/targetted - sound = 'sound/machines/twobeep.ogg' - cooldown = 50 - canTarget = 1 - targetMob = 1 - -/datum/emote/beep/targetted/available(var/mob/user) - if(user.is_mechanical()) - return 1 - -/datum/emote/blink - name = "blink" - desc = "Makes the mob blink" - commands = list("blink", "blinks") - text = "blinks" - selfText = "blink" - -/datum/emote/blink/available(var/mob/user) - if(ishuman(user)) - return 1 - if(isbrain(user)) - return 1 - -/datum/emote/blink/rapid - name = "rapid blink" - desc = "Makes the mob blink rapidly" - commands = list("blink_r", "blinks_r") - allowParent = 1 - -/datum/emote/blink/rapid/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/blink/rapid/standardMessage(var/mob/user) - var/message = ..() - message += " rapidly" - return message - -/datum/emote/blush - name = "blush" - desc = "Makes the mob blush" - commands = list("blush", "blushes") - text = "blushes" - selfText = "blush" - -/datum/emote/blush/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/boop - name = "boop" - desc = "Makes the mob boop" - commands = list("boop", "boops") - text = "boops" - selfText = "boop" - -/datum/emote/boop/available(var/mob/user) - if(isbrain(user)) - return 1 - -/datum/emote/bounce - name = "bounce" - desc = "Makes the mob bounce" - commands = list("bounce", "bounces") - text = "bounces in place" - selfText = "bounce in place" - -/datum/emote/bounce/available(var/mob/user) - if(isslime(user)) - return 1 - -/datum/emote/bow - name = "bow" - desc = "Makes the mob bow" - commands = list("bow", "bows") - text = "bows" - selfText = "bow" - canTarget = 1 - targetMob = 1 - targetText = "to" - -/datum/emote/bow/available(var/mob/user) - if(isrobot(user)) - return 1 - if(ishuman(user)) - return 1 - -/datum/emote/bow/prevented(var/mob/user) - . = ..() - if(!. && user.buckled) - return "you are buckled to something" - -/datum/emote/burp - name = "burp" - desc = "Makes the mob burp" - commands = list("burp", "burps") - text = "burps" - selfText = "burp" - audible = 1 - mimeText = "opens their mouth rather obnoxiously" - mimeSelf = "open your mouth rather obnoxiously" - muzzleAffected = 1 - muzzledNoise = "peculiar" - -/datum/emote/burp/available(var/mob/user) - if(ishuman(user)) - return 1 - if(islarva(user) || isalienadult(user)) - return 1 - -/datum/emote/buzz - name = "buzz" - desc = "Makes the mob buzz" - commands = list("buzz", "buzzes", "buzzs") - text = "buzzes" - selfText = "buzz" - audible = 1 - sound = 'sound/machines/buzz-sigh.ogg' - canTarget = 1 - targetMob = 1 - -/datum/emote/buzz/available(var/mob/user) - if(user.is_mechanical()) - return 1 - -/datum/emote/buzz/buzz2 - name = "buzz 2" - desc = "makes the mob buzz in an irritated way" - commands = list("buzz2") - text = "makes an irritated buzzing sound" - selfText = "make an irritated buzzing sound" - sound = "sound/machines/buzz-two.ogg" - allowParent = 1 - -/datum/emote/chirp - name = "chirp" - desc = "Makes the mob chirp" - commands = list("chirp", "chirps") - text = "chirps" - selfText = "chirp" - audible = 1 - sound = 'sound/misc/nymphchirp.ogg' - vol = 40 - cooldown = 50 - -/datum/emote/chirp/available(var/mob/user) - if(istype(user, /mob/living/simple_animal/diona)) - return 1 - -/datum/emote/choke - name = "choke" - desc = "Makes the mob choke" - commands = list("choke", "chokes") - text = "chokes" - selfText = "choke" - audible = 1 - mimeText = "clutches" - mimeSelf = "clutch" - muzzleAffected = 1 - muzzledNoise = "strong" - -/datum/emote/choke/available(var/mob/user) - if(ishuman(user)) - return 1 - if(islarva(user) || isalienadult(user)) - return 1 - -// This has to be done here not mimeText because \his will throw a compile error -// instead of a runtime if there's not a valid target in the string *frown VB -/datum/emote/choke/mimeMessage(var/mob/user, var/list/params) - var/message = "[user] [mimeText] \his throat desperately" - return message - -/datum/emote/chuckle - name = "chuckle" - desc = "chuckle" - commands = list("chuckle", "chuckles") - text = "chuckles" - selfText = "chuckle" - audible = 1 - mimeText = "appears to chuckle" - mimeSelf = "appear to chuckle" - muzzleAffected = 1 - -/datum/emote/chuckle/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/clap - name = "clap" - desc = "clap" - commands = list("clap", "claps") - text = "claps" - selfText = "clap" - audible = 1 - mimeText = "claps silently" - restrained = 1 - -/datum/emote/clap/available(var/mob/user) - if(isrobot(user)) - return 1 - if(ishuman(user)) - return 1 - -/datum/emote/collapse - name = "collapse" - desc = "Makes the mob collapse" - commands = list("collapse", "collapses") - text = "collapses" - selfText = "collapse" - audible = 1 - mimeText = "collapses without a sound" - -/datum/emote/collapse/available(var/mob/user) - if(islarva(user)) - return 1 - if(ishuman(user)) - return 1 - -/datum/emote/collapse/doAction(var/mob/user, var/list/params) - user.Paralyse(2) - -/datum/emote/cough - name = "cough" - desc = "Makes the mob cough" - commands = list("cough", "coughs") - text = "coughs" - selfText = "cough" - audible = 1 - mimeText = "appears to cough" - mimeSelf = "appear to cough" - muzzleAffected = 1 - muzzledNoise = "strong" - -/datum/emote/cough/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/cry - name = "cry" - desc = "Makes the mob cry" - commands = list("cry", "cries") - text = "cries" - selfText = "cry" - audible = 1 - mimeText = "cries silently" - muzzleAffected = 1 - muzzledNoise = "weak" - -/datum/emote/cry/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/dance - name = "dance" - desc = "makes the mob dance around happily" - commands = list("dance", "dances") - text = "dances around happily" - selfText = "dance around happily" - restrained = 1 - -/datum/emote/dance/available(var/mob/user) - if(islarva(user)) - return 1 - -/datum/emote/dap - name = "dap" - desc = "Makes the mob give daps" - commands = list("dap", "daps") - text = "gives daps" - selfText = "give daps" - restrained = 1 - canTarget = 1 - targetMob = 1 - targetText = "to" - -/datum/emote/dap/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/dap/addTarget(var/mob/user, var/list/params, var/message = "") - if(!params["target"] || params["target"] == user) - message = "[user] sadly can't find anybody to give daps to, and daps \himself. Shameful" - return message - return ..() - -/datum/emote/deathgasp - name = "deathgasp" - desc = "Makes the mob let out it's final gasp" - commands = list("deathgasp", "deathgasps") - audible = 1 - -/datum/emote/deathgasp/alien - text = "lets out a waning guttural screech, green blood bubbling from its maw..." - selfText = "let out a waning guttural screech, green blood bubbling from your maw..." - -/datum/emote/deathgasp/alien/available(var/mob/user) - if(isalienadult(user)) - return 1 - -// sorry, no selftext for humans as we'd have to add a var to species for it and that's yuk - VB -/datum/emote/deathgasp/human - text = "dummytext" - -/datum/emote/deathgasp/human/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/deathgasp/human/standardMessage(var/mob/user, var/list/params) - var/mob/living/carbon/human/U = user - var/message = "\The [user] [U.species.death_message]" - return message - -/datum/emote/deathgasp/human/createSelfMessage(var/mob/user, var/list/params, var/message) - return message - -/datum/emote/deathgasp/human/replaceMobWithYou(var/mob/user, var/message) - return message - -/datum/emote/deathgasp/robot - text = "shudders violently for a moment, then becomes motionless, its eyes slowly darkening" - selfText = "shudder violently for a moment, then become motionless, your eyes slowly darkening" - audible = 0 - -/datum/emote/deathgasp/robot/available(var/mob/user) - if(isrobot(user)) - return 1 - -/datum/emote/drone - name = "drone" - desc = "Makes the mob drone and rumble" - commands = list("drone", "drones", "rumble", "rumbles", "hum", "hums") - text = "rumbles" - selfText = "rumble" - audible = 1 - sound = 'sound/voice/DraskTalk.ogg' - canTarget = 1 - targetMob = 1 - -/datum/emote/drone/available(var/mob/user) - if(user.get_species() == "Drask") - return 1 - -/datum/emote/drone/addTarget(var/mob/user, var/list/params, var/message) - if(!params["target"]) - return message - message = replacetext(message, "rumbles", "drones") - return ..() - -/datum/emote/drone/createSelfMessage(var/mob/user, var/list/params, var/message) - message = ..() - message = replacetext(message, "drones", "drone") - return message - -/datum/emote/drool - name = "drool" - desc = "Makes the mob drool" - commands = list("drool", "drools") - text = "drools" - selfText = "drool" - -/datum/emote/drool/available(var/mob/user) - if(isalienadult(user) || islarva(user)) - return 1 - if(ishuman(user)) - return 1 - -/datum/emote/eyebrow - name = "eyebrow" - desc = "Makes the mob raise an eyebrow" - commands = list("eyebrow") - text = "raises an eyebrow" - selfText = "raise an eyebrow" - -/datum/emote/eyebrow/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/faint - name = "faint" - desc = "makes the mob faint" - commands = list("faint", "faints") - text = "faints" - selfText = "faint" - -/datum/emote/faint/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/faint/doAction(var/mob/user, var/list/params) - if(!user.sleeping) - user.sleeping += 1 - -/datum/emote/fart - name = "fart" - desc = "makes the mob fart" - commands = list("fart", "farts") - text = "farts" - selfText = "fart" - cooldown = 50 - audible = 1 - -/datum/emote/fart/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/fart/standardMessage(var/mob/user) - var/message - - if(TOXIC_FARTS in user.mutations) - message = "\The [user] unleashes a [pick("horrible","terrible","foul","disgusting","awful")] fart" - return message - message = "\The [user] [pick("passes wind","farts")]" - return message - -/datum/emote/fart/createSelfMessage(var/mob/user, var/list/params, var/message) - message = ..() - message = replacetext(message, "unleashes", "unleash") - message = replacetext(message, "passes", "pass") - return message - -/datum/emote/fart/doAction(var/mob/user) - if(TOXIC_FARTS in user.mutations) - for(var/mob/M in range(get_turf(user),2)) - if(M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT)) - continue - if(M == user) - continue - M.reagents.add_reagent("jenkem", 1) - - if(locate(/obj/item/weapon/storage/bible) in get_turf(user)) - to_chat(viewers(user), "[user] farted on the Bible!") - to_chat(viewers(user), "A mysterious force smites [user]!") - var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread - s.set_up(3, 1, user) - s.start() - user.gib() - -/datum/emote/flap - name = "flap" - desc = "Makes the mob flap their wings" - commands = list("flap", "flaps") - text = "flaps" - selfText = "flap" - restrained = 1 - audible = 1 - -/datum/emote/flap/available(var/mob/user) - if(ishuman(user)) - return 1 - if(isrobot(user)) - return 1 - -/datum/emote/flap/standardMessage(var/mob/user, var/list/params) - var/message = "\The [user] [text] \his wings" - return message - -/datum/emote/flap/angry - name = "angry flap" - desc = "makes the mob flap their wings angrily" - commands = list("a_flap", "a_flaps") - allowParent = 1 - -/datum/emote/flap/angry/standardMessage(var/mob/user) - var/message = ..() - message += " angrily" - return message - -/datum/emote/flash - name = "flash" - desc = "Makes the lights on the mob flash quickly" - commands = list("flash", "flashes") - text = "flash quickly" - selfText = "flash quickly" - startText = "The lights on" - -/datum/emote/flash/available(var/mob/user) - if(isbrain(user)) - return 1 - -/datum/emote/flip - name = "flip" - desc = "Makes the mob flip, possibly in the direction of someone" - commands = list("flip", "flips") - text = "flips" - selfText = "flip" - canTarget = 1 - targetMob = 1 - targetText = "in" - -/datum/emote/flip/available(var/mob/user) - if(isrobot(user)) - return 1 - -/datum/emote/flip/prevented(var/mob/user) - . = ..() - if(!. && user.buckled) - return "you are buckled to something" - -/datum/emote/flip/createMessage(var/mob/user, var/list/params) - var/message = "" - if(user.lying || user.weakened) - message = "\The [user] flops and flails around on the floor" - else - message = ..() - return message - -/datum/emote/flip/addTarget(var/mob/user, var/list/params, var/message) - message = ..() - if(params["target"]) - message += "'s general direction" - return message - -/datum/emote/flip/createSelfMessage(var/mob/user, var/list/params, var/message) - message = ..() - message = replacetext(message, "flops", "flop") - message = replacetext(message, "flails", "flail") - return message - -/datum/emote/flip/doAction(var/mob/user, var/list/params, var/message) - if(user.lying || user.weakened) - return - user.SpinAnimation(5,1) - -/datum/emote/flip/flipOver - desc = "Makes the mob flip, possibly in the direction of, or even over someone" - -/datum/emote/flip/flipOver/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/flip/flipOver/createMessage(var/mob/user, var/params) - var/message = "" - var/obj/item/weapon/grab/G = user.get_active_hand() - if(istype(G) && G.affecting && !G.affecting.buckled) - params["target"] = G.affecting - message = "\The [user] [text] over [params["target"]]!" - return message - return ..() - -/datum/emote/flip/flipOver/doAction(var/mob/user, var/params, var/message) - var/obj/item/weapon/grab/G = user.get_active_hand() - if(istype(G) && (G.affecting == params["target"]) && !G.affecting.buckled) - var/turf/oldloc = user.loc - var/turf/newloc = G.affecting.loc - if(isturf(oldloc) && isturf(newloc)) - user.SpinAnimation(5,1) - user.forceMove(newloc) - G.affecting.forceMove(oldloc) - return - ..() - -/datum/emote/frown - name = "frown" - desc = "Makes the mob frown" - commands = list("frown", "frowns") - text = "frowns" - selfText = "frown" - -/datum/emote/frown/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/gasp - name = "gasp" - desc = "Makes the mob gasp" - commands = list("gasp", "gasps") - text = "gasps" - selfText = "gasp" - audible = 1 - mimeText = "appears to be gasping" - mimeSelf = "appear to be gasping" - muzzleAffected = 1 - muzzledNoise = "weak" - -/datum/emote/gasp/available(var/mob/user) - if(isalienadult(user) || islarva(user)) - return 1 - if(ishuman(user)) - return 1 - -/datum/emote/giggle - name = "giggle" - desc = "Makes the mob giggle" - commands = list("giggle", "giggles") - text = "giggles" - selfText = "giggle" - audible = 1 - mimeText = "giggles silently" - muzzleAffected = 1 - -/datum/emote/giggle/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/glare - name = "glare" - desc = "Makes the mob glare" - commands = list("glare", "glares") - text = "glares" - selfText = "glare" - canTarget = 1 - targetMob = 1 - -/datum/emote/glare/available(var/mob/user) - if(ishuman(user)) - return 1 - if(isrobot(user)) - return 1 - -/datum/emote/gnarl - name = "gnarl" - desc = "Makes the mob gnarl and show its teeth" - commands = list("gnarl", "gnarls") - text = "gnarls and shows its teeth" - selfText = "gnarl and show your teeth" - audible = 1 - muzzleAffected = 1 - -/datum/emote/gnarl/available(var/mob/user) - if(islarva(user)) - return 1 - -/datum/emote/grin - name = "grin" - desc = "Makes the mob grin" - commands = list("grin", "grins") - text = "grins" - selfText = "grin" - -/datum/emote/grin/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/groan - name = "groan" - desc = "Makes the mob groan" - commands = list("groan", "groans") - text = "groans" - selfText = "groan" - audible = 1 - mimeText = "appears to groan" - mimeSelf = "appear to groan" - muzzleAffected = 1 - -/datum/emote/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/grumble - name = "grumble" - desc = "Makes the mob grumble" - commands = list("grumble", "grumbles") - text = "grumbles" - selfText = "grumble" - audible = 1 - mimeText = "grumbles" - muzzleAffected = 1 - -/datum/emote/grumble/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/halt - name = "halt" - desc = "Makes the mob sound a halt warning. Only available with a security module" - commands = list("halt") - text = "'s speakers skreech, \"Halt! Security!\"" - selfText = " speakers skreech, \"Halt! Security!\"" - audible = 1 - sound = 'sound/voice/halt.ogg' - -/datum/emote/halt/available(var/mob/user) - if(isrobot(user)) - return 1 - -/datum/emote/halt/prevented(var/mob/user) - . = ..() - if(.) - return - var/mob/living/silicon/robot/U = user - if(!(istype(U.module, /obj/item/weapon/robot_module/security))) - return "you are not security" - -/datum/emote/handshake - name = "handshake" - desc = "Makes the mob shake hands with a target" - commands = list("handshake") - text = "shakes hands" - selfText = "shake hands" - canTarget = 1 - targetMob = 1 - mustTarget = 1 - targetText = "with" - restrained = 1 - -/datum/emote/handshake/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/handshake/prevented(var/mob/user) - . = ..() - if(!. && user.r_hand) - return "you need your right hand free" - -/datum/emote/handshake/addTarget(var/mob/user, var/list/params, var/message) - var/mob/target = params["target"] - if(target.r_hand) - message = "\The [user] holds out his hand to [params["target"]]" - return message - return ..() - -/datum/emote/hiss - name = "hiss" - desc = "Makes the mob hiss" - commands = list("hiss", "hisses") - text = "hisses" - selfText = "hiss" - audible = 1 - -/datum/emote/hiss/available(var/mob/user) - if(isalienadult(user) || islarva(user)) - return 1 - -/datum/emote/hug - name = "hug" - desc = "Makes the mob hug a target or themselves" - commands = list("hug", "hugs") - text = "hugs" - selfText = "hug" - canTarget = 1 - targetMob = 1 - targetText = "" - -/datum/emote/hug/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/hug/getTarget(var/mob/user) - var/mob/target = ..() - if(target) - return target - return user - -/datum/emote/jiggle - name = "jiggle" - desc = "Makes the mob jiggle" - commands = list("jiggle", "jiggles") - text = "jiggles" - selfText = "jiggle" - -/datum/emote/jiggle/available(var/mob/user) - if(isslime(user)) - return 1 - -/datum/emote/johnny - name = "johnny" - desc = "Yeah, just try it" - commands = list("johnny") - text = "takes a drag from a cigarette and blows their name out in smoke" - selfText = "take a drag from a cigarette and blow their name out in smoke" - audible = 1 - mimeText = "takes a drag from a cigarette and blows" - mimeSelf = "take a drag from a cigarette and blow" - canTarget = 1 - targetMob = 1 - mustTarget = 1 - targetText = "" - -/datum/emote/johnny/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/johnny/getTarget(var/mob/user) - var/mob/target = ..() - if(target != user) - return target - to_chat(user, "You need a target that isn't yourself") - return INVALID - -/datum/emote/johnny/createMessage(var/mob/user, var/params) - if(doMime(user)) - return ..() - var/message = "\The [user] says \"[params["target"]], please. They had a family.\" [user] [text]" - return message - -/datum/emote/johnny/createSelfMessage(var/mob/user, var/list/params, var/message = "") - message = ..() - message = replacetext(message, "says", "say") - return message - -/datum/emote/johnny/createDeafMessage(var/mob/user, vap/list/params, var/message) - message = "\The [user] says something, then [text]" - return message - -/datum/emote/johnny/replaceMobWithYou(var/mob/M, var/message, var/mob/user) - if(user && M != user) - return message - return ..() - -/datum/emote/johnny/createBlindMessage(var/mob/user, var/list/params, var/message) - message = "You hear someone say \"[params["target"]], please, They had a family\"" - return message - -/datum/emote/jump - name = "jump" - desc = "Makes the mob jump" - commands = list("jump", "jumps") - text = "jumps" - selfText = "jump" - -/datum/emote/jump/available(var/mob/user) - if(islarva(user) || isalienadult(user)) - return 1 - if(issmall(user)) - return 1 - -/datum/emote/laugh - name = "laugh" - desc = "Makes the mob laugh" - commands = list("laugh", "laughs") - text = "laughs" - selfText = "laugh" - audible = 1 - mimeText = "acts out a laugh" - mimeSelf = "act out a laugh" - muzzleAffected = 1 - -/datum/emote/laugh/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/law - name = "law" - desc = "Makes the mob prove it is the law" - commands = list("law") - text = "shows its legal authorization barcode" - selfText = "show your legal authorization barcode" - audible = 1 - sound = 'sound/voice/biamthelaw.ogg' - -/datum/emote/law/available(var/mob/user) - if(isrobot(user)) - return 1 - -/datum/emote/law/prevented(var/mob/user) - . = ..() - if(.) - return - var/mob/living/silicon/robot/U = user - if(!(istype(U.module, /obj/item/weapon/robot_module/security))) - return "You are not THE LAW, pal" - -/datum/emote/light - name = "light" - desc = "makes the mob light up" - commands = list("light", "lights") - text = "lights up for a bit, then stops" - selfText = "light up for a bit, then stop" - -/datum/emote/light/available(var/mob/user) - if(isslime(user)) - return 1 - -/datum/emote/look - name = "look" - desc = "Makes the mob look" - commands = list("look", "looks") - text = "looks" - selfText = "look" - canTarget = 1 - targetMob = 1 - -/datum/emote/look/available(var/mob/user) - if(ishuman(user)) - return 1 - if(isrobot(user)) - return 1 - -/datum/emote/look/addTarget(var/mob/user, var/list/params, var/message) - if(!params["target"]) - message += " around" - return message - return ..() - -/datum/emote/moan - name = "moan" - desc = "Makes the mob moan" - commands = list("moan", "moans") - text = "moans" - selfText = "moan" - audible = 1 - -/datum/emote/moan/available(var/mob/user) - if(isslime(user)) - return 1 - if(islarva(user)) - return 1 - -/datum/emote/mumble - name = "mumble" - desc = "Makes the mob mumble" - commands = list("mumble", "mumbles") - text = "mumbles" - selfText = "mumble" - audible = 1 - mimeText = "mumbles" - -/datum/emote/mumble/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/no - name = "no" - desc = "Makes the mob let out a negative blip" - commands = list("no") - text = "emits a negative blip" - selfText = "emit a negative blip" - audible = 1 - sound = 'sound/machines/synth_no.ogg' - -/datum/emote/no/New() - ..() - commands += "no" - -/datum/emote/no/available(var/mob/user) - if(user.is_mechanical()) - return 1 - -/datum/emote/nod - name = "nod" - desc = "Makes the mob nod" - commands = list("nod", "nods") - text = "nods" - selfText = "nod" - -/datum/emote/nod/available(var/mob/user) - if(islarva(user)) - return 1 - if(isrobot(user)) - return 1 - if(ishuman(user)) - return 1 - -/datum/emote/notice - name = "notice" - desc = "Makes the mob play a loud tone" - commands = list("notice") - text = "plays a loud tone" - selfText = "play a loud tone" - audible = 1 - -/datum/emote/notice/available(var/mob/user) - if(isbrain(user)) - return 1 - -/datum/emote/pale - name = "pale" - desc = "Makes the mob go pale" - commands = list("pale", "pales") - text = "goes pale for a second" - selfText = "go pale for a second" - -/datum/emote/pale/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/ping - name = "ping" - desc = "Makes the mob ping" - commands = list("ping", "pings") - text = "pings" - selfText = "ping" - audible = 1 - sound = 'sound/machines/ping.ogg' - canTarget = 1 - targetMob = 1 - -/datum/emote/ping/available(var/mob/user) - if(user.is_mechanical()) - return 1 - -/datum/emote/point - name = "point" - desc = "Makes the mob point" - commands = list("point", "points") - text = "points" - selfText = "point" - canTarget = 1 - -/datum/emote/point/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/point/createMessage(var/mob/user, var/list/params) - if(params["target"]) - return - return ..() - -/datum/emote/point/doAction(var/mob/user, var/list/params) - if(!params["target"]) - return - user.pointed(params["target"]) - -/datum/emote/quiver - name = "quiver" - desc = "Makes the mob quiver" - commands = list("quiver", "quivers") - text = "quivers" - selfText = "quiver" - -/datum/emote/quiver/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/raise - name = "raise" - desc = "Makes the mob raise a hand" - commands = list("raise", "raises") - text = "raises a hand" - selfText = "raise a hand" - restrained = 1 - -/datum/emote/raise/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/roar - name = "roar" - desc = "Makes the mob roar" - commands = list("roar", "roars") - text = "roars" - selfText = "roar" - audible = 1 - muzzleAffected = 1 - muzzledNoise = "loud" - -/datum/emote/roar/available(var/mob/user) - if(isalienadult(user)) - return 1 - -/datum/emote/roll - name = "roll" - desc = "Makes the mob roll" - commands = list("roll", "rolls") - text = "rolls" - selfText = "roll" - -/datum/emote/roll/available(var/mob/user) - if(islarva(user)) - return 1 - if(issmall(user)) - return 1 - -/datum/emote/salute - name = "salute" - desc = "Makes the mob salute" - commands = list("salute", "salutes") - text = "salutes" - selfText = "salute" - canTarget = 1 - targetMob = 1 - targetText = "to" - -/datum/emote/salute/available(var/mob/user) - if(ishuman(user)) - return 1 - if(isrobot(user)) - return 1 - -/datum/emote/salute/prevented(var/mob/user) - . = ..() - if(!. && user.buckled) - return "you are buckled to something" - -/datum/emote/salute/getMobTarget(var/mob/user, var/list/targets) - var/mob/target = ..() - if(target != user) - return target - -/datum/emote/scratch - name = "scratch" - desc = "Makes the mob scratch" - commands = list("scratch", "scratches") - text = "scratches" - selfText = "scratch" - restrained = 1 - -/datum/emote/scratch/available(var/mob/user) - if(islarva(user) || isalienadult(user)) - return 1 - if(issmall(user)) - return 1 - -/datum/emote/scream - name = "scream" - desc = "makes the mob scream" - commands = list("scream", "screams") - text = "screams!" - selfText = "scream!" - audible = 1 - mimeText = "acts out a scream" - muzzledNoise = "very loud" - cooldown = 50 - vol = 80 - -/datum/emote/scream/createMessage(var/mob/user, var/list/params) - var/mob/living/carbon/human/H = user - - if(istype(H)) - return "\The [user] [H.species.scream_verb]!" - else - return ..() - -/datum/emote/scream/replaceMobWithYou(var/mob/M, var/message = "", var/mob/user) - var/mob/living/carbon/human/H = user - - if(istype(H) && (H.species.scream_verb != "screams")) - return message - return ..() - -/datum/emote/scream/machine - name = "machine scream" - sound = 'sound/goonstation/voice/robot_scream.ogg' - -/datum/emote/scream/machine/available(var/mob/user) - if(user.is_mechanical()) - return 1 - -/datum/emote/scream/human - name = "human scream" - -/datum/emote/scream/human/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/scream/human/playSound(var/mob/user) - var/mob/living/carbon/human/H = user - - if(H.gender == FEMALE) - playsound(H, "[H.species.female_scream_sound]", vol, 1, 0, pitch = H.get_age_pitch()) - else - playsound(H, "[H.species.male_scream_sound]", vol, 1, 0, pitch = H.get_age_pitch()) - return 1 - -/datum/emote/scretch - name = "scretch" - desc = "makes the mob scretch" //whatever that is! - commands = list("scretch", "scretches") - text = "scretches" - selfText = "scretch" - audible = 1 - muzzleAffected = 1 - -/datum/emote/scretch/available(var/mob/user) - if(isalienadult(user) || islarva(user)) - return 1 - -/datum/emote/shake - name = "shake" - desc = "Makes the mob shake its head" - commands = list("shake", "shakes") - text = "shakes" - selfText = "shake" - -/datum/emote/shake/available(var/mob/user) - if(islarva(user)) - return 1 - if(ishuman(user)) - return 1 - -/datum/emote/shake/standardMessage(var/mob/user) - var/message = ..() - message += " [getHis(user)] head" - return message - -/datum/emote/shiver - name = "shiver" - desc = "Makes the mob shiver" - commands = list("shiver", "shivers") - text = "shivers" - selfText = "shiver" - audible = 1 - mimeText = "shivers" - -/datum/emote/shiver/available(var/mob/user) - if(isalienadult(user) || islarva(user)) - return 1 - if(isslime(user)) - return 1 - if(ishuman(user)) - return 1 - -/datum/emote/shiver/createBlindMessage(var/mob/user, var/list/params, var/message) - message = "you hear someone's teeth chattering together" - -/datum/emote/shrug - name = "shrug" - desc = "Makes the mob shrug" - commands = list("shrug", "shrugs") - text = "shrugs" - selfText = "shrug" - -/datum/emote/shrug/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/sigh - name = "sigh" - desc = "Makes the mob sigh" - commands = list("sigh", "sighs") - text = "sighs" - selfText = "sigh" - audible = 1 - mimeText = "sighs" - muzzleAffected = 1 - muzzledNoise = "weak" - -/datum/emote/sigh/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/sign - name = "sign" - desc = "Makes the mob sign a number" - commands = list("sign", "signs") - text = "signs" - selfText = "sign" - restrained = 1 - takesNumber = 1 - -/datum/emote/sign/available(var/mob/user) - if(isalienadult(user) || islarva(user)) - return 1 - -/datum/emote/sign/getNumber(var/mob/user) - var/number = ..() - if(number == null) - to_chat(user, "You need a number to sign") - return INVALID - return number - -/datum/emote/sign/paramMessage(var/mob/user, var/list/params) - var/message = "\The [user] [text] [params["num"]]" - return message - -/datum/emote/sign/fingers - desc = "Makes the mob raise a number of fingers" - text = "raises" - selfText = "raise" - -/datum/emote/sign/fingers/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/sign/fingers/getNumber(var/mob/user) - var/number = ..() - if(number == INVALID) - return INVALID - var/fingersAvailable = 0 - if(!user.r_hand) - fingersAvailable += 5 - if(!user.l_hand) - fingersAvailable += 5 - if(fingersAvailable < number) - to_chat(user, "You don't have enough fingers free") - return INVALID - return number - -/datum/emote/sign/fingers/paramMessage(var/mob/user, var/list/params) - var/message = "\The [user] [text] [params["num"]] finger\s" // no, we can't just add " finger\s" to the parent version because the text macro won't work then :( VB - return message - -/datum/emote/slap - name = "slap" - desc = "makes the mob slap someone" - commands = list("slap", "slaps") - text = "slaps" - selfText = "slap" - audible = 1 - sound = 'sound/effects/snap.ogg' - canTarget = 1 - targetMob = 1 - targetText = "" - -/datum/emote/slap/New() - ..() - cooldown = 0 - -/datum/emote/slap/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/slap/getMobTarget(var/mob/user, var/list/targets) - for(var/mob/M in view(getLoc(user), 1)) - targets += M - var/mob/target = input("Select target", "Target Mob") as null|anything in targets - if(target == "None") - target = user - return target - -/datum/emote/slap/createBlindMessage(var/mob/user, var/list/params, var/message) - message = ..() - message = replacetext(message, "someone", "a") - return message - -/datum/emote/slap/doAction(var/mob/user, var/list/params) - if(user == params["target"]) - var/mob/living/U = user - U.adjustFireLoss(4) - -/datum/emote/smile - name = "smile" - desc = "Makes the mob smile" - commands = list("smile", "smiles") - text = "smiles" - selfText = "smile" - -/datum/emote/smile/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/snap - name = "snap" - desc = "Makes the mob snap it's fingers" - commands = list("snap", "snaps") - text = "snaps" - selfText = "snap" - audible = 1 - sound = 'sound/effects/fingersnap.ogg' - -/datum/emote/snap/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/snap/prevented(var/mob/user) - . = ..() - if(.) - return - var/mob/living/carbon/human/H = user - var/obj/item/organ/external/L = H.get_organ("l_hand") - var/obj/item/organ/external/R = H.get_organ("r_hand") - var/left_hand_good = 0 - var/right_hand_good = 0 - if(L && (!(L.status & ORGAN_DESTROYED)) && (!(L.status & ORGAN_SPLINTED)) && (!(L.status & ORGAN_BROKEN))) - left_hand_good = 1 - if(R && (!(R.status & ORGAN_DESTROYED)) && (!(R.status & ORGAN_SPLINTED)) && (!(R.status & ORGAN_BROKEN))) - right_hand_good = 1 - - if(!left_hand_good && !right_hand_good) - return "You need at least one hand in good working order to snap your fingers" - -/datum/emote/snap/standardMessage(var/mob/user, var/list/params) - var/message = ..() - message += " [getHis(user)] fingers" - params["prob"] = prob(5) - if(!params["prob"]) - return message - message += " right off!" - return message - -/datum/emote/snap/playSound(var/mob/user, var/list/params) - if(params["prob"]) - playsound(user.loc, 'sound/effects/snap.ogg', 50, 1) - return 1 - return ..() - -/datum/emote/snap/createBlindMessage(var/mob/user, var/list/params, var/message) - message = ..() - message += " their fingers" - return message - -/datum/emote/snap/createDeafMessage(var/mob/user, var/list/params, var/message) - return message - -/datum/emote/sneeze - name = "sneeze" - desc = "Makes the mob sneeze" - commands = list("sneeze", "sneezes") - text = "sneezes" - selfText = "sneeze" - audible = 1 - mimeText = "sneeze" - muzzleAffected = 1 - muzzledNoise = "strange" - -/datum/emote/sneeze/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/sniff - name = "sniff" - desc = "Makes the mob sniff" - commands = list("sniff", "sniffs") - text = "sniffs" - selfText = "sniff" - audible = 1 - mimeText = "sniffs" - -/datum/emote/sniff/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/snore - name = "snore" - desc = "Makes the mob snore" - commands = list("snore", "snores") - text = "snores" - selfText = "snore" - audible = 1 - mimeText = "sleeps soundly" - mimeSelf = "sleep soundly" - muzzleAffected = 1 - -/datum/emote/snore/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/squish - name = "squish" - desc = "Makes the mob squish" - commands = list("squish", "squishes") - text = "squishes" - selfText = "squish" - audible = 1 - sound = 'sound/effects/slime_squish.ogg' - canTarget = 1 - targetMob = 1 - -/datum/emote/squish/available(var/mob/user) - if(isslime(user)) - return 1 - if(ishuman(user)) - var/mob/living/carbon/human/H = user - if(H.species.name == "Slime People") //Only Slime People can squish - return 1 - for(var/obj/item/organ/external/L in H.organs) // if your limbs are squishy you can squish too! - if(L.dna.species =="Slime People") - return 1 - -/datum/emote/stare - name = "stare" - desc = "Makes the mob stare" - commands = list("stare", "stares") - text = "stares" - selfText = "stare" - canTarget = 1 - targetMob = 1 - -/datum/emote/stare/available(var/mob/user) - if(ishuman(user)) - return 1 - if(isrobot(user)) - return 1 - -/datum/emote/sulk - name = "sulk" - desc = "Makes the mob sulk" - commands = list("sulk", "sulks") - text = "sulks down sadly" - selfText = "sulk down sadly" - -/datum/emote/sulk/available(var/mob/user) - if(islarva(user)) - return 1 - -/datum/emote/sway - name = "sway" - desc = "Makes the mob sway" - commands = list("sway", "sways") - text = "sways around dizzily" - selfText = "sway around dizzily" - -/datum/emote/sway/available(var/mob/user) - if(islarva(user)) - return 1 - if(isslime(user)) - return 1 - -/datum/emote/tail - name = "tail" - desc = "Makes the mob wave it's tail" - commands = list("tail") - text = "waves it's tail" - selfText = "wave your tail" - -/datum/emote/tail/available(var/mob/user) - if(islarva(user) || isalienadult(user)) - return 1 - if(issmall(user)) - return 1 - -/datum/emote/tail/wag - name = "wag" - desc = "Makes the mob start wagging its tail" - commands = list("wag", "wags") - text = "starts" - selfText = "start" - -/datum/emote/tail/wag/available(var/mob/user) - if(issmall(user)) - return - if(ishuman(user)) - return 1 - -/datum/emote/tail/wag/prevented(var/mob/user) - . = ..() - if(.) - return - var/mob/living/carbon/human/H = user - if(H.species.bodyflags & TAIL_WAGGING) - if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAIL || istype(H.wear_suit, /obj/item/clothing/suit/space))) - return "your clothing is stopping you wag your tail" - return - if(!H.body_accessory) - return "you have no tail to wag!" - if(!H.body_accessory.try_restrictions()) - return "your clothing is stopping you wag your tail" - -/datum/emote/tail/wag/standardMessage(var/mob/user, var/list/params) - var/message = ..() - message += " wagging [getHis(user)] tail" - return message - -/datum/emote/tail/wag/doAction(var/mob/user, var/list/params) - var/mob/living/carbon/human/H = user - H.start_tail_wagging(1) - -/datum/emote/tail/wag/stop - name = "swag" - desc = "Makes the mob stop wagging its tail" - commands = list("swag", "swags") - text = "stops" - selfText = "stop" - allowParent = 1 - -// seemingly no way to tell if a mob is wagging it's tail! VB -/datum/emote/tail/wag/stop/prevented(var/mob/user) - . = ..() - if(.) - return - var/mob/living/carbon/human/H = user - if(!(H.species.bodyflags & TAIL_WAGGING) && !H.body_accessory) - return "you can't stop wagging a tail you don't have!" - -/datum/emote/tail/wag/stop/doAction(var/mob/user, var/list/params) - var/mob/living/carbon/human/H = user - H.stop_tail_wagging(1) - -/datum/emote/tremble - name = "tremble" - desc = "Makes the mob tremble" - commands = list("tremble", "trembles") - text = "trembles" - selfText = "tremble" - -/datum/emote/tremble/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/twitch_s - name = "twitch_s" - desc = "Makes the mob twitch" - commands = list("twitch_s", "twitches_s") - text = "twitches" - selfText = "twitch" - -/datum/emote/twitch_s/available(var/mob/user) - if(ishuman(user)) - return 1 - if(isrobot(user)) - return 1 - -/datum/emote/twitch_s/twitch - name = "twitch" - desc = "Makes the mob twitch violently" - commands = list("twitch", "twitches") - allowParent = 1 - -/datum/emote/twitch_s/twitch/available(var/mob/user) - if(isslime(user)) - return 1 - if(islarva(user)) - return 1 - return ..() - -/datum/emote/twitch_s/twitch/standardMessage(var/mob/user, var/list/params) - var/message = ..() - message += " violently" - return message - -/datum/emote/vibrate - name = "vibrate" - desc = "Makes the mob vibrate" - commands = list("vibrate", "vibrates") - text = "vibrates" - selfText = "vibrate" - -/datum/emote/vibrate/available(var/mob/user) - if(isslime(user)) - return 1 - -/datum/emote/wave - name = "wave" - desc = "Makes the mob wave" - commands = list ("wave", "waves") - text = "waves" - selfText = "wave" - -/datum/emote/wave/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/whimper - name = "whimper" - desc = "Makes the mob whimper" - commands = list("whimper", "whimpers") - text = "whimpers" - selfText = "whimper" - audible = 1 - mimeText = "appears hurt" - mimeSelf = "appear hurt" - muzzleAffected = 1 - -/datum/emote/whimper/available(var/mob/user) - if(islarva(user) || isalienadult(user)) - return 1 - if(ishuman(user)) - return 1 - -/datum/emote/whistle - name = "whistle" - desc = "Makes the mob whistle" - commands = list("whistle", "whistles") - text = "whistles" - selfText = "whistle" - audible = 1 - -/datum/emote/whistle/available(var/mob/user) - if(isbrain(user)) - return 1 - -/datum/emote/wink - name = "wink" - desc = "Makes the mob wink" - commands = list("wink", "winks") - text = "winks" - selfText = "wink" - -/datum/emote/wink/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/yawn - name = "yawn" - desc = "makes the mob yawn" - commands = list("yawn", "yawns") - text = "yawns" - selfText = "yawn" - audible = 1 - mimeText = "yawns" - muzzleAffected = 1 - -/datum/emote/yawn/available(var/mob/user) - if(ishuman(user)) - return 1 - -/datum/emote/yes - name = "yes" - desc = "Makes the mob let out an affirmative beep" - commands = list("yes") - text = "lets out an affirmative beep" - selfText = "let out an affirmative beep" - audible = 1 - sound = 'sound/machines/synth_yes.ogg' - canTarget = 1 - targetMob = 1 - -/datum/emote/yes/available(var/mob/user) - if(user.is_mechanical()) - return 1 \ No newline at end of file diff --git a/code/datums/mind.dm b/code/datums/mind.dm index a3d9dbd8442..52f6c13784f 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -150,9 +150,9 @@ if (istype(current, /mob/living/carbon/human)) /** Impanted**/ if(isloyal(H)) - text = "Loyalty Implant:Remove|Implanted
" + text = "Mindshield Implant:Remove|Implanted
" else - text = "Loyalty Implant:No Implant|Implant him!
" + text = "Mindshield Implant:No Implant|Implant him!
" sections["implant"] = text /** REVOLUTION ***/ text = "revolution" @@ -653,27 +653,27 @@ if(I && I.implanted) I.removed(H) qdel(I) - to_chat(H, "\blue Your loyalty implant has been deactivated.") - log_admin("[key_name(usr)] has deactivated [key_name(current)]'s loyalty implant") - message_admins("[key_name_admin(usr)] has deactivated [key_name_admin(current)]'s loyalty implant") + to_chat(H, "\blue Your mindshield implant has been deactivated.") + log_admin("[key_name(usr)] has deactivated [key_name(current)]'s mindshield implant") + message_admins("[key_name_admin(usr)] has deactivated [key_name_admin(current)]'s mindshield implant") if("add") var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) L.imp_in = H L.implanted = 1 H.sec_hud_set_implants() - log_admin("[key_name(usr)] has given [key_name(current)] a loyalty implant") - message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a loyalty implant") + log_admin("[key_name(usr)] has given [key_name(current)] a mindshield implant") + message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a mindshield implant") - to_chat(H, "\red You somehow have become the recepient of a loyalty transplant, and it just activated!") + to_chat(H, "\red You somehow have become the recepient of a mindshield transplant, and it just activated!") if(src in ticker.mode.revolutionaries) special_role = null ticker.mode.revolutionaries -= src - to_chat(src, "\red The nanobots in the loyalty implant remove all thoughts about being a revolutionary. Get back to work!") + to_chat(src, "\red The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!") if(src in ticker.mode.head_revolutionaries) special_role = null ticker.mode.head_revolutionaries -=src - to_chat(src, "\red The nanobots in the loyalty implant remove all thoughts about being a revolutionary. Get back to work!") + to_chat(src, "\red The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!") if(src in ticker.mode.cult) ticker.mode.cult -= src ticker.mode.update_cult_icons_removed(src) @@ -681,7 +681,7 @@ var/datum/game_mode/cult/cult = ticker.mode if (istype(cult)) cult.memorize_cult_objectives(src) - to_chat(current, "\red The nanobots in the loyalty implant remove all thoughts about being in a cult. Have a productive day!") + to_chat(current, "\red The nanobots in the mindshield implant remove all thoughts about being in a cult. Have a productive day!") memory = "" else if (href_list["revolution"]) @@ -1516,6 +1516,19 @@ spell.action.Grant(new_character) return +/datum/mind/proc/get_ghost(even_if_they_cant_reenter) + for(var/mob/dead/observer/G in dead_mob_list) + if(G.mind == src) + if(G.can_reenter_corpse || even_if_they_cant_reenter) + return G + break + +/datum/mind/proc/grab_ghost(force) + var/mob/dead/observer/G = get_ghost(even_if_they_cant_reenter = force) + . = G + if(G) + G.reenter_corpse() + //Initialisation procs /mob/proc/mind_initialize() if(mind) diff --git a/code/datums/spells/genetic.dm b/code/datums/spells/genetic.dm index d4a9d1d1d8e..036e2158989 100644 --- a/code/datums/spells/genetic.dm +++ b/code/datums/spells/genetic.dm @@ -24,9 +24,14 @@ target:hulk_time=world.time + duration */ target.sdisabilities |= sdisabilities target.update_mutations() //update target's mutation overlays + var/mob/living/carbon/human/H = target + if(ishuman(target)) + H.update_body() spawn(duration) target.mutations.Remove(mutations) target.sdisabilities &= ~sdisabilities target.update_mutations() + if(ishuman(target)) + H.update_body() return \ No newline at end of file diff --git a/code/datums/spells/wizard.dm b/code/datums/spells/wizard.dm index ca146933558..8a056245b16 100644 --- a/code/datums/spells/wizard.dm +++ b/code/datums/spells/wizard.dm @@ -53,6 +53,15 @@ action_icon_state = "mutate" +/obj/effect/proc_holder/spell/targeted/genetic/mutate/cast(list/targets) + for(var/mob/living/target in targets) + target.dna.SetSEState(HULKBLOCK, 1) + genemutcheck(target, HULKBLOCK, null, MUTCHK_FORCED) + spawn(duration) + target.dna.SetSEState(HULKBLOCK, 0) + genemutcheck(target, HULKBLOCK, null, MUTCHK_FORCED) + ..() + /obj/effect/proc_holder/spell/targeted/smoke name = "Smoke" desc = "This spell spawns a cloud of choking smoke at your location and does not require wizard garb." diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index be25ea14f1f..fe65e44ddec 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -375,10 +375,10 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine /////// Implants & etc /datum/supply_packs/security/armory/loyalty - name = "Loyalty Implants Crate" + name = "Mindshield Implants Crate" contains = list (/obj/item/weapon/storage/lockbox/loyalty) cost = 40 - containername = "loyalty implant crate" + containername = "mindshield implant crate" /datum/supply_packs/security/armory/trackingimp name = "Tracking Implants Crate" diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index ad13d541d96..d9bcc547a72 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -378,6 +378,15 @@ var/list/uplink_items = list() gamemodes = list(/datum/game_mode/nuclear) surplus = 0 +/datum/uplink_item/dangerous/sniper + name = "Sniper Rifle" + desc = "Ranged fury, Syndicate style. guaranteed to cause shock and awe or your TC back!" + reference = "SSR" + item = /obj/item/weapon/gun/projectile/automatic/sniper_rifle/syndicate + cost = 16 + surplus = 25 + gamemodes = list(/datum/game_mode/nuclear) + /datum/uplink_item/dangerous/crossbow name = "Energy Crossbow" desc = "A miniature energy crossbow that is small enough both to fit into a pocket and to slip into a backpack unnoticed by observers. Fires bolts tipped with toxin, a poisonous substance that is the product of a living organism. Stuns enemies for a short period of time. Recharges automatically." @@ -620,6 +629,38 @@ var/list/uplink_items = list() gamemodes = list(/datum/game_mode/nuclear) surplus = 0 +/datum/uplink_item/ammo/sniper + cost = 4 + gamemodes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/ammo/sniper/basic + name = ".50 Magazine" + desc = "An additional standard 6-round magazine for use with .50 sniper rifles." + reference = "50M" + item = /obj/item/ammo_box/magazine/sniper_rounds + +/datum/uplink_item/ammo/sniper/soporific + name = ".50 Soporific Magazine" + desc = "A 3-round magazine of soporific ammo designed for use with .50 sniper rifles. Put your enemies to sleep today!" + reference = "50S" + item = /obj/item/ammo_box/magazine/sniper_rounds/soporific + cost = 6 + +/datum/uplink_item/ammo/sniper/haemorrhage + name = ".50 Haemorrhage Magazine" + desc = "A 5-round magazine of haemorrhage ammo designed for use with .50 sniper rifles; causes heavy bleeding \ + in the target." + reference = "50B" + item = /obj/item/ammo_box/magazine/sniper_rounds/haemorrhage + +/datum/uplink_item/ammo/sniper/penetrator + name = ".50 Penetrator Magazine" + desc = "A 5-round magazine of penetrator ammo designed for use with .50 sniper rifles. \ + Can pierce walls and multiple enemies." + reference = "50P" + item = /obj/item/ammo_box/magazine/sniper_rounds/penetrator + cost = 5 + // STEALTHY WEAPONS /datum/uplink_item/stealthy_weapons diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index 007917ded3d..181572b5753 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -107,7 +107,8 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048 A.autoclose = mended if(mended) if(!A.density) - A.close() + spawn(0) + A.close() if(AIRLOCK_WIRE_LIGHT) A.lights = mended @@ -159,12 +160,16 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048 //will succeed only if the ID wire is cut or the door requires no access and it's not emagged if(A.emagged) return if(!A.requiresID() || A.check_access(null)) - if(A.density) A.open() - else A.close() + spawn(0) + if(A.density) + A.open() + else + A.close() if(AIRLOCK_WIRE_SAFETY) A.safe = !A.safe if(!A.density) - A.close() + spawn(0) + A.close() if(AIRLOCK_WIRE_SPEED) A.normalspeed = !A.normalspeed diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 3ac3feb3bef..e5875ce708b 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -952,6 +952,10 @@ var/list/ghostteleportlocs = list() power_light = 0 power_environ = 0 +/area/maintenance/consarea + name = "Alternate Construction Area" + icon_state = "yellow" + //Hallway diff --git a/code/game/dna/dna2_domutcheck.dm b/code/game/dna/dna2_domutcheck.dm index eddf68c679d..911d91ef63d 100644 --- a/code/game/dna/dna2_domutcheck.dm +++ b/code/game/dna/dna2_domutcheck.dm @@ -3,7 +3,6 @@ // M: Mob to mess with // connected: Machine we're in, type unchecked so I doubt it's used beyond monkeying // flags: See below, bitfield. -#define MUTCHK_FORCED 1 /proc/domutcheck(var/mob/living/M, var/connected=null, var/flags=0) for(var/datum/dna/gene/gene in dna_genes) if(!M || !M.dna) diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm index 42d82639129..2e462a49ea5 100644 --- a/code/game/gamemodes/antag_spawner.dm +++ b/code/game/gamemodes/antag_spawner.dm @@ -72,6 +72,12 @@ desc = "A magically infused bottle of blood, distilled from countless murder victims. Used in unholy rituals to attract horrifying creatures." icon = 'icons/obj/wizard.dmi' icon_state = "vial" + var/shatter_msg = "You shatter the bottle, no \ + turning back now!" + var/veil_msg = "You sense a dark presence lurking \ + just beyond the veil..." + var/objective_verb = "Kill" + var/mob/living/demon_type = /mob/living/simple_animal/slaughter /obj/item/weapon/antag_spawner/slaughter_demon/attack_self(mob/user as mob) if(user.z == ZLEVEL_CENTCOMM)//this is to make sure the wizard does NOT summon a demon from the Den.. @@ -88,9 +94,9 @@ if(candidates.len > 0) var/mob/C = pick(candidates) - spawn_antag(C, get_turf(src.loc), "Slaughter Demon", user) - to_chat(user, "You shatter the bottle, no turning back now!") - to_chat(user, "You sense a dark presence lurking just beyond the veil...") + spawn_antag(C, get_turf(src.loc), initial(demon_type.name), user) + to_chat(user, "[shatter_msg]") + to_chat(user, "[veil_msg]") playsound(user.loc, 'sound/effects/Glassbr1.ogg', 100, 1) qdel(src) else @@ -99,22 +105,34 @@ /obj/item/weapon/antag_spawner/slaughter_demon/spawn_antag(var/client/C, var/turf/T, var/type = "", mob/user as mob) var /obj/effect/dummy/slaughter/holder = new /obj/effect/dummy/slaughter(T) - var/mob/living/simple_animal/slaughter/S = new /mob/living/simple_animal/slaughter/(holder) + var/mob/living/simple_animal/slaughter/S = new demon_type(holder) S.vialspawned = TRUE S.holder = holder S.key = C.key - S.mind.assigned_role = "Slaughter Demon" - S.mind.special_role = "Slaughter Demon" + S.mind.assigned_role = S.name + S.mind.special_role = S.name ticker.mode.traitors += S.mind var/datum/objective/assassinate/KillDaWiz = new /datum/objective/assassinate KillDaWiz.owner = S.mind KillDaWiz.target = user.mind - KillDaWiz.explanation_text = "Kill [user.real_name], the one who was foolish enough to summon you." + KillDaWiz.explanation_text = "[objective_verb] [user.real_name], the one who was foolish enough to summon you." S.mind.objectives += KillDaWiz var/datum/objective/KillDaCrew = new /datum/objective KillDaCrew.owner = S.mind - KillDaCrew.explanation_text = "Kill everyone else while you're at it." + KillDaCrew.explanation_text = "[objective_verb] everyone else while you're at it." S.mind.objectives += KillDaCrew S.mind.objectives += KillDaCrew to_chat(S, "Objective #[1]: [KillDaWiz.explanation_text]") to_chat(S, "Objective #[2]: [KillDaCrew.explanation_text]") + + +/obj/item/weapon/antag_spawner/slaughter_demon/laughter + name = "vial of tickles" + desc = "A magically infused bottle of clown love, distilled from \ + countless hugging attacks. Used in funny rituals to attract \ + adorable creatures." + color = "#FF69B4" // HOT PINK + veil_msg = "You sense an adorable presence \ + lurking just beyond the veil..." + objective_verb = "Hug and Tickle" + demon_type = /mob/living/simple_animal/slaughter/laughter \ No newline at end of file diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm index 4f785ca99aa..f6ff3bc083c 100644 --- a/code/game/gamemodes/autotraitor/autotraitor.dm +++ b/code/game/gamemodes/autotraitor/autotraitor.dm @@ -88,7 +88,7 @@ for(var/job in restricted_jobs) if(player.assigned_role == job) possible_traitors -= player - if(player.current) // Remove loyalty implanted mobs from the list + if(player.current) // Remove mindshield-implanted mobs from the list if(ishuman(player.current)) var/mob/living/carbon/human/H = player.current for(var/obj/item/weapon/implant/loyalty/I in H.contents) diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm index 069edaa6ecf..1238adebcf5 100644 --- a/code/game/gamemodes/blob/overmind.dm +++ b/code/game/gamemodes/blob/overmind.dm @@ -103,6 +103,9 @@ if(isovermind(M) || isobserver(M)) M.show_message(rendered, 2) +/mob/camera/blob/emote(var/act,var/m_type=1,var/message = null) + return + /mob/camera/blob/blob_act() return diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index 4c6a0881d36..9721cae3850 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -8,7 +8,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" name = "changeling" config_tag = "changeling" restricted_jobs = list("AI", "Cyborg") - protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent") + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer") protected_species = list("Machine", "Slime People", "Plasmaman") required_players = 15 required_enemies = 1 diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index f85f123d9ea..d85e4157e1e 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -28,7 +28,7 @@ /datum/game_mode/cult name = "cult" config_tag = "cult" - restricted_jobs = list("Chaplain","AI", "Cyborg", "Internal Affairs Agent", "Security Officer", "Warden", "Detective", "Security Pod Pilot", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Magistrate", "Brig Physician") + restricted_jobs = list("Chaplain","AI", "Cyborg", "Internal Affairs Agent", "Security Officer", "Warden", "Detective", "Security Pod Pilot", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Magistrate", "Brig Physician", "Nanotrasen Navy Officer", "Special Operations Officer") protected_jobs = list() required_players = 30 required_enemies = 3 diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index 930ec3df35d..cf1dab5d24e 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -409,6 +409,12 @@ Congratulations! You are now trained for xenobiology research!"} user.do_attack_animation(L) + if(ishuman(L)) + var/mob/living/carbon/human/H = L + if(H.check_shields(0, "[user]'s [name]")) + playsound(L, 'sound/weapons/Genhit.ogg', 50, 1) + return 0 + switch (mode) if(BATON_STUN) StunAttack(L,user) diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm index 91c2bddb74c..4998aaeca48 100644 --- a/code/game/gamemodes/miniantags/borer/borer.dm +++ b/code/game/gamemodes/miniantags/borer/borer.dm @@ -33,6 +33,9 @@ return 0 return B.host.say_understands(other, speaking) +/mob/living/captive_brain/emote(var/message) + return + /mob/living/captive_brain/resist() var/mob/living/simple_animal/borer/B = loc diff --git a/code/game/gamemodes/miniantags/slaughter/bloodcrawl.dm b/code/game/gamemodes/miniantags/slaughter/bloodcrawl.dm index bab7c597a69..a0a1f9f30d1 100644 --- a/code/game/gamemodes/miniantags/slaughter/bloodcrawl.dm +++ b/code/game/gamemodes/miniantags/slaughter/bloodcrawl.dm @@ -59,8 +59,15 @@ sleep(6) if(animation) qdel(animation) - for(var/i = 3; i > 0; i--) - playsound(get_turf(src),'sound/misc/Demon_consume.ogg', 100, 1) + var/sound + if(istype(src, /mob/living/simple_animal/slaughter)) + var/mob/living/simple_animal/slaughter/SD = src + sound = SD.feast_sound + else + sound = 'sound/misc/Demon_consume.ogg' + + for(var/i in 1 to 3) + playsound(get_turf(src), sound, 100, 1) sleep(30) if(kidnapped) to_chat(src, "You devour [kidnapped]. Your health is fully restored.") diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm index e255394e7af..ac32105229a 100644 --- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm +++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm @@ -18,6 +18,8 @@ stop_automated_movement = 1 status_flags = CANPUSH attack_sound = 'sound/misc/demon_attack1.ogg' + var/feast_sound = 'sound/misc/Demon_consume.ogg' + var/death_sound = 'sound/misc/demon_dies.ogg' atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 maxbodytemp = INFINITY @@ -47,6 +49,7 @@ You may Ctrl+Click on blood pools to travel through them, appearing and dissaapearing from the station at will. \ Pulling a dead or critical mob while you enter a pool will pull them in with you, allowing you to feast. \ You move quickly upon leaving a pool of blood, but the material world will soon sap your strength and leave you sluggish. " + var/deathmessage = "screams in anger as it collapses into a puddle of viscera!" /mob/living/simple_animal/slaughter/New() @@ -88,8 +91,8 @@ /mob/living/simple_animal/slaughter/death() ..() - playsound(get_turf(src),'sound/misc/demon_dies.ogg', 200, 1) - visible_message("[src] screams in anger as it collapses into a puddle of viscera, its most recent meals spilling out of it.") + playsound(get_turf(src), death_sound, 200, 1) + visible_message("[src] [deathmessage].") for(var/mob/living/M in consumed_mobs) M.forceMove(get_turf(src)) ghostize() @@ -181,6 +184,36 @@ /obj/item/organ/internal/heart/demon/Stop() return 0 // Always beating. + +/mob/living/simple_animal/slaughter/laughter + // The laughter demon! It's everyone's best friend! It just wants to hug + // them so much, it wants to hug everyone at once! + name = "laughter demon" + real_name = "laughter demon" + desc = "A large, adorable creature covered in armor with pink bows." + speak_emote = list("giggles", "titters", "chuckles") + emote_hear = list("gaffaws", "laughs") + response_help = "hugs" + attacktext = "wildly tickles" + + attack_sound = 'sound/items/bikehorn.ogg' + feast_sound = 'sound/spookoween/scary_horn2.ogg' + death_sound = 'sound/misc/sadtrombone.ogg' + + icon_state = "bowmon" + icon_living = "bowmon" + deathmessage = "fades out, as all of its friends are released from its prison of hugs." + loot = list(/mob/living/simple_animal/pet/cat/kitten{name = "Laughter"}) + +/mob/living/simple_animal/slaughter/laughter/death() + for(var/mob/living/M in consumed_mobs) + if(M.revive()) + M.grab_ghost(force = TRUE) + playsound(get_turf(src), feast_sound, 50, 1, -1) + to_chat(M, "You leave the [src]'s warm embrace, and feel ready to take on the world.") + ..() + + //Objectives and helpers. //Objective info, Based on Reverent mini Atang diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 85e6967f180..7b57764da16 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -402,7 +402,9 @@ var/bomb_set /obj/item/weapon/disk/nuclear/process() var/turf/disk_loc = get_turf(src) if(disk_loc.z != ZLEVEL_STATION && disk_loc.z != ZLEVEL_CENTCOMM) - to_chat(get(src, /mob), "You can't help but feel that you just lost something back there...") + var/holder = get(src, /mob) + if(holder) + to_chat(holder, "You can't help but feel that you just lost something back there...") qdel(src) /obj/item/weapon/disk/nuclear/Destroy() diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 0acd5bb5336..d35dd1534f7 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -147,7 +147,7 @@ if (!where2) to_chat(mob, "The Syndicate were unfortunately unable to get you a chameleon security HUD.") else - to_chat(mob, "The chameleon security HUD in your [where2] will help you keep track of who is loyalty-implanted, and unable to be recruited.") + to_chat(mob, "The chameleon security HUD in your [where2] will help you keep track of who is mindshield-implanted, and unable to be recruited.") if (!where) to_chat(mob, "The Syndicate were unfortunately unable to get you a flash.") diff --git a/code/game/gamemodes/shadowling/shadowling.dm b/code/game/gamemodes/shadowling/shadowling.dm index 24129a6d49f..1e16bbe3641 100644 --- a/code/game/gamemodes/shadowling/shadowling.dm +++ b/code/game/gamemodes/shadowling/shadowling.dm @@ -72,7 +72,7 @@ Made by Xhuis required_enemies = 2 recommended_enemies = 2 restricted_jobs = list("AI", "Cyborg") - protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent") + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer") /datum/game_mode/shadowling/announce() to_chat(world, "The current game mode is - Shadowling!") diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm index b350a0556d3..b22ccbf3a01 100644 --- a/code/game/gamemodes/shadowling/shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm @@ -342,21 +342,21 @@ target.Weaken(12) sleep(20) if(isloyal(target)) - to_chat(usr, "They are enslaved by Nanotrasen. You begin to shut down the nanobot implant - this will take some time.") + to_chat(usr, "They have a mindshield implant. You begin to deactivate it - this will take some time.") usr.visible_message("[usr] pauses, then dips their head in concentration!") - to_chat(target, "You feel your loyalties begin to weaken!") + to_chat(target, "Your mindshield implant becomes hot as it comes under attack!") sleep(100) //10 seconds - not spawn() so the enthralling takes longer - to_chat(usr, "The nanobots composing the loyalty implant have been rendered inert. Now to continue.") + to_chat(usr, "The nanobots composing the mindshield implant have been rendered inert. Now to continue.") usr.visible_message("[usr] relaxes again.") for(var/obj/item/weapon/implant/loyalty/L in target) if(L && L.implanted) qdel(L) - to_chat(target, "Your unwavering loyalty to Nanotrasen unexpectedly falters, dims, dies.") + to_chat(target, "Your mental protection implant unexpectedly falters, dims, dies.") if(3) to_chat(usr, "You begin planting the tumor that will control the new thrall...") usr.visible_message("A strange energy passes from [usr]'s hands into [target]'s head!") to_chat(target, "You feel your memories twisting, morphing. A sense of horror dominates your mind.") - if(!do_mob(usr, target, 70)) //around 21 seconds total for enthralling, 31 for someone with a loyalty implant + if(!do_mob(usr, target, 70)) //around 21 seconds total for enthralling, 31 for someone with a mindshield implant to_chat(usr, "The enthralling has been interrupted - your target's mind returns to its previous state.") to_chat(target, "You wrest yourself away from [usr]'s hands and compose yourself") enthralling = 0 diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 76a47e82749..a3907981034 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -11,7 +11,7 @@ name = "traitor" config_tag = "traitor" restricted_jobs = list("Cyborg")//They are part of the AI if he is traitor so are they, they use to get double chances - protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Internal Affairs Agent", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Internal Affairs Agent", "Brig Physician")//AI", Currently out of the list as malf does not work for shit + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Internal Affairs Agent", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Internal Affairs Agent", "Brig Physician", "Nanotrasen Navy Officer", "Special Operations Officer")//AI", Currently out of the list as malf does not work for shit required_players = 0 required_enemies = 1 recommended_enemies = 4 diff --git a/code/game/gamemodes/vampire/traitor_vamp.dm b/code/game/gamemodes/vampire/traitor_vamp.dm index a5f2613dccc..8bd37ce1867 100644 --- a/code/game/gamemodes/vampire/traitor_vamp.dm +++ b/code/game/gamemodes/vampire/traitor_vamp.dm @@ -2,7 +2,7 @@ name = "traitor+vampire" config_tag = "traitorvamp" traitors_possible = 3 //hard limit on traitors if scaling is turned off - protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Chaplain", "Brig Physician", "Internal Affairs Agent") + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Chaplain", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer") restricted_jobs = list("AI", "Cyborg") required_players = 10 required_enemies = 1 // how many of each type are required diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm index 90e49e64155..977889a5341 100644 --- a/code/game/gamemodes/vampire/vampire.dm +++ b/code/game/gamemodes/vampire/vampire.dm @@ -9,7 +9,7 @@ name = "vampire" config_tag = "vampire" restricted_jobs = list("AI", "Cyborg") - protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Chaplain", "Brig Physician", "Internal Affairs Agent") + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Chaplain", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer") protected_species = list("Machine") required_players = 15 required_enemies = 1 @@ -285,7 +285,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha old_bloodtotal = bloodtotal old_bloodusable = bloodusable if(!H.vessel.get_reagent_amount("blood")) - to_chat(src, "They've got no blood left to give.") + to_chat(owner, "They've got no blood left to give.") break if(H.stat < DEAD) blood = min(20, H.vessel.get_reagent_amount("blood")) // if they have less than 20 blood, give them the remnant else they get 20 blood @@ -371,7 +371,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha if(T.density) return - vamp_burn() + vamp_burn(1) /datum/vampire/proc/handle_vampire() if(owner.hud_used) @@ -388,7 +388,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha if(istype(owner.loc, /turf/space)) check_sun() if(istype(owner.loc.loc, /area/chapel) && !get_ability(/datum/vampire_passive/full)) - vamp_burn() + vamp_burn(0) nullified = max(0, nullified - 1) /datum/vampire/proc/handle_vampire_cloak() @@ -415,27 +415,23 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha else owner.alpha = round((255 * 0.80)) -/datum/vampire/proc/vamp_burn() - if(prob(35)) +/datum/vampire/proc/vamp_burn(severe_burn) + var/burn_chance = severe_burn ? 35 : 8 + if(prob(burn_chance) && owner.health >= 50) switch(owner.health) - if(80 to 100) + if(75 to 100) to_chat(owner, "Your skin flakes away...") - if(60 to 80) + if(50 to 75) to_chat(owner, "Your skin sizzles!") - if((-INFINITY) to 60) - if(!owner.on_fire) - to_chat(owner, "Your skin catches fire!") - else - to_chat(owner, "You continue to burn!") - owner.fire_stacks += 5 - owner.IgniteMob() - owner.emote("scream") - else - switch(owner.health) - if((-INFINITY) to 60) - owner.fire_stacks++ - owner.IgniteMob() - owner.adjustFireLoss(3) + owner.adjustFireLoss(3) + else if(owner.health < 50) + if(!owner.on_fire) + to_chat(owner, "Your skin catches fire!") + owner.emote("scream") + else + to_chat(owner, "You continue to burn!") + owner.adjust_fire_stacks(5) + owner.IgniteMob() return /datum/hud/proc/remove_vampire_hud() @@ -445,4 +441,4 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha static_inventory -= vampire_blood_display qdel(vampire_blood_display) vampire_blood_display = null - show_hud(hud_version) \ No newline at end of file + show_hud(hud_version) diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 8e04d98504b..64309ef8f5e 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -339,7 +339,7 @@ ticker.mode.vampire_enthralled[H.mind] = user.mind H.mind.special_role = "VampThrall" to_chat(H, "You have been Enthralled by [user]. Follow their every command.") - to_chat(src, "You have successfully Enthralled [H]. If they refuse to do as you say just adminhelp.") + to_chat(user, "You have successfully Enthralled [H]. If they refuse to do as you say just adminhelp.") log_admin("[ckey(user.key)] has mind-slaved [ckey(H.key)].") /obj/effect/proc_holder/spell/vampire/self/cloak diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 8d3d7cc4278..ac487a8e703 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -363,6 +363,21 @@ limit = 3 category = "Assistance" +/datum/spellbook_entry/item/hugbottle + name = "Bottle of Tickles" + desc = "A bottle of magically infused fun, the smell of which will \ + attract adorable extradimensional beings when broken. These beings \ + are similar to slaughter demons, but they do not permamently kill \ + their victims, instead putting them in an extradimensional hugspace, \ + to be released on the demon's death. Chaotic, but not ultimately \ + damaging. The crew's reaction to the other hand could be very \ + destructive." + item_path = /obj/item/weapon/antag_spawner/slaughter_demon/laughter + cost = 1 //non-destructive; it's just a jape, sibling! + log_name = "HB" + limit = 3 + category = "Assistance" + /datum/spellbook_entry/item/tarotdeck name = "Tarot Deck" desc = "A deck of tarot cards that can be used to summon a spirit companion for the wizard." diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index c1ab67a3f03..e21078c7ad9 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -116,6 +116,9 @@ var/const/access_trade_sol = 160 if(check_access()) return 1 + if(!M) + return 0 + var/acc = M.get_access() //see mob.dm if(acc == IGNORE_ACCESS) @@ -595,15 +598,16 @@ proc/get_all_job_icons() //For all existing HUD icons var/job_icons = get_all_job_icons() var/centcom = get_all_centcom_jobs() + if(I.assignment in centcom) //Return with the NT logo if it is a Centcom job + return "Centcom" + if(I.rank in centcom) + return "Centcom" + if(I.assignment in job_icons) //Check if the job has a hud icon return I.assignment if(I.rank in job_icons) return I.rank - if(I.assignment in centcom) //Return with the NT logo if it is a Centcom job - return "Centcom" - if(I.rank in centcom) - return "Centcom" else return diff --git a/code/game/jobs/job/central.dm b/code/game/jobs/job/central.dm new file mode 100644 index 00000000000..8fdc85d2e53 --- /dev/null +++ b/code/game/jobs/job/central.dm @@ -0,0 +1,80 @@ + +// General-purpose CC official. Can hear out grievances, investigate cases, issue demotions, etc. +/datum/job/ntnavyofficer + title = "Nanotrasen Navy Officer" + flag = CENTCOM + department_flag = CENTCOM + total_positions = 5 + spawn_positions = 5 + supervisors = "the admins" + selection_color = "#ffdddd" + idtype = /obj/item/weapon/card/id/centcom + access = list() + minimal_access = list() + admin_only = 1 + +/datum/job/ntnavyofficer/equip(var/mob/living/carbon/human/H) + if(!H) return 0 + H.equip_or_collect(new /obj/item/clothing/under/rank/centcom/officer(H), slot_w_uniform) + H.equip_or_collect(new /obj/item/clothing/shoes/centcom(H), slot_shoes) + H.equip_or_collect(new /obj/item/clothing/gloves/color/white(H), slot_gloves) + H.equip_or_collect(new /obj/item/device/radio/headset/centcom(H), slot_l_ear) + H.equip_or_collect(new /obj/item/clothing/head/beret/centcom/officer(H), slot_head) + H.equip_or_collect(new /obj/item/device/pda/centcom(H), slot_wear_pda) + H.equip_or_collect(new /obj/item/clothing/glasses/hud/security/sunglasses(H), slot_glasses) + H.equip_or_collect(new /obj/item/weapon/gun/energy/pulse/pistol(H), slot_belt) + H.equip_or_collect(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H), slot_in_backpack) + + H.equip_or_collect(new /obj/item/weapon/implanter/dust(H), slot_in_backpack) + H.equip_or_collect(new /obj/item/weapon/implanter/death_alarm(H), slot_in_backpack) + + var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) + L.imp_in = H + L.implanted = 1 + H.sec_hud_set_implants() + return 1 + +/datum/job/ntnavyofficer/get_access() + return get_centcom_access(title) + + +// CC Officials who lead ERTs, Death Squads, etc. +/datum/job/ntspecops + title = "Special Operations Officer" + flag = CENTCOM + department_flag = CENTCOM + total_positions = 5 + spawn_positions = 5 + supervisors = "the admins" + selection_color = "#ffdddd" + idtype = /obj/item/weapon/card/id/centcom + access = list() + minimal_access = list() + admin_only = 1 + spawn_ert = 1 + +/datum/job/ntspecops/equip(var/mob/living/carbon/human/H) + if(!H) return 0 + H.equip_or_collect(new /obj/item/clothing/under/syndicate/combat(H), slot_w_uniform) + H.equip_or_collect(new /obj/item/clothing/shoes/combat(H), slot_shoes) + H.equip_or_collect(new /obj/item/clothing/gloves/combat(H), slot_gloves) + H.equip_or_collect(new /obj/item/device/radio/headset/centcom(H), slot_l_ear) + H.equip_or_collect(new /obj/item/clothing/head/beret/centcom/officer/navy(H), slot_head) + H.equip_or_collect(new /obj/item/device/pda/centcom(H), slot_wear_pda) + H.equip_or_collect(new /obj/item/clothing/glasses/hud/security/sunglasses(H), slot_glasses) + H.equip_or_collect(new /obj/item/weapon/gun/energy/pulse/pistol/m1911(H), slot_belt) + H.equip_or_collect(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_or_collect(new /obj/item/clothing/suit/space/deathsquad/officer(H), slot_wear_suit) + H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H), slot_in_backpack) + H.equip_or_collect(new /obj/item/weapon/implanter/dust(H), slot_in_backpack) + H.equip_or_collect(new /obj/item/weapon/implanter/death_alarm(H), slot_in_backpack) + + var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) + L.imp_in = H + L.implanted = 1 + H.sec_hud_set_implants() + return 1 + +/datum/job/ntspecops/get_access() + return get_centcom_access(title) \ No newline at end of file diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 563a469e821..b8e7f44ecb4 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -41,6 +41,9 @@ //If you have use_age_restriction_for_jobs config option enabled and the database set up, this option will add a requirement for players to be at least minimal_player_age days old. (meaning they first signed in at least that many days before.) var/minimal_player_age = 0 + var/admin_only = 0 + var/spawn_ert = 0 + ///////////////////////////////// // /vg/ feature: Job Objectives! ///////////////////////////////// @@ -77,7 +80,7 @@ return 0 return max(0, minimal_player_age - C.player_age) - + /datum/job/proc/apply_fingerprints(var/mob/living/carbon/human/H) if(!istype(H)) return @@ -116,6 +119,6 @@ if(H.r_store) H.r_store.add_fingerprint(H,1) return 1 - + /datum/job/proc/is_position_available() return (current_positions < total_positions) || (total_positions == -1) \ No newline at end of file diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 9f9658a9dff..851cb4d0921 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -120,6 +120,9 @@ var/global/datum/controller/occupations/job_master if(job.title in whitelisted_positions) // No random whitelisted job, sorry! continue + if(job.admin_only) // No admin positions either. + continue + if(jobban_isbanned(player, job.title)) Debug("GRJ isbanned failed, Player: [player], Job: [job.title]") continue diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 748ffcd5d85..6af69ebed9d 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -11,7 +11,7 @@ var/const/ENGINEER =(1<<6) var/const/ATMOSTECH =(1<<7) var/const/AI =(1<<8) var/const/CYBORG =(1<<9) - +var/const/CENTCOM =(1<<10) var/const/MEDSCI =(1<<1) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 9c1d90ce67a..b2ba1a01cf7 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -270,6 +270,7 @@ active_power_usage = 2000 var/obj/machinery/teleport/station/power_station var/calibrated //Calibration prevents mutation + var/admin_usage = 0 // if 1, works on z2. If 0, doesn't. Used for admin room teleport. /obj/machinery/teleport/hub/New() ..() @@ -317,7 +318,7 @@ return power_station /obj/machinery/teleport/hub/Bumped(M as mob|obj) - if(z == ZLEVEL_CENTCOMM) + if(z == ZLEVEL_CENTCOMM && !admin_usage) to_chat(M, "You can't use this here.") return if(power_station && power_station.engaged && !panel_open) @@ -379,7 +380,7 @@ use_power = 1 idle_power_usage = 10 active_power_usage = 2000 - + var/target var/tele_delay = 50 @@ -414,7 +415,7 @@ else do_teleport(M, target) use_power(5000) - + if(tele_delay) recalibrating = 1 update_icon() diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm index f0b6ce34ef7..a41adfc1278 100644 --- a/code/game/machinery/turrets.dm +++ b/code/game/machinery/turrets.dm @@ -236,7 +236,6 @@ A = new /obj/item/projectile/beam/lasertag/bluetag(loc) if(6) A = new /obj/item/projectile/beam/lasertag/redtag(loc) - A.original = target use_power(500) else A = new /obj/item/projectile/energy/electrode( loc ) @@ -245,11 +244,12 @@ playsound(get_turf(src), 'sound/weapons/Laser.ogg', 60, 1) else playsound(get_turf(src), 'sound/weapons/Taser.ogg', 60, 1) + A.original = target A.current = T A.yo = U.y - T.y A.xo = U.x - T.x A.fire() - return + return A /obj/machinery/turret/proc/isDown() @@ -548,11 +548,11 @@ return playsound(get_turf(src), firing_sound, 60, 1) var/obj/item/projectile/A = new bullet_type(curloc) + A.original = target A.current = curloc A.yo = targloc.y - curloc.y A.xo = targloc.x - curloc.x - spawn(0) - A.process() + A.fire() return diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index a074e269350..82b3f7235d8 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -94,6 +94,9 @@ if("voxstart") raider_spawn += loc + if("ERT Director") + ertdirector += loc + landmarks_list += src return 1 diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index 29fec7bce86..6b9be0282e9 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -10,6 +10,7 @@ var/creator = null anchored = 1.0 var/precision = 1 // how close to the portal you will teleport. 0 = on the portal, 1 = adjacent + var/can_multitool_to_remove = 0 /obj/effect/portal/Bumped(mob/M as mob|obj) src.teleport(M) @@ -47,4 +48,8 @@ src.icon_state = "portal1" do_teleport(M, locate(rand(5, world.maxx - 5), rand(5, world.maxy -5), 3), 0) else - do_teleport(M, target, precision) ///You will appear adjacent to the beacon \ No newline at end of file + do_teleport(M, target, precision) ///You will appear adjacent to the beacon + +/obj/effect/portal/attackby(obj/item/A, mob/user) + if(istype(A, /obj/item/device/multitool) && can_multitool_to_remove) + qdel(src) \ No newline at end of file diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 0710464ecbc..69b5db12af9 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -287,6 +287,14 @@ icon_state = "com_headset_alt" item_state = "com_headset_alt" +/obj/item/device/radio/headset/centcom + name = "\proper centcom officer's bowman headset" + desc = "The headset of final authority. Protects ears from flashbangs." + flags = EARBANGPROTECT + icon_state = "com_headset_alt" + item_state = "com_headset_alt" + ks2type = /obj/item/device/encryptionkey/ert + /obj/item/device/radio/headset/heads/ai_integrated //No need to care about icons, it should be hidden inside the AI anyway. name = "\improper AI subspace transceiver" desc = "Integrated AI radio transceiver." diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 6907ea08671..6c0cf78de6e 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -531,11 +531,12 @@ obj/item/toy/cards/deck/MouseDrop(atom/over_object) if(!remove_item_from_storage(M)) M.unEquip(src) M.put_in_l_hand(src) - else if("r_hand") + to_chat(usr, "You pick up the deck.") + if("r_hand") if(!remove_item_from_storage(M)) M.unEquip(src) M.put_in_r_hand(src) - to_chat(usr, "You pick up the deck.") + to_chat(usr, "You pick up the deck.") else to_chat(usr, "You can't reach it from here.") diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index 67b52da31ec..4bac1168518 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -5,7 +5,7 @@ action_button_custom_type = /datum/action/item_action/hands_free origin_tech = "materials=2;biotech=3;programming=2" - var/activated = 1 //1 for implant types that can be activated, 0 for ones that are "always on" like loyalty implants + var/activated = 1 //1 for implant types that can be activated, 0 for ones that are "always on" like mindshield implants var/implanted = null var/mob/living/imp_in = null item_color = "b" diff --git a/code/game/objects/items/weapons/implants/implant_death_alarm.dm b/code/game/objects/items/weapons/implants/implant_death_alarm.dm index 58b9de4589a..2ef9e2ce35f 100644 --- a/code/game/objects/items/weapons/implants/implant_death_alarm.dm +++ b/code/game/objects/items/weapons/implants/implant_death_alarm.dm @@ -68,4 +68,4 @@ if(..()) processing_objects.Remove(src) return 1 - return 0 \ No newline at end of file + return 0 diff --git a/code/game/objects/items/weapons/implants/implant_explosive.dm b/code/game/objects/items/weapons/implants/implant_explosive.dm index c7e0fa67ef1..23d35d59995 100644 --- a/code/game/objects/items/weapons/implants/implant_explosive.dm +++ b/code/game/objects/items/weapons/implants/implant_explosive.dm @@ -125,4 +125,46 @@ /obj/item/weapon/implanter/explosive_macro/New() imp = new /obj/item/weapon/implant/explosive/macro(src) + ..() + + +// Dust implant, for CC officers. Prevents gear theft if they die. + +/obj/item/weapon/implant/dust + name = "duster implant" + desc = "An alarm which monitors host vital signs, transmitting a radio message and dusting the corpse on death." + +/obj/item/weapon/implant/dust/get_data() + var/dat = {"Implant Specifications:
+ Name: Ultraviolet Corp XX-13 Security Implant
+ Life: Activates upon death.
+ Important Notes: Vaporizes organic matter
+
+ Implant Details:
+ Function: Contains a compact, electrically activated heat source that turns its host to ash upon activation, or their death.
+ Special Features: Vaporizes
+ "} + return dat + +/obj/item/weapon/implant/dust/trigger(emote, mob/source) + if(emote == "deathgasp") + activate("death") + +/obj/item/weapon/implant/dust/activate(cause) + if(!cause || !imp_in || cause == "emp") + return 0 + if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your dusting implant? This will turn you to ash!", "Dusting Confirmation", "Yes", "No") != "Yes") + return 0 + to_chat(imp_in, "Your dusting implant activates!") + imp_in.visible_message("[imp_in] burns up in a flash!") + imp_in.dust() + +/obj/item/weapon/implant/dust/emp_act(severity) + return + +/obj/item/weapon/implanter/dust + name = "implanter (Dust-on-death)" + +/obj/item/weapon/implanter/dust/New() + imp = new /obj/item/weapon/implant/dust(src) ..() \ No newline at end of file diff --git a/code/game/objects/items/weapons/implants/implant_loyality.dm b/code/game/objects/items/weapons/implants/implant_mindshield.dm similarity index 84% rename from code/game/objects/items/weapons/implants/implant_loyality.dm rename to code/game/objects/items/weapons/implants/implant_mindshield.dm index 0c4b5c44648..a6efb21661f 100644 --- a/code/game/objects/items/weapons/implants/implant_loyality.dm +++ b/code/game/objects/items/weapons/implants/implant_mindshield.dm @@ -1,6 +1,6 @@ /obj/item/weapon/implant/loyalty - name = "loyalty implant" - desc = "Makes you loyal or such." + name = "mindshield implant" + desc = "Stops people messing with your mind." origin_tech = "materials=2;biotech=4;programming=4" activated = 0 @@ -8,7 +8,7 @@ var/dat = {"Implant Specifications:
Name: Nanotrasen Employee Management Implant
Life: Ten years.
- Important Notes: Personnel injected with this device tend to be much more loyal to the company.
+ Important Notes: Personnel injected with this device can better resist mental compulsions.

Implant Details:
Function: Contains a small pod of nanobots that manipulate the host's mental functions.
@@ -29,7 +29,7 @@ if(target.mind in ticker.mode.cult) to_chat(target, "You feel the corporate tendrils of Nanotrasen try to invade your mind!") else - to_chat(target, "You feel a surge of loyalty towards Nanotrasen.") + to_chat(target, "Your mind feels hardened - more resistant to brainwashing.") return 1 return 0 @@ -42,7 +42,7 @@ /obj/item/weapon/implanter/loyalty - name = "implanter (loyalty)" + name = "implanter (mindshield)" /obj/item/weapon/implanter/loyalty/New() imp = new /obj/item/weapon/implant/loyalty(src) @@ -51,8 +51,8 @@ /obj/item/weapon/implantcase/loyalty - name = "implant case - 'Loyalty'" - desc = "A glass case containing a loyalty implant." + name = "implant case - 'mindshield'" + desc = "A glass case containing a mindshield implant." /obj/item/weapon/implantcase/loyalty/New() imp = new /obj/item/weapon/implant/loyalty(src) diff --git a/code/game/objects/items/weapons/implants/implantchair.dm b/code/game/objects/items/weapons/implants/implantchair.dm index 0820cc097c9..35d98f179a2 100644 --- a/code/game/objects/items/weapons/implants/implantchair.dm +++ b/code/game/objects/items/weapons/implants/implantchair.dm @@ -1,8 +1,8 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 /obj/machinery/implantchair - name = "loyalty implanter" - desc = "Used to implant occupants with loyalty implants." + name = "mindshield implanter" + desc = "Used to implant occupants with mindshield implants." icon = 'icons/obj/machines/implantchair.dmi' icon_state = "implantchair" density = 1 diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index 2d7d3e0a956..2d98e0948dd 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -82,3 +82,9 @@ imp = new /obj/item/weapon/implant/traitor(src) ..() +/obj/item/weapon/implanter/death_alarm + name = "implanter (Death Alarm)" + +/obj/item/weapon/implanter/death_alarm/New() + imp = new /obj/item/weapon/implant/death_alarm(src) + ..() \ No newline at end of file diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index b580a024b91..6a7e0c15575 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -809,7 +809,7 @@ "} - + /obj/item/weapon/book/manual/security_space_law/black name = "Space Law - Limited Edition" desc = "A leather-bound, immaculately-written copy of JUSTICE." @@ -1483,7 +1483,7 @@
  • Attending Surgeon is to keep the Operating Room in an hygienic condition at all times, again, to prevent infection;
  • Attending Surgeon is to wash his/her hands between different patients, again, to prevent infection;
  • Attending Surgeon is to use either Anesthetics or Sedatives (for species that cannot breathe Anesthetics) during Surgical Procedures. Exception is made if the patient requests otherwise;
  • -
  • Attending Surgeon is not to remove any legal Implants (such as Loyalty or Tracking Implants) from the patient, unless requested by Security;
  • +
  • Attending Surgeon is not to remove any legal Implants (such as Mindshield or Tracking Implants) from the patient, unless requested by Security;
  • If a patient requests that a lost limb be replaced with an organic, rather than mechanical, substitute, said limb must be harvested from a compatible humanized Test Animal (such as Monkeys for Humans, or Farwas for Tajarans). Exception is made if the patient deliberately requests otherwise;
  • Attending Surgeon is not to bring any of the Surgical Tools outside of their respective Operating Room, and must in fact ensure the Operating Room maintains its proper inventory. This includes ensuring that the Anesthetics Equipment be kept inside the OR
  • @@ -2141,7 +2141,7 @@
  • Prisoner must then be borged, fired into space via mass driver, cremated, or placed in the morgue with a DNR Notice, at the discretion of the Magistrate, Captain or Head of Security.


  • - +

    Execution: Lethal Injection


    1. Prisoner must be bucklecuffed to the electric chair or bed.
    2. @@ -2150,7 +2150,7 @@
    3. Prisoner must then be borged, fired into space via mass driver, cremated, or placed in the morgue with a DNR Notice, at the discretion of the Magistrate, Captain or Head of Security.


    - +

    Execution: Firing Squad


    1. Prisoner must be brought to the Firing Range.
    2. @@ -2164,7 +2164,7 @@ "} - + /obj/item/weapon/book/manual/sop_general name = "Standard Operating Procedures" desc = "A set of guidelines aiming at the safe conduct of all station activities." @@ -2212,7 +2212,7 @@

      Code Green


      All clear.
      - Default operating level. No immediate or clear threat to the station. All departments may carry out work as normal. + Default operating level. No immediate or clear threat to the station. All departments may carry out work as normal. This alert level can be set at the Communications Console with a Captain level ID.
      All threats to the station have passed. All weapons need to be holstered and privacy laws are once again fully enforced.

      @@ -2230,10 +2230,10 @@ Crew:


      - +

      Code Blue


      There is a suspected threat.
      Raised alert level. Suspected threat to the station. Issued by Central Command, the Captain, or a Head of Staff vote. This alert level can be set at the Communications Console with a Captain level ID.
      @@ -2255,10 +2255,10 @@ Crew:


      - +

      Code Red


      There is a confirmed threat.
      Maximum alert level. Confirmed threat to the station or severe damage. Issued by Central Command, the Captain, or a Head of Staff vote. This alert level can only be set via the Keycard Authentication Devices in each Heads of Staff office and by swiping two Heads of Staff ID cards simultaneously.
      @@ -2279,12 +2279,12 @@ Crew:


      - +

      Code Gamma


      Extremely hostile threat onboard the station.
      GAMMA Security level has been set by Centcom.
      @@ -2306,21 +2306,21 @@ Crew:


      - +

      Hiring Policies




      - +

      Firing Policies




      - +

      Causes for Demotion and Dismissal




      - +

      Situational SoP


      The following situations have specific SoP. Failure to follow these may result in demotion/dismissal, or detaining by security if failure to follow them presents a significant risk.

      - +

      Evacuation




      - +

      Viral Outbreak Procedures


      Definition: A Viral Outbreak is defined as a situation where a Viral Pathogen has infected a significant portion of the crew (>10%)
        @@ -2376,7 +2376,7 @@
      1. Once the Viral Outbreak is over, all personnel are to return to regular duties.


      - +

      Evacuation




      - +

      Meteor Storm




      - +

      Singularity Containment Failure