From b814e36883a5544f85900ff74a714a57303d2659 Mon Sep 17 00:00:00 2001 From: AnturK Date: Mon, 17 Apr 2017 00:10:01 +0200 Subject: [PATCH 01/31] Fixes DVIEW runtimes in preferences. --- code/__HELPERS/unsorted.dm | 2 ++ code/game/machinery/dance_machine.dm | 1 + code/modules/lighting/lighting_source.dm | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 73b4c33620b..e2354221f4b 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1355,6 +1355,8 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) GLOB.dview_mob.see_invisible = invis_flags; \ for(type in view(range, GLOB.dview_mob)) +#define FOR_DVIEW_END GLOB.dview_mob.loc = null + //can a window be here, or is there a window blocking it? /proc/valid_window_location(turf/T, dir_to_check) if(!T) diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 0876e5c1f7b..685b97614ca 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -232,6 +232,7 @@ spotlights+=L continue continue + FOR_DVIEW_END /obj/machinery/disco/proc/hierofunk() for(var/i in 1 to 10) diff --git a/code/modules/lighting/lighting_source.dm b/code/modules/lighting/lighting_source.dm index 99b437fd333..1a11a36fc36 100644 --- a/code/modules/lighting/lighting_source.dm +++ b/code/modules/lighting/lighting_source.dm @@ -226,7 +226,7 @@ LAZYADD(T.affecting_lights, src) affecting_turfs += T - + FOR_DVIEW_END update_gen++ /datum/light_source/proc/remove_lum() @@ -267,6 +267,7 @@ C = thing corners[C] = 0 turfs += T + FOR_DVIEW_END var/list/L = turfs - affecting_turfs // New turfs, add us to the affecting lights of them. affecting_turfs += L From 5c6b32cbc38e0b8e57f1d6f55175b732ab7c2895 Mon Sep 17 00:00:00 2001 From: c0 Date: Mon, 17 Apr 2017 15:37:05 +0300 Subject: [PATCH 02/31] Refactors picture frames to use wall frames system --- code/__HELPERS/unsorted.dm | 3 +- code/game/machinery/buttons.dm | 3 +- code/game/machinery/firealarm.dm | 4 +- .../machinery/porta_turret/portable_turret.dm | 3 +- code/game/objects/items/apc_frame.dm | 6 +- .../items/stacks/sheets/sheet_types.dm | 2 +- code/game/objects/structures/extinguisher.dm | 3 +- .../mob/living/carbon/human/human_defense.dm | 4 +- code/modules/paperwork/photography.dm | 96 +++++++++--------- icons/obj/apc_repair.dmi | Bin 761 -> 0 bytes icons/obj/decals.dmi | Bin 22307 -> 22324 bytes icons/obj/items.dmi | Bin 59354 -> 59603 bytes icons/obj/wallframe.dmi | Bin 0 -> 761 bytes 13 files changed, 63 insertions(+), 61 deletions(-) delete mode 100644 icons/obj/apc_repair.dmi create mode 100644 icons/obj/wallframe.dmi diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 73b4c33620b..9c9477a8589 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -787,7 +787,8 @@ GLOBAL_LIST_INIT(WALLITEMS, typecacheof(list( /obj/machinery/newscaster, /obj/machinery/firealarm, /obj/structure/noticeboard, /obj/machinery/button, /obj/machinery/computer/security/telescreen, /obj/machinery/embedded_controller/radio/simple_vent_controller, /obj/item/weapon/storage/secure/safe, /obj/machinery/door_timer, /obj/machinery/flasher, /obj/machinery/keycard_auth, - /obj/structure/mirror, /obj/structure/fireaxecabinet, /obj/machinery/computer/security/telescreen/entertainment + /obj/structure/mirror, /obj/structure/fireaxecabinet, /obj/machinery/computer/security/telescreen/entertainment, + /obj/structure/sign/picture_frame ))) GLOBAL_LIST_INIT(WALLITEMS_EXTERNAL, typecacheof(list( diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 7e3a62382d0..f7a85070752 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -215,7 +215,6 @@ /obj/item/wallframe/button name = "button frame" desc = "Used for building buttons." - icon = 'icons/obj/apc_repair.dmi' - icon_state = "button_frame" + icon_state = "button" result_path = /obj/machinery/button materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 6cfb8449811..b5b0115c15d 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -1,10 +1,10 @@ /obj/item/weapon/electronics/firealarm name = "fire alarm electronics" - desc = "A circuit. It has a label on it, it says \"Can handle heat levels up to 40 degrees celsius!\"" + desc = "A fire alarm circuit. Can handle heat levels up to 40 degrees celsius." /obj/item/wallframe/firealarm name = "fire alarm frame" - desc = "Used for building Fire Alarms" + desc = "Used for building fire alarms" icon = 'icons/obj/monitors.dmi' icon_state = "fire_bitem" result_path = /obj/machinery/firealarm diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 6d4ee037d0d..d64e01e3de1 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -784,8 +784,7 @@ /obj/item/wallframe/turret_control name = "turret control frame" desc = "Used for building turret control panels" - icon = 'icons/obj/apc_repair.dmi' - icon_state = "apc_frame" + icon_state = "apc" result_path = /obj/machinery/turretid materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm index edc7d0f3fe8..b98e3c6e695 100644 --- a/code/game/objects/items/apc_frame.dm +++ b/code/game/objects/items/apc_frame.dm @@ -1,4 +1,5 @@ /obj/item/wallframe + icon = 'icons/obj/wallframe.dmi' materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT*2) flags = CONDUCT origin_tech = "materials=1;engineering=1" @@ -38,7 +39,7 @@ if(inverse) ndir = turn(ndir, 180) - var/obj/O = new result_path(get_turf(user), ndir, 1) + var/obj/O = new result_path(get_turf(user), ndir, TRUE) after_attach(O) qdel(src) @@ -71,8 +72,7 @@ /obj/item/wallframe/apc name = "\improper APC frame" desc = "Used for repairing or building APCs" - icon = 'icons/obj/apc_repair.dmi' - icon_state = "apc_frame" + icon_state = "apc" result_path = /obj/machinery/power/apc inverse = 1 diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index dbd2de2e75e..6ab9493f4f4 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -139,7 +139,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("book case", /obj/structure/bookcase, 4, time = 15, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying_rack, 10, time = 15, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("dog bed", /obj/structure/bed/dogbed, 10, time = 10, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("picture frame", /obj/item/weapon/picture_frame, 1, time = 10),\ + new/datum/stack_recipe("picture frame", /obj/item/wallframe/picture, 1, time = 10),\ new/datum/stack_recipe("display case chassis", /obj/structure/displaycase_chassis, 5, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("wooden buckler", /obj/item/weapon/shield/riot/buckler, 20, time = 40), \ new/datum/stack_recipe("apiary", /obj/structure/beebox, 40, time = 50),\ diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index ec979d0e92b..898114525ea 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -144,6 +144,5 @@ /obj/item/wallframe/extinguisher_cabinet name = "extinguisher cabinet frame" desc = "Used for building wall-mounted extinguisher cabinets." - icon = 'icons/obj/apc_repair.dmi' - icon_state = "extinguisher_frame" + icon_state = "extinguisher" result_path = /obj/structure/extinguisher_cabinet diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 133a11f8202..e68237363e5 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -682,10 +682,10 @@ status += "numb" if(status == "") status = "OK" - to_chat(src, "\t [status == "OK" ? "\blue" : "\red"] Your [LB.name] is [status].") + to_chat(src, " [status == "OK" ? "\blue" : "\red"] Your [LB.name] is [status].") for(var/obj/item/I in LB.embedded_objects) - to_chat(src, "\t There is \a [I] embedded in your [LB.name]!") + to_chat(src, " There is \a [I] embedded in your [LB.name]!") for(var/t in missing) to_chat(src, "Your [parse_zone(t)] is missing!") diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index b91e5b211a1..5fc9ee32da5 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -309,7 +309,7 @@ var/icon/small_img = icon(temp) var/icon/ic = icon('icons/obj/items.dmi',"photo") small_img.Scale(8, 8) - ic.Blend(small_img,ICON_OVERLAY, 10, 13) + ic.Blend(small_img,ICON_OVERLAY, 13, 13) P.icon = ic P.img = temp P.desc = mobs @@ -326,7 +326,7 @@ var/icon/small_img = icon(temp) var/icon/ic = icon('icons/obj/items.dmi',"photo") small_img.Scale(8, 8) - ic.Blend(small_img,ICON_OVERLAY, 10, 13) + ic.Blend(small_img,ICON_OVERLAY, 13, 13) var/icon = ic var/img = temp var/desc = mobs @@ -488,27 +488,28 @@ // Picture frames -/obj/item/weapon/picture_frame +/obj/item/wallframe/picture name = "picture frame" desc = "The perfect showcase for your favorite deathtrap memories." icon = 'icons/obj/decals.dmi' + materials = list() + flags = 0 icon_state = "frame-empty" + result_path = /obj/structure/sign/picture_frame var/obj/item/weapon/photo/displayed -/obj/item/weapon/picture_frame/attackby(obj/item/I, mob/user) +/obj/item/wallframe/picture/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/weapon/photo)) if(!displayed) - var/obj/item/weapon/photo/P = I - if(!user.transferItemToLoc(P, src)) + if(!user.transferItemToLoc(I, src)) return - displayed = P + displayed = I update_icon() else to_chat(user, "\The [src] already contains a photo.") - ..() -/obj/item/weapon/picture_frame/attack_hand(mob/user) +/obj/item/wallframe/picture/attack_hand(mob/user) if(user.get_inactive_held_item() != src) ..() return @@ -519,37 +520,31 @@ displayed = null update_icon() -/obj/item/weapon/picture_frame/attack_self(mob/user) +/obj/item/wallframe/picture/attack_self(mob/user) user.examinate(src) -/obj/item/weapon/picture_frame/examine(mob/user) +/obj/item/wallframe/picture/examine(mob/user) if(user.is_holding(src) && displayed) displayed.show(user) else ..() -/obj/item/weapon/picture_frame/update_icon() +/obj/item/wallframe/picture/update_icon() cut_overlays() if(displayed) add_overlay(getFlatIcon(displayed)) - else - icon_state = initial(icon_state) + add_overlay("frame-overlay") -/obj/item/weapon/picture_frame/afterattack(atom/target, mob/user, proximity) - var/turf/T = target - if(!iswallturf(T)) - return - user.visible_message("[user] fastens [src] to [T].", \ - "You attach the sign to [T].") - playsound(T, 'sound/items/Deconstruct.ogg', 50, 1) - var/obj/structure/sign/picture_frame/PF = new /obj/structure/sign/picture_frame(T) +/obj/item/wallframe/picture/after_attach(obj/O) + ..() + var/obj/structure/sign/picture_frame/PF = O PF.copy_overlays(src) if(displayed) PF.framed = displayed if(contents.len) var/obj/item/I = pick(contents) I.forceMove(PF) - qdel(src) + /obj/structure/sign/picture_frame name = "picture frame" @@ -558,35 +553,33 @@ icon_state = "frame-empty" var/obj/item/weapon/photo/framed +/obj/structure/sign/picture_frame/New(loc, dir, building) + ..() + if(dir) + src.setDir(dir) + if(building) + pixel_x = (dir & 3)? 0 : (dir == 4 ? -30 : 30) + pixel_y = (dir & 3)? (dir ==1 ? -30 : 30) : 0 + /obj/structure/sign/picture_frame/examine(mob/user) if(in_range(src, user) && framed) framed.show(user) else ..() -/obj/structure/sign/picture_frame/attackby(obj/item/O, mob/user, params) - if(istype(O, /obj/item/weapon/screwdriver)) - user.visible_message("[user] starts removing [src]...", \ - "You start unfastening [src].") - playsound(src, O.usesound, 50, 1) - if(!do_after(user, 30*O.toolspeed, target = src)) - return - playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) - user.visible_message("[user] unfastens [src].", \ - "You unfasten [src].") - var/obj/item/weapon/picture_frame/F = new /obj/item/weapon/picture_frame(get_turf(user)) - if(framed) - F.displayed = framed - framed = null - if(contents.len) - var/obj/item/I = pick(contents) - I.forceMove(F) - F.update_icon() - qdel(src) +/obj/structure/sign/picture_frame/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/weapon/screwdriver) || istype(I, /obj/item/weapon/wrench)) + to_chat(user, "You start unsecuring [name]...") + playsound(loc, I.usesound, 50, 1) + if(do_after(user, 30*I.toolspeed, target = src)) + playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1) + to_chat(user, "You unsecure [name].") + deconstruct() + return - else if(istype(O, /obj/item/weapon/photo)) + else if(istype(I, /obj/item/weapon/photo)) if(!framed) - var/obj/item/weapon/photo/P = O + var/obj/item/weapon/photo/P = I if(!user.transferItemToLoc(P, src)) return framed = P @@ -604,5 +597,16 @@ cut_overlays() if(framed) add_overlay(getFlatIcon(framed)) - else - icon_state = initial(icon_state) \ No newline at end of file + add_overlay("frame-overlay") + +/obj/structure/sign/picture_frame/deconstruct(disassembled = TRUE) + if(!(flags & NODECONSTRUCT)) + var/obj/item/wallframe/picture/F = new /obj/item/wallframe/picture(loc) + if(framed) + F.displayed = framed + framed = null + if(contents.len) + var/obj/item/I = pick(contents) + I.forceMove(F) + F.update_icon() + qdel(src) diff --git a/icons/obj/apc_repair.dmi b/icons/obj/apc_repair.dmi deleted file mode 100644 index 220a267fe7acb926bbc3eb7ff115eb33e771ef21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 761 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 delta 3110 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 AEdT%j diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index aee283625edc3163b26fe0f3af87bdcfb234d897..bffa20e6aabb3cbe08e0dbdc8ffc169157842299 100644 GIT binary patch delta 40843 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�WnA$=6gH%qi{WS2k;rwjF57}He@geXS_Cyk-c?YdjEg`Em2r~Wu zBU06q$H5@ogLNw)Tlu+=_u%|!11G9de*BwUq51!Zv9AuR>goPHG)lKfgER<8N*y|- zrMo*6L?q6pK~Pday1P@QB}AkfL0ai<4jj(ieB=GS&vWl{@8#i-y=Tvv*|TQFXRTQ? z`!W#;pb%89n6tyy`eLz`ON+Bsqd2Ru3BO)|n~WN2s_lQ)*$$=&MysU@H4>Rt z*{JG`#&G%$ou=p{3Ju~3eOF0WIw^^uUaOVFlaUQxkNLSq8(Z5($CFMpf(G`)J)qT$ zhgCgeGZ}HR0Pa4oIiJ3qPx=^Z%i(%el#m$?RIXPh$ZzF=^egn`%|+fjg(BV&Q3|==859+F#BskjjP9N~oein;^b7HW1$-1MNBN4;zjk-ya(mBv zgoMS?@9y_~E%$!9Yq+dg0v!^y?;{Z4Bii$Ml6j>)MRBq}vbS;dB*N7jWO3leE5EiZ z{Xmk}1;yJ>2-fj!lJ|9Aw`!LUAbv_M?92r=>m+FmL$mt=Q-bt|p&b)_=|c+x#1g>9 zl?Pu9`Y=-UW^dbpbS&js$wpI@s;Co@tHINyVT2yM!*^Q*Gq*lskgWD2QS8y0oO2Qt-bZJ#q* z4-aiUu07R%YScFHgy|okV6ocDJ9WqsT+Wn6d5HQQVbo}2|0&Gv?)@3ju^jC=GCh~k zwvQ8|0N6YheFoV#A{_O6(%v&A7{RWAUQ=F96d>o3q#8dXuI z&f;hTRSg5Tfn!9{(2ts5Hbgucvy0<0D%#GU0L9Oe%gfeQwonr~kJjCY9kiGfghxQ< zQ5{_sm{WZ|Pqti6CjShBmi&Fx!U4+6%wFG42w(QDB4(JnKp?aF7b4H-9EU2=$<4gw zk|jr$R{rU#Ki3=CBT`6jS6A*)J@mrMeqV{)AB?uHT}H#%uO#}iM@7+V7_+-z?)oBHkH?Ms@u z4zYbCNsn?o&d&lma%IM9o2n14@yMcL8Uq5B+)FgQD)x4+VX|R)OpQxbkPg<+V;p&+ z4o%Xd0%+xuGGX6?~b9Xr+?0I*W^-pI7( za=-mGQ!bm?hc46TJP95Zf1mv?8_VnIKXG;g_P+!+r@OZs&YLxRIS%eF4GtX=i!0vj zshSZ7e_Ha3MVb`TW3o+7{-V`H#!`%@ZrAcU|KxJwZWJf)cD}ku6WsoGx-~~w4veE= zU4pmb)Uqv^4CFH0^>Jd1P~o@C?guMJP(=js9HG000Z-G{euJ;`wNn4@i}-O%Z1_qJ z*EpUSexJmc)5jg@+jFMI7GHB^nr=lKr-OhA*PELk%9EB1Bm}RTf!OD*Y|M)(56RXC zQ<>I>GpWuz6+|f&H0BBVFqQ&Re*H3uS~@b63R=-w`{ur~`0tN9hp*YgmG z#W)#i+3T;g?rcZzfkK2utni1+Z{x67Q&7S6-vD)~QwqTGcx0k3pBTcX4^ zGfUpIANgPQKmB0t&!;l+1|zeD=?*Hz*BtsjrF(gO!q}JAt}Cqbreg2Wqhih@(&=GB zXCm(}CUZ?@p=X=D`b(1J=V$%;Mqku#tX$2r{h5z?$J!;Y0F^w7yYMorxpIv6*sU^m zC+h&}eQ-O^i~2^lh33ycMJe}Q%h}r6rnB>L`gLAoJjh5<*mV4vuc4UuHDjwsJG4@d z^Kpu*UyTY8z5?>F(WvsXMAm*9zBBZB$!=HpZCCo)|YcXXC~s8zdb=Sin$otn~ANY6C8DSv3OIVNs1w_^+1y^Fh4*x_9=J) z`M|GVVa?Fxhfl4kfJehY%(b0gCvl))Ztw0^)Uu+{eY@qpM7Zo7d6Cu(DJ(4f5yv1q z*VCHM-~`^#z_PNM=%VK4jF>q&RYTJN>_;Uujg5^_d2D&0cdj}!OGE&LmmEj4W)VUV z?X}U|#!U`?`1m#zwMdJerFMZSrn-R_BbUne_2`(vV&-^3rVZ_I6`zwUt0U7d)cpuCb+nL^QBA6>UwBG{sdfiAJPP zWVQ56d=_txn*Gnj8EcCi&Mu>reXhzcy$7 z&o<3)2FeEy8dS~9%u_k=oCWsFBo}i`I*O7O#`HY?QWn+gZd<<$cS`eo*-&S{_ks1e^H*0VRC3=0>mL(=+nWLB>yDef zlj7e2g5q~+f$!_;o-p(9XiRcAf)011rc`hvg`_!C)X%8HNh@_Fl=@)EvyX&TMjr|U zNMlJ>__cNhdRV1ULVIPJT0|L-;?F|{BH$EqrI1ioxzqtFO>cUB{@-6(POg~bYaiY9 z>@|4T^HS^aeMtE4@&O=7(r3y41xHlP7}i~~pp>CuYH)8jI|HSsHp}{lXa2)>nq1hu z!R!q8PT=QFtz355|8V)eNp@$uA%#{)2FyC0^IYSF75UGv7{DLY66} zcbH^u!aS`@5p-s+KepeyXY^(%6n($tOB97ZenHos+Xil?)Wwyt%T>c80!I?3EVqEj zt?7u#n)+9d@PQdK7r#%d&uHIC4rzK{qQy@g4H4Bv&R!3KvqUX}A+t5E>3K`B z4bS#plYu)lJ6QL!YcItw#c8=5+m7ZmERZW?`E3?Q<)z+DE_vzTr@wPWKbKYgH~ z?(y2mXo5Jd=Cx0d&?;vt__|3<*^_c2W1_^6mR%;d#hJ4mUI$t0{LINo(wCku1y*Pz zU9elc5B66$omFe}Z};l}Eb&;zZ8UWa)d^aMEl0;kb1oto!}tT+R1fox8E~(|5m^lY z3!}dzK(7Tr!bY9h!=t%nsox!{q13^{2uhUM|mUN)Z1)d|)i zi^1pZ7=O}eg2Z}fR50f)?Bd#5i|b~&ta~rY2_!qr%aang$>CW<$2n=&nr3dvfx+4i zQ5kymiMhJ!Bmy0!ek1ydpUjv%HHEZZS0@2{$g%lZhvM4W4=df_kcZulL2PEQS#DEaB#&zo^pml#;-b+bCX@qYWhYw+{+W-rTz-CW9+&jYKl{!u z2xNRPBuPnAXe`yfJtD0!&}^k`rR7lxro=e>V*2qJIcZ|5FibzH-}c*wWx#s9Vz_d& z;1jajnIq`Cgc19%4nLmafpe6-uWVt@qYh3~b>;-Jp!4{hDl>_$q4Oh-2-DW}A6qi_ zt6^d+O*fRI+LI9Py~TxZExXFJt?um~-yD5`R2VeIfaB3L)Rni+msmDp8V;U@-cVb@ z#(w-2#xU*h2HzZ6P!9mwN575^JJJqzX_6vF1y8si*__JyEMRBjBr>Crcx(=k;ih>r zTgZHFyKH?-8cil2BnvKcFTa@y>_cPWoLNi_VQ0WFSEY$z%B+XJ4oa~B=(5dx++E$) zdHVYqV&h-cAtdz6`-C@sYfdZM&!&mt>SU(PGDlD;AJOnx$pPu-BRt%ew=ON~_hidG z5}kWr{4O6hl_CtmA|Qv%6hW~&C+62NZlFtImTw_G#kVOCYH=UlDk}ls-`_vtRR3PE zMe2#(-#dQMrO`={8>1LY>dFU%%1?oZa`z+!5#egq0T; z5enOBbAcx($2}uVW;_ZC3ePW!g{6&L9TceOXExv!r+{@#_5$OQuV};l(-x=?{*o^| z{c@im3+H3~J(i4wEVQo&1mQu}ou9$r%`_UsXsKFp3qcjs@EkiIl^(lu^TBsEk25(M z6+IZab-o$4hg2sU?>fI1{>!yO{|y59sB7~pu}`0~CnMAG9EuAzED9JsNOa3y-g=$= zj2i(&>w!l-p(v3G8Djz7<43-1+}z9{7=Q$}osFy^O-F-SDLUjz?m@p?GS|I0C%N3f zDa^S}N=_ygQ@i|zrC8%8{gl?!PaL%gBSpP%(V(a+FC+3jPtZi7ZXQ!k15k=S^ z7bgpZJFY4#8LmyZ*ois@2EX$P-q#xM_*BSjlMN84sJc#>GfzOB>TeZZZzfK**F7;l zql@3_u&looO1-7UIU|c#$YqhwOgkgwHN7ur!>=|=0Huz3PIy45q|$6aw-X3~VjJDo z5ikopd9S-C-G<^8wIU=#T;kW+<3+bOrYTmIUY&B^dZ~h)=*SvoP z^Zt04&&hcYGRXD4`+VU#Oi%xPrEJi?^1<8I#P{NBMlw~e&+=ww*qSt6`-p#h!mQ|m zlbqKd=$Mo}>Ccn=A#_*vQ&_b6JH{E11ONuzhvaauIz(m zKtn-|T*ex&qrdD6v@j=vV(&L!Fqj~gV;vAXbXv##ucVwrc|{-7?kK4R1>yoy4azl&Uw+7qr& zgRl*py7adG?}f?j04oQ@VEfEdZ9}X-j{o= zaj#}%7z^x!3Ty&_cfKoB59NKmA7bCIl^VvL6A#2SP$1cLP~ z+;_R{XMu6{uo822C=>Nd9ZXbyE6P;#kRssf6bv9Ci}_V$B+Z+>ly@VU|I7{zg^%+T z*Vps+JU0(`jox{{e1MiA`ijG-w17Fy+xE-V_!<+UsOl{sQn0RCp0n|(De9o~o^jZu zza!ac8%R$-aKH?L=0+H8Wrgzo8fvo~e^nH2UihC!h{$>F_F@(nGVPN>-O>49ZbuS= zmgIK>?%^G}SrAqvSYBy3Bf9VtaSc$KYEb&DZftoN3y(`k#&{P4Ib@O$!vpB^J#7BS zDvgBJH6rzDigZah}4ig7n zqDMbCtCy4X&Ax(rPkUX#1-2B{T^l_kkeXLJdM^O`&^NXDg_SJ?<0YRe#b6PL zF$P)Pq@*06ak!$;ru{=R0#HQXQoRk3Lo<7Bs2p`4hpZz%yn>X7f{ffs%hq;MxWEHG z8JEOpC3ad0CU^9BZ|cbEMMdt77T?vH&(**)WM>poHGhjE7OOVL@~}XyZIdn2HWiM+6F7fJ6XOXJG!HpZ=L5D3EfENQYV2H!a zX9WWcmOT?#UEJ9i^FxRS1|B^&Zo=hhJw$bKcGfaBj@CDOgCQt5-PqsmU7=;+*gQZn zB-{UPlkUl89FSZ0^L6;CL5xjT6<&FN77w(*soiLF8k5UeKT)x3eA~X!I#2r6_*lun z2;maZE>4`R2c6I5i485B8u8v7V6t>PtEYkg{Wz@s1J0FuBF0E{Pq!E=aIwCLvb=?M z`8bP-!kadPQg<9D%lw{rfK-JUOvF`!aT~e(6fl{6!{yT0$nx!*)c6wyY*h5szPQ(f zKewJj&@bC$mHNL21C!Bp*SEC#8f{Fp>)%uFBQ-(o>qYNc$DSIbO;xiMe>iJ!+F{9y z026#{z<_B{U%y$Q%1dwRiH;mQ% zI5IlxxDMH1DJ#Ish+b9-2_(g)1fB-Q1@FG2mV#h21jXnF6Gjr#IDRg-V??F!XHrsD zMx&&|qMT@t40@;_sv|#v63r+w?lD`eSy&z4-M*2h0u?k;QB@s~(>*~;HE8jtoqn7h zQAvP4x0I>QYGk8kalFLab!RLB`ah}WFVDmX-aihgu#$C5TlLG=JlQ)0e0tbEo*N7w zIDb8>T8v9EloMDcprQ)n3uBd@J1?K!7ZVb)Q(=7|81UDfbEBl|wXX9;qfvGfqO9@S z2s~i`HZ>PeIbH19;k4Iow>1!-mL>k2PesbQZS+WI@Q2LC!s_T0hm`Bn-(L&EDW)WDd1buX_7x5NXA zJ>Ex7b*IdNYcr(ZuIDVfMm{IUk$rT6a^s6RAviNoRcKq zystPJ`r6-;Fy*mn+G#?%`+6Kz2*nbA2F%E|V*1|B)N940wgQiTa|t|vrX!(Yp~Y|I z2Qi_0p=4@jCxgM_FJkQJEox3No;_$7TbhY(=$<%%{^Ax#b}w|5_bqgtRhf0On0!J; z)>Ok*rS*1BlV4rOV$Z|Q6)mSv{asA8?3BdvP)2xoSW8Pwt&+0DS9PB(eO<9EC@Qjo zy?HaKA@efeO;5Q^yWaKyz+}dJ(x`1td&H4iodiFQ)bIDNoJ>({Rati~Y9~HsfOh_l z)UOq;yT|1N`&00uQ*YbeMvT6oK>9E?+tVO=u<>4K>2ShjhQ4zCznyFrU ze{RdmX#C!QZcBJvU13Q@NvCiYuItA0=-}7QPD3 zO~KSt72GCXQFgCIsDfoY<>opvnr{#sxnpTiyAimu`n~`DDem*MdpOv?Zv5M&E)Zk2 zd?qe#G22^8YUYkCT!7eFl3iDw&fWEYU2>kv#;J8mzc*lC6>xrb7bDhL?yt z-5QqJSF?PTlqan^GW7ka?O=2I&24eO8sFj@!eD^4S_eDyF@ZydM#U^>#pf3hci4m!~zjx#I=Y+GYd8_*GOU;Eq9( zyr{q+DR|oq6u*Ty;RC2_;{LRS=c)qIc1PmfTg90*U^Z5-Qd3P0Azi>JQJ@rQtEbNL z%I~W-m{0Ij(Zw&%SOX03m|;!O{^%5|Z^Z0J0hYz( z;R5f}QyaG9%f0bRD@q8V$m^X_ezxkegj{Evj4Va{!%Mn_Rquc&S&VH&^jg>?jwsSPXz;?3RPw)=S9uVWkL= zrDQljynm_KMo3*szZTT$U0@&h?hRUeZ5*n!Qn$#9K#{xy>W~~sc~?6wIE`(F2)*Ix zci!f?O}4L3pXRG|w4&+S+p~hleTdT%fd9inn4;!y#Di#&>cxPkwpi_CXX9#_sqB8G zSup1iH-tXzFynYUr~k1$bD+EUmk`aw!f@^db9kGU1A$GYY=D`>K6z6W8`GUWi}jyy z$z+B5y|NDjHQDz&dMONvj!wn>nsJMgO%EJ3n0P(8)YM)Mkfg(mh#)gRUB`li z$jTPU(U}0*JN1(k@u?plyfSiVZx~8F_thIOc5OdpW;Qy(fUL64UQXh+o@is;prRbb zVyt_UQxitgDUCoVDT9GQEL1G&QhaLPEe@doTTE=e4V2BdBW8U(1cTV~461WS+esn( zhdkL^yz=RnZ$E#lHj3a<$yu9vg)7(=F?bqPGC>Dap-mOtWU_f9@AvMTzvXd_X~eqS-&XSyYymsq*sYPk|orIu7v#pU;} z1`hh(rM*gv-5KHx>$rhE*VVJKCzTC-Csm$bII3={;$RjNr@#P_ar1JzPJ0;O5l}T^ zkWK6gBvqOHc5PE3aZ~EU)){m{qx~{QZ(X&&xp#9lt)Y%fJu+Pz6^>koP|j(cEEtJrUS_2F|4t7tTlTwXOy4}9BL!yA zl1at_H&Rj(Gj?4@*&eZqQGv(NfKpX9uh91`E-~}{)t^5-?}VhPM$QbkRBO9Ex``Ye zCJN3S63HVUT;QQO{=6Ja{8NJLaJxb1+oP;WV&6&$*2iVtd$KNz*iXOQ?MV81u!BV% z&f%`huCCgB{+{-xwF-OQlx9`P!V362wvXiMj2S`4o%>E4>h$h9e5Kp~we%iZ!XM0Z z)B(Kl18ROxK1ruV5wAuzy>^zGpPY2cY9G_M0trcqrY6zQWWNs$kwZt=dGM&N!a^Qf zd0eUFWMc`AfARd$rQXb7dIJf(j3e9ms<#UZR zkyW7m+T3R!B%;kHIZkjev?*$?9RGN*W??EQyWRAiz|w=P%ZSI2&Jmax8s!`GSP3tF zi*`&33(b(Cr5E}^4qXsAreql4{ej%N6-i^AaDagwk8WcnhAz?B8?G^rj zTW|xMc~BxS2zj>xgQy}NeiW#i4)#LIDk7<;o<0am^BAftWLW1s2qmkf5Qyluj2>qs z7{4bCnXO}aVb{+X{J~2kSR(fVvE+?yoeyq#p^#P@f*kqrty6^`z=6Kx3>-mAzEwo` zGw|{3{(U(ky^qzTX)qIl!J9|IR(%!h$wfcpQBY)cxs9Rf{<7X~h!H|BXyw!j;o>)s5b)Kwe_VzaW(a!ot3c3OjU^$Dt8n%nN^7?jn7!D8WFP@|-Cf&`*s z<*FKY=b8?1M#wSl;~I!AJfNY|15G2S^l-(L#1`YAmg=bq`Hs9_#`dpki$>CHG@#Bt zx18PZ+dd=c81L&Yz4Tnq_v3%Eh%vU_J@(xAV7Z_1~+smnZ_IeqyvDY z2Q{6&c7Wh(bxK;3Gv%ZDtSPA z%8$+Q^!FZW>jQv64yUrC#4s^hGRtVdUXc&O=9kDWX`HY9I>lq7vku!(bEC#5VB=t$ zj($|y3%5+c{@l+XL}Iy0vH5+&nL0&&%!JAC{w!q0#E21{g*n(u)&X#oLwB$I#Qg1# zs3_$V8|SYH9GiaQe#?sVM|xU!(D{`-<<=0VAaItg;VuadD%9lWqTu2qbMD&>;Ir{8 zsJD;k${ORSBp&OXCQ2X;i?bUg!(Ls*hWoT5d!u0@yWfGQ5>WV4A&8F*p%M+lZdp$D z3vPy)7GK$iza6jf+G>V+%BVta9JhS+d9q$`*EVwOU(xN8KYU2F;&6*|d~GB^_j>I& zAm$-}WZq6EP(|2`0MlFcl>{|BNCl-2*XFI81GQqvY(n(oQ2Mw+ND~nw*VLQV(zQUx zRdb1b{0ahgN`3`D#p>4QIKD3h_uU zk~(;BjqJbk7}33bvvC1!f*&O#iyj_=&K%*Kff~{&z-Sci%P{2 zbIWmXW4l?U+yKyKWCxP4UH59_0B|{5<3kqej+~yT0t&bvy?eMHtRS}`#Z(&qUI}bKm3dRdJr3`vRQLZJQ ziZ%ti%{XlP?E zPo=YsPOgnS+RBB0_om?$Iz}BB@;Ungu>4K<;sE+-T8Oc^+73+DhC1$-lN%+X765&h$1S^ zh6Vu`(z={(;HvtQk)atk&AnO@Jpt3EJs0%Y8Fk)cd`!EF%>J?y6z6~0RfCTod4-6r zgjK8~X{G6}g>N#qZ-!OuoWBPK%^qN8;dV=%#zkUg{L{gih4`)o zN!1!p4Cx!VA4Iy$zU0b`4DseJ2Dci1$|PZc{E%faczvCc=VO9cPcPwlmS(tIe8#gV)@j>p@9&@T}7(Jc0aXW zRH|B7iME4wGHz)Gu)5YvRH|u5G1S8NSn)Rz-gh?Na1vEtbQny{L>pf52re-eljx@z zkIqhpf*2tMN_f2mguP)z?Ze|x7>(%Ojz2azDw81wh^tVcnA*3`Ww z9nl90U;M9{#;O>b{+FTSINf(D(sHLCdnSD9PW#_!=~dMMXd0jgy9(3Y z2G@My>JR#s?DE*;IXW}OrGGWj4+pPD+0sbqWM(;)Z@qP-%-mOvLDw5d^jE!7J>x%q&Q?e|ba zrHEIf+cJ=*h0u!e|MUl1mqucDu)oPzO#Wj!><65J<4P>$HnZ_c?^~l^Y@gE+z4JyR zu$k?d@Buo+Y*HIM`oMOfy32e#zmCrWp^1bs~^HvbjX`#Z<(AACBHKTGL!(Qp2-{$L*U zA*f)BQCj69rLyhr+C&H2G@px+%QiB+tp?-fiFs&>M+pjhp#AZxFt?q%>Gapnv zO7bnRk$hBc+&&&z>m8(83;$)XGhdji0M1||jO%yD!~T~@eq$(0ao*(otA$-a(ivf} z&MXr;fn8v@!)J#lKdTT~LmCv!gB*^D{%=DKv>bz$dY6d<&CF@qP-%4H)dFavYrFgn zw|Blq-OL1^vXGW~M*Wl}DiCG>bzaZi(-Y;7|7GjT?`-|`Sj`Ws*zDB$Xo!*5xYO+1?NrBLATn4H zY*$(hU~rz8b2iL51EDMUdie4=dma^{mNoy;qk)2Vfa!dDN64a46sVtPfb5yhR61bU zmAcCf410^T8R_B4TP$3KB>l^a#Rf@tZ=c=%7;SxF`R8_@%x(QXoQIk6cH?Ej-$1tg z&Yjrz1jVi%kTLh9s!7Hb8kb+#4&O4^J~ zCkWC6p$nsl7JRSES_x;{%HHb!RbLYwc2XPr4~V6!e)Iz|qK=5v9aYfxxA>wR298?0 z1(rGcKI>en!CBIQ|7>p<=^+ac84Pk$;kSAI{uc7@2xicBj;j^K!AYGaph9VJnu)`Y z#R4%@73+iizSOW&8OvISdP8`{vAH9gOvQpfB*z;e`s;eNgEiwnO@Ja)tkyjMPP&kVqs#SPHAGS>$Tz%Q|Mfl)6=(3za|i#Gdd zf;W2q(chJz{*I5Fxz1jITQV(!Mp`!Hd*P1b9OauIrR7krJLs{u?wl-Hep4*Wpcnl{ zG5Ab2YwBN31ttE=j-1`v7sFupYLyVSZMDVfu&Jm8```>kY(%C)m34R2L1~AEG_Uy^{MDIwSdghZ!qL|lR zt9OqSnFOOL5^q|?AyRe}_i6@`b=}dwEQdp&LOT-^lTSk~3YgUb0aN@)z}h=8 zc57AleXrMB7+H=t+)e+it={!veGgoi-eu>MWeFszrdW`WP*PJKLx{c5#b^sSF$F@0 zfrl~pu@UKD++fAynXQ&Bv$C3+yt*EF)0YKEplNR}+eab1wtxVUH~Sfnmug$@&w&dB zANjOI1ee5)br{>DGSt=LU*=irnR$XS#j`JxGuiKEHqaor_ypGaFZdui7IOk#7pIX^ zW4<*4s6x)|+D=8fC;OBB&$}bMSUy7Tu_WP z-1!qf_p+``lthI`(7GwDyprZw%A++f#-`{l$fgkN0(A;XMF0*}aZqK#Fp= zfYG=!liR&^&roA*6P`9Nyd+-`uA*iz0Pgp(_>$VLwZtW^ZLID@_mT4aGyL^D=_g}K znhwbTI3I))LcKIT)i};U^Y^>Q$|GJ_$Va`0S8HU$b}Q4uI6(l!=Wj0DMsW%n5qU^E zh`%hnBzgfQ&BP>yZac+Rfgefk(KhW6&Fju*lO6Mzg=<4XD;8g|0>g}(n?q-cH9B0^ z5B?@GOnei`goYSm9l22OY%SFt1)azY%tK-ZR6+xm^4ik==O=}uPImC9=Yo}3P7P0W z?#q~w9(>oFrI3gD@1gOlRp!A0;HUFni`#&^){8Kq8iG3);M8s0k;pj0k*MaEKf4{} zLFM9$U-5Jg>zERAQ)1QrutP)H6)3FTgjWiaRr{!G&wYnydN8BZ^IqrL z3!Vs4IdwTr4UMH$lR7@)wCzm4A6v|M^L2QutRp@?mFDb=vIvjgwwU{RtS9gf&wPqe z)*bcQj7v5f02SO@({-`+Jru&9CR-O?0MjU&{w*pbwiri!@4DO~bd8vV|yk zif8aX&EId$S}uv2IeeUd6-0=Z95bJ(V;1FCp0Z2)x2 z>=B7jw|~%EHsG#hd){U|tOdpXjP&Z%CB@GD7_2)+38=~*gx|Tu$yJXnRrOPr=W6CW zIMKf9rbj7a3u7+vOP(u8_WR z3NCucp@7FP2ZCK?aPgLfx|D>RCa_hJ@H5$W$@wI}oYi-4BSAO*Hujicia ziKJV>Bd5xmxl)U;oeu6{Ve3nZe`mFwy7a2dAHe;}*KY(& zOqQ}GJu^6nV`2V{`Ru*^fDjX=|Iz|_)_mdyn`65)uXVHe#KEu4mpT65Y#cY9Ll=<- zkq({z=u#Uyo5*>$i}TglQk`HU1{{5hGob5EV{O3u%XnB5u2jw^Y`cm^Ft`OR>x=RV zFe_~8UKU(G5VUAyyFkQZnBMi3c#^Epw}ShTyZ~I%#r1k+c^ixYLB)YyoS#XT#*Lxk zNO3hZbUKMzk_C8qTdjA64W1Tzc{9f5-e%GgP)C#VO;jKH@P60qm|K&^k_8Z0qM{ye zj;!q9jWjeO1DeQ{b8l+ny3o|ywY@!&PEBP0xp%8=eLE@07LP<0Y~)S~HA!IQc9yV$ zH+gH|&UyOQqaV2nE|Y;tpU3`;+IFtM6r)jIo3w=g+M3`SoeE2Mb22(VgH77E= z)zy*IR1zFX%@giaVFC&s6RFqCYO$IBCKJTgG8jIGZdA39p0%W>k)D-akw1T)vv+e< za)#i5OOgdRwQrG;ZSqTZR2Rr;K@qF+@&SNTd;8VN3i7bK{x1& zQ=YQTl#)%I6W2^Aojl7XplMWA(vefErInp_5cWf5P~!DtCqzC6{Gt@B6wpyetom$p zNnfw11Zg1~k|!y+B&(}y@aEiQ67F8I>8?Fiyx#Ju?Ea40=u&=se%+gaSKdaY-u? z?t?@}N!k2%Z?6_#3xfd#w5^!2nrd>5aI3R=y;ey&h=qsGgUXc0xi*X9M=deVGnxW^ zLV;4!d;44W_*@{H`&-iet#5$u{Xe3NI$BEaVUUrnz7El^X8enQTj%>(w4~3Uf6O~@ zc9Ln9TY7QEal-+Jy@fR^!?!4Sx`cuDOH(svPPmE+>DgbkL3R|D?^s@y_fkEzZ)(a@ zlkZT=TXIc+_4h_QByEnkyY|YHA)<*9dWokL0z#`YwuP4q0GR7{nbYuGE8Fd0f9oqq zSDn)XXP2I9;yY#(Da!+%=ONpb;RHeg%bL1LmkSD?sIGtf_@_(iva%=gfQ~HMxymWs zitQ%bZ#_o<`Mi3d1;L;F^vJ-_X8e&^}aZ@IQdz>dJf7Ui2Evhty2Jn z_E;f-$i8r~;RFr`b~~@G1ex;uZlb-1orUT={9Y3&-4jD`Q@HpIT~` z!*%P06g@Ej!rPXp==ijRJfDm|nAGk!mq1ed1(aNK`;-G#&D=co@}{G0ImUo(Jtg9? zDI0fOgX!m%Vl0p-hj4!na#D0rbqq@Chh4pPYvqr_CW`mEDo!0+csT>+9uKNyH{sNe z7w-Z8hcd9Jl-($|qogiDv%Yxm$K-A|WzDIG(;~)1k)@3dx>-D2c3i}-2_k2O& zlu{F+b^t6gFW%8IzZJ=g|=zjYyiKL?s z4Gd)A8xt4agjEJN+w?XxSEuEMI|!i}YDK`NtjMuGq1) z`$cN9UmF~KKDW_8KHu~7A|m*s;izs@uXNWTz)%dy5 zL6w&Y%#60#&$p*^{H1~dBdtC2cyS(4weV_d&K=h)_%<6fT6(c_=GROMQ?*?Y^mt!U z9r^MJNybRn+9s|S?CtIF%QK};j0`}H5e6ej@CBcj=WMA^dp#|A@AlflZEzXNLVfxX z)GnrdsY5>i+W{r8$8X>I;z8RuIXPLQ!P@|*7ZfC;1e2GPG(I&Ny>D#)xj6)|*Badx za5nC8JSIQeEaS3^f48;qC%Y0R{u{_M1rJq>**J6xt zNUDu6X9_oy&dEu9YJ5=N{Cs?B>f4M8uBmOv)+Au<)f)>Mo8KFMerjVI?xeq8yh$M` z|8rpFStGC7LYe8Y25r--BL%ZD$44PtT+=2R%3U|s6;uPmV|Qpk~JaRI93^hToD#?3D@|+h8yLr+hhD<88n{LPhp zIi1E8-N8)u`j?z7sJE*A%n$5q8nhY@@alObs|)!t;Q3)VIj;d$Ks|>qLp6qCVPhjl zz3lpG&R|DTwc)CI<5Typy)o_2iloE8r@QqJz-R(AlUql65s%p^37DQw4Zpu#kDS4& z9-*i`eaV3XM&p7`aaej00b33(caJ(Il; zOvO#AGtLbfd~u=d9~_i>tr0t0X|gksH(g9pKbolb=0Jx2rL`mu!lxf7|B?OG(=s=8 za%-lXisuiwnnw$UdEaG37=8>uY?l7!tMY z-ubtnOQLRJy@D2)Gkpbml&mYh02arqJuJdkGqC!zHFjhr8=zH#D%GAD49YkC(GPIl zq74i?D@R`MjEp)d-T8{`;JFx2Jy%d&sp!GmJXl_C+c~YfJJ#I%(ZKQp4iKiw<F50J6;j-cZ$CNw^l8^a7EBgR+dHi z+A(sTf{b0s0r=kK@HoKlf~w63MVASU^Ha39hPQ@0J3(g%9<3^9_YO*jZoTGFo0dYW znTwMHghugfVAZPjht)~{Ngql^N}JXDu<;pVK^%QZ&@e$P)&@HG70jN+GLCXPjA#|; z;_=e%ad8R&@-Jumr)V3E4%8Q>VEgHTl^4+IKO+@88n3BpJ}f5^9F@w;iql2+vJPy}QY0dbJlzhA{XJ zNbr6>>Y3xs2~`E2qyW=!$n~|k2=Ng-njI~M{OW473h_b7^qT2a>L)nepb^w44;Vr^ zoK^Ic1zmb)BxV|o6=bIXP4L2Jy2MjBzQC9;^?4L<>Yh1q_cl8-9;pX)NZ3d>dPUJi+3z=xMrh3U8 zEfp?d(`zsR&-JJUTiYwJ7?hP%Tj3zNzZIc1H!^Vr&hOHBXCGv(IolIcJ~2)+K6Lzc zr}r{UGRR9jK>ol^eU~9AJ$F{~_3v&f!EPKzCV|qcD{%d;_gU<~;Naw|3^QWEzh6D+ zMk9G=Bo1YwDHu!)6T!J}Rb^D`h9vsBb7I-ELpIY$O-V_F)fBPzzU~QV_QKWh@E8VO z{1hBbZ)~TOOGFygG~bNTmV)uNS^x8j&l3Fn{JXf4<5?Ad!94|0b)L5wFtc0WuK+RY z#98rtAcd}8)WQ!sH+PDb!M?P6+2XI&H}`gAK|E3P;+0qY252T~Yhrxbv|?wb?t^RW zW9dkv+WH%bpNlbInC`9{5!HBdT0Dh^)w;TtAkYLcHs4;xza#3s(Fots_=KXm!HE$F zx>LQho@43&kDbunULX*#ga05(WF)_h9vbSJoqYh_YwKu(zN5YKigl&Cknf2(j`xQS zFo+1w-Ym&GOo&5sWMSW!wOM)DlUI1Na(^2QYi4BP7Mx!I{N#()Yc`P*-~9Ra0k*a| z(NcZHzI_>~Pt~We!G-Q`Q5Y+gj{(3e`+v1`)p1RK-+QEVO+py$013%S2}q5SDbffG zkPnX0pddL?rA9j#0+LF%bV@0m(xsq?grp;XZ~XrFXD@iMbI*P5x%ZxX?sLzf2UyZ< z5Uw8Jbrqm@HqQrua$m4f4;)T*?E%jksEtMI1B{FO|HdWa>_NfigJU_H$^=Dz5+MA^ z<&0`?T?W50@4xRMhn_aR$a}(f%Yu(h;cb|SzM~RC1X#%so(#on!@q$wOat;P=7vON zsFoX&TNa5G!vJ6S?xJ8JZkOBZ2%Q-R7)^GyXKB9YH!>;pW^2>6S|Lq3M|-&68$aC5 z?4}M`CykQ-#bDiIY(IcmuADBp&pp+l@7OAp^mL_O|A5bH#ogE! z{&{od(^60-s6FTMLUGZguaXlW-w=ao=X}oN2Sh~b@;Tqswld8J$csik-7hUJ=D&@>iL4JL;CHfu zHY4kIn!Dw9E#q1=JyvgsDB5jEEl<@gVW(LP_GX4>9|flj&{vd`Tz3kD=5dzQ6Fh&z zXIF$5fkBAIVfenEsQ9e9y~%&TPFQEn)13e6wZJ-EK3F8Zni?TMQqc2Q?kSy=r>D{J zJ{?`usfA;g=RSvsa1BORSm3a>eGvC4@r4W$*AJbToJ`2h<^{C_`Kore+%S*t`V?*~ znoCK4pYHBgQ7w_NZ8`9cvpAY7W_AcuuyYp>;x7@ootbxu@b@41uEg*fUu&eUC3B^@ zKtc>IF(E0;JenmE?i@j>0;H(a9xtTt8fNa_hCSvhIGl{fz}o;gy!m5;N~MsB=w-{> zxZRAMfL9PDzw4lp#YKeo&Z5|bLr{kisC}fJrz{}gMx8<<2t@B}3HB0jzBBP6E`ZTb#k z7I}~5_ysZ7BD~g9T{|bv7UvG1s5TCkEX6$!gnc0B#78;wE3fU$=%^y9cSXdY45)Os(9C`QH$F9X zs;>#RtzJ%UVx!>mzREUT=}R=fpGHuYi`*87#=J*#he4t4LvJH59@oX28imh&E$gUt z=S9!Xy6;Vi0oV#uUZ>TPvh8>19AlE)RQ-G=r2k&IVjghTi?i)p_3F;em)H9%NuYp1 zsfeaJwgMfpIeO2^*PlkV%DBu;GyhQ=%Yzr+*i?rj=p5d>;S-TIG^{D<*+rM}wUp|5{V1+x8=mY);d#e{B^3lz5ZU+HWojH0H6 zEvZ>^gix&wh6Oe#8;~ItwdC|uB~V z8}y| z(SM#p7;C#2Ld+Xj#ysBIGMH@Fi8cMw0LFk#+$`0%Mbjep1&1T&vMzA%-5FjHfwYdg zwbJWMzPq#nW^p|i`DI;J{a99-%G%WO{uB!czp#EokN=7UowXg3> z=T@uoz+nHU)s>ah=uo0VZMhPnrJui;mY#lJM@OMs!oqgxXx^3QlE^kTKD0ZCVU%dw z=8Pi&!SM@bXKAq-pGlVh8(J}ZaKYgV;c1)Si!1o=?xfE^dUST!E9bBD*JP1&dL?&& z%Fb-!3^M_o5fQsS7;k(aJBXOGbi4i=-MqOJSe+y+)ywByhWq%h;pJbG#Zjk%mgyCu zCsyb8-}zaxpX&}zi?XmVXSX$R7)C`)j?6^9JqtL{9*~7X$rkweg|r{YBInikOjH5Q z)sR}(6v{1CfsYdf1!4h3w!Rl9nL%2|N%%U(ymi^J-*C*)?6uL4-ul`aXs8h;Z$`|u z+E4{@wL(?)2ZW5^WlGom{R1G51VTY(@9J6>&tB%RsdB3*-c7w1I`8ZP&P6u11=K%k z-kbUacF@aCsF*Y!2E_vh&4Ch8n#IP5m=e)vKoJgpMUJ}DllV9IsOcv0dDEu}iiTEIZcM zD?v$oceu~`)W+sp$ES}Qufo#BUqQW7%bUq>_h*q^>btBv!D%58_zhsWcyv>;fBbUq zdYN@g)VS#opQ5am$K_dQ;e9^a>RuwZAn6HAI1um5SUeSJ}X|9*RYYO)Y0dvbD;qbx}U zTl!r~zk1YvDYCr1#I-0l` z4J#6@1bkt#2sg54Qr`5>RO=EksDM?!HzDv98R4R3p-wC#Pn}kz2k0aC?-A3o;!_d_ zQP@%(JIP#WPH7$MxRms0;OQMHX^ix!icEM(jm$iRJye}xWb2Sm5yp%=IW1MBq#l8R zO(qw7p6FU<{yIJvVBcxDoEH?m7=VwFxBIlvw&E^H{^N#4ab}|q8vYK}$<%^5rjSkK z6q)LB=h|Cc4h#}YwSVUd!~XKgT4M*b`?IW)oKQs}O`gzQANP?7b~&gkW}%Uc$EN=B z`QC?Vy7{?4|3vd@DP*<0+Up7n1_~JRp8Qz;Qo0h&M#ho1t(AvlT1H0fts6Ifaz@$siarM+lobV62RuyzL7AkB|#< z2VEx#{*x}dB1AI)$EBo2GExsi+iZkgpD!`RK0oY%g(HSMw!4kQ>%;f7({-hx|b796b`X8QG+ccBO+RjBU7x-dtuit*X#N76{ zNl6)7*m1N}cS=%%}lVzvao4m{uT6~@6M6moAF%l-Fs#&c}s$0#LH&me&2x`AR_ zU8DarpIVE`>{G&v+-rW^G(#j&PTFjI7w?ou}sExzoylQ7>z5>} zpbG#$_`hymCDWTOEe`DE*Gu8-pG#s#{2U)zE}6QPB`7}*$)FY&VvKeu?lOHkL|X!d zI4Ifb8;_)=rSZ;vSSiwM&kFc030Y{FOGYs4eU|$^*_1FFIS52}2Z~OFx4PhwDe2sT z@{!$pPg5H3v1y#;K}!-m0cec(Y**N;W()a&AID{}J(@vK1=_^pMu$#fVnzv2B{-aE zBIfk;WcLRSdB=q@sYy!NX^gZwm63S18;?3uzeaC9^*I_L zE-zsnmEDh7mQ}%)j%+}kzAA-hU91{gU&!giHrG`dw`CWy0#^nMx~KRMtBex9Uymm~ z>kf^qselN_kN=EAFbIvG2Z<1blzOg>FTI1(m01<`Rx=UvR;rlFZ9<8*#x8g3vIKMM zT=zDh^7r2vk9ZGycCU0v0cV!N!~nXdJ$oqAXacc^-T&gv)3MJEbBZKRVSUO@lE~oy zKMpY_h(p=-GCC?pU(!xTC9SyshBLe{SaX-dIFA5XyXM_LiCKs);L;`k9iEa#uM??= zP~3dG^732v$NrCL60$*9>ldWJ+Y>X!(coN3WK@cPD9mcZx0UU8N>6MmnC@TPo7t9j znr1&g)unUd1%F1C!GgQXJnw0DYKM<9Uwj;Uh%qL*bU(`YA0NjAy~!`g)F?rp0xVC2TR-i);;al zH-BqRHkIo2gCFd-SSqsOdZSY~DQIrZGeI!(1u-Z-Bcqg15BT!+mbW|gugE~jY4+_F z#n$HUz6NY8qr@_*2VyWqYi<1JF4A0TdBEgJC~rbh{FguTGeCo@4n8f{L5KyqLOs9S!fd$tNE!HYJl&9KHb!4aO5O zu%A2F+u!%QwbgsYc>1r4!ffz+NfgampQ4KSjTAg*L{-;7=@ZZ&|e+D`tR z18cPUx(_!w0}6a6_m??k;UDzO5YXt`&*5wpoG;%qvrH~|+reQ69lz0kTAKc&0J$HH zKxLFGjGVzAsTyWH_W`4W1imIe6XjLoDu|=)1&->LV*qw7N`QVQ#naqZQwi`ecw0S<}EHiEkWng&+t)^ z;|g}()0<%gE|nn5fvlmSA)PsZg(WzZCPOz}WUEza)WS($az5+d*})wcH9~>GeLQ@V z;_&43s`VJ0SSx|%9178qXPGALxCD)_kO3tvlu%-Uq%#B0X`{{z{upJ#Eo zpy193`H(hBR4b^$aa>?!AWhl~5O#$T9*+mA;|5DV9r~ZliHUF^oi8}9m!JJM4C&f= z)%{fab{Q%J3)o?jAUX@o#LIYogvyL>5N5=CKPB$8)(#>88wBRc*vw4im7ts)Vj$^F z65rz0FIQ`!X7$w&DMhfNL}WR>0ll3_xJ z_8~*ha?NQYkK79qw%Xf40P+<91W%wk8Zpo>Eugt+avIVcEA$x9XpTJaG7ljN2IdpG zlinhL&y%F4+CpJ0?4`BWo7)j=d#A5gRWbHkx0aWy?hXGKe_!#7+tVEw?vI*n>gwu^ zUrDg!v#omiva+(QSJDj)ljOE>YI7LJ18UNk)2>J`U=y8cmA`_zqnITRdHR6+N8D?2 zQLQ*hG)xRiV)Pg>LX$kkqjXK47F44g{BS>`=DTeT40J6_9UIEHJL(3hZNdEVMWKYy zPhz{Gm_)qiB3mJ#`1Ev3b}-VzpT$p^Dl%mtz=|Dh-z zSXpIk?<)qK$rXP1&>o2a3u+kVw`4&XOXdEMy9mC4cZ~fsUnIesxEX?3NVmIznMRAJ zVM}ece8*x<15fg!(XlWVkyUTtC7IPXpCvCo3^=%-uP@7+PRss8I7Fh3G%ujdsE5 zOA6%wH2R#JA~8nL(QAxlYm)RNaeQy!9?C8u!ASOFef_1z$9DTqWCF918%D`BC+3ax zv2WItavHAQVVe9b3cd4)%=x+fhv%wf{3m0=9<_9KFa2R0E6eE6+V>!un?K~PRH0x5VLq0v4NRNv_V!@84RYsThVg;~$l+j{IOHMtk(2-0 zD6b%UvVyGvilh8ldQFBb#qyhmyI+_TLGBumf{{!z8U7G*^ diff --git a/icons/obj/wallframe.dmi b/icons/obj/wallframe.dmi new file mode 100644 index 0000000000000000000000000000000000000000..48eff704b64efea025bc741f4d9c1c5cc68dfb86 GIT binary patch literal 761 zcmVtBR6jpI92^_~7#K!IMt**NTU%TIW;0@9Vk09X7Z(?JczE30 z+_bc`9v&Y5`RerL(mFaiCnqe*xuxRJy#M;}`RLYfj-voG0BVVzYJ`?#evngBQ(pPcJ5rtpET30d!JMQvg8b*k%9#0GfJKSad{Xb7OL8 zaCB*JZU6vyoKseCa&`CgQ*iP14YmwttiRNOE1kV&PXjHs5mdRyf`_rxCFOSWd&D17qB-0FvLU)mG3r_0004i zNklI= zzv8rFT<<=`L5B6Xm8CI2i02VfUWqwC8-aoT?HLBt+I$~w?is)U;EUzSk2O&KI02|0 zvS$mdRJ1^An!3QtItT)?0Rd0MX^fJCQ48?g)%vv<5)hE%a5cTz|6BH^S zO+FX|Pc2C literal 0 HcmV?d00001 From fbe51b72b7b9aa4ac83a2832db58f848d8fb123b Mon Sep 17 00:00:00 2001 From: Incoming Date: Tue, 18 Apr 2017 19:12:32 -0400 Subject: [PATCH 03/31] Adds badmin abuse limits to petsplosions Event won't run if initial pet population on station is greater than 100 pets. Event won't continue after creating 400 pets. Pets off station won't be affected by the petsplosion. --- code/modules/events/wizard/petsplosion.dm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/code/modules/events/wizard/petsplosion.dm b/code/modules/events/wizard/petsplosion.dm index d69549e2051..05582043b9f 100644 --- a/code/modules/events/wizard/petsplosion.dm +++ b/code/modules/events/wizard/petsplosion.dm @@ -4,14 +4,29 @@ typepath = /datum/round_event/wizard/petsplosion max_occurrences = 1 //Exponential growth is nothing to sneeze at! earliest_start = 0 + var/mobs_to_dupe = 0 + +/datum/round_event_control/wizard/petsplosion/preRunEvent() + for(var/mob/living/simple_animal/F in GLOB.living_mob_list) + if(!ishostile(F) && F.z == ZLEVEL_STATION) + mobs_to_dupe++ + if(mobs_to_dupe > 100 || !mobs_to_dupe) + return EVENT_CANT_RUN + + ..() /datum/round_event/wizard/petsplosion endWhen = 61 //1 minute (+1 tick for endWhen not to interfere with tick) var/countdown = 0 + var/mobs_duped = 0 /datum/round_event/wizard/petsplosion/tick() if(activeFor >= 30 * countdown) // 0 seconds : 2 animals | 30 seconds : 4 animals | 1 minute : 8 animals countdown += 1 for(var/mob/living/simple_animal/F in GLOB.living_mob_list) //If you cull the heard before the next replication, things will be easier for you - if(!ishostile(F)) - new F.type(F.loc) \ No newline at end of file + if(!ishostile(F) && F.z == ZLEVEL_STATION) + new F.type(F.loc) + mobs_duped++ + if(mobs_duped > 400) + kill() + From 51b44988983656167970441dcb4fe3302b26d484 Mon Sep 17 00:00:00 2001 From: bagil Date: Wed, 19 Apr 2017 22:57:12 +0000 Subject: [PATCH 04/31] Automatic changelog compile, [ci skip] --- html/changelog.html | 15 +++++++++++++++ html/changelogs/.all_changelog.yml | 8 ++++++++ html/changelogs/AutoChangeLog-pr-26283.yml | 4 ---- html/changelogs/AutoChangeLog-pr-26317.yml | 4 ---- html/changelogs/AutoChangeLog-pr-26320.yml | 4 ---- html/changelogs/AutoChangeLog-pr-26321.yml | 4 ---- 6 files changed, 23 insertions(+), 16 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-26283.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-26317.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-26320.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-26321.yml diff --git a/html/changelog.html b/html/changelog.html index fb4870f2ae0..451b0bc0fc5 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,21 @@ -->
+

19 April 2017

+

QualityVan updated:

+
    +
  • Improved stethoscopes
  • +
+

Thunder12345 updated:

+
    +
  • You can no longer extract negative sheets from the ORM
  • +
+

XDTM updated:

+
    +
  • APCs hacked by a malfunctioning AI are no longer immune to alien attacks.
  • +
  • Fixed bug where flashlight eyes weren't emitting light.
  • +
+

18 April 2017

BeeSting12 updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 2cc60a9c9ab..94f95f32455 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -10621,3 +10621,11 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. form are no longer distorted to drone viewpoints. - bugfix: The shuttle's arrival can no longer be delayed after Nar-Sie's arrival. The End cannot be delayed. +2017-04-19: + QualityVan: + - bugfix: Improved stethoscopes + Thunder12345: + - bugfix: You can no longer extract negative sheets from the ORM + XDTM: + - bugfix: APCs hacked by a malfunctioning AI are no longer immune to alien attacks. + - bugfix: Fixed bug where flashlight eyes weren't emitting light. diff --git a/html/changelogs/AutoChangeLog-pr-26283.yml b/html/changelogs/AutoChangeLog-pr-26283.yml deleted file mode 100644 index eba99928051..00000000000 --- a/html/changelogs/AutoChangeLog-pr-26283.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "QualityVan" -delete-after: True -changes: - - bugfix: "Improved stethoscopes" diff --git a/html/changelogs/AutoChangeLog-pr-26317.yml b/html/changelogs/AutoChangeLog-pr-26317.yml deleted file mode 100644 index 2f01ab05ffd..00000000000 --- a/html/changelogs/AutoChangeLog-pr-26317.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "XDTM" -delete-after: True -changes: - - bugfix: "APCs hacked by a malfunctioning AI are no longer immune to alien attacks." diff --git a/html/changelogs/AutoChangeLog-pr-26320.yml b/html/changelogs/AutoChangeLog-pr-26320.yml deleted file mode 100644 index 57704bd353e..00000000000 --- a/html/changelogs/AutoChangeLog-pr-26320.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Thunder12345" -delete-after: True -changes: - - bugfix: "You can no longer extract negative sheets from the ORM" diff --git a/html/changelogs/AutoChangeLog-pr-26321.yml b/html/changelogs/AutoChangeLog-pr-26321.yml deleted file mode 100644 index 22d91c1bc83..00000000000 --- a/html/changelogs/AutoChangeLog-pr-26321.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "XDTM" -delete-after: True -changes: - - bugfix: "Fixed bug where flashlight eyes weren't emitting light." From 3f646d9564f84b0c510920f5a9d0795d7fbadd55 Mon Sep 17 00:00:00 2001 From: QualityVan Date: Wed, 19 Apr 2017 19:12:56 -0400 Subject: [PATCH 05/31] Fixes armlasers breaking on retract --- code/modules/projectiles/guns/mounted.dm | 2 -- code/modules/surgery/organs/augments_arms.dm | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/code/modules/projectiles/guns/mounted.dm b/code/modules/projectiles/guns/mounted.dm index 9d4a8753b9c..6f6100bc551 100644 --- a/code/modules/projectiles/guns/mounted.dm +++ b/code/modules/projectiles/guns/mounted.dm @@ -11,7 +11,6 @@ /obj/item/weapon/gun/energy/e_gun/advtaser/mounted/dropped()//if somebody manages to drop this somehow... ..() - src.loc = null//send it to nullspace to get retrieved by the implant later on. gotta cover those edge cases. /obj/item/weapon/gun/energy/laser/mounted name = "mounted laser" @@ -25,4 +24,3 @@ /obj/item/weapon/gun/energy/laser/mounted/dropped() ..() - src.loc = null \ No newline at end of file diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 153de8d823a..1a0932f6e09 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -155,7 +155,7 @@ desc = "A variant of the arm cannon implant that fires lethal laser beams. The cannon emerges from the subject's arm and remains inside when not in use." icon_state = "arm_laser" origin_tech = "materials=4;combat=4;biotech=4;powerstorage=4;syndicate=3" - holder = /obj/item/weapon/gun/energy/laser/mounted + contents = newlist(/obj/item/weapon/gun/energy/laser/mounted) /obj/item/organ/cyberimp/arm/gun/laser/l zone = "l_arm" @@ -166,7 +166,7 @@ desc = "A variant of the arm cannon implant that fires electrodes and disabler shots. The cannon emerges from the subject's arm and remains inside when not in use." icon_state = "arm_taser" origin_tech = "materials=5;combat=5;biotech=4;powerstorage=4" - holder = /obj/item/weapon/gun/energy/e_gun/advtaser/mounted + contents = newlist(/obj/item/weapon/gun/energy/e_gun/advtaser/mounted) /obj/item/organ/cyberimp/arm/gun/taser/l zone = "l_arm" From 392fd965bd57f7ba7163023c120fc1e6272b106d Mon Sep 17 00:00:00 2001 From: Profakos Date: Thu, 20 Apr 2017 16:15:58 +0200 Subject: [PATCH 06/31] Prevents fultons from transporting items out of inventories and an init fix --- code/modules/mining/fulton.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm index 617d3d5b279..463ee524f94 100644 --- a/code/modules/mining/fulton.dm +++ b/code/modules/mining/fulton.dm @@ -54,7 +54,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) if(!safe_for_living_creatures && check_for_living_mobs(A)) to_chat(user, "[src] is not safe for use with living creatures, they wouldn't survive the trip back!") return - if(A.loc == user) // no extracting stuff you're holding + if(!isturf(A.loc)) // no extracting stuff inside other stuff return if(A.anchored) return @@ -159,10 +159,10 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) var/beacon_network = "station" /obj/structure/extraction_point/Initialize() + . = ..() var/area/area_name = get_area(src) name += " ([rand(100,999)]) ([area_name.name])" GLOB.total_extraction_beacons += src - ..() /obj/structure/extraction_point/Destroy() GLOB.total_extraction_beacons -= src From 45bc508190806eefc0cd921bc87dbc43dccdb123 Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Thu, 20 Apr 2017 15:36:20 +0100 Subject: [PATCH 07/31] Fixes languages being understood over radio Fixes #26306. Fixes #26192. :cl: coiax fix: Fixed people understanding languages over the radio when they shouldn't. /:cl: --- code/modules/mob/living/say.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 22ff90608b2..4818a58dad4 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -177,7 +177,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( //Log what we've said with an associated timestamp, using the list's len for safety/to prevent overwriting messages log_message(message, INDIVIDUAL_SAY_LOG) - var/radio_return = radio(message, message_mode, spans) + var/radio_return = radio(message, message_mode, spans, language) if(radio_return & ITALICS) spans |= SPAN_ITALICS if(radio_return & REDUCE_RANGE) From f23176c54ab2a89e8ca1ff7131527c2af92658b4 Mon Sep 17 00:00:00 2001 From: blah Date: Thu, 20 Apr 2017 17:30:01 +0100 Subject: [PATCH 08/31] Updates space ruins to use TGM format and most of them to use template_noop areas and turfs where suitable. --- _maps/RandomRuins/SpaceRuins/DJstation.dmm | 12 +- _maps/RandomRuins/SpaceRuins/TheDerelict.dmm | 176 +- .../SpaceRuins/abandonedteleporter.dmm | 370 +- _maps/RandomRuins/SpaceRuins/abandonedzoo.dmm | 24 +- _maps/RandomRuins/SpaceRuins/asteroid1.dmm | 471 +- _maps/RandomRuins/SpaceRuins/asteroid2.dmm | 475 +- _maps/RandomRuins/SpaceRuins/asteroid3.dmm | 485 +- _maps/RandomRuins/SpaceRuins/asteroid4.dmm | 552 ++- _maps/RandomRuins/SpaceRuins/asteroid5.dmm | 1735 ++++++- _maps/RandomRuins/SpaceRuins/bigderelict1.dmm | 8 +- .../RandomRuins/SpaceRuins/caravanambush.dmm | 70 +- .../SpaceRuins/crashedclownship.dmm | 6 +- _maps/RandomRuins/SpaceRuins/crashedship.dmm | 22 +- _maps/RandomRuins/SpaceRuins/derelict1.dmm | 1817 ++++++- _maps/RandomRuins/SpaceRuins/derelict2.dmm | 1864 ++++++- _maps/RandomRuins/SpaceRuins/derelict3.dmm | 1742 ++++++- _maps/RandomRuins/SpaceRuins/derelict4.dmm | 4 +- _maps/RandomRuins/SpaceRuins/derelict5.dmm | 4 +- _maps/RandomRuins/SpaceRuins/derelict6.dmm | 80 +- _maps/RandomRuins/SpaceRuins/dragoontomb.dmm | 34 +- _maps/RandomRuins/SpaceRuins/emptyshell.dmm | 8 +- .../RandomRuins/SpaceRuins/gasthelizards.dmm | 758 ++- .../SpaceRuins/intactemptyship.dmm | 14 +- .../SpaceRuins/listeningstation.dmm | 4 +- .../RandomRuins/SpaceRuins/mechtransport.dmm | 20 +- _maps/RandomRuins/SpaceRuins/oldAIsat.dmm | 4316 ++++++++++++++++- .../RandomRuins/SpaceRuins/oldteleporter.dmm | 387 +- _maps/RandomRuins/SpaceRuins/onehalf.dmm | 112 +- .../SpaceRuins/originalcontent.dmm | 3478 ++++++++++++- _maps/RandomRuins/SpaceRuins/shuttlerelic.dmm | 20 +- _maps/RandomRuins/SpaceRuins/spacehotel.dmm | 26 +- .../SpaceRuins/turretedoutpost.dmm | 8 +- _maps/RandomRuins/SpaceRuins/way_home.dmm | 1006 +++- tgstation.dme | 2 +- 34 files changed, 18919 insertions(+), 1191 deletions(-) diff --git a/_maps/RandomRuins/SpaceRuins/DJstation.dmm b/_maps/RandomRuins/SpaceRuins/DJstation.dmm index caacb02feb6..a790022693b 100644 --- a/_maps/RandomRuins/SpaceRuins/DJstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/DJstation.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ab" = ( /obj/structure/grille, /turf/open/floor/plating/airless, @@ -15,8 +15,8 @@ /area/djstation/solars) "ae" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "af" = ( /turf/closed/wall, /area/djstation) @@ -295,7 +295,7 @@ "aZ" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating/airless, -/area/space) +/area/template_noop) "ba" = ( /turf/open/floor/plasteel/freezer, /area/djstation) @@ -373,7 +373,7 @@ }, /obj/structure/disposaloutlet, /turf/open/floor/plating/airless, -/area/space) +/area/template_noop) (1,1,1) = {" aa diff --git a/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm b/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm index 97a88290b85..82ef079613d 100644 --- a/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm +++ b/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm @@ -1,11 +1,11 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ab" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ac" = ( /obj/structure/grille, /turf/open/floor/plating/airless, @@ -25,7 +25,7 @@ d2 = 2; icon_state = "1-2" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_starboard) "af" = ( /turf/open/floor/plating/airless, @@ -55,7 +55,7 @@ /area/solar/derelict_starboard) "ai" = ( /obj/structure/lattice/catwalk, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_starboard) "aj" = ( /obj/structure/lattice/catwalk, @@ -69,7 +69,7 @@ d2 = 4; icon_state = "1-4" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_starboard) "ak" = ( /obj/structure/lattice/catwalk, @@ -78,7 +78,7 @@ d2 = 8; icon_state = "4-8" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_starboard) "al" = ( /obj/structure/lattice/catwalk, @@ -97,7 +97,7 @@ d2 = 4; icon_state = "1-4" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_starboard) "am" = ( /obj/structure/lattice/catwalk, @@ -111,7 +111,7 @@ d2 = 8; icon_state = "2-8" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_starboard) "an" = ( /obj/structure/lattice/catwalk, @@ -130,7 +130,7 @@ d2 = 8; icon_state = "2-8" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_starboard) "ao" = ( /obj/structure/lattice/catwalk, @@ -144,7 +144,7 @@ d2 = 8; icon_state = "2-8" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_starboard) "ap" = ( /obj/machinery/power/solar{ @@ -157,7 +157,7 @@ "aq" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_starboard) "ar" = ( /obj/structure/lattice/catwalk, @@ -165,7 +165,7 @@ icon_state = "0-2"; d2 = 2 }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_starboard) "as" = ( /turf/closed/wall, @@ -262,7 +262,7 @@ "aE" = ( /obj/structure/grille, /turf/open/floor/plating/airless, -/area/space) +/area/template_noop) "aF" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -481,7 +481,7 @@ /area/derelict/solar_control) "bi" = ( /obj/structure/grille, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered/no_grav) "bj" = ( /obj/structure/grille, @@ -645,11 +645,11 @@ }, /area/derelict/bridge/ai_upload) "bL" = ( -/turf/open/space, +/turf/template_noop, /area/derelict/bridge/ai_upload) "bM" = ( /obj/item/weapon/stock_parts/console_screen, -/turf/open/space, +/turf/template_noop, /area/derelict/bridge/ai_upload) "bN" = ( /turf/open/floor/circuit/airless, @@ -669,7 +669,7 @@ /area/derelict/bridge/ai_upload) "bR" = ( /obj/structure/lattice, -/turf/open/space, +/turf/template_noop, /area/derelict/bridge/ai_upload) "bS" = ( /obj/machinery/light/small{ @@ -735,7 +735,7 @@ /turf/open/floor/plasteel/airless{ icon_state = "damaged4" }, -/area/space) +/area/template_noop) "cc" = ( /obj/structure/cable{ d1 = 1; @@ -778,7 +778,7 @@ /area/ruin/unpowered/no_grav) "ci" = ( /turf/closed/wall/r_wall, -/area/space) +/area/template_noop) "cj" = ( /obj/structure/cable{ d1 = 1; @@ -807,8 +807,8 @@ /obj/item/weapon/ore/iron, /obj/item/weapon/ore/iron, /obj/item/weapon/ore/iron, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "co" = ( /turf/open/floor/plasteel/airless{ icon_state = "damaged2" @@ -929,8 +929,8 @@ /area/derelict/gravity_generator) "cI" = ( /obj/item/weapon/ore/slag, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "cJ" = ( /obj/structure/cable{ d1 = 1; @@ -1155,8 +1155,8 @@ /area/ruin/unpowered/no_grav) "dk" = ( /obj/item/stack/cable_coil/cut, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "dl" = ( /obj/machinery/light/small{ dir = 8 @@ -1250,8 +1250,8 @@ /area/derelict/gravity_generator) "dv" = ( /obj/item/weapon/stock_parts/matter_bin, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "dw" = ( /obj/structure/window/reinforced, /turf/open/floor/plasteel, @@ -1300,8 +1300,8 @@ /area/derelict/gravity_generator) "dE" = ( /obj/effect/spawner/lootdrop/maintenance, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "dF" = ( /obj/structure/window/reinforced{ dir = 4 @@ -1753,8 +1753,8 @@ /area/derelict/bridge) "eV" = ( /obj/item/stack/rods, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "eW" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -1972,7 +1972,7 @@ /turf/open/floor/plasteel/airless, /area/derelict/bridge/access) "fC" = ( -/turf/open/space, +/turf/template_noop, /area/derelict/bridge/access) "fD" = ( /obj/structure/girder, @@ -2478,7 +2478,7 @@ "hc" = ( /obj/structure/lattice, /obj/structure/window/fulltile, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered/no_grav) "hd" = ( /obj/structure/table, @@ -2525,11 +2525,11 @@ /area/derelict/medical/chapel) "hm" = ( /obj/item/weapon/shard, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "hn" = ( /obj/structure/grille, -/turf/open/space, +/turf/template_noop, /area/derelict/singularity_engine) "ho" = ( /obj/item/weapon/shard, @@ -2603,11 +2603,11 @@ name = "External Engineering" }, /turf/open/floor/plating/airless, -/area/space) +/area/template_noop) "hC" = ( /obj/structure/grille, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "hD" = ( /turf/open/floor/plasteel/airless{ icon_state = "damaged4" @@ -2694,8 +2694,8 @@ dir = 4 }, /obj/structure/grille, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "hR" = ( /obj/structure/table, /obj/structure/window/reinforced{ @@ -2865,16 +2865,16 @@ /area/derelict/arrival) "it" = ( /obj/structure/window/reinforced, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "iu" = ( /obj/structure/window/reinforced{ dir = 4 }, /obj/structure/window/reinforced, /obj/structure/grille, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "iv" = ( /obj/structure/table, /obj/structure/window/reinforced{ @@ -3021,14 +3021,14 @@ /obj/item/weapon/shard{ icon_state = "medium" }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "iS" = ( /obj/structure/window/reinforced{ dir = 1 }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "iT" = ( /obj/structure/window/reinforced{ dir = 4 @@ -3037,8 +3037,8 @@ dir = 1 }, /obj/structure/grille, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "iU" = ( /obj/structure/table, /obj/structure/window/reinforced{ @@ -3307,7 +3307,7 @@ /area/ruin/unpowered/no_grav) "jG" = ( /obj/structure/window/fulltile, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered/no_grav) "jH" = ( /obj/machinery/light{ @@ -3411,7 +3411,7 @@ "jT" = ( /obj/structure/lattice, /obj/structure/grille, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered/no_grav) "jU" = ( /obj/machinery/door/airlock/external{ @@ -3753,8 +3753,8 @@ /area/ruin/unpowered/no_grav) "kL" = ( /obj/structure/window/fulltile, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "kM" = ( /obj/structure/girder, /turf/open/floor/plating, @@ -3816,8 +3816,8 @@ /area/hallway/primary/port) "kU" = ( /obj/item/weapon/cigbutt, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "kV" = ( /obj/machinery/light{ dir = 1 @@ -3870,8 +3870,8 @@ "ld" = ( /obj/structure/lattice, /obj/item/stack/cable_coil/cut, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "le" = ( /obj/effect/decal/cleanable/blood/splatter, /turf/open/floor/plasteel/airless, @@ -3996,11 +3996,11 @@ /turf/closed/wall/r_wall, /area/derelict/atmospherics) "lz" = ( -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered/no_grav) "lA" = ( /obj/structure/lattice, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered/no_grav) "lB" = ( /obj/structure/cable{ @@ -4177,7 +4177,7 @@ "mb" = ( /obj/structure/lattice, /obj/item/stack/cable_coil/cut, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered/no_grav) "mc" = ( /obj/machinery/door/window{ @@ -4245,7 +4245,7 @@ icon_state = "medium" }, /turf/open/floor/plating/airless, -/area/space) +/area/template_noop) "mn" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile, @@ -4278,7 +4278,7 @@ /area/derelict/atmospherics) "mt" = ( /obj/structure/window/fulltile, -/turf/open/space, +/turf/template_noop, /area/derelict/atmospherics) "mu" = ( /obj/item/stack/rods, @@ -4288,8 +4288,8 @@ /obj/item/weapon/shard{ icon_state = "small" }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "mw" = ( /obj/structure/frame/computer, /obj/structure/window/reinforced{ @@ -4309,11 +4309,11 @@ /area/derelict/atmospherics) "mz" = ( /obj/structure/lattice, -/turf/open/space, +/turf/template_noop, /area/derelict/atmospherics) "mA" = ( /obj/item/stack/cable_coil/cut, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered/no_grav) "mB" = ( /obj/structure/door_assembly/door_assembly_mai{ @@ -4400,7 +4400,7 @@ /area/derelict/atmospherics) "mO" = ( /obj/effect/spawner/lootdrop/maintenance, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered/no_grav) "mP" = ( /obj/machinery/portable_atmospherics/pump, @@ -4419,7 +4419,7 @@ /turf/open/floor/plating/airless, /area/derelict/hallway/primary) "mS" = ( -/turf/open/space, +/turf/template_noop, /area/derelict/atmospherics) "mT" = ( /obj/machinery/light/small, @@ -4661,7 +4661,7 @@ /area/derelict/hallway/secondary) "nx" = ( /obj/structure/lattice, -/turf/open/space, +/turf/template_noop, /area/derelict/hallway/secondary) "ny" = ( /obj/structure/grille, @@ -4818,8 +4818,8 @@ name = "KSS13: Derelict"; width = 35 }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "nU" = ( /obj/machinery/power/terminal{ icon_state = "term"; @@ -4958,7 +4958,7 @@ "ol" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "om" = ( /obj/structure/cable{ @@ -4966,7 +4966,7 @@ d2 = 2 }, /obj/structure/lattice/catwalk, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "on" = ( /obj/structure/cable{ @@ -4987,7 +4987,7 @@ pixel_y = 0 }, /obj/structure/lattice/catwalk, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "op" = ( /obj/structure/cable{ @@ -5020,7 +5020,7 @@ d2 = 4; icon_state = "1-4" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "os" = ( /obj/structure/lattice/catwalk, @@ -5039,7 +5039,7 @@ d2 = 4; icon_state = "2-4" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "ot" = ( /obj/structure/lattice/catwalk, @@ -5048,7 +5048,7 @@ d2 = 8; icon_state = "4-8" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "ou" = ( /obj/structure/cable{ @@ -5068,7 +5068,7 @@ pixel_y = 0 }, /obj/structure/lattice/catwalk, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "ov" = ( /obj/structure/lattice/catwalk, @@ -5087,7 +5087,7 @@ d2 = 8; icon_state = "1-8" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "ow" = ( /obj/structure/lattice/catwalk, @@ -5101,7 +5101,7 @@ d2 = 8; icon_state = "1-8" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "ox" = ( /obj/structure/cable, @@ -5118,7 +5118,7 @@ /area/solar/derelict_aft) "oz" = ( /obj/structure/lattice/catwalk, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "oA" = ( /obj/structure/lattice/catwalk, @@ -5132,7 +5132,7 @@ d2 = 4; icon_state = "2-4" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "oB" = ( /obj/structure/cable{ @@ -5141,7 +5141,7 @@ icon_state = "4-8" }, /obj/structure/lattice/catwalk, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "oC" = ( /obj/structure/lattice/catwalk, @@ -5155,7 +5155,7 @@ d2 = 8; icon_state = "2-8" }, -/turf/open/space, +/turf/template_noop, /area/solar/derelict_aft) "oD" = ( /obj/machinery/power/tracker, diff --git a/_maps/RandomRuins/SpaceRuins/abandonedteleporter.dmm b/_maps/RandomRuins/SpaceRuins/abandonedteleporter.dmm index 58e188aac0c..fda38fb9ce4 100644 --- a/_maps/RandomRuins/SpaceRuins/abandonedteleporter.dmm +++ b/_maps/RandomRuins/SpaceRuins/abandonedteleporter.dmm @@ -1,44 +1,332 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/turf/closed/wall/r_wall,/area/AIsattele) -"c" = (/obj/structure/lattice,/turf/open/space,/area/space) -"d" = (/obj/structure/frame/computer,/turf/open/floor/plating/airless,/area/AIsattele) -"e" = (/obj/machinery/teleport/station,/turf/open/floor/plating/airless,/area/AIsattele) -"f" = (/obj/machinery/teleport/hub,/turf/open/floor/plating/airless,/area/AIsattele) -"g" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/open/floor/plating/airless,/area/AIsattele) -"h" = (/turf/open/floor/plating/airless,/area/AIsattele) -"i" = (/obj/structure/rack,/obj/item/clothing/gloves/color/yellow,/turf/open/floor/plating/airless,/area/AIsattele) -"j" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/AIsattele) -"k" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/open/floor/plating/airless,/area/AIsattele) -"l" = (/obj/item/weapon/stock_parts/cell,/turf/open/floor/plating/airless,/area/AIsattele) -"m" = (/obj/effect/decal/cleanable/dirt,/turf/open/floor/plating/airless,/area/AIsattele) -"n" = (/obj/effect/decal/cleanable/robot_debris/old,/turf/open/floor/plating/airless,/area/AIsattele) -"o" = (/obj/effect/spawner/lootdrop/crate_spawner,/turf/open/floor/plating/airless,/area/AIsattele) -"p" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating/airless,/area/AIsattele) -"q" = (/obj/effect/decal/cleanable/dirt,/obj/item/device/flashlight,/turf/open/floor/plating/airless,/area/AIsattele) -"r" = (/obj/effect/decal/cleanable/dirt,/obj/item/device/radio/beacon,/turf/open/floor/plating/airless,/area/AIsattele) -"s" = (/obj/machinery/portable_atmospherics/canister/air,/turf/open/floor/plating/airless,/area/AIsattele) -"t" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/AIsattele) -"u" = (/obj/effect/decal/cleanable/blood/old,/turf/open/floor/plating/airless,/area/AIsattele) -"v" = (/obj/effect/decal/cleanable/oil,/turf/open/floor/plating/airless,/area/AIsattele) -"w" = (/obj/item/weapon/shard,/obj/item/weapon/electronics/apc,/turf/open/floor/plating/airless,/area/AIsattele) -"x" = (/obj/structure/closet,/turf/open/floor/plating/airless,/area/AIsattele) -"y" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1;pixel_y = -1},/turf/open/floor/plating/airless,/area/AIsattele) -"z" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/obj/item/weapon/weldingtool,/obj/item/weapon/wrench,/obj/item/weapon/circuitboard/computer/teleporter,/turf/open/floor/plating/airless,/area/AIsattele) -"A" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plating/airless,/area/AIsattele) -"B" = (/obj/structure/girder,/turf/open/floor/plating/airless,/area/AIsattele) -"C" = (/obj/structure/lattice,/turf/open/space,/area/AIsattele) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/closed/wall/r_wall, +/area/AIsattele) +"c" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"d" = ( +/obj/structure/frame/computer, +/turf/open/floor/plating/airless, +/area/AIsattele) +"e" = ( +/obj/machinery/teleport/station, +/turf/open/floor/plating/airless, +/area/AIsattele) +"f" = ( +/obj/machinery/teleport/hub, +/turf/open/floor/plating/airless, +/area/AIsattele) +"g" = ( +/obj/item/weapon/shard{ + icon_state = "medium" + }, +/turf/open/floor/plating/airless, +/area/AIsattele) +"h" = ( +/turf/open/floor/plating/airless, +/area/AIsattele) +"i" = ( +/obj/structure/rack, +/obj/item/clothing/gloves/color/yellow, +/turf/open/floor/plating/airless, +/area/AIsattele) +"j" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/AIsattele) +"k" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/AIsattele) +"l" = ( +/obj/item/weapon/stock_parts/cell, +/turf/open/floor/plating/airless, +/area/AIsattele) +"m" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/airless, +/area/AIsattele) +"n" = ( +/obj/effect/decal/cleanable/robot_debris/old, +/turf/open/floor/plating/airless, +/area/AIsattele) +"o" = ( +/obj/effect/spawner/lootdrop/crate_spawner, +/turf/open/floor/plating/airless, +/area/AIsattele) +"p" = ( +/obj/machinery/door/airlock/external, +/turf/open/floor/plating/airless, +/area/AIsattele) +"q" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/device/flashlight, +/turf/open/floor/plating/airless, +/area/AIsattele) +"r" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/device/radio/beacon, +/turf/open/floor/plating/airless, +/area/AIsattele) +"s" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating/airless, +/area/AIsattele) +"t" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/AIsattele) +"u" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating/airless, +/area/AIsattele) +"v" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating/airless, +/area/AIsattele) +"w" = ( +/obj/item/weapon/shard, +/obj/item/weapon/electronics/apc, +/turf/open/floor/plating/airless, +/area/AIsattele) +"x" = ( +/obj/structure/closet, +/turf/open/floor/plating/airless, +/area/AIsattele) +"y" = ( +/obj/item/weapon/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = -1 + }, +/turf/open/floor/plating/airless, +/area/AIsattele) +"z" = ( +/obj/structure/closet/crate, +/obj/item/device/aicard, +/obj/item/device/multitool, +/obj/item/weapon/weldingtool, +/obj/item/weapon/wrench, +/obj/item/weapon/circuitboard/computer/teleporter, +/turf/open/floor/plating/airless, +/area/AIsattele) +"A" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating/airless, +/area/AIsattele) +"B" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/AIsattele) +"C" = ( +/obj/structure/lattice, +/turf/open/space, +/area/AIsattele) (1,1,1) = {" -aaaaaabbbbbca -aaaccbbdefbba -acccbbghhhibb -aajkbhlmhnmob -ccphphqnrhhsb -aajtbsuhvhwxb -acccbbhhmhybb -aaaccbbzhAbba -aaaaaabbChBca -aaaaaacccacaa -aaaaaaacaaaaa -aaaaaaaaccaaa +a +a +a +a +c +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +c +a +c +a +c +a +a +a +a +a +"} +(3,1,1) = {" +a +a +c +j +p +j +c +a +a +a +a +a +"} +(4,1,1) = {" +a +c +c +k +h +t +c +c +a +a +a +a +"} +(5,1,1) = {" +a +c +b +b +p +b +b +c +a +a +a +a +"} +(6,1,1) = {" +a +b +b +h +h +s +b +b +a +a +a +a +"} +(7,1,1) = {" +b +b +g +l +q +u +h +b +b +c +a +a +"} +(8,1,1) = {" +b +d +h +m +n +h +h +z +b +c +c +a +"} +(9,1,1) = {" +b +e +h +h +r +v +m +h +C +c +a +c +"} +(10,1,1) = {" +b +f +h +n +h +h +h +A +h +a +a +c +"} +(11,1,1) = {" +b +b +i +m +h +w +y +b +B +c +a +a +"} +(12,1,1) = {" +c +b +b +o +s +x +b +b +c +a +a +a +"} +(13,1,1) = {" +a +a +b +b +b +b +b +a +a +a +a +a "} diff --git a/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm b/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm index 83bc060f940..c94fe607a4f 100644 --- a/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm +++ b/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ab" = ( /obj/machinery/shieldwallgen{ active = 2; @@ -314,8 +314,8 @@ /obj/structure/window/reinforced{ dir = 4 }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "aL" = ( /turf/open/floor/plasteel{ icon_state = "dark" @@ -355,8 +355,8 @@ /obj/structure/window/reinforced{ dir = 8 }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "aR" = ( /obj/machinery/light/small{ dir = 4 @@ -786,8 +786,8 @@ /area/ruin/abandonedzoo) "bP" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bQ" = ( /obj/machinery/shieldwallgen{ active = 2; @@ -836,12 +836,12 @@ /area/ruin/abandonedzoo) "bV" = ( /obj/machinery/shieldwallgen, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bW" = ( /obj/item/weapon/shard, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bX" = ( /turf/open/floor/plating/airless, /area/ruin/abandonedzoo) diff --git a/_maps/RandomRuins/SpaceRuins/asteroid1.dmm b/_maps/RandomRuins/SpaceRuins/asteroid1.dmm index 7bc6c92e1b9..421b2896597 100644 --- a/_maps/RandomRuins/SpaceRuins/asteroid1.dmm +++ b/_maps/RandomRuins/SpaceRuins/asteroid1.dmm @@ -1,26 +1,451 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered/no_grav) -"c" = (/turf/closed/mineral/random/high_chance,/area/ruin/unpowered/no_grav) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"c" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/unpowered/no_grav) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaabaa -aaaabbaaaaaaaaaaaaaa -aaaabbbaaaaaaaaaaaaa -aaaaaaaaabbcbaaaaaaa -aaaaaaaaaabbaaaaaaaa -aaaaaaaaaabaaaaaaaaa -aaaaaaabaaaaaaaaaaaa -aaaaabbcbaaaaabbbaaa -aaaaabccbaaaaabcbaaa -aaaaccccaaabbccbbaaa -aaabcccbaaabbccaaaaa -aaabccaaaaaabbaaaaaa -aaabbbaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaabcaaaaaaa -aaaabaaaaaabbaaaaaaa -aaaaaaaaaaaaaaaaaaaa +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(3,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(4,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +a +a +a +a +a +"} +(5,1,1) = {" +a +a +a +b +b +a +a +a +a +a +a +c +c +c +b +a +a +a +b +a +"} +(6,1,1) = {" +a +a +a +b +b +a +a +a +a +b +b +c +c +c +b +a +a +a +a +a +"} +(7,1,1) = {" +a +a +a +a +b +a +a +a +a +b +c +c +c +a +a +a +a +a +a +a +"} +(8,1,1) = {" +a +a +a +a +a +a +a +a +b +c +c +c +b +a +a +a +a +a +a +a +"} +(9,1,1) = {" +a +a +a +a +a +a +a +a +a +b +b +a +a +a +a +a +a +a +a +a +"} +(10,1,1) = {" +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(11,1,1) = {" +a +a +a +a +a +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +"} +(12,1,1) = {" +a +a +a +a +a +c +b +a +a +a +a +b +b +a +a +a +a +b +b +a +"} +(13,1,1) = {" +a +a +a +a +a +b +a +a +a +a +a +b +b +b +a +a +a +c +b +a +"} +(14,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +c +c +b +a +a +a +a +a +a +"} +(15,1,1) = {" +a +a +a +a +a +a +a +a +a +b +b +c +c +a +a +a +a +a +a +a +"} +(16,1,1) = {" +a +a +a +a +a +a +a +a +a +b +c +b +a +a +a +a +a +a +a +a +"} +(17,1,1) = {" +a +a +a +a +a +a +a +a +a +b +b +b +a +a +a +a +a +a +a +a +"} +(18,1,1) = {" +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(19,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(20,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a "} diff --git a/_maps/RandomRuins/SpaceRuins/asteroid2.dmm b/_maps/RandomRuins/SpaceRuins/asteroid2.dmm index c39e9f5896a..cfcc39dd2ae 100644 --- a/_maps/RandomRuins/SpaceRuins/asteroid2.dmm +++ b/_maps/RandomRuins/SpaceRuins/asteroid2.dmm @@ -1,27 +1,454 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered/no_grav) -"c" = (/turf/closed/mineral,/area/ruin/unpowered/no_grav) -"d" = (/turf/closed/mineral/random/high_chance,/area/ruin/unpowered/no_grav) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"c" = ( +/turf/closed/mineral, +/area/ruin/unpowered/no_grav) +"d" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/unpowered/no_grav) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaa -aaaaabbbbaaaaaaaaaab -aaabbbbbbbbaaaaabbaa -aabbbbbcbbbbbbaaabaa -abbbbbcccbbbbbaaaaaa -abbbcccccccddbbaaaaa -abbbcccccccddbbaaaaa -abbbcccdddccdbbbbaaa -aaabcccccdddcccbbaaa -aabbbddcccddccdbbbba -aabbbddcccddccccbbba -aabbbddccdddccccbbba -aabbbddcdddcccddbbba -aaabbddcdcccccddbbba -aaaabbbbdccccdddbbba -aaaaaabbcccdcccbbbba -aaabaabbbbbccccbbaaa -baaaaaaabbbbbccbaaaa -aaaaaaaaaaaabbbbaaaa +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +"} +(2,1,1) = {" +a +a +a +a +a +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +"} +(3,1,1) = {" +a +a +a +a +b +b +b +b +b +a +b +b +b +b +a +a +a +a +a +a +"} +(4,1,1) = {" +a +a +a +b +b +b +b +b +b +b +b +b +b +b +b +a +a +b +a +a +"} +(5,1,1) = {" +a +a +a +b +b +b +c +c +c +c +b +b +b +b +b +b +a +a +a +a +"} +(6,1,1) = {" +a +a +b +b +b +b +c +c +c +c +d +d +d +d +d +b +a +a +a +a +"} +(7,1,1) = {" +a +a +b +b +b +c +c +c +c +c +d +d +d +d +d +b +b +b +a +a +"} +(8,1,1) = {" +a +a +b +b +c +c +c +c +d +c +c +c +c +c +c +b +b +b +a +a +"} +(9,1,1) = {" +a +a +b +b +b +c +c +c +d +c +c +c +c +d +d +d +c +b +b +a +"} +(10,1,1) = {" +a +a +a +b +b +b +c +c +d +d +c +c +d +d +c +c +c +b +b +a +"} +(11,1,1) = {" +a +a +a +b +b +b +c +c +c +d +d +d +d +d +c +c +c +b +b +a +"} +(12,1,1) = {" +a +a +a +a +b +b +d +d +c +d +d +d +d +c +c +c +d +c +b +a +"} +(13,1,1) = {" +a +a +a +a +b +b +d +d +d +c +c +c +c +c +c +c +c +c +b +b +"} +(14,1,1) = {" +a +a +a +a +b +b +b +b +b +c +c +c +c +c +c +d +c +c +c +b +"} +(15,1,1) = {" +a +a +a +a +a +a +b +b +b +c +d +c +c +d +d +d +c +c +c +b +"} +(16,1,1) = {" +a +a +a +a +a +a +a +a +b +b +b +c +c +d +d +d +b +b +b +b +"} +(17,1,1) = {" +a +a +a +b +a +a +a +a +b +b +b +b +b +b +b +b +b +b +a +a +"} +(18,1,1) = {" +a +a +a +b +b +a +a +a +a +a +b +b +b +b +b +b +b +a +a +a +"} +(19,1,1) = {" +a +a +a +a +a +a +a +a +a +a +b +b +b +b +b +b +b +a +a +a +"} +(20,1,1) = {" +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a "} diff --git a/_maps/RandomRuins/SpaceRuins/asteroid3.dmm b/_maps/RandomRuins/SpaceRuins/asteroid3.dmm index 982008462c5..c51d254300e 100644 --- a/_maps/RandomRuins/SpaceRuins/asteroid3.dmm +++ b/_maps/RandomRuins/SpaceRuins/asteroid3.dmm @@ -1,29 +1,462 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered/no_grav) -"c" = (/turf/closed/mineral,/area/ruin/unpowered/no_grav) -"d" = (/turf/closed/mineral/random/high_chance,/area/ruin/unpowered/no_grav) -"e" = (/obj/effect/decal/remains/human,/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered/no_grav) -"f" = (/obj/item/weapon/pickaxe/diamond,/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered/no_grav) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"c" = ( +/turf/closed/mineral, +/area/ruin/unpowered/no_grav) +"d" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/unpowered/no_grav) +"e" = ( +/obj/effect/decal/remains/human, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"f" = ( +/obj/item/weapon/pickaxe/diamond, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaa -aabbbaaaaaaaaabaaaaa -aabbbbabbbbaaaaaaaaa -baabccbbbbbbbbbbaaba -aabbccbccccdddcbbaaa -aabccccccccdddcbbaaa -aabcccdccbcccccccaaa -aaabcccccbccccccccaa -abbbcccbbbccccccddaa -bbbcccbbbbbcdcccddaa -cdddccbbebbccccccaaa -cdddcbbfbbcccccccaaa -ccccccbbbbcccccbbaaa -cccccccbbccccccbbaba -bcdddccccccccbbaaaaa -acdddcccccddcbaaaaaa -acdddccbccddbbaaaaaa -aabbcbbbbcbbbaaaaaba -aaaaaaabbbbbaabaaaaa +a +a +a +a +b +a +a +a +a +a +b +c +c +c +c +b +a +a +a +a +"} +(2,1,1) = {" +a +a +a +a +a +a +a +a +a +b +b +d +d +c +c +c +c +c +a +a +"} +(3,1,1) = {" +a +a +b +b +a +b +b +b +a +b +b +d +d +c +c +d +d +d +b +a +"} +(4,1,1) = {" +a +a +b +b +b +b +c +c +b +b +c +d +d +c +c +d +d +d +b +a +"} +(5,1,1) = {" +a +a +b +b +c +c +c +c +c +c +c +c +c +c +c +d +d +d +c +a +"} +(6,1,1) = {" +a +a +a +b +c +c +c +c +c +c +c +c +b +c +c +c +c +c +b +a +"} +(7,1,1) = {" +a +a +a +a +b +b +c +d +c +c +b +b +b +b +c +c +c +c +b +a +"} +(8,1,1) = {" +a +a +a +b +b +c +c +c +c +b +b +b +f +b +b +c +c +b +b +b +"} +(9,1,1) = {" +a +a +a +b +b +c +c +c +c +b +b +e +b +b +b +c +c +c +b +b +"} +(10,1,1) = {" +a +a +a +b +b +c +c +b +b +b +b +b +b +b +c +c +c +c +c +b +"} +(11,1,1) = {" +a +a +a +b +b +c +c +c +c +c +b +b +c +c +c +c +d +d +b +b +"} +(12,1,1) = {" +a +a +a +a +b +d +d +c +c +c +c +c +c +c +c +c +d +d +b +b +"} +(13,1,1) = {" +a +a +a +a +b +d +d +c +c +c +d +c +c +c +c +c +c +b +b +a +"} +(14,1,1) = {" +a +a +a +a +b +d +d +c +c +c +c +c +c +c +c +b +b +b +a +a +"} +(15,1,1) = {" +a +a +b +a +b +c +c +c +c +c +c +c +c +c +c +b +a +a +a +b +"} +(16,1,1) = {" +a +a +a +a +b +b +b +c +c +c +c +c +c +b +b +a +a +a +a +a +"} +(17,1,1) = {" +a +a +a +a +a +b +b +c +c +d +d +c +c +b +b +a +a +a +a +a +"} +(18,1,1) = {" +a +a +a +a +a +a +a +a +c +d +d +a +a +a +a +a +a +a +a +a +"} +(19,1,1) = {" +a +a +a +a +b +a +a +a +a +a +a +a +a +a +b +a +a +a +b +a +"} +(20,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a "} diff --git a/_maps/RandomRuins/SpaceRuins/asteroid4.dmm b/_maps/RandomRuins/SpaceRuins/asteroid4.dmm index 5fc9d7c285d..03ecac37384 100644 --- a/_maps/RandomRuins/SpaceRuins/asteroid4.dmm +++ b/_maps/RandomRuins/SpaceRuins/asteroid4.dmm @@ -1,39 +1,519 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/turf/closed/mineral,/area/ruin/unpowered/no_grav) -"c" = (/turf/closed/mineral/random/high_chance,/area/ruin/unpowered/no_grav) -"d" = (/turf/closed/mineral,/area/ruin/unpowered) -"e" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered/no_grav) -"f" = (/turf/closed/mineral/random/high_chance,/area/ruin/unpowered) -"g" = (/turf/closed/mineral/clown,/area/ruin/unpowered) -"h" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered) -"i" = (/turf/open/floor/plating/asteroid,/area/ruin/unpowered) -"j" = (/turf/open/floor/plating/asteroid,/turf/closed/wall/mineral/titanium,/area/ruin/unpowered) -"k" = (/turf/open/floor/plating,/obj/item/stack/sheet/mineral/bananium{amount = 15},/turf/closed/wall/mineral/titanium,/area/ruin/unpowered) -"l" = (/turf/closed/wall/mineral/titanium,/area/ruin/unpowered) -"m" = (/obj/structure/chair{dir = 1},/obj/item/weapon/shard,/obj/effect/mob_spawn/human/clown{brute_damage = 120;oxy_damage = 75},/obj/item/weapon/paper{info = "Extraction was successful! The disguise was perfect, the clowns never knew what hit 'em! Once I get back to base with the bananium samples I'll be rich, I tell you! RICH!"},/obj/item/stack/sheet/mineral/bananium{amount = 15},/turf/open/floor/mineral/titanium/blue,/area/ruin/unpowered) -"n" = (/obj/structure/chair{dir = 1},/obj/item/weapon/storage/pod{pixel_x = -26},/turf/open/floor/mineral/titanium/blue,/area/ruin/unpowered) -"o" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/closed/wall/mineral/titanium/overspace,/area/ruin/unpowered) -"p" = (/obj/machinery/door/airlock/titanium{name = "Escape Pod Airlock"},/turf/open/floor/mineral/titanium/blue,/area/ruin/unpowered) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/closed/mineral, +/area/ruin/unpowered/no_grav) +"c" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/unpowered/no_grav) +"d" = ( +/turf/closed/mineral, +/area/ruin/unpowered) +"e" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"f" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/unpowered) +"g" = ( +/turf/closed/mineral/clown, +/area/ruin/unpowered) +"h" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"i" = ( +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"j" = ( +/turf/open/floor/plating/asteroid, +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered) +"k" = ( +/turf/open/floor/plating, +/obj/item/stack/sheet/mineral/bananium{ + amount = 15 + }, +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered) +"l" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered) +"m" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/item/weapon/shard, +/obj/effect/mob_spawn/human/clown{ + brute_damage = 120; + oxy_damage = 75 + }, +/obj/item/weapon/paper{ + info = "Extraction was successful! The disguise was perfect, the clowns never knew what hit 'em! Once I get back to base with the bananium samples I'll be rich, I tell you! RICH!" + }, +/obj/item/stack/sheet/mineral/bananium{ + amount = 15 + }, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/unpowered) +"n" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/item/weapon/storage/pod{ + pixel_x = -26 + }, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/unpowered) +"o" = ( +/obj/structure/shuttle/engine/propulsion/burst, +/turf/closed/wall/mineral/titanium/overspace, +/area/ruin/unpowered) +"p" = ( +/obj/machinery/door/airlock/titanium{ + name = "Escape Pod Airlock" + }, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/unpowered) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaa -aabbbaaaaaaaaaaaaaaa -acccbbbbaaaaaaaaaaaa -acccbbcbbbaaaaaadaaa -abbbbbbbbbbaaaaddaaa -abeebbbbbbcaaaadddaa -aaeeebbbbbcaaaaddaaa -aaaeeeeebaaaaadddaaa -aaaaaeeebaaaaaddaaaa -aaaaaaaaaaaaaaddaaaa -aaaaaaaaaaaaffddaaaa -aaabaaaaaaddffdaaaaa -aaabaaaaadddgddaaaaa -aabbbaaahddggidfaaaa -aabbbaaahhdjkjdfaaaa -abbbbaaahhdlmlddaaaa -abbaaaaaaadlnldaaaaa -aaaaabaaaaaopoaaaaaa -aaabaaaaaaaaaaaaaaaa +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +c +c +b +b +a +a +a +a +a +a +a +a +a +b +b +a +a +"} +(3,1,1) = {" +a +a +b +c +c +b +e +e +a +a +a +a +a +a +b +b +b +b +a +a +"} +(4,1,1) = {" +a +a +b +c +c +b +e +e +e +a +a +a +b +b +b +b +b +a +a +b +"} +(5,1,1) = {" +a +a +b +b +b +b +b +e +e +a +a +a +a +a +b +b +b +a +a +a +"} +(6,1,1) = {" +a +a +a +b +b +b +b +b +e +e +a +a +a +a +a +a +a +a +b +a +"} +(7,1,1) = {" +a +a +a +b +c +b +b +b +e +e +a +a +a +a +a +a +a +a +a +a +"} +(8,1,1) = {" +a +a +a +b +b +b +b +b +e +e +a +a +a +a +a +a +a +a +a +a +"} +(9,1,1) = {" +a +a +a +a +b +b +b +b +b +b +a +a +a +a +h +h +h +a +a +a +"} +(10,1,1) = {" +a +a +a +a +b +b +b +b +a +a +a +a +a +d +d +h +h +a +a +a +"} +(11,1,1) = {" +a +a +a +a +a +b +c +c +a +a +a +a +d +d +d +d +d +d +a +a +"} +(12,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +d +d +g +j +l +l +o +a +"} +(13,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +f +f +g +g +k +m +n +p +a +"} +(14,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +f +f +d +i +j +l +l +o +a +"} +(15,1,1) = {" +a +a +a +a +a +a +a +a +d +d +d +d +d +d +d +d +d +d +a +a +"} +(16,1,1) = {" +a +a +a +a +a +d +d +d +d +d +d +d +a +a +f +f +d +a +a +a +"} +(17,1,1) = {" +a +a +a +a +d +d +d +d +d +a +a +a +a +a +a +a +a +a +a +a +"} +(18,1,1) = {" +a +a +a +a +a +a +d +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(19,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(20,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a "} diff --git a/_maps/RandomRuins/SpaceRuins/asteroid5.dmm b/_maps/RandomRuins/SpaceRuins/asteroid5.dmm index f64660b3188..ed4e0743c64 100644 --- a/_maps/RandomRuins/SpaceRuins/asteroid5.dmm +++ b/_maps/RandomRuins/SpaceRuins/asteroid5.dmm @@ -1,47 +1,1694 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/turf/closed/mineral,/area/ruin/unpowered) -"c" = (/turf/closed/mineral/random/high_chance,/area/ruin/unpowered) -"d" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/closed/mineral, +/area/ruin/unpowered) +"c" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/unpowered) +"d" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaabbbccccbaaaaaaaaaaaaaaaaa -aaaaaaaaaabbbbbbbbccccbbbbbbaaaaaaaaaaaa -aaaaaaaabbbbbbbbbbdddbbbbbbbbaaaaaaaaaaa -aaaaaccccbbbbbbdddddddddcbbccaaaaaaaaaaa -aaaaaccccbbbbccddddddddddbbccaaaaaaaaaaa -aaabbccccbbbddddddaaaaaddddbbaaaaaaaaaaa -aaabbbccbbcdddaaaaaaaaaadddbbbaaaaaaaaaa -aaacbbbbbdddaaaaaabbbaaadddbbbaaaaaaaaaa -aaacbbbbbddaaaaaaabbbaaaaaaabbaaaaaaaaaa -aaaabbbbdddaaaaaaaabbaaaaaaabbaaaaaaabaa -aaaaabbbddaaaaaaaaaaaaaaaaaabbaaaaaabcaa -aaaaabbbddaaaaabaaaaaaaaaaabbaaaaaabccca -aaaaabbbddddaaaaaaaaaaaaaaabbaaaaaabccca -aaaaaaccbdddaaaaaaaaaaaaaaaaaaaaaaabccca -aaaaaaccbdddaaaaaaabbaabaaaaaaaaadddbbba -aaaaaaccbbcbaaaaabbbbaaaaaaaaaadddddbbaa -aaaaaaaaaaaaaaaaabbcbaaaaaaaaaadddddbbaa -aaaaaaaaaaaaaaaaabbcaaaaaaaadddddddbbbaa -aaaaaaaaaaaaaaaaaabbaaaaaaaaddddbddbbbba -aaaaaaaaaaaaaaaaaaaaaaaaaaaaddddbddbbbba -aaaaaaaaaaaaaaaaaaaaaaaaaaaabcbbbdddbcba -aaaaaaaaaaaaabdddddbbbaaaaabbbbbbcdddcba -aaaaaaaaabdddddddddddddaaaaabbbbbcdddbba -aaaaaaabddddddbbbbbbdddaaaaaaabbbcddbbaa -aaaaaabddddbcccccbbbddddbaaaaabbbbbbbbaa -aaaaaabddbbbcccccbbbbccdcaaaaabbbbbbbbaa -aaaaddddbbcccbbbbbbbbccdddaaaaabccbbaaaa -aaaaddddbbccdddbbbdddccdddaaaaaaabbcaaaa -aaaddddbbbccdddbdddddbbdddaaaaaaaaaaaaaa -aaaddddcccccdcbbddddddddddaaaaaaaaaaaaaa -abbdddbccccdddddddcbddddddaaaaaaaaaaaaaa -accbbbbccccdddddddbbbbbbbcaaaaaaaaaaaaaa -acccbbbccccddddddbbbbbbbbcaaaaaaaaaaaaaa -acccbbbbbbbbbbbbbbccbbbbbbaaaaaaaaabbaaa -aaccbbbbbbbbbbbbbbccbbbbbaaaaaaaaabbbaaa -aabbbbbbccbbbbbbbbbbbbbbbaaaaaaaabbbbaaa -aaabbbbbccbabbbbbccccbbbbaaaaaaaabbbaaaa -aaabbbbbaaaaaaaabccccbbaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +c +c +c +a +a +a +a +a +"} +(3,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +c +c +c +c +b +a +a +a +"} +(4,1,1) = {" +a +a +a +a +a +a +b +b +c +c +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +b +c +c +c +b +b +b +a +"} +(5,1,1) = {" +a +a +a +a +a +a +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +d +d +b +b +b +b +b +b +b +a +"} +(6,1,1) = {" +a +a +a +a +c +c +c +b +b +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +d +d +b +b +b +b +b +b +b +a +"} +(7,1,1) = {" +a +a +a +a +c +c +c +c +b +b +b +b +b +b +c +c +c +a +a +a +a +a +a +a +a +b +b +d +d +d +d +b +b +b +b +b +b +b +b +a +"} +(8,1,1) = {" +a +a +a +a +c +c +c +c +b +b +b +b +b +b +c +c +c +a +a +a +a +a +a +a +b +d +d +d +d +b +c +c +c +c +b +b +b +b +b +a +"} +(9,1,1) = {" +a +a +a +b +c +c +c +b +b +b +d +d +d +d +b +b +b +a +a +a +a +a +a +a +d +d +d +b +b +b +c +c +c +c +b +b +c +c +a +a +"} +(10,1,1) = {" +a +a +a +b +b +b +b +b +d +d +d +d +d +d +d +d +b +a +a +a +a +a +a +b +d +d +b +b +b +b +c +c +c +c +b +b +c +c +a +a +"} +(11,1,1) = {" +a +a +b +b +b +b +b +c +d +d +d +a +a +d +d +d +c +a +a +a +a +a +a +d +d +d +b +c +c +c +c +c +c +c +b +b +b +b +a +a +"} +(12,1,1) = {" +a +a +b +b +b +b +b +d +d +a +a +a +a +d +d +d +b +a +a +a +a +a +a +d +d +b +b +c +c +c +c +d +d +d +b +b +b +a +a +a +"} +(13,1,1) = {" +a +a +b +b +b +b +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +c +c +c +d +d +d +d +d +d +b +b +b +b +a +a +"} +(14,1,1) = {" +a +a +b +b +b +c +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +d +d +c +c +b +d +d +c +d +d +d +b +b +b +b +a +a +"} +(15,1,1) = {" +a +a +b +b +b +c +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +b +c +c +b +d +d +b +d +d +d +b +b +b +b +a +a +"} +(16,1,1) = {" +a +b +b +b +d +d +d +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +d +d +b +c +c +b +b +b +b +d +d +d +b +b +b +b +a +a +"} +(17,1,1) = {" +a +b +b +b +d +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +b +c +c +b +b +d +d +d +d +d +b +b +b +b +b +a +"} +(18,1,1) = {" +a +b +b +b +d +d +d +a +a +a +a +a +a +a +a +a +b +b +b +a +a +a +d +d +b +b +b +b +b +d +d +d +d +b +b +b +b +c +c +a +"} +(19,1,1) = {" +a +c +c +d +d +d +a +a +b +b +a +a +a +a +a +a +b +b +b +b +a +a +d +d +b +b +b +b +d +d +d +c +b +b +c +c +b +c +c +a +"} +(20,1,1) = {" +a +c +c +d +d +d +a +a +b +b +b +a +a +a +a +b +b +c +c +b +a +a +b +d +b +b +b +b +d +d +d +b +b +b +c +c +b +c +c +a +"} +(21,1,1) = {" +a +c +c +d +d +d +a +a +b +b +b +a +a +a +a +b +b +b +a +a +a +a +b +d +d +d +b +b +d +d +d +d +b +b +b +b +b +c +c +a +"} +(22,1,1) = {" +a +c +c +b +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +d +d +d +c +c +c +b +d +d +b +b +b +b +b +b +b +a +"} +(23,1,1) = {" +a +b +b +b +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +c +c +c +b +d +d +b +b +b +b +b +b +b +a +"} +(24,1,1) = {" +a +a +b +b +d +d +d +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +d +d +d +d +d +d +d +b +b +b +b +b +b +a +a +"} +(25,1,1) = {" +a +a +b +b +c +d +d +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +c +d +d +d +d +d +b +b +b +b +b +b +a +a +"} +(26,1,1) = {" +a +a +b +b +b +b +d +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +d +d +c +c +b +a +a +a +a +a +"} +(27,1,1) = {" +a +a +b +b +b +b +d +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(28,1,1) = {" +a +a +b +b +c +c +b +b +b +a +a +a +b +b +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(29,1,1) = {" +a +a +a +b +c +c +b +b +b +b +b +b +b +b +a +a +a +a +d +d +d +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(30,1,1) = {" +a +a +a +a +a +a +a +b +b +b +b +b +a +a +a +a +a +a +d +d +d +c +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(31,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +b +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(32,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +d +d +b +b +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +"} +(33,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +b +b +b +b +b +b +b +b +c +a +a +a +a +a +a +a +a +a +a +a +a +"} +(34,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +d +d +d +d +c +c +c +b +b +c +b +a +a +a +a +a +a +a +b +b +a +a +"} +(35,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +d +d +d +d +d +d +d +b +b +b +b +a +a +a +a +a +a +b +b +b +a +a +"} +(36,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +d +d +d +b +b +b +d +d +d +d +b +b +b +c +a +a +a +a +a +b +b +b +b +a +a +"} +(37,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +b +c +c +c +b +b +b +b +b +b +b +d +d +b +b +b +a +a +a +a +a +a +a +b +b +b +a +a +a +"} +(38,1,1) = {" +a +a +a +a +a +a +a +a +a +a +b +c +c +c +c +b +b +b +b +b +b +c +c +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(39,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +c +c +c +b +a +a +a +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(40,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a "} diff --git a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm index 3924c9f0513..c06cd207027 100644 --- a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm +++ b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ab" = ( /turf/closed/wall, /area/ruin/derelictoutpost/cargobay) @@ -313,8 +313,8 @@ /area/ruin/derelictoutpost/cargobay) "aY" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "aZ" = ( /turf/closed/wall, /area/ruin/derelictoutpost) diff --git a/_maps/RandomRuins/SpaceRuins/caravanambush.dmm b/_maps/RandomRuins/SpaceRuins/caravanambush.dmm index 91b8ebc3f06..f94f4da1ef6 100644 --- a/_maps/RandomRuins/SpaceRuins/caravanambush.dmm +++ b/_maps/RandomRuins/SpaceRuins/caravanambush.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ab" = ( /turf/closed/wall/mineral/plastitanium, /area/ruin/powered) @@ -16,7 +16,7 @@ /turf/closed/wall, /area/ruin/powered) "ae" = ( -/turf/open/space, +/turf/template_noop, /turf/closed/wall/mineral/plastitanium{ dir = 1; icon_state = "diagonalWall3" @@ -175,16 +175,16 @@ /area/ruin/unpowered/no_grav) "aD" = ( /obj/item/stack/rods, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "aE" = ( /obj/structure/fluff/broken_flooring{ tag = "icon-pile (EAST)"; icon_state = "pile"; dir = 4 }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "aF" = ( /mob/living/simple_animal/hostile/pirate, /turf/open/floor/plasteel, @@ -259,8 +259,8 @@ tag = "icon-singular"; icon_state = "singular" }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "aU" = ( /obj/structure/rack, /obj/item/weapon/tank/internals/plasma/full, @@ -281,14 +281,14 @@ /turf/open/floor/mineral/plastitanium/airless, /area/ruin/unpowered/no_grav) "aX" = ( -/turf/open/space, +/turf/template_noop, /turf/open/floor/plating/airless{ icon = 'icons/obj/smooth_structures/lattice.dmi'; icon_plating = "lattice"; icon_state = "lattice"; name = "anchor chain" }, -/area/space) +/area/template_noop) "aY" = ( /obj/structure/statue/gold/cmo, /turf/open/floor/plasteel, @@ -307,7 +307,7 @@ /turf/open/floor/plasteel, /area/ruin/powered) "bb" = ( -/turf/open/space, +/turf/template_noop, /turf/closed/wall/mineral/plastitanium{ dir = 4; icon_state = "diagonalWall3" @@ -358,8 +358,8 @@ /area/ruin/unpowered/no_grav) "bk" = ( /obj/structure/girder, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bl" = ( /turf/closed/wall/mineral/titanium, /area/ruin/unpowered) @@ -399,16 +399,16 @@ icon_state = "pile"; dir = 8 }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "br" = ( /obj/item/stack/sheet/metal, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bs" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bt" = ( /turf/open/floor/plating/airless{ icon_plating = "platingdmg3"; @@ -456,8 +456,8 @@ tag = "icon-pile"; icon_state = "pile" }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bB" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ @@ -519,8 +519,8 @@ icon_state = "plating"; dir = 1 }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bL" = ( /obj/machinery/door/airlock/titanium, /turf/open/floor/mineral/titanium/yellow/airless, @@ -543,7 +543,7 @@ }, /area/ruin/unpowered) "bP" = ( -/turf/open/space, +/turf/template_noop, /turf/closed/wall/mineral/plastitanium{ dir = 8; icon_state = "diagonalWall3" @@ -556,8 +556,8 @@ dir = 1 }, /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bR" = ( /obj/structure/girder, /turf/open/floor/plating/airless{ @@ -664,10 +664,10 @@ dir = 4 }, /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ch" = ( -/turf/open/space, +/turf/template_noop, /obj/item/stack/rods, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ @@ -792,7 +792,7 @@ }, /area/ruin/unpowered) "cx" = ( -/turf/open/space, +/turf/template_noop, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ icon_plating = "platingdmg2"; @@ -936,8 +936,8 @@ dir = 8 }, /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "cS" = ( /obj/machinery/door/airlock/external{ icon_state = "door_locked"; @@ -1008,8 +1008,8 @@ /area/ruin/unpowered) "dc" = ( /obj/item/weapon/shard, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "dd" = ( /obj/structure/chair{ dir = 4 diff --git a/_maps/RandomRuins/SpaceRuins/crashedclownship.dmm b/_maps/RandomRuins/SpaceRuins/crashedclownship.dmm index 0dd2e116108..d96f9b85f1b 100644 --- a/_maps/RandomRuins/SpaceRuins/crashedclownship.dmm +++ b/_maps/RandomRuins/SpaceRuins/crashedclownship.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "b" = ( /turf/closed/mineral/random, /area/ruin/unpowered/no_grav) @@ -74,7 +74,7 @@ dir = 4; icon_state = "propulsion_l" }, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered) "n" = ( /turf/closed/mineral/random, diff --git a/_maps/RandomRuins/SpaceRuins/crashedship.dmm b/_maps/RandomRuins/SpaceRuins/crashedship.dmm index a4ee4df091a..192657641fd 100644 --- a/_maps/RandomRuins/SpaceRuins/crashedship.dmm +++ b/_maps/RandomRuins/SpaceRuins/crashedship.dmm @@ -1,12 +1,12 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ab" = ( /obj/item/weapon/circular_saw, /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ac" = ( /turf/closed/wall/mineral/titanium, /area/awaymission/BMPship/Aft) @@ -65,8 +65,8 @@ /area/awaymission/BMPship/Aft) "am" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "an" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -847,7 +847,7 @@ /area/awaymission/BMPship/Aft) "cF" = ( /turf/closed/wall/mineral/titanium/overspace, -/area/space) +/area/template_noop) "cG" = ( /turf/open/floor/carpet, /turf/closed/wall/mineral/titanium/interior, @@ -1131,7 +1131,7 @@ dir = 4; icon_state = "propulsion" }, -/turf/open/space, +/turf/template_noop, /area/awaymission/BMPship/Aft) "dt" = ( /obj/structure/table, @@ -1940,7 +1940,7 @@ /area/awaymission/BMPship/Fore) "fu" = ( /obj/structure/lattice, -/turf/open/space, +/turf/template_noop, /area/awaymission/BMPship/Fore) "fv" = ( /turf/open/floor/plating/airless{ @@ -2483,8 +2483,8 @@ /obj/item/weapon/shard{ icon_state = "medium" }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ha" = ( /turf/open/floor/plating/airless{ broken = 1; diff --git a/_maps/RandomRuins/SpaceRuins/derelict1.dmm b/_maps/RandomRuins/SpaceRuins/derelict1.dmm index 22d3823d318..d530f2134ab 100644 --- a/_maps/RandomRuins/SpaceRuins/derelict1.dmm +++ b/_maps/RandomRuins/SpaceRuins/derelict1.dmm @@ -1,61 +1,1762 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/obj/structure/lattice,/turf/open/space,/area/space) -"c" = (/turf/closed/wall,/area/ruin/unpowered) -"d" = (/obj/structure/alien/weeds,/obj/structure/alien/resin/membrane,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"e" = (/obj/structure/girder,/obj/structure/alien/weeds,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"f" = (/obj/structure/alien/weeds,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"g" = (/obj/structure/alien/weeds,/obj/structure/table_frame,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"h" = (/obj/structure/alien/weeds/node,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"i" = (/obj/structure/alien/weeds,/obj/structure/bed/nest,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"j" = (/obj/structure/alien/weeds,/obj/structure/bed/nest,/obj/effect/decal/remains/human,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"k" = (/obj/structure/alien/resin/wall,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"l" = (/obj/structure/alien/resin/membrane,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"m" = (/obj/structure/alien/weeds,/obj/structure/table,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"n" = (/obj/structure/alien/weeds,/obj/effect/decal/remains/robot,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"o" = (/obj/structure/alien/weeds/node,/obj/structure/table,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"p" = (/obj/structure/girder,/turf/open/floor/plating/airless,/area/ruin/unpowered) -"q" = (/turf/open/floor/plating/airless,/area/ruin/unpowered) -"r" = (/obj/structure/alien/weeds,/obj/structure/bed/nest,/obj/effect/decal/remains/xeno,/turf/open/floor/plating/airless,/area/ruin/unpowered) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"c" = ( +/turf/closed/wall, +/area/ruin/unpowered) +"d" = ( +/obj/structure/alien/weeds, +/obj/structure/alien/resin/membrane, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"e" = ( +/obj/structure/girder, +/obj/structure/alien/weeds, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"f" = ( +/obj/structure/alien/weeds, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"g" = ( +/obj/structure/alien/weeds, +/obj/structure/table_frame, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"h" = ( +/obj/structure/alien/weeds/node, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"i" = ( +/obj/structure/alien/weeds, +/obj/structure/bed/nest, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"j" = ( +/obj/structure/alien/weeds, +/obj/structure/bed/nest, +/obj/effect/decal/remains/human, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"k" = ( +/obj/structure/alien/resin/wall, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"l" = ( +/obj/structure/alien/resin/membrane, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"m" = ( +/obj/structure/alien/weeds, +/obj/structure/table, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"n" = ( +/obj/structure/alien/weeds, +/obj/effect/decal/remains/robot, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"o" = ( +/obj/structure/alien/weeds/node, +/obj/structure/table, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"p" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"q" = ( +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"r" = ( +/obj/structure/alien/weeds, +/obj/structure/bed/nest, +/obj/effect/decal/remains/xeno, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaabbbaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaabbbbaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaabbbaabbbbbbbaaaaaaaaaaaaaaa -aaaaaaaaaaabbbbbcccccdcccaaaaaaaaaaaaaaa -aaaaaaaaaabbbbbefcghcfijcbbbbbaaaaaaaaaa -aaaaaaaaabbbbkkffcffcfffccbbbbbaaaaaaaaa -aaaaaaaaabbbkffhfcffcfhffcclbbbaaaaaaaaa -aaaaaaaaaabkffiffcffcfffffmlbbbaaaaaaaaa -aaaaaaaaaabcfffffffffffffnopbbaaaaaaaaaa -aaaaaaaaaaaaecceccffcccecccpbaaaaaaaaaaa -aaaaaaaaaaaaacmfjffffffifcaaaaaaaaaaaaaa -aaaaaaaaaaabccmhfjffffhficaaaaaaaaaaaaaa -aaaaaaaaaabbdffffffffiffkqbaaaaaaaaaaaaa -aaaaaaaaaabbpcccccffccckqbbaaaaaaaaaaaaa -aaaaaaaaaabbbbbchfffficqpbaaaaaaaaaaaaaa -aaaaaaaaaabbbaacfffffgcbbbaaaaaaaaaaaaaa -aaaaaaaaaabbaaacelfrfdhbbaaaaaaaaaaaaaaa -aaaaaaaaaabaaaaabblddbbbbaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaabqbbbbbaaaaaaaaaaaaaaaa -aaaaaaaaabaaaaaaaabbbaaaaaaaaaaaaaaaaaaa -aaaaaaabbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaabaacbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aabbbcqqbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -abbqqqqqbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -bpcqqqqqbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -bpqqqqcbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -bpqqqqqbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -accccpbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaabbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +p +p +p +c +a +a +a +a +"} +(3,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +c +q +q +c +a +a +a +a +"} +(4,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +q +q +q +q +c +b +a +a +a +"} +(5,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +q +q +q +q +c +b +a +a +a +"} +(6,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +c +q +q +q +q +p +b +a +a +a +"} +(7,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +c +q +q +q +c +q +b +b +a +a +a +"} +(8,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +q +q +q +b +b +b +a +a +a +a +"} +(9,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +b +b +b +a +a +a +a +a +a +"} +(10,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +a +a +a +a +a +a +a +a +a +a +a +a +b +b +a +b +b +b +a +a +a +a +a +a +a +"} +(11,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +b +b +a +a +a +b +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(12,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +b +b +b +b +k +c +a +a +b +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(13,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +b +b +b +k +f +f +e +a +c +d +p +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(14,1,1) = {" +a +a +a +a +a +a +a +a +a +a +b +b +b +k +f +f +f +c +c +c +f +c +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(15,1,1) = {" +a +a +a +a +a +a +a +a +a +a +b +b +b +k +f +i +f +c +m +m +f +c +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(16,1,1) = {" +a +a +a +a +a +a +a +a +a +a +b +b +e +f +h +f +f +e +f +h +f +c +c +c +c +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(17,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +c +f +f +f +f +f +c +j +f +f +c +h +f +e +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(18,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +c +c +c +c +c +f +c +f +j +f +c +f +f +l +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(19,1,1) = {" +a +a +a +a +a +a +a +a +a +a +b +c +g +f +f +f +f +f +f +f +f +f +f +f +f +l +q +b +a +a +a +a +a +a +a +a +a +a +a +a +"} +(20,1,1) = {" +a +a +a +a +a +a +a +a +a +b +b +c +h +f +f +f +f +f +f +f +f +f +f +f +r +d +b +b +a +a +a +a +a +a +a +a +a +a +a +a +"} +(21,1,1) = {" +a +a +a +a +a +a +a +a +b +b +b +c +c +c +c +c +f +c +f +f +f +c +f +f +f +d +b +b +a +a +a +a +a +a +a +a +a +a +a +a +"} +(22,1,1) = {" +a +a +a +a +a +a +a +a +b +b +b +d +f +f +f +f +f +c +f +f +i +c +i +g +d +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(23,1,1) = {" +a +a +a +a +a +a +a +a +b +b +b +c +i +f +h +f +f +c +f +h +f +c +c +c +h +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(24,1,1) = {" +a +a +a +a +a +a +a +a +a +a +b +c +j +f +f +f +f +e +i +f +f +k +q +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(25,1,1) = {" +a +a +a +a +a +a +a +a +a +a +b +c +c +c +f +f +f +c +f +i +k +q +p +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(26,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +b +c +c +f +n +c +c +c +q +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(27,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +b +b +c +m +o +c +a +a +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(28,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +b +b +l +l +p +p +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(29,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(30,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(31,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(32,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(33,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(34,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(35,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(36,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(37,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(38,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(39,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(40,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a "} diff --git a/_maps/RandomRuins/SpaceRuins/derelict2.dmm b/_maps/RandomRuins/SpaceRuins/derelict2.dmm index dd90813044e..8e0aced9bdb 100644 --- a/_maps/RandomRuins/SpaceRuins/derelict2.dmm +++ b/_maps/RandomRuins/SpaceRuins/derelict2.dmm @@ -1,61 +1,1809 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/obj/structure/window/reinforced{tag = "icon-rwindow (EAST)";icon_state = "rwindow";dir = 4},/turf/open/space,/area/space) -"c" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating,/area/ruin/powered/dinner_for_two) -"d" = (/obj/structure/window/reinforced{tag = "icon-rwindow (WEST)";icon_state = "rwindow";dir = 8},/turf/open/space,/area/space) -"e" = (/obj/structure/window/reinforced{tag = "icon-rwindow (EAST)";icon_state = "rwindow";dir = 4},/obj/structure/window/reinforced{tag = "icon-rwindow (WEST)";icon_state = "rwindow";dir = 8},/turf/open/floor/plating,/area/ruin/powered/dinner_for_two) -"f" = (/turf/closed/wall,/area/ruin/powered/dinner_for_two) -"g" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/plating,/area/ruin/powered/dinner_for_two) -"h" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)";icon_state = "bulb1";dir = 1},/turf/open/floor/plasteel,/area/ruin/powered/dinner_for_two) -"i" = (/turf/open/floor/plasteel,/area/ruin/powered/dinner_for_two) -"j" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)";icon_state = "bulb1";dir = 4},/turf/open/floor/plasteel,/area/ruin/powered/dinner_for_two) -"k" = (/obj/structure/window/reinforced,/turf/open/space,/area/space) -"l" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-rwindow (NORTH)";icon_state = "rwindow";dir = 1},/turf/open/floor/plating,/area/ruin/powered/dinner_for_two) -"m" = (/obj/structure/chair{tag = "icon-chair (EAST)";icon_state = "chair";dir = 4},/obj/effect/decal/remains/human,/turf/open/floor/plasteel,/area/ruin/powered/dinner_for_two) -"n" = (/obj/structure/table,/obj/item/candle{pixel_y = 5},/obj/item/trash/plate{pixel_x = 10},/obj/item/trash/plate{pixel_x = -10},/turf/open/floor/plasteel,/area/ruin/powered/dinner_for_two) -"o" = (/obj/structure/chair{tag = "icon-chair (WEST)";icon_state = "chair";dir = 8},/obj/effect/decal/remains/human,/turf/open/floor/plasteel,/area/ruin/powered/dinner_for_two) -"p" = (/obj/structure/window/reinforced{tag = "icon-rwindow (NORTH)";icon_state = "rwindow";dir = 1},/turf/open/space,/area/space) -"q" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)";icon_state = "bulb1";dir = 8},/turf/open/floor/plasteel,/area/ruin/powered/dinner_for_two) -"r" = (/obj/machinery/light/small,/turf/open/floor/plasteel,/area/ruin/powered/dinner_for_two) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/open/space, +/area/space) +"b" = ( +/obj/structure/window/reinforced{ + tag = "icon-rwindow (EAST)"; + icon_state = "rwindow"; + dir = 4 + }, +/turf/open/space, +/area/space) +"c" = ( +/obj/machinery/door/airlock/external, +/turf/open/floor/plating, +/area/ruin/powered/dinner_for_two) +"d" = ( +/obj/structure/window/reinforced{ + tag = "icon-rwindow (WEST)"; + icon_state = "rwindow"; + dir = 8 + }, +/turf/open/space, +/area/space) +"e" = ( +/obj/structure/window/reinforced{ + tag = "icon-rwindow (EAST)"; + icon_state = "rwindow"; + dir = 4 + }, +/obj/structure/window/reinforced{ + tag = "icon-rwindow (WEST)"; + icon_state = "rwindow"; + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/powered/dinner_for_two) +"f" = ( +/turf/closed/wall, +/area/ruin/powered/dinner_for_two) +"g" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating, +/area/ruin/powered/dinner_for_two) +"h" = ( +/obj/machinery/light/small{ + tag = "icon-bulb1 (NORTH)"; + icon_state = "bulb1"; + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/powered/dinner_for_two) +"i" = ( +/turf/open/floor/plasteel, +/area/ruin/powered/dinner_for_two) +"j" = ( +/obj/machinery/light/small{ + tag = "icon-bulb1 (EAST)"; + icon_state = "bulb1"; + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/powered/dinner_for_two) +"k" = ( +/obj/structure/window/reinforced, +/turf/open/space, +/area/space) +"l" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + tag = "icon-rwindow (NORTH)"; + icon_state = "rwindow"; + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/powered/dinner_for_two) +"m" = ( +/obj/structure/chair{ + tag = "icon-chair (EAST)"; + icon_state = "chair"; + dir = 4 + }, +/obj/effect/decal/remains/human, +/turf/open/floor/plasteel, +/area/ruin/powered/dinner_for_two) +"n" = ( +/obj/structure/table, +/obj/item/candle{ + pixel_y = 5 + }, +/obj/item/trash/plate{ + pixel_x = 10 + }, +/obj/item/trash/plate{ + pixel_x = -10 + }, +/turf/open/floor/plasteel, +/area/ruin/powered/dinner_for_two) +"o" = ( +/obj/structure/chair{ + tag = "icon-chair (WEST)"; + icon_state = "chair"; + dir = 8 + }, +/obj/effect/decal/remains/human, +/turf/open/floor/plasteel, +/area/ruin/powered/dinner_for_two) +"p" = ( +/obj/structure/window/reinforced{ + tag = "icon-rwindow (NORTH)"; + icon_state = "rwindow"; + dir = 1 + }, +/turf/open/space, +/area/space) +"q" = ( +/obj/machinery/light/small{ + tag = "icon-bulb1 (WEST)"; + icon_state = "bulb1"; + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/powered/dinner_for_two) +"r" = ( +/obj/machinery/light/small, +/turf/open/floor/plasteel, +/area/ruin/powered/dinner_for_two) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaabcdaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaabedaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaabedaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaabedaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaafgcgfaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaafhiiiifaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaafiiiiiijfaaaaaaaaaaaaaaa -aaaaaaaaaaaakkkkgiiiiiiigkkkkaaaaaaaaaaa -aaaaaaaaaaaaclllciimnoiiclllcaaaaaaaaaaa -aaaaaaaaaaaappppgiiiiiiigppppaaaaaaaaaaa -aaaaaaaaaaaaaaaafqiiiiiifaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaafiiiirfaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaafgcgfaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaabedaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaabedaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaabedaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaabcdaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(3,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(4,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(5,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(6,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(7,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(8,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(9,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(10,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(11,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(12,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(13,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +k +c +p +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(14,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +k +l +p +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(15,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +k +l +p +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(16,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +k +l +p +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(17,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +f +g +c +g +f +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(18,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +f +i +i +i +i +q +f +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(19,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +f +h +i +i +i +i +i +i +f +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(20,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +b +b +b +b +g +i +i +i +m +i +i +i +g +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +"} +(21,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +c +e +e +e +c +i +i +i +n +i +i +i +c +e +e +e +c +a +a +a +a +a +a +a +a +a +a +a +a +"} +(22,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +d +d +d +d +g +i +i +i +o +i +i +i +g +d +d +d +d +a +a +a +a +a +a +a +a +a +a +a +a +"} +(23,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +f +i +i +i +i +i +i +r +f +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(24,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +f +j +i +i +i +i +f +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(25,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +f +g +c +g +f +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(26,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +k +l +p +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(27,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +k +l +p +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(28,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +k +l +p +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(29,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +k +c +p +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(30,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(31,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(32,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(33,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(34,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(35,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(36,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(37,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(38,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(39,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(40,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a "} diff --git a/_maps/RandomRuins/SpaceRuins/derelict3.dmm b/_maps/RandomRuins/SpaceRuins/derelict3.dmm index 5e85e5a3b69..56c1e2c9193 100644 --- a/_maps/RandomRuins/SpaceRuins/derelict3.dmm +++ b/_maps/RandomRuins/SpaceRuins/derelict3.dmm @@ -1,48 +1,1700 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/turf/open/floor/plating/airless,/area/ruin/unpowered/no_grav) -"c" = (/turf/closed/wall,/area/ruin/unpowered/no_grav) -"d" = (/obj/structure/lattice,/turf/open/space,/area/space) -"e" = (/obj/structure/lattice,/obj/structure/lattice,/turf/open/space,/area/space) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/open/floor/plating/airless, +/area/ruin/unpowered/no_grav) +"c" = ( +/turf/closed/wall, +/area/ruin/unpowered/no_grav) +"d" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"e" = ( +/obj/structure/lattice, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaabbbbaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaabbbbbbbaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaabbbcbbbaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaadbbbcccbbbdaaaaaaaaa -aaaaaaaaaaaaaaaaaaaadbbcbcbcbbdaaaaaaaaa -aaaaaaaaaaaaaaaaaaaadbbbbcbcbbddaaaaaaaa -aaaaaaaaaaaaaaaaaaadddbbbbbbbbdddaaaaaaa -aaaaaaaaaaaaaaaaaaadddddbbbddddbddaaaaaa -aaaaaaaaaaaaaaaaaadbddddddddddddddaaaaaa -aaaaaaaaaaaaaaaaadddddddddddddddddaaaaaa -aaaaaaaaaaaaaaaaddbbbbbddbdddbbbbdaaaaaa -aaaaaaaaaaaaaaaadbbccbbbdddbbbbbbdaaaaaa -aaaaaaaaaaaaaaaabbbcbbbbdddbbbbcbbaaaaaa -aaaaaaaaaaaaaaabbbbcbbbbddbbbbbcbbaaaaaa -aaaaaaaaaaaaaaabcccbbbddddbbbbcbbbaaaaaa -aaaaaaaaaaaaaadbbbbcbbddddbbbccccbaaaaaa -aaaaaaaaaaaaaadbbbbbbddbddbbbbcbbaaaaaaa -aaaaaaaaaaaaadddbbbbbdddddbbbbcbbaaaaaaa -aaaaaaaaaaaaaddddddddddaaddbbbbbaaaaaaaa -aaaaaaaaaaaaadddaaaaaaaaaaddabbaaaaaaaaa -aaaaaaaaaaaaddaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aacbbdddaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aacbbbdddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aacbbbddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aacbbbbbddeaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aacbbbbbbbdaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaacbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaacccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(3,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +c +c +c +c +c +a +a +a +a +a +a +"} +(4,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +b +b +b +c +a +a +a +a +a +"} +(5,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +b +b +b +b +c +a +a +a +a +"} +(6,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +b +b +b +b +b +c +a +a +a +a +"} +(7,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +b +b +b +c +a +a +a +a +"} +(8,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +b +b +b +c +a +a +a +a +"} +(9,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +b +b +c +a +a +a +a +"} +(10,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +b +b +a +a +a +a +a +"} +(11,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +a +e +d +b +a +a +a +a +a +"} +(12,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(13,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +a +a +a +a +a +a +a +a +a +a +a +a +"} +(14,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(15,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(16,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +b +d +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(17,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +b +b +c +b +b +b +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(18,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +b +b +b +c +b +b +b +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(19,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +b +b +b +b +c +b +b +b +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(20,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +d +d +b +d +b +c +c +c +b +c +b +b +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(21,1,1) = {" +a +a +a +a +a +a +a +a +a +d +d +d +d +d +d +d +b +c +b +b +b +b +b +b +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(22,1,1) = {" +a +a +a +a +a +a +a +a +a +b +b +b +d +d +d +d +b +b +b +b +b +b +d +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(23,1,1) = {" +a +a +a +a +a +a +a +b +b +b +b +b +b +d +d +d +b +b +b +b +d +d +d +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(24,1,1) = {" +a +a +a +a +a +a +b +b +b +b +c +b +b +d +d +d +d +b +b +b +d +d +b +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(25,1,1) = {" +a +a +a +a +a +a +b +b +b +c +b +b +b +b +d +d +d +d +d +d +d +d +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(26,1,1) = {" +a +a +a +a +a +a +b +b +c +c +c +c +b +b +d +d +b +d +d +d +d +d +d +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(27,1,1) = {" +a +a +a +a +a +a +b +b +b +c +b +b +b +b +d +d +d +d +d +b +b +b +b +b +d +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(28,1,1) = {" +a +a +a +a +a +a +a +b +b +b +c +c +b +d +d +d +d +b +b +b +b +b +b +b +b +d +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(29,1,1) = {" +a +a +a +a +a +a +a +b +b +b +b +b +b +d +d +d +d +b +b +b +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(30,1,1) = {" +a +a +a +a +a +a +a +a +a +b +b +b +b +d +d +d +b +b +b +b +b +c +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(31,1,1) = {" +a +a +a +a +a +a +a +a +a +d +d +d +d +d +d +d +b +b +b +b +c +c +c +c +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(32,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +d +d +b +d +d +b +b +c +c +b +c +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(33,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +d +b +b +b +b +b +c +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(34,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +d +d +d +d +d +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(35,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(36,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(37,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(38,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(39,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(40,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a "} diff --git a/_maps/RandomRuins/SpaceRuins/derelict4.dmm b/_maps/RandomRuins/SpaceRuins/derelict4.dmm index b98d0d59ea4..b90de513c35 100644 --- a/_maps/RandomRuins/SpaceRuins/derelict4.dmm +++ b/_maps/RandomRuins/SpaceRuins/derelict4.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "b" = ( /turf/closed/mineral, /area/ruin/unpowered) diff --git a/_maps/RandomRuins/SpaceRuins/derelict5.dmm b/_maps/RandomRuins/SpaceRuins/derelict5.dmm index 63135f7d3ed..794c6770e06 100644 --- a/_maps/RandomRuins/SpaceRuins/derelict5.dmm +++ b/_maps/RandomRuins/SpaceRuins/derelict5.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "b" = ( /turf/closed/mineral, /area/ruin/unpowered/no_grav) diff --git a/_maps/RandomRuins/SpaceRuins/derelict6.dmm b/_maps/RandomRuins/SpaceRuins/derelict6.dmm index 84d2fd24338..9b9777f5e12 100644 --- a/_maps/RandomRuins/SpaceRuins/derelict6.dmm +++ b/_maps/RandomRuins/SpaceRuins/derelict6.dmm @@ -1,11 +1,11 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ab" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ac" = ( /turf/open/floor/plating/airless{ icon_plating = "platingdmg3"; @@ -30,8 +30,8 @@ "ae" = ( /obj/item/stack/sheet/metal, /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "af" = ( /turf/open/floor/plating/airless{ icon_plating = "platingdmg3"; @@ -61,8 +61,8 @@ icon_state = "pile"; dir = 4 }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ak" = ( /turf/open/floor/plating/airless{ icon_plating = "platingdmg3"; @@ -164,7 +164,7 @@ dir = 8 }, /obj/structure/lattice, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered) "aA" = ( /obj/structure/fluff/broken_flooring{ @@ -172,8 +172,8 @@ icon_state = "pile"; dir = 1 }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "aB" = ( /obj/item/stack/tile/plasteel, /turf/open/floor/plating/airless{ @@ -189,7 +189,7 @@ /turf/open/floor/plasteel/airless, /area/ruin/unpowered) "aD" = ( -/turf/open/space, +/turf/template_noop, /turf/open/floor/plating/airless{ icon_plating = "platingdmg2"; icon_state = "platingdmg2" @@ -314,8 +314,8 @@ icon_state = "pile"; dir = 8 }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ba" = ( /mob/living/simple_animal/hostile/retaliate/ghost, /turf/open/floor/plasteel/airless/cafeteria, @@ -345,8 +345,8 @@ "bf" = ( /obj/structure/lattice, /obj/item/stack/sheet/metal, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bg" = ( /obj/item/stack/sheet/metal, /turf/open/floor/plating/airless{ @@ -400,12 +400,12 @@ "bn" = ( /obj/structure/lattice, /obj/item/weapon/shard, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bo" = ( /obj/item/stack/rods, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bp" = ( /obj/item/stack/sheet/metal, /obj/structure/girder, @@ -436,8 +436,8 @@ icon_state = "singular"; dir = 1 }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bt" = ( /obj/structure/fluff/broken_flooring{ tag = "icon-side (NORTH)"; @@ -445,18 +445,18 @@ dir = 1 }, /obj/structure/lattice, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered) "bu" = ( /obj/structure/fluff/broken_flooring, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered) "bv" = ( /obj/structure/fluff/broken_flooring{ icon_state = "pile" }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bw" = ( /obj/structure/lattice, /obj/structure/fluff/broken_flooring{ @@ -465,7 +465,7 @@ icon_state = "plating"; dir = 1 }, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered) "bx" = ( /obj/structure/fluff/broken_flooring{ @@ -475,7 +475,7 @@ dir = 4 }, /obj/structure/lattice, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered) "by" = ( /obj/structure/fluff/broken_flooring{ @@ -493,14 +493,14 @@ icon_state = "plating"; dir = 4 }, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered) "bA" = ( /obj/structure/fluff/broken_flooring{ icon_state = "singular" }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bB" = ( /obj/structure/fluff/broken_flooring{ tag = "icon-singular (EAST)"; @@ -508,8 +508,8 @@ dir = 4 }, /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bC" = ( /obj/structure/lattice, /obj/structure/fluff/broken_flooring{ @@ -517,7 +517,7 @@ icon_state = "corner"; dir = 1 }, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered) "bD" = ( /obj/structure/fluff/broken_flooring{ @@ -534,7 +534,7 @@ icon_state = "corner"; dir = 8 }, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered) "bF" = ( /obj/structure/lattice, @@ -543,7 +543,7 @@ icon_state = "side"; dir = 4 }, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered) "bG" = ( /obj/structure/fluff/broken_flooring{ @@ -551,15 +551,15 @@ icon_state = "singular"; dir = 4 }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bH" = ( /obj/structure/fluff/broken_flooring{ icon_state = "plating"; name = "broken plating" }, /obj/structure/lattice, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered) "bI" = ( /obj/structure/lattice, @@ -569,7 +569,7 @@ icon_state = "plating"; dir = 8 }, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered) (1,1,1) = {" diff --git a/_maps/RandomRuins/SpaceRuins/dragoontomb.dmm b/_maps/RandomRuins/SpaceRuins/dragoontomb.dmm index 4248be10be8..6a509993858 100644 --- a/_maps/RandomRuins/SpaceRuins/dragoontomb.dmm +++ b/_maps/RandomRuins/SpaceRuins/dragoontomb.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "b" = ( /turf/open/floor/plating/asteroid/airless, /area/ruin/unpowered/no_grav) @@ -18,8 +18,8 @@ /area/ruin/unpowered/no_grav) "f" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "g" = ( /obj/item/weapon/bikehorn, /turf/open/floor/plating/asteroid/airless, @@ -139,24 +139,24 @@ /turf/open/floor/mineral/silver, /area/ruin/unpowered/no_grav) "C" = ( +/obj/effect/turf_decal/stripes/asteroid/line{ + dir = 8 + }, /turf/open/floor/plating/astplate{ icon_state = "astplate_warn"; initial_gas_mix = "TEMP=2.7"; tag = "icon-astplate_warn (WEST)" }, -/obj/effect/turf_decal/stripes/asteroid/line{ - dir = 8 - }, /area/ruin/unpowered/no_grav) "D" = ( +/obj/effect/turf_decal/stripes/asteroid/line{ + dir = 4 + }, /turf/open/floor/plating/astplate{ icon_state = "astplate_warn"; initial_gas_mix = "TEMP=2.7"; tag = "icon-astplate_warn (EAST)" }, -/obj/effect/turf_decal/stripes/asteroid/line{ - dir = 4 - }, /area/ruin/unpowered/no_grav) "E" = ( /obj/item/weapon/dice/d10, @@ -164,31 +164,31 @@ /area/ruin/unpowered/no_grav) "F" = ( /obj/structure/grille, -/turf/open/space, +/turf/template_noop, /area/ruin/unpowered/no_grav) "G" = ( /obj/item/weapon/dice/d100, /turf/open/floor/plating/asteroid/airless, /area/ruin/unpowered/no_grav) "H" = ( +/obj/effect/turf_decal/stripes/asteroid/line{ + dir = 10 + }, /turf/open/floor/plating/astplate{ icon_state = "astplate_warn"; initial_gas_mix = "TEMP=2.7"; tag = "icon-astplate_warn (SOUTHWEST)" }, -/obj/effect/turf_decal/stripes/asteroid/line{ - dir = 10 - }, /area/ruin/unpowered/no_grav) "I" = ( +/obj/effect/turf_decal/stripes/asteroid/line{ + dir = 6 + }, /turf/open/floor/plating/astplate{ icon_state = "astplate_warn"; initial_gas_mix = "TEMP=2.7"; tag = "icon-astplate_warn (SOUTHEAST)" }, -/obj/effect/turf_decal/stripes/asteroid/line{ - dir = 6 - }, /area/ruin/unpowered/no_grav) "J" = ( /obj/item/weapon/crowbar/red, diff --git a/_maps/RandomRuins/SpaceRuins/emptyshell.dmm b/_maps/RandomRuins/SpaceRuins/emptyshell.dmm index f6e9dc5aaad..583151d8ef2 100644 --- a/_maps/RandomRuins/SpaceRuins/emptyshell.dmm +++ b/_maps/RandomRuins/SpaceRuins/emptyshell.dmm @@ -1,11 +1,11 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "b" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "c" = ( /turf/closed/wall/r_wall, /area/ruin/unpowered) diff --git a/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm b/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm index f1ffdb1706d..12c9da97ae9 100644 --- a/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm +++ b/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm @@ -1,66 +1,698 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/obj/structure/lattice,/turf/open/space,/area/space) -"c" = (/turf/closed/wall,/area/ruin/gasthelizard) -"d" = (/obj/machinery/light{dir = 1},/obj/structure/bed,/obj/effect/decal/remains/human,/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 8},/area/ruin/gasthelizard) -"e" = (/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 4},/area/ruin/gasthelizard) -"f" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/obj/structure/bed,/obj/effect/decal/remains/human,/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 8},/area/ruin/gasthelizard) -"g" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/obj/structure/bed,/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 8},/area/ruin/gasthelizard) -"h" = (/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 4},/area/ruin/gasthelizard) -"i" = (/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 8},/area/ruin/gasthelizard) -"j" = (/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/obj/machinery/atmospherics/components/unary/outlet_injector,/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 4},/area/ruin/gasthelizard) -"k" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 8},/area/ruin/gasthelizard) -"l" = (/obj/machinery/atmospherics/components/unary/outlet_injector,/turf/open/floor/plasteel/airless/black,/obj/effect/turf_decal/stripes/line{dir = 4},/area/ruin/gasthelizard) -"m" = (/obj/structure/closet/crate/freezer,/obj/item/stack/sheet/animalhide/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"n" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/machinery/light{dir = 1},/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"o" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/clothing/under/rank/prisoner,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"p" = (/obj/structure/window/reinforced{dir = 1;layer = 2.9},/turf/open/floor/plasteel{dir = 1;icon_state = "blue"},/area/ruin/gasthelizard) -"q" = (/obj/machinery/door/window/brigdoor/northleft,/obj/machinery/atmospherics/components/binary/pump{dir = 1},/turf/open/floor/plasteel{dir = 1;icon_state = "blue"},/area/ruin/gasthelizard) -"r" = (/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"s" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/canister/nitrous_oxide,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"t" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 1},/obj/machinery/power/apc{cell_type = 2500;dir = 1;name = "Worn-out APC";pixel_x = 1;pixel_y = 26},/obj/machinery/light{dir = 1},/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"u" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"v" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"w" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/obj/machinery/light{dir = 4;icon_state = "tube1"},/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"x" = (/obj/structure/kitchenspike,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"y" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchen/knife/butcher,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/reagent_containers/spray/pepper,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"z" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"A" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 4;initialize_directions = 11},/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"B" = (/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"C" = (/obj/machinery/gibber,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"D" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/straight_jacket,/obj/item/weapon/reagent_containers/syringe/lethal,/obj/item/weapon/reagent_containers/syringe/lethal/choral,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"E" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/canister/toxins,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"F" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"G" = (/obj/structure/chair/office/dark,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"H" = (/obj/machinery/door/airlock/security,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"I" = (/obj/item/weapon/reagent_containers/glass/bottle/morphine{pixel_x = -4;pixel_y = 1},/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate{name = "chloral hydrate bottle"},/obj/item/weapon/reagent_containers/glass/bottle/toxin{pixel_x = 6;pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/morphine{pixel_x = 5;pixel_y = 1},/obj/item/weapon/reagent_containers/glass/bottle/facid{name = "fluorosulfuric acid bottle";pixel_x = -3;pixel_y = 6},/obj/structure/table/reinforced,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"J" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/drone,/obj/item/weapon/melee/baton/cattleprod,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"K" = (/obj/structure/table,/obj/item/weapon/pen/red,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"L" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"M" = (/obj/structure/table,/obj/item/weapon/storage/box/prisoner,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"N" = (/obj/structure/window/reinforced{dir = 4;pixel_x = 0},/obj/machinery/light,/obj/structure/table,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"O" = (/obj/machinery/portable_atmospherics/scrubber,/turf/open/floor/plasteel{icon_state = "bot";dir = 1},/area/ruin/gasthelizard) -"P" = (/obj/structure/table/reinforced,/obj/item/weapon/surgicaldrill,/obj/item/weapon/hemostat,/obj/item/weapon/scalpel,/obj/item/weapon/surgical_drapes,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/obj/item/weapon/circular_saw,/obj/machinery/light,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"Q" = (/obj/structure/table/optable,/obj/effect/decal/cleanable/blood/old,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"R" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/glass/bottle/mutagen,/obj/item/weapon/reagent_containers/glass/bottle/mutagen,/obj/item/weapon/razor,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/gasthelizard) -"S" = (/obj/machinery/suit_storage_unit/security,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"T" = (/obj/machinery/light,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"U" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel,/area/ruin/gasthelizard) -"V" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating,/area/ruin/gasthelizard) -"W" = (/turf/open/floor/plating,/area/ruin/gasthelizard) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"c" = ( +/turf/closed/wall, +/area/ruin/gasthelizard) +"d" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/bed, +/obj/effect/decal/remains/human, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/airless/black, +/area/ruin/gasthelizard) +"e" = ( +/obj/structure/window/reinforced{ + dir = 4; + pixel_x = 0 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/airless/black, +/area/ruin/gasthelizard) +"f" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/bed, +/obj/effect/decal/remains/human, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/airless/black, +/area/ruin/gasthelizard) +"g" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/bed, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/airless/black, +/area/ruin/gasthelizard) +"h" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/airless/black, +/area/ruin/gasthelizard) +"i" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/airless/black, +/area/ruin/gasthelizard) +"j" = ( +/obj/structure/window/reinforced{ + dir = 4; + pixel_x = 0 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/airless/black, +/area/ruin/gasthelizard) +"k" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/airless/black, +/area/ruin/gasthelizard) +"l" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/airless/black, +/area/ruin/gasthelizard) +"m" = ( +/obj/structure/closet/crate/freezer, +/obj/item/stack/sheet/animalhide/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"n" = ( +/obj/structure/closet/crate/freezer, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"o" = ( +/obj/structure/closet/crate/freezer, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/clothing/under/rank/prisoner, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"p" = ( +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/turf/open/floor/plasteel{ + dir = 1; + icon_state = "blue" + }, +/area/ruin/gasthelizard) +"q" = ( +/obj/machinery/door/window/brigdoor/northleft, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1 + }, +/turf/open/floor/plasteel{ + dir = 1; + icon_state = "blue" + }, +/area/ruin/gasthelizard) +"r" = ( +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"s" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"t" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/obj/machinery/power/apc{ + cell_type = 2500; + dir = 1; + name = "Worn-out APC"; + pixel_x = 1; + pixel_y = 26 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"u" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"v" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"w" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"x" = ( +/obj/structure/kitchenspike, +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"y" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/kitchen/knife/butcher, +/obj/item/weapon/restraints/handcuffs, +/obj/item/weapon/reagent_containers/spray/pepper, +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"z" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"A" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4; + initialize_directions = 11 + }, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"B" = ( +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"C" = ( +/obj/machinery/gibber, +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"D" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/suit/straight_jacket, +/obj/item/weapon/reagent_containers/syringe/lethal, +/obj/item/weapon/reagent_containers/syringe/lethal/choral, +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"E" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/toxins, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"F" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"G" = ( +/obj/structure/chair/office/dark, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"H" = ( +/obj/machinery/door/airlock/security, +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"I" = ( +/obj/item/weapon/reagent_containers/glass/bottle/morphine{ + pixel_x = -4; + pixel_y = 1 + }, +/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate{ + name = "chloral hydrate bottle" + }, +/obj/item/weapon/reagent_containers/glass/bottle/toxin{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/weapon/reagent_containers/glass/bottle/morphine{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/item/weapon/reagent_containers/glass/bottle/facid{ + name = "fluorosulfuric acid bottle"; + pixel_x = -3; + pixel_y = 6 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"J" = ( +/obj/structure/rack, +/obj/item/weapon/storage/toolbox/drone, +/obj/item/weapon/melee/baton/cattleprod, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"K" = ( +/obj/structure/table, +/obj/item/weapon/pen/red, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"L" = ( +/obj/structure/table, +/obj/item/weapon/paper_bin, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"M" = ( +/obj/structure/table, +/obj/item/weapon/storage/box/prisoner, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"N" = ( +/obj/structure/window/reinforced{ + dir = 4; + pixel_x = 0 + }, +/obj/machinery/light, +/obj/structure/table, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"O" = ( +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/plasteel{ + icon_state = "bot"; + dir = 1 + }, +/area/ruin/gasthelizard) +"P" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/surgicaldrill, +/obj/item/weapon/hemostat, +/obj/item/weapon/scalpel, +/obj/item/weapon/surgical_drapes, +/obj/item/weapon/retractor, +/obj/item/weapon/cautery, +/obj/item/weapon/circular_saw, +/obj/machinery/light, +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"Q" = ( +/obj/structure/table/optable, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"R" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/reagent_containers/syringe, +/obj/item/weapon/reagent_containers/dropper, +/obj/item/weapon/reagent_containers/glass/bottle/mutagen, +/obj/item/weapon/reagent_containers/glass/bottle/mutagen, +/obj/item/weapon/razor, +/turf/open/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/gasthelizard) +"S" = ( +/obj/machinery/suit_storage_unit/security, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"T" = ( +/obj/machinery/light, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"U" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel, +/area/ruin/gasthelizard) +"V" = ( +/obj/machinery/door/airlock/external, +/turf/open/floor/plating, +/area/ruin/gasthelizard) +"W" = ( +/turf/open/floor/plating, +/area/ruin/gasthelizard) (1,1,1) = {" -aaaababababbaaaaaaa -aaababbbbababbbbaaa -aaabccccccccccbbbba -abbbcdefegefhccccca -abbbcijkjkjklcmnocb -abcccpqpqpqpqcrrrcb -abcstuvuvuvuwcxryca -aaczABBBBBBBBcCrDca -bbcEFBBBGBBBBHrrIcb -abcJBBBKLMNOOcPQRcb -abcSTBUcccccccccccb -aacccVccbbbbbbaabba -aabbcWcbbaaaaaaabaa -aaabcVcbaaaaaaaaaaa +a +a +a +a +a +a +a +a +b +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +b +b +b +b +a +b +b +b +a +a +a +"} +(3,1,1) = {" +a +a +a +b +b +c +c +c +c +c +c +c +b +a +"} +(4,1,1) = {" +a +b +b +b +b +c +s +z +E +J +S +c +b +b +"} +(5,1,1) = {" +b +a +c +c +c +c +t +A +F +B +T +c +c +c +"} +(6,1,1) = {" +a +b +c +d +i +p +u +B +B +B +B +V +W +V +"} +(7,1,1) = {" +b +b +c +e +j +q +v +B +B +B +U +c +c +c +"} +(8,1,1) = {" +a +b +c +f +k +p +u +B +B +K +c +c +b +b +"} +(9,1,1) = {" +b +b +c +e +j +q +v +B +G +L +c +b +b +a +"} +(10,1,1) = {" +a +a +c +g +k +p +u +B +B +M +c +b +a +a +"} +(11,1,1) = {" +b +b +c +e +j +q +v +B +B +N +c +b +a +a +"} +(12,1,1) = {" +b +a +c +f +k +p +u +B +B +O +c +b +a +a +"} +(13,1,1) = {" +a +b +c +h +l +q +w +B +B +O +c +b +a +a +"} +(14,1,1) = {" +a +b +c +c +c +c +c +c +H +c +c +b +a +a +"} +(15,1,1) = {" +a +b +b +c +m +r +x +C +r +P +c +a +a +a +"} +(16,1,1) = {" +a +b +b +c +n +r +r +r +r +Q +c +a +a +a +"} +(17,1,1) = {" +a +a +b +c +o +r +y +D +I +R +c +b +b +a +"} +(18,1,1) = {" +a +a +b +c +c +c +c +c +c +c +c +b +a +a +"} +(19,1,1) = {" +a +a +a +a +b +b +a +a +b +b +b +a +a +a "} diff --git a/_maps/RandomRuins/SpaceRuins/intactemptyship.dmm b/_maps/RandomRuins/SpaceRuins/intactemptyship.dmm index 510c41778dc..eb95b9cf9a9 100644 --- a/_maps/RandomRuins/SpaceRuins/intactemptyship.dmm +++ b/_maps/RandomRuins/SpaceRuins/intactemptyship.dmm @@ -1,9 +1,9 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "b" = ( -/turf/open/space, +/turf/template_noop, /turf/closed/wall/mineral/plastitanium{ dir = 8; icon_state = "diagonalWall3" @@ -13,7 +13,7 @@ /turf/closed/wall/mineral/plastitanium, /area/ruin/powered/authorship) "d" = ( -/turf/open/space, +/turf/template_noop, /turf/closed/wall/mineral/plastitanium{ dir = 1; icon_state = "diagonalWall3" @@ -25,7 +25,7 @@ icon_state = "propulsion"; tag = "icon-propulsion (EAST)" }, -/turf/open/space, +/turf/template_noop, /area/ruin/powered/authorship) "f" = ( /obj/structure/window/reinforced{ @@ -138,7 +138,7 @@ /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/authorship) "z" = ( -/turf/open/space, +/turf/template_noop, /turf/closed/wall/mineral/plastitanium{ icon_state = "diagonalWall3" }, @@ -148,7 +148,7 @@ /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/authorship) "B" = ( -/turf/open/space, +/turf/template_noop, /turf/closed/wall/mineral/plastitanium{ dir = 4; icon_state = "diagonalWall3" diff --git a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm index f348e4bf999..668e6039b9d 100644 --- a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "b" = ( /turf/closed/mineral, /area/ruin/unpowered/no_grav) diff --git a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm index 5d5b8741b62..a08894db583 100644 --- a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm +++ b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "b" = ( /turf/closed/wall/mineral/titanium/overspace, /area/ruin/powered/mechtransport) @@ -153,8 +153,8 @@ /area/ruin/powered/mechtransport) "I" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "J" = ( /obj/machinery/computer/mecha, /turf/open/floor/mineral/titanium/blue, @@ -185,8 +185,8 @@ /area/ruin/powered/mechtransport) "P" = ( /obj/item/stack/sheet/metal, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "Q" = ( /obj/structure/mecha_wreckage/gygax, /turf/open/floor/mineral/titanium/airless, @@ -195,7 +195,7 @@ /turf/open/floor/plating/airless{ icon_state = "platingdmg3" }, -/area/space) +/area/template_noop) "S" = ( /obj/item/stack/rods, /turf/open/floor/plating/airless, @@ -214,8 +214,8 @@ /area/ruin/powered/mechtransport) "V" = ( /obj/item/stack/rods, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "W" = ( /turf/closed/wall/shuttle{ icon_state = "swall15"; @@ -224,7 +224,7 @@ /area/ruin/powered/mechtransport) "X" = ( /obj/structure/shuttle/engine/propulsion, -/turf/open/space, +/turf/template_noop, /area/ruin/powered/mechtransport) (1,1,1) = {" diff --git a/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm b/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm index b932f96bc0c..52cf3b4169b 100644 --- a/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm @@ -1,217 +1,4105 @@ -"aa" = (/turf/open/space,/area/space) -"ab" = (/obj/structure/lattice,/turf/open/space,/area/space) -"ac" = (/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"ad" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/open/space,/area/space) -"ae" = (/obj/structure/lattice,/obj/structure/grille,/turf/open/space,/area/space) -"af" = (/obj/structure/grille,/turf/open/floor/plating/airless,/area/space) -"ag" = (/turf/closed/wall/r_wall,/area/tcommsat/chamber) -"ah" = (/obj/structure/girder,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"ai" = (/obj/structure/window/reinforced{dir = 4},/turf/open/space,/area/space) -"aj" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"ak" = (/obj/machinery/power/apc{cell_type = 2500;dir = 1;name = "Worn-out APC";pixel_x = 1;pixel_y = 26},/obj/structure/cable{icon_state = "0-4";d2 = 4},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"al" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2;d2 = 8;icon_state = "2-8"},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"am" = (/obj/item/weapon/stock_parts/cell,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"an" = (/obj/machinery/portable_atmospherics/canister/air,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"ao" = (/obj/item/weapon/coin/clown,/turf/open/floor/engine,/area/tcommsat/chamber) -"ap" = (/obj/structure/bed,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aq" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"ar" = (/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/tcommsat/chamber) -"as" = (/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/tcommsat/chamber) -"at" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/open/space,/area/space) -"au" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2";pixel_y = 0},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"av" = (/obj/item/weapon/wrench,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"aw" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"ax" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/open/space,/area/space) -"ay" = (/obj/effect/spawner/lootdrop/crate_spawner,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"az" = (/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aA" = (/obj/structure/table,/obj/item/weapon/paper,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aB" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aC" = (/obj/structure/frame/computer,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aD" = (/obj/structure/table,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aE" = (/obj/item/weapon/reagent_containers/food/snacks/meat/slab/synthmeat{name = "Cuban Pete-Meat"},/turf/open/floor/engine,/area/tcommsat/chamber) -"aF" = (/obj/structure/grille,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aG" = (/obj/structure/grille/broken,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aH" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"aI" = (/obj/structure/window/reinforced,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"aJ" = (/obj/item/stack/cable_coil/cut{amount = 1},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"aK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/closet,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"aL" = (/obj/structure/window/reinforced{dir = 8},/turf/open/space,/area/space) -"aM" = (/obj/item/weapon/folder/yellow,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aN" = (/obj/structure/bed,/obj/effect/decal/remains/human,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aO" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/open/space,/area/space) -"aP" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/open/space,/area/space) -"aQ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"aR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/open/space,/area/space) -"aS" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/open/space,/area/space) -"aT" = (/obj/structure/window/reinforced,/turf/open/space,/area/space) -"aU" = (/obj/structure/sign/securearea,/turf/closed/wall/r_wall,/area/tcommsat/chamber) -"aV" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aW" = (/obj/item/weapon/paper/crumpled,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aX" = (/obj/item/weapon/reagent_containers/food/snacks/meat/slab/synthmeat{name = "Cuban Pete-Meat"},/obj/item/stack/spacecash,/turf/open/floor/engine,/area/tcommsat/chamber) -"aY" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"aZ" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"ba" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"bb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bc" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bd" = (/obj/structure/window/reinforced,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"be" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/electronics/airlock,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bf" = (/obj/structure/door_assembly/door_assembly_hatch,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"bg" = (/obj/item/weapon/cigbutt,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"bh" = (/obj/machinery/vending/snack,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"bi" = (/obj/machinery/vending/cola,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"bj" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"bk" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 4},/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"bl" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/closed/wall/r_wall,/area/tcommsat/chamber) -"bm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/grille/broken,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"bn" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"bo" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"bp" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bq" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/open/space,/area/space) -"br" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/open/space,/area/space) -"bs" = (/obj/structure/window/reinforced{dir = 1},/turf/open/space,/area/space) -"bt" = (/obj/structure/table,/obj/item/device/radio/off,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"bu" = (/obj/structure/chair,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"bv" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bw" = (/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bx" = (/obj/machinery/door/airlock/hatch,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"by" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/turf/open/space,/area/space) -"bz" = (/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/shard{icon_state = "medium"},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"bB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"bC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"bD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"bE" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/open/space,/area/space) -"bG" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/item/stack/rods,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bH" = (/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "medium"},/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"bI" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bJ" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating,/area/tcommsat/chamber) -"bL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/open/floor/plating,/area/tcommsat/chamber) -"bM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/open/floor/plating,/area/tcommsat/chamber) -"bN" = (/obj/effect/decal/cleanable/blood,/obj/item/weapon/scalpel{pixel_y = 12},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bO" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "medium"},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plating,/area/tcommsat/chamber) -"bQ" = (/obj/structure/rack,/obj/item/weapon/circuitboard/computer/teleporter,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"bR" = (/obj/item/device/radio/off,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/open/floor/plating,/area/tcommsat/chamber) -"bT" = (/obj/effect/decal/cleanable/oil,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"bU" = (/obj/effect/decal/cleanable/blood,/obj/structure/chair,/obj/item/clothing/under/rank/centcom_officer,/obj/item/weapon/restraints/handcuffs,/obj/effect/decal/remains/human,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"bV" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"bW" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bX" = (/obj/structure/door_assembly/door_assembly_mhatch,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"bY" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"bZ" = (/obj/item/weapon/cigbutt,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"ca" = (/obj/effect/decal/cleanable/blood,/obj/item/device/assembly/signaler,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"cb" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/lethal/choral,/obj/item/weapon/reagent_containers/syringe/lethal{pixel_y = 4},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"cc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/open/floor/plating,/area/tcommsat/chamber) -"cd" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"ce" = (/obj/structure/table,/obj/item/device/electropack,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"cf" = (/obj/structure/table,/obj/item/weapon/hemostat,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"cg" = (/obj/structure/table,/obj/item/weapon/circular_saw,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"ch" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/open/floor/plating,/area/tcommsat/chamber) -"ci" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/item/stack/rods,/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"cj" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/open/space,/area/space) -"ck" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/open/space,/area/space) -"cl" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 9},/area/tcommsat/chamber) -"cm" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/corner{dir = 4},/area/tcommsat/chamber) -"cn" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 1},/area/tcommsat/chamber) -"co" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 5},/area/tcommsat/chamber) -"cp" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/open/space,/area/space) -"cq" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"cr" = (/obj/item/weapon/paper/crumpled,/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 8},/area/tcommsat/chamber) -"cs" = (/obj/item/stack/rods,/turf/open/floor/plasteel/airless,/area/tcommsat/chamber) -"ct" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 4},/area/tcommsat/chamber) -"cu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel/airless/black,/area/tcommsat/chamber) -"cv" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 10},/area/tcommsat/chamber) -"cw" = (/obj/machinery/light/small,/obj/item/weapon/paper,/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/corner{dir = 1},/area/tcommsat/chamber) -"cx" = (/turf/open/floor/plasteel/airless,/obj/effect/turf_decal/stripes/line{dir = 6},/area/tcommsat/chamber) -"cy" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/open/space,/area/space) -"cz" = (/obj/structure/lattice,/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "medium"},/turf/open/space,/area/space) -"cA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"cB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/open/floor/plating,/area/tcommsat/chamber) -"cC" = (/obj/structure/grille/broken,/turf/open/space,/area/space) -"cD" = (/obj/machinery/door/airlock/hatch,/turf/open/floor/plasteel,/area/tcommsat/chamber) -"cE" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 9},/area/tcommsat/chamber) -"cF" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 1},/area/tcommsat/chamber) -"cG" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 5},/area/tcommsat/chamber) -"cH" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/corner{dir = 4},/area/tcommsat/chamber) -"cI" = (/turf/open/floor/plasteel,/area/tcommsat/chamber) -"cJ" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/corner{dir = 8},/area/tcommsat/chamber) -"cK" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel,/area/tcommsat/chamber) -"cL" = (/obj/structure/sign/vacuum,/turf/closed/wall/r_wall,/area/tcommsat/chamber) -"cM" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 9},/area/tcommsat/chamber) -"cN" = (/obj/item/weapon/paper/crumpled,/turf/open/floor/plasteel,/area/tcommsat/chamber) -"cO" = (/obj/structure/closet/malf/suits,/turf/open/floor/plasteel,/area/tcommsat/chamber) -"cP" = (/obj/structure/door_assembly/door_assembly_ext,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"cQ" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating,/area/tcommsat/chamber) -"cR" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 8},/area/tcommsat/chamber) -"cS" = (/obj/item/weapon/crowbar,/turf/open/floor/plating/airless,/area/tcommsat/chamber) -"cT" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/night,/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 10},/area/tcommsat/chamber) -"cU" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/corner{dir = 1},/area/tcommsat/chamber) -"cV" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1;pixel_y = -1},/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 10},/area/tcommsat/chamber) -"cW" = (/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 2},/area/tcommsat/chamber) -"cX" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel,/obj/effect/turf_decal/stripes/line{dir = 6},/area/tcommsat/chamber) -"cY" = (/obj/structure/frame/computer,/turf/open/floor/plating,/area/tcommsat/chamber) -"cZ" = (/obj/machinery/teleport/station,/turf/open/floor/plating,/area/tcommsat/chamber) -"da" = (/obj/machinery/teleport/hub,/turf/open/floor/plating,/area/tcommsat/chamber) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"ac" = ( +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"ad" = ( +/obj/structure/lattice, +/obj/structure/grille/broken, +/turf/template_noop, +/area/template_noop) +"ae" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/template_noop, +/area/template_noop) +"af" = ( +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/template_noop) +"ag" = ( +/turf/closed/wall/r_wall, +/area/tcommsat/chamber) +"ah" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"ai" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/template_noop, +/area/template_noop) +"aj" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"ak" = ( +/obj/machinery/power/apc{ + cell_type = 2500; + dir = 1; + name = "Worn-out APC"; + pixel_x = 1; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"al" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"am" = ( +/obj/item/weapon/stock_parts/cell, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"an" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"ao" = ( +/obj/item/weapon/coin/clown, +/turf/open/floor/engine, +/area/tcommsat/chamber) +"ap" = ( +/obj/structure/bed, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aq" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"ar" = ( +/turf/open/floor/plasteel/airless{ + icon_state = "damaged2" + }, +/area/tcommsat/chamber) +"as" = ( +/turf/open/floor/plasteel/airless{ + icon_state = "damaged3" + }, +/area/tcommsat/chamber) +"at" = ( +/obj/structure/lattice, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/template_noop, +/area/template_noop) +"au" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"av" = ( +/obj/item/weapon/wrench, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"aw" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"ax" = ( +/obj/structure/lattice, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"ay" = ( +/obj/effect/spawner/lootdrop/crate_spawner, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"az" = ( +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aA" = ( +/obj/structure/table, +/obj/item/weapon/paper, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aB" = ( +/obj/structure/table, +/obj/item/weapon/paper_bin, +/obj/item/weapon/pen/blue, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aC" = ( +/obj/structure/frame/computer, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aD" = ( +/obj/structure/table, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aE" = ( +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/synthmeat{ + name = "Cuban Pete-Meat" + }, +/turf/open/floor/engine, +/area/tcommsat/chamber) +"aF" = ( +/obj/structure/grille, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aG" = ( +/obj/structure/grille/broken, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aH" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"aI" = ( +/obj/structure/window/reinforced, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"aJ" = ( +/obj/item/stack/cable_coil/cut{ + amount = 1 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"aK" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/closet, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"aL" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"aM" = ( +/obj/item/weapon/folder/yellow, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aN" = ( +/obj/structure/bed, +/obj/effect/decal/remains/human, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aO" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"aP" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"aQ" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"aR" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"aS" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/template_noop, +/area/template_noop) +"aT" = ( +/obj/structure/window/reinforced, +/turf/template_noop, +/area/template_noop) +"aU" = ( +/obj/structure/sign/securearea, +/turf/closed/wall/r_wall, +/area/tcommsat/chamber) +"aV" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aW" = ( +/obj/item/weapon/paper/crumpled, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aX" = ( +/obj/item/weapon/reagent_containers/food/snacks/meat/slab/synthmeat{ + name = "Cuban Pete-Meat" + }, +/obj/item/stack/spacecash, +/turf/open/floor/engine, +/area/tcommsat/chamber) +"aY" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"aZ" = ( +/obj/structure/table, +/obj/item/weapon/storage/fancy/cigarettes, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"ba" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"bb" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bc" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bd" = ( +/obj/structure/window/reinforced, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"be" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/item/weapon/electronics/airlock, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bf" = ( +/obj/structure/door_assembly/door_assembly_hatch, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"bg" = ( +/obj/item/weapon/cigbutt, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"bh" = ( +/obj/machinery/vending/snack, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"bi" = ( +/obj/machinery/vending/cola, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"bj" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"bk" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"bl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/tcommsat/chamber) +"bm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/grille/broken, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"bn" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"bo" = ( +/obj/structure/disposaloutlet{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"bp" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bq" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/template_noop, +/area/template_noop) +"br" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"bs" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/template_noop, +/area/template_noop) +"bt" = ( +/obj/structure/table, +/obj/item/device/radio/off, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"bu" = ( +/obj/structure/chair, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"bv" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bw" = ( +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bx" = ( +/obj/machinery/door/airlock/hatch, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"by" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"bz" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/item/weapon/shard{ + icon_state = "medium" + }, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bA" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"bB" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"bC" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"bD" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"bE" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bF" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"bG" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/item/stack/rods, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bH" = ( +/obj/item/stack/rods, +/obj/item/weapon/shard{ + icon_state = "medium" + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"bI" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bJ" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bK" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plating, +/area/tcommsat/chamber) +"bL" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating, +/area/tcommsat/chamber) +"bM" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating, +/area/tcommsat/chamber) +"bN" = ( +/obj/effect/decal/cleanable/blood, +/obj/item/weapon/scalpel{ + pixel_y = 12 + }, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bO" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/weapon/shard{ + icon_state = "medium" + }, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bP" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plating, +/area/tcommsat/chamber) +"bQ" = ( +/obj/structure/rack, +/obj/item/weapon/circuitboard/computer/teleporter, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"bR" = ( +/obj/item/device/radio/off, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bS" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating, +/area/tcommsat/chamber) +"bT" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"bU" = ( +/obj/effect/decal/cleanable/blood, +/obj/structure/chair, +/obj/item/clothing/under/rank/centcom_officer, +/obj/item/weapon/restraints/handcuffs, +/obj/effect/decal/remains/human, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"bV" = ( +/obj/structure/table, +/obj/item/device/flashlight/lamp, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"bW" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bX" = ( +/obj/structure/door_assembly/door_assembly_mhatch, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"bY" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"bZ" = ( +/obj/item/weapon/cigbutt, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"ca" = ( +/obj/effect/decal/cleanable/blood, +/obj/item/device/assembly/signaler, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"cb" = ( +/obj/structure/table, +/obj/item/weapon/reagent_containers/syringe/lethal/choral, +/obj/item/weapon/reagent_containers/syringe/lethal{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"cc" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plating, +/area/tcommsat/chamber) +"cd" = ( +/obj/item/weapon/storage/toolbox/syndicate, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"ce" = ( +/obj/structure/table, +/obj/item/device/electropack, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"cf" = ( +/obj/structure/table, +/obj/item/weapon/hemostat, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"cg" = ( +/obj/structure/table, +/obj/item/weapon/circular_saw, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"ch" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating, +/area/tcommsat/chamber) +"ci" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/stack/rods, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"cj" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/template_noop, +/area/template_noop) +"ck" = ( +/obj/structure/window/reinforced, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"cl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"cm" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"cn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"co" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"cp" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/turf/template_noop, +/area/template_noop) +"cq" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"cr" = ( +/obj/item/weapon/paper/crumpled, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"cs" = ( +/obj/item/stack/rods, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"ct" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"cu" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/airless/black, +/area/tcommsat/chamber) +"cv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"cw" = ( +/obj/machinery/light/small, +/obj/item/weapon/paper, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"cx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/airless, +/area/tcommsat/chamber) +"cy" = ( +/obj/item/weapon/shard{ + icon_state = "medium" + }, +/turf/template_noop, +/area/template_noop) +"cz" = ( +/obj/structure/lattice, +/obj/item/stack/rods, +/obj/item/weapon/shard{ + icon_state = "medium" + }, +/turf/template_noop, +/area/template_noop) +"cA" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"cB" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating, +/area/tcommsat/chamber) +"cC" = ( +/obj/structure/grille/broken, +/turf/template_noop, +/area/template_noop) +"cD" = ( +/obj/machinery/door/airlock/hatch, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cH" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cI" = ( +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cJ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cK" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cL" = ( +/obj/structure/sign/vacuum, +/turf/closed/wall/r_wall, +/area/tcommsat/chamber) +"cM" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cN" = ( +/obj/item/weapon/paper/crumpled, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cO" = ( +/obj/structure/closet/malf/suits, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cP" = ( +/obj/structure/door_assembly/door_assembly_ext, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"cQ" = ( +/obj/machinery/door/airlock/external, +/turf/open/floor/plating, +/area/tcommsat/chamber) +"cR" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cS" = ( +/obj/item/weapon/crowbar, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) +"cT" = ( +/obj/structure/closet/crate, +/obj/item/clothing/glasses/night, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cU" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cV" = ( +/obj/item/weapon/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cX" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/tcommsat/chamber) +"cY" = ( +/obj/structure/frame/computer, +/turf/open/floor/plating, +/area/tcommsat/chamber) +"cZ" = ( +/obj/machinery/teleport/station, +/turf/open/floor/plating, +/area/tcommsat/chamber) +"da" = ( +/obj/machinery/teleport/hub, +/turf/open/floor/plating, +/area/tcommsat/chamber) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaababaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaaaababaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacabaaaaaaacabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabacaaaaaaaaacacabaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabacaaaaaaaaabacabaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaabaaaaaaaaabababaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeababacacacacacacacababaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaeaaaaabaaaaacaaaaabaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeadadaaaaabadaeaeaeaeaeaeaeafaeadaeaeaeaeaeaeadabaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeagahahacahagagagagagagagagagagagagagagagagagagahacababaaabaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaadaeagagagagagagagagagagagagagagagagagagagagagagagahacabababababaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaeagagagabaaaiajakalamanagagagagagagagagagaoagapaqarasacacabacahadaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaeagagabababatajacauavawaxagayazaAaBaCaDagaEagaFaGazarasasacahagaeaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaeagagaaabaaaiaHaIaJaIaKaLagazaMazazazaCagaEagaNaFazazararagagagaeaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaadagagaaabaaaaaOaPaQaRaSaTaUaVazaWazazaCagaXagaFaFazaYaZbaagagagaeaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaeagagaaabaaaibbbcbdbcbdbebfazazbgazazagagagagbhbiazbgbjbkblblblbmbnboaaaaaaaaaa -aaaaaaaaaaaaaaaaababadaeaeaeagagaaabaaaibpbqbrbsbsbsagazbtbuazazbvbwagagagagbxagagagagagagaeaeadabaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaabaeagagabababbybzaxagagagagagbAbBbCbCbDagbvagagagbybEbFabababagagaeaeaeaaaaaaaaaa -aaaaaaababacacacacacababaaaeagagaaabaaaibGbFagacacacacacbHacacacacbwbwacagbybEaaaaabaaagagaeaeaaabaaaaaaaa -ababababababababacacacacaaaeagagaaabaaaibIbFagacacbwbwacbwbwbwbwbwbwacacagbybJaLbKbLbMagagagaeabacababaaaa -aaaaaaaaaaababababacacacaaaeagagaaabaaaabpbFagacbwbwbwbwbwacbwbNbwbwbwacagbybOaLbPazazbQagagaeaaabaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaacaaaeagagaaabaaaibEaLagacbwbwbwbwbwacbwbRbwbwbwacagbybEaTbSazazaDagagaeaaabaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaacacafagagabababbybpaxagacbwbwbwacbTbUacbVbwbwbwacagbybIbWbXazazbYagagafacabaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaacaaaeagagaaabaaaibpaLagacbwbwacbwbwbZcacbbwbwbwacagaibEbsccazcdazagagaeaaabaaaaaaaa -aaaaaaaaaaaaabababacacacaaaeagagaaabaaaabEaaagacbwbwbwbwbwcecfcgbwbwacacagaabEaLbPazazaDagagaeaaacaaaaaaaa -aaaaaaaaaaabababacacacacaaaeagagaaabaaaibpaLagacbwacbwbwbwbwbwbwbwbwbwacagaibEaLchbLbMagagagaeabacabababab -aaaaaaabababababababababaaaeagagaaabaaaaciaLagacacacacacacacacacacacacacagaibJaLaaabaaagagaeaeaaabababaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaeaeagagabababbybOaxagagagagagagagagagagagagagagagbybEaxabababagahaeaeaeaaaaaaaaaa -aaaaaaaaaaaaabababababadaeaeahagaaaaaaaibEcjckaTaaagclcmarcncmascoagaTaTaTcpbEaLaaabaaahabaeaeaeadabababaa -aaaaaaaaaaaaaaaaaaaaaaaaaaadacahaaaaaaaicqbdbcbcbcbxcrazazazazcsctbxbcbdbcbccuaLaaabaaacabadaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaabacabaaaaaaaabsbsbrbsbsagcvcwararazarcxagbsbsbscybsaaaaabaaabaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaaaaaaaaaabaaagagagagagasahagagagagaaaaaaaaaaaaabaaaaaaaaabaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaababababczcAarazagazarazagazaCcBababababaaaaaaaaaaaaaaabcCaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagagazazazazazazaqazazagagaaaaaaaaaaaaaaaaaaabacaeaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacahagagagagagagagagagagcDagagagagagagagahacababaaaaaaaaacahaeaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacahagagagagagagagagagagcEcFcGagagagagacabababaaaaaaabababahagadaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaeadaeaeaeaeaeaeaeagagcHcIcJagagaeaeaeadaaaaaaaaaaaaabagagagaeaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadacacaeaeagagcKcIcIcIcIagagaeaeaaaaaaaaabacacahagagaeaeaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacagagcLcMcIcIcIcIcNcOagaeadaaaaaaaaaaababacagaeaeaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaccPaccQcRcIcIcIcIcIcIagaeaeaaaaaaaaaaabadaeaeaeaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSacacagagcLcTcUcIcIcIcIcOagaeaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacaeaeagagcVcWcWcWcXagagaeaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabadadaeaeaeagagcYcZdaagagaeaeaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaeaeaeagagagagagaeaeaeadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaaaeaeaeafaeaeaeaaaeaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaabaaaaacaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaabacabacacacabababaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaaaaaabababaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaaaaaababaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaacaaaaaaaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ab +ab +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ab +ab +aa +aa +aa +ab +ab +ab +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ab +ab +aa +aa +aa +ab +ab +ab +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +ac +ac +ab +aa +aa +aa +ab +ac +ab +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +ac +ac +ac +aa +aa +aa +ac +ac +ab +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +aa +ab +ac +ac +aa +aa +aa +ac +ac +ab +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +ab +ac +ac +ac +ac +ac +ac +ac +ab +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +ab +aa +aa +aa +aa +ac +aa +aa +aa +aa +ae +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ae +ae +ae +ad +ae +ae +ae +ae +ae +ae +ae +af +ae +ae +ae +ae +ae +ae +ad +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +ae +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ah +ac +ac +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +ae +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ah +ab +ab +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ag +ag +ag +ab +aa +aa +aa +aa +ab +aa +aa +aa +aa +ab +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +ab +ac +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ah +ag +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +ac +ah +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ah +ag +aa +ab +aa +aa +aa +aa +ab +aa +aa +aa +aa +ab +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +ah +ag +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ag +ai +at +ai +aa +ai +ai +by +ai +ai +aa +ai +by +ai +aa +ai +aa +by +ai +ai +aa +aa +ab +aa +ag +ag +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ah +ag +aj +aj +aH +aO +bb +bp +bz +bG +bI +bp +bE +bp +bp +bE +bp +ci +bO +bE +cq +bs +aa +ab +aa +ag +ag +ae +ad +ac +ac +cS +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ag +ag +ak +ac +aI +aP +bc +bq +ax +bF +bF +bF +aL +ax +aL +aa +aL +aL +ax +cj +bd +bs +aa +ab +aa +ag +ag +ae +ac +ac +ac +ac +ac +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +ag +ag +al +au +aJ +aQ +bd +br +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ck +bc +br +ab +ab +aa +ag +ag +ae +ac +ac +ac +ac +ac +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +ab +ab +ad +ae +ae +ae +ag +ag +am +av +aI +aR +bc +bs +ag +ac +ac +ac +ac +ac +ac +ac +ac +ac +ag +aT +bc +bs +aa +cz +ag +ag +ag +ae +ae +ag +cP +ag +ae +ae +ad +ae +ae +ae +ab +ab +ab +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +ae +ag +ag +an +aw +aK +aS +bd +bs +ag +ac +ac +bw +bw +bw +bw +bw +bw +ac +ag +aa +bc +bs +ag +cA +ag +ag +ag +ae +ae +ag +ac +ag +ae +ae +ae +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +ab +ab +ab +aa +ab +aa +ae +ag +ag +ag +ax +aL +aT +be +bs +ag +ac +bw +bw +bw +bw +bw +bw +ac +ac +ag +ag +bx +ag +ag +ar +az +ag +ag +ae +ag +cL +cQ +cL +ag +ae +ae +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +ab +ab +ac +ac +ac +ab +ac +ab +ae +ag +ag +ag +ag +ag +aU +bf +ag +ag +ac +bw +bw +bw +bw +ac +bw +bw +ac +ag +cl +cr +cv +ag +az +az +ag +ag +ag +ag +cM +cR +cT +ag +ag +ae +ae +ab +ac +ab +ab +ac +ac +ab +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +ab +ab +aa +aa +aa +ac +aa +ae +ag +ag +ag +ay +az +aV +az +az +bA +ac +ac +bw +bw +ac +bw +bw +bw +ac +ag +cm +az +cw +ag +ag +az +ag +ag +ag +cK +cI +cI +cU +cV +ag +ag +ae +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +ae +ag +ag +ag +az +aM +az +az +bt +bB +bH +bw +bw +bw +bT +bw +bw +bw +ac +ag +ar +az +ar +ag +az +az +ag +cE +cH +cI +cI +cI +cI +cW +cY +ag +ae +aa +ac +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +af +ag +ag +ag +aA +az +aW +bg +bu +bC +ac +bw +ac +ac +bU +bZ +ce +bw +ac +ag +cn +az +ar +as +ar +az +cD +cF +cI +cI +cI +cI +cI +cW +cZ +ag +af +ac +ac +aa +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +ae +ag +ag +ag +aB +az +az +az +az +bC +ac +bw +bw +bw +ac +ca +cf +bw +ac +ag +cm +az +az +ah +az +az +ag +cG +cJ +cI +cI +cI +cI +cW +da +ag +ae +aa +ac +aa +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +ab +ab +ac +ac +ab +ab +ac +aa +ad +ag +ag +ag +aC +az +az +az +az +bD +ac +bw +bN +bR +bV +cb +cg +bw +ac +ag +as +cs +ar +ag +ag +aq +ag +ag +ag +cI +cN +cI +cI +cX +ag +ag +ae +aa +ab +ab +ab +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +ab +ab +ab +ac +ac +ab +ac +ab +ae +ag +ag +ag +aD +aC +aC +ag +bv +ag +ac +bw +bw +bw +bw +bw +bw +bw +ac +ag +co +ct +cx +ag +az +az +ag +ag +ag +ag +cO +cI +cO +ag +ag +ae +ae +ab +ab +ab +ab +ab +ab +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +ae +ag +ag +ag +ag +ag +ag +ag +bw +bv +bw +bw +bw +bw +bw +bw +bw +bw +ac +ag +ag +bx +ag +ag +aC +az +ag +ag +ae +ag +ag +ag +ag +ag +ae +ae +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +ae +ag +ag +ao +aE +aE +aX +ag +ag +ag +bw +ac +bw +bw +bw +bw +ac +bw +ac +ag +aT +bc +bs +ag +cB +ag +ag +ag +ae +ae +ae +ae +ae +ae +ae +ae +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(36,1,1) = {" +ab +ab +ab +ab +ab +ab +ab +ab +ad +ae +ae +ae +ag +ag +ag +ag +ag +ag +ag +ag +ag +ac +ac +ac +ac +ac +ac +ac +ac +ac +ag +aT +bd +bs +aa +ab +ag +ag +ac +ae +ae +ad +ae +ae +ae +ae +ad +ae +ab +ae +ab +ab +ab +ab +ab +ab +ab +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +ag +ag +ap +aF +aN +aF +bh +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +aT +bc +bs +aa +ab +aa +ag +ab +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +ag +ag +aq +aG +aF +aF +bi +ag +by +by +by +by +by +by +ai +aa +ai +ai +by +cp +bc +cy +aa +ab +aa +ah +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ag +ah +ar +az +az +az +az +bx +bE +bE +bJ +bO +bE +bI +bE +bE +bE +bJ +bE +bE +cu +bs +aa +ab +aa +ac +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ah +ac +as +ar +az +aY +bg +ag +bF +aa +aL +aL +aT +bW +bs +aL +aL +aL +ax +aL +aL +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ab +ac +as +ar +aZ +bj +ag +ab +aa +bK +bP +bS +bX +cc +bP +ch +aa +ab +aa +aa +aa +aa +aa +aa +ab +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ac +as +ar +ba +bk +ag +ab +ab +bL +az +az +az +az +az +bL +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +ac +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ac +ag +ag +bl +ag +ab +aa +bM +az +az +az +cd +az +bM +aa +ab +aa +aa +aa +aa +aa +aa +aa +ab +aa +ac +ab +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ah +ag +ag +bl +ag +ag +ag +ag +bQ +aD +bY +az +aD +ag +ag +ag +ah +ac +ab +aa +aa +aa +aa +ab +ab +ah +ac +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ah +ag +ag +ag +bl +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ah +ab +ab +aa +aa +aa +aa +aa +ab +ag +ag +ag +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ae +ae +ae +bm +ae +ae +ae +ag +ag +ag +ag +ag +ag +ag +ae +ae +ae +ad +aa +aa +aa +ab +ac +ah +ag +ag +ae +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bn +ae +ae +ae +ae +ae +ae +af +ae +ae +ae +ae +ae +ae +aa +aa +ab +ab +ac +ah +ag +ag +ae +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bo +ad +ae +aa +ab +aa +aa +ac +aa +aa +ab +aa +ae +ae +aa +aa +aa +cC +ae +ae +ad +ae +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(49,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +ab +ac +ab +ab +ab +ab +ac +ac +ab +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(50,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +ab +ab +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(51,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +ab +ab +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(52,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(53,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa "} diff --git a/_maps/RandomRuins/SpaceRuins/oldteleporter.dmm b/_maps/RandomRuins/SpaceRuins/oldteleporter.dmm index 94c5a7c0268..1589e96c4c7 100644 --- a/_maps/RandomRuins/SpaceRuins/oldteleporter.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldteleporter.dmm @@ -1,29 +1,364 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/obj/structure/lattice,/turf/open/space,/area/ruin/oldteleporter) -"c" = (/turf/open/floor/plating/airless,/area/ruin/oldteleporter) -"d" = (/turf/closed/wall/r_wall,/area/ruin/oldteleporter) -"e" = (/turf/open/floor/plasteel/airless,/area/ruin/oldteleporter) -"f" = (/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/ruin/oldteleporter) -"g" = (/obj/structure/light_construct/small{dir = 1},/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/ruin/oldteleporter) -"h" = (/obj/machinery/computer/teleporter,/turf/open/floor/plasteel/airless,/area/ruin/oldteleporter) -"i" = (/obj/machinery/teleport/station,/turf/open/floor/plasteel/airless,/area/ruin/oldteleporter) -"j" = (/obj/machinery/teleport/hub,/turf/open/floor/plasteel/airless,/area/ruin/oldteleporter) -"k" = (/obj/structure/light_construct/small{dir = 4},/turf/open/floor/plating/airless,/area/ruin/oldteleporter) -"l" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell{charge = 100;maxcharge = 15000},/turf/open/floor/plasteel/airless,/area/ruin/oldteleporter) -"m" = (/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/ruin/oldteleporter) -"n" = (/obj/machinery/power/apc{dir = 0;name = "Worn-out APC";pixel_y = -24},/turf/open/floor/plasteel/airless,/area/ruin/oldteleporter) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/ruin/oldteleporter) +"c" = ( +/turf/open/floor/plating/airless, +/area/ruin/oldteleporter) +"d" = ( +/turf/closed/wall/r_wall, +/area/ruin/oldteleporter) +"e" = ( +/turf/open/floor/plasteel/airless, +/area/ruin/oldteleporter) +"f" = ( +/turf/open/floor/plasteel/airless{ + icon_state = "damaged2" + }, +/area/ruin/oldteleporter) +"g" = ( +/obj/structure/light_construct/small{ + dir = 1 + }, +/turf/open/floor/plasteel/airless{ + icon_state = "damaged3" + }, +/area/ruin/oldteleporter) +"h" = ( +/obj/machinery/computer/teleporter, +/turf/open/floor/plasteel/airless, +/area/ruin/oldteleporter) +"i" = ( +/obj/machinery/teleport/station, +/turf/open/floor/plasteel/airless, +/area/ruin/oldteleporter) +"j" = ( +/obj/machinery/teleport/hub, +/turf/open/floor/plasteel/airless, +/area/ruin/oldteleporter) +"k" = ( +/obj/structure/light_construct/small{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/oldteleporter) +"l" = ( +/obj/structure/table, +/obj/item/weapon/stock_parts/cell{ + charge = 100; + maxcharge = 15000 + }, +/turf/open/floor/plasteel/airless, +/area/ruin/oldteleporter) +"m" = ( +/turf/open/floor/plasteel/airless{ + icon_state = "damaged4" + }, +/area/ruin/oldteleporter) +"n" = ( +/obj/machinery/power/apc{ + dir = 0; + name = "Worn-out APC"; + pixel_y = -24 + }, +/turf/open/floor/plasteel/airless, +/area/ruin/oldteleporter) (1,1,1) = {" -aaaaaaaaaababbbbbaaba -aaaaaaaaaabbbbbbbbbbb -aaaaaaaaaababbbbbbbba -aabbbbbbbbbbbbbbbbbaa -bbbbbbbccccbbbbbbabbb -abbbbdddcdddcccbaabbb -aaaaddccefeccbbaaabaa -aaaadgeeeeeedbaaaaaaa -aaaadeehijekdbaaaaaaa -aaaadlmceeefdaaaaaaaa -aaaaddeneecddaaaaaaaa -aaaaadddddccaaaaaaaaa +a +a +a +a +b +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +a +b +b +a +a +a +a +a +a +"} +(3,1,1) = {" +a +a +a +b +b +b +a +a +a +a +a +a +"} +(4,1,1) = {" +a +a +a +b +b +b +a +a +a +a +a +a +"} +(5,1,1) = {" +a +a +a +b +b +b +d +d +d +d +d +a +"} +(6,1,1) = {" +a +a +a +b +b +d +d +g +e +l +d +d +"} +(7,1,1) = {" +a +a +a +b +b +d +c +e +e +m +e +d +"} +(8,1,1) = {" +a +a +a +b +c +d +c +e +h +c +n +d +"} +(9,1,1) = {" +a +a +a +b +c +c +e +e +i +e +e +d +"} +(10,1,1) = {" +a +a +a +b +c +d +f +e +j +e +e +d +"} +(11,1,1) = {" +b +b +b +b +c +d +e +e +e +e +c +c +"} +(12,1,1) = {" +a +b +a +b +b +d +c +e +k +f +d +c +"} +(13,1,1) = {" +b +b +b +b +b +c +c +d +d +d +d +a +"} +(14,1,1) = {" +b +b +b +b +b +c +b +b +b +a +a +a +"} +(15,1,1) = {" +b +b +b +b +b +c +b +a +a +a +a +a +"} +(16,1,1) = {" +b +b +b +b +b +b +a +a +a +a +a +a +"} +(17,1,1) = {" +b +b +b +b +b +a +a +a +a +a +a +a +"} +(18,1,1) = {" +a +b +b +b +a +a +a +a +a +a +a +a +"} +(19,1,1) = {" +a +b +b +b +b +b +b +a +a +a +a +a +"} +(20,1,1) = {" +b +b +b +a +b +b +a +a +a +a +a +a +"} +(21,1,1) = {" +a +b +a +a +b +b +a +a +a +a +a +a "} diff --git a/_maps/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/RandomRuins/SpaceRuins/onehalf.dmm index f13e8fff22a..0773923b53f 100644 --- a/_maps/RandomRuins/SpaceRuins/onehalf.dmm +++ b/_maps/RandomRuins/SpaceRuins/onehalf.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ab" = ( /obj/structure/cable{ d1 = 2; @@ -9,8 +9,8 @@ icon_state = "2-4" }, /obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ac" = ( /obj/structure/cable{ d1 = 4; @@ -18,8 +18,8 @@ icon_state = "4-8" }, /obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ad" = ( /obj/structure/cable{ d1 = 2; @@ -27,8 +27,8 @@ icon_state = "2-8" }, /obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ae" = ( /obj/item/stack/cable_coil/cut{ amount = 2; @@ -36,8 +36,8 @@ icon_state = "coil_red2" }, /obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "af" = ( /obj/structure/cable{ d1 = 1; @@ -45,8 +45,8 @@ icon_state = "1-8" }, /obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ag" = ( /turf/closed/wall, /area/ruin/onehalf/dorms_med) @@ -62,8 +62,8 @@ icon_state = "1-2" }, /obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "aj" = ( /turf/open/floor/plating/airless, /area/ruin/onehalf/hallway) @@ -150,11 +150,11 @@ /area/ruin/onehalf/drone_bay) "aw" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ax" = ( /obj/structure/lattice, -/turf/open/space, +/turf/template_noop, /area/ruin/onehalf/hallway) "ay" = ( /obj/structure/table_frame, @@ -217,7 +217,7 @@ /area/ruin/onehalf/drone_bay) "aH" = ( /obj/item/stack/rods, -/turf/open/space, +/turf/template_noop, /area/ruin/onehalf/hallway) "aI" = ( /turf/open/floor/plating/airless{ @@ -301,8 +301,8 @@ "aS" = ( /obj/structure/lattice, /obj/item/weapon/storage/toolbox/syndicate, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "aT" = ( /obj/structure/cable{ d1 = 1; @@ -342,10 +342,10 @@ d2 = 2; icon_state = "1-2" }, -/turf/open/floor/plasteel, /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/turf/open/floor/plasteel, /area/ruin/onehalf/drone_bay) "aY" = ( /obj/structure/cable{ @@ -358,17 +358,17 @@ name = "Mining Drone Bay APC"; pixel_y = 24 }, -/turf/open/floor/plasteel, /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/turf/open/floor/plasteel, /area/ruin/onehalf/drone_bay) "aZ" = ( /obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/turf/open/floor/plasteel, /area/ruin/onehalf/drone_bay) "ba" = ( /obj/machinery/button/door{ @@ -395,16 +395,16 @@ pixel_x = -8; pixel_y = 37 }, -/turf/open/floor/plasteel, /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/turf/open/floor/plasteel, /area/ruin/onehalf/drone_bay) "bb" = ( -/turf/open/floor/plasteel, /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/turf/open/floor/plasteel, /area/ruin/onehalf/drone_bay) "bc" = ( /obj/machinery/button/door{ @@ -431,17 +431,17 @@ pixel_x = 8; pixel_y = 27 }, -/turf/open/floor/plasteel, /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/turf/open/floor/plasteel, /area/ruin/onehalf/drone_bay) "bd" = ( /obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, /obj/effect/turf_decal/stripes/line{ dir = 5 }, +/turf/open/floor/plasteel, /area/ruin/onehalf/drone_bay) "be" = ( /obj/structure/grille, @@ -797,8 +797,8 @@ /area/ruin/onehalf/bridge) "bV" = ( /obj/item/stack/sheet/metal, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "bW" = ( /turf/open/floor/plating/airless{ broken = 1; @@ -902,7 +902,7 @@ dir = 8 }, /obj/item/stack/rods, -/turf/open/space, +/turf/template_noop, /area/ruin/onehalf/hallway) "cj" = ( /obj/structure/lattice, @@ -912,8 +912,8 @@ /obj/item/weapon/shard{ icon_state = "small" }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ck" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile, @@ -993,21 +993,21 @@ /area/ruin/onehalf/bridge) "cr" = ( /obj/item/stack/rods, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "cs" = ( /obj/item/stack/sheet/plasteel{ amount = 10 }, /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ct" = ( /obj/structure/lattice, /obj/item/weapon/shard{ icon_state = "medium" }, -/turf/open/space, +/turf/template_noop, /area/ruin/onehalf/hallway) "cu" = ( /obj/structure/disposalpipe/segment, @@ -1052,10 +1052,10 @@ /area/ruin/onehalf/bridge) "cA" = ( /obj/item/stack/tile/wood, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "cB" = ( -/turf/open/space, +/turf/template_noop, /area/ruin/onehalf/hallway) "cC" = ( /obj/structure/lattice, @@ -1078,7 +1078,7 @@ icon_state = "pipe-b"; dir = 1 }, -/turf/open/space, +/turf/template_noop, /area/ruin/onehalf/hallway) "cE" = ( /obj/machinery/door/airlock/glass_command{ @@ -1128,7 +1128,7 @@ dir = 2; icon_state = "coil_red2" }, -/turf/open/space, +/turf/template_noop, /area/ruin/onehalf/hallway) "cL" = ( /turf/open/floor/plating/airless{ @@ -1145,8 +1145,8 @@ /area/ruin/onehalf/bridge) "cN" = ( /obj/item/stack/sheet/plasteel, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "cO" = ( /obj/structure/lattice, /obj/structure/cable{ @@ -1214,8 +1214,8 @@ icon_state = "2-8" }, /obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "cX" = ( /obj/structure/cable{ d1 = 1; @@ -1325,8 +1325,8 @@ "dh" = ( /obj/item/stack/sheet/plasteel, /obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "di" = ( /obj/structure/cable{ d1 = 4; @@ -1337,8 +1337,8 @@ icon_state = "medium" }, /obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "dj" = ( /obj/structure/cable{ d1 = 4; @@ -1352,8 +1352,8 @@ }, /obj/item/stack/rods, /obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "dk" = ( /obj/structure/cable{ d1 = 1; @@ -1366,16 +1366,16 @@ icon_state = "4-8" }, /obj/structure/lattice/catwalk, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "dl" = ( /obj/item/stack/cable_coil/cut{ amount = 2; dir = 2; icon_state = "coil_red2" }, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) (1,1,1) = {" aa diff --git a/_maps/RandomRuins/SpaceRuins/originalcontent.dmm b/_maps/RandomRuins/SpaceRuins/originalcontent.dmm index c84843bc1e0..235d904273a 100644 --- a/_maps/RandomRuins/SpaceRuins/originalcontent.dmm +++ b/_maps/RandomRuins/SpaceRuins/originalcontent.dmm @@ -1,175 +1,3309 @@ -"aa" = (/turf/open/space,/area/space) -"ab" = (/obj/structure/fluff/paper/corner,/turf/open/space,/area/space) -"ac" = (/obj/structure/fluff/paper,/turf/open/space,/area/space) -"ad" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/turf/open/space,/area/space) -"ae" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/turf/open/space,/area/space) -"af" = (/turf/closed/indestructible/paper,/area/ruin/powered) -"ag" = (/obj/structure/fluff/paper{tag = "icon-paper (SOUTHWEST)";icon_state = "paper";dir = 10},/turf/open/space,/area/space) -"ah" = (/obj/structure/fluff/paper/corner,/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/turf/open/space,/area/space) -"ai" = (/obj/structure/fluff/paper{tag = "icon-paper (SOUTHEAST)";icon_state = "paper";dir = 6},/turf/open/space,/area/space) -"aj" = (/obj/machinery/door/airlock/freezer{name = "airlock";opacity = 0},/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"ak" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTHWEST)";icon_state = "paper";dir = 9},/turf/open/indestructible/paper,/area/ruin/powered) -"al" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"am" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTHEAST)";icon_state = "paper";dir = 5},/turf/open/indestructible/paper,/area/ruin/powered) -"an" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/turf/open/indestructible/paper,/area/ruin/powered) -"ao" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (EAST)";icon_state = "papercorner";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"ap" = (/turf/open/indestructible/paper,/area/ruin/powered) -"aq" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"ar" = (/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/turf/open/indestructible/paper,/area/ruin/powered) -"as" = (/obj/item/weapon/paper/crumpled{desc = "Various scrawled out drawings and sketches reside on the paper, apparently he didn't much care for these drawings."},/turf/open/indestructible/paper,/area/ruin/powered) -"at" = (/mob/living/simple_animal/hostile/stickman,/turf/open/indestructible/paper,/area/ruin/powered) -"au" = (/obj/structure/fluff/paper/stack{tag = "icon-paperstack (EAST)";icon_state = "paperstack";dir = 4},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"av" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (EAST)";icon_state = "papercorner";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"aw" = (/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/turf/open/space,/area/space) -"ax" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"ay" = (/obj/structure/fluff/paper{tag = "icon-paper (SOUTHWEST)";icon_state = "paper";dir = 10},/turf/open/indestructible/paper,/area/ruin/powered) -"az" = (/obj/structure/fluff/paper,/turf/open/indestructible/paper,/area/ruin/powered) -"aA" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/turf/open/indestructible/paper,/area/ruin/powered) -"aB" = (/obj/structure/fluff/paper/stack,/obj/structure/fluff/paper/stack{tag = "icon-paperstack (NORTH)";icon_state = "paperstack";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"aC" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTHEAST)";icon_state = "paper";dir = 5},/obj/structure/fluff/paper{tag = "icon-paper (NORTHWEST)";icon_state = "paper";dir = 9},/turf/open/indestructible/paper,/area/ruin/powered) -"aD" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/obj/structure/fluff/paper/corner,/mob/living/simple_animal/hostile/stickman,/turf/open/indestructible/paper,/area/ruin/powered) -"aE" = (/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"aF" = (/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/obj/structure/barricade/wooden,/turf/open/indestructible/paper,/area/ruin/powered) -"aG" = (/obj/structure/fluff/paper{tag = "icon-paper (SOUTHWEST)";icon_state = "paper";dir = 10},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/obj/structure/barricade/wooden,/turf/open/indestructible/paper,/area/ruin/powered) -"aH" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/obj/structure/fluff/paper{tag = "icon-paper (NORTHEAST)";icon_state = "paper";dir = 5},/obj/structure/barricade/wooden,/turf/open/indestructible/paper,/area/ruin/powered) -"aI" = (/obj/structure/fluff/paper/stack{tag = "icon-paperstack (NORTH)";icon_state = "paperstack";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"aJ" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/obj/structure/fluff/paper/corner,/turf/open/indestructible/paper,/area/ruin/powered) -"aK" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/obj/structure/fluff/paper,/turf/open/indestructible/paper,/area/ruin/powered) -"aL" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/mob/living/simple_animal/hostile/stickman,/turf/open/indestructible/paper,/area/ruin/powered) -"aM" = (/obj/structure/fluff/paper/stack{tag = "icon-paperstack (SOUTHWEST)";icon_state = "paperstack";dir = 10},/turf/open/indestructible/paper,/area/ruin/powered) -"aN" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"aO" = (/obj/structure/fluff/paper,/mob/living/simple_animal/hostile/stickman/dog,/turf/open/indestructible/paper,/area/ruin/powered) -"aP" = (/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"aQ" = (/obj/structure/fluff/paper{tag = "icon-paper (SOUTHWEST)";icon_state = "paper";dir = 10},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"aR" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/turf/open/indestructible/paper,/area/ruin/powered) -"aS" = (/obj/structure/fluff/paper/corner,/mob/living/simple_animal/hostile/stickman/dog,/turf/open/indestructible/paper,/area/ruin/powered) -"aT" = (/obj/structure/fluff/paper{tag = "icon-paper (SOUTHEAST)";icon_state = "paper";dir = 6},/turf/open/indestructible/paper,/area/ruin/powered) -"aU" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/obj/structure/fluff/paper,/turf/open/indestructible/paper,/area/ruin/powered) -"aV" = (/obj/structure/fluff/paper{tag = "icon-paper (SOUTHEAST)";icon_state = "paper";dir = 6},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (EAST)";icon_state = "papercorner";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"aW" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/obj/structure/fluff/paper/stack,/turf/open/indestructible/paper,/area/ruin/powered) -"aX" = (/obj/structure/fluff/paper/stack,/turf/open/indestructible/paper,/area/ruin/powered) -"aY" = (/obj/structure/fluff/paper/corner,/obj/structure/fluff/paper/corner{tag = "icon-papercorner (EAST)";icon_state = "papercorner";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"aZ" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"ba" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/mob/living/simple_animal/hostile/stickman/dog,/turf/open/indestructible/paper,/area/ruin/powered) -"bb" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/turf/open/indestructible/paper,/area/ruin/powered) -"bc" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTHWEST)";icon_state = "paper";dir = 9},/turf/open/space,/area/space) -"bd" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/turf/open/space,/area/space) -"be" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (EAST)";icon_state = "papercorner";dir = 4},/turf/open/space,/area/space) -"bf" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/obj/structure/fluff/paper/stack{tag = "icon-paperstack (NORTHWEST)";icon_state = "paperstack";dir = 9},/turf/open/indestructible/paper,/area/ruin/powered) -"bg" = (/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/obj/item/toy/crayon/yellow,/turf/open/indestructible/paper,/area/ruin/powered) -"bh" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/obj/item/toy/crayon/red,/turf/open/indestructible/paper,/area/ruin/powered) -"bi" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/obj/structure/fluff/paper/corner,/turf/open/indestructible/paper,/area/ruin/powered) -"bj" = (/obj/structure/fluff/paper,/obj/structure/fluff/paper/corner{tag = "icon-papercorner (EAST)";icon_state = "papercorner";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"bk" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/mob/living/simple_animal/hostile/stickman,/turf/open/indestructible/paper,/area/ruin/powered) -"bl" = (/obj/structure/fluff/paper/stack{tag = "icon-paperstack (NORTHWEST)";icon_state = "paperstack";dir = 9},/turf/open/indestructible/paper,/area/ruin/powered) -"bm" = (/obj/structure/fluff/paper,/mob/living/simple_animal/hostile/stickman,/turf/open/indestructible/paper,/area/ruin/powered) -"bn" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTHWEST)";icon_state = "paper";dir = 9},/obj/structure/fluff/paper{tag = "icon-paper (SOUTHWEST)";icon_state = "paper";dir = 10},/turf/open/space,/area/space) -"bo" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (EAST)";icon_state = "papercorner";dir = 4},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/turf/open/space,/area/space) -"bp" = (/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/obj/item/toy/crayon/rainbow,/turf/open/indestructible/paper,/area/ruin/powered) -"bq" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/obj/structure/fluff/paper/stack{tag = "icon-paperstack (EAST)";icon_state = "paperstack";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"br" = (/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/obj/structure/fluff/paper/stack{tag = "icon-paperstack (EAST)";icon_state = "paperstack";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"bs" = (/obj/item/toy/crayon/spraycan,/turf/open/indestructible/paper,/area/ruin/powered) -"bt" = (/obj/item/weapon/storage/crayons,/turf/open/indestructible/paper,/area/ruin/powered) -"bu" = (/mob/living/simple_animal/hostile/stickman/ranged,/turf/open/indestructible/paper,/area/ruin/powered) -"bv" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/obj/structure/fluff/paper/stack{tag = "icon-paperstack (NORTH)";icon_state = "paperstack";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"bw" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/turf/open/space,/area/space) -"bx" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTHEAST)";icon_state = "paper";dir = 5},/turf/open/space,/area/space) -"by" = (/obj/structure/fluff/paper/corner,/turf/open/indestructible/paper,/area/ruin/powered) -"bz" = (/obj/structure/fluff/paper/stack{tag = "icon-paperstack (NORTHWEST)";icon_state = "paperstack";dir = 9},/obj/structure/fluff/paper,/turf/open/indestructible/paper,/area/ruin/powered) -"bA" = (/obj/item/device/toner,/turf/open/indestructible/paper,/area/ruin/powered) -"bB" = (/obj/structure/easel,/obj/item/weapon/paper/pamphlet{icon = 'icons/obj/fluff.dmi';icon_state = "painting4";info = "This picture depicts a crudely-drawn stickman firing a crudely-drawn gun.";name = "Painting - 'BANG' "},/turf/open/indestructible/paper,/area/ruin/powered) -"bC" = (/obj/item/toy/crayon/yellow,/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/turf/open/indestructible/paper,/area/ruin/powered) -"bD" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/turf/open/indestructible/paper,/area/ruin/powered) -"bE" = (/mob/living/simple_animal/hostile/stickman/dog,/turf/open/indestructible/paper,/area/ruin/powered) -"bF" = (/obj/structure/fluff/paper/stack{tag = "icon-paperstack (NORTH)";icon_state = "paperstack";dir = 1},/obj/structure/fluff/paper/stack,/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"bG" = (/obj/item/toy/crayon/blue,/mob/living/simple_animal/hostile/stickman/ranged,/turf/open/indestructible/paper,/area/ruin/powered) -"bH" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/obj/item/toy/crayon/yellow,/turf/open/indestructible/paper,/area/ruin/powered) -"bI" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTHWEST)";icon_state = "paper";dir = 9},/obj/structure/closet/crate/bin,/obj/item/weapon/paper/crumpled{desc = "Various scrawled out drawings and sketches reside on the paper, apparently he didn't much care for these drawings."},/obj/item/weapon/paper/crumpled{desc = "Various scrawled out drawings and sketches reside on the paper, apparently he didn't much care for these drawings."},/obj/item/weapon/paper/crumpled{desc = "Various scrawled out drawings and sketches reside on the paper, apparently he didn't much care for these drawings."},/obj/item/device/gps{gpstag = "Pulpy Signal"},/turf/open/indestructible/paper,/area/ruin/powered) -"bJ" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/obj/structure/easel,/obj/item/weapon/paper/pamphlet{icon = 'icons/obj/fluff.dmi';icon_state = "painting1";info = "This picture depicts a sunny day on a lush hillside, set under a shaded tree.";name = "Painting - 'Treeside' "},/turf/open/indestructible/paper,/area/ruin/powered) -"bK" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTHEAST)";icon_state = "paper";dir = 5},/obj/structure/table/wood,/obj/item/weapon/storage/crayons,/turf/open/indestructible/paper,/area/ruin/powered) -"bL" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/obj/structure/fluff/paper/stack{tag = "icon-paperstack (SOUTHEAST)";icon_state = "paperstack";dir = 6},/turf/open/indestructible/paper,/area/ruin/powered) -"bM" = (/obj/item/toy/crayon/purple,/turf/open/indestructible/paper,/area/ruin/powered) -"bN" = (/obj/structure/fluff/paper/corner,/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"bO" = (/obj/machinery/door/airlock/freezer{name = "airlock";opacity = 0},/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/obj/structure/fluff/paper,/turf/open/indestructible/paper,/area/ruin/powered) -"bP" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (WEST)";icon_state = "papercorner";dir = 8},/obj/structure/fluff/paper/stack{tag = "icon-paperstack (EAST)";icon_state = "paperstack";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"bQ" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/obj/structure/fluff/paper/stack,/obj/structure/fluff/paper/stack{tag = "icon-paperstack (NORTH)";icon_state = "paperstack";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"bR" = (/obj/structure/fluff/paper/stack{tag = "icon-paperstack (EAST)";icon_state = "paperstack";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"bS" = (/obj/structure/fluff/paper/stack{tag = "icon-paperstack (NORTH)";icon_state = "paperstack";dir = 1},/obj/structure/fluff/paper/stack,/turf/open/indestructible/paper,/area/ruin/powered) -"bT" = (/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/obj/structure/fluff/paper/stack{tag = "icon-paperstack (SOUTHEAST)";icon_state = "paperstack";dir = 6},/turf/open/indestructible/paper,/area/ruin/powered) -"bU" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/mob/living/simple_animal/hostile/stickman,/turf/open/indestructible/paper,/area/ruin/powered) -"bV" = (/obj/item/toy/crayon/yellow,/turf/open/indestructible/paper,/area/ruin/powered) -"bW" = (/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/obj/structure/easel,/obj/item/weapon/paper/pamphlet{icon = 'icons/obj/fluff.dmi';icon_state = "painting3";info = "This picture depicts a smiling clown. Something doesn't feel right about this..";name = "Painting - 'Pennywise' "},/turf/open/indestructible/paper,/area/ruin/powered) -"bX" = (/obj/item/toy/crayon/blue,/turf/open/indestructible/paper,/area/ruin/powered) -"bY" = (/obj/item/toy/crayon/red,/turf/open/indestructible/paper,/area/ruin/powered) -"bZ" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/obj/structure/bed,/obj/item/weapon/bedsheet/rainbow,/turf/open/indestructible/paper,/area/ruin/powered) -"ca" = (/obj/structure/fluff/paper{tag = "icon-paper (SOUTHWEST)";icon_state = "paper";dir = 10},/obj/structure/table/wood,/obj/item/weapon/storage/crayons,/turf/open/indestructible/paper,/area/ruin/powered) -"cb" = (/obj/structure/fluff/paper/stack{tag = "icon-paperstack (NORTHWEST)";icon_state = "paperstack";dir = 9},/obj/item/toy/crayon/purple,/turf/open/indestructible/paper,/area/ruin/powered) -"cc" = (/mob/living/simple_animal/hostile/boss/paper_wizard,/turf/open/indestructible/paper,/area/ruin/powered) -"cd" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/obj/structure/table/wood,/obj/item/toy/crayon/rainbow,/obj/item/toy/crayon/spraycan,/turf/open/indestructible/paper,/area/ruin/powered) -"ce" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/obj/structure/fluff/paper/corner{tag = "icon-papercorner (EAST)";icon_state = "papercorner";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"cf" = (/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/obj/structure/fluff/paper/stack,/turf/open/indestructible/paper,/area/ruin/powered) -"cg" = (/obj/structure/fluff/paper{tag = "icon-paper (EAST)";icon_state = "paper";dir = 4},/obj/structure/table/wood,/obj/item/weapon/paper_bin,/turf/open/indestructible/paper,/area/ruin/powered) -"ch" = (/obj/structure/fluff/paper,/obj/item/weapon/paper/crumpled{desc = "Various scrawled out drawings and sketches reside on the paper, apparently he didn't much care for these drawings."},/turf/open/indestructible/paper,/area/ruin/powered) -"ci" = (/obj/structure/fluff/paper,/obj/structure/fluff/paper/corner{tag = "icon-papercorner (NORTH)";icon_state = "papercorner";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"cj" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/mob/living/simple_animal/hostile/stickman,/turf/open/indestructible/paper,/area/ruin/powered) -"ck" = (/obj/structure/fluff/paper{tag = "icon-paper (SOUTHEAST)";icon_state = "paper";dir = 6},/obj/structure/fluff/paper{tag = "icon-paper (NORTHEAST)";icon_state = "paper";dir = 5},/turf/open/indestructible/paper,/area/ruin/powered) -"cl" = (/obj/structure/fluff/paper/corner,/obj/structure/fluff/paper/stack{tag = "icon-paperstack (EAST)";icon_state = "paperstack";dir = 4},/turf/open/indestructible/paper,/area/ruin/powered) -"cm" = (/obj/structure/fluff/paper,/obj/structure/table/wood,/obj/item/weapon/storage/crayons,/obj/item/weapon/storage/crayons,/turf/open/indestructible/paper,/area/ruin/powered) -"cn" = (/obj/structure/fluff/paper{tag = "icon-paper (SOUTHEAST)";icon_state = "paper";dir = 6},/obj/structure/table/wood,/obj/item/weapon/canvas/twentythreeXtwentythree,/obj/item/weapon/canvas,/obj/item/weapon/canvas/nineteenXnineteen,/turf/open/indestructible/paper,/area/ruin/powered) -"co" = (/obj/structure/fluff/paper,/obj/structure/fluff/paper/stack{tag = "icon-paperstack (NORTHWEST)";icon_state = "paperstack";dir = 9},/obj/item/toy/crayon/blue,/turf/open/indestructible/paper,/area/ruin/powered) -"cp" = (/obj/structure/fluff/paper{tag = "icon-paper (SOUTHWEST)";icon_state = "paper";dir = 10},/obj/machinery/photocopier,/turf/open/indestructible/paper,/area/ruin/powered) -"cq" = (/obj/structure/fluff/paper,/obj/structure/table/wood,/obj/item/weapon/storage/crayons,/obj/item/weapon/pen/fourcolor,/turf/open/indestructible/paper,/area/ruin/powered) -"cr" = (/obj/structure/fluff/paper,/obj/structure/easel,/obj/item/weapon/paper/pamphlet{icon = 'icons/obj/fluff.dmi';icon_state = "painting2";info = "This picture depicts a man yelling on a bridge for no apparent reason.";name = "Painting - 'Hands-On-Face' "},/turf/open/indestructible/paper,/area/ruin/powered) -"cs" = (/obj/structure/fluff/paper,/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/mob/living/simple_animal/hostile/stickman/dog,/turf/open/indestructible/paper,/area/ruin/powered) -"ct" = (/obj/structure/fluff/paper,/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/turf/open/indestructible/paper,/area/ruin/powered) -"cu" = (/obj/structure/fluff/paper{tag = "icon-paper (WEST)";icon_state = "paper";dir = 8},/obj/structure/fluff/paper/stack{tag = "icon-paperstack (SOUTHEAST)";icon_state = "paperstack";dir = 6},/turf/open/indestructible/paper,/area/ruin/powered) -"cv" = (/obj/structure/fluff/paper,/obj/structure/fluff/paper/stack{tag = "icon-paperstack (SOUTHEAST)";icon_state = "paperstack";dir = 6},/turf/open/indestructible/paper,/area/ruin/powered) -"cw" = (/obj/structure/fluff/paper{tag = "icon-paper (NORTH)";icon_state = "paper";dir = 1},/mob/living/simple_animal/hostile/stickman/ranged,/turf/open/indestructible/paper,/area/ruin/powered) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/obj/structure/fluff/paper/corner, +/turf/template_noop, +/area/template_noop) +"ac" = ( +/obj/structure/fluff/paper, +/turf/template_noop, +/area/template_noop) +"ad" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"ae" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/turf/template_noop, +/area/template_noop) +"af" = ( +/turf/closed/indestructible/paper, +/area/ruin/powered) +"ag" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (SOUTHWEST)"; + icon_state = "paper"; + dir = 10 + }, +/turf/template_noop, +/area/template_noop) +"ah" = ( +/obj/structure/fluff/paper/corner, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"ai" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (SOUTHEAST)"; + icon_state = "paper"; + dir = 6 + }, +/turf/template_noop, +/area/template_noop) +"aj" = ( +/obj/machinery/door/airlock/freezer{ + name = "airlock"; + opacity = 0 + }, +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"ak" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTHWEST)"; + icon_state = "paper"; + dir = 9 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"al" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"am" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTHEAST)"; + icon_state = "paper"; + dir = 5 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"an" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"ao" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (EAST)"; + icon_state = "papercorner"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"ap" = ( +/turf/open/indestructible/paper, +/area/ruin/powered) +"aq" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"ar" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"as" = ( +/obj/item/weapon/paper/crumpled{ + desc = "Various scrawled out drawings and sketches reside on the paper, apparently he didn't much care for these drawings." + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"at" = ( +/mob/living/simple_animal/hostile/stickman, +/turf/open/indestructible/paper, +/area/ruin/powered) +"au" = ( +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (EAST)"; + icon_state = "paperstack"; + dir = 4 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"av" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (EAST)"; + icon_state = "papercorner"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aw" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"ax" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"ay" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (SOUTHWEST)"; + icon_state = "paper"; + dir = 10 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"az" = ( +/obj/structure/fluff/paper, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aA" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aB" = ( +/obj/structure/fluff/paper/stack, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (NORTH)"; + icon_state = "paperstack"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aC" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTHEAST)"; + icon_state = "paper"; + dir = 5 + }, +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTHWEST)"; + icon_state = "paper"; + dir = 9 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aD" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/obj/structure/fluff/paper/corner, +/mob/living/simple_animal/hostile/stickman, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aE" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aF" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/obj/structure/barricade/wooden, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aG" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (SOUTHWEST)"; + icon_state = "paper"; + dir = 10 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/obj/structure/barricade/wooden, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aH" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTHEAST)"; + icon_state = "paper"; + dir = 5 + }, +/obj/structure/barricade/wooden, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aI" = ( +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (NORTH)"; + icon_state = "paperstack"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aJ" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/obj/structure/fluff/paper/corner, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aK" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/obj/structure/fluff/paper, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aL" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/mob/living/simple_animal/hostile/stickman, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aM" = ( +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (SOUTHWEST)"; + icon_state = "paperstack"; + dir = 10 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aN" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aO" = ( +/obj/structure/fluff/paper, +/mob/living/simple_animal/hostile/stickman/dog, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aP" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aQ" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (SOUTHWEST)"; + icon_state = "paper"; + dir = 10 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aR" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aS" = ( +/obj/structure/fluff/paper/corner, +/mob/living/simple_animal/hostile/stickman/dog, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aT" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (SOUTHEAST)"; + icon_state = "paper"; + dir = 6 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aU" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/obj/structure/fluff/paper, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aV" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (SOUTHEAST)"; + icon_state = "paper"; + dir = 6 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (EAST)"; + icon_state = "papercorner"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aW" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/obj/structure/fluff/paper/stack, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aX" = ( +/obj/structure/fluff/paper/stack, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aY" = ( +/obj/structure/fluff/paper/corner, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (EAST)"; + icon_state = "papercorner"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"aZ" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"ba" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/mob/living/simple_animal/hostile/stickman/dog, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bb" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bc" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTHWEST)"; + icon_state = "paper"; + dir = 9 + }, +/turf/template_noop, +/area/template_noop) +"bd" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/turf/template_noop, +/area/template_noop) +"be" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (EAST)"; + icon_state = "papercorner"; + dir = 4 + }, +/turf/template_noop, +/area/template_noop) +"bf" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (NORTHWEST)"; + icon_state = "paperstack"; + dir = 9 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bg" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/obj/item/toy/crayon/yellow, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bh" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/obj/item/toy/crayon/red, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bi" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/obj/structure/fluff/paper/corner, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bj" = ( +/obj/structure/fluff/paper, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (EAST)"; + icon_state = "papercorner"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bk" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/mob/living/simple_animal/hostile/stickman, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bl" = ( +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (NORTHWEST)"; + icon_state = "paperstack"; + dir = 9 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bm" = ( +/obj/structure/fluff/paper, +/mob/living/simple_animal/hostile/stickman, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bn" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTHWEST)"; + icon_state = "paper"; + dir = 9 + }, +/obj/structure/fluff/paper{ + tag = "icon-paper (SOUTHWEST)"; + icon_state = "paper"; + dir = 10 + }, +/turf/template_noop, +/area/template_noop) +"bo" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (EAST)"; + icon_state = "papercorner"; + dir = 4 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"bp" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/obj/item/toy/crayon/rainbow, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bq" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (EAST)"; + icon_state = "paperstack"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"br" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (EAST)"; + icon_state = "paperstack"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bs" = ( +/obj/item/toy/crayon/spraycan, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bt" = ( +/obj/item/weapon/storage/crayons, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bu" = ( +/mob/living/simple_animal/hostile/stickman/ranged, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bv" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (NORTH)"; + icon_state = "paperstack"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bw" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/turf/template_noop, +/area/template_noop) +"bx" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTHEAST)"; + icon_state = "paper"; + dir = 5 + }, +/turf/template_noop, +/area/template_noop) +"by" = ( +/obj/structure/fluff/paper/corner, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bz" = ( +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (NORTHWEST)"; + icon_state = "paperstack"; + dir = 9 + }, +/obj/structure/fluff/paper, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bA" = ( +/obj/item/device/toner, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bB" = ( +/obj/structure/easel, +/obj/item/weapon/paper/pamphlet{ + icon = 'icons/obj/fluff.dmi'; + icon_state = "painting4"; + info = "This picture depicts a crudely-drawn stickman firing a crudely-drawn gun."; + name = "Painting - 'BANG' " + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bC" = ( +/obj/item/toy/crayon/yellow, +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bD" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bE" = ( +/mob/living/simple_animal/hostile/stickman/dog, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bF" = ( +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (NORTH)"; + icon_state = "paperstack"; + dir = 1 + }, +/obj/structure/fluff/paper/stack, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bG" = ( +/obj/item/toy/crayon/blue, +/mob/living/simple_animal/hostile/stickman/ranged, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bH" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/obj/item/toy/crayon/yellow, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bI" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTHWEST)"; + icon_state = "paper"; + dir = 9 + }, +/obj/structure/closet/crate/bin, +/obj/item/weapon/paper/crumpled{ + desc = "Various scrawled out drawings and sketches reside on the paper, apparently he didn't much care for these drawings." + }, +/obj/item/weapon/paper/crumpled{ + desc = "Various scrawled out drawings and sketches reside on the paper, apparently he didn't much care for these drawings." + }, +/obj/item/weapon/paper/crumpled{ + desc = "Various scrawled out drawings and sketches reside on the paper, apparently he didn't much care for these drawings." + }, +/obj/item/device/gps{ + gpstag = "Pulpy Signal" + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bJ" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/obj/structure/easel, +/obj/item/weapon/paper/pamphlet{ + icon = 'icons/obj/fluff.dmi'; + icon_state = "painting1"; + info = "This picture depicts a sunny day on a lush hillside, set under a shaded tree."; + name = "Painting - 'Treeside' " + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bK" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTHEAST)"; + icon_state = "paper"; + dir = 5 + }, +/obj/structure/table/wood, +/obj/item/weapon/storage/crayons, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bL" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (SOUTHEAST)"; + icon_state = "paperstack"; + dir = 6 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bM" = ( +/obj/item/toy/crayon/purple, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bN" = ( +/obj/structure/fluff/paper/corner, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bO" = ( +/obj/machinery/door/airlock/freezer{ + name = "airlock"; + opacity = 0 + }, +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/obj/structure/fluff/paper, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bP" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (WEST)"; + icon_state = "papercorner"; + dir = 8 + }, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (EAST)"; + icon_state = "paperstack"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bQ" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/obj/structure/fluff/paper/stack, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (NORTH)"; + icon_state = "paperstack"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bR" = ( +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (EAST)"; + icon_state = "paperstack"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bS" = ( +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (NORTH)"; + icon_state = "paperstack"; + dir = 1 + }, +/obj/structure/fluff/paper/stack, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bT" = ( +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (SOUTHEAST)"; + icon_state = "paperstack"; + dir = 6 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bU" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/mob/living/simple_animal/hostile/stickman, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bV" = ( +/obj/item/toy/crayon/yellow, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bW" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/obj/structure/easel, +/obj/item/weapon/paper/pamphlet{ + icon = 'icons/obj/fluff.dmi'; + icon_state = "painting3"; + info = "This picture depicts a smiling clown. Something doesn't feel right about this.."; + name = "Painting - 'Pennywise' " + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bX" = ( +/obj/item/toy/crayon/blue, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bY" = ( +/obj/item/toy/crayon/red, +/turf/open/indestructible/paper, +/area/ruin/powered) +"bZ" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/obj/structure/bed, +/obj/item/weapon/bedsheet/rainbow, +/turf/open/indestructible/paper, +/area/ruin/powered) +"ca" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (SOUTHWEST)"; + icon_state = "paper"; + dir = 10 + }, +/obj/structure/table/wood, +/obj/item/weapon/storage/crayons, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cb" = ( +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (NORTHWEST)"; + icon_state = "paperstack"; + dir = 9 + }, +/obj/item/toy/crayon/purple, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cc" = ( +/mob/living/simple_animal/hostile/boss/paper_wizard, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cd" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/obj/structure/table/wood, +/obj/item/toy/crayon/rainbow, +/obj/item/toy/crayon/spraycan, +/turf/open/indestructible/paper, +/area/ruin/powered) +"ce" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (EAST)"; + icon_state = "papercorner"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cf" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/obj/structure/fluff/paper/stack, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cg" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (EAST)"; + icon_state = "paper"; + dir = 4 + }, +/obj/structure/table/wood, +/obj/item/weapon/paper_bin, +/turf/open/indestructible/paper, +/area/ruin/powered) +"ch" = ( +/obj/structure/fluff/paper, +/obj/item/weapon/paper/crumpled{ + desc = "Various scrawled out drawings and sketches reside on the paper, apparently he didn't much care for these drawings." + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"ci" = ( +/obj/structure/fluff/paper, +/obj/structure/fluff/paper/corner{ + tag = "icon-papercorner (NORTH)"; + icon_state = "papercorner"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cj" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/mob/living/simple_animal/hostile/stickman, +/turf/open/indestructible/paper, +/area/ruin/powered) +"ck" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (SOUTHEAST)"; + icon_state = "paper"; + dir = 6 + }, +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTHEAST)"; + icon_state = "paper"; + dir = 5 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cl" = ( +/obj/structure/fluff/paper/corner, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (EAST)"; + icon_state = "paperstack"; + dir = 4 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cm" = ( +/obj/structure/fluff/paper, +/obj/structure/table/wood, +/obj/item/weapon/storage/crayons, +/obj/item/weapon/storage/crayons, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cn" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (SOUTHEAST)"; + icon_state = "paper"; + dir = 6 + }, +/obj/structure/table/wood, +/obj/item/weapon/canvas/twentythreeXtwentythree, +/obj/item/weapon/canvas, +/obj/item/weapon/canvas/nineteenXnineteen, +/turf/open/indestructible/paper, +/area/ruin/powered) +"co" = ( +/obj/structure/fluff/paper, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (NORTHWEST)"; + icon_state = "paperstack"; + dir = 9 + }, +/obj/item/toy/crayon/blue, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cp" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (SOUTHWEST)"; + icon_state = "paper"; + dir = 10 + }, +/obj/machinery/photocopier, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cq" = ( +/obj/structure/fluff/paper, +/obj/structure/table/wood, +/obj/item/weapon/storage/crayons, +/obj/item/weapon/pen/fourcolor, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cr" = ( +/obj/structure/fluff/paper, +/obj/structure/easel, +/obj/item/weapon/paper/pamphlet{ + icon = 'icons/obj/fluff.dmi'; + icon_state = "painting2"; + info = "This picture depicts a man yelling on a bridge for no apparent reason."; + name = "Painting - 'Hands-On-Face' " + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cs" = ( +/obj/structure/fluff/paper, +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/mob/living/simple_animal/hostile/stickman/dog, +/turf/open/indestructible/paper, +/area/ruin/powered) +"ct" = ( +/obj/structure/fluff/paper, +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cu" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (WEST)"; + icon_state = "paper"; + dir = 8 + }, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (SOUTHEAST)"; + icon_state = "paperstack"; + dir = 6 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cv" = ( +/obj/structure/fluff/paper, +/obj/structure/fluff/paper/stack{ + tag = "icon-paperstack (SOUTHEAST)"; + icon_state = "paperstack"; + dir = 6 + }, +/turf/open/indestructible/paper, +/area/ruin/powered) +"cw" = ( +/obj/structure/fluff/paper{ + tag = "icon-paper (NORTH)"; + icon_state = "paper"; + dir = 1 + }, +/mob/living/simple_animal/hostile/stickman/ranged, +/turf/open/indestructible/paper, +/area/ruin/powered) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacacacacadaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeafafafafafafafafafagacacacacahacadaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaiafafafafafafafafafafafafafafajafagadaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacaiafafafafafafafafafakalalalalamafanafafagadaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeafafafafafafafafakalalalaoapapapapaqafajafafafagadaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaiafafafafafafafafarapasapapapatapapaualavamafafafawaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaeafafafafafafafafafafarapapapapapapapapapapapaxamafafagacadaa -aaaaaaaaaaaaaaaaaaaaaaabacacaiafafafafafafafafafafayazazaAaBapapapapapapapapaqafafafafawaa -aaaaaaaaaaaaaaaaaaabacaiafafafafafafafafaCafafafafafafafayaDazazaAapapatapapaqafafafafawaa -aaaaaaaaaaaaaaaaaaaeafafafafafafafafafafaEamafafafafafafafaFafafayaAapasapapaxamafafafagad -aaaaaaaaaaaaaaabacaiafafafafafafafakalalaoaqafafafafafafafaGaHafafarapapapapapaqafafafafaw -aaaaaaaaaaaaaaaeafafafafafafafafafayazaAaIaJaKaLalalamafafafanafafayazaAapaMapaqafafafafaw -aaaaaaaaaaaaaaaeafafafafafafafafafafafayazaNafayazaOaNafafafanafafafafayaAapapaxamafafafaw -aaaaaaaaaaaaaaaeafafafafafafafafafafafafafaPafafafafaQaRamafanafafafafafarapaSazaTafafafaw -aaaaaaaaaaaaabaiafafafafafafafafafafafafafaEalamafafafayaUaKaVafafafafafayazaTafafafafafaw -aaaaaaaaabacaiafafafafakalaWalamafafafafafaraXaqafafafafafafafafafafafafafafafafafafafafaw -aaaaaaaaaeafafafafafakaYazazazaZalbaamafafayazbbalamafafafafafafafafafafafafafafafafbcbdbe -aaaaaaaaaeafafafafafaraqafafafayazaAaqafafafafarapbfafafafakalalalamafafafafafafafafawaaaa -aaaaabacaiafafafafafaraqafafafafafbgaxalamafafayazaZbhalbibjazazazbbalamafafafafafafawaaaa -abacaiafafafafafafafaybkamafafafafarapblaxamafafafayazbmaTafafafafayazbbalamafafafbnboaaaa -aeafafafafafafafafafafbpbqafafafakaoapapapaxamafafafafafafafafafafafafbrbsaqafafafafawaaaa -aeafafafafafafafafafakaYaTafakalaoblapbtapbuaxalalalalalalalamafafafafayazbvafafafafawaaaa -bwbdbxafafafafafafafaraqafafarapapapapapapbyazbzaAapapapaXapaqafafafafafafaEalamafafawaaaa -aaaabwbdbdbdbxafafafaraqafafarapapbuapapapaqafafarapaIapapapaqafafafafafafarbuaqafafagaaaa -aaaaaaaaaaaaaeafafafaraqafafarapapapbAapbBaqafafbCapbyazazazaTafafafafafafayazbDafafafawaa -aaaaaaaaaaaaaeafafafaraqafafayaAapapbEapapbFalalaobGbHafafafafafbIbJbKafafafafanafafafawaa -aaaaaaaaaaaabwbxafafarbLafafafarapaMapapapapasbMapapbNbObPalbQalaobAaqafafafafanafafafawaa -aaaaaaaaaaaaaaaeafafaraqafafafayazazaAapapapbRapapbMaqafayaAapbSbMapbTamafafafanafafafawaa -aaaaaaaaaaaaaaaeafafarbUafafafafafafarapbubtapapbVapaqafafbWapbXbtbYapbZafafafanafafafawaa -aaaaaaaaaaaaaaaeafafaraxamafafafafafayazazazazaAapapaxamafcaaAapcbccapcdafafakceafafafawaa -aaaaaaaaaaaaaaaeafafarapaqafafafafafafafafafafayazazazaNafafcfbRapapapcgafafarbqafafafawaa -aaaaaaaaaaaaaaaeafafaychciaRcjalamafafafafafafafafafafaQckafarapapclcmcnafafaraqafafafawaa -aaaaaaaaaaaaaabwbxafafafafaycoazaZalalamafafafafafafafafafafcpcqcraTafafafakaYaTafafafawaa -aaaaaaaaaaaaaaaaaeafafafafafafafayazazaZalalalbicsctctaRamafafafafafafafafcuaqafafafafawaa -aaaaaaaaaaaaaaaabwbxafafafafafafafafafayazazcvaTafafafayciaRalamafafakalcwaYaTafafafafawaa -aaaaaaaaaaaaaaaaaaaeafafafafafafafafafafafafafafafafafafafayazaZalalaoapapaqafafafafbcbeaa -aaaaaaaaaaaaaaaaaaaeafafafafbcbdbdbdbdbxafafafafafafafafafafafayazazazazazaTafafafafawaaaa -aaaaaaaaaaaaaaaaaaaeafafafafawaaaaaaaaaeafafafafafafafafafafafafafafafafafafafafafafawaaaa -aaaaaaaaaaaaaaaaaaaeafafafafawaaaaaaaabwbdbdbdbdbdbdbdbdbdbdbdbdbxafafafafafafbcbdbdbeaaaa -aaaaaaaaaaaaaaaaaabwbxafafbcbeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwbdbdbdbdbdbdbeaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaeafafawaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaeafafawaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaabwbdbdbeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ae +ae +bw +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +af +af +bd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ai +af +af +bx +bw +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +af +af +af +af +bd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ae +ae +ai +af +af +af +af +bd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +af +af +af +af +af +af +af +bd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ai +af +af +af +af +af +af +af +bx +ae +ae +bw +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ae +ae +ae +ai +af +af +af +af +af +af +af +af +af +af +af +bx +ae +ae +ae +ae +ae +bw +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +bx +ae +bw +aa +aa +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ae +ai +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +bx +ae +ae +ae +ae +bw +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +af +af +af +af +af +af +af +ak +ar +ar +ay +af +ak +ar +ar +ar +ar +ar +ar +ar +ar +ar +ay +af +af +af +af +af +af +af +bx +ae +ae +bw +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ai +af +af +af +af +af +af +ak +aY +aq +aq +bk +bp +aY +aq +aq +aq +aq +bL +aq +bU +ax +ap +ch +af +af +af +af +af +af +af +af +af +af +bd +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +af +af +af +af +af +af +af +al +az +af +af +am +bq +aT +af +af +af +af +af +af +af +am +aq +ci +af +af +af +af +af +af +af +af +af +af +bd +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +af +af +af +af +af +af +af +aW +az +af +af +af +af +af +af +af +af +af +af +af +af +af +af +aR +ay +af +af +af +af +af +af +bc +aw +aw +be +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +ae +ai +af +af +af +af +af +af +af +al +az +af +af +af +af +ak +ar +ar +ar +ay +af +af +af +af +af +cj +co +af +af +af +bc +aw +aw +be +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ac +af +af +af +af +af +af +af +af +af +am +aZ +ay +af +af +af +al +ap +ap +ap +aA +ar +ay +af +af +af +al +az +af +af +af +bd +aa +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +ab +ae +ai +af +af +af +af +af +af +af +af +af +af +al +az +af +af +ak +ao +ap +ap +ap +ap +ap +az +af +af +af +am +aZ +ay +af +af +bd +aa +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +ac +af +af +af +af +af +af +ak +ay +af +af +af +af +ba +aA +bg +ar +ao +bl +ap +bu +ap +ap +aM +az +af +af +af +af +al +az +af +af +bd +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +ac +af +af +af +af +af +af +al +az +af +af +af +af +am +aq +ax +ap +ap +ap +ap +ap +bA +bE +ap +aA +ar +ay +af +af +al +az +af +af +bd +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +ab +ai +af +af +af +af +af +af +al +aA +ay +af +af +af +af +af +al +bl +ap +bt +ap +ap +ap +ap +ap +ap +ap +az +af +af +am +aZ +ay +af +bx +ae +bw +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +ac +af +af +af +af +af +aC +aE +ao +aI +az +af +af +af +af +af +am +ax +ap +ap +ap +ap +bB +ap +ap +ap +bu +az +af +af +af +al +az +af +af +af +bd +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +ab +ae +ai +af +af +af +af +af +af +am +aq +aJ +aN +aP +aE +ar +ay +af +af +am +ax +bu +by +aq +aq +bF +ap +ap +bt +az +af +af +af +al +az +af +af +af +bd +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +ac +af +af +af +af +af +af +af +af +af +af +aK +af +af +al +aX +az +af +af +af +am +ax +az +af +af +al +as +bR +ap +az +af +af +af +al +cv +af +af +af +bd +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +ac +af +af +af +af +af +af +af +af +af +af +aL +ay +af +am +aq +bb +ar +ay +af +af +al +bz +af +af +al +bM +ap +ap +aA +ay +af +af +bi +aT +af +af +af +bd +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +ac +af +af +af +af +af +af +af +af +af +af +al +az +af +af +af +al +ap +az +af +af +al +aA +ar +bC +ao +ap +ap +bV +ap +az +af +af +cs +af +af +af +af +bd +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +ac +af +af +af +ak +ar +ar +ay +af +af +af +al +aO +af +af +af +am +bf +aZ +ay +af +al +ap +ap +ap +bG +ap +bM +ap +ap +az +af +af +ct +af +af +af +af +bd +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +ac +af +af +af +al +ap +ap +az +af +af +af +am +aN +aQ +af +af +af +af +bh +az +af +al +ap +aI +by +bH +bN +aq +aq +ax +az +af +af +ct +af +af +af +af +bd +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +ac +af +af +af +al +as +ap +az +af +af +af +af +af +aR +ay +af +af +af +al +bm +af +al +ap +ap +az +af +bO +af +af +am +aN +aQ +af +aR +ay +af +af +af +bd +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +ac +af +af +af +al +ap +ap +aA +ay +af +af +af +af +am +aU +af +af +af +bi +aT +af +al +aX +ap +az +af +bP +ay +af +af +af +ck +af +am +ci +af +af +af +bd +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +ac +af +af +ak +ao +ap +ap +aB +aD +aF +aG +af +af +af +aK +af +af +ak +bj +af +af +al +ap +ap +az +af +al +aA +bW +ca +af +af +af +af +aR +ay +af +af +bd +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +ac +af +af +al +ap +ap +ap +ap +az +af +aH +an +an +an +aV +af +af +al +az +af +af +am +aq +aq +aT +af +bQ +ap +ap +aA +cf +ar +cp +af +al +az +af +af +bd +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +ad +ag +af +al +ap +at +ap +ap +az +af +af +af +af +af +af +af +af +al +az +af +af +af +af +af +af +af +al +bS +bX +ap +bR +ap +cq +af +am +aZ +ay +af +bd +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +ac +af +al +ap +ap +ap +ap +aA +ay +af +af +af +af +af +af +af +al +az +af +af +af +af +af +af +bI +ao +bM +bt +cb +ap +ap +cr +af +af +al +az +af +bx +bw +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +ac +af +al +ap +ap +ap +ap +ap +aA +ar +ay +af +af +af +af +af +am +bb +ay +af +af +af +af +af +bJ +bA +ap +bY +cc +ap +cl +aT +af +af +al +az +af +af +bd +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +ac +af +am +aq +au +ap +ap +ap +ap +ap +az +af +af +af +af +af +af +al +az +af +af +af +af +af +bK +aq +bT +ap +ap +ap +cm +af +af +ak +ao +az +af +af +bd +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +ac +af +af +af +al +ap +ap +at +as +ap +aA +ay +af +af +af +af +af +am +bb +br +ay +af +af +af +af +af +am +bZ +cd +cg +cn +af +af +al +ap +az +af +af +bd +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +ah +aj +an +aj +av +ap +ap +ap +ap +ap +ap +aA +ar +ay +af +af +af +af +al +bs +az +af +af +af +af +af +af +af +af +af +af +af +af +cw +ap +az +af +af +bd +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +ac +af +af +af +am +ax +ap +ap +ap +ap +aM +ap +ap +az +af +af +af +af +am +aq +bv +aE +ar +ay +af +af +af +af +af +af +af +ak +cu +aY +aq +aT +af +af +bd +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +ad +ag +af +af +af +am +aq +aq +ax +ap +ap +ap +aS +aT +af +af +af +af +af +af +af +al +bu +az +af +af +af +af +ak +ar +ar +aY +aq +aT +af +af +af +af +bd +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +ad +ag +af +af +af +af +af +am +aq +aq +ax +az +af +af +af +af +af +af +af +af +am +aq +bD +an +an +an +an +ce +bq +aq +aT +af +af +af +af +af +bc +be +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +ad +ag +af +af +af +af +af +af +af +am +aT +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +bd +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +ad +aw +ag +af +af +af +af +af +af +af +af +af +af +af +af +bn +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +bd +aa +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +ac +af +af +af +af +af +af +af +af +af +bc +aw +aw +bo +aw +aw +aw +ag +af +af +af +af +af +af +af +af +af +af +af +bc +aw +aw +be +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +ad +aw +aw +ag +af +af +af +af +af +af +bd +aa +aa +aa +aa +aa +aa +aa +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +be +aa +aa +aa +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +aw +aw +aw +aw +aw +aw +be +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa "} diff --git a/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm b/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm index ba1b7616752..db2a94579c5 100644 --- a/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm +++ b/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm @@ -1,9 +1,9 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "b" = ( -/turf/open/space, +/turf/template_noop, /turf/closed/indestructible/oldshuttle/corner{ tag = "icon-corner (WEST)"; icon_state = "corner"; @@ -21,7 +21,7 @@ }, /area/ruin/powered) "e" = ( -/turf/open/space, +/turf/template_noop, /turf/closed/indestructible/oldshuttle/corner, /area/ruin/powered) "f" = ( @@ -68,7 +68,7 @@ icon_state = "propulsion"; dir = 1 }, -/turf/open/space, +/turf/template_noop, /area/ruin/powered) "k" = ( /mob/living/simple_animal/hostile/retaliate/spaceman, @@ -141,7 +141,7 @@ /turf/closed/indestructible/oldshuttle/corner, /area/ruin/powered) "r" = ( -/turf/open/space, +/turf/template_noop, /turf/closed/indestructible/oldshuttle/corner{ tag = "icon-corner (NORTH)"; icon_state = "corner"; @@ -149,7 +149,7 @@ }, /area/ruin/powered) "s" = ( -/turf/open/space, +/turf/template_noop, /turf/closed/indestructible/oldshuttle/corner{ tag = "icon-corner (EAST)"; icon_state = "corner"; @@ -172,15 +172,15 @@ /area/ruin/powered) "v" = ( /obj/structure/shuttle/engine/propulsion/burst/left, -/turf/open/space, +/turf/template_noop, /area/ruin/powered) "w" = ( /obj/structure/shuttle/engine/propulsion/burst/right, -/turf/open/space, +/turf/template_noop, /area/ruin/powered) "x" = ( /obj/structure/shuttle/engine/propulsion/burst, -/turf/open/space, +/turf/template_noop, /area/ruin/powered) (1,1,1) = {" diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm index 5ae4c74ae70..be1e646053d 100644 --- a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm @@ -1,15 +1,15 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ab" = ( /obj/structure/grille, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ac" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "ad" = ( /obj/machinery/power/solar, /obj/structure/cable/yellow{ @@ -1982,26 +1982,26 @@ /area/ruin/hotel/workroom) "eC" = ( /obj/structure/closet/crate, -/turf/open/floor/plasteel/white, /obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/white, /area/ruin/hotel/workroom) "eD" = ( /obj/structure/closet/crate, /obj/item/clothing/head/rice_hat, -/turf/open/floor/plasteel/white, /obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/white, /area/ruin/hotel/workroom) "eE" = ( /obj/structure/closet/crate, /obj/item/weapon/bedsheet/patriot, -/turf/open/floor/plasteel/white, /obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/white, /area/ruin/hotel/workroom) "eF" = ( /obj/structure/closet/crate, /obj/item/weapon/card/id/away/hotel, -/turf/open/floor/plasteel/white, /obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/white, /area/ruin/hotel/workroom) "eG" = ( /turf/closed/wall, @@ -4424,14 +4424,14 @@ }, /area/ruin/hotel/security) "kO" = ( -/turf/open/floor/plasteel/darkyellow, /obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/darkyellow, /area/ruin/hotel/security) "kP" = ( -/turf/open/floor/plasteel/darkyellow, /obj/effect/turf_decal/stripes/corner{ dir = 2 }, +/turf/open/floor/plasteel/darkyellow, /area/ruin/hotel/security) "kQ" = ( /obj/machinery/light{ @@ -4547,10 +4547,10 @@ /turf/open/floor/plating, /area/ruin/hotel/security) "lf" = ( -/turf/open/floor/plasteel/darkyellow, /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/turf/open/floor/plasteel/darkyellow, /area/ruin/hotel/security) "lg" = ( /obj/structure/bed, diff --git a/_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm b/_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm index 1d048d8a6c2..5979795ca08 100644 --- a/_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm +++ b/_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm @@ -1,11 +1,11 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "b" = ( /obj/structure/lattice, -/turf/open/space, -/area/space) +/turf/template_noop, +/area/template_noop) "c" = ( /obj/structure/grille, /turf/open/floor/plating/airless, diff --git a/_maps/RandomRuins/SpaceRuins/way_home.dmm b/_maps/RandomRuins/SpaceRuins/way_home.dmm index 11ebd094337..aae341cb2ba 100644 --- a/_maps/RandomRuins/SpaceRuins/way_home.dmm +++ b/_maps/RandomRuins/SpaceRuins/way_home.dmm @@ -1,37 +1,975 @@ -"a" = (/turf/open/space,/area/space) -"b" = (/turf/closed/mineral/random,/area/ruin/unpowered/no_grav/way_home) -"c" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered/no_grav/way_home) -"d" = (/obj/structure/signpost/salvation,/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered/no_grav/way_home) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/closed/mineral/random, +/area/ruin/unpowered/no_grav/way_home) +"c" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav/way_home) +"d" = ( +/obj/structure/signpost/salvation, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav/way_home) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaabaaaaaaaaaaaaaaa -aaaaaaaaaaaaabbbaaaaaaaaaaaaaa -aaaaaaaaaabbbbbbbbbaaaaaaaaaaa -aaaaaaaaaaabbbbbbbbaaaaaaaaaaa -aaaaaaaaaabbbbbbbbaaaaaaaaaaaa -aaaaaaaaabbbbbbbbbaaaaaaaaaaaa -aaaaaaaaabbbbbbbbbbaaaaaaaaaaa -aaaaaaaabbbbbbbbbbbbaaaaaaaaaa -aaaaaaabbbbbbbbcbbbaaaaaaaaaaa -aaaaaaabbbbbbbcccaaaaaaaaaaaaa -aaaaaabbbbbbbbccaaaaaaaaaaaaaa -aaaaaabbbbbbcccaaaaaaaaaaaaaaa -aaaaaaabbbcccccaaaaaaaaaaaaaaa -aaaaaaabbaacccccaaaaaaaaaaaaaa -aaaaaaaaaaaaaccccaaaaaaaaaaaaa -aaaaaaaaaaaaaccdccaaaaaaaaaaaa -aaaaaaaaaaaaaccccccaaaaaaaaaaa -aaaaaaaaaaaaaaccccccaaaaaaaaaa -aaaaaaaaaaaaaacccbccaaaaaaaaaa -aaaaaaaaaaaaaaaccbbccaaaaaaaaa -aaaaaaaaaaaaaaacbbbbbaaaaaaaaa -aaaaaaaaaaaaaaacbbbbbbaaaaaaaa -aabbaaaaaaaaaaaabbbbbbbaaaaaaa -aabbbaaaaaaaaaabbbbbbbbbaaaaaa -aaabaaaaaaaaaabbaaabbbabaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(3,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +a +a +a +a +"} +(4,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +a +a +a +"} +(5,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +"} +(6,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(7,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(8,1,1) = {" +a +a +a +a +a +a +a +a +a +a +b +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(9,1,1) = {" +a +a +a +a +a +a +a +a +a +b +b +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(10,1,1) = {" +a +a +a +a +a +a +a +b +b +b +b +b +b +b +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(11,1,1) = {" +a +a +a +a +b +a +b +b +b +b +b +b +b +b +c +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(12,1,1) = {" +a +a +a +a +b +b +b +b +b +b +b +b +b +b +c +c +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(13,1,1) = {" +a +a +a +a +b +b +b +b +b +b +b +b +b +c +c +c +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(14,1,1) = {" +a +a +a +b +b +b +b +b +b +b +b +b +b +c +c +c +c +c +c +a +a +a +a +a +a +a +a +a +a +a +"} +(15,1,1) = {" +a +a +b +b +b +b +b +b +b +b +b +c +c +c +c +c +c +c +c +c +c +a +a +a +a +a +b +a +a +a +"} +(16,1,1) = {" +a +a +a +b +b +b +b +b +b +b +c +c +c +a +a +c +c +d +c +c +c +c +c +c +a +b +b +a +a +a +"} +(17,1,1) = {" +a +a +a +a +b +b +b +b +b +b +b +c +a +a +a +a +c +c +c +c +c +c +b +b +b +b +a +a +a +a +"} +(18,1,1) = {" +a +a +a +a +b +b +b +b +b +b +b +a +a +a +a +a +a +c +c +c +b +b +b +b +b +b +a +a +a +a +"} +(19,1,1) = {" +a +a +a +a +b +b +a +a +b +b +b +a +a +a +a +a +a +a +c +c +c +b +b +b +b +b +a +a +a +a +"} +(20,1,1) = {" +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +c +c +c +b +b +b +b +b +a +a +a +"} +(21,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +c +b +b +b +b +b +a +a +a +"} +(22,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +b +b +a +a +a +"} +(23,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +a +a +a +a +"} +(24,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +b +a +a +a +"} +(25,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(26,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(27,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(28,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(29,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(30,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a "} diff --git a/tgstation.dme b/tgstation.dme index 078a9f053c0..c229ef57a0a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -657,8 +657,8 @@ #include "code\game\objects\effects\mines.dm" #include "code\game\objects\effects\misc.dm" #include "code\game\objects\effects\overlays.dm" -#include "code\game\objects\effects\proximity.dm" #include "code\game\objects\effects\portals.dm" +#include "code\game\objects\effects\proximity.dm" #include "code\game\objects\effects\spiders.dm" #include "code\game\objects\effects\step_triggers.dm" #include "code\game\objects\effects\wanted_poster.dm" From 011448491ef940e043f80289f39cf18333e2fddd Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Thu, 20 Apr 2017 14:52:14 -0400 Subject: [PATCH 09/31] Fixes proximity_checkers being visible in the right click menu (#26367) --- code/game/objects/effects/proximity.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/effects/proximity.dm b/code/game/objects/effects/proximity.dm index 8fabe3fce09..8a6893c8871 100644 --- a/code/game/objects/effects/proximity.dm +++ b/code/game/objects/effects/proximity.dm @@ -73,6 +73,7 @@ checkers = checkers_local /obj/effect/abstract/proximity_checker + invisibility = INVISIBILITY_ABSTRACT var/datum/proximity_monitor/monitor /obj/effect/abstract/proximity_checker/Initialize(mapload, datum/proximity_monitor/_monitor) @@ -94,4 +95,4 @@ return var/atom/H = M.host testing("HasProx: [H] -> [AM]") - H.HasProximity(AM) \ No newline at end of file + H.HasProximity(AM) From 2b668776237ee7f37059cb25856f4dfffa2e8ce0 Mon Sep 17 00:00:00 2001 From: bagil Date: Thu, 20 Apr 2017 18:58:24 +0000 Subject: [PATCH 10/31] Automatic changelog compile, [ci skip] --- html/changelog.html | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/html/changelog.html b/html/changelog.html index 451b0bc0fc5..197d65a6632 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -1397,22 +1397,6 @@
  • Flightsuits actually fly over people
  • Flightsuits don't interrupt pulls when you pass through doors
- -

16 February 2017

-

Cyberboss updated:

-
    -
  • Test merged PRs are now more detailed
  • -
-

Steelpoint updated:

-
    -
  • The Head of Security's Hardsuit is now equipped with a inbuilt Jetpack.
  • -
-

coiax updated:

-
    -
  • The Hyperfractal Gigashuttle is now purchasable for 100,000 credits. Help Centcom by testing this very safe and efficient shuttle design. (Terms and conditions apply.)
  • -
  • The changeling power "Anatomic Panacea" now causes the changeling to vomit out zombie infections, along with headslugs and xeno infections, as before.
  • -
  • The main CTF laser gun disappears when dropped on the floor.
  • -
GoonStation 13 Development Team From e43dc897e780ce32c8dd6eb8dc6be798721031ca Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Thu, 20 Apr 2017 15:11:05 -0400 Subject: [PATCH 11/31] Fixes proximity checkers being moved by shuttles --- code/modules/shuttle/on_move.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 1cf42135d69..2f80291a0e4 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -58,6 +58,10 @@ if(!buckled) Weaken(3) +/obj/effect/abstract/proximity_checker/onShuttleMove() + //timer so it only happens once + addtimer(CALLBACK(monitor, /datum/proximity_monitor/proc/SetRange, monitor.current_range, TRUE), 0, TIMER_UNIQUE) + // Shuttle Rotation // /atom/proc/shuttleRotate(rotation) @@ -76,4 +80,4 @@ var/oldPX = pixel_x var/oldPY = pixel_y pixel_x = oldPY - pixel_y = (oldPX*(-1)) + pixel_y = (oldPX*(-1)) \ No newline at end of file From f23a31edfa6901e3cc38e81fdfe0066e838205e2 Mon Sep 17 00:00:00 2001 From: QualityVan Date: Thu, 20 Apr 2017 15:31:02 -0400 Subject: [PATCH 12/31] Fixes loading ammo for the L6-SAW (#26370) --- code/modules/projectiles/guns/ballistic/automatic.dm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index c9553aaac87..b334b7b7759 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -333,10 +333,7 @@ /obj/item/weapon/gun/ballistic/automatic/l6_saw/attackby(obj/item/A, mob/user, params) - . = ..() - if(.) - return - if(!cover_open) + if(!cover_open && istype(A, mag_type)) to_chat(user, "[src]'s cover is closed! You can't insert a new mag.") return ..() From 754f0ea202eda8d45b380ea2b0ef45676f9fa406 Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Thu, 20 Apr 2017 15:59:08 -0400 Subject: [PATCH 13/31] Fixes supermatter not spawning teslas --- code/modules/power/supermatter/supermatter.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index a74a95d3aa9..fee8859de49 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -175,7 +175,7 @@ else investigate_log("has exploded.", "supermatter") explosion(get_turf(T), explosion_power * max(gasmix_power_ratio, 0.205) * 0.5 , explosion_power * max(gasmix_power_ratio, 0.205) + 2, explosion_power * max(gasmix_power_ratio, 0.205) + 4 , explosion_power * max(gasmix_power_ratio, 0.205) + 6, 1, 1) - if(power > CRITICAL_POWER_PENALTY_THRESHOLD) + if(power > POWER_PENALTY_THRESHOLD) investigate_log("has spawned additional energy balls.", "supermatter") var/obj/singularity/energy_ball/E = new(T) E.energy = power From 90d02d92b8661b31aeaa54bc1f08c3c284606534 Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Thu, 20 Apr 2017 16:07:09 -0400 Subject: [PATCH 14/31] Fixes some closets populating in New() (#26378) --- code/modules/mining/mine_items.dm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 94008e4cdb6..2bb438639bf 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -18,9 +18,7 @@ name = "mining wardrobe" icon_door = "mixed" -/obj/structure/closet/wardrobe/miner/New() - ..() - contents = list() +/obj/structure/closet/wardrobe/miner/PopulateContents() new /obj/item/weapon/storage/backpack/dufflebag(src) new /obj/item/weapon/storage/backpack/explorer(src) new /obj/item/weapon/storage/backpack/satchel/explorer(src) @@ -39,7 +37,7 @@ icon_state = "mining" req_access = list(GLOB.access_mining) -/obj/structure/closet/secure_closet/miner/New() +/obj/structure/closet/secure_closet/miner/PopulateContents() ..() new /obj/item/stack/sheet/mineral/sandbags(src, 5) new /obj/item/weapon/storage/box/emptysandbags(src) @@ -483,4 +481,4 @@ name = "tubes" anchored = 1 layer = BELOW_MOB_LAYER - density = 0 \ No newline at end of file + density = 0 From 3522e752ca77587f8b58f082cbd648760af32b28 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Thu, 20 Apr 2017 13:07:11 -0700 Subject: [PATCH 15/31] Automatic changelog generation for PR #26378 [ci skip] --- html/changelogs/AutoChangeLog-pr-26378.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-26378.yml diff --git a/html/changelogs/AutoChangeLog-pr-26378.yml b/html/changelogs/AutoChangeLog-pr-26378.yml new file mode 100644 index 00000000000..4142eb6a179 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-26378.yml @@ -0,0 +1,4 @@ +author: "Cyberboss" +delete-after: True +changes: + - bugfix: "Fixed mining closets having extra, unrelated items" From d02b631bd40e6567b9a58251f3b80c171acd5f3c Mon Sep 17 00:00:00 2001 From: MrStonedOne Date: Thu, 20 Apr 2017 13:09:03 -0700 Subject: [PATCH 16/31] Revert "Ghosts call Moved() after Move() (#26183)" This reverts commit 0adf5f64a7ae81476e534ea5d77d34b2d7d67c2a. --- code/modules/mob/dead/observer/observer.dm | 29 +++++++++++----------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 8f98589ced9..4175f75744f 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -272,24 +272,25 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/Move(NewLoc, direct) if(updatedir) - setDir(direct)//only update dir if we actually need it, so overlays won't spin on base sprites that don't have directions of their own - var/oldloc = loc - + setDir(direct )//only update dir if we actually need it, so overlays won't spin on base sprites that don't have directions of their own if(NewLoc) loc = NewLoc + for(var/obj/effect/step_trigger/S in NewLoc) + S.Crossed(src) update_parallax_contents() - else - loc = get_turf(src) //Get out of closets and such as a ghost - if((direct & NORTH) && y < world.maxy) - y++ - else if((direct & SOUTH) && y > 1) - y-- - if((direct & EAST) && x < world.maxx) - x++ - else if((direct & WEST) && x > 1) - x-- + return + loc = get_turf(src) //Get out of closets and such as a ghost + if((direct & NORTH) && y < world.maxy) + y++ + else if((direct & SOUTH) && y > 1) + y-- + if((direct & EAST) && x < world.maxx) + x++ + else if((direct & WEST) && x > 1) + x-- - Moved(oldloc, direct) + for(var/obj/effect/step_trigger/S in locate(x, y, z)) //<-- this is dumb + S.Crossed(src) /mob/dead/observer/is_active() return 0 From f65fcabcbfa6f019cd412229ba6e3373d6ebc8b1 Mon Sep 17 00:00:00 2001 From: sybil Date: Thu, 20 Apr 2017 20:14:13 +0000 Subject: [PATCH 17/31] Automatic changelog compile, [ci skip] --- html/changelog.html | 6 ++++++ html/changelogs/.all_changelog.yml | 3 +++ html/changelogs/AutoChangeLog-pr-26378.yml | 4 ---- 3 files changed, 9 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-26378.yml diff --git a/html/changelog.html b/html/changelog.html index 197d65a6632..bcbc1d7bd9a 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,12 @@ -->
+

20 April 2017

+

Cyberboss updated:

+
    +
  • Fixed mining closets having extra, unrelated items
  • +
+

19 April 2017

QualityVan updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 94f95f32455..06cf94a0971 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -10629,3 +10629,6 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. XDTM: - bugfix: APCs hacked by a malfunctioning AI are no longer immune to alien attacks. - bugfix: Fixed bug where flashlight eyes weren't emitting light. +2017-04-20: + Cyberboss: + - bugfix: Fixed mining closets having extra, unrelated items diff --git a/html/changelogs/AutoChangeLog-pr-26378.yml b/html/changelogs/AutoChangeLog-pr-26378.yml deleted file mode 100644 index 4142eb6a179..00000000000 --- a/html/changelogs/AutoChangeLog-pr-26378.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Cyberboss" -delete-after: True -changes: - - bugfix: "Fixed mining closets having extra, unrelated items" From 7cb44197090d334ee7fd8c2480e2437ea0965b5b Mon Sep 17 00:00:00 2001 From: XDTM Date: Thu, 20 Apr 2017 23:12:15 +0200 Subject: [PATCH 18/31] Fixes gold and light pink slime extracts --- code/modules/reagents/chemistry/recipes/slime_extracts.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index 9237c3f85ad..52205b24973 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -102,7 +102,7 @@ /datum/chemical_reaction/slime/slimemobspawn/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) - summon_mobs(T) + summon_mobs(holder, T) var/obj/item/slime_extract/M = holder.my_atom deltimer(M.qdel_timer) ..() @@ -473,7 +473,7 @@ required_other = 1 /datum/chemical_reaction/slime/slimepotion2/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/sentience + new /obj/item/slimepotion/sentience(get_turf(holder.my_atom)) ..() //Adamantine From 06636edc3d712c470830015f2907d228cb82dcf0 Mon Sep 17 00:00:00 2001 From: Kyle Spier-Swenson Date: Thu, 20 Apr 2017 14:45:13 -0700 Subject: [PATCH 19/31] fixes a proc cache to be more obvious it's a proc cache --- code/game/atoms_movable.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index c02b8db7ab7..96d219b6def 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -122,9 +122,9 @@ if(flags & CLEAN_ON_MOVE) clean_on_move() - var/datum/proximity_monitor/pc = proximity_monitor - if(pc) - pc.HandleMove() + var/datum/proximity_monitor/proximity_monitor = src.proximity_monitor + if(proximity_monitor) + proximity_monitor.HandleMove() return 1 /atom/movable/proc/clean_on_move() From b45aab22b66ea866d10a1422d2ff46aa7199b83b Mon Sep 17 00:00:00 2001 From: QualityVan Date: Thu, 20 Apr 2017 22:00:30 -0400 Subject: [PATCH 20/31] Fixes fuel checks being too early in weldering airlocks --- code/game/machinery/doors/airlock.dm | 32 ++++++++++++++++------------ 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 147e07fe1da..c8555e47ad2 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1131,8 +1131,8 @@ /obj/machinery/door/airlock/try_to_weld(obj/item/weapon/weldingtool/W, mob/user) if(!operating && density) - if(W.remove_fuel(0,user)) - if(user.a_intent != INTENT_HELP) + if(user.a_intent != INTENT_HELP) + if(W.remove_fuel(0,user)) user.visible_message("[user] is [welded ? "unwelding":"welding"] the airlock.", \ "You begin [welded ? "unwelding":"welding"] the airlock...", \ "You hear welding.") @@ -1143,18 +1143,22 @@ user.visible_message("[user.name] has [welded? "welded shut":"unwelded"] [src].", \ "You [welded ? "weld the airlock shut":"unweld the airlock"].") update_icon() - else if(obj_integrity < max_integrity) - user.visible_message("[user] is welding the airlock.", \ - "You begin repairing the airlock...", \ - "You hear welding.") - playsound(loc, W.usesound, 40, 1) - if(do_after(user,40*W.toolspeed, 1, target = src, extra_checks = CALLBACK(src, .proc/weld_checks, W, user))) - playsound(loc, 'sound/items/Welder2.ogg', 50, 1) - obj_integrity = max_integrity - stat &= ~BROKEN - user.visible_message("[user.name] has repaired [src].", \ - "You finish repairing the airlock.") - update_icon() + else + if(obj_integrity < max_integrity) + if(W.remove_fuel(0,user)) + user.visible_message("[user] is welding the airlock.", \ + "You begin repairing the airlock...", \ + "You hear welding.") + playsound(loc, W.usesound, 40, 1) + if(do_after(user,40*W.toolspeed, 1, target = src, extra_checks = CALLBACK(src, .proc/weld_checks, W, user))) + playsound(loc, 'sound/items/Welder2.ogg', 50, 1) + obj_integrity = max_integrity + stat &= ~BROKEN + user.visible_message("[user.name] has repaired [src].", \ + "You finish repairing the airlock.") + update_icon() + else + to_chat(user, "The airlock doesn't need repairing.") /obj/machinery/door/airlock/proc/weld_checks(obj/item/weapon/weldingtool/W, mob/user) return !operating && density && user && W && W.isOn() && user.loc From ebdb8f1809c7a2423b5fac2cadd2b9cf1ae2a406 Mon Sep 17 00:00:00 2001 From: c0 Date: Fri, 21 Apr 2017 11:42:55 +0300 Subject: [PATCH 21/31] Cleans up some copypasted src and accidently commited changes --- code/modules/mob/living/carbon/human/human_defense.dm | 4 ++-- code/modules/paperwork/photography.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index e68237363e5..133a11f8202 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -682,10 +682,10 @@ status += "numb" if(status == "") status = "OK" - to_chat(src, " [status == "OK" ? "\blue" : "\red"] Your [LB.name] is [status].") + to_chat(src, "\t [status == "OK" ? "\blue" : "\red"] Your [LB.name] is [status].") for(var/obj/item/I in LB.embedded_objects) - to_chat(src, " There is \a [I] embedded in your [LB.name]!") + to_chat(src, "\t There is \a [I] embedded in your [LB.name]!") for(var/t in missing) to_chat(src, "Your [parse_zone(t)] is missing!") diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 5fc9ee32da5..e9fe951f62c 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -556,7 +556,7 @@ /obj/structure/sign/picture_frame/New(loc, dir, building) ..() if(dir) - src.setDir(dir) + setDir(dir) if(building) pixel_x = (dir & 3)? 0 : (dir == 4 ? -30 : 30) pixel_y = (dir & 3)? (dir ==1 ? -30 : 30) : 0 From 2836a9a47e17c425161e3c5922adac729070efb4 Mon Sep 17 00:00:00 2001 From: sybil Date: Fri, 21 Apr 2017 20:23:10 +0000 Subject: [PATCH 22/31] Automatic changelog compile, [ci skip] --- html/changelog.html | 69 --------------------------------------------- 1 file changed, 69 deletions(-) diff --git a/html/changelog.html b/html/changelog.html index bcbc1d7bd9a..09662852539 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -1334,75 +1334,6 @@
  • you can now harmlessly slap somebody by aiming for the mouth on disarm intent.
  • you can only slap somebody who is unarmed on help intent, restrained, or ready to slap you.
- -

17 February 2017

-

Arianya updated:

-
    -
  • The Labour Camp rivet wall has been removed!
  • -
  • Fixed some typos in Prison Ofitser's description.
  • -
-

Cobby updated:

-
    -
  • Flashes have been rebalanced to be more powerful
  • -
-

Cyberboss updated:

-
    -
  • Rack construction progress bars will no longer be spammed
  • -
  • The round start timer will count down during subsystem initialization
  • -
  • Total subsystem initialization time will now be displayed
  • -
-

Joan updated:

-
    -
  • His Grace no longer globally announces when He is awakened or falls to sleep.
  • -
  • His Grace is not a toolbox, even if He looks like one.
  • -
  • His Grace no longer requires organs to awaken.
  • -
  • His Grace now gains 4 force for each victim consumed, always provides stun immunity, and will, generally, take longer to consume His owner.
  • -
  • His Grace must be destroyed to free the bodies within Him.
  • -
  • Dropping His Grace while He is awake will cause you to suffer His Wrath until you hold Him again.
  • -
  • His Grace becomes highly aggressive after consuming His owner, and will hunt His own prey.
  • -
  • The Ark of the Clockwork Justicar now only costs 3 of each component to summon, but must consume an additional 7 of each component before it will activate and start counting down.
  • -
  • The presence of the Ark will be immediately announced, though the location will still only be announced after it has been active and counting down for 2 minutes.
  • -
  • The Ark also requires an additional invoker to invoke.
  • -
-

Lobachevskiy updated:

-
    -
  • Fixed glass shards affecting buckled and flying mobs
  • -
-

MrStonedOne updated:

-
    -
  • The game will now force hardware rendering on for all clients.
  • -
-

Nienhaus updated:

-
    -
  • Drying racks have new sprites.
  • -
-

Swindly updated:

-
    -
  • Trays can now be used to insert food into food processors
  • -
-

Thunder12345 updated:

-
    -
  • It's ACTUALLY possible to pat people on the head now
  • -
-

WJohn updated:

-
    -
  • Improved blueshift sprites, courtesy of Nienhaus.
  • -
-

XDTM updated:

-
    -
  • Bluespace Crystals are now a material that can be inserted in Protolathes and Circuit Printers. Some items now require Bluespace Mesh.
  • -
  • Bluespace Crystal can now be ground in a reagent grinder to gain bluespace dust. It has no uses, but it teleports people if splashed on them, and if ingested it will occasionally cause teleportation.
  • -
-

coiax updated:

-
    -
  • Engraved messages now have a UI, which any player, living or dead can access. See when the message was engraved, and upvote or downvote accordingly.
  • -
  • Admins have additional options with the UI, seeing the player ckey, original character name, and the ability to outright delete messages at the press of a button.
  • -
-

kevinz000 updated:

-
    -
  • Flightsuits actually fly over people
  • -
  • Flightsuits don't interrupt pulls when you pass through doors
  • -
GoonStation 13 Development Team From c772de31c28291361132a41b03cf277d4ac76a3f Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Fri, 21 Apr 2017 15:19:20 -0700 Subject: [PATCH 23/31] Automatic changelog generation for PR #26415 [ci skip] --- html/changelogs/AutoChangeLog-pr-26415.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-26415.yml diff --git a/html/changelogs/AutoChangeLog-pr-26415.yml b/html/changelogs/AutoChangeLog-pr-26415.yml new file mode 100644 index 00000000000..a10569bfd28 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-26415.yml @@ -0,0 +1,4 @@ +author: "XDTM" +delete-after: True +changes: + - bugfix: "Gold and Light Pink slime extracts no longer disappear before working." From 7260d4be0c71206f49cdd52069f5a62b9e27c2a1 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Fri, 21 Apr 2017 15:24:48 -0700 Subject: [PATCH 24/31] Automatic changelog generation for PR #26403 [ci skip] --- html/changelogs/AutoChangeLog-pr-26403.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-26403.yml diff --git a/html/changelogs/AutoChangeLog-pr-26403.yml b/html/changelogs/AutoChangeLog-pr-26403.yml new file mode 100644 index 00000000000..2ab0d48ebbd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-26403.yml @@ -0,0 +1,5 @@ +author: "coiax" +delete-after: True +changes: + - bugfix: "Fixed people understanding languages over the radio when they +shouldn't." From 44898a9b9ee18ab9945d240771cef093a07bb22f Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Fri, 21 Apr 2017 18:27:37 -0400 Subject: [PATCH 25/31] Conveyor movement refactor/fix (#26408) * Refactors conveyor movement * Fixes effects being affected by conveyors * Fixes jetpacks not stopping conveyors * Fixes /mob/dead being affected by conveyors * Fixes butterflys being affected by conveyors --- code/game/atoms_movable.dm | 5 +++++ code/game/objects/effects/effects.dm | 3 +++ code/game/objects/items/weapons/tanks/jetpack.dm | 8 +++++++- code/modules/mob/dead/dead.dm | 3 +++ code/modules/mob/living/living.dm | 5 +++++ .../mob/living/simple_animal/friendly/butterfly.dm | 2 +- code/modules/recycling/conveyor2.dm | 6 ++---- 7 files changed, 26 insertions(+), 6 deletions(-) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 96d219b6def..9c12f5d6712 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -623,3 +623,8 @@ highest_priority = pri . = chosen_langtype + +/atom/movable/proc/ConveyorMove(movedir) + set waitfor = FALSE + if(!anchored && has_gravity()) + step(src, movedir) \ No newline at end of file diff --git a/code/game/objects/effects/effects.dm b/code/game/objects/effects/effects.dm index 365d7f1c263..d38b33671d6 100644 --- a/code/game/objects/effects/effects.dm +++ b/code/game/objects/effects/effects.dm @@ -47,6 +47,9 @@ qdel(src) return 0 +/obj/effect/ConveyorMove() + return + /obj/effect/abstract/ex_act(severity, target) return diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm index 32e7537652c..fa17cf89c73 100644 --- a/code/game/objects/items/weapons/tanks/jetpack.dm +++ b/code/game/objects/items/weapons/tanks/jetpack.dm @@ -191,7 +191,7 @@ //Return a jetpack that the mob can use //Back worn jetpacks, hardsuit internal packs, and so on. -//Used in Process_Spacemove() and wherever you want to check for/get a jetpack +//Used in Process_Spacemove() and wherever you want to check for/get a jetpack /mob/proc/get_jetpack() return @@ -207,3 +207,9 @@ var/obj/item/clothing/suit/space/hardsuit/C = wear_suit J = C.jetpack return J + +/mob/has_gravity(turf/T) + var/obj/item/weapon/tank/jetpack/J = get_jetpack() + if(J && J.on) + return FALSE + return ..() \ No newline at end of file diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm index d218d32b055..c3441cc16c9 100644 --- a/code/modules/mob/dead/dead.dm +++ b/code/modules/mob/dead/dead.dm @@ -10,3 +10,6 @@ /mob/dead/gib() //ghosts can't be gibbed. return + +/mob/dead/ConveyorMove() //lol + return \ No newline at end of file diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 7c26ab2cda0..d77c3fff863 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -923,3 +923,8 @@ if(riding_datum) riding_datum.handle_vehicle_offsets() riding_datum.handle_vehicle_layer() + +/mob/living/ConveyorMove() + if((movement_type & FLYING) && !stat) + return + ..() \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/simple_animal/friendly/butterfly.dm index 36ad869b051..0b0b46c259e 100644 --- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm +++ b/code/modules/mob/living/simple_animal/friendly/butterfly.dm @@ -27,4 +27,4 @@ /mob/living/simple_animal/butterfly/Initialize() ..() var/newcolor = rgb(rand(0, 255), rand(0, 255), rand(0, 255)) - add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) + add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) \ No newline at end of file diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index 71b73de0e14..060e3e98704 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -108,10 +108,8 @@ affecting = loc.contents - src // moved items will be all in loc sleep(1) for(var/atom/movable/A in affecting) - if(!A.anchored) - if(A.loc == src.loc) // prevents the object from being affected if it's not currently here. - step(A,movedir) - CHECK_TICK + if(A.loc == loc) + A.ConveyorMove(movedir) // attack with item, place item on conveyor /obj/machinery/conveyor/attackby(obj/item/I, mob/user, params) From 7ccc2e88584e675ba97431ba9772159380aa7f9b Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Fri, 21 Apr 2017 15:27:39 -0700 Subject: [PATCH 26/31] Automatic changelog generation for PR #26408 [ci skip] --- html/changelogs/AutoChangeLog-pr-26408.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-26408.yml diff --git a/html/changelogs/AutoChangeLog-pr-26408.yml b/html/changelogs/AutoChangeLog-pr-26408.yml new file mode 100644 index 00000000000..a33b490e994 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-26408.yml @@ -0,0 +1,4 @@ +author: "Cyberboss" +delete-after: True +changes: + - bugfix: "Conveyors no longer move things they aren't supposed to" From f19bbede518ffddcf05d831ab8ec8059a119fbf3 Mon Sep 17 00:00:00 2001 From: sybil Date: Sat, 22 Apr 2017 06:29:28 +0000 Subject: [PATCH 27/31] Automatic changelog compile, [ci skip] --- html/changelog.html | 58 ++++++---------------- html/changelogs/.all_changelog.yml | 7 +++ html/changelogs/AutoChangeLog-pr-26403.yml | 5 -- html/changelogs/AutoChangeLog-pr-26408.yml | 4 -- html/changelogs/AutoChangeLog-pr-26415.yml | 4 -- 5 files changed, 21 insertions(+), 57 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-26403.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-26408.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-26415.yml diff --git a/html/changelog.html b/html/changelog.html index 09662852539..151ddacd984 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,20 @@ -->
+

22 April 2017

+

Cyberboss updated:

+
    +
  • Conveyors no longer move things they aren't supposed to
  • +
+

XDTM updated:

+
    +
  • Gold and Light Pink slime extracts no longer disappear before working.
  • +
+

coiax updated:

+
    +
  • Fixed people understanding languages over the radio when they shouldn't.
  • +
+

20 April 2017

Cyberboss updated:

    @@ -1290,50 +1304,6 @@
    • Shuttle engines have new sprites.
    - -

    18 February 2017

    -

    Cyberboss updated:

    -
      -
    • New round end animation. Inspired by @Iamgoofball
    • -
    -

    Gun Hog updated:

    -
      -
    • The Aux Base console now controls turrets made by the construction console.
    • -
    • The Aux Base may now be dropped at a random location if miners fail to use the landing remote.
    • -
    • The mining shuttle may now dock at the Aux Base's spot once the base is dropped.
    • -
    • Removed access levels on the mining shuttle so it can be used at the public dock.
    • -
    • The Aux Base's turrets now fire through glass. Reminder that the turrets need to be installed outside the base for full damage.
    • -
    • Added a base construction console to Delta Station.
    • -
    -

    Mysterious Basilman updated:

    -
      -
    • More powerful toolboxes are active in this world...
    • -
    -

    Scoop updated:

    -
      -
    • Condimasters now correctly drop their items in front of their sprite.
    • -
    -

    Tofa01 updated:

    -
      -
    • Re-Arranges And Extends Pubby Escape Hallway To Allow Larger Shuttle To Dock
    • -
    • [Meta] Fixes top left grounding rod from being destroyed by the Tesla engine.
    • -
    -

    TrustyGun updated:

    -
      -
    • Traitor mimes can now learn two new spells for 15 tc.
    • -
    • The first, Invisible Blockade, creates a 3x1 invisible wall.
    • -
    • The second, Finger Guns, allows them to shoot bullets out of their fingers.
    • -
    -

    kevinz000 updated:

    -
      -
    • You can now ride piggyback on other human beings, as a human being! To do so they must grab you aggressively and you must climb on without outside assistance without being restrained or incapacitated in any manner. They must also not be restrained or incapacitated in any manner.
    • -
    • If someone is riding on you and you want them to get off, disarm them to instantly floor them for a few seconds! It's pretty rude, though.
    • -
    -

    rock updated:

    -
      -
    • you can now harmlessly slap somebody by aiming for the mouth on disarm intent.
    • -
    • you can only slap somebody who is unarmed on help intent, restrained, or ready to slap you.
    • -
GoonStation 13 Development Team diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 06cf94a0971..ced65e245df 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -10632,3 +10632,10 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. 2017-04-20: Cyberboss: - bugfix: Fixed mining closets having extra, unrelated items +2017-04-22: + Cyberboss: + - bugfix: Conveyors no longer move things they aren't supposed to + XDTM: + - bugfix: Gold and Light Pink slime extracts no longer disappear before working. + coiax: + - bugfix: Fixed people understanding languages over the radio when they shouldn't. diff --git a/html/changelogs/AutoChangeLog-pr-26403.yml b/html/changelogs/AutoChangeLog-pr-26403.yml deleted file mode 100644 index 2ab0d48ebbd..00000000000 --- a/html/changelogs/AutoChangeLog-pr-26403.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "coiax" -delete-after: True -changes: - - bugfix: "Fixed people understanding languages over the radio when they -shouldn't." diff --git a/html/changelogs/AutoChangeLog-pr-26408.yml b/html/changelogs/AutoChangeLog-pr-26408.yml deleted file mode 100644 index a33b490e994..00000000000 --- a/html/changelogs/AutoChangeLog-pr-26408.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Cyberboss" -delete-after: True -changes: - - bugfix: "Conveyors no longer move things they aren't supposed to" diff --git a/html/changelogs/AutoChangeLog-pr-26415.yml b/html/changelogs/AutoChangeLog-pr-26415.yml deleted file mode 100644 index a10569bfd28..00000000000 --- a/html/changelogs/AutoChangeLog-pr-26415.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "XDTM" -delete-after: True -changes: - - bugfix: "Gold and Light Pink slime extracts no longer disappear before working." From 9e9f24d57078105f4a9627a4949a12497fec6d48 Mon Sep 17 00:00:00 2001 From: MMMiracles Date: Sat, 22 Apr 2017 06:41:55 -0400 Subject: [PATCH 28/31] poly's ghost no longer haunts the space of cerestation round-start (#26365) * :ok: * travis stop --- _maps/map_files/Cerestation/cerestation.dmm | 820 ++++++++++---------- 1 file changed, 408 insertions(+), 412 deletions(-) diff --git a/_maps/map_files/Cerestation/cerestation.dmm b/_maps/map_files/Cerestation/cerestation.dmm index bfcc49d7c29..dfd7bb4e1d3 100644 --- a/_maps/map_files/Cerestation/cerestation.dmm +++ b/_maps/map_files/Cerestation/cerestation.dmm @@ -10310,6 +10310,9 @@ dir = 4; icon_state = "camera" }, +/obj/machinery/keycard_auth{ + pixel_x = -24 + }, /turf/open/floor/plasteel/showroomfloor{ baseturf = /turf/open/floor/plating/asteroid/airless }, @@ -10534,9 +10537,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber{ on = 1 }, -/obj/machinery/keycard_auth{ - pixel_x = -24 - }, /turf/open/floor/carpet{ baseturf = /turf/open/floor/plating/asteroid/airless }, @@ -11958,9 +11958,6 @@ }) "awY" = ( /obj/structure/dresser, -/obj/machinery/keycard_auth{ - pixel_x = 24 - }, /turf/open/floor/carpet{ baseturf = /turf/open/floor/plating/asteroid/airless }, @@ -14980,9 +14977,6 @@ /area/crew_quarters/sleep_male) "aCz" = ( /obj/structure/dresser, -/obj/machinery/keycard_auth{ - pixel_x = -24 - }, /turf/open/floor/carpet{ baseturf = /turf/open/floor/plating/asteroid/airless }, @@ -15157,9 +15151,6 @@ }) "aCT" = ( /obj/structure/dresser, -/obj/machinery/keycard_auth{ - pixel_x = 24 - }, /turf/open/floor/carpet{ baseturf = /turf/open/floor/plating/asteroid/airless }, @@ -55680,6 +55671,9 @@ scrub_N2O = 0; scrub_Toxins = 0 }, +/obj/machinery/keycard_auth{ + pixel_y = -28 + }, /turf/open/floor/plasteel/neutral{ baseturf = /turf/open/floor/plating/asteroid/airless }, @@ -62852,10 +62846,6 @@ }) "cgc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/glass_external{ cyclelinkeddir = 2; @@ -90066,6 +90056,9 @@ /area/hallway/primary/starboard) "deX" = ( /obj/structure/filingcabinet/chestdrawer, +/obj/machinery/keycard_auth{ + pixel_x = -24 + }, /turf/open/floor/plasteel/barber{ baseturf = /turf/open/floor/plating/asteroid/airless }, @@ -94005,6 +93998,9 @@ icon_state = "alarm0"; pixel_x = -22 }, +/obj/machinery/keycard_auth{ + pixel_y = -28 + }, /turf/open/floor/plasteel/cafeteria{ baseturf = /turf/open/floor/plating/asteroid/airless }, @@ -101733,7 +101729,7 @@ cdo aZA cdY bCF -djW +djV aZo aZo aYT @@ -101981,7 +101977,7 @@ aYT aYT aYT aZo -djr +dbU aZm aYX aZn @@ -102750,7 +102746,7 @@ bXp aZn aYX aZm -djg +dhj beC bCF blT @@ -103020,11 +103016,11 @@ aZA bec aZm aZn -dkd -dkk +djX +djX cea cea -dkE +djX aZn cgm aZA @@ -103247,7 +103243,7 @@ aZn aZm aZn aYX -dhh +dbU aZm aZm aZn @@ -103738,7 +103734,7 @@ dci aZo aYX aYX -dda +dbV aZm aZm aZo @@ -103795,7 +103791,7 @@ cfv cfF cfE cfE -dkF +djX aZn aZn cgj @@ -104019,15 +104015,15 @@ bnT bnT bnT dhi -dhl +dft bnT bnT bOv dhL bQY bPW -diJ -diR +dhL +dhL bVl aYX aZA @@ -104252,10 +104248,10 @@ bCW dcp dcB dcL -ddb -ddu -ddV -den +dcL +dcL +dcL +dcL dez deP aZm @@ -104270,8 +104266,8 @@ bty bzs bty bsd -dgv -dgL +dgu +deT aYX aZm aYX @@ -104282,7 +104278,7 @@ beC dhB aZn aZm -dir +dbV aYX aZm aZm @@ -104305,7 +104301,7 @@ aZn cdZ cdZ cdZ -dke +djX cfG cfE cfZ @@ -104343,10 +104339,10 @@ aaa aaa cBU dlO -dlT +dlO cDE dmc -dmi +dmh cBU cgS cgS @@ -104507,15 +104503,15 @@ bau aZA bCW dcq -dcC -bfp -bfp +dcw +dcw +dcw ddv -bfp -bfp -deA +dcw +dcw +dcq bCW -dfd +dbU aYT aYT aYP @@ -104527,8 +104523,8 @@ byg bzt bAy bsd -dgw -dgM +dgu +deT aYX bGn bHz @@ -104565,7 +104561,7 @@ cev cfw cev cev -dkx +djX cea aZn cgo @@ -104603,7 +104599,7 @@ dlP dlU dlX dmd -dmj +dmh cBU cgS cgS @@ -104763,13 +104759,13 @@ aZo aZo aZm dcj -dcr -dcD +dcq +dcw dcM ddc ddw ddW -bfp +dcw deB deQ aZo @@ -104784,8 +104780,8 @@ byh bzu bAz bsd -dgx -dgN +dgu +deT aYX aYX aZm @@ -104820,9 +104816,9 @@ cet ceu cdZ cea -dkl -dkr -dky +djX +djX +djX aYP aZn aZn @@ -104857,10 +104853,10 @@ cuQ cuQ ctW dlQ -dlV +dlQ cDE dme -dmk +dmh cBU cgS cgS @@ -105021,14 +105017,14 @@ aZm dcb bCW beA -dcE +dcw dcN ddd ddx ddX -bfp -deC -deR +dcw +dcq +deQ aYX aYT aYT @@ -105041,9 +105037,9 @@ byi bzv bAA bsc -dgy -dgO -dgX +dgu +deT +dbU aZn aZn aZn @@ -105116,8 +105112,8 @@ ctW cCQ cCQ dlY -dmf -dml +dme +dmh cBU cCB cjU @@ -105278,13 +105274,13 @@ aZA bFm bCY dcs -dcF +dcw dcO dde ddy ddY -bfp -deD +dcw +dcq bfq aZm aYT @@ -105535,12 +105531,12 @@ aZz bCW dck dct -dcG -bfp +dcw +dcw ddf ddz ddZ -bfp +dcw deE bfr aZm @@ -105792,13 +105788,13 @@ aZn dcc dcl aZn -dcH +dcw dcP ddg -ddA +dcR dea -bfp -deF +dcw +dcs bfr beC beC @@ -105812,7 +105808,7 @@ dfR bzx aZn aZn -dgz +dgu blW aYX aZm @@ -105989,9 +105985,9 @@ acH aez afS akp -cYL +cYl akp -cYU +cYt auY awi axp @@ -106003,7 +105999,7 @@ aDn aEy aFV aHr -dak +cYK aJy afo aju @@ -106049,26 +106045,26 @@ aZm dcd dcm aZm -dcI +dcw dcQ ddh ddB deb -bfp +dcw deG deS dfe -dfs +dfe bbf -dfJ -dfL +dfe +dfe bbf bbf bbf -dfS -dgb -dgl -dgq +dfe +dfe +dfe +dfe dgA blW dgY @@ -106243,12 +106239,12 @@ afV abW aez afV -cYs +cYj afS -cYI -cYM -cYR -cYV +cYt +cYE +cYN +cYK auZ awj axq @@ -106306,12 +106302,12 @@ dbZ dce dcn beB -bfp +dcw dcR bhi -biu +dcR bjk -bfp +dcw bkT blU bmM @@ -106322,11 +106318,11 @@ bse bnT bvh bwE -dfT -dgc -dgm -dgr -dgB +dft +dft +dft +dft +dft bEe aZz bec @@ -106563,12 +106559,12 @@ beC dcf bVi dcu -bfp +dcw dcS bhj biv bjl -bfp +dcw bkU blV bmN @@ -106577,7 +106573,7 @@ aZX bqE aZm aZm -dfO +dbV aZm bmO bmO @@ -106780,14 +106776,14 @@ aKF aLn aME daW -dbc -dbf -dbl -dbn +daW +daZ +daW +daW aLn akp akp -dbN +cYl aez acH abW @@ -106820,12 +106816,12 @@ bVi bfr bVi bhk -bfp +dcw dcT ddi ddC dec -bfp +dcw bkV blW aZB @@ -106914,7 +106910,7 @@ cwR cxv cyc cvW -dmb +dma cAd cAY ctW @@ -107013,7 +107009,7 @@ alc afS aez akp -cYp +cYo arS cJz cJC @@ -107040,9 +107036,9 @@ aNE aOL aPI aRo -dbo +daW aLm -dbL +cZh aUQ afS aez @@ -107077,12 +107073,12 @@ dca dcg bdP dcv -bfp +dcw bgt bhl bgt ded -bfp +dcw bkV blW bmO @@ -107179,7 +107175,7 @@ cCG cCJ cCG cBR -cFe +dmK cjV cjU cjV @@ -107270,7 +107266,7 @@ ald akq akq akp -cYq +cYo arS arS arS @@ -107334,12 +107330,12 @@ aZm dch bgu bgu -bfp +dcw dcU ddj -ddD -dee -bfp +dcW +dec +dcw bkV blW bmO @@ -107442,7 +107438,7 @@ cFI dnb cFu cFu -cGU +dnb cFu cFI cHJ @@ -107591,12 +107587,12 @@ aZY aZY aZY dcw -bfp +dcw dcV ddk ddE def -bfp +dcw bkW deT bmO @@ -107699,8 +107695,8 @@ dna cDv cDv dnh -dnl -dno +dnh +dnh cDv cHK cHZ @@ -107847,15 +107843,15 @@ bbX bbX bbX bbX -dcx +dcw dcJ dcW -ddl -ddF +ddi +dcW deg -bfp +dcw bkV -deU +deT bmO bnV bpA @@ -108104,15 +108100,15 @@ bbX bbX bdf bdS -dcy -bfp -bfp +dcw +dcw +dcw ddm bgt deh -bfp +dcw bkV -deV +deT bmO bnW bpB @@ -108363,11 +108359,11 @@ bcz bcz bcz bfu -bfp +dcw bhl bgt -dei -bfp +ded +dcw bkX blX bmO @@ -108620,11 +108616,11 @@ aZY aZY aZY bfv -bfp +dcw ddn ddG dej -bfp +dcw bkY blY bmO @@ -109488,12 +109484,12 @@ czr cAk cBf dmm -dmo -dmr +dmm +dmm dmy -dmC -dmM -dmR +dmm +dmm +dmm cFd cxT cjV @@ -109747,10 +109743,10 @@ cBg cBV cCM dms -dmz +dmp dmD dmN -dmS +dmm cFd cCC cjU @@ -110007,7 +110003,7 @@ dmt dmA dmE cFi -dmT +dmm cFJ dnc coJ @@ -110264,9 +110260,9 @@ dmu cEj dmF cFj -dmU +dmm chc -cFe +dmK cjU cjV cjV @@ -110521,7 +110517,7 @@ cCP dmB cES cFk -dmV +dmm chc cFd cll @@ -110772,17 +110768,17 @@ cta czv cAj cBk -dmn +dmm dmq cDF cEk dmG dmO -dmW +dmm chc dnd dnf -dni +dnf cGv cHi dns @@ -111035,14 +111031,14 @@ cWn cWn cWq dmP -dmX +dmm chc chc chc cjX cjV cjV -cFe +dmK cIc cjV chc @@ -111299,7 +111295,7 @@ cET cET cET cET -cFe +dmK cll dnw chc @@ -111393,7 +111389,7 @@ aog cJu axw ayt -cZs +cZr aBi afr aDv @@ -111556,7 +111552,7 @@ cFl cFl cGV cET -cFe +dmK cll cHM chc @@ -111813,7 +111809,7 @@ cFl cFl cFl cET -cFe +dmK cCC cjV chc @@ -112072,7 +112068,7 @@ cFl cET cFd cll -dnx +dlG chc cgN aaa @@ -112584,7 +112580,7 @@ cFl cGH cET cET -cFe +dmK cJf cjV chc @@ -112841,7 +112837,7 @@ cGw cGI cGW cET -cFe +dmK cll cgu chc @@ -113612,7 +113608,7 @@ cNu cGL cGX cCc -cFe +dmK cxT cjV cgu @@ -114383,7 +114379,7 @@ cGz cGN cGZ cCc -cFe +dmK cll cjV cgR @@ -115151,7 +115147,7 @@ cCc cFO cLN cxT -dnj +dkQ cln cxT cxT @@ -115247,7 +115243,7 @@ afV afV afV akp -cZl +cYo cJK aBt aCl @@ -115761,7 +115757,7 @@ afS afV afV cZj -cZn +cYo azY aBv aCn @@ -115778,7 +115774,7 @@ aNW aLm aQa aRt -dbq +dbp cOF anC aez @@ -116016,9 +116012,9 @@ aez adZ aug aqG -cZf +cYj akp -cZo +cYo azY aBw aCo @@ -116035,7 +116031,7 @@ azY aLm aQb aRt -dbr +dbp cOF aTZ aez @@ -116180,8 +116176,8 @@ cxo cjU dng coJ -dnm -dnp +dmY +dkN cjU cgR cgN @@ -116272,10 +116268,10 @@ afV alR afq akq -cZa +cYj akp akp -cZp +cYo azY azY azY @@ -116284,7 +116280,7 @@ azY azY azY azY -dau +dam daG aOH aRj @@ -116292,7 +116288,7 @@ aNX aLm aQc aRt -dbs +dbp cOV aTr cPs @@ -116418,7 +116414,7 @@ cjG cte cUn ckB -dlD +dkU cxo cxo cxo @@ -116529,9 +116525,9 @@ ahr asc asZ cYW -cZb +cYW awv -cZk +cYN ayC azZ aBx @@ -116787,26 +116783,26 @@ aot amJ cYX avj -cZg +cYA afS ayD aAa akp akp cZC -cZK -cZS -dab -dal +cYC +cYm +cYg +cYl dav -daH +cYj akp akp auZ akH aQa aRD -dbu +dbp aTq aUb cOV @@ -117039,9 +117035,9 @@ aez aii aSe aiX -cYJ +cYt cYN -cYS +cYK afV aht akp @@ -117063,7 +117059,7 @@ aGE aGE aQe aRD -dbv +dbp aTq aUc aUX @@ -117320,7 +117316,7 @@ aNY aGE aQa aRD -dbw +dbp aTq aUd aUc @@ -117577,7 +117573,7 @@ aNZ aGE aQa aRD -dbx +dbp aTq aUe aUc @@ -117719,7 +117715,7 @@ cxQ cyF cyY cxo -dne +dlB cln cgL cjU @@ -117808,7 +117804,7 @@ aez aez afS cYr -cYv +cYu afV are are @@ -117834,7 +117830,7 @@ aHP aGE aQa aRD -dby +dbp aTq aUf aUc @@ -118065,7 +118061,7 @@ adZ afV afV ahv -cYw +cYu aez are asd @@ -118078,7 +118074,7 @@ ayH are cZv cZy -cZD +cZy aFe aGE aHP @@ -118322,7 +118318,7 @@ adZ afV aii aiX -cYx +cYu adZ arf ase @@ -118348,7 +118344,7 @@ aGE aGE aQa aRD -dbA +dbp aTq aUh aUc @@ -118579,7 +118575,7 @@ aSe aSe any ahs -cYy +cYu aOF are cJE @@ -119093,8 +119089,8 @@ adZ afS alR aeV -cYz -cYF +cYo +cYg are asf atb @@ -119376,7 +119372,7 @@ aOd are aQh aRD -dbD +dbp cOF acH acH @@ -119633,7 +119629,7 @@ are are aQi aRD -dbE +dbp cOF acH acH @@ -119890,7 +119886,7 @@ aFg aOX aQj aRH -dbF +dbp cOF acH acH @@ -120147,7 +120143,7 @@ awy aOY aQk aRI -dbG +dbz aTu aUk aUk @@ -120275,7 +120271,7 @@ cUn chc cxT cjt -dlK +dkS cyK chc czT @@ -120404,7 +120400,7 @@ atf aOZ aQl aRF -dbH +dbB aTv aUl aVa @@ -120473,7 +120469,7 @@ byS cMH byS bxu -dis +dge bAe bAd cMH @@ -120531,7 +120527,7 @@ ctv cUn cjU ckB -dlI +dkQ dlL chc cjU @@ -120727,8 +120723,8 @@ byS cMH cMH cbr -dhC -dhO +dfU +dgQ dhZ cbr cbr @@ -120788,9 +120784,9 @@ ctx cUn cjU cll -dlJ +dkQ dlM -dlR +dkS cjU cjU chc @@ -120981,22 +120977,22 @@ byP byP byP byO -dhm +dgD bvU dht cbr cbr cbr -dit +dfU cbr cbr -diV +dfU cbr cbr cbr cbr -djc -djf +dfU +dfU caf bBN bBN @@ -121056,7 +121052,7 @@ cCt cjT dmv cEK -dmH +dlf cjT coD cgL @@ -121252,7 +121248,7 @@ diY cbr cbr djb -djd +diU cbr cbr cbr @@ -121511,7 +121507,7 @@ bOM bOM bOM bOM -djj +dgQ djm byS bAd @@ -122026,12 +122022,12 @@ bYq bXG bOM byS -djn +dfU cbr cbr byS cbr -djH +dgD cdB bLA cdB @@ -122283,11 +122279,11 @@ bYr bZb bOM bAd -djo +diS djs -djt +dgD bvU -djy +dht cbr cMH cMH @@ -122435,9 +122431,9 @@ awZ amK afS adZ -cYG +cYg arl -cYO +cYj aiS auq aoq @@ -122544,7 +122540,7 @@ cMH cMH byS cMH -djz +dfU cbr byS byS @@ -122697,7 +122693,7 @@ aox aox atk aur -cZc +cYN awE afV axI @@ -123056,11 +123052,11 @@ bXJ bGE cMP cbr -dju +dgD cNc -djA +dht cbr -djN +djm byS aZH aZt @@ -123318,7 +123314,7 @@ cMH bAd cbr djO -djS +djl aZH aZt aaa @@ -123829,7 +123825,7 @@ caA cbi cbi bOM -djB +dge cbr bAe byS @@ -124086,7 +124082,7 @@ caB cbj cbP bOM -djC +dfU cbr bBN bBN @@ -124570,7 +124566,7 @@ bua bvx bxc bcp -dgd +dfu bco bal bDf @@ -124600,7 +124596,7 @@ bOM bOM bOM bOM -djD +djb cbr cMH aZH @@ -124858,7 +124854,7 @@ cbk cbk bOM cbr -djI +djm cMH aZt aZt @@ -125372,7 +125368,7 @@ cbk cbk bOM cbr -djJ +dfU bAd aZH aZH @@ -125885,9 +125881,9 @@ caG cbm cbm bOM -djE +djs cbr -djQ +dgE byS aZH aZt @@ -126125,9 +126121,9 @@ bpS bGJ bNF dhD -dhP -dia -diu +dhD +dhD +dhD bTL bUI bVJ @@ -126400,7 +126396,7 @@ cbm cbm bOM bAd -djK +dgQ bvU bBN aZH @@ -126636,7 +126632,7 @@ bGP dhe bJJ dhn -dho +dhn dhu bOX bQy @@ -126657,7 +126653,7 @@ bOM bOM bOM cbr -djL +diU caf byS aZH @@ -127153,7 +127149,7 @@ bLn bMG bNG bOZ -dhR +dhQ did div bTM @@ -128180,10 +128176,10 @@ bJK bLo bNJ bPd -dhG -dhU -dih -dix +dhE +dhE +dhE +dhE bTO bUQ bVP @@ -128201,7 +128197,7 @@ byS bPt byP cbr -djT +djk aZH aZt aaa @@ -128462,11 +128458,11 @@ cMH aZH aZt aaa -djY -dkf -dkm -dks -dkz +cKF +cKF +cKF +cKF +cKF aaa aaa aaa @@ -128719,11 +128715,11 @@ byS aZH aaa aaa -djZ -dkg -dkn -dkt -dkA +cKF +cKF +cKF +cKF +cKF aaa aaa aaa @@ -128976,11 +128972,11 @@ bAd aZt aaa aaa -dka -dkh -dko -dku -dkB +cKF +cKF +cKF +cKF +cKF aaa aaa aaa @@ -129111,13 +129107,13 @@ aio aio ajP akH -cYi +cYh amb cYl akp afV afS -cYH +cYj arv asw atz @@ -129233,11 +129229,11 @@ byS aZt aaa aaa -dkb -dki -dkp -dkv -dkC +cKF +cKF +cKF +cKF +cKF aaa aaa aaa @@ -129490,11 +129486,11 @@ bAd aZt aaa aaa -dkc -dkj -dkq -dkw -dkD +cKF +cKF +cKF +cKF +cKF aaa aaa aaa @@ -129633,7 +129629,7 @@ akq akq akq akp -cYP +cYC atA auE ahr @@ -130147,7 +130143,7 @@ aez afS aez afV -cYQ +cYj cYT apx afq @@ -130420,9 +130416,9 @@ aoy aIe aCr daw -daI +cZG daO -daR +cZG dba aPi aQJ @@ -130507,7 +130503,7 @@ bQH bAd bAd cMH -djp +dgC byP byS bBN @@ -130676,10 +130672,10 @@ afS afV aez afV -dax +cYj akp -daP -daS +cYC +dav auZ aPj aQa @@ -131278,7 +131274,7 @@ byS bDc byQ byP -djq +dja byS bBN aZH @@ -131441,7 +131437,7 @@ afS afS afS afS -cZz +cYC afV adZ abW @@ -131697,7 +131693,7 @@ abW afS azm akp -cZw +cYl akp afS adZ @@ -133827,7 +133823,7 @@ dgn cbr cbr dgQ -dgZ +dfU byP bDa byQ @@ -134349,7 +134345,7 @@ byQ byP byP byQ -dhV +dgC byQ byQ byQ @@ -135679,8 +135675,8 @@ chr cjU cgu dkL -dkT -dkX +dkH +dkJ cms cnb cmA @@ -135939,7 +135935,7 @@ cjV cjU dkY cmt -dld +dkJ cjT coC cBH @@ -136969,7 +136965,7 @@ clQ cmu ckG cln -dll +dlc chc chc cqD @@ -137996,7 +137992,7 @@ cll clU cmy cnc -dlg +dkH dlm cpm cqc @@ -139795,8 +139791,8 @@ cgi cfJ cfJ cjV -dli -dlo +dlh +dkH cUh cqf cqQ @@ -141780,8 +141776,8 @@ bjP baS deJ deW -dff -boS +deW +deW bqb cSt cSV @@ -142230,7 +142226,7 @@ aqH afq apx cZd -cZi +cYm aiS azp amb @@ -142292,10 +142288,10 @@ big bja bjP deo -blz -blz -blz -blz +deo +deo +deo +deo bqb brx bsP @@ -142362,10 +142358,10 @@ cgu cjV dkN clm -dkZ -dlb +dkJ +dkJ cng -dlj +dkJ coL dlu cjU @@ -142489,12 +142485,12 @@ alQ akq akq akp -cZq +cYo akp -cZx +cYl akp amb -cZL +cYj aez and and @@ -142548,7 +142544,7 @@ baS big bjb bjR -dep +deo deK deX dfg @@ -142617,7 +142613,7 @@ cgi cgi cgu cjU -dkO +dkN clj clW clW @@ -142747,7 +142743,7 @@ avL ahr ahr azq -cZt +cYY ahr ahr aEj @@ -142808,7 +142804,7 @@ bjP deq blA deY -bmB +deY boV bqb brz @@ -143062,7 +143058,7 @@ baS big bja bjP -der +deo deL deZ dfh @@ -143267,7 +143263,7 @@ aqH aEk amb akp -dac +cZB afS aKp aLr @@ -143319,7 +143315,7 @@ baS big bja bjP -des +deo deM dfa dfi @@ -143576,7 +143572,7 @@ baS big bja bjP -det +deo deN dfb dfj @@ -143786,8 +143782,8 @@ dan day aCr aBA -daT -dbb +cYl +dam aLm aRa aRK @@ -143833,7 +143829,7 @@ cKp big bja bjP -deu +deo blB bmA dfk @@ -144037,13 +144033,13 @@ arC adZ adZ cZM -cZU -dae -dao -daz -daJ +cZM +cZM +cZM +cZM +cZM anC -daU +cYl afS aPl aRb @@ -144090,11 +144086,11 @@ baS big bja bjS -dev +deo blC -bmB +deY bnC -bmB +deY dfC dfK cMq @@ -144116,7 +144112,7 @@ bEK bNY bNZ dhW -dii +dhy diz bgr bbq @@ -144293,12 +144289,12 @@ aAJ arC anV anV -cZN +cZM cZV daf dap daA -daK +cZM amI ahr aOo @@ -144373,8 +144369,8 @@ bEK cKY bNZ bNZ -dij -diA +dhy +diz bgp bbq bbq @@ -144417,7 +144413,7 @@ ciS cjw cjw cxT -dkW +dkU clW cmE cnl @@ -144555,7 +144551,7 @@ cZW dag daq daB -daL +cZM daQ aUW avh @@ -144615,8 +144611,8 @@ bsV buJ dfP dfQ -dfV -dgf +dfQ +dfQ bBq bCt bDO @@ -144631,7 +144627,7 @@ bLP bPH bNZ dik -diB +diz bgp bbq bbq @@ -144812,7 +144808,7 @@ cZX dah dar daC -daM +cZM afV aez afV @@ -144887,7 +144883,7 @@ bMT bOb bPI bNZ -dil +dhy bTc bgr bbo @@ -145065,7 +145061,7 @@ aBX aoU aEn cZQ -cZY +cZX dai das daD @@ -145145,7 +145141,7 @@ bOc bPJ bNZ dim -diC +diz bgp bbq bbq @@ -145452,7 +145448,7 @@ cnm cjT dlr cjT -dlw +dkJ cng csm csV @@ -145658,8 +145654,8 @@ cMD bOd bPL bNZ -din -diD +dhy +diz bgp bgp bbq @@ -145709,7 +145705,7 @@ cln chb cgL cxT -dlx +dkG cIc cHM dly @@ -145915,7 +145911,7 @@ bLP bOc bPM bNZ -dio +dhy bTe bMb bgs @@ -146882,7 +146878,7 @@ alx aLm aWn aOl -dbO +daW aXe aXA aLm @@ -147201,8 +147197,8 @@ bIE bNZ bNZ bgq -diE -diL +diz +dhy bgq bbo bbq @@ -147686,7 +147682,7 @@ bbo bgq bhd bip -ddI +ddq bjW bkI blK @@ -147904,7 +147900,7 @@ afV akp aSc cOD -dbK +cZB afS alx alx @@ -147971,9 +147967,9 @@ bNb bOj bGk bQQ -dip -diF -diN +dhy +diz +dik bgs bbo bbo @@ -148158,8 +148154,8 @@ aez aez adZ afS -dbg -dbm +cYt +cYK aiS afS afV @@ -148230,7 +148226,7 @@ bPP bQR bRX bTj -diO +dhy bgr bbo bbo @@ -148414,11 +148410,11 @@ aHp aez aez afS -dbd -dbh +cYm +cYu akp akp -aTL +cYg afS and and @@ -148486,7 +148482,7 @@ bOl cKZ dhX bIO -diG +diz bMb bgs bbo @@ -148671,8 +148667,8 @@ aHp aez aez aez -dbe -dbi +cYj +cYu aXh afS adZ @@ -148744,7 +148740,7 @@ bGk bgq diq bTd -diP +dhy bgq bbo bbq @@ -148977,8 +148973,8 @@ bjW bjW dfc bnL -dfy -dfD +dfc +dfc brS bjY buQ @@ -149000,7 +148996,7 @@ bHv bGk bgq bIO -diH +diz bUg bgr bbo @@ -149448,7 +149444,7 @@ akp aOH akp akp -dbM +cYl akp afp afV @@ -149502,7 +149498,7 @@ boU bmz bmz bmz -dgI +dgH dgS bGk cWz @@ -149700,7 +149696,7 @@ cOb cOf aOE cOs -dbj +cYK afS afV afV @@ -149741,7 +149737,7 @@ bbo bbo bgr bQS -ddp +ddo bgs bgs bgp @@ -149756,11 +149752,11 @@ bqp bpr bjY boU -dgj +dgi dgo -dgs +dgi dgJ -dgT +dgi bGk bGk bHv @@ -149771,7 +149767,7 @@ bGk bGk bjg bPS -diI +diz bhd bgr bgq @@ -149954,7 +149950,7 @@ aHp aHp aHp aHp -daV +cYn aCr apu dbk @@ -150209,7 +150205,7 @@ adZ adZ aJw aCr -daN +day aCr aNx aus @@ -150274,13 +150270,13 @@ bmz bmz bmz bmz -dgU +dgi bkB bhg bhd bKu bhc -dhq +dem bhd bPQ bQT @@ -150460,7 +150456,7 @@ azE avW ank cZB -cZJ +cYl aoR ahr aqj @@ -150513,13 +150509,13 @@ bbq bgp bgq bhb -ddL +ddo bgr bgs bgr bjY bpr -bpk +dfl dfH brT bnM @@ -150530,8 +150526,8 @@ dfZ dgk dgp dgt -dgK -dgV +dgt +dgt dha bHw bjZ @@ -150770,7 +150766,7 @@ bbq bbq bgq ddq -ddM +ddo bgs bkO bkO @@ -150791,7 +150787,7 @@ bkB bkB bkB blR -dhf +dcZ bgr bgs bhd @@ -151027,7 +151023,7 @@ bbq bbo bgq btq -ddN +ddo bgr bkP bkP @@ -151541,7 +151537,7 @@ bbq bbo bgr ddr -ddP +ddo bgs bkP bkP @@ -151566,8 +151562,8 @@ bgs bgq bgq bgs -dhA -dhK +dhz +dhz bgp bbq bbq @@ -151798,10 +151794,10 @@ bbq bbo bgq btq -ddQ +ddo bgs dey -blQ +dey bjY blP bpr @@ -152054,8 +152050,8 @@ baW bbo bbq bgp -dds -ddR +ddq +ddo bgs bgr bgr @@ -152312,7 +152308,7 @@ bbo bbq bgs bhb -ddS +ddo bgr bgs bgq @@ -153353,7 +153349,7 @@ bjY bgq bjg bye -dga +dem bgs bgr bgs @@ -153872,7 +153868,7 @@ bjZ bjZ bjZ bEb -dgW +dfA bgs bgs bIR From 6be64ff9698b2d4ee9a3c0e18ca0c221bcdb9fcc Mon Sep 17 00:00:00 2001 From: Joan Lung Date: Sat, 22 Apr 2017 08:07:27 -0400 Subject: [PATCH 29/31] Secrets panel logging is better (#26418) --- code/modules/admin/secrets.dm | 106 ++++++++++------------------------ 1 file changed, 32 insertions(+), 74 deletions(-) diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm index aa3ac3d3ca1..74e024472bc 100644 --- a/code/modules/admin/secrets.dm +++ b/code/modules/admin/secrets.dm @@ -1,7 +1,8 @@ /datum/admins/proc/Secrets() - if(!check_rights(0)) return + if(!check_rights(0)) + return - var/dat = "The first rule of adminbuse is: you don't talk about the adminbuse.
" + var/list/dat = list("The first rule of adminbuse is: you don't talk about the adminbuse.
") dat +={" General Secrets
@@ -83,7 +84,7 @@
"} - usr << browse(dat, "window=secrets") + usr << browse(dat.Join(), "window=secrets") return @@ -197,8 +198,7 @@ if("moveminingshuttle") if(!check_rights(R_ADMIN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","ShM") + feedback_add_details("admin_secrets_fun_used","Send Mining Shuttle") if(!SSshuttle.toggleShuttle("mining","mining_home","mining_away")) message_admins("[key_name_admin(usr)] moved mining shuttle") log_admin("[key_name(usr)] moved the mining shuttle") @@ -206,8 +206,7 @@ if("movelaborshuttle") if(!check_rights(R_ADMIN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","ShL") + feedback_add_details("admin_secrets_fun_used","Send Labor Shuttle") if(!SSshuttle.toggleShuttle("laborcamp","laborcamp_home","laborcamp_away")) message_admins("[key_name_admin(usr)] moved labor shuttle") log_admin("[key_name(usr)] moved the labor shuttle") @@ -215,12 +214,11 @@ if("moveferry") if(!check_rights(R_ADMIN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","ShF") + feedback_add_details("admin_secrets_fun_used","Send Centcom Ferry") if(!SSshuttle.toggleShuttle("ferry","ferry_home","ferry_away")) message_admins("[key_name_admin(usr)] moved the centcom ferry") log_admin("[key_name(usr)] moved the centcom ferry") - + if("togglearrivals") if(!check_rights(R_ADMIN)) return @@ -228,8 +226,7 @@ if(A) var/new_perma = !A.perma_docked A.perma_docked = new_perma - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","ShA[new_perma ? "s" : "g"]") + feedback_add_details("admin_toggle","Permadock Arrivals Shuttle|[new_perma]") message_admins("[key_name_admin(usr)] [new_perma ? "stopped" : "started"] the arrivals shuttle") log_admin("[key_name(usr)] [new_perma ? "stopped" : "started"] the arrivals shuttle") else @@ -279,8 +276,7 @@ if("monkey") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","M") + feedback_add_details("admin_secrets_fun_used","Monkeyize All Humans") for(var/mob/living/carbon/human/H in GLOB.mob_list) spawn(0) H.monkeyize() @@ -291,34 +287,23 @@ return var/result = input(usr, "Please choose a new species","Species") as null|anything in GLOB.species_list if(result) + feedback_add_details("admin_secrets_fun_used","Mass Species Change([result])") log_admin("[key_name(usr)] turned all humans into [result]", 1) message_admins("\blue [key_name_admin(usr)] turned all humans into [result]") var/newtype = GLOB.species_list[result] for(var/mob/living/carbon/human/H in GLOB.mob_list) H.set_species(newtype) - if("corgi") - if(!check_rights(R_FUN)) - return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","M") - for(var/mob/living/carbon/human/H in GLOB.mob_list) - spawn(0) - H.corgize() - ok = 1 - if("tripleAI") if(!check_rights(R_FUN)) return usr.client.triple_ai() - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","TriAI") + feedback_add_details("admin_secrets_fun_used","Triple AI") if("power") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","P") + feedback_add_details("admin_secrets_fun_used","Power All APCs") log_admin("[key_name(usr)] made all areas powered", 1) message_admins("[key_name_admin(usr)] made all areas powered") power_restore() @@ -326,8 +311,7 @@ if("unpower") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","UP") + feedback_add_details("admin_secrets_fun_used","Depower All APCs") log_admin("[key_name(usr)] made all areas unpowered", 1) message_admins("[key_name_admin(usr)] made all areas unpowered") power_failure() @@ -335,8 +319,7 @@ if("quickpower") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","QP") + feedback_add_details("admin_secrets_fun_used","Power All SMESs") log_admin("[key_name(usr)] made all SMESs powered", 1) message_admins("[key_name_admin(usr)] made all SMESs powered") power_restore_quick() @@ -350,8 +333,7 @@ var/objective = copytext(sanitize(input("Enter an objective")),1,MAX_MESSAGE_LEN) if(!objective) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","TA([objective])") + feedback_add_details("admin_secrets_fun_used","Traitor All ([objective])") for(var/mob/living/carbon/human/H in GLOB.player_list) if(H.stat == 2 || !H.client || !H.mind) continue if(is_special_character(H)) continue @@ -383,8 +365,7 @@ if("changebombcap") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","BC") + feedback_add_details("admin_secrets_fun_used","Bomb Cap") var/newBombCap = input(usr,"What would you like the new bomb cap to be. (entered as the light damage range (the 3rd number in common (1,2,3) notation)) Must be above 4)", "New Bomb Cap", GLOB.MAX_EX_LIGHT_RANGE) as num|null if (newBombCap < 4) @@ -400,20 +381,10 @@ message_admins("[key_name_admin(usr)] changed the bomb cap to [GLOB.MAX_EX_DEVESTATION_RANGE], [GLOB.MAX_EX_HEAVY_RANGE], [GLOB.MAX_EX_LIGHT_RANGE]") log_admin("[key_name(usr)] changed the bomb cap to [GLOB.MAX_EX_DEVESTATION_RANGE], [GLOB.MAX_EX_HEAVY_RANGE], [GLOB.MAX_EX_LIGHT_RANGE]") - - if("lightsout") - if(!check_rights(R_FUN)) - return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","LO") - message_admins("[key_name_admin(usr)] has broke a lot of lights") - E = new /datum/round_event/electrical_storm{lightsoutAmount = 2}() - if("blackout") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","BO") + feedback_add_details("admin_secrets_fun_used","Break All Lights") message_admins("[key_name_admin(usr)] broke all lights") for(var/obj/machinery/light/L in GLOB.machines) L.break_light_tube() @@ -429,8 +400,7 @@ if(animetype == "Cancel" || droptype == "Cancel") return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","CC") + feedback_add_details("admin_secrets_fun_used","Chinese Cartoons") message_admins("[key_name_admin(usr)] made everything kawaii.") for(var/mob/living/carbon/human/H in GLOB.mob_list) H << sound('sound/AI/animes.ogg') @@ -460,8 +430,7 @@ if("whiteout") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","WO") + feedback_add_details("admin_secrets_fun_used","Fix All Lights") message_admins("[key_name_admin(usr)] fixed all lights") for(var/obj/machinery/light/L in GLOB.machines) L.fix() @@ -472,8 +441,7 @@ if("virus") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","V") + feedback_add_details("admin_secrets_fun_used","Virus Outbreak") switch(alert("Do you want this to be a random disease or do you have something in mind?",,"Make Your Own","Random","Choose")) if("Make Your Own") AdminCreateVirus(usr.client) @@ -488,8 +456,7 @@ if("retardify") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","RET") + feedback_add_details("admin_secrets_fun_used","Mass Braindamage") for(var/mob/living/carbon/human/H in GLOB.player_list) to_chat(H, "You suddenly feel stupid.") H.setBrainLoss(60) @@ -498,8 +465,7 @@ if("eagles")//SCRAW if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","EgL") + feedback_add_details("admin_secrets_fun_used","Egalitarian Station") for(var/obj/machinery/door/airlock/W in GLOB.machines) if(W.z == ZLEVEL_STATION && !istype(get_area(W), /area/bridge) && !istype(get_area(W), /area/crew_quarters) && !istype(get_area(W), /area/security/prison)) W.req_access = list() @@ -509,8 +475,7 @@ if("guns") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","SG") + feedback_add_details("admin_secrets_fun_used","Summon Guns") var/survivor_probability = 0 switch(alert("Do you want this to create survivors antagonists?",,"No Antags","Some Antags","All Antags!")) if("Some Antags") @@ -523,8 +488,7 @@ if("magic") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","SM") + feedback_add_details("admin_secrets_fun_used","Summon Magic") var/survivor_probability = 0 switch(alert("Do you want this to create survivors antagonists?",,"No Antags","Some Antags","All Antags!")) if("Some Antags") @@ -540,24 +504,22 @@ if(!SSevents.wizardmode) if(alert("Do you want to toggle summon events on?",,"Yes","No") == "Yes") summonevents() - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","SE") + feedback_add_details("admin_secrets_fun_used","Activate Summon Events") else switch(alert("What would you like to do?",,"Intensify Summon Events","Turn Off Summon Events","Nothing")) if("Intensify Summon Events") summonevents() - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","SE") + feedback_add_details("admin_secrets_fun_used","Intensify Summon Events") if("Turn Off Summon Events") SSevents.toggleWizardmode() SSevents.resetFrequency() + feedback_add_details("admin_secrets_fun_used","Disable Summon Events") if("dorf") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","DF") + feedback_add_details("admin_secrets_fun_used","Dwarf Beards") for(var/mob/living/carbon/human/B in GLOB.mob_list) B.facial_hair_style = "Dward Beard" B.update_hair() @@ -566,25 +528,21 @@ if("onlyone") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","OO") + feedback_add_details("admin_secrets_fun_used","There Can Be Only One") usr.client.only_one() send_to_playing_players('sound/misc/highlander.ogg') -// message_admins("[key_name_admin(usr)] has triggered a battle to the death (only one)") if("delayed_onlyone") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","OO") + feedback_add_details("admin_secrets_fun_used","There Can Be Only One") usr.client.only_one_delayed() send_to_playing_players('sound/misc/highlander_delayed.ogg') if("onlyme") if(!check_rights(R_FUN)) return - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","OM") + feedback_add_details("admin_secrets_fun_used","There Can Be Only Me") only_me() if("maint_access_brig") From f993f9ce367819f29efb46a415e1e67fe2c27dcb Mon Sep 17 00:00:00 2001 From: coiax Date: Sat, 22 Apr 2017 13:51:03 +0100 Subject: [PATCH 30/31] Refactors ear damage into ear organs (#26044) * Refactors ear damage into ear organs :cl: coiax add: Centcom would like to inform all employees that they have ears. add: Adds "ear" organs to all carbons. These organs store ear damage and deafness. A carbon without any ears is deaf. Genetic deafness functions as before. /:cl: - `ear_damage` and `ear_deaf` vars removed from /mob. - All mobs have a `can_hear` proc, which returns TRUE always except for carbons. - Carbons need to have an ear organ that has 0 `deaf` var. - Explanation of how ear damage works is in the code, it hasn't been changed from previously. Deafness is applied in number of Life ticks until you regain hearing, while damage is long team, heals slower, and when high enough, can cause flashbangs to make you go permamently deaf, as before. - Wearing earmuffs halves the healing time of deafness, and promotes healing long term ear damage, as before. Earmuffs now have a secondary flag HEALS_EARS, which currently only they own. * Changes how soundbang deafness works slightly * Ear organ icon * Code review I * Makes fully healing carbons not dependent on having a dna and species * Gives monkeys and aliens ears * Whoops * Split organs into seperate files * Tweaks. * Un-removes brain damage lines * Moved procs onto /mob for ear stuff * Massages things into compiling * Replacement of spam_flag with world.time tracker --- code/__DEFINES/flags.dm | 4 + code/__DEFINES/mobs.dm | 4 +- code/__HELPERS/priority_announce.dm | 4 +- .../diseases/advance/symptoms/deafness.dm | 11 +- .../diseases/advance/symptoms/sensory.dm | 5 +- .../gamemodes/changeling/powers/shriek.dm | 11 +- code/game/gamemodes/miniantags/borer/borer.dm | 2 +- .../game/objects/items/weapons/clown_items.dm | 17 +- code/game/sound.dm | 2 +- code/modules/clothing/clothing.dm | 1 + code/modules/mob/living/brain/status_procs.dm | 10 +- code/modules/mob/living/carbon/alien/alien.dm | 3 + code/modules/mob/living/carbon/carbon.dm | 3 + .../mob/living/carbon/carbon_defense.dm | 24 +- code/modules/mob/living/carbon/human/human.dm | 1 + code/modules/mob/living/carbon/human/life.dm | 12 +- .../mob/living/carbon/human/species.dm | 20 +- .../mob/living/carbon/monkey/monkey.dm | 10 +- code/modules/mob/living/life.dm | 8 - code/modules/mob/living/living.dm | 2 - code/modules/mob/living/silicon/ai/say.dm | 2 +- .../mob/living/silicon/status_procs.dm | 8 - .../mob/living/simple_animal/status_procs.dm | 9 - code/modules/mob/living/status_procs.dm | 18 +- code/modules/mob/mob.dm | 8 +- code/modules/mob/mob_defines.dm | 2 - code/modules/mob/mob_helpers.dm | 3 + code/modules/mob/status_procs.dm | 8 - .../chemistry/reagents/medicine_reagents.dm | 2 +- code/modules/surgery/organs/appendix.dm | 32 + code/modules/surgery/organs/ears.dm | 69 ++ code/modules/surgery/organs/eyes.dm | 130 +++ code/modules/surgery/organs/heart.dm | 126 +++ code/modules/surgery/organs/lungs.dm | 267 ++++++ code/modules/surgery/organs/organ_internal.dm | 788 +----------------- code/modules/surgery/organs/tongue.dm | 192 +++++ code/modules/surgery/organs/vocal_cords.dm | 2 +- icons/obj/surgery.dmi | Bin 28021 -> 28574 bytes tgstation.dme | 6 + 39 files changed, 922 insertions(+), 904 deletions(-) create mode 100644 code/modules/surgery/organs/appendix.dm create mode 100644 code/modules/surgery/organs/ears.dm create mode 100644 code/modules/surgery/organs/eyes.dm create mode 100644 code/modules/surgery/organs/heart.dm create mode 100644 code/modules/surgery/organs/lungs.dm create mode 100644 code/modules/surgery/organs/tongue.dm diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 56f00b4e23a..ac40dc75590 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -36,6 +36,10 @@ #define INFORM_ADMINS_ON_RELOCATE "inform_admins_on_relocate" #define BANG_PROTECT "bang_protect" +// An item worn in the ear slot with HEALS_EARS will heal your ears each +// Life() tick, even if normally your ears would be too damaged to heal. +#define HEALS_EARS "heals_ears" + // A mob with OMNITONGUE has no restriction in the ability to speak // languages that they know. So even if they wouldn't normally be able to // through mob or tongue restrictions, this flag allows them to ignore diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 5b0bdbc11e2..fb11e17b9d0 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -119,4 +119,6 @@ #define GALOSHES_DONT_HELP 4 #define SLIDE_ICE 8 -#define MAX_CHICKENS 50 \ No newline at end of file +#define MAX_CHICKENS 50 + +#define UNHEALING_EAR_DAMAGE 100 diff --git a/code/__HELPERS/priority_announce.dm b/code/__HELPERS/priority_announce.dm index 46d71dc0e29..c62a59ed77e 100644 --- a/code/__HELPERS/priority_announce.dm +++ b/code/__HELPERS/priority_announce.dm @@ -25,7 +25,7 @@ announcement += "
" for(var/mob/M in GLOB.player_list) - if(!isnewplayer(M) && !M.ear_deaf) + if(!isnewplayer(M) && M.can_hear()) to_chat(M, announcement) if(M.client.prefs.toggles & SOUND_ANNOUNCEMENTS) M << sound(sound) @@ -51,7 +51,7 @@ return for(var/mob/M in GLOB.player_list) - if(!isnewplayer(M) && !M.ear_deaf) + if(!isnewplayer(M) && M.can_hear()) to_chat(M, "[title]
[message]

") if(M.client.prefs.toggles & SOUND_ANNOUNCEMENTS) if(alert) diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm index b6729175a99..92269ce8db2 100644 --- a/code/datums/diseases/advance/symptoms/deafness.dm +++ b/code/datums/diseases/advance/symptoms/deafness.dm @@ -33,12 +33,5 @@ Bonus if(3, 4) to_chat(M, "[pick("You hear a ringing in your ear.", "Your ears pop.")]") if(5) - if(!(M.ear_deaf)) - to_chat(M, "Your ears pop and begin ringing loudly!") - M.setEarDamage(-1,INFINITY) //Shall be enough - addtimer(CALLBACK(src, .proc/Undeafen, M), 200) - -/datum/symptom/deafness/proc/Undeafen(mob/living/M) - if(M) - to_chat(M, "The ringing in your ears fades...") - M.setEarDamage(-1,0) \ No newline at end of file + to_chat(M, "Your ears pop and begin ringing loudly!") + M.minimumDeafTicks(20) diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm index 536184c766d..321d6691b3a 100644 --- a/code/datums/diseases/advance/symptoms/sensory.dm +++ b/code/datums/diseases/advance/symptoms/sensory.dm @@ -28,7 +28,7 @@ Bonus ..() var/mob/living/M = A.affected_mob if(A.stage >= 2) - M.setEarDamage(0,0) + M.restoreEars() if(A.stage >= 3) M.dizziness = 0 @@ -50,7 +50,6 @@ Bonus if(A.stage >= 5) M.adjustBrainLoss(-3) - return /* ////////////////////////////////////// @@ -127,5 +126,3 @@ Bonus M.drowsyness += 1 if(24 to INFINITY) M.Sleeping(2, 0) - - return diff --git a/code/game/gamemodes/changeling/powers/shriek.dm b/code/game/gamemodes/changeling/powers/shriek.dm index 8b267247617..d94be6f4db7 100644 --- a/code/game/gamemodes/changeling/powers/shriek.dm +++ b/code/game/gamemodes/changeling/powers/shriek.dm @@ -10,12 +10,13 @@ /obj/effect/proc_holder/changeling/resonant_shriek/sting_action(mob/user) for(var/mob/living/M in get_hearers_in_view(4, user)) if(iscarbon(M)) - if(!M.mind || !M.mind.changeling) - M.adjustEarDamage(0,30) - M.confused += 25 - M.Jitter(50) + var/mob/living/carbon/C = M + if(!C.mind || !C.mind.changeling) + C.adjustEarDamage(0, 30) + C.confused += 25 + C.Jitter(50) else - M << sound('sound/effects/screech.ogg') + C << sound('sound/effects/screech.ogg') if(issilicon(M)) M << sound('sound/weapons/flash.ogg') diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm index 0ce77211f59..c6e6534667b 100644 --- a/code/game/gamemodes/miniantags/borer/borer.dm +++ b/code/game/gamemodes/miniantags/borer/borer.dm @@ -764,7 +764,7 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 10) if("Blindness") victim.blind_eyes(2) if("Deafness") - victim.ear_deaf = 20 + victim.minimumDeafTicks(20) if("Stun") victim.Weaken(10) diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index 150435bdafa..0a4ef23d9fe 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -105,7 +105,7 @@ throw_speed = 3 throw_range = 7 attack_verb = list("HONKED") - var/spam_flag = 0 + var/next_usable = 0 var/honksound = 'sound/items/bikehorn.ogg' var/cooldowntime = 20 @@ -115,18 +115,15 @@ return (BRUTELOSS) /obj/item/weapon/bikehorn/attack(mob/living/carbon/M, mob/living/carbon/user) - if(!spam_flag) + if(!(next_usable > world.time)) playsound(loc, honksound, 50, 1, -1) //plays instead of tap.ogg! return ..() /obj/item/weapon/bikehorn/attack_self(mob/user) - if(!spam_flag) - spam_flag = 1 + if(!(next_usable > world.time)) + next_usable = world.time + cooldowntime playsound(src.loc, honksound, 50, 1) src.add_fingerprint(user) - spawn(cooldowntime) - spam_flag = 0 - return /obj/item/weapon/bikehorn/Crossed(mob/living/L) if(isliving(L)) @@ -156,12 +153,12 @@ ..() /obj/item/weapon/bikehorn/golden/proc/flip_mobs(mob/living/carbon/M, mob/user) - if (!spam_flag) + if(!(next_usable > world.time)) var/turf/T = get_turf(src) for(M in ohearers(7, T)) - if(ishuman(M)) + if(ishuman(M) && M.can_hear()) var/mob/living/carbon/human/H = M - if((istype(H.ears, /obj/item/clothing/ears/earmuffs)) || H.ear_deaf) + if(istype(H.ears, /obj/item/clothing/ears/earmuffs)) continue M.emote("flip") diff --git a/code/game/sound.dm b/code/game/sound.dm index 8d0c20d63d7..2e716194132 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -81,7 +81,7 @@ src << S /mob/playsound_local(turf/turf_source, soundin, vol as num, vary, frequency, falloff, surround = 1, channel = 0, pressure_affected = TRUE) - if(!client || ear_deaf > 0) + if(!client || !can_hear()) return ..() diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index ede686f7661..9a21f3c4a4e 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -201,6 +201,7 @@ /obj/item/clothing/ears/earmuffs/Initialize(mapload) ..() SET_SECONDARY_FLAG(src, BANG_PROTECT) + SET_SECONDARY_FLAG(src, HEALS_EARS) //Glasses /obj/item/clothing/glasses diff --git a/code/modules/mob/living/brain/status_procs.dm b/code/modules/mob/living/brain/status_procs.dm index caf2bfe22c4..4c40973c206 100644 --- a/code/modules/mob/living/brain/status_procs.dm +++ b/code/modules/mob/living/brain/status_procs.dm @@ -1,15 +1,7 @@ //Here are the procs used to modify status effects of a mob. -//The effects include: stunned, weakened, paralysis, sleeping, resting, jitteriness, dizziness, ear damage, +//The effects include: stunned, weakened, paralysis, sleeping, resting, jitteriness, dizziness // eye damage, eye_blind, eye_blurry, druggy, BLIND disability, and NEARSIGHT disability. -/////////////////////////////////// EAR DAMAGE //////////////////////////////////// - -/mob/living/brain/adjustEarDamage() - return - -/mob/living/brain/setEarDamage() // no ears to damage or heal - return - /////////////////////////////////// EYE_BLIND //////////////////////////////////// /mob/living/brain/blind_eyes() // no eyes to damage or heal diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 292aeb54751..cc4ebcda5f0 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -47,6 +47,7 @@ internal_organs += new /obj/item/organ/alien/hivenode internal_organs += new /obj/item/organ/tongue/alien internal_organs += new /obj/item/organ/eyes/night_vision/alien + internal_organs += new /obj/item/organ/ears ..() /mob/living/carbon/alien/assess_threat() // beepsky won't hunt aliums @@ -146,6 +147,8 @@ Des: Removes all infected images from the alien. mind.transfer_to(new_xeno) qdel(src) + // TODO make orbiters orbit the new xeno, or make xenos species rather than types + #undef HEAT_DAMAGE_LEVEL_1 #undef HEAT_DAMAGE_LEVEL_2 #undef HEAT_DAMAGE_LEVEL_3 diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 1cccfa20d58..b040c59d0c9 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -720,6 +720,9 @@ if(reagents) reagents.addiction_list = list() ..() + // heal ears after healing disabilities, since ears check DEAF disability + // when healing. + restoreEars() /mob/living/carbon/can_be_revived() . = ..() diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 2e1bfd27bf8..7963273e6db 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -275,20 +275,24 @@ /mob/living/carbon/soundbang_act(intensity = 1, stun_pwr = 1, damage_pwr = 5, deafen_pwr = 15) var/ear_safety = get_ear_protection() + var/obj/item/organ/ears/ears = getorganslot("ears") if(ear_safety < 2) //has ears var/effect_amount = intensity - ear_safety if(effect_amount > 0) if(stun_pwr) Stun(stun_pwr*effect_amount) Weaken(stun_pwr*effect_amount) - if(deafen_pwr || damage_pwr) - setEarDamage(ear_damage + damage_pwr*effect_amount, max(ear_deaf, deafen_pwr*effect_amount)) - if (ear_damage >= 15) + if(istype(ears) && (deafen_pwr || damage_pwr)) + ears.ear_damage += damage_pwr * effect_amount + ears.deaf = max(ears.deaf, deafen_pwr * effect_amount) + + if(ears.ear_damage >= 15) to_chat(src, "Your ears start to ring badly!") - if(prob(ear_damage - 5)) - to_chat(src, "You can't hear anything!") - disabilities |= DEAF - else if(ear_damage >= 5) + if(prob(ears.ear_damage - 5)) + to_chat(src, "You can't hear anything!") + ears.ear_damage = min(ears.ear_damage, UNHEALING_EAR_DAMAGE) + // you need earmuffs, inacusiate, or replacement + else if(ears.ear_damage >= 5) to_chat(src, "Your ears start to ring!") src << sound('sound/weapons/flash_ring.ogg',0,1,0,250) return effect_amount //how soundbanged we are @@ -308,3 +312,9 @@ hit_clothes = head if(hit_clothes) hit_clothes.take_damage(damage_amount, damage_type, damage_flag, 0) + +/mob/living/carbon/can_hear() + . = FALSE + var/obj/item/organ/ears/ears = getorganslot("ears") + if(istype(ears) && !ears.deaf) + . = TRUE diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 7b604bc3699..e2aa7535d2d 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -58,6 +58,7 @@ internal_organs += new /obj/item/organ/heart internal_organs += new dna.species.mutanteyes() + internal_organs += new dna.species.mutantears internal_organs += new /obj/item/organ/brain ..() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 41fd173f83f..8a3360911ed 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -66,18 +66,8 @@ else if(eye_blurry) //blurry eyes heal slowly adjust_blurriness(-1) - //Ears - if(disabilities & DEAF) //disabled-deaf, doesn't get better on its own - setEarDamage(-1, max(ear_deaf, 1)) - else - if(istype(ears, /obj/item/clothing/ears/earmuffs)) // earmuffs rest your ears, healing ear_deaf faster and ear_damage, but keeping you deaf. - setEarDamage(max(ear_damage-0.10, 0), max(ear_deaf - 1, 1)) - // deafness heals slowly over time, unless ear_damage is over 100 - if(ear_damage < 100) - adjustEarDamage(-0.05,-1) - if (getBrainLoss() >= 60 && stat != DEAD) - if (prob(3)) + if(prob(3)) if(prob(25)) emote("drool") else diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 4bc00091aca..efee3652574 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -17,10 +17,10 @@ var/default_color = "#FFF" // if alien colors are disabled, this is the color that will be used by that race var/sexes = 1 // whether or not the race has sexual characteristics. at the moment this is only 0 for skeletons and shadows - + var/face_y_offset = 0 var/hair_y_offset = 0 - + var/hair_color = null // this allows races to have specific hair colors... if null, it uses the H's hair/facial hair colors. if "mutcolor", it uses the H's mutant_color var/hair_alpha = 255 // the alpha used by the hair. 255 is completely solid, 0 is transparent. @@ -69,9 +69,13 @@ //Eyes var/obj/item/organ/eyes/mutanteyes = /obj/item/organ/eyes - /////////// - // PROCS // - /////////// + + //Ears + var/obj/item/organ/ears/mutantears = /obj/item/organ/ears + +/////////// +// PROCS // +/////////// /datum/species/New() @@ -122,6 +126,7 @@ var/obj/item/organ/lungs/lungs = C.getorganslot("lungs") var/obj/item/organ/appendix/appendix = C.getorganslot("appendix") var/obj/item/organ/eyes/eyes = C.getorganslot("eye_sight") + var/obj/item/organ/ears/ears = C.getorganslot("ears") if((NOBLOOD in species_traits) && heart) heart.Remove(C) @@ -139,6 +144,11 @@ eyes = new mutanteyes eyes.Insert(C) + if(ears) + qdel(ears) + ears = new mutantears + ears.Insert(C) + if((!(NOBREATH in species_traits)) && !lungs) if(mutantlungs) lungs = new mutantlungs() diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 920a0cade3b..152f708ab57 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -44,6 +44,7 @@ internal_organs += new /obj/item/organ/brain internal_organs += new /obj/item/organ/tongue internal_organs += new /obj/item/organ/eyes + internal_organs += new /obj/item/organ/ears ..() /mob/living/carbon/monkey/movement_delay() @@ -133,15 +134,6 @@ protection = protection/7 //the rest of the body isn't covered. return protection -/mob/living/carbon/monkey/fully_heal(admin_revive = 0) - if(!getorganslot("lungs")) - var/obj/item/organ/lungs/L = new() - L.Insert(src) - if(!getorganslot("tongue")) - var/obj/item/organ/tongue/T = new() - T.Insert(src) - ..() - /mob/living/carbon/monkey/IsVocal() if(!getorganslot("lungs")) return 0 diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 944f5c6a9cd..bcde1ff39a7 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -123,14 +123,6 @@ if(client && !eye_blurry) clear_fullscreen("blurry") - //Ears - if(disabilities & DEAF) //disabled-deaf, doesn't get better on its own - setEarDamage(-1, max(ear_deaf, 1)) - else - // deafness heals slowly over time, unless ear_damage is over 100 - if(ear_damage < 100) - adjustEarDamage(-0.05,-1) - /mob/living/proc/update_damage_hud() return diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index d77c3fff863..b06223a7cbf 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -379,8 +379,6 @@ cure_blind() cure_husk() disabilities = 0 - ear_deaf = 0 - ear_damage = 0 hallucination = 0 heal_overall_damage(100000, 100000, 0, 0, 1) //heal brute and burn dmg on both organic and robotic limbs, and update health right away. ExtinguishMob() diff --git a/code/modules/mob/living/silicon/ai/say.dm b/code/modules/mob/living/silicon/ai/say.dm index 15216278cf5..fe3a24cef05 100644 --- a/code/modules/mob/living/silicon/ai/say.dm +++ b/code/modules/mob/living/silicon/ai/say.dm @@ -153,7 +153,7 @@ if(!only_listener) // Play voice for all mobs in the z level for(var/mob/M in GLOB.player_list) - if(M.client && !M.ear_deaf && (M.client.prefs.toggles & SOUND_ANNOUNCEMENTS)) + if(M.client && M.can_hear() && (M.client.prefs.toggles & SOUND_ANNOUNCEMENTS)) var/turf/T = get_turf(M) if(T.z == z_level) M << voice diff --git a/code/modules/mob/living/silicon/status_procs.dm b/code/modules/mob/living/silicon/status_procs.dm index c14e6c254f9..3947cb020fe 100644 --- a/code/modules/mob/living/silicon/status_procs.dm +++ b/code/modules/mob/living/silicon/status_procs.dm @@ -36,11 +36,3 @@ . = ..() if(. && updating) update_stat() - -/////////////////////////////////// EAR DAMAGE //////////////////////////////////// - -/mob/living/silicon/adjustEarDamage() - return - -/mob/living/silicon/setEarDamage() - return \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/status_procs.dm b/code/modules/mob/living/simple_animal/status_procs.dm index fd90f825a3e..62a262f9e60 100644 --- a/code/modules/mob/living/simple_animal/status_procs.dm +++ b/code/modules/mob/living/simple_animal/status_procs.dm @@ -23,12 +23,3 @@ /mob/living/simple_animal/become_blind() return - - - -/mob/living/simple_animal/adjustEarDamage() - return - -/mob/living/simple_animal/setEarDamage() - return - diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm index f26fd04e592..9fe84435063 100644 --- a/code/modules/mob/living/status_procs.dm +++ b/code/modules/mob/living/status_procs.dm @@ -1,21 +1,7 @@ //Here are the procs used to modify status effects of a mob. -//The effects include: stunned, weakened, paralysis, sleeping, resting, jitteriness, dizziness, ear damage, +//The effects include: stunned, weakened, paralysis, sleeping, resting, jitteriness, dizziness, // eye damage, eye_blind, eye_blurry, druggy, BLIND disability, and NEARSIGHT disability. -/////////////////////////////////// EAR DAMAGE //////////////////////////////////// - -//damage/heal the mob ears and adjust the deaf amount -/mob/living/adjustEarDamage(damage, deaf) - ear_damage = max(0, ear_damage + damage) - ear_deaf = max(0, ear_deaf + deaf) - -//pass a negative argument to skip one of the variable -/mob/living/setEarDamage(damage, deaf) - if(damage >= 0) - ear_damage = damage - if(deaf >= 0) - ear_deaf = deaf - //////////////////////////////STUN //////////////////////////////////// @@ -71,4 +57,4 @@ to_chat(src, "[priority_absorb_key["self_message"]]") priority_absorb_key["stuns_absorbed"] += amount return 0 - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 5d0d7bac1d4..34e977acfc4 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -69,7 +69,7 @@ msg = alt_msg type = alt_type - if(type & 2 && ear_deaf)//Hearing related + if(type & 2 && !can_hear())//Hearing related if(!alt_msg) return else @@ -958,10 +958,6 @@ set_eye_damage(var_value) if("eye_blurry") set_blurriness(var_value) - if("ear_deaf") - setEarDamage(-1, var_value) - if("ear_damage") - setEarDamage(var_value, -1) if("maxHealth") updatehealth() if("resize") @@ -999,4 +995,4 @@ switch(var_name) if("logging") return debug_variable(var_name, logging, 0, src, FALSE) - . = ..() \ No newline at end of file + . = ..() diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 193ea82948e..20d98027c7d 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -42,8 +42,6 @@ var/notransform = null //Carbon var/eye_blind = 0 //Carbon var/eye_blurry = 0 //Carbon - var/ear_deaf = 0 //Carbon - var/ear_damage = 0 //Carbon var/stuttering = 0 //Carbon var/slurring = 0 //Carbon var/cultslurring = 0 //Carbon diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index f64be70a8db..3942014fb9f 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -489,3 +489,6 @@ It's fairly easy to fix if dealing with single letters but not so much with comp var/list/timestamped_message = list("[LAZYLEN(logging[message_type]) + 1]\[[time_stamp()]\] [key_name(src)]" = message) logging[message_type] += timestamped_message + +/mob/proc/can_hear() + . = TRUE diff --git a/code/modules/mob/status_procs.dm b/code/modules/mob/status_procs.dm index caa5a38326e..f12e7d6d4e5 100644 --- a/code/modules/mob/status_procs.dm +++ b/code/modules/mob/status_procs.dm @@ -143,14 +143,6 @@ /mob/proc/Dizzy(amount) dizziness = max(dizziness,amount,0) -/////////////////////////////////// EAR DAMAGE //////////////////////////////////// - -/mob/proc/adjustEarDamage() - return - -/mob/proc/setEarDamage() - return - /////////////////////////////////// EYE DAMAGE //////////////////////////////////// /mob/proc/damage_eyes(amount) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 29ca2df9316..dee5b7e68ad 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -118,7 +118,7 @@ color = "#6600FF" // rgb: 100, 165, 255 /datum/reagent/medicine/inacusiate/on_mob_life(mob/living/M) - M.setEarDamage(0,0) + M.restoreEars() ..() /datum/reagent/medicine/cryoxadone diff --git a/code/modules/surgery/organs/appendix.dm b/code/modules/surgery/organs/appendix.dm new file mode 100644 index 00000000000..ad51c48d859 --- /dev/null +++ b/code/modules/surgery/organs/appendix.dm @@ -0,0 +1,32 @@ +/obj/item/organ/appendix + name = "appendix" + icon_state = "appendix" + zone = "groin" + slot = "appendix" + var/inflamed = 0 + +/obj/item/organ/appendix/update_icon() + if(inflamed) + icon_state = "appendixinflamed" + name = "inflamed appendix" + else + icon_state = "appendix" + name = "appendix" + +/obj/item/organ/appendix/Remove(mob/living/carbon/M, special = 0) + for(var/datum/disease/appendicitis/A in M.viruses) + A.cure() + inflamed = 1 + update_icon() + ..() + +/obj/item/organ/appendix/Insert(mob/living/carbon/M, special = 0) + ..() + if(inflamed) + M.AddDisease(new /datum/disease/appendicitis) + +/obj/item/organ/appendix/prepare_eat() + var/obj/S = ..() + if(inflamed) + S.reagents.add_reagent("bad_food", 5) + return S diff --git a/code/modules/surgery/organs/ears.dm b/code/modules/surgery/organs/ears.dm new file mode 100644 index 00000000000..c35cf5c6706 --- /dev/null +++ b/code/modules/surgery/organs/ears.dm @@ -0,0 +1,69 @@ +/obj/item/organ/ears + name = "ears" + icon_state = "ears" + desc = "There are three parts to the ear. Inner, middle and outer. Only one of these parts should be normally visible." + zone = "head" + slot = "ears" + + // `deaf` measures "ticks" of deafness. While > 0, the person is unable + // to hear anything. + var/deaf = 0 + + // `ear_damage` measures long term damage to the ears, if too high, + // the person will not have either `deaf` or `ear_damage` decrease + // without external aid (earmuffs, drugs) + var/ear_damage = 0 + +/obj/item/organ/ears/on_life() + if(!iscarbon(owner)) + return + var/mob/living/carbon/C = owner + // genetic deafness prevents the body from using the ears, even if healthy + if(C.disabilities & DEAF) + deaf = max(deaf, 1) + else + if(HAS_SECONDARY_FLAG(C.ears, HEALS_EARS)) + deaf = max(deaf - 1, 1) + ear_damage = max(ear_damage - 0.10, 0) + // if higher than UNHEALING_EAR_DAMAGE, no natural healing occurs. + if(ear_damage < UNHEALING_EAR_DAMAGE) + ear_damage = max(ear_damage - 0.05, 0) + deaf = max(deaf - 1, 0) + +/obj/item/organ/ears/proc/restoreEars() + deaf = 0 + ear_damage = 0 + + var/mob/living/carbon/C = owner + + if(iscarbon(owner) && C.disabilities & DEAF) + deaf = 1 + +/obj/item/organ/ears/proc/adjustEarDamage(ddmg, ddeaf) + ear_damage = max(ear_damage + ddmg, 0) + deaf = max(deaf + ddeaf, 0) + +/obj/item/organ/ears/proc/minimumDeafTicks(value) + deaf = max(deaf, value) + + +/mob/proc/restoreEars() + +/mob/living/carbon/restoreEars() + var/obj/item/organ/ears/ears = getorgan(/obj/item/organ/ears) + if(ears) + ears.restoreEars() + +/mob/proc/adjustEarDamage() + +/mob/living/carbon/adjustEarDamage(ddmg, ddeaf) + var/obj/item/organ/ears/ears = getorgan(/obj/item/organ/ears) + if(ears) + ears.adjustEarDamage(ddmg, ddeaf) + +/mob/proc/minimumDeafTicks() + +/mob/living/carbon/minimumDeafTicks(value) + var/obj/item/organ/ears/ears = getorgan(/obj/item/organ/ears) + if(ears) + ears.minimumDeafTicks(value) diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm new file mode 100644 index 00000000000..672ac924adb --- /dev/null +++ b/code/modules/surgery/organs/eyes.dm @@ -0,0 +1,130 @@ +/obj/item/organ/eyes + name = "eyes" + icon_state = "eyeballs" + desc = "I see you!" + zone = "eyes" + slot = "eye_sight" + + var/sight_flags = 0 + var/see_in_dark = 2 + var/tint = 0 + var/eye_color = "" //set to a hex code to override a mob's eye color + var/old_eye_color = "fff" + var/flash_protect = 0 + var/see_invisible = SEE_INVISIBLE_LIVING + var/lighting_alpha + +/obj/item/organ/eyes/Insert(mob/living/carbon/M, special = 0) + ..() + if(ishuman(owner)) + var/mob/living/carbon/human/HMN = owner + old_eye_color = HMN.eye_color + if(eye_color) + HMN.eye_color = eye_color + HMN.regenerate_icons() + else + eye_color = HMN.eye_color + M.update_tint() + owner.update_sight() + +/obj/item/organ/eyes/Remove(mob/living/carbon/M, special = 0) + ..() + if(ishuman(M) && eye_color) + var/mob/living/carbon/human/HMN = M + HMN.eye_color = old_eye_color + HMN.regenerate_icons() + M.update_tint() + M.update_sight() + +/obj/item/organ/eyes/night_vision + name = "shadow eyes" + desc = "A spooky set of eyes that can see in the dark." + see_in_dark = 8 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + actions_types = list(/datum/action/item_action/organ_action/use) + var/night_vision = TRUE + +/obj/item/organ/eyes/night_vision/ui_action_click() + switch(lighting_alpha) + if (LIGHTING_PLANE_ALPHA_VISIBLE) + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + if (LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE) + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + if (LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE) + lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE + else + lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE + owner.update_sight() + +/obj/item/organ/eyes/night_vision/alien + name = "alien eyes" + desc = "It turned out they had them after all!" + see_in_dark = 8 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + sight_flags = SEE_MOBS + + +///Robotic + +/obj/item/organ/eyes/robotic + name = "robotic eyes" + icon_state = "cybernetic_eyeballs" + desc = "Your vision is augmented." + status = ORGAN_ROBOTIC + +/obj/item/organ/eyes/robotic/emp_act(severity) + if(!owner) + return + if(severity > 1) + if(prob(10 * severity)) + return + to_chat(owner, "Static obfuscates your vision!") + owner.flash_act(visual = 1) + +/obj/item/organ/eyes/robotic/xray + name = "X-ray eyes" + desc = "These cybernetic eyes will give you X-ray vision. Blinking is futile." + eye_color = "000" + see_in_dark = 8 + sight_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS + +/obj/item/organ/eyes/robotic/thermals + name = "Thermals eyes" + desc = "These cybernetic eye implants will give you Thermal vision. Vertical slit pupil included." + eye_color = "FC0" + origin_tech = "materials=5;programming=4;biotech=4;magnets=4;syndicate=1" + sight_flags = SEE_MOBS + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + flash_protect = -1 + see_in_dark = 8 + +/obj/item/organ/eyes/robotic/flashlight + name = "flashlight eyes" + desc = "It's two flashlights rigged together with some wire. Why would you put these in someones head?" + eye_color ="fee5a3" + icon = 'icons/obj/lighting.dmi' + icon_state = "flashlight_eyes" + flash_protect = 2 + tint = INFINITY + +/obj/item/organ/eyes/robotic/flashlight/emp_act(severity) + return + +/obj/item/organ/eyes/robotic/flashlight/Insert(var/mob/living/carbon/M, var/special = 0) + ..() + M.set_light(M.light_range + 15, M.light_power + 1) + + +/obj/item/organ/eyes/robotic/flashlight/Remove(var/mob/living/carbon/M, var/special = 0) + M.set_light(M.light_range -15, M.light_power - 1) + ..() + +// Welding shield implant +/obj/item/organ/eyes/robotic/shield + name = "shielded robotic eyes" + desc = "These reactive micro-shields will protect you from welders and flashes without obscuring your vision." + origin_tech = "materials=4;biotech=3;engineering=4;plasmatech=3" + flash_protect = 2 + +/obj/item/organ/eyes/robotic/shield/emp_act(severity) + return diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm new file mode 100644 index 00000000000..9ffe8b6d064 --- /dev/null +++ b/code/modules/surgery/organs/heart.dm @@ -0,0 +1,126 @@ +/obj/item/organ/heart + name = "heart" + icon_state = "heart-on" + zone = "chest" + slot = "heart" + origin_tech = "biotech=5" + // Heart attack code is in code/modules/mob/living/carbon/human/life.dm + var/beating = 1 + var/icon_base = "heart" + attack_verb = list("beat", "thumped") + +/obj/item/organ/heart/update_icon() + if(beating) + icon_state = "[icon_base]-on" + else + icon_state = "[icon_base]-off" + +/obj/item/organ/heart/Remove(mob/living/carbon/M, special = 0) + ..() + if(!special) + addtimer(CALLBACK(src, .proc/stop_if_unowned), 120) + +/obj/item/organ/heart/proc/stop_if_unowned() + if(!owner) + Stop() + +/obj/item/organ/heart/attack_self(mob/user) + ..() + if(!beating) + visible_message("[user] squeezes [src] to \ + make it beat again!", "You squeeze \ + [src] to make it beat again!") + Restart() + addtimer(CALLBACK(src, .proc/stop_if_unowned), 80) + +/obj/item/organ/heart/proc/Stop() + beating = 0 + update_icon() + return 1 + +/obj/item/organ/heart/proc/Restart() + beating = 1 + update_icon() + return 1 + +/obj/item/organ/heart/prepare_eat() + var/obj/S = ..() + S.icon_state = "heart-off" + return S + + +/obj/item/organ/heart/cursed + name = "cursed heart" + desc = "A heart that, when inserted, will force you to pump it manually." + icon_state = "cursedheart-off" + icon_base = "cursedheart" + origin_tech = "biotech=6" + actions_types = list(/datum/action/item_action/organ_action/cursed_heart) + var/last_pump = 0 + var/add_colour = TRUE //So we're not constantly recreating colour datums + var/pump_delay = 30 //you can pump 1 second early, for lag, but no more (otherwise you could spam heal) + var/blood_loss = 100 //600 blood is human default, so 5 failures (below 122 blood is where humans die because reasons?) + + //How much to heal per pump, negative numbers would HURT the player + var/heal_brute = 0 + var/heal_burn = 0 + var/heal_oxy = 0 + + +/obj/item/organ/heart/cursed/attack(mob/living/carbon/human/H, mob/living/carbon/human/user, obj/target) + if(H == user && istype(H)) + playsound(user,'sound/effects/singlebeat.ogg',40,1) + user.drop_item() + Insert(user) + else + return ..() + +/obj/item/organ/heart/cursed/on_life() + if(world.time > (last_pump + pump_delay)) + if(ishuman(owner) && owner.client) //While this entire item exists to make people suffer, they can't control disconnects. + var/mob/living/carbon/human/H = owner + if(H.dna && !(NOBLOOD in H.dna.species.species_traits)) + H.blood_volume = max(H.blood_volume - blood_loss, 0) + to_chat(H, "You have to keep pumping your blood!") + if(add_colour) + H.add_client_colour(/datum/client_colour/cursed_heart_blood) //bloody screen so real + add_colour = FALSE + else + last_pump = world.time //lets be extra fair *sigh* + +/obj/item/organ/heart/cursed/Insert(mob/living/carbon/M, special = 0) + ..() + if(owner) + to_chat(owner, "Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!") + +/datum/action/item_action/organ_action/cursed_heart + name = "Pump your blood" + +//You are now brea- pumping blood manually +/datum/action/item_action/organ_action/cursed_heart/Trigger() + . = ..() + if(. && istype(target,/obj/item/organ/heart/cursed)) + var/obj/item/organ/heart/cursed/cursed_heart = target + + if(world.time < (cursed_heart.last_pump + (cursed_heart.pump_delay-10))) //no spam + to_chat(owner, "Too soon!") + return + + cursed_heart.last_pump = world.time + playsound(owner,'sound/effects/singlebeat.ogg',40,1) + to_chat(owner, "Your heart beats.") + + var/mob/living/carbon/human/H = owner + if(istype(H)) + if(H.dna && !(NOBLOOD in H.dna.species.species_traits)) + H.blood_volume = min(H.blood_volume + cursed_heart.blood_loss*0.5, BLOOD_VOLUME_MAXIMUM) + H.remove_client_colour(/datum/client_colour/cursed_heart_blood) + cursed_heart.add_colour = TRUE + H.adjustBruteLoss(-cursed_heart.heal_brute) + H.adjustFireLoss(-cursed_heart.heal_burn) + H.adjustOxyLoss(-cursed_heart.heal_oxy) + + +/datum/client_colour/cursed_heart_blood + priority = 100 //it's an indicator you're dieing, so it's very high priority + colour = "red" diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm new file mode 100644 index 00000000000..ece2ad3f402 --- /dev/null +++ b/code/modules/surgery/organs/lungs.dm @@ -0,0 +1,267 @@ +#define HUMAN_MAX_OXYLOSS 3 +#define HUMAN_CRIT_MAX_OXYLOSS (SSmobs.wait/30) +#define HEAT_GAS_DAMAGE_LEVEL_1 2 +#define HEAT_GAS_DAMAGE_LEVEL_2 4 +#define HEAT_GAS_DAMAGE_LEVEL_3 8 + +#define COLD_GAS_DAMAGE_LEVEL_1 0.5 +#define COLD_GAS_DAMAGE_LEVEL_2 1.5 +#define COLD_GAS_DAMAGE_LEVEL_3 3 + +/obj/item/organ/lungs + name = "lungs" + icon_state = "lungs" + zone = "chest" + slot = "lungs" + gender = PLURAL + w_class = WEIGHT_CLASS_NORMAL + var/list/breathlevels = list("safe_oxygen_min" = 16,"safe_oxygen_max" = 0,"safe_co2_min" = 0,"safe_co2_max" = 10, + "safe_toxins_min" = 0,"safe_toxins_max" = 0.05,"SA_para_min" = 1,"SA_sleep_min" = 5,"BZ_trip_balls_min" = 1) + + //Breath damage + + var/safe_oxygen_min = 16 // Minimum safe partial pressure of O2, in kPa + var/safe_oxygen_max = 0 + var/safe_co2_min = 0 + var/safe_co2_max = 10 // Yes it's an arbitrary value who cares? + var/safe_toxins_min = 0 + var/safe_toxins_max = 0.05 + var/SA_para_min = 1 //Sleeping agent + var/SA_sleep_min = 5 //Sleeping agent + var/BZ_trip_balls_min = 1 //BZ gas. + + var/oxy_breath_dam_min = 1 + var/oxy_breath_dam_max = 10 + var/co2_breath_dam_min = 1 + var/co2_breath_dam_max = 10 + var/tox_breath_dam_min = MIN_PLASMA_DAMAGE + var/tox_breath_dam_max = MAX_PLASMA_DAMAGE + + + +/obj/item/organ/lungs/proc/check_breath(datum/gas_mixture/breath, var/mob/living/carbon/human/H) + if((H.status_flags & GODMODE)) + return + + var/species_traits = list() + if(H && H.dna && H.dna.species && H.dna.species.species_traits) + species_traits = H.dna.species.species_traits + + if(!breath || (breath.total_moles() == 0)) + if(H.reagents.has_reagent("epinephrine")) + return + if(H.health >= HEALTH_THRESHOLD_CRIT) + H.adjustOxyLoss(HUMAN_MAX_OXYLOSS) + else if(!(NOCRITDAMAGE in species_traits)) + H.adjustOxyLoss(HUMAN_CRIT_MAX_OXYLOSS) + + H.failed_last_breath = 1 + if(safe_oxygen_min) + H.throw_alert("oxy", /obj/screen/alert/oxy) + else if(safe_toxins_min) + H.throw_alert("not_enough_tox", /obj/screen/alert/not_enough_tox) + else if(safe_co2_min) + H.throw_alert("not_enough_co2", /obj/screen/alert/not_enough_co2) + return 0 + + var/gas_breathed = 0 + + var/list/breath_gases = breath.gases + + breath.assert_gases("o2", "plasma", "co2", "n2o", "bz") + + //Partial pressures in our breath + var/O2_pp = breath.get_breath_partial_pressure(breath_gases["o2"][MOLES]) + var/Toxins_pp = breath.get_breath_partial_pressure(breath_gases["plasma"][MOLES]) + var/CO2_pp = breath.get_breath_partial_pressure(breath_gases["co2"][MOLES]) + + + //-- OXY --// + + //Too much oxygen! //Yes, some species may not like it. + if(safe_oxygen_max) + if(O2_pp > safe_oxygen_max) + var/ratio = (breath_gases["o2"][MOLES]/safe_oxygen_max) * 10 + H.adjustOxyLoss(Clamp(ratio,oxy_breath_dam_min,oxy_breath_dam_max)) + H.throw_alert("too_much_oxy", /obj/screen/alert/too_much_oxy) + else + H.clear_alert("too_much_oxy") + + //Too little oxygen! + if(safe_oxygen_min) + if(O2_pp < safe_oxygen_min) + gas_breathed = handle_too_little_breath(H,O2_pp,safe_oxygen_min,breath_gases["o2"][MOLES]) + H.throw_alert("oxy", /obj/screen/alert/oxy) + else + H.failed_last_breath = 0 + if(H.getOxyLoss()) + H.adjustOxyLoss(-5) + gas_breathed = breath_gases["o2"][MOLES] + H.clear_alert("oxy") + + //Exhale + breath_gases["o2"][MOLES] -= gas_breathed + breath_gases["co2"][MOLES] += gas_breathed + gas_breathed = 0 + + + //-- CO2 --// + + //CO2 does not affect failed_last_breath. So if there was enough oxygen in the air but too much co2, this will hurt you, but only once per 4 ticks, instead of once per tick. + if(safe_co2_max) + if(CO2_pp > safe_co2_max) + if(!H.co2overloadtime) // If it's the first breath with too much CO2 in it, lets start a counter, then have them pass out after 12s or so. + H.co2overloadtime = world.time + else if(world.time - H.co2overloadtime > 120) + H.Paralyse(3) + H.adjustOxyLoss(3) // Lets hurt em a little, let them know we mean business + if(world.time - H.co2overloadtime > 300) // They've been in here 30s now, lets start to kill them for their own good! + H.adjustOxyLoss(8) + H.throw_alert("too_much_co2", /obj/screen/alert/too_much_co2) + if(prob(20)) // Lets give them some chance to know somethings not right though I guess. + H.emote("cough") + + else + H.co2overloadtime = 0 + H.clear_alert("too_much_co2") + + //Too little CO2! + if(breathlevels["safe_co2_min"]) + if(CO2_pp < safe_co2_min) + gas_breathed = handle_too_little_breath(H,CO2_pp, safe_co2_min,breath_gases["co2"][MOLES]) + H.throw_alert("not_enough_co2", /obj/screen/alert/not_enough_co2) + else + H.failed_last_breath = 0 + H.adjustOxyLoss(-5) + gas_breathed = breath_gases["co2"][MOLES] + H.clear_alert("not_enough_co2") + + //Exhale + breath_gases["co2"][MOLES] -= gas_breathed + breath_gases["o2"][MOLES] += gas_breathed + gas_breathed = 0 + + + //-- TOX --// + + //Too much toxins! + if(safe_toxins_max) + if(Toxins_pp > safe_toxins_max) + var/ratio = (breath_gases["plasma"][MOLES]/safe_toxins_max) * 10 + if(H.reagents) + H.reagents.add_reagent("plasma", Clamp(ratio, tox_breath_dam_min, tox_breath_dam_max)) + H.throw_alert("tox_in_air", /obj/screen/alert/tox_in_air) + else + H.clear_alert("tox_in_air") + + + //Too little toxins! + if(safe_toxins_min) + if(Toxins_pp < safe_toxins_min) + gas_breathed = handle_too_little_breath(H,Toxins_pp, safe_toxins_min, breath_gases["plasma"][MOLES]) + H.throw_alert("not_enough_tox", /obj/screen/alert/not_enough_tox) + else + H.failed_last_breath = 0 + H.adjustOxyLoss(-5) + gas_breathed = breath_gases["plasma"][MOLES] + H.clear_alert("not_enough_tox") + + //Exhale + breath_gases["plasma"][MOLES] -= gas_breathed + breath_gases["co2"][MOLES] += gas_breathed + gas_breathed = 0 + + + //-- TRACES --// + + if(breath) // If there's some other shit in the air lets deal with it here. + + // N2O + + var/SA_pp = breath.get_breath_partial_pressure(breath_gases["n2o"][MOLES]) + if(SA_pp > SA_para_min) // Enough to make us paralysed for a bit + H.Paralyse(3) // 3 gives them one second to wake up and run away a bit! + if(SA_pp > SA_sleep_min) // Enough to make us sleep as well + H.Sleeping(max(H.sleeping+2, 10)) + else if(SA_pp > 0.01) // There is sleeping gas in their lungs, but only a little, so give them a bit of a warning + if(prob(20)) + H.emote(pick("giggle", "laugh")) + + // BZ + + var/bz_pp = breath.get_breath_partial_pressure(breath_gases["bz"][MOLES]) + if(bz_pp > BZ_trip_balls_min) + H.hallucination += 20 + if(prob(33)) + H.adjustBrainLoss(3) + else if(bz_pp > 0.01) + H.hallucination += 5//Removed at 2 per tick so this will slowly build up + handle_breath_temperature(breath, H) + breath.garbage_collect() + + return 1 + + +/obj/item/organ/lungs/proc/handle_too_little_breath(mob/living/carbon/human/H = null,breath_pp = 0, safe_breath_min = 0, true_pp = 0) + . = 0 + if(!H || !safe_breath_min) //the other args are either: Ok being 0 or Specifically handled. + return 0 + + if(prob(20)) + H.emote("gasp") + if(breath_pp > 0) + var/ratio = safe_breath_min/breath_pp + H.adjustOxyLoss(min(5*ratio, HUMAN_MAX_OXYLOSS)) // Don't fuck them up too fast (space only does HUMAN_MAX_OXYLOSS after all! + H.failed_last_breath = 1 + . = true_pp*ratio/6 + else + H.adjustOxyLoss(HUMAN_MAX_OXYLOSS) + H.failed_last_breath = 1 + + +/obj/item/organ/lungs/proc/handle_breath_temperature(datum/gas_mixture/breath, mob/living/carbon/human/H) // called by human/life, handles temperatures + if(abs(310.15 - breath.temperature) > 50) + + var/species_traits = list() + if(H && H.dna && H.dna.species && H.dna.species.species_traits) + species_traits = H.dna.species.species_traits + + if(!(GLOB.mutations_list[COLDRES] in H.dna.mutations) && !(RESISTCOLD in species_traits)) // COLD DAMAGE + switch(breath.temperature) + if(-INFINITY to 120) + H.apply_damage(COLD_GAS_DAMAGE_LEVEL_3, BURN, "head") + if(120 to 200) + H.apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, "head") + if(200 to 260) + H.apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, "head") + + if(!(RESISTHOT in species_traits)) // HEAT DAMAGE + switch(breath.temperature) + if(360 to 400) + H.apply_damage(HEAT_GAS_DAMAGE_LEVEL_1, BURN, "head") + if(400 to 1000) + H.apply_damage(HEAT_GAS_DAMAGE_LEVEL_2, BURN, "head") + if(1000 to INFINITY) + H.apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, "head") + +/obj/item/organ/lungs/prepare_eat() + var/obj/S = ..() + S.reagents.add_reagent("salbutamol", 5) + return S + +/obj/item/organ/lungs/plasmaman + name = "plasma filter" + + safe_oxygen_min = 0 //We don't breath this + safe_toxins_min = 16 //We breath THIS! + safe_toxins_max = 0 + +#undef HUMAN_MAX_OXYLOSS +#undef HUMAN_CRIT_MAX_OXYLOSS +#undef HEAT_GAS_DAMAGE_LEVEL_1 +#undef HEAT_GAS_DAMAGE_LEVEL_2 +#undef HEAT_GAS_DAMAGE_LEVEL_3 + +#undef COLD_GAS_DAMAGE_LEVEL_1 +#undef COLD_GAS_DAMAGE_LEVEL_2 +#undef COLD_GAS_DAMAGE_LEVEL_3 diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index ac306ee7c4b..5f8f6609d70 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -100,658 +100,34 @@ //Looking for brains? //Try code/modules/mob/living/carbon/brain/brain_item.dm - - -/obj/item/organ/heart - name = "heart" - icon_state = "heart-on" - zone = "chest" - slot = "heart" - origin_tech = "biotech=5" - // Heart attack code is in code/modules/mob/living/carbon/human/life.dm - var/beating = 1 - var/icon_base = "heart" - attack_verb = list("beat", "thumped") - -/obj/item/organ/heart/update_icon() - if(beating) - icon_state = "[icon_base]-on" - else - icon_state = "[icon_base]-off" - -/obj/item/organ/heart/Remove(mob/living/carbon/M, special = 0) - ..() - if(!special) - addtimer(CALLBACK(src, .proc/stop_if_unowned), 120) - -/obj/item/organ/heart/proc/stop_if_unowned() - if(!owner) - Stop() - -/obj/item/organ/heart/attack_self(mob/user) - ..() - if(!beating) - visible_message("[user] squeezes [src] to \ - make it beat again!", "You squeeze \ - [src] to make it beat again!") - Restart() - addtimer(CALLBACK(src, .proc/stop_if_unowned), 80) - -/obj/item/organ/heart/proc/Stop() - beating = 0 - update_icon() - return 1 - -/obj/item/organ/heart/proc/Restart() - beating = 1 - update_icon() - return 1 - -/obj/item/organ/heart/prepare_eat() - var/obj/S = ..() - S.icon_state = "heart-off" - return S - - -/obj/item/organ/heart/cursed - name = "cursed heart" - desc = "A heart that, when inserted, will force you to pump it manually." - icon_state = "cursedheart-off" - icon_base = "cursedheart" - origin_tech = "biotech=6" - actions_types = list(/datum/action/item_action/organ_action/cursed_heart) - var/last_pump = 0 - var/add_colour = TRUE //So we're not constantly recreating colour datums - var/pump_delay = 30 //you can pump 1 second early, for lag, but no more (otherwise you could spam heal) - var/blood_loss = 100 //600 blood is human default, so 5 failures (below 122 blood is where humans die because reasons?) - - //How much to heal per pump, negative numbers would HURT the player - var/heal_brute = 0 - var/heal_burn = 0 - var/heal_oxy = 0 - - -/obj/item/organ/heart/cursed/attack(mob/living/carbon/human/H, mob/living/carbon/human/user, obj/target) - if(H == user && istype(H)) - playsound(user,'sound/effects/singlebeat.ogg',40,1) - user.drop_item() - Insert(user) - else - return ..() - -/obj/item/organ/heart/cursed/on_life() - if(world.time > (last_pump + pump_delay)) - if(ishuman(owner) && owner.client) //While this entire item exists to make people suffer, they can't control disconnects. - var/mob/living/carbon/human/H = owner - if(H.dna && !(NOBLOOD in H.dna.species.species_traits)) - H.blood_volume = max(H.blood_volume - blood_loss, 0) - to_chat(H, "You have to keep pumping your blood!") - if(add_colour) - H.add_client_colour(/datum/client_colour/cursed_heart_blood) //bloody screen so real - add_colour = FALSE - else - last_pump = world.time //lets be extra fair *sigh* - -/obj/item/organ/heart/cursed/Insert(mob/living/carbon/M, special = 0) - ..() - if(owner) - to_chat(owner, "Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!") - -/datum/action/item_action/organ_action/cursed_heart - name = "Pump your blood" - -//You are now brea- pumping blood manually -/datum/action/item_action/organ_action/cursed_heart/Trigger() - . = ..() - if(. && istype(target,/obj/item/organ/heart/cursed)) - var/obj/item/organ/heart/cursed/cursed_heart = target - - if(world.time < (cursed_heart.last_pump + (cursed_heart.pump_delay-10))) //no spam - to_chat(owner, "Too soon!") - return - - cursed_heart.last_pump = world.time - playsound(owner,'sound/effects/singlebeat.ogg',40,1) - to_chat(owner, "Your heart beats.") - - var/mob/living/carbon/human/H = owner - if(istype(H)) - if(H.dna && !(NOBLOOD in H.dna.species.species_traits)) - H.blood_volume = min(H.blood_volume + cursed_heart.blood_loss*0.5, BLOOD_VOLUME_MAXIMUM) - H.remove_client_colour(/datum/client_colour/cursed_heart_blood) - cursed_heart.add_colour = TRUE - H.adjustBruteLoss(-cursed_heart.heal_brute) - H.adjustFireLoss(-cursed_heart.heal_burn) - H.adjustOxyLoss(-cursed_heart.heal_oxy) - - -/datum/client_colour/cursed_heart_blood - priority = 100 //it's an indicator you're dieing, so it's very high priority - colour = "red" - -#define HUMAN_MAX_OXYLOSS 3 -#define HUMAN_CRIT_MAX_OXYLOSS (SSmobs.wait/30) -#define HEAT_GAS_DAMAGE_LEVEL_1 2 -#define HEAT_GAS_DAMAGE_LEVEL_2 4 -#define HEAT_GAS_DAMAGE_LEVEL_3 8 - -#define COLD_GAS_DAMAGE_LEVEL_1 0.5 -#define COLD_GAS_DAMAGE_LEVEL_2 1.5 -#define COLD_GAS_DAMAGE_LEVEL_3 3 - -/obj/item/organ/lungs - name = "lungs" - icon_state = "lungs" - zone = "chest" - slot = "lungs" - gender = PLURAL - w_class = WEIGHT_CLASS_NORMAL - var/list/breathlevels = list("safe_oxygen_min" = 16,"safe_oxygen_max" = 0,"safe_co2_min" = 0,"safe_co2_max" = 10, - "safe_toxins_min" = 0,"safe_toxins_max" = 0.05,"SA_para_min" = 1,"SA_sleep_min" = 5,"BZ_trip_balls_min" = 1) - - //Breath damage - - var/safe_oxygen_min = 16 // Minimum safe partial pressure of O2, in kPa - var/safe_oxygen_max = 0 - var/safe_co2_min = 0 - var/safe_co2_max = 10 // Yes it's an arbitrary value who cares? - var/safe_toxins_min = 0 - var/safe_toxins_max = 0.05 - var/SA_para_min = 1 //Sleeping agent - var/SA_sleep_min = 5 //Sleeping agent - var/BZ_trip_balls_min = 1 //BZ gas. - - var/oxy_breath_dam_min = 1 - var/oxy_breath_dam_max = 10 - var/co2_breath_dam_min = 1 - var/co2_breath_dam_max = 10 - var/tox_breath_dam_min = MIN_PLASMA_DAMAGE - var/tox_breath_dam_max = MAX_PLASMA_DAMAGE - - - -/obj/item/organ/lungs/proc/check_breath(datum/gas_mixture/breath, var/mob/living/carbon/human/H) - if((H.status_flags & GODMODE)) - return - - var/species_traits = list() - if(H && H.dna && H.dna.species && H.dna.species.species_traits) - species_traits = H.dna.species.species_traits - - if(!breath || (breath.total_moles() == 0)) - if(H.reagents.has_reagent("epinephrine")) - return - if(H.health >= HEALTH_THRESHOLD_CRIT) - H.adjustOxyLoss(HUMAN_MAX_OXYLOSS) - else if(!(NOCRITDAMAGE in species_traits)) - H.adjustOxyLoss(HUMAN_CRIT_MAX_OXYLOSS) - - H.failed_last_breath = 1 - if(safe_oxygen_min) - H.throw_alert("oxy", /obj/screen/alert/oxy) - else if(safe_toxins_min) - H.throw_alert("not_enough_tox", /obj/screen/alert/not_enough_tox) - else if(safe_co2_min) - H.throw_alert("not_enough_co2", /obj/screen/alert/not_enough_co2) - return 0 - - var/gas_breathed = 0 - - var/list/breath_gases = breath.gases - - breath.assert_gases("o2", "plasma", "co2", "n2o", "bz") - - //Partial pressures in our breath - var/O2_pp = breath.get_breath_partial_pressure(breath_gases["o2"][MOLES]) - var/Toxins_pp = breath.get_breath_partial_pressure(breath_gases["plasma"][MOLES]) - var/CO2_pp = breath.get_breath_partial_pressure(breath_gases["co2"][MOLES]) - - - //-- OXY --// - - //Too much oxygen! //Yes, some species may not like it. - if(safe_oxygen_max) - if(O2_pp > safe_oxygen_max) - var/ratio = (breath_gases["o2"][MOLES]/safe_oxygen_max) * 10 - H.adjustOxyLoss(Clamp(ratio,oxy_breath_dam_min,oxy_breath_dam_max)) - H.throw_alert("too_much_oxy", /obj/screen/alert/too_much_oxy) - else - H.clear_alert("too_much_oxy") - - //Too little oxygen! - if(safe_oxygen_min) - if(O2_pp < safe_oxygen_min) - gas_breathed = handle_too_little_breath(H,O2_pp,safe_oxygen_min,breath_gases["o2"][MOLES]) - H.throw_alert("oxy", /obj/screen/alert/oxy) - else - H.failed_last_breath = 0 - if(H.getOxyLoss()) - H.adjustOxyLoss(-5) - gas_breathed = breath_gases["o2"][MOLES] - H.clear_alert("oxy") - - //Exhale - breath_gases["o2"][MOLES] -= gas_breathed - breath_gases["co2"][MOLES] += gas_breathed - gas_breathed = 0 - - - //-- CO2 --// - - //CO2 does not affect failed_last_breath. So if there was enough oxygen in the air but too much co2, this will hurt you, but only once per 4 ticks, instead of once per tick. - if(safe_co2_max) - if(CO2_pp > safe_co2_max) - if(!H.co2overloadtime) // If it's the first breath with too much CO2 in it, lets start a counter, then have them pass out after 12s or so. - H.co2overloadtime = world.time - else if(world.time - H.co2overloadtime > 120) - H.Paralyse(3) - H.adjustOxyLoss(3) // Lets hurt em a little, let them know we mean business - if(world.time - H.co2overloadtime > 300) // They've been in here 30s now, lets start to kill them for their own good! - H.adjustOxyLoss(8) - H.throw_alert("too_much_co2", /obj/screen/alert/too_much_co2) - if(prob(20)) // Lets give them some chance to know somethings not right though I guess. - H.emote("cough") - - else - H.co2overloadtime = 0 - H.clear_alert("too_much_co2") - - //Too little CO2! - if(breathlevels["safe_co2_min"]) - if(CO2_pp < safe_co2_min) - gas_breathed = handle_too_little_breath(H,CO2_pp, safe_co2_min,breath_gases["co2"][MOLES]) - H.throw_alert("not_enough_co2", /obj/screen/alert/not_enough_co2) - else - H.failed_last_breath = 0 - H.adjustOxyLoss(-5) - gas_breathed = breath_gases["co2"][MOLES] - H.clear_alert("not_enough_co2") - - //Exhale - breath_gases["co2"][MOLES] -= gas_breathed - breath_gases["o2"][MOLES] += gas_breathed - gas_breathed = 0 - - - //-- TOX --// - - //Too much toxins! - if(safe_toxins_max) - if(Toxins_pp > safe_toxins_max) - var/ratio = (breath_gases["plasma"][MOLES]/safe_toxins_max) * 10 - if(H.reagents) - H.reagents.add_reagent("plasma", Clamp(ratio, tox_breath_dam_min, tox_breath_dam_max)) - H.throw_alert("tox_in_air", /obj/screen/alert/tox_in_air) - else - H.clear_alert("tox_in_air") - - - //Too little toxins! - if(safe_toxins_min) - if(Toxins_pp < safe_toxins_min) - gas_breathed = handle_too_little_breath(H,Toxins_pp, safe_toxins_min, breath_gases["plasma"][MOLES]) - H.throw_alert("not_enough_tox", /obj/screen/alert/not_enough_tox) - else - H.failed_last_breath = 0 - H.adjustOxyLoss(-5) - gas_breathed = breath_gases["plasma"][MOLES] - H.clear_alert("not_enough_tox") - - //Exhale - breath_gases["plasma"][MOLES] -= gas_breathed - breath_gases["co2"][MOLES] += gas_breathed - gas_breathed = 0 - - - //-- TRACES --// - - if(breath) // If there's some other shit in the air lets deal with it here. - - // N2O - - var/SA_pp = breath.get_breath_partial_pressure(breath_gases["n2o"][MOLES]) - if(SA_pp > SA_para_min) // Enough to make us paralysed for a bit - H.Paralyse(3) // 3 gives them one second to wake up and run away a bit! - if(SA_pp > SA_sleep_min) // Enough to make us sleep as well - H.Sleeping(max(H.sleeping+2, 10)) - else if(SA_pp > 0.01) // There is sleeping gas in their lungs, but only a little, so give them a bit of a warning - if(prob(20)) - H.emote(pick("giggle", "laugh")) - - // BZ - - var/bz_pp = breath.get_breath_partial_pressure(breath_gases["bz"][MOLES]) - if(bz_pp > BZ_trip_balls_min) - H.hallucination += 20 - if(prob(33)) - H.adjustBrainLoss(3) - else if(bz_pp > 0.01) - H.hallucination += 5//Removed at 2 per tick so this will slowly build up - handle_breath_temperature(breath, H) - breath.garbage_collect() - - return 1 - - -/obj/item/organ/lungs/proc/handle_too_little_breath(mob/living/carbon/human/H = null,breath_pp = 0, safe_breath_min = 0, true_pp = 0) - . = 0 - if(!H || !safe_breath_min) //the other args are either: Ok being 0 or Specifically handled. - return 0 - - if(prob(20)) - H.emote("gasp") - if(breath_pp > 0) - var/ratio = safe_breath_min/breath_pp - H.adjustOxyLoss(min(5*ratio, HUMAN_MAX_OXYLOSS)) // Don't fuck them up too fast (space only does HUMAN_MAX_OXYLOSS after all! - H.failed_last_breath = 1 - . = true_pp*ratio/6 - else - H.adjustOxyLoss(HUMAN_MAX_OXYLOSS) - H.failed_last_breath = 1 - - -/obj/item/organ/lungs/proc/handle_breath_temperature(datum/gas_mixture/breath, mob/living/carbon/human/H) // called by human/life, handles temperatures - if(abs(310.15 - breath.temperature) > 50) - - var/species_traits = list() - if(H && H.dna && H.dna.species && H.dna.species.species_traits) - species_traits = H.dna.species.species_traits - - if(!(GLOB.mutations_list[COLDRES] in H.dna.mutations) && !(RESISTCOLD in species_traits)) // COLD DAMAGE - switch(breath.temperature) - if(-INFINITY to 120) - H.apply_damage(COLD_GAS_DAMAGE_LEVEL_3, BURN, "head") - if(120 to 200) - H.apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, "head") - if(200 to 260) - H.apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, "head") - - if(!(RESISTHOT in species_traits)) // HEAT DAMAGE - switch(breath.temperature) - if(360 to 400) - H.apply_damage(HEAT_GAS_DAMAGE_LEVEL_1, BURN, "head") - if(400 to 1000) - H.apply_damage(HEAT_GAS_DAMAGE_LEVEL_2, BURN, "head") - if(1000 to INFINITY) - H.apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, "head") - - - - -/obj/item/organ/lungs/prepare_eat() - var/obj/S = ..() - S.reagents.add_reagent("salbutamol", 5) - return S - - -/obj/item/organ/lungs/plasmaman - name = "plasma filter" - - safe_oxygen_min = 0 //We don't breath this - safe_toxins_min = 16 //We breath THIS! - safe_toxins_max = 0 - - - - - -#undef HUMAN_MAX_OXYLOSS -#undef HUMAN_CRIT_MAX_OXYLOSS -#undef HEAT_GAS_DAMAGE_LEVEL_1 -#undef HEAT_GAS_DAMAGE_LEVEL_2 -#undef HEAT_GAS_DAMAGE_LEVEL_3 - -#undef COLD_GAS_DAMAGE_LEVEL_1 -#undef COLD_GAS_DAMAGE_LEVEL_2 -#undef COLD_GAS_DAMAGE_LEVEL_3 - -/obj/item/organ/tongue - name = "tongue" - desc = "A fleshy muscle mostly used for lying." - icon_state = "tonguenormal" - zone = "mouth" - slot = "tongue" - attack_verb = list("licked", "slobbered", "slapped", "frenched", "tongued") - var/list/languages_possible - var/say_mod = null - var/taste_sensitivity = 15 // lower is more sensitive. - -/obj/item/organ/tongue/Initialize(mapload) - ..() - languages_possible = typecacheof(list( - /datum/language/common, - /datum/language/monkey, - /datum/language/ratvar - )) - -/obj/item/organ/tongue/get_spans() - return list() - -/obj/item/organ/tongue/proc/TongueSpeech(var/message) - return message - -/obj/item/organ/tongue/Insert(mob/living/carbon/M, special = 0) - ..() - if(say_mod && M.dna && M.dna.species) - M.dna.species.say_mod = say_mod - -/obj/item/organ/tongue/Remove(mob/living/carbon/M, special = 0) - ..() - if(say_mod && M.dna && M.dna.species) - M.dna.species.say_mod = initial(M.dna.species.say_mod) - -/obj/item/organ/tongue/can_speak_in_language(datum/language/dt) - . = is_type_in_typecache(dt, languages_possible) - -/obj/item/organ/tongue/lizard - name = "forked tongue" - desc = "A thin and long muscle typically found in reptilian races, apparently moonlights as a nose." - icon_state = "tonguelizard" - say_mod = "hisses" - taste_sensitivity = 10 // combined nose + tongue, extra sensitive - -/obj/item/organ/tongue/lizard/TongueSpeech(var/message) - var/regex/lizard_hiss = new("s+", "g") - var/regex/lizard_hiSS = new("S+", "g") - if(copytext(message, 1, 2) != "*") - message = lizard_hiss.Replace(message, "sss") - message = lizard_hiSS.Replace(message, "SSS") - return message - -/obj/item/organ/tongue/fly - name = "proboscis" - desc = "A freakish looking meat tube that apparently can take in liquids." - icon_state = "tonguefly" - say_mod = "buzzes" - taste_sensitivity = 25 // you eat vomit, this is a mercy - -/obj/item/organ/tongue/fly/TongueSpeech(var/message) - var/regex/fly_buzz = new("z+", "g") - var/regex/fly_buZZ = new("Z+", "g") - if(copytext(message, 1, 2) != "*") - message = fly_buzz.Replace(message, "zzz") - message = fly_buZZ.Replace(message, "ZZZ") - return message - -/obj/item/organ/tongue/abductor - name = "superlingual matrix" - desc = "A mysterious structure that allows for instant communication between users. Pretty impressive until you need to eat something." - icon_state = "tongueayylmao" - say_mod = "gibbers" - taste_sensitivity = 101 // ayys cannot taste anything. - -/obj/item/organ/tongue/abductor/TongueSpeech(var/message) - //Hacks - var/mob/living/carbon/human/user = usr - var/rendered = "[user.name]: [message]" - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) - var/obj/item/organ/tongue/T = H.getorganslot("tongue") - if(!T || T.type != type) - continue - else if(H.dna && H.dna.species.id == "abductor" && user.dna && user.dna.species.id == "abductor") - var/datum/species/abductor/Ayy = user.dna.species - var/datum/species/abductor/Byy = H.dna.species - if(Ayy.team != Byy.team) - continue - to_chat(H, rendered) - for(var/mob/M in GLOB.dead_mob_list) - var/link = FOLLOW_LINK(M, user) - to_chat(M, "[link] [rendered]") - return "" - -/obj/item/organ/tongue/zombie - name = "rotting tongue" - desc = "Between the decay and the fact that it's just lying there you doubt a tongue has ever seemed less sexy." - icon_state = "tonguezombie" - say_mod = "moans" - taste_sensitivity = 32 - -/obj/item/organ/tongue/zombie/TongueSpeech(var/message) - var/list/message_list = splittext(message, " ") - var/maxchanges = max(round(message_list.len / 1.5), 2) - - for(var/i = rand(maxchanges / 2, maxchanges), i > 0, i--) - var/insertpos = rand(1, message_list.len - 1) - var/inserttext = message_list[insertpos] - - if(!(copytext(inserttext, length(inserttext) - 2) == "...")) - message_list[insertpos] = inserttext + "..." - - if(prob(20) && message_list.len > 3) - message_list.Insert(insertpos, "[pick("BRAINS", "Brains", "Braaaiinnnsss", "BRAAAIIINNSSS")]...") - - return jointext(message_list, " ") - -/obj/item/organ/tongue/alien - name = "alien tongue" - desc = "According to leading xenobiologists the evolutionary benefit of having a second mouth in your mouth is \"that it looks badass\"." - icon_state = "tonguexeno" - say_mod = "hisses" - taste_sensitivity = 10 // LIZARDS ARE ALIENS CONFIRMED - -/obj/item/organ/tongue/alien/Initialize(mapload) - ..() - languages_possible = typecacheof(list( - /datum/language/xenocommon, - /datum/language/common, - /datum/language/ratvar, - /datum/language/monkey)) - -/obj/item/organ/tongue/alien/TongueSpeech(var/message) - playsound(owner, "hiss", 25, 1, 1) - return message - -/obj/item/organ/tongue/bone - name = "bone \"tongue\"" - desc = "Apparently skeletons alter the sounds they produce \ - through oscillation of their teeth, hence their characteristic \ - rattling." - icon_state = "tonguebone" - say_mod = "rattles" - attack_verb = list("bitten", "chattered", "chomped", "enamelled", "boned") - taste_sensitivity = 101 // skeletons cannot taste anything - - var/chattering = FALSE - var/phomeme_type = "sans" - var/list/phomeme_types = list("sans", "papyrus") - -/obj/item/organ/tongue/bone/New() - . = ..() - phomeme_type = pick(phomeme_types) - -/obj/item/organ/tongue/bone/TongueSpeech(var/message) - . = message - - if(chattering) - //Annoy everyone nearby with your chattering. - chatter(message, phomeme_type, usr) - -/obj/item/organ/tongue/bone/get_spans() - . = ..() - // Feature, if the tongue talks directly, it will speak with its span - switch(phomeme_type) - if("sans") - . |= SPAN_SANS - if("papyrus") - . |= SPAN_PAPYRUS - -/obj/item/organ/tongue/robot - name = "robotic voicebox" - desc = "A voice synthesizer that can interface with organic lifeforms." - status = ORGAN_ROBOTIC - icon_state = "tonguerobot" - say_mod = "states" - attack_verb = list("beeped", "booped") - taste_sensitivity = 25 // not as good as an organic tongue - -/obj/item/organ/tongue/robot/Initialize(mapload) - ..() - languages_possible = typecacheof(list( - /datum/language/xenocommon, - /datum/language/common, - /datum/language/ratvar, - /datum/language/monkey, - /datum/language/drone, - /datum/language/machine, - /datum/language/swarmer)) - -/obj/item/organ/tongue/robot/get_spans() - return ..() | SPAN_ROBOT - -/obj/item/organ/appendix - name = "appendix" - icon_state = "appendix" - zone = "groin" - slot = "appendix" - var/inflamed = 0 - -/obj/item/organ/appendix/update_icon() - if(inflamed) - icon_state = "appendixinflamed" - name = "inflamed appendix" - else - icon_state = "appendix" - name = "appendix" - -/obj/item/organ/appendix/Remove(mob/living/carbon/M, special = 0) - for(var/datum/disease/appendicitis/A in M.viruses) - A.cure() - inflamed = 1 - update_icon() - ..() - -/obj/item/organ/appendix/Insert(mob/living/carbon/M, special = 0) - ..() - if(inflamed) - M.AddDisease(new /datum/disease/appendicitis) - -/obj/item/organ/appendix/prepare_eat() - var/obj/S = ..() - if(inflamed) - S.reagents.add_reagent("bad_food", 5) - return S - /mob/living/proc/regenerate_organs() return 0 /mob/living/carbon/regenerate_organs() - CHECK_DNA_AND_SPECIES(src) + var/breathes = TRUE + var/blooded = TRUE + if(dna && dna.species) + if(NOBREATH in dna.species.species_traits) + breathes = FALSE + if(NOBLOOD in dna.species.species_traits) + blooded = FALSE - if(!(NOBREATH in dna.species.species_traits) && !getorganslot("lungs")) + if(breathes && !getorganslot("lungs")) var/obj/item/organ/lungs/L = new() L.Insert(src) - if(!(NOBLOOD in dna.species.species_traits) && !getorganslot("heart")) + if(blooded && !getorganslot("heart")) var/obj/item/organ/heart/H = new() H.Insert(src) if(!getorganslot("tongue")) var/obj/item/organ/tongue/T - for(var/tongue_type in dna.species.mutant_organs) - if(ispath(tongue_type, /obj/item/organ/tongue)) - T = new tongue_type() - T.Insert(src) + if(dna && dna.species) + for(var/tongue_type in dna.species.mutant_organs) + if(ispath(tongue_type, /obj/item/organ/tongue)) + T = new tongue_type() + T.Insert(src) // if they have no mutant tongues, give them a regular one if(!T) @@ -768,135 +144,11 @@ E = new() E.Insert(src) -//Eyes - -/obj/item/organ/eyes - name = "eyes" - icon_state = "eyeballs" - desc = "I see you!" - zone = "eyes" - slot = "eye_sight" - - var/sight_flags = 0 - var/see_in_dark = 2 - var/tint = 0 - var/eye_color = "" //set to a hex code to override a mob's eye color - var/old_eye_color = "fff" - var/flash_protect = 0 - var/see_invisible = SEE_INVISIBLE_LIVING - var/lighting_alpha - -/obj/item/organ/eyes/Insert(mob/living/carbon/M, special = 0) - ..() - if(ishuman(owner)) - var/mob/living/carbon/human/HMN = owner - old_eye_color = HMN.eye_color - if(eye_color) - HMN.eye_color = eye_color - HMN.regenerate_icons() + if(!getorganslot("ears")) + var/obj/item/organ/ears/ears + if(dna && dna.species && dna.species.mutantears) + ears = new dna.species.mutantears else - eye_color = HMN.eye_color - M.update_tint() - owner.update_sight() + ears = new -/obj/item/organ/eyes/Remove(mob/living/carbon/M, special = 0) - ..() - if(ishuman(M) && eye_color) - var/mob/living/carbon/human/HMN = M - HMN.eye_color = old_eye_color - HMN.regenerate_icons() - M.update_tint() - M.update_sight() - -/obj/item/organ/eyes/night_vision - name = "shadow eyes" - desc = "A spooky set of eyes that can see in the dark." - see_in_dark = 8 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE - actions_types = list(/datum/action/item_action/organ_action/use) - var/night_vision = TRUE - -/obj/item/organ/eyes/night_vision/ui_action_click() - switch(lighting_alpha) - if (LIGHTING_PLANE_ALPHA_VISIBLE) - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE - if (LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE) - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - if (LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE) - lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE - else - lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE - owner.update_sight() - -/obj/item/organ/eyes/night_vision/alien - name = "alien eyes" - desc = "It turned out they had them after all!" - see_in_dark = 8 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE - sight_flags = SEE_MOBS - - -///Robotic - -/obj/item/organ/eyes/robotic - name = "robotic eyes" - icon_state = "cybernetic_eyeballs" - desc = "Your vision is augmented." - status = ORGAN_ROBOTIC - -/obj/item/organ/eyes/robotic/emp_act(severity) - if(!owner) - return - if(severity > 1) - if(prob(10 * severity)) - return - to_chat(owner, "Static obfuscates your vision!") - owner.flash_act(visual = 1) - -/obj/item/organ/eyes/robotic/xray - name = "X-ray eyes" - desc = "These cybernetic eyes will give you X-ray vision. Blinking is futile." - eye_color = "000" - see_in_dark = 8 - sight_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS - -/obj/item/organ/eyes/robotic/thermals - name = "Thermals eyes" - desc = "These cybernetic eye implants will give you Thermal vision. Vertical slit pupil included." - eye_color = "FC0" - origin_tech = "materials=5;programming=4;biotech=4;magnets=4;syndicate=1" - sight_flags = SEE_MOBS - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE - flash_protect = -1 - see_in_dark = 8 - -/obj/item/organ/eyes/robotic/flashlight - name = "flashlight eyes" - desc = "It's two flashlights rigged together with some wire. Why would you put these in someones head?" - eye_color ="fee5a3" - icon = 'icons/obj/lighting.dmi' - icon_state = "flashlight_eyes" - flash_protect = 2 - tint = INFINITY - -/obj/item/organ/eyes/robotic/flashlight/emp_act(severity) - return - -/obj/item/organ/eyes/robotic/flashlight/Insert(var/mob/living/carbon/M, var/special = 0) - ..() - M.set_light(M.light_range + 15, M.light_power + 1) - - -/obj/item/organ/eyes/robotic/flashlight/Remove(var/mob/living/carbon/M, var/special = 0) - M.set_light(M.light_range -15, M.light_power - 1) - ..() - -// Welding shield implant -/obj/item/organ/eyes/robotic/shield - name = "shielded robotic eyes" - desc = "These reactive micro-shields will protect you from welders and flashes without obscuring your vision." - origin_tech = "materials=4;biotech=3;engineering=4;plasmatech=3" - flash_protect = 2 - -/obj/item/organ/eyes/robotic/shield/emp_act(severity) - return + ears.Insert(src) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm new file mode 100644 index 00000000000..4c6ce0ab0e4 --- /dev/null +++ b/code/modules/surgery/organs/tongue.dm @@ -0,0 +1,192 @@ +/obj/item/organ/tongue + name = "tongue" + desc = "A fleshy muscle mostly used for lying." + icon_state = "tonguenormal" + zone = "mouth" + slot = "tongue" + attack_verb = list("licked", "slobbered", "slapped", "frenched", "tongued") + var/list/languages_possible + var/say_mod = null + var/taste_sensitivity = 15 // lower is more sensitive. + +/obj/item/organ/tongue/Initialize(mapload) + ..() + languages_possible = typecacheof(list( + /datum/language/common, + /datum/language/monkey, + /datum/language/ratvar + )) + +/obj/item/organ/tongue/get_spans() + return list() + +/obj/item/organ/tongue/proc/TongueSpeech(var/message) + return message + +/obj/item/organ/tongue/Insert(mob/living/carbon/M, special = 0) + ..() + if(say_mod && M.dna && M.dna.species) + M.dna.species.say_mod = say_mod + +/obj/item/organ/tongue/Remove(mob/living/carbon/M, special = 0) + ..() + if(say_mod && M.dna && M.dna.species) + M.dna.species.say_mod = initial(M.dna.species.say_mod) + +/obj/item/organ/tongue/can_speak_in_language(datum/language/dt) + . = is_type_in_typecache(dt, languages_possible) + +/obj/item/organ/tongue/lizard + name = "forked tongue" + desc = "A thin and long muscle typically found in reptilian races, apparently moonlights as a nose." + icon_state = "tonguelizard" + say_mod = "hisses" + taste_sensitivity = 10 // combined nose + tongue, extra sensitive + +/obj/item/organ/tongue/lizard/TongueSpeech(var/message) + var/regex/lizard_hiss = new("s+", "g") + var/regex/lizard_hiSS = new("S+", "g") + if(copytext(message, 1, 2) != "*") + message = lizard_hiss.Replace(message, "sss") + message = lizard_hiSS.Replace(message, "SSS") + return message + +/obj/item/organ/tongue/fly + name = "proboscis" + desc = "A freakish looking meat tube that apparently can take in liquids." + icon_state = "tonguefly" + say_mod = "buzzes" + taste_sensitivity = 25 // you eat vomit, this is a mercy + +/obj/item/organ/tongue/fly/TongueSpeech(var/message) + var/regex/fly_buzz = new("z+", "g") + var/regex/fly_buZZ = new("Z+", "g") + if(copytext(message, 1, 2) != "*") + message = fly_buzz.Replace(message, "zzz") + message = fly_buZZ.Replace(message, "ZZZ") + return message + +/obj/item/organ/tongue/abductor + name = "superlingual matrix" + desc = "A mysterious structure that allows for instant communication between users. Pretty impressive until you need to eat something." + icon_state = "tongueayylmao" + say_mod = "gibbers" + taste_sensitivity = 101 // ayys cannot taste anything. + +/obj/item/organ/tongue/abductor/TongueSpeech(var/message) + //Hacks + var/mob/living/carbon/human/user = usr + var/rendered = "[user.name]: [message]" + for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + var/obj/item/organ/tongue/T = H.getorganslot("tongue") + if(!T || T.type != type) + continue + else if(H.dna && H.dna.species.id == "abductor" && user.dna && user.dna.species.id == "abductor") + var/datum/species/abductor/Ayy = user.dna.species + var/datum/species/abductor/Byy = H.dna.species + if(Ayy.team != Byy.team) + continue + to_chat(H, rendered) + for(var/mob/M in GLOB.dead_mob_list) + var/link = FOLLOW_LINK(M, user) + to_chat(M, "[link] [rendered]") + return "" + +/obj/item/organ/tongue/zombie + name = "rotting tongue" + desc = "Between the decay and the fact that it's just lying there you doubt a tongue has ever seemed less sexy." + icon_state = "tonguezombie" + say_mod = "moans" + taste_sensitivity = 32 + +/obj/item/organ/tongue/zombie/TongueSpeech(var/message) + var/list/message_list = splittext(message, " ") + var/maxchanges = max(round(message_list.len / 1.5), 2) + + for(var/i = rand(maxchanges / 2, maxchanges), i > 0, i--) + var/insertpos = rand(1, message_list.len - 1) + var/inserttext = message_list[insertpos] + + if(!(copytext(inserttext, length(inserttext) - 2) == "...")) + message_list[insertpos] = inserttext + "..." + + if(prob(20) && message_list.len > 3) + message_list.Insert(insertpos, "[pick("BRAINS", "Brains", "Braaaiinnnsss", "BRAAAIIINNSSS")]...") + + return jointext(message_list, " ") + +/obj/item/organ/tongue/alien + name = "alien tongue" + desc = "According to leading xenobiologists the evolutionary benefit of having a second mouth in your mouth is \"that it looks badass\"." + icon_state = "tonguexeno" + say_mod = "hisses" + taste_sensitivity = 10 // LIZARDS ARE ALIENS CONFIRMED + +/obj/item/organ/tongue/alien/Initialize(mapload) + ..() + languages_possible = typecacheof(list( + /datum/language/xenocommon, + /datum/language/common, + /datum/language/ratvar, + /datum/language/monkey)) + +/obj/item/organ/tongue/alien/TongueSpeech(var/message) + playsound(owner, "hiss", 25, 1, 1) + return message + +/obj/item/organ/tongue/bone + name = "bone \"tongue\"" + desc = "Apparently skeletons alter the sounds they produce \ + through oscillation of their teeth, hence their characteristic \ + rattling." + icon_state = "tonguebone" + say_mod = "rattles" + attack_verb = list("bitten", "chattered", "chomped", "enamelled", "boned") + taste_sensitivity = 101 // skeletons cannot taste anything + + var/chattering = FALSE + var/phomeme_type = "sans" + var/list/phomeme_types = list("sans", "papyrus") + +/obj/item/organ/tongue/bone/New() + . = ..() + phomeme_type = pick(phomeme_types) + +/obj/item/organ/tongue/bone/TongueSpeech(var/message) + . = message + + if(chattering) + //Annoy everyone nearby with your chattering. + chatter(message, phomeme_type, usr) + +/obj/item/organ/tongue/bone/get_spans() + . = ..() + // Feature, if the tongue talks directly, it will speak with its span + switch(phomeme_type) + if("sans") + . |= SPAN_SANS + if("papyrus") + . |= SPAN_PAPYRUS + +/obj/item/organ/tongue/robot + name = "robotic voicebox" + desc = "A voice synthesizer that can interface with organic lifeforms." + status = ORGAN_ROBOTIC + icon_state = "tonguerobot" + say_mod = "states" + attack_verb = list("beeped", "booped") + taste_sensitivity = 25 // not as good as an organic tongue + +/obj/item/organ/tongue/robot/Initialize(mapload) + ..() + languages_possible = typecacheof(list( + /datum/language/xenocommon, + /datum/language/common, + /datum/language/ratvar, + /datum/language/monkey, + /datum/language/drone, + /datum/language/machine, + /datum/language/swarmer)) + +/obj/item/organ/tongue/robot/get_spans() + return ..() | SPAN_ROBOT diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index e844918eeba..2413a45870b 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -107,7 +107,7 @@ message = lowertext(message) var/mob/living/list/listeners = list() for(var/mob/living/L in get_hearers_in_view(8, user)) - if(!L.ear_deaf && !L.null_rod_check() && L != user && L.stat != DEAD) + if(L.can_hear() && !L.null_rod_check() && L != user && L.stat != DEAD) if(ishuman(L)) var/mob/living/carbon/human/H = L if(istype(H.ears, /obj/item/clothing/ears/earmuffs)) diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index d1adc2919618d53772c33f0547247ddbac01e200..9532ecbcccd14d7cf7cd4e0e714b4211a04b735d 100644 GIT binary patch delta 8681 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 diff --git a/tgstation.dme b/tgstation.dme index c229ef57a0a..001cfdb6415 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -2034,13 +2034,19 @@ #include "code\modules\surgery\bodyparts\head.dm" #include "code\modules\surgery\bodyparts\helpers.dm" #include "code\modules\surgery\bodyparts\robot_bodyparts.dm" +#include "code\modules\surgery\organs\appendix.dm" #include "code\modules\surgery\organs\augments_arms.dm" #include "code\modules\surgery\organs\augments_chest.dm" #include "code\modules\surgery\organs\augments_eyes.dm" #include "code\modules\surgery\organs\augments_internal.dm" #include "code\modules\surgery\organs\autosurgeon.dm" +#include "code\modules\surgery\organs\ears.dm" +#include "code\modules\surgery\organs\eyes.dm" +#include "code\modules\surgery\organs\heart.dm" #include "code\modules\surgery\organs\helpers.dm" +#include "code\modules\surgery\organs\lungs.dm" #include "code\modules\surgery\organs\organ_internal.dm" +#include "code\modules\surgery\organs\tongue.dm" #include "code\modules\surgery\organs\vocal_cords.dm" #include "code\modules\telesci\telepad.dm" #include "code\modules\telesci\telesci_computer.dm" From 2a06e7fa988c3256ebefec812b7b99791049ff0e Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sat, 22 Apr 2017 05:51:04 -0700 Subject: [PATCH 31/31] Automatic changelog generation for PR #26044 [ci skip] --- html/changelogs/AutoChangeLog-pr-26044.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-26044.yml diff --git a/html/changelogs/AutoChangeLog-pr-26044.yml b/html/changelogs/AutoChangeLog-pr-26044.yml new file mode 100644 index 00000000000..97ce1414d9d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-26044.yml @@ -0,0 +1,7 @@ +author: "coiax" +delete-after: True +changes: + - rscadd: "Centcom would like to inform all employees that they have ears." + - rscadd: "Adds \"ear\" organs to all carbons. These organs store ear damage and +deafness. A carbon without any ears is deaf. Genetic +deafness functions as before."