From 6bdd100eb6dd12e628db5616b87030c862522ab8 Mon Sep 17 00:00:00 2001 From: xxalpha Date: Thu, 17 Sep 2015 21:25:16 +0100 Subject: [PATCH 1/2] Lattices and catwalks now use generic icon smoothing. Put another check in smooth code to prevent runtimes --- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 16 ++--- _maps/map_files/generic/z4.dmm | 3 +- _maps/map_files/generic/z5.dmm | 7 +- code/__HELPERS/icon_smoothing.dm | 6 +- code/game/objects/structures/lattice.dm | 66 +++++------------- code/game/turfs/simulated/walls.dm | 2 +- icons/obj/smooth_structures/catwalk.dmi | Bin 0 -> 2319 bytes icons/obj/smooth_structures/lattice.dmi | Bin 0 -> 1104 bytes icons/obj/smoothlattice.dmi | Bin 4595 -> 0 bytes 9 files changed, 35 insertions(+), 65 deletions(-) create mode 100644 icons/obj/smooth_structures/catwalk.dmi create mode 100644 icons/obj/smooth_structures/lattice.dmi delete mode 100644 icons/obj/smoothlattice.dmi diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index 03d97f3faec..de5001da2a8 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -43,7 +43,6 @@ "aaQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "barber"},/area/security/prison) "aaR" = (/obj/structure/lattice,/obj/structure/sign/securearea{pixel_y = -32},/turf/space,/area/space) "aaS" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) -"aaT" = (/obj/structure/grille,/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area/space) "aaU" = (/obj/machinery/computer/arcade,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "aaV" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/security/prison) "aaW" = (/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor/plasteel,/area/security/prison) @@ -6030,7 +6029,6 @@ "clX" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) "clY" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) "clZ" = (/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) -"cma" = (/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area/space) "cmb" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/maintenance/incinerator) "cmc" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 2},/turf/simulated/wall/r_wall,/area/maintenance/incinerator) "cmd" = (/turf/simulated/wall/r_wall,/area/maintenance/incinerator) @@ -6652,7 +6650,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaiaaiaaBaaDaaCaaFaaEaataataavaaGaaiaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaiaaIaataataataataaJaataataaLaaKaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaMaaJaataataaOaaNaaJaataaQaaPaaiaafaaRaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaSaaSaaTaaSaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaUaataataataaJaaWaaVaataataaYaaXaaiaaiaaZaaZaaZaaZaaZaaZaaZaaZaaZaaZaaaaaaaaaaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTaaTaaTaaSaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaSaaSaaSaaSaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaUaataataataaJaaWaaVaataataaYaaXaaiaaiaaZaaZaaZaaZaaZaaZaaZaaZaaZaaZaaaaaaaaaaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaSaaSaaSaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaaaafaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcabbabeabdabgabfaatabhaataataataataataataavaatabjabiaaZabkabkabkablablabnabmabmaaZabpaboabpaboabpabqabqabrabrabrabqabqaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaaaafaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaafabsaafaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuabtabwabvabyabxaataatabAabzabBaatabDabCabEaatabGabFaaZabHabIabIabKabJabMabLabNaaZabPabOabQabOabRabqabTabSabVabUabWabqaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaafabXaafaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSabYabYabYabYaafaafaaaabZaaaaafaafaaSaaSaaSaaSaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuacaaccacbabyacdaceacdacdacdacfacdacdacdacgacdacdachaaZaciaciabIackacjacmaclacnaaZacoabOacqacpabPabqacsacracuactacvabqaaaaafacwaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaSaaSaaSaaSaafaafaaaacxaaaacyaafaaSaaSaaSaaSaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6761,13 +6759,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaaaafaaaaaaaaaciPaaaaaaaaaciPaaaaaaaaaciPaaaaaaaafcfxcfxcfxciQciSciRcfwbHEbHEbHEbHEbCqaaaaaaaafaaaaaaaafaaaaaaaafaaabCqciTbCqciUciVccwciXciWciZciYcjbcjacgRcgRcgRcjccjecjdcjfcjacfbcjgcjicjhciocjjcfbcjkcjmcjlccwaafcjnaafbOiaafcjnaafbOiaafcjoaafcjoaafaafaaaaaaaaaaafaafcfjcjpcjrcjqcjtcjscjvcjucjxcjwcjzcjyccMbLSccMcjAceJbzsbzsaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaabkycjBbMBbkycjCcbfbkyaaaaaaaaaaaabkybtpcbfcjEcjDcjDcjFcjGcjDaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaSaaSaafaaaccacjHccbaaaccacjHccbaaaccacjHccbaaaaafaaaaaacfxcfwcfwcfwcfwcjIbLubHEbHEbCqbCqbLvcjJcjJcjJcjJcjJcjJcjJaafbCqbCqbCqcjKcjLccwcjMciZciZciYcjOcjNcjNcjPcjRcjQcjScjScjTcgRcfbcjUcjWcjVcjYcjXcfbcjZcfMckaccwbOhckbbQAckbbOhckbbQAckbbOhckcbQAckdbOhaaaaaaaaaaaaaaaaafckfckecjrckgckickhckkckjcfjcklceJceJceJckmceJceJceJbBRbCqbLvbLvcknaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaabkyckobkybkyckpcbfbkybkybZibZibkybkybtpckqckrcjDcktcksckucjDaaaaaaaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafccacjHccbaaaccacjHccbaaaccacjHccbaafaafaafaaaaaaaaaaaaaagbCqbCqbCqckvbHEbCqckvbJfcjJckwckyckxckyckzcjJaaabCqbSsbHEckAcjLccwckBckBckCccwckEckDckGckFcgUckHckJckIckKckKcfbckLckNckMckPckOckRckQckTckSccwbOhckVckUckWbOhckYckXckZbOhclbclaclcbOhaaaaaaaaaaaaaaaaaacfjcldclfcleclhclgcljclicfjclkclmcllcloclnccMccMccMbAwclpbHEclpcknaaaaaaaafaaabZibZibZibkybkybkybkybkybkyclqbDhbkyclsclrcltcgrcltcltcltcltclvcluclwcjDclyclxclzcjDaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHraaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaaccacjHccbaafccacjHccbaafccacjHccbaaaaafaafaafaaaaaaaaaaagclBclAclBbHEbHEcgGbHEccdcjJclCclEclDclGclFcjJaaabCqceYbHEckAcjLccwckBckBckCccwclHcigclJclIclLclKclJcigclJclJcigclMclOclNckHclPclRclQcgUclSccwbOhclUclTclUbOhclWclVclWbOhclYclXclZbOhaafaafaafaafcmaaafcfjcfjcfjcmbcmdcmccmfcmecmdclkcmgccMcmicmhcmjcdNccMcmkbCqbLvbLvcknaafaafaafaaabZicmlcmmbkybtpcmncmpcmobkycmqbtpbkycmrbntbntcmsbntbnsbnsbnscmtcmtcmucjDcmwcmvcmxcjDaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaaccacjHccbaafccacjHccbaafccacjHccbaaaaafaafaafaaaaaaaaaaagclBclAclBbHEbHEcgGbHEccdcjJclCclEclDclGclFcjJaaabCqceYbHEckAcjLccwckBckBckCccwclHcigclJclIclLclKclJcigclJclJcigclMclOclNckHclPclRclQcgUclSccwbOhclUclTclUbOhclWclVclWbOhclYclXclZbOhaafaafaafaafaafaafcfjcfjcfjcmbcmdcmccmfcmecmdclkcmgccMcmicmhcmjcdNccMcmkbCqbLvbLvcknaafaafaafaaabZicmlcmmbkybtpcmncmpcmobkycmqbtpbkycmrbntbntcmsbntbnsbnsbnscmtcmtcmucjDcmwcmvcmxcjDaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaafccacjHccbaaaccacjHccbaaaccacjHccbaafaafaaaaafaafaaaaaaaagbCqbCqbCqbCqbHEbCqbCqbCqcjJcmycmAcmzcmBcmycjJaafbCqccwcmDcmCcmEccwckBckCckCccwcmGcmFcmIcmHcgUcmJcmLcmKcmLcmLcmNcmMcmPcmOcmRcmQcmQcmQcmTcmSccwbOhclUcmUclUbOhclWcmVclWbOhclZcmWclZbOhaaaaaaaafaafaaaaaaaaaaaaaaacmXcmdcmYcnacmZcmdbAwcnccnbcbQcndcnebFrcngcnfbCqaaaaaaaaaaaaaaaaafaaabZicnhcnibYrbtpceRbtpbtpbYrciIbtpbkybkybkybkybkybtpbkyaafaaaaaaaaaaafcnjcnjcnkcnjcnjaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaccacnlccbaaaccacnlccbaaaccacnlccbaaaaaSaaaaaaaafaafaaaaaaaaaaaaaaabLvbHEbLvaaaaaacjJcnmcnocnncnqcnpcjJcjJcjJccwcnrcmCcnsccwccwccwccwccwcntcgRcnuckFcgUcgRcgRcgRcnwcnvcnxcgUcgUckFcgRcnycgRcgRcnAcnzccwbOhbOhbOhbOhbOhbOhbOhbOhbOhbOhbOhbOhbOhaaaaafaafaaaaaaaaaaaaaaaaaacnBcmdcmccnCcmecmdbzscnDbHdcnFcnEbHdcnGbzsbzsbCqaaaaaaaaaaaaaaaaafaaabZicmlcnHbkycmobtpbtpcnIbkycnJbtpbtpbtpbtpbtpbtpbtpbkyaafaaaaaaaaaaafaaacnjcnKcnjaaaaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaaaafaaaaafaaaaafaaaaafaaaaafaaaaafaaaaaSaaaaaaaaaaafaafaaaaaaaaaaaabLvbHEbLvaaaaaacjJcnLcnNcnMcnPcnOcnRcnQcnScnRcnUcnTcnWcnVcnYcnXcoacnZcobcjNcodcoccofcoecohcogcoicogcoicojcolcokcjNcjNcomcjNcooconccwccwccwccwccwcigcigcigcigccwaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaacnBcmdcopcorcoqcosaafbzsceIcotbPnbPnbzsbzsaaaaafaaaaaaaaaaaaaaaaafaafbZibZibZibkybkybkybtpbkybkyckobkybkycmocoubMBbNAbkybkyaafaaaaaaaaaaafaaacnjcnkcnjaaaaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaSaaSaaSaaSabaaaSaaSaaSaaSaaSaaSaaSaaSaaSaaaaaaaaaaaaaafaafaaaaaaaafbLvbHEbLvaafaafcjJcovcoxcowcozcoycoBcoAcoCcoBcoEcoDcoGcoFcoIcoHcoJcoHcoLcoKcoNcoMcoPcoOceycoQcoScoRcoScoTcoVcoUcjScoMcoWcjScoYcoXcjScoZcgRcpaccwcpbcigcpccpdcpdcpeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacnBcmdcmdcpfcmdcmdaaaaafaaacnBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaabkycnicpgbkycphaafbkybkybZibZibkybkyaaaaafaaaaaaaaaaafaaaaaacpiaaaaaaaafaaaaafaaaaaaaafaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaabLvbHEbLvaaaaaacjJcpjcplcpkcpncpmcjJcpocppcjJcpqcgRcprckFcgUcpsclJcptckHcpucpwcpvcpvcpvcpycpxcpAcpzcpCcpBcpycpDcpDcnxcgRcnyckHcpEcpGcpFcjNcpHcpIciZcpIcpJcpLcpKcpMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacnBaagcmdcpNcmdcpOaafaafaaacpPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaeaaaaaabkycnicmnbkycpQaafaaaaafaaaaaaaafaaaaaaaafaaaaaaaaaaafaaaaaacpiaaaaaaaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbCqbCqcpRbCqbCqaaacjJcpScpUcpTcjJcjJcjJcjJcjJccwcpVcgRcprcpWcpYcpXclJcpZckHcqacqccqbcqecqdccwcqfcqhcqgcqjcqiccwcqkcqlcqlcqccqackHcqmcqncgUcgRcqoccwcqpcigcqqcpdcpdcqraaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaacpPaagcqscqtcqsaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaabZicqubZibZicmaaafaaaaafaaaaaaaafaaaaaSaaSaaSabaaafaafaafaafcpiaafaafaafaafaafabaaaSaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbCqbCqcpRbCqbCqaaacjJcpScpUcpTcjJcjJcjJcjJcjJccwcpVcgRcprcpWcpYcpXclJcpZckHcqacqccqbcqecqdccwcqfcqhcqgcqjcqiccwcqkcqlcqlcqccqackHcqmcqncgUcgRcqoccwcqpcigcqqcpdcpdcqraaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaacpPaagcqscqtcqsaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaabZicqubZibZiaafaafaaaaafaaaaaaaafaaaaaSaaSaaSabaaafaafaafaafcpiaafaafaafaafaafabaaaSaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbCqciTbHEcqvbCqaafcjJcjJcjJcjJcjJaafaaaaaaaafccwcqwcgRcqycqxcqxcqzcigcigcqAccwcqCcqBcqBcqBccwcqDcqFcqEcqHcqGccwcqBcqBcqBcqCccwcqAcigcqIcgUcgRccwccwcigcigcigcigccwaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaafaagaaaaaaaaaaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabZibtpbZiaaaaaaaaaaaaaafaaaaaaaafaaaaaSaaaaaaaafaaaaafaaaaaacqJaaaaaaaafaaaaafaaaaaaaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLvcqKcqMcqLbCqaafaaaaaaaafaaaaaaaafaaaaaaaafccwcqOcqNckHcqPcqRcqQcigcqScqTccwcqVcqUcqWcqUcqYcqXcracqZcrbcqGcqYcqUcqUcqUcrcccwcrecrdcmCcgUcrfcjZcrgcgRcrhcqYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaabZicribZiaaaaaaaaaaaaaafaaaaaaaafaaaaaSaafcrjcrjcrjcrjcrjaaacrkaaacrjcrjcrjcrjcrjaafaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLvcrlcrmbJebCqcigcrncrncrncrncrncrncrncrncigccwcrpcrocrrcrqcrpccwccwccwcqAccwccwcqYcqYcqYcqYcrscrucrtcrucrvcqYcqYcqYcqYccwccwcqAccwcmCcrwcrycrxcrzcgRcrAcqYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagaagaagaaaaaaaaaaaaaaaaaaaaaaafaaaaaSaaacrBcrCcrCcrCcrCcrDcrkcrFcrEcrEcrEcrEcrGaaaaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6775,13 +6773,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwcrTcrUcrUaaaaaaaafaafaafaafaafaafaafaafaafaafaafaaaaaacrUcrVcrTccwcrWcrXccwcigcigcrYcigaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaSaaaaaaaaaaafaaaaaaaaacrkaaaaaaaaaaafaaaaaaaaaaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwcrZcsbcsaaafaafaafcscaaaaaaaaaaaacscaaaaaacscaafaafaafcsdcsfcseccwcsgcfKcigaafaaacsicshaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaafcrjcrjcrjcrjcrjaaacrkaaacrjcrjcrjcrjcrjaafaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwcrTcrUcsjaaaaaaaafaaaaaaaaaaaaaaacskaaaaaaaaaaafaaaaaacrUcrUcrTccwaagaagaagaafaaacsmcslcsocsncspcsncsocsncspcsncsocsncspcsncsocsncspcsqcsraaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaacrBcrCcrCcrCcrCcrDcrkcrFcrEcrEcrEcrEcrGaaaaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwcsscstcrUaaaaaaaafaaaaaaaafaafaafaafaafaaaaaaaafaaaaaacrUcsvcsuccwaaaaaaaagaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaacsmcswcshcmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaafcrScrScrScrScrSaaacrkaaacrScrScrScrScrSaafaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwccwcsxcrUaaaaaaaafcscaafaafcszcsycsAaafcsBaaaaafaaaaaacrUcsxccwccwaaaaaaaagaafaafcmaaafaafcmaaafaafaafaafaafaafaafaafaafaafaafaafcmaaafcsCcswcsraafaafcsDcsDcsDcsDcsDaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaafaaaaaaaaacsEaaaaaaaaaaafaaaaaaaaaaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcsFccwcsGcrUaaaaaaaafaaaaaaaafcsIcsHcsJaafaaaaaaaafaaaaaacrUcsKccwcsFaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagcmaaaaaaacsLcswcshaaacsDcsNcsMcsOcsDaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaafcrjcrjcrjcrjcrjaaacpiaaacrjcrjcrjcrjcrjaafaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwcsscstcrUaaaaaaaafaaaaaaaafaafaafaafaafaaaaaaaafaaaaaacrUcsvcsuccwaaaaaaaagaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaacsmcswcshaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaafcrScrScrScrScrSaaacrkaaacrScrScrScrScrSaafaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwccwcsxcrUaaaaaaaafcscaafaafcszcsycsAaafcsBaaaaafaaaaaacrUcsxccwccwaaaaaaaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafcsCcswcsraafaafcsDcsDcsDcsDcsDaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaafaaaaaaaaacsEaaaaaaaaaaafaaaaaaaaaaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcsFccwcsGcrUaaaaaaaafaaaaaaaafcsIcsHcsJaafaaaaaaaafaaaaaacrUcsKccwcsFaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaafaaaaaacsLcswcshaaacsDcsNcsMcsOcsDaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaafcrjcrjcrjcrjcrjaaacpiaaacrjcrjcrjcrjcrjaafaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwccwcsxcrUaaaaaaaafaaacsPaafcsRcsQcsSaafaafcscaafaaaaaacrUcsxccwccwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaacsUcsTcshcsDcsWcsVcsXcsDaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaacrBcrCcrCcrCcrCcsZcsYcsZcrEcrEcrEcrEcrGaaaaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwcsvcsucrUaaaaaaaafaaaaaaaafaafaafaafaafaaaaaaaafaaaaaacrUcsscstccwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafcsUctacsDctcctbctdcsDaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaafcrScrScrScrScrSaaacpiaaacrScrScrScrScrSaafaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwcrTcrUcteaaaaaactfaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaacrUcrUcrTccwaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafctgcthcsDctjctictkcsDctgctgaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaaaaaaafaaaaafaaaaaacpiaaaaaaaafaaaaafaaaaaaaaSaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaccwctlcsbcsaaafaafaafcscaaaaaacscaaaaaaaaaaaacscaafctmaafcsdcsfctnccwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagcmaaafaafaafaafctgctpctoctrctqcttctsctuctgaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaSaaSaaSaaSaaSaafaafaaacpiaaaaafaafaaSaaSaaSabaaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaccwctlcsbcsaaafaafaafcscaaaaaacscaaaaaaaaaaaacscaafctmaafcsdcsfctnccwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaafctgctpctoctrctqcttctsctuctgaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaSaaSaaSaaSaaSaafaafaaacpiaaaaafaafaaSaaSaaSabaaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwctvcrUcrUaaaaaaaafaafaafaafaafaafaafaafaafaafaafaaaaaacrUcrUctvccwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafctgctwctoctxctbctzctyctActyaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaafctBaafaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccwctvcrUctCaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaactDcrUctvccwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafctgctFctEctHctGctJctIctKctgaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaaaafaaaaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjZccwccwccwcrUaafaafaafaafaaaaaaaaaaaaaaaaafaafaafaafcrUccwccwccwcjZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafctgctgctgctMctLctNctgctgctgaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaSaaSaaSaaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/generic/z4.dmm b/_maps/map_files/generic/z4.dmm index 1e023fe0e23..b5703abbccf 100644 --- a/_maps/map_files/generic/z4.dmm +++ b/_maps/map_files/generic/z4.dmm @@ -338,7 +338,6 @@ "gz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) "gA" = (/obj/structure/window/fulltile{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) "gB" = (/obj/structure/lattice,/obj/structure/window/fulltile{dir = 1},/turf/space,/area/space) -"gC" = (/obj/structure/lattice,/obj/structure/lattice,/obj/structure/window/fulltile{dir = 1},/turf/space,/area/space) "gD" = (/turf/simulated/floor/plating,/area/derelict/arrival) "gE" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/derelict/medical/chapel) "gF" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel/airless{icon_state = "white"},/area/derelict/medical) @@ -958,7 +957,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafYfYfYfYfYfYfYfYfYfYfYfYfYaaaaaaaaaaaaaaaaaaaaaaaadgdfdgaeaefDecevdBdBdBfPdxdxdydbdbdBcIcIaafFfMfmfdfgfgfgfffQfgfdfdfdgcgcbwbwbwfRfOfOfOfOfOfOfSfTfUfVfUfWfXfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafYgigigigiggggggggggghgifYaaaaaaaaaaaaaaaaaaaafZaadfdfgaaeaedfgbdBdbdbfadBdBdbdcdddBdBcIcIaafFfFfmfdfdfdfgfdfdfdfdfdfdbwfxbjbjfxfxgdgdgegegffOodfSodfUfUfXfUfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafYfYfYgigKggggggfYfYgEfYfYfYfYfYgjgkgkgkgjglgmgngogjgpaegqaedBdBdbdcdcdcdbdBdBdbdccIcIcIcIaaflfmfffdfgfufffufdfufugrfubjfxfxfxbjfxgegdgfgfgegsfUfUfUfUfUfUfUfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagqfYiPfYfYfYfYfYgPfYgQggghggggggfYgtgtgtgugtolocgngnoeaeaeaeaecIcIdBgydddbdBcIcIcIcIcIcIaeaefFgzfmfffgfgfffFfufugrfufFgAbwbwgBgBgCgBfNfNfNfNfNfNfUfUgDfUfUfUfUfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagqfYiPfYfYfYfYfYgPfYgQggghggggggfYgtgtgtgugtolocgngnoeaeaeaeaecIcIdBgydddbdBcIcIcIcIcIcIaeaefFgzfmfffgfgfffFfufugrfufFgAbwbwgBgBgBgBfNfNfNfNfNfNfUfUgDfUfUfUfUfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaofomgYgZgYoggYgZgYfYgQgggQgggQggfYgFgtgtgtgtgGgvgwgnohgngnaeaecIcIcIcIdfcIcIcIcIcIcIaeaabjfdhtfmfffffdfgfffffFfkfkfkfkfkaeaeaeaaaaaagHfygHbjcBfNfSfSfUfSgIfUgJfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaofhgojoiokhihhhihhfYgQgggQgggQgggEgtgtgtgtgtgtgvonotgngngnaaaeaecIcIgLhuoDcIcIaeaeaeaaaabjfdfmfmhvfffdfdfdfdfufkfIfxfIgMaaaeaaaaaaaaaaaagHaegMfNgNgNfUgNgOfUfUfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahooooGhrhshrgZgYgZgYfYgQopgQoqgQggfYorgtgtgtgtoHosgvgwgngngnaaaaaeaecIcIcIcIcIaeaeaaaagSgSgTfdffgUfffgfdfgfufffufkfxgMfxfxaaaeaaaacDaaaaaaaagMaefNfUfUfUfUgVfSodfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/generic/z5.dmm b/_maps/map_files/generic/z5.dmm index be23e357bf9..f7d043a6a82 100644 --- a/_maps/map_files/generic/z5.dmm +++ b/_maps/map_files/generic/z5.dmm @@ -25,7 +25,7 @@ "ay" = (/turf/simulated/floor/plating/airless,/area/space) "az" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "aA" = (/obj/item/stack/rods,/turf/simulated/floor/plasteel/airless,/area/mine/abandoned) -"aB" = (/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area/space) +"aB" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored) "aC" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area/space) "aD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "aE" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/plasteel/airless,/area/mine/abandoned) @@ -374,7 +374,6 @@ "hj" = (/obj/machinery/telecomms/relay/preset/mining,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 1},/area/mine/maintenance) "hk" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/mine/maintenance) "hl" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored) -"hm" = (/obj/structure/lattice,/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored) "hn" = (/obj/structure/lattice,/turf/space,/area/mine/explored) "ho" = (/turf/space,/area/mine/unexplored) "hp" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/bluegrid,/area/mine/maintenance) @@ -768,7 +767,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarasakajalaaababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaafafafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaratauavalalababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababalalalalalalalalalalafafafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawakaxabababababacacacacacacacacacacacacacacacacacacacacacacacacacaeacacacacacacacacacacacacaeacacacacacacacacacabababayayayayayayayayayayafafafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalalazaAakaxabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababababalalalalalaBalalalafafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalalazaAakaxabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababababalalalalalalalalalafafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalalaCaDaEaFaxabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacababababaaaaaaaaaaaaaaaaaaaaaaafafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalalaGaHaIaxaJaKaxaxaxaxacacacacacacaeacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacababaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaLaMaraNaOaPagaQaFaxaRaRaxacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacababaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -880,7 +879,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababacacacacacacacacacacacac aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababacacacacacacacacacacacacacacacacacabababafafafafafafafafafafafgXgYhaafababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafaiaiafafafbGbGbGewewbGafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaabababacacacacacacacacacacacacacacacacacababafbGbGdhdhhbdjdjdjdjdjdjhcgYhaafabababacacacacacacacacacacacacacacacacacacamacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacachdhdhdhdhdhdhdacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafaiaiafafafbGbGbGewewbGafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababacacacacacacacacacacacacacacacacacabafbGbGbGbGgWhehehehehehehehfhghaafababababababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacachdhhhihjhkhhhdacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafaiaiafafafafbGbGewewbGafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababacacacacacacacacacacacacacacacacabafbGbGbGdhdhdGdGdGdGdGdGhlgYhmhnhoafafafafabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacachdhhhphqhrhshdacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafaiaiafafafafbGbGewewbGafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababacacacacacacacacacacacacacacacacabafbGbGbGdhdhdGdGdGdGdGdGhlgYaBhnhoafafafafabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacachdhhhphqhrhshdacacabababaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafaiaiafafafafbGbGewewbGafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababacacacacacacacacacacacacacacacacababafbGbGbGafhohohohohohogXgYhahohohobGbGbGafababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacachthuhvachwhdhdhdhxhdhdhdacacabababaaaaaaaaaaaaaaaaaaaaaaaaafafafafafaiaiafafafafbGbGewewbGafafafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababacacacacacacacacacacacacacacacacacabafbGbGafhohohohohohohogXgYhahobGbGbGbGbGafafabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacachyhvhzachwhAhBhwhChwafafabacabababaaaaaaaaaaaaaaaaaaaaaaafafafafafafaiaiafafafafafbGewewbGbGafafafafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababacacacacacacacacaeacacacacacacacacababafbGafhohohohohohohohDgYhabGbGbGbGbGbGbGafabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacachtdQachwhEhFhGhChwbGafafababababaaaaaaaaaaaaaaaaaaaaafafafafafafafaiaiafafafafafbGewewbGbGbGbGafafafafafaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 0de55b127be..97b8e8ae283 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -23,6 +23,9 @@ #define SOUTH_WEST 128 /proc/calculate_adjacencies(atom/A) + if(!A.loc) + return 0 + var/adjacencies = 0 if(A.can_be_unanchored) @@ -45,6 +48,8 @@ return adjacencies /proc/smooth_icon(atom/A) + if(qdeleted(A)) + return spawn(0) //don't remove this, otherwise smoothing breaks if(A && A.smooth) var/adjacencies = calculate_adjacencies(A) @@ -61,7 +66,6 @@ A.overlays += A.bottom_right_corner A.overlays += A.bottom_left_corner - /proc/make_nw_corner(adjacencies) var/sdir = "i" if((adjacencies & NORTH) && (adjacencies & WEST)) diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index 7ca5f4dd2df..e2bfe2bd922 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -1,12 +1,25 @@ /obj/structure/lattice name = "lattice" desc = "A lightweight support lattice. These hold our station together." - icon = 'icons/obj/structures.dmi' - icon_state = "latticefull" + icon = 'icons/obj/smooth_structures/lattice.dmi' + icon_state = "lattice" density = 0 anchored = 1 layer = 2.3 //under pipes var/obj/item/stack/rods/stored + canSmoothWith = list(/obj/structure/lattice, + /obj/structure/lattice/catwalk, + /turf/simulated/floor/plating, + /turf/simulated/floor/plating/airless, + /turf/simulated/wall, + /turf/simulated/wall/r_wall, + /turf/simulated/floor/plasteel, + /turf/simulated/floor/plasteel/airless, + /obj/structure/falsewall, + /obj/structure/falsewall/reinforced, + /turf/simulated/wall/rust, + /turf/simulated/wall/r_wall/rust) + smooth = 1 // flags = CONDUCT /obj/structure/lattice/New() @@ -17,21 +30,6 @@ if(LAT != src) qdel(LAT) stored = new/obj/item/stack/rods(src) - icon = 'icons/obj/smoothlattice.dmi' - updateOverlays() - for (var/dir in cardinal) - var/obj/structure/lattice/L - if(locate(/obj/structure/lattice, get_step(src, dir))) - L = locate(/obj/structure/lattice, get_step(src, dir)) - L.updateOverlays() - -/obj/structure/lattice/Destroy() - for (var/dir in cardinal) - var/obj/structure/lattice/L - if(locate(/obj/structure/lattice, get_step(src, dir))) - L = locate(/obj/structure/lattice, get_step(src, dir)) - L.updateOverlays(src.loc) - return ..() /obj/structure/lattice/blob_act() qdel(src) @@ -63,27 +61,9 @@ Deconstruct() return -/obj/structure/lattice/proc/updateOverlays() - //if(!(istype(src.loc, /turf/space))) - // qdel(src) - overlays.Cut() - - var/dir_sum = 0 - - for (var/direction in cardinal) - if(locate(/obj/structure/lattice, get_step(src, direction))) - dir_sum += direction - else - if(!(istype(get_step(src, direction), /turf/space))) - dir_sum += direction - - icon_state = "[name][dir_sum]" - return - /obj/structure/lattice/Deconstruct() var/turf/T = loc stored.loc = T - updateOverlays() ..() /obj/structure/lattice/singularity_pull(S, current_size) @@ -93,7 +73,9 @@ /obj/structure/lattice/catwalk name = "catwalk" desc = "A catwalk for easier EVA manuevering and cable placement." - icon_state = "catwalkfull" + icon = 'icons/obj/smooth_structures/catwalk.dmi' + icon_state = "catwalk" + canSmoothWith = null /obj/structure/lattice/catwalk/Move() var/turf/T = loc @@ -113,15 +95,3 @@ var/turf/T = get_turf(src) T.attackby(C, user) //catwalks 'enable' coil laying on space tiles, not the catwalks themselves return - -/obj/structure/lattice/catwalk/updateOverlays() - overlays.Cut() - - var/dir_sum = 0 - - for (var/direction in cardinal) - if(locate(/obj/structure/lattice/catwalk, get_step(src, direction))) //so we only blend with other catwalks - dir_sum += direction - - icon_state = "[name][dir_sum]" - return \ No newline at end of file diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 135d7e750a4..f781d4e3501 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -22,7 +22,7 @@ /turf/simulated/wall, /turf/simulated/wall/r_wall, /obj/structure/falsewall, - /obj/structure/falsewall/reinforced, // WHY DO WE SMOOTH WITH FALSE R-WALLS WHEN WE DON'T SMOOTH WITH REAL R-WALLS. + /obj/structure/falsewall/reinforced, /turf/simulated/wall/rust, /turf/simulated/wall/r_wall/rust) smooth = 1 diff --git a/icons/obj/smooth_structures/catwalk.dmi b/icons/obj/smooth_structures/catwalk.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d803dd7173679eae267a5d027a48075757328cd8 GIT binary patch literal 2319 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 Date: Wed, 23 Sep 2015 00:55:10 +0100 Subject: [PATCH 2/2] Added another mode for smoothing (smooth with all subtypes). --- code/__HELPERS/icon_smoothing.dm | 59 ++++++++++--------- code/game/objects/effects/aliens.dm | 2 +- code/game/objects/structures/false_walls.dm | 8 +-- code/game/objects/structures/lattice.dm | 15 ++--- .../stool_bed_chair_nest/alien_nests.dm | 2 +- code/game/objects/structures/tables_racks.dm | 2 +- code/game/objects/structures/window.dm | 8 +-- .../game/turfs/simulated/floor/fancy_floor.dm | 2 +- code/game/turfs/simulated/walls.dm | 2 +- code/game/turfs/simulated/walls_mineral.dm | 2 +- code/game/turfs/simulated/walls_misc.dm | 2 +- code/game/turfs/simulated/walls_reinforced.dm | 6 +- code/game/turfs/turf.dm | 3 +- 13 files changed, 54 insertions(+), 59 deletions(-) diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 97b8e8ae283..09c6c4e1973 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -1,10 +1,26 @@ -/atom/var/smooth = 0 +//Redefinitions of the diagonal directions so they can be stored in one var without conflicts +#define NORTH_EAST 16 +#define NORTH_WEST 32 +#define SOUTH_EAST 64 +#define SOUTH_WEST 128 + +#define SMOOTH_FALSE 0 //not smooth +#define SMOOTH_TRUE 1 //smooths with exact specified types or just itself +#define SMOOTH_MORE 2 //smooths with all subtypes of specified types or just itself + +/atom/var/smooth = SMOOTH_FALSE /atom/var/top_left_corner /atom/var/top_right_corner /atom/var/bottom_left_corner /atom/var/bottom_right_corner /atom/var/can_be_unanchored = 0 -/atom/var/list/canSmoothWith=list() // TYPE PATHS I CAN SMOOTH WITH~~~~~ +/atom/var/list/canSmoothWith = null // TYPE PATHS I CAN SMOOTH WITH~~~~~ If this is null and atom is smooth, it smooths only with itself + +/atom/proc/clear_smooth_overlays() + overlays -= top_left_corner + overlays -= top_right_corner + overlays -= bottom_right_corner + overlays -= bottom_left_corner //generic (by snowflake) tile smoothing code; smooth your icons with this! /* @@ -16,12 +32,6 @@ Each atom has its own icon file with all the possible corner states. See 'smooth_wall.dmi' for a template. */ -//Redefinitions of the diagonal directions so they can be stored in one var without conflicts -#define NORTH_EAST 16 -#define NORTH_WEST 32 -#define SOUTH_EAST 64 -#define SOUTH_WEST 128 - /proc/calculate_adjacencies(atom/A) if(!A.loc) return 0 @@ -54,7 +64,7 @@ if(A && A.smooth) var/adjacencies = calculate_adjacencies(A) - clear_overlays(A) + A.clear_smooth_overlays() A.top_left_corner = make_nw_corner(adjacencies) A.top_right_corner = make_ne_corner(adjacencies) @@ -78,8 +88,6 @@ sdir = "n" else if(adjacencies & WEST) sdir = "w" - else - sdir = "i" return "1-[sdir]" /proc/make_ne_corner(adjacencies) @@ -94,8 +102,6 @@ sdir = "n" else if(adjacencies & EAST) sdir = "e" - else - sdir = "i" return "2-[sdir]" /proc/make_sw_corner(adjacencies) @@ -110,8 +116,6 @@ sdir = "s" else if(adjacencies & WEST) sdir = "w" - else - sdir = "i" return "3-[sdir]" /proc/make_se_corner(adjacencies) @@ -127,8 +131,6 @@ else if(adjacencies & EAST) sdir = "e" - else - sdir = "i" return "4-[sdir]" /proc/smooth_icon_neighbors(atom/A) @@ -153,14 +155,21 @@ var/turf/target_turf = locate(source.x + x_offset, source.y + y_offset, source.z) if(source.canSmoothWith) var/atom/A - for(var/a_type in source.canSmoothWith) - if(ispath(a_type, /turf)) - if(a_type == target_turf.type) + if(source.smooth == SMOOTH_MORE) + for(var/a_type in source.canSmoothWith) + if( istype(target_turf, a_type) ) return target_turf - else A = locate(a_type) in target_turf - if(A && A.type == a_type) + if(A) return A + return null + + for(var/a_type in source.canSmoothWith) + if(a_type == target_turf.type) + return target_turf + A = locate(a_type) in target_turf + if(A && A.type == a_type) + return A return null else if(isturf(source)) @@ -168,12 +177,6 @@ var/atom/A = locate(source.type) in target_turf return A && A.type == source.type ? A : null -/proc/clear_overlays(atom/A) - A.overlays -= A.top_left_corner - A.overlays -= A.top_right_corner - A.overlays -= A.bottom_right_corner - A.overlays -= A.bottom_left_corner - /proc/transform_dir(direction) switch(direction) if(NORTH,SOUTH,EAST,WEST) diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index bcc7684a474..bba12958987 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -29,7 +29,7 @@ canSmoothWith = list(/obj/structure/alien/resin) var/health = 200 var/resintype = null - smooth = 1 + smooth = SMOOTH_TRUE /obj/structure/alien/resin/New(location) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index a18944a8a08..572e5b47c96 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -19,7 +19,7 @@ /obj/structure/falsewall/reinforced, // WHY DO WE SMOOTH WITH FALSE R-WALLS WHEN WE DON'T SMOOTH WITH REAL R-WALLS. /turf/simulated/wall/rust, /turf/simulated/wall/r_wall/rust) - smooth = 1 + smooth = SMOOTH_TRUE can_be_unanchored = 0 /obj/structure/falsewall/attack_hand(mob/user) @@ -49,15 +49,15 @@ /obj/structure/falsewall/proc/do_the_flick() if(density) - smooth = 0 - clear_overlays(src) + smooth = SMOOTH_FALSE + clear_smooth_overlays() icon_state = "fwall_opening" else icon_state = "fwall_closing" /obj/structure/falsewall/update_icon()//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open if(density) - smooth = 1 + smooth = SMOOTH_TRUE smooth_icon(src) icon_state = "" else diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index e2bfe2bd922..88df0be7753 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -8,18 +8,10 @@ layer = 2.3 //under pipes var/obj/item/stack/rods/stored canSmoothWith = list(/obj/structure/lattice, - /obj/structure/lattice/catwalk, - /turf/simulated/floor/plating, - /turf/simulated/floor/plating/airless, + /turf/simulated/floor, /turf/simulated/wall, - /turf/simulated/wall/r_wall, - /turf/simulated/floor/plasteel, - /turf/simulated/floor/plasteel/airless, - /obj/structure/falsewall, - /obj/structure/falsewall/reinforced, - /turf/simulated/wall/rust, - /turf/simulated/wall/r_wall/rust) - smooth = 1 + /obj/structure/falsewall) + smooth = SMOOTH_MORE // flags = CONDUCT /obj/structure/lattice/New() @@ -75,6 +67,7 @@ desc = "A catwalk for easier EVA manuevering and cable placement." icon = 'icons/obj/smooth_structures/catwalk.dmi' icon_state = "catwalk" + smooth = SMOOTH_TRUE canSmoothWith = null /obj/structure/lattice/catwalk/Move() diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm index 1f83bdc4ae5..6b162073478 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm @@ -6,7 +6,7 @@ icon = 'icons/obj/smooth_structures/alien/nest.dmi' icon_state = "nest" var/health = 100 - smooth = 1 + smooth = SMOOTH_TRUE can_be_unanchored = 0 canSmoothWith = null var/image/nest_overlay diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index db2b2cec8ea..0323a0af322 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -28,7 +28,7 @@ var/buildstackamount = 1 var/framestackamount = 2 var/mob/tableclimber - smooth = 1 + smooth = SMOOTH_TRUE canSmoothWith = list(/obj/structure/table, /obj/structure/table/reinforced) /obj/structure/table/New() diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 89f53865e2d..6fe9029ffe5 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -441,7 +441,7 @@ dir = 5 maxhealth = 50 fulltile = 1 - smooth = 1 + smooth = SMOOTH_TRUE canSmoothWith = list(/obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile) /obj/structure/window/reinforced/fulltile @@ -450,7 +450,7 @@ dir = 5 maxhealth = 100 fulltile = 1 - smooth = 1 + smooth = SMOOTH_TRUE canSmoothWith = list(/obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile) /obj/structure/window/reinforced/tinted/fulltile @@ -458,7 +458,7 @@ icon_state = "tinted_window" dir = 5 fulltile = 1 - smooth = 1 + smooth = SMOOTH_TRUE canSmoothWith = list(/obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile) /obj/structure/window/shuttle @@ -471,6 +471,6 @@ wtype = "shuttle" fulltile = 1 reinf = 1 - smooth = 1 + smooth = SMOOTH_TRUE canSmoothWith = null explosion_block = 1 diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm index 05a0c9d9c51..4957b569f29 100644 --- a/code/game/turfs/simulated/floor/fancy_floor.dm +++ b/code/game/turfs/simulated/floor/fancy_floor.dm @@ -47,7 +47,7 @@ icon_state = "carpet" floor_tile = /obj/item/stack/tile/carpet broken_states = list("damaged") - smooth = 1 + smooth = SMOOTH_TRUE canSmoothWith = null /turf/simulated/floor/carpet/New() diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index f781d4e3501..660affca6bf 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -25,7 +25,7 @@ /obj/structure/falsewall/reinforced, /turf/simulated/wall/rust, /turf/simulated/wall/r_wall/rust) - smooth = 1 + smooth = SMOOTH_TRUE /turf/simulated/wall/New() ..() diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm index a63fc834bff..b072b44a757 100644 --- a/code/game/turfs/simulated/walls_mineral.dm +++ b/code/game/turfs/simulated/walls_mineral.dm @@ -4,8 +4,8 @@ icon_state = "" var/last_event = 0 var/active = null - smooth = 1 canSmoothWith = null + smooth = SMOOTH_TRUE /turf/simulated/wall/mineral/New() sheet_type = text2path("/obj/item/stack/sheet/mineral/[mineral]") diff --git a/code/game/turfs/simulated/walls_misc.dm b/code/game/turfs/simulated/walls_misc.dm index 0e87a2adf62..85e46a81449 100644 --- a/code/game/turfs/simulated/walls_misc.dm +++ b/code/game/turfs/simulated/walls_misc.dm @@ -45,7 +45,7 @@ icon = 'icons/turf/shuttle.dmi' icon_state = "wall1" walltype = "shuttle" - smooth = 0 + smooth = SMOOTH_FALSE //sub-type to be used for interior shuttle walls //won't get an underlay of the destination turf on shuttle move diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index 4f3cef263cb..0a38bd12535 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -215,10 +215,10 @@ /turf/simulated/wall/r_wall/proc/update_icon() if(d_state) icon_state = "r_wall-[d_state]" - smooth = 0 - clear_overlays(src) + smooth = SMOOTH_FALSE + clear_smooth_overlays() else - smooth = 1 + smooth = SMOOTH_TRUE icon_state = "" /turf/simulated/wall/r_wall/singularity_pull(S, current_size) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index f3d04c5626b..b12a917fb19 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -317,8 +317,7 @@ /turf/indestructible/riveted/uranium icon = 'icons/turf/walls/uranium_wall.dmi' icon_state = "uranium" - smooth = 1 - canSmoothWith = null + smooth = SMOOTH_TRUE /turf/indestructible/abductor icon_state = "alien1"