summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorautocommitter <autocommitter@linux-forks.de>2024-04-22 14:51:45 +0200
committerautocommitter <autocommitter@linux-forks.de>2024-04-22 14:51:45 +0200
commit0b14726c5539782a60d2f4beaed2cfca74a50f7a (patch)
tree1de6e16c565f7bb9806552fc587d7eac870b6b00
downloadluaatc_envs-0b14726c5539782a60d2f4beaed2cfca74a50f7a.tar.gz
luaatc_envs-0b14726c5539782a60d2f4beaed2cfca74a50f7a.tar.bz2
luaatc_envs-0b14726c5539782a60d2f4beaed2cfca74a50f7a.zip
State at 2019-12-13
-rw-r--r--Crossroads/init_code.lua224
-rw-r--r--Crossroads/nodes/(-5710,2,-3917).lua14
-rw-r--r--Crossroads/nodes/(1083,19,3028).lua5
-rw-r--r--Crossroads/nodes/(1167,8,1013).lua5
-rw-r--r--Crossroads/nodes/(1219,9,1549).lua1
-rw-r--r--Crossroads/nodes/(1223,12,1555).lua5
-rw-r--r--Crossroads/nodes/(1224,12,1555).lua1
-rw-r--r--Crossroads/nodes/(1227,12,1541).lua1
-rw-r--r--Crossroads/nodes/(1228,12,1541).lua5
-rw-r--r--Crossroads/nodes/(1232,9,1547).lua1
-rw-r--r--Crossroads/nodes/(1288,9,1545).lua4
-rw-r--r--Crossroads/nodes/(1350,11,1371).lua1
-rw-r--r--Crossroads/nodes/(1352,11,1389).lua1
-rw-r--r--Crossroads/nodes/(1359,11,1380).lua1
-rw-r--r--Crossroads/nodes/(1388,-9,1321).lua1
-rw-r--r--Crossroads/nodes/(1388,-9,1352).lua1
-rw-r--r--Crossroads/nodes/(1388,-9,1373).lua1
-rw-r--r--Crossroads/nodes/(1393,19,1619).lua1
-rw-r--r--Crossroads/nodes/(1393,19,1709).lua1
-rw-r--r--Crossroads/nodes/(1393,19,1820).lua1
-rw-r--r--Crossroads/nodes/(1393,4,1965).lua1
-rw-r--r--Crossroads/nodes/(1393,8,1489).lua1
-rw-r--r--Crossroads/nodes/(1397,19,1630).lua1
-rw-r--r--Crossroads/nodes/(1397,19,1720).lua1
-rw-r--r--Crossroads/nodes/(1397,4,1977).lua1
-rw-r--r--Crossroads/nodes/(1397,8,1501).lua1
-rw-r--r--Crossroads/nodes/(1400,21,819).lua1
-rw-r--r--Crossroads/nodes/(1402,19,1820).lua1
-rw-r--r--Crossroads/nodes/(1419,26,819).lua1
-rw-r--r--Crossroads/nodes/(1601,5,1992).lua9
-rw-r--r--Crossroads/nodes/(1673,20,985).lua1
-rw-r--r--Crossroads/nodes/(1682,20,971).lua1
-rw-r--r--Crossroads/nodes/(1702,12,914).lua1
-rw-r--r--Crossroads/nodes/(1709,17,914).lua1
-rw-r--r--Crossroads/nodes/(1714,26,1007).lua3
-rw-r--r--Crossroads/nodes/(1720,15,995).lua4
-rw-r--r--Crossroads/nodes/(1746,12,914).lua1
-rw-r--r--Crossroads/nodes/(1746,17,987).lua1
-rw-r--r--Crossroads/nodes/(1753,12,988).lua1
-rw-r--r--Crossroads/nodes/(1753,17,917).lua1
-rw-r--r--Crossroads/nodes/(1755,27,942).lua5
-rw-r--r--Crossroads/nodes/(1755,27,943).lua57
-rw-r--r--Crossroads/nodes/(1767,27,946).lua2
-rw-r--r--Crossroads/nodes/(1773,5,994).lua1
-rw-r--r--Crossroads/nodes/(1790,5,1020).lua1
-rw-r--r--Crossroads/nodes/(1795,5,1000).lua5
-rw-r--r--Crossroads/nodes/(1796,25,1011).lua1
-rw-r--r--Crossroads/nodes/(1796,25,1019).lua1
-rw-r--r--Crossroads/nodes/(1801,5,1008).lua5
-rw-r--r--Crossroads/nodes/(2009,4,993).lua1
-rw-r--r--Crossroads/nodes/(2022,4,993).lua1
-rw-r--r--Crossroads/nodes/(2254,4,991).lua1
-rw-r--r--Crossroads/nodes/(2254,4,997).lua1
-rw-r--r--Crossroads/nodes/(544,11,2152).lua9
-rw-r--r--Crossroads/nodes/(851,14,773).lua12
-rw-r--r--Crossroads/nodes/(852,12,710).lua6
-rw-r--r--Crossroads/nodes/(861,12,725).lua6
-rw-r--r--Crossroads/nodes/(864,14,793).lua11
-rw-r--r--Crossroads/nodes/(867,14,776).lua12
-rw-r--r--Crossroads/nodes/(880,14,789).lua1
-rw-r--r--Crossroads/nodes/(881,6,886).lua6
-rw-r--r--Crossroads/nodes/(898,14,835).lua6
-rw-r--r--X_Nihilo/init_code.lua0
-rw-r--r--X_Nihilo/nodes/(2225,-36,5931).lua26
-rw-r--r--X_Nihilo/nodes/(2225,-36,6144).lua26
-rw-r--r--durt/init_code.lua1
-rw-r--r--durt/nodes/(-131,2,-2018).lua1
-rw-r--r--durt/nodes/(-149,8,-2209).lua1
-rw-r--r--durt/nodes/(-151,8,-2196).lua1
-rw-r--r--durt/nodes/(-168,7,-2053).lua1
-rw-r--r--durt/nodes/(-170,7,-2040).lua1
-rw-r--r--durt/nodes/(-1728,10,-1823).lua2
-rw-r--r--durt/nodes/(-20,8,-2319).lua1
-rw-r--r--durt/nodes/(-2227,8,290).lua3
-rw-r--r--durt/nodes/(-2227,8,292).lua75
-rw-r--r--durt/nodes/(-35,8,-2323).lua1
-rw-r--r--durt/nodes/(-73,2,-1984).lua2
-rw-r--r--durt/nodes/(139,8,-2054).lua1
-rw-r--r--durt/nodes/(151,8,-2046).lua1
-rw-r--r--durt/nodes/(258,2,-2054).lua1
-rw-r--r--durt/nodes/(273,2,-2046).lua1
-rw-r--r--durt/nodes/(363,-3,-2026).lua1
-rw-r--r--durt/nodes/(377,-3,-2018).lua1
-rw-r--r--durt/nodes/(501,-3,-2026).lua1
-rw-r--r--durt/nodes/(515,-3,-2018).lua1
-rw-r--r--durt/nodes/(519,-3,-1944).lua1
-rw-r--r--durt/nodes/(523,-3,-1936).lua1
-rw-r--r--durt/nodes/(523,-3,-1942).lua1
-rw-r--r--durt/nodes/(525,-3,-1940).lua1
-rw-r--r--durt/nodes/(527,-3,-1959).lua11
-rw-r--r--durt/nodes/(529,-3,-1954).lua11
-rw-r--r--durt/nodes/(596,-3,-1963).lua1
-rw-r--r--durt/nodes/(608,-3,-1957).lua1
-rw-r--r--durt/nodes/(686,-3,-1961).lua1
-rw-r--r--durt/nodes/(698,-3,-1959).lua1
-rw-r--r--durt/nodes/(74,8,-2124).lua1
-rw-r--r--durt/nodes/(74,8,-2297).lua1
-rw-r--r--durt/nodes/(770,6,-1938).lua1
-rw-r--r--durt/nodes/(78,8,-2139).lua1
-rw-r--r--durt/nodes/(78,8,-2312).lua1
-rw-r--r--durt/nodes/(782,6,-1930).lua1
-rw-r--r--durt/nodes/(839,6,-1864).lua1
-rw-r--r--il_timetable/init_code.lua38
-rw-r--r--il_timetable/nodes/(-4248,20,-3104).lua1
-rw-r--r--il_timetable/nodes/(-4248,20,-3107).lua1
-rw-r--r--il_timetable/nodes/(-5301,31,-3188).lua1
-rw-r--r--il_timetable/nodes/(-5595,6,-3553).lua1
-rw-r--r--il_timetable/nodes/(-617,14,-411).lua4
-rw-r--r--il_timetable/nodes/(-626,14,-423).lua3
-rw-r--r--il_timetable/nodes/(-628,14,-399).lua2
-rw-r--r--il_timetable/nodes/(-631,14,-404).lua4
-rw-r--r--il_timetable/nodes/(-863,14,-492).lua9
-rw-r--r--il_timetable/nodes/(118,16,-98).lua3
-rw-r--r--il_timetable/nodes/(1732,27,2924).lua1
-rw-r--r--il_timetable/nodes/(1734,26,2921).lua5
-rw-r--r--il_timetable/nodes/(1735,15,2947).lua7
-rw-r--r--il_timetable/nodes/(241,13,-2039).lua1
-rw-r--r--il_timetable/nodes/(273,13,-2051).lua2
-rw-r--r--il_timetable/nodes/(957,14,1047).lua4
-rw-r--r--il_timetable/nodes/(962,15,1041).lua2
-rw-r--r--il_timetable/nodes/(969,14,1049).lua4
-rw-r--r--il_timetable/nodes/(972,14,1053).lua4
-rw-r--r--nlvcross/init_code.lua51
-rw-r--r--nlvcross/nodes/(-145,8,-734).lua1
-rw-r--r--nlvcross/nodes/(-149,8,-2161).lua1
-rw-r--r--nlvcross/nodes/(-151,8,-2127).lua1
-rw-r--r--nlvcross/nodes/(-151,8,-2194).lua1
-rw-r--r--nlvcross/nodes/(-156,7,-2092).lua1
-rw-r--r--nlvcross/nodes/(-159,8,-1995).lua1
-rw-r--r--nlvcross/nodes/(-181,8,-818).lua1
-rw-r--r--nlvcross/nodes/(-229,6,-827).lua1
-rw-r--r--nlvcross/nodes/(-257,19,-339).lua1
-rw-r--r--nlvcross/nodes/(-318,6,-830).lua1
-rw-r--r--nlvcross/nodes/(-333,19,-342).lua1
-rw-r--r--nlvcross/nodes/(-359,19,-325).lua2
-rw-r--r--nlvcross/nodes/(-435,20,-328).lua2
-rw-r--r--nlvcross/nodes/(-4955,6,-3553).lua1
-rw-r--r--nlvcross/nodes/(-526,20,-325).lua1
-rw-r--r--nlvcross/nodes/(-577,16,-328).lua1
-rw-r--r--nlvcross/nodes/(-602,14,-560).lua1
-rw-r--r--nlvcross/nodes/(-6037,3,-3552).lua1
-rw-r--r--nlvcross/nodes/(-621,14,-551).lua1
-rw-r--r--nlvcross/nodes/(-640,14,-511).lua1
-rw-r--r--nlvcross/nodes/(-640,14,-542).lua1
-rw-r--r--nlvcross/nodes/(-652,14,-553).lua2
-rw-r--r--nlvcross/nodes/(-692,14,-551).lua2
-rw-r--r--nlvcross/nodes/(-740,8,-712).lua1
-rw-r--r--nlvcross/nodes/(-740,8,-715).lua1
-rw-r--r--nlvcross/nodes/(-821,8,-712).lua1
-rw-r--r--nlvcross/nodes/(-821,8,-715).lua1
-rw-r--r--nlvcross/nodes/(-860,14,-551).lua1
-rw-r--r--nlvcross/nodes/(-861,8,-712).lua1
-rw-r--r--nlvcross/nodes/(-861,8,-715).lua1
-rw-r--r--nlvcross/nodes/(-878,11,-555).lua1
-rw-r--r--nlvcross/nodes/(-88,2,-1984).lua1
-rw-r--r--nlvcross/nodes/(1045,11,2991).lua1
-rw-r--r--nlvcross/nodes/(105,16,-75).lua15
-rw-r--r--nlvcross/nodes/(1057,11,2991).lua1
-rw-r--r--nlvcross/nodes/(1088,11,2991).lua1
-rw-r--r--nlvcross/nodes/(110,20,-77).lua3
-rw-r--r--nlvcross/nodes/(1106,19,2897).lua1
-rw-r--r--nlvcross/nodes/(1106,19,3000).lua1
-rw-r--r--nlvcross/nodes/(1109,16,2771).lua1
-rw-r--r--nlvcross/nodes/(1109,19,2928).lua1
-rw-r--r--nlvcross/nodes/(153,8,-2046).lua1
-rw-r--r--nlvcross/nodes/(1801,8,-43).lua15
-rw-r--r--nlvcross/nodes/(205,8,-2052).lua1
-rw-r--r--nlvcross/nodes/(219,8,-2048).lua3
-rw-r--r--nlvcross/nodes/(256,2,-2054).lua1
-rw-r--r--nlvcross/nodes/(544,8,-1331).lua1
-rw-r--r--nlvcross/nodes/(544,8,-1470).lua1
-rw-r--r--nlvcross/nodes/(544,8,-1546).lua1
-rw-r--r--nlvcross/nodes/(544,8,-1681).lua3
-rw-r--r--nlvcross/nodes/(544,8,-1690).lua2
-rw-r--r--nlvcross/nodes/(547,8,-1327).lua1
-rw-r--r--nlvcross/nodes/(547,8,-1470).lua1
-rw-r--r--nlvcross/nodes/(547,8,-1546).lua1
-rw-r--r--nlvcross/nodes/(547,8,-1681).lua3
-rw-r--r--nlvcross/nodes/(547,8,-1690).lua1
-rw-r--r--nlvcross/nodes/(572,14,1011).lua3
-rw-r--r--nlvcross/nodes/(613,14,1011).lua3
-rw-r--r--nlvcross/nodes/(633,11,-23).lua2
-rw-r--r--nlvcross/nodes/(664,14,1013).lua1
-rw-r--r--nlvcross/nodes/(664,14,1014).lua1
-rw-r--r--nlvcross/nodes/(668,14,1011).lua5
-rw-r--r--nlvcross/nodes/(702,14,1011).lua1
-rw-r--r--nlvcross/nodes/(704,12,-42).lua1
-rw-r--r--nlvcross/nodes/(738,14,1013).lua1
-rw-r--r--nlvcross/nodes/(803,14,1014).lua1
-rw-r--r--nlvcross/nodes/(999,11,2991).lua1
-rw-r--r--ocean_city/init_code.lua19
-rw-r--r--subway/init_code.lua363
-rw-r--r--subway/nodes/(-1009,103,-428).lua15
-rw-r--r--subway/nodes/(-1011,103,-435).lua15
-rw-r--r--subway/nodes/(-1012,10,-463).lua1
-rw-r--r--subway/nodes/(-1018,59,-655).lua15
-rw-r--r--subway/nodes/(-1020,59,-659).lua14
-rw-r--r--subway/nodes/(-1023,12,-701).lua13
-rw-r--r--subway/nodes/(-1025,10,226).lua2
-rw-r--r--subway/nodes/(-1030,10,-453).lua6
-rw-r--r--subway/nodes/(-1031,12,-699).lua15
-rw-r--r--subway/nodes/(-1037,6,-487).lua6
-rw-r--r--subway/nodes/(-1045,46,-655).lua9
-rw-r--r--subway/nodes/(-1051,75,-570).lua15
-rw-r--r--subway/nodes/(-1053,51,-646).lua15
-rw-r--r--subway/nodes/(-1053,75,-583).lua14
-rw-r--r--subway/nodes/(-1053,75,-587).lua14
-rw-r--r--subway/nodes/(-1059,51,-644).lua14
-rw-r--r--subway/nodes/(-1063,88,-477).lua15
-rw-r--r--subway/nodes/(-1065,4,-504).lua6
-rw-r--r--subway/nodes/(-1069,88,-475).lua14
-rw-r--r--subway/nodes/(-1070,21,8).lua1
-rw-r--r--subway/nodes/(-1072,51,-638).lua10
-rw-r--r--subway/nodes/(-1073,21,-4).lua1
-rw-r--r--subway/nodes/(-1073,21,102).lua1
-rw-r--r--subway/nodes/(-1077,4,-502).lua8
-rw-r--r--subway/nodes/(-1078,31,-623).lua15
-rw-r--r--subway/nodes/(-1078,31,-640).lua4
-rw-r--r--subway/nodes/(-1080,31,-623).lua14
-rw-r--r--subway/nodes/(-1080,31,-640).lua4
-rw-r--r--subway/nodes/(-1088,16,-221).lua1
-rw-r--r--subway/nodes/(-1090,16,-233).lua1
-rw-r--r--subway/nodes/(-1094,11,-710).lua1
-rw-r--r--subway/nodes/(-113,16,-472).lua2
-rw-r--r--subway/nodes/(-116,16,-470).lua1
-rw-r--r--subway/nodes/(-1197,-3,700).lua4
-rw-r--r--subway/nodes/(-12,17,-950).lua1
-rw-r--r--subway/nodes/(-1209,-3,707).lua1
-rw-r--r--subway/nodes/(-121,16,-472).lua1
-rw-r--r--subway/nodes/(-1238,17,-469).lua4
-rw-r--r--subway/nodes/(-1243,-3,702).lua6
-rw-r--r--subway/nodes/(-1249,20,-207).lua1
-rw-r--r--subway/nodes/(-125,3,-283).lua1
-rw-r--r--subway/nodes/(-1251,17,-463).lua1
-rw-r--r--subway/nodes/(-128,3,-295).lua1
-rw-r--r--subway/nodes/(-13,-2,-6).lua4
-rw-r--r--subway/nodes/(-13,20,-76).lua2
-rw-r--r--subway/nodes/(-13,20,43).lua1
-rw-r--r--subway/nodes/(-1301,20,-207).lua2
-rw-r--r--subway/nodes/(-1311,20,-203).lua3
-rw-r--r--subway/nodes/(-1327,5,-532).lua2
-rw-r--r--subway/nodes/(-1364,20,-207).lua8
-rw-r--r--subway/nodes/(-1377,20,-203).lua10
-rw-r--r--subway/nodes/(-1392,13,-321).lua1
-rw-r--r--subway/nodes/(-1397,-4,692).lua1
-rw-r--r--subway/nodes/(-14,3,4).lua71
-rw-r--r--subway/nodes/(-1403,20,-189).lua5
-rw-r--r--subway/nodes/(-1407,20,-166).lua3
-rw-r--r--subway/nodes/(-1408,-4,695).lua1
-rw-r--r--subway/nodes/(-1415,19,-7).lua1
-rw-r--r--subway/nodes/(-1415,19,335).lua1
-rw-r--r--subway/nodes/(-1415,19,98).lua1
-rw-r--r--subway/nodes/(-1415,5,516).lua1
-rw-r--r--subway/nodes/(-1417,19,-19).lua1
-rw-r--r--subway/nodes/(-1417,5,481).lua2
-rw-r--r--subway/nodes/(-1420,5,502).lua7
-rw-r--r--subway/nodes/(-1422,19,85).lua1
-rw-r--r--subway/nodes/(-1423,19,323).lua1
-rw-r--r--subway/nodes/(-1425,5,723).lua1
-rw-r--r--subway/nodes/(-1427,5,712).lua1
-rw-r--r--subway/nodes/(-1473,5,-164).lua2
-rw-r--r--subway/nodes/(-1473,5,-169).lua1
-rw-r--r--subway/nodes/(-1478,3,1010).lua1
-rw-r--r--subway/nodes/(-1479,3,1178).lua8
-rw-r--r--subway/nodes/(-1481,3,1083).lua1
-rw-r--r--subway/nodes/(-1481,3,1175).lua2
-rw-r--r--subway/nodes/(-1481,3,1182).lua1
-rw-r--r--subway/nodes/(-1481,3,999).lua4
-rw-r--r--subway/nodes/(-1546,-1,689).lua1
-rw-r--r--subway/nodes/(-1559,-1,697).lua1
-rw-r--r--subway/nodes/(-1586,-1,685).lua2
-rw-r--r--subway/nodes/(-1606,2,595).lua2
-rw-r--r--subway/nodes/(-181,5,-1).lua1
-rw-r--r--subway/nodes/(-184,7,-906).lua2
-rw-r--r--subway/nodes/(-192,5,7).lua1
-rw-r--r--subway/nodes/(-23,7,-75).lua2
-rw-r--r--subway/nodes/(-232,8,-446).lua2
-rw-r--r--subway/nodes/(-234,9,-229).lua1
-rw-r--r--subway/nodes/(-24,-2,8).lua2
-rw-r--r--subway/nodes/(-246,9,-222).lua1
-rw-r--r--subway/nodes/(-250,8,-458).lua1
-rw-r--r--subway/nodes/(-252,16,-474).lua1
-rw-r--r--subway/nodes/(-253,5,-911).lua1
-rw-r--r--subway/nodes/(-26,9,-252).lua1
-rw-r--r--subway/nodes/(-262,9,-322).lua1
-rw-r--r--subway/nodes/(-265,5,-904).lua4
-rw-r--r--subway/nodes/(-29,3,-246).lua4
-rw-r--r--subway/nodes/(-29,3,-80).lua7
-rw-r--r--subway/nodes/(-294,5,1).lua1
-rw-r--r--subway/nodes/(-305,5,9).lua1
-rw-r--r--subway/nodes/(-308,5,6).lua4
-rw-r--r--subway/nodes/(-31,11,124).lua1
-rw-r--r--subway/nodes/(-31,3,-90).lua1
-rw-r--r--subway/nodes/(-318,-3,-834).lua2
-rw-r--r--subway/nodes/(-325,-3,-846).lua1
-rw-r--r--subway/nodes/(-359,10,-406).lua4
-rw-r--r--subway/nodes/(-364,-5,-786).lua1
-rw-r--r--subway/nodes/(-376,-5,-779).lua1
-rw-r--r--subway/nodes/(-376,13,-1476).lua1
-rw-r--r--subway/nodes/(-376,24,-1299).lua1
-rw-r--r--subway/nodes/(-378,24,-1311).lua1
-rw-r--r--subway/nodes/(-378,7,-1528).lua4
-rw-r--r--subway/nodes/(-38,9,-245).lua1
-rw-r--r--subway/nodes/(-393,3,358).lua1
-rw-r--r--subway/nodes/(-400,5,1).lua1
-rw-r--r--subway/nodes/(-403,3,237).lua2
-rw-r--r--subway/nodes/(-404,12,-105).lua6
-rw-r--r--subway/nodes/(-404,12,-77).lua5
-rw-r--r--subway/nodes/(-404,12,9).lua1
-rw-r--r--subway/nodes/(-408,12,-116).lua8
-rw-r--r--subway/nodes/(-408,12,-2).lua6
-rw-r--r--subway/nodes/(-409,-1,-792).lua4
-rw-r--r--subway/nodes/(-409,3,222).lua1
-rw-r--r--subway/nodes/(-412,5,6).lua1
-rw-r--r--subway/nodes/(-416,-1,-804).lua1
-rw-r--r--subway/nodes/(-416,8,-935).lua2
-rw-r--r--subway/nodes/(-419,24,-1178).lua1
-rw-r--r--subway/nodes/(-429,8,-501).lua1
-rw-r--r--subway/nodes/(-430,24,-1176).lua1
-rw-r--r--subway/nodes/(-433,9,-225).lua1
-rw-r--r--subway/nodes/(-433,9,-229).lua1
-rw-r--r--subway/nodes/(-433,9,-239).lua1
-rw-r--r--subway/nodes/(-436,-3,519).lua1
-rw-r--r--subway/nodes/(-441,8,-493).lua4
-rw-r--r--subway/nodes/(-445,9,-222).lua1
-rw-r--r--subway/nodes/(-445,9,-232).lua2
-rw-r--r--subway/nodes/(-448,-3,526).lua1
-rw-r--r--subway/nodes/(-49,7,200).lua2
-rw-r--r--subway/nodes/(-497,10,-408).lua9
-rw-r--r--subway/nodes/(-502,-5,-772).lua1
-rw-r--r--subway/nodes/(-519,4,-409).lua1
-rw-r--r--subway/nodes/(-519,4,-410).lua1
-rw-r--r--subway/nodes/(-520,10,-787).lua1
-rw-r--r--subway/nodes/(-522,5,0).lua1
-rw-r--r--subway/nodes/(-529,-5,-783).lua1
-rw-r--r--subway/nodes/(-529,-5,-797).lua1
-rw-r--r--subway/nodes/(-532,4,-420).lua1
-rw-r--r--subway/nodes/(-534,5,7).lua1
-rw-r--r--subway/nodes/(-543,-5,-772).lua3
-rw-r--r--subway/nodes/(-543,-5,-786).lua7
-rw-r--r--subway/nodes/(-546,9,-235).lua1
-rw-r--r--subway/nodes/(-546,9,-245).lua1
-rw-r--r--subway/nodes/(-546,9,-255).lua1
-rw-r--r--subway/nodes/(-548,8,-501).lua11
-rw-r--r--subway/nodes/(-548,8,-502).lua12
-rw-r--r--subway/nodes/(-554,1,-504).lua1
-rw-r--r--subway/nodes/(-558,9,-229).lua1
-rw-r--r--subway/nodes/(-558,9,-239).lua7
-rw-r--r--subway/nodes/(-558,9,-249).lua1
-rw-r--r--subway/nodes/(-560,8,-492).lua1
-rw-r--r--subway/nodes/(-560,8,-493).lua4
-rw-r--r--subway/nodes/(-567,1,-490).lua1
-rw-r--r--subway/nodes/(-58,20,5).lua2
-rw-r--r--subway/nodes/(-5833,2,-3881).lua1
-rw-r--r--subway/nodes/(-596,1,-595).lua1
-rw-r--r--subway/nodes/(-5972,-1,-3899).lua1
-rw-r--r--subway/nodes/(-6,25,43).lua1
-rw-r--r--subway/nodes/(-6,5,14).lua1
-rw-r--r--subway/nodes/(-600,10,-255).lua1
-rw-r--r--subway/nodes/(-602,1,-607).lua1
-rw-r--r--subway/nodes/(-602,10,-240).lua11
-rw-r--r--subway/nodes/(-611,10,-248).lua1
-rw-r--r--subway/nodes/(-612,10,-248).lua1
-rw-r--r--subway/nodes/(-617,14,-408).lua2
-rw-r--r--subway/nodes/(-623,5,1).lua1
-rw-r--r--subway/nodes/(-626,13,-1145).lua9
-rw-r--r--subway/nodes/(-628,13,-1159).lua1
-rw-r--r--subway/nodes/(-636,5,6).lua4
-rw-r--r--subway/nodes/(-637,18,-527).lua11
-rw-r--r--subway/nodes/(-642,1,-259).lua1
-rw-r--r--subway/nodes/(-645,14,-402).lua6
-rw-r--r--subway/nodes/(-648,5,-199).lua1
-rw-r--r--subway/nodes/(-648,5,-287).lua12
-rw-r--r--subway/nodes/(-648,5,-288).lua1
-rw-r--r--subway/nodes/(-648,5,-98).lua1
-rw-r--r--subway/nodes/(-651,5,-303).lua7
-rw-r--r--subway/nodes/(-652,14,-490).lua6
-rw-r--r--subway/nodes/(-653,14,-377).lua4
-rw-r--r--subway/nodes/(-654,18,-301).lua1
-rw-r--r--subway/nodes/(-654,5,-110).lua1
-rw-r--r--subway/nodes/(-654,5,-209).lua7
-rw-r--r--subway/nodes/(-654,5,-300).lua1
-rw-r--r--subway/nodes/(-654,5,-335).lua1
-rw-r--r--subway/nodes/(-655,14,-412).lua1
-rw-r--r--subway/nodes/(-655,14,-502).lua1
-rw-r--r--subway/nodes/(-655,5,-110).lua7
-rw-r--r--subway/nodes/(-658,8,-497).lua7
-rw-r--r--subway/nodes/(-659,5,-304).lua4
-rw-r--r--subway/nodes/(-662,13,-1085).lua1
-rw-r--r--subway/nodes/(-663,8,-517).lua1
-rw-r--r--subway/nodes/(-665,-2,-288).lua1
-rw-r--r--subway/nodes/(-665,8,-478).lua1
-rw-r--r--subway/nodes/(-666,18,-299).lua1
-rw-r--r--subway/nodes/(-671,8,-495).lua13
-rw-r--r--subway/nodes/(-675,-2,-280).lua1
-rw-r--r--subway/nodes/(-677,1,-257).lua1
-rw-r--r--subway/nodes/(-696,2,-1060).lua2
-rw-r--r--subway/nodes/(-696,8,-497).lua1
-rw-r--r--subway/nodes/(-700,7,-475).lua1
-rw-r--r--subway/nodes/(-702,9,-648).lua4
-rw-r--r--subway/nodes/(-703,4,-517).lua1
-rw-r--r--subway/nodes/(-709,2,-1058).lua1
-rw-r--r--subway/nodes/(-713,9,-646).lua1
-rw-r--r--subway/nodes/(-720,9,-326).lua8
-rw-r--r--subway/nodes/(-723,10,-375).lua1
-rw-r--r--subway/nodes/(-727,-2,-886).lua1
-rw-r--r--subway/nodes/(-729,-2,-764).lua1
-rw-r--r--subway/nodes/(-729,3,-757).lua7
-rw-r--r--subway/nodes/(-729,8,-435).lua1
-rw-r--r--subway/nodes/(-731,8,-448).lua1
-rw-r--r--subway/nodes/(-732,-2,-777).lua1
-rw-r--r--subway/nodes/(-732,3,-777).lua2
-rw-r--r--subway/nodes/(-734,-2,-898).lua1
-rw-r--r--subway/nodes/(-737,10,-386).lua1
-rw-r--r--subway/nodes/(-740,4,-475).lua1
-rw-r--r--subway/nodes/(-743,7,-381).lua0
-rw-r--r--subway/nodes/(-748,6,-387).lua6
-rw-r--r--subway/nodes/(-751,3,584).lua1
-rw-r--r--subway/nodes/(-753,3,572).lua1
-rw-r--r--subway/nodes/(-753,4,-508).lua4
-rw-r--r--subway/nodes/(-753,4,-529).lua3
-rw-r--r--subway/nodes/(-755,7,-499).lua6
-rw-r--r--subway/nodes/(-755,7,-511).lua1
-rw-r--r--subway/nodes/(-762,2,-287).lua1
-rw-r--r--subway/nodes/(-763,2,-299).lua1
-rw-r--r--subway/nodes/(-765,7,-491).lua2
-rw-r--r--subway/nodes/(-765,7,-503).lua2
-rw-r--r--subway/nodes/(-767,8,-282).lua2
-rw-r--r--subway/nodes/(-769,8,-294).lua2
-rw-r--r--subway/nodes/(-773,2,-289).lua1
-rw-r--r--subway/nodes/(-774,2,-277).lua1
-rw-r--r--subway/nodes/(-780,23,206).lua1
-rw-r--r--subway/nodes/(-782,23,194).lua1
-rw-r--r--subway/nodes/(-784,23,-143).lua1
-rw-r--r--subway/nodes/(-784,23,-38).lua1
-rw-r--r--subway/nodes/(-786,23,-157).lua1
-rw-r--r--subway/nodes/(-786,23,-52).lua1
-rw-r--r--subway/nodes/(-792,6,-382).lua8
-rw-r--r--subway/nodes/(-796,5,-601).lua1
-rw-r--r--subway/nodes/(-80,-2,136).lua1
-rw-r--r--subway/nodes/(-80,-2,56).lua1
-rw-r--r--subway/nodes/(-80,-2,92).lua2
-rw-r--r--subway/nodes/(-803,5,-611).lua8
-rw-r--r--subway/nodes/(-804,6,-380).lua2
-rw-r--r--subway/nodes/(-812,3,-216).lua1
-rw-r--r--subway/nodes/(-824,3,-209).lua1
-rw-r--r--subway/nodes/(-836,4,-698).lua1
-rw-r--r--subway/nodes/(-838,4,-708).lua1
-rw-r--r--subway/nodes/(-838,7,-310).lua1
-rw-r--r--subway/nodes/(-845,8,-497).lua1
-rw-r--r--subway/nodes/(-857,8,-495).lua1
-rw-r--r--subway/nodes/(-865,-9,701).lua1
-rw-r--r--subway/nodes/(-870,14,-517).lua1
-rw-r--r--subway/nodes/(-877,-9,708).lua1
-rw-r--r--subway/nodes/(-881,6,-301).lua1
-rw-r--r--subway/nodes/(-883,14,-494).lua3
-rw-r--r--subway/nodes/(-893,6,-293).lua1
-rw-r--r--subway/nodes/(-895,14,-491).lua3
-rw-r--r--subway/nodes/(-924,10,-396).lua1
-rw-r--r--subway/nodes/(-924,6,-396).lua1
-rw-r--r--subway/nodes/(-926,10,-408).lua1
-rw-r--r--subway/nodes/(-926,6,-407).lua1
-rw-r--r--subway/nodes/(-936,4,-583).lua1
-rw-r--r--subway/nodes/(-939,4,-607).lua8
-rw-r--r--subway/nodes/(-941,4,-612).lua13
-rw-r--r--subway/nodes/(-953,93,-392).lua1
-rw-r--r--subway/nodes/(-955,93,-392).lua3
-rw-r--r--subway/nodes/(-963,11,-186).lua1
-rw-r--r--subway/nodes/(-965,11,-199).lua1
-rw-r--r--subway/nodes/(-973,19,-321).lua1
-rw-r--r--subway/nodes/(-976,11,-109).lua1
-rw-r--r--subway/nodes/(-983,19,-319).lua1
-rw-r--r--subway/nodes/(-989,11,-107).lua1
-rw-r--r--subway/nodes/(10,0,-10).lua94
-rw-r--r--subway/nodes/(102,16,-74).lua3
-rw-r--r--subway/nodes/(104,8,-38).lua1
-rw-r--r--subway/nodes/(109,9,34).lua8
-rw-r--r--subway/nodes/(110,10,-298).lua1
-rw-r--r--subway/nodes/(110,10,-375).lua1
-rw-r--r--subway/nodes/(113,10,-290).lua1
-rw-r--r--subway/nodes/(113,10,-366).lua1
-rw-r--r--subway/nodes/(115,8,-47).lua1
-rw-r--r--subway/nodes/(119,11,-187).lua4
-rw-r--r--subway/nodes/(119,11,-190).lua1
-rw-r--r--subway/nodes/(121,9,26).lua1
-rw-r--r--subway/nodes/(13,-2,5).lua36
-rw-r--r--subway/nodes/(157,0,765).lua10
-rw-r--r--subway/nodes/(158,0,675).lua1
-rw-r--r--subway/nodes/(159,11,865).lua6
-rw-r--r--subway/nodes/(1722,31,2932).lua0
-rw-r--r--subway/nodes/(190,6,-186).lua1
-rw-r--r--subway/nodes/(190,6,-73).lua1
-rw-r--r--subway/nodes/(198,6,-174).lua1
-rw-r--r--subway/nodes/(198,6,-57).lua1
-rw-r--r--subway/nodes/(203,11,-186).lua1
-rw-r--r--subway/nodes/(209,17,-190).lua1
-rw-r--r--subway/nodes/(214,11,-194).lua1
-rw-r--r--subway/nodes/(24,5,3).lua1
-rw-r--r--subway/nodes/(27,16,-470).lua1
-rw-r--r--subway/nodes/(27,25,26).lua2
-rw-r--r--subway/nodes/(305,9,22).lua2
-rw-r--r--subway/nodes/(305,9,34).lua2
-rw-r--r--subway/nodes/(317,9,14).lua2
-rw-r--r--subway/nodes/(317,9,26).lua2
-rw-r--r--subway/nodes/(38,16,-472).lua1
-rw-r--r--subway/nodes/(42,20,-59).lua1
-rw-r--r--subway/nodes/(42,25,-67).lua1
-rw-r--r--subway/nodes/(421,14,-48).lua1
-rw-r--r--subway/nodes/(427,7,167).lua1
-rw-r--r--subway/nodes/(43,11,-124).lua2
-rw-r--r--subway/nodes/(43,5,-64).lua3
-rw-r--r--subway/nodes/(430,7,167).lua1
-rw-r--r--subway/nodes/(433,14,-54).lua1
-rw-r--r--subway/nodes/(479,3,-156).lua1
-rw-r--r--subway/nodes/(491,3,-163).lua1
-rw-r--r--subway/nodes/(51,11,-112).lua1
-rw-r--r--subway/nodes/(514,-3,-2026).lua1
-rw-r--r--subway/nodes/(6,5,1).lua1
-rw-r--r--subway/nodes/(628,11,-23).lua1
-rw-r--r--subway/nodes/(640,11,-31).lua1
-rw-r--r--subway/nodes/(66,11,-148).lua2
-rw-r--r--subway/nodes/(660,14,1013).lua1
-rw-r--r--subway/nodes/(711,12,-103).lua1
-rw-r--r--subway/nodes/(711,12,-95).lua1
-rw-r--r--subway/nodes/(731,4,-103).lua1
-rw-r--r--subway/nodes/(731,4,-95).lua1
-rw-r--r--subway/nodes/(757,12,-100).lua1
-rw-r--r--subway/nodes/(799,8,-103).lua3
-rw-r--r--subway/nodes/(827,6,-222).lua1
-rw-r--r--subway/nodes/(834,6,-210).lua1
-rw-r--r--subway/nodes/(841,18,-327).lua1
-rw-r--r--subway/nodes/(843,18,-315).lua1
-rw-r--r--subway/nodes/(884,18,-415).lua1
-rw-r--r--subway/nodes/(896,18,-422).lua1
-rw-r--r--subway/nodes/(92,20,-37).lua2
-rw-r--r--subway/nodes/(92,20,34).lua2
-rw-r--r--subway/nodes/(941,18,-509).lua1
-rw-r--r--subway/nodes/(941,18,-571).lua2
-rw-r--r--subway/nodes/(959,14,1038).lua3
-rw-r--r--subwayis/init_code.lua75
-rw-r--r--subwayis/nodes/(-649,9,-283).lua3
-rw-r--r--subwayis/nodes/(-662,8,-296).lua3
-rw-r--r--subwayis/nodes/(21,-2,34).lua1
-rw-r--r--subwayis/nodes/(8,-2,48).lua1
544 files changed, 2549 insertions, 0 deletions
diff --git a/Crossroads/init_code.lua b/Crossroads/init_code.lua
new file mode 100644
index 0000000..aa4e66d
--- /dev/null
+++ b/Crossroads/init_code.lua
@@ -0,0 +1,224 @@
+--[[
+This environment has programs that can be separated to three parts:
+I) Common functions
+II) Common variables
+III) ATL/CRT Bronze Line
+]]
+
+-- I) Common Functions
+if S.trains == nil then S.trains = {} end
+
+-- F.dst - Get summer time
+function F.dst()
+ if os.date().isdst then return "CEST" else return "CET" end
+end
+-- F.error - Send error with error code
+function F.error(errorcode)
+ error(F.errlist[errorcode])
+end
+--[[ F.stnbasic - Basis for all station functions:
+(By default, nil is defined as false or "no changes")
+stn = Station Code
+side = Door opening side
+optime = Length of time before train departs
+reverse = Reverse train before departing
+acc = Departure Speed
+out = Change outside text
+reventry = Allow trains to pass from the reverse direction
+predepart = Function to execute before departure
+postdepart = Function to execute after departure
+next = Next stop
+]]
+function F.stnbasic(stn, side, optime, reverse, acc, out, reventry, predepart, postdepart, next,track)
+ if event.train then
+ if atc_arrow then
+ local cmdstr=""
+ if out~=nil then atc_set_text_outside(out) end
+ if stn==nil then atc_set_text_inside("Unknown Station")
+ else atc_set_text_inside(F.stnlist[stn]) end
+ cmdstr="BBWO"..(side or "R")
+ if predepart~=nil then predepart() end
+ S.trains[atc_id] = "P "..stn.." "..(track or "x")
+ cmdstr=cmdstr.."D"..(optime or 15)
+ cmdstr=cmdstr.."OCD2"
+ if reverse then cmdstr=cmdstr.."R" end
+ cmdstr=cmdstr.."S"..(acc or "M")
+ atc_send(cmdstr)
+ interrupt((optime or 15)+2)
+ else
+ if reventry==nil then F.error("wrong_direction")
+ else
+ if not reventry then F.error("wrong_direction") end
+ end
+ end
+ end
+ if event.int then
+ if atc_id ~= nil then
+ if next == nil then atc_set_text_inside("") else atc_set_text_inside("Next stop: "..F.stnlist[next]) end
+ if postdepart~=nil then postdepart() end
+ end
+ end
+end
+
+-- F.hst - preset function for small stations (Haltestelle)
+function F.hst(cur, nxt, side, spd, out, trk)
+ F.stnbasic(cur, side, 10, false, spd, out, true, nil, nil, nxt, trk)
+end
+
+-- F.bhf - preset function for large stations (Bahnhof)
+function F.bhf(cur, nxt, side, spd, out, trk)
+ F.stnbasic(cur, side, 15, false, spd, out, true, nil, nil, nxt, trk)
+end
+
+-- F.kbhf - preset function for termini
+function F.kbhf(cur, nxt, side, spd, out, trk)
+ F.stnbasic(cur, side, 15, true, spd, out, true, nil, nil, nxt, trk)
+end
+
+-- F.timing - station with timing
+function F.timing(d_off, d_int, cur, nxt, side, spd, out, trk, term, pre, post)
+ local timenow = os.time()
+ local timerdy = timenow + 8
+ local wait = d_int - ((timerdy-d_off) % d_int)
+ local waitcorr = math.floor(wait*0.66)
+ F.stnbasic(cur, side, waitcorr, term, spd, out, true, pre, post, nxt, trk)
+end
+
+-- F.brk(direction) - sends ATC B2 command
+function F.brk(dir)
+ if event.type == "train" then
+ if atc_arrow == dir then
+ atc_send("B2S2")
+ end
+ end
+end
+
+--[[ F.eval - similar to the ? : operator in C
+expr = the expression to evaluate
+rettrue = the value to return if expr is true
+retfalse = the value to return if expr is false
+]]
+function F.eval(expr, rettrue, retfalse)
+ if expr then return rettrue else return retfalse end
+end
+
+function F.checkpoint(name,arrow,opp)
+ if event.train then
+ S.trains[atc_id] = "C "..name.." "
+ if atc_arrow then
+ S.trains[atc_id] = S.trains[atc_id]..arrow
+ else
+ S.trains[atc_id] = S.trains[atc_id]..opp
+ end
+ end
+end
+
+--[[ II) Common Variables
+F.stnlist = List of stations
+F.errlist = List of errors
+F.depint = Departure intervals
+]]
+F.stnlist = {
+ cg = "Colored Grasses",
+ clockwise = "Clockwise Route",
+ counterclockwise = "Counterclockwise Route",
+ cras = "Crossroads ARSE7's Shop",
+ crbfost = "Crossroads Station East",
+ crbfsm = "Crossroads Station St. Central",
+ crbfso = "Crossroads Station St. East",
+ crbfsw = "Crossroads Station St. West",
+ crch = "Crossroads City Hall",
+ crchs = "Crossroads City Hall South",
+ crmtrail = "Crossroads Mountain Railway Termius",
+ crnsw = "CR-North Station St. Ferry (W.)",
+ crrathaus = "Crossroads City Hall",
+ crsmacker = "Crossroads Smacker's Station",
+ crwm = "Crossroads-West Mountains",
+ crzn = "Crossroads-Zentrum/Nordstadt",
+ el = "Erstaziland",
+ elchateau = "Chateau d'Erstazi",
+ elgp = "Erstaziland Greener Pastures",
+ elsf = "Erstaziland Salt Factory",
+ evo = "EVO",
+ mushroom = "Mushroom Land",
+ neverbuild = "Neverbuild",
+ nvbcentral = "Neverbuild Central",
+ nvbold = "Neverbuild Old Termius",
+ nvboutskirts = "Neverbuild Outskirts",
+ oc = "Ocean City",
+ occh = "Ocean City, City Hall",
+ occrt = "Ocean City, CRT Office",
+ ocmushroom = "Ocean City, Mushroom Market",
+ ocoutskirts = "Ocean City Outskirts",
+ phwest = "Personhood, West",
+ scc = "Silver Coast Central",
+ scn = "Silver Coast North",
+ scs = "Silver Coast South",
+}
+F.errlist = {
+ ["runaway_train"] = "Runaway train found!",
+ ["train_disappeared"] = "Train has disappeared!",
+ ["unexpected_train"] = "Train is not expected to pass!",
+ ["wrong_direction"] = "Train passed in wrong direction!",
+}
+F.depint = {
+ ["AB"] = 60,
+ ["AG"] = 120,
+ ["CRT1"] = 30,
+}
+
+-- ATL/CRT Bronze Line
+
+-- Colored Grasses
+F.ab_cgw="--:-- "..F.dst()
+F.ab_cge="--:-- "..F.dst()
+
+F.ab_status = "Irregular operation"
+
+F.cg_disp = function()
+ if event.digiline then
+ if event.digiline then if not event.channel=="upd" then return end end
+ local t=os.date()
+ local cg="Colored Grasses\nATL/CRT Bronze Line\n"
+ local str = string.format("%s\n"..F.ab_status.." \n", os.date("%d %b %Y %H:%M %z",os.time()))
+ local abf = os.date("%H:%M %z",os.time()+60)
+ digiline_send("bstg1-1",cg.."<-- Personhood West\n[1] via The Cube")
+ digiline_send("bstg1-2",string.format("%s%27s\n%27s",str,"Crossroads City Hall -->","via Silver Coast [2]"))
+ digiline_send("bstg2-1",cg.."<-- Crossroads City Hall\n[2] via Silver Coast")
+ digiline_send("bstg2-2",string.format("%s%27s\n%27s",str,"Personhood West -->","via The Cube [1]"))
+ digiline_send("bstg3","Scheduled departure (Track\nScheduled departure (Track")
+ digiline_send("bstg4","1): "..abf.."\n2): "..abf)
+ return
+ end
+ return
+end
+
+function F.cg_stn(gleis)
+ if event.train and atc_arrow then
+ if get_line()~="AB" then atc_send("SM") return end
+ atc_send("B0 W OR")
+ local time=os.date()
+ if time.sec>50 then time.sec=time.sec-11 end
+ local m=""
+ if time.min>58 then
+ m = string.format("%s%02d:%02d", m, F.eval(time.hour > 22, time.hour - 24, time.hour) + 1, time.min - 59)
+ else
+ m = string.format("%s%02d:%02d", m, time.hour, time.min + 1)
+ end
+ m = m .. " " .. F.dst()
+ atc_set_text_inside("Colored Grasses\nThis train will depart at: "..m)
+ interrupt(60-time.sec,"depart")
+ if gleis==1 then F.ab_cgw=m
+ else F.ab_cge=m
+ end
+ end
+ if event.int and event.message=="depart" then
+ atc_set_text_inside("")
+ time = os.date()
+ local nxt = string.format("%02d:%02d %s", F.eval(time.min>58, F.eval(time.hour>22, time.hour-23, time.hour+1), time.hour), F.eval(time.min>58, time.min-59, time.min+1), F.dst())
+ atc_send("OC D1 SM")
+ if gleis==1 then F.ab_cgw=nxt
+ else F.ab_cge=nxt
+ end
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(-5710,2,-3917).lua b/Crossroads/nodes/(-5710,2,-3917).lua
new file mode 100644
index 0000000..65f7991
--- /dev/null
+++ b/Crossroads/nodes/(-5710,2,-3917).lua
@@ -0,0 +1,14 @@
+local testpos=POS(-5716,2,-3919)
+local chn="out"
+local newstate=nil
+
+if event.type=="punch" then
+ if is_passive(testpos) then
+ if newstate==nil then digiline_send(chn," true\n "..getstate(testpos))
+ else
+ digiline_send(chn," true\n "..getstate(testpos).."\n "..newstate)
+ setstate(testpos,newstate)
+ end
+ else digiline_send(chn," false")
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(1083,19,3028).lua b/Crossroads/nodes/(1083,19,3028).lua
new file mode 100644
index 0000000..0e5b482
--- /dev/null
+++ b/Crossroads/nodes/(1083,19,3028).lua
@@ -0,0 +1,5 @@
+if event.train then
+ if not atc_arrow then return end
+ atc_set_text_outside("ATL/CRT Bronze Line - Crossroads City Hall")
+ set_line("AB")
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(1167,8,1013).lua b/Crossroads/nodes/(1167,8,1013).lua
new file mode 100644
index 0000000..5f46f5d
--- /dev/null
+++ b/Crossroads/nodes/(1167,8,1013).lua
@@ -0,0 +1,5 @@
+if event.type == "train" then
+ if atc_arrow then
+ atc_set_text_outside("ATL Mithril Line - Crossroads")
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(1219,9,1549).lua b/Crossroads/nodes/(1219,9,1549).lua
new file mode 100644
index 0000000..e08cb42
--- /dev/null
+++ b/Crossroads/nodes/(1219,9,1549).lua
@@ -0,0 +1 @@
+F.cg_stn(1) \ No newline at end of file
diff --git a/Crossroads/nodes/(1223,12,1555).lua b/Crossroads/nodes/(1223,12,1555).lua
new file mode 100644
index 0000000..b07a528
--- /dev/null
+++ b/Crossroads/nodes/(1223,12,1555).lua
@@ -0,0 +1,5 @@
+if event.type == "digiline" then
+ if event.channel == "updwrapper" then
+ digiline_send("upd","update")
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(1224,12,1555).lua b/Crossroads/nodes/(1224,12,1555).lua
new file mode 100644
index 0000000..a150241
--- /dev/null
+++ b/Crossroads/nodes/(1224,12,1555).lua
@@ -0,0 +1 @@
+F.cg_disp() \ No newline at end of file
diff --git a/Crossroads/nodes/(1227,12,1541).lua b/Crossroads/nodes/(1227,12,1541).lua
new file mode 100644
index 0000000..a150241
--- /dev/null
+++ b/Crossroads/nodes/(1227,12,1541).lua
@@ -0,0 +1 @@
+F.cg_disp() \ No newline at end of file
diff --git a/Crossroads/nodes/(1228,12,1541).lua b/Crossroads/nodes/(1228,12,1541).lua
new file mode 100644
index 0000000..b07a528
--- /dev/null
+++ b/Crossroads/nodes/(1228,12,1541).lua
@@ -0,0 +1,5 @@
+if event.type == "digiline" then
+ if event.channel == "updwrapper" then
+ digiline_send("upd","update")
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(1232,9,1547).lua b/Crossroads/nodes/(1232,9,1547).lua
new file mode 100644
index 0000000..4e4a905
--- /dev/null
+++ b/Crossroads/nodes/(1232,9,1547).lua
@@ -0,0 +1 @@
+F.cg_stn(2) \ No newline at end of file
diff --git a/Crossroads/nodes/(1288,9,1545).lua b/Crossroads/nodes/(1288,9,1545).lua
new file mode 100644
index 0000000..f0f7da4
--- /dev/null
+++ b/Crossroads/nodes/(1288,9,1545).lua
@@ -0,0 +1,4 @@
+if event.train and atc_arrow then
+ atc_send("B8S8")
+ atc_set_text_inside("Next station:\nColored Grasses")
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(1350,11,1371).lua b/Crossroads/nodes/(1350,11,1371).lua
new file mode 100644
index 0000000..a9a4f88
--- /dev/null
+++ b/Crossroads/nodes/(1350,11,1371).lua
@@ -0,0 +1 @@
+F.bhf("oc","scn","R","M",nil,"ZS") \ No newline at end of file
diff --git a/Crossroads/nodes/(1352,11,1389).lua b/Crossroads/nodes/(1352,11,1389).lua
new file mode 100644
index 0000000..1b4c4ac
--- /dev/null
+++ b/Crossroads/nodes/(1352,11,1389).lua
@@ -0,0 +1 @@
+F.bhf("oc","elgp","R","M",nil,"ZN") \ No newline at end of file
diff --git a/Crossroads/nodes/(1359,11,1380).lua b/Crossroads/nodes/(1359,11,1380).lua
new file mode 100644
index 0000000..9214f4d
--- /dev/null
+++ b/Crossroads/nodes/(1359,11,1380).lua
@@ -0,0 +1 @@
+F.timing(215, F.depint["AG"], "oc","ocoutskirts","R","M","ATL Gold Line - Neverbuild Central","T",true) \ No newline at end of file
diff --git a/Crossroads/nodes/(1388,-9,1321).lua b/Crossroads/nodes/(1388,-9,1321).lua
new file mode 100644
index 0000000..64642da
--- /dev/null
+++ b/Crossroads/nodes/(1388,-9,1321).lua
@@ -0,0 +1 @@
+F.hst("ocmushroom","occh","L",8,nil,"2") \ No newline at end of file
diff --git a/Crossroads/nodes/(1388,-9,1352).lua b/Crossroads/nodes/(1388,-9,1352).lua
new file mode 100644
index 0000000..44e8f92
--- /dev/null
+++ b/Crossroads/nodes/(1388,-9,1352).lua
@@ -0,0 +1 @@
+F.hst("occrt","ocmushroom","L",7,nil,"2") \ No newline at end of file
diff --git a/Crossroads/nodes/(1388,-9,1373).lua b/Crossroads/nodes/(1388,-9,1373).lua
new file mode 100644
index 0000000..c53d4a6
--- /dev/null
+++ b/Crossroads/nodes/(1388,-9,1373).lua
@@ -0,0 +1 @@
+F.hst("occh","occrt","R",8,nil,"2") \ No newline at end of file
diff --git a/Crossroads/nodes/(1393,19,1619).lua b/Crossroads/nodes/(1393,19,1619).lua
new file mode 100644
index 0000000..02e416b
--- /dev/null
+++ b/Crossroads/nodes/(1393,19,1619).lua
@@ -0,0 +1 @@
+F.timing(125,F.depint["AG"],"nvboutskirts", "ocoutskirts", "R", "M", nil, "S") \ No newline at end of file
diff --git a/Crossroads/nodes/(1393,19,1709).lua b/Crossroads/nodes/(1393,19,1709).lua
new file mode 100644
index 0000000..4eaa76f
--- /dev/null
+++ b/Crossroads/nodes/(1393,19,1709).lua
@@ -0,0 +1 @@
+F.timing(85, F.depint["AG"], "mushroom", "nvboutskirts", "R", "M", nil, "S") \ No newline at end of file
diff --git a/Crossroads/nodes/(1393,19,1820).lua b/Crossroads/nodes/(1393,19,1820).lua
new file mode 100644
index 0000000..fada4e2
--- /dev/null
+++ b/Crossroads/nodes/(1393,19,1820).lua
@@ -0,0 +1 @@
+F.timing(50,F.depint["AG"],"nvbold","mushroom","L","M",nil,"S") \ No newline at end of file
diff --git a/Crossroads/nodes/(1393,4,1965).lua b/Crossroads/nodes/(1393,4,1965).lua
new file mode 100644
index 0000000..0f6692c
--- /dev/null
+++ b/Crossroads/nodes/(1393,4,1965).lua
@@ -0,0 +1 @@
+F.timing(0, F.depint["AG"], "nvbcentral", "nvbold", "R", "M", "ATL Gold Line - Ocean City","GS") \ No newline at end of file
diff --git a/Crossroads/nodes/(1393,8,1489).lua b/Crossroads/nodes/(1393,8,1489).lua
new file mode 100644
index 0000000..2c08535
--- /dev/null
+++ b/Crossroads/nodes/(1393,8,1489).lua
@@ -0,0 +1 @@
+F.timing(165,F.depint["AG"],"ocoutskirts","oc","R","M",nil,"S") \ No newline at end of file
diff --git a/Crossroads/nodes/(1397,19,1630).lua b/Crossroads/nodes/(1397,19,1630).lua
new file mode 100644
index 0000000..d343142
--- /dev/null
+++ b/Crossroads/nodes/(1397,19,1630).lua
@@ -0,0 +1 @@
+F.timing(305,F.depint["AG"],"nvboutskirts", "mushroom", "R", "M", nil, "N") \ No newline at end of file
diff --git a/Crossroads/nodes/(1397,19,1720).lua b/Crossroads/nodes/(1397,19,1720).lua
new file mode 100644
index 0000000..85d220d
--- /dev/null
+++ b/Crossroads/nodes/(1397,19,1720).lua
@@ -0,0 +1 @@
+F.timing(345,F.depint["AG"],"mushroom","nvbold","R","M",nil,"N") \ No newline at end of file
diff --git a/Crossroads/nodes/(1397,4,1977).lua b/Crossroads/nodes/(1397,4,1977).lua
new file mode 100644
index 0000000..d42c671
--- /dev/null
+++ b/Crossroads/nodes/(1397,4,1977).lua
@@ -0,0 +1 @@
+F.bhf("nvbcentral","nvbcentral","R","8","ATL Gold Line - Ocean City","N") \ No newline at end of file
diff --git a/Crossroads/nodes/(1397,8,1501).lua b/Crossroads/nodes/(1397,8,1501).lua
new file mode 100644
index 0000000..58832a9
--- /dev/null
+++ b/Crossroads/nodes/(1397,8,1501).lua
@@ -0,0 +1 @@
+F.timing(265,F.depint["AG"],"ocoutskirts","nvboutskirts","R","M", nil, "N") \ No newline at end of file
diff --git a/Crossroads/nodes/(1400,21,819).lua b/Crossroads/nodes/(1400,21,819).lua
new file mode 100644
index 0000000..4b632e4
--- /dev/null
+++ b/Crossroads/nodes/(1400,21,819).lua
@@ -0,0 +1 @@
+F.bhf("crwm","scs","L","M",nil,"FW") \ No newline at end of file
diff --git a/Crossroads/nodes/(1402,19,1820).lua b/Crossroads/nodes/(1402,19,1820).lua
new file mode 100644
index 0000000..6569ce9
--- /dev/null
+++ b/Crossroads/nodes/(1402,19,1820).lua
@@ -0,0 +1 @@
+F.timing(385, F.depint["AG"], "nvbold", "nvbcentral", "L", "M", nil, "N") \ No newline at end of file
diff --git a/Crossroads/nodes/(1419,26,819).lua b/Crossroads/nodes/(1419,26,819).lua
new file mode 100644
index 0000000..e3c0adf
--- /dev/null
+++ b/Crossroads/nodes/(1419,26,819).lua
@@ -0,0 +1 @@
+F.bhf("crwm","crch","R","M",nil,"1") \ No newline at end of file
diff --git a/Crossroads/nodes/(1601,5,1992).lua b/Crossroads/nodes/(1601,5,1992).lua
new file mode 100644
index 0000000..4cb1cb8
--- /dev/null
+++ b/Crossroads/nodes/(1601,5,1992).lua
@@ -0,0 +1,9 @@
+--
+local interval = 900 -- Interval in seconds
+local offset = interval/2 -- Offset for the timing system
+if event.type == "train" then
+ if atc_arrow then
+ interrupt_time = (offset-os.time())%interval
+ atc_send(string.format("BBWD%dRSM",interrupt_time))
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(1673,20,985).lua b/Crossroads/nodes/(1673,20,985).lua
new file mode 100644
index 0000000..20d4674
--- /dev/null
+++ b/Crossroads/nodes/(1673,20,985).lua
@@ -0,0 +1 @@
+F.stnbasic("crsmacker", "L", (30-os.date().sec)%30, false, "M", "CRT 1 - Counterclockwise Route", false, nil, nil, "cras", "2") \ No newline at end of file
diff --git a/Crossroads/nodes/(1682,20,971).lua b/Crossroads/nodes/(1682,20,971).lua
new file mode 100644
index 0000000..048d9f3
--- /dev/null
+++ b/Crossroads/nodes/(1682,20,971).lua
@@ -0,0 +1 @@
+F.stnbasic("crsmacker", "L", (27-os.date().sec)%30+5, false, "M", "CRT 1 - Clockwise Route", false, nil, nil, "crch", "1") \ No newline at end of file
diff --git a/Crossroads/nodes/(1702,12,914).lua b/Crossroads/nodes/(1702,12,914).lua
new file mode 100644
index 0000000..27def93
--- /dev/null
+++ b/Crossroads/nodes/(1702,12,914).lua
@@ -0,0 +1 @@
+F.hst("cras","crsmacker","L","M",nil,"1") \ No newline at end of file
diff --git a/Crossroads/nodes/(1709,17,914).lua b/Crossroads/nodes/(1709,17,914).lua
new file mode 100644
index 0000000..1375bd7
--- /dev/null
+++ b/Crossroads/nodes/(1709,17,914).lua
@@ -0,0 +1 @@
+F.hst("cras","crchs","R","M",nil,"2") \ No newline at end of file
diff --git a/Crossroads/nodes/(1714,26,1007).lua b/Crossroads/nodes/(1714,26,1007).lua
new file mode 100644
index 0000000..7193ddb
--- /dev/null
+++ b/Crossroads/nodes/(1714,26,1007).lua
@@ -0,0 +1,3 @@
+if event.train and atc_arrow then
+ atc_set_text_inside("Next stop: Crossroads City Hall")
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(1720,15,995).lua b/Crossroads/nodes/(1720,15,995).lua
new file mode 100644
index 0000000..c9162ac
--- /dev/null
+++ b/Crossroads/nodes/(1720,15,995).lua
@@ -0,0 +1,4 @@
+if event.train then
+atc_set_text_inside("Next station:\nCrossroads City Hall")
+atc_set_text_outside("ATL/CRT Bronze Line - Personhood West")
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(1746,12,914).lua b/Crossroads/nodes/(1746,12,914).lua
new file mode 100644
index 0000000..4a5be7d
--- /dev/null
+++ b/Crossroads/nodes/(1746,12,914).lua
@@ -0,0 +1 @@
+F.hst("crchs","cras","R",8,nil,"1") \ No newline at end of file
diff --git a/Crossroads/nodes/(1746,17,987).lua b/Crossroads/nodes/(1746,17,987).lua
new file mode 100644
index 0000000..819ca25
--- /dev/null
+++ b/Crossroads/nodes/(1746,17,987).lua
@@ -0,0 +1 @@
+F.hst("crch","crsmacker","L","M",nil,"R2") \ No newline at end of file
diff --git a/Crossroads/nodes/(1753,12,988).lua b/Crossroads/nodes/(1753,12,988).lua
new file mode 100644
index 0000000..c3dce37
--- /dev/null
+++ b/Crossroads/nodes/(1753,12,988).lua
@@ -0,0 +1 @@
+F.hst("crch","crchs","R","M",nil,"R1") \ No newline at end of file
diff --git a/Crossroads/nodes/(1753,17,917).lua b/Crossroads/nodes/(1753,17,917).lua
new file mode 100644
index 0000000..4e4f080
--- /dev/null
+++ b/Crossroads/nodes/(1753,17,917).lua
@@ -0,0 +1 @@
+F.hst("crchs","crch","L","M",nil,"1") \ No newline at end of file
diff --git a/Crossroads/nodes/(1755,27,942).lua b/Crossroads/nodes/(1755,27,942).lua
new file mode 100644
index 0000000..f208c95
--- /dev/null
+++ b/Crossroads/nodes/(1755,27,942).lua
@@ -0,0 +1,5 @@
+if event.type == "digiline" then
+ if event.channel == "upd_wrapper" then
+ digiline_send("upd_main","")
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(1755,27,943).lua b/Crossroads/nodes/(1755,27,943).lua
new file mode 100644
index 0000000..01ed586
--- /dev/null
+++ b/Crossroads/nodes/(1755,27,943).lua
@@ -0,0 +1,57 @@
+local head="TRAIN STATUS"
+local function trainpairs(t, f)
+ local a = {}
+ for n in pairs(t) do table.insert(a, n) end
+ table.sort(a, f)
+ local i = 0
+ local iter = function ()
+ i = i + 1
+ if a[i] == nil then return nil
+ else return a[i], t[a[i]]
+ end
+ end
+ return iter
+end
+local length = 18
+if event.type=="digiline" then
+ if event.channel=="upd_main" then
+ local start_t = os.clock()
+ if not S.lagrec then S.lagrec = {} end
+ local l = {}
+ local i
+ for i=1,length,1 do
+ if i%2 == 0 then
+ l[i]=""
+ else
+ l[i]=head
+ end
+ end
+ local counter=0
+ for id,st in trainpairs(S.trains) do
+ if (counter) % 7 < 3 then
+ i = (counter - counter % 7) / 7 * 2 + 1
+ else
+ i = (counter - counter % 7) / 7 * 2 + 2
+ end
+ l[i] = l[i] .. "\n" .. id .. " " .. st
+ counter = counter + 1
+ end
+ for i=1,length,1 do
+ if l[i]=="" then
+ digiline_send("d"..tostring(i),"...")
+ else
+ digiline_send("d"..tostring(i),l[i])
+ end
+ end
+ local end_t = os.clock()
+ table.insert(S.lagrec,end_t - start_t)
+ table.sort(S.lagrec)
+ local lagavg = 0
+ for _,v in pairs(S.lagrec) do
+ lagavg = lagavg + v
+ end
+ lagavg = lagavg / #S.lagrec
+ digiline_send("lag1", "DEBUG\nTRAINS: " .. counter .. "\nDISPS: " .. length .. "\nTIME: " .. os.date("%d %b %Y %X"))
+ digiline_send("lag2", "CUR " .. (end_t - start_t) .. "\nMIN " .. S.lagrec[1] .. "\nMAX " .. S.lagrec[#S.lagrec] .. "\nAVG " .. lagavg)
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(1767,27,946).lua b/Crossroads/nodes/(1767,27,946).lua
new file mode 100644
index 0000000..27d996d
--- /dev/null
+++ b/Crossroads/nodes/(1767,27,946).lua
@@ -0,0 +1,2 @@
+S.trains = {}
+S.lagavg = {} \ No newline at end of file
diff --git a/Crossroads/nodes/(1773,5,994).lua b/Crossroads/nodes/(1773,5,994).lua
new file mode 100644
index 0000000..575cb88
--- /dev/null
+++ b/Crossroads/nodes/(1773,5,994).lua
@@ -0,0 +1 @@
+F.timing(0, F.depint["AB"], "crch", "crwm", "R", "M", "ATL/CRT Bronze Line - Personhood West", "1", true) \ No newline at end of file
diff --git a/Crossroads/nodes/(1790,5,1020).lua b/Crossroads/nodes/(1790,5,1020).lua
new file mode 100644
index 0000000..b7a24f0
--- /dev/null
+++ b/Crossroads/nodes/(1790,5,1020).lua
@@ -0,0 +1 @@
+F.kbhf("crrathaus","crbfsw","L","M","CRT2 - Crossroads North","5") \ No newline at end of file
diff --git a/Crossroads/nodes/(1795,5,1000).lua b/Crossroads/nodes/(1795,5,1000).lua
new file mode 100644
index 0000000..ccf3e26
--- /dev/null
+++ b/Crossroads/nodes/(1795,5,1000).lua
@@ -0,0 +1,5 @@
+if event.type == "train" then
+ if atc_arrow then
+ atc_set_text_inside("Next stop: CR-North Station St. Ferry (West)")
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(1796,25,1011).lua b/Crossroads/nodes/(1796,25,1011).lua
new file mode 100644
index 0000000..9aafeb8
--- /dev/null
+++ b/Crossroads/nodes/(1796,25,1011).lua
@@ -0,0 +1 @@
+F.kbhf("crch","crwm","L","M","CRT 12","C4") \ No newline at end of file
diff --git a/Crossroads/nodes/(1796,25,1019).lua b/Crossroads/nodes/(1796,25,1019).lua
new file mode 100644
index 0000000..69f3d92
--- /dev/null
+++ b/Crossroads/nodes/(1796,25,1019).lua
@@ -0,0 +1 @@
+F.kbhf("crch","crch","R","M",nil,"C5") \ No newline at end of file
diff --git a/Crossroads/nodes/(1801,5,1008).lua b/Crossroads/nodes/(1801,5,1008).lua
new file mode 100644
index 0000000..7741b35
--- /dev/null
+++ b/Crossroads/nodes/(1801,5,1008).lua
@@ -0,0 +1,5 @@
+if event.type == "train" then
+ if atc_arrow then
+ atc_set_text_outside("ATL Mithril Line - Ehlodex")
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(2009,4,993).lua b/Crossroads/nodes/(2009,4,993).lua
new file mode 100644
index 0000000..7006284
--- /dev/null
+++ b/Crossroads/nodes/(2009,4,993).lua
@@ -0,0 +1 @@
+F.hst("crbfsw","crch","L","M",nil,"W") \ No newline at end of file
diff --git a/Crossroads/nodes/(2022,4,993).lua b/Crossroads/nodes/(2022,4,993).lua
new file mode 100644
index 0000000..5cfe913
--- /dev/null
+++ b/Crossroads/nodes/(2022,4,993).lua
@@ -0,0 +1 @@
+F.hst("crbfsw","crnsw","R","M",nil,"E") \ No newline at end of file
diff --git a/Crossroads/nodes/(2254,4,991).lua b/Crossroads/nodes/(2254,4,991).lua
new file mode 100644
index 0000000..9340cff
--- /dev/null
+++ b/Crossroads/nodes/(2254,4,991).lua
@@ -0,0 +1 @@
+F.kbhf("crnsw","crbfsw","R","M","CRT2 - Crossroads City Hall","1") \ No newline at end of file
diff --git a/Crossroads/nodes/(2254,4,997).lua b/Crossroads/nodes/(2254,4,997).lua
new file mode 100644
index 0000000..94928cd
--- /dev/null
+++ b/Crossroads/nodes/(2254,4,997).lua
@@ -0,0 +1 @@
+F.kbhf("crnsw","crch","L","M","ATL Mithril Line - Ehlodex","2") \ No newline at end of file
diff --git a/Crossroads/nodes/(544,11,2152).lua b/Crossroads/nodes/(544,11,2152).lua
new file mode 100644
index 0000000..69612c9
--- /dev/null
+++ b/Crossroads/nodes/(544,11,2152).lua
@@ -0,0 +1,9 @@
+--
+local interval = 900 -- Interval in seconds
+local offset = 0 -- Offset for the timing system
+if event.type == "train" then
+ if atc_arrow then
+ interrupt_time = (offset-os.time())%interval
+ atc_send(string.format("BBWD%dRSM",interrupt_time))
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(851,14,773).lua b/Crossroads/nodes/(851,14,773).lua
new file mode 100644
index 0000000..aabbc7b
--- /dev/null
+++ b/Crossroads/nodes/(851,14,773).lua
@@ -0,0 +1,12 @@
+if event.train then
+ if atc_arrow then
+ atc_send("B0 W OL")
+ atc_set_text_inside("EVO")
+ interrupt(15)
+ end
+end
+
+if event.int then
+ atc_send("OCD2SM")
+ atc_set_text_inside("")
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(852,12,710).lua b/Crossroads/nodes/(852,12,710).lua
new file mode 100644
index 0000000..7d7b203
--- /dev/null
+++ b/Crossroads/nodes/(852,12,710).lua
@@ -0,0 +1,6 @@
+if event.train then
+ if atc_arrow then
+ atc_send("B14S14")
+ atc_set_text_inside("Next station: EVO")
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(861,12,725).lua b/Crossroads/nodes/(861,12,725).lua
new file mode 100644
index 0000000..7d7b203
--- /dev/null
+++ b/Crossroads/nodes/(861,12,725).lua
@@ -0,0 +1,6 @@
+if event.train then
+ if atc_arrow then
+ atc_send("B14S14")
+ atc_set_text_inside("Next station: EVO")
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(864,14,793).lua b/Crossroads/nodes/(864,14,793).lua
new file mode 100644
index 0000000..da49bc9
--- /dev/null
+++ b/Crossroads/nodes/(864,14,793).lua
@@ -0,0 +1,11 @@
+if event.train then
+ if atc_arrow then
+ atc_send("B0 W OL")
+ atc_set_text_inside("EVO")
+ interrupt(15)
+ end
+end
+if event.int then
+ atc_send("OCD2SM")
+ atc_set_text_inside("")
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(867,14,776).lua b/Crossroads/nodes/(867,14,776).lua
new file mode 100644
index 0000000..08ccb2c
--- /dev/null
+++ b/Crossroads/nodes/(867,14,776).lua
@@ -0,0 +1,12 @@
+if event.train then
+ if atc_arrow then
+ atc_send("B0WOL")
+ atc_set_text_inside("EVO")
+ interrupt(15)
+ end
+end
+
+if event.int then
+ atc_set_text_inside("")
+ atc_send("OCD2SM")
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(880,14,789).lua b/Crossroads/nodes/(880,14,789).lua
new file mode 100644
index 0000000..f6c14b8
--- /dev/null
+++ b/Crossroads/nodes/(880,14,789).lua
@@ -0,0 +1 @@
+F.bhf("evo","scs","L","M",nil,"ZN") \ No newline at end of file
diff --git a/Crossroads/nodes/(881,6,886).lua b/Crossroads/nodes/(881,6,886).lua
new file mode 100644
index 0000000..fada148
--- /dev/null
+++ b/Crossroads/nodes/(881,6,886).lua
@@ -0,0 +1,6 @@
+if event.train then
+ if atc_arrow then
+ atc_send("B14S14")
+ atc_set_text_inside("Next station: EVO")
+ end
+end \ No newline at end of file
diff --git a/Crossroads/nodes/(898,14,835).lua b/Crossroads/nodes/(898,14,835).lua
new file mode 100644
index 0000000..7d7b203
--- /dev/null
+++ b/Crossroads/nodes/(898,14,835).lua
@@ -0,0 +1,6 @@
+if event.train then
+ if atc_arrow then
+ atc_send("B14S14")
+ atc_set_text_inside("Next station: EVO")
+ end
+end \ No newline at end of file
diff --git a/X_Nihilo/init_code.lua b/X_Nihilo/init_code.lua
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/X_Nihilo/init_code.lua
diff --git a/X_Nihilo/nodes/(2225,-36,5931).lua b/X_Nihilo/nodes/(2225,-36,5931).lua
new file mode 100644
index 0000000..e6a12cd
--- /dev/null
+++ b/X_Nihilo/nodes/(2225,-36,5931).lua
@@ -0,0 +1,26 @@
+--
+-- I+B0WROLD15OCD2SM;
+--
+
+local delta = 45
+local switch = "XN_subway_station2_out"
+
+if event.type == "train" then
+ if atc_arrow then
+ atc_send("B0WROL")
+ h = os.time()
+ r = delta - (h % delta)
+ if r == 0 then r = delta end
+ setstate(switch,"cr")
+ interrupt(r,"departure")
+ return
+ end
+end
+
+if event.type == "int" then
+ if event.message == "departure" then
+ setstate(switch,"st")
+ atc_send("OCD2SM");
+ end
+ return
+end \ No newline at end of file
diff --git a/X_Nihilo/nodes/(2225,-36,6144).lua b/X_Nihilo/nodes/(2225,-36,6144).lua
new file mode 100644
index 0000000..4f43320
--- /dev/null
+++ b/X_Nihilo/nodes/(2225,-36,6144).lua
@@ -0,0 +1,26 @@
+--
+-- I+B0WROLD15OCD2SM;
+--
+
+local delta = 45
+local switch = "XN_subway_station1_out"
+
+if event.type == "train" then
+ if atc_arrow then
+ atc_send("B0WROL")
+ h = os.time()
+ r = delta - (h % delta)
+ if r == 0 then r = delta end
+ setstate(switch,"st")
+ interrupt(r,"departure")
+ return
+ end
+end
+
+if event.type == "int" then
+ if event.message == "departure" then
+ setstate(switch,"cr")
+ atc_send("OCD2SM");
+ end
+ return
+end \ No newline at end of file
diff --git a/durt/init_code.lua b/durt/init_code.lua
new file mode 100644
index 0000000..6e97a28
--- /dev/null
+++ b/durt/init_code.lua
@@ -0,0 +1 @@
+S.termini = { E = "Tro", W = "Dbl" } S.stations = { Dbl = "Dubulti", Pav = "Pence Avenue", Ghd = "Greenhat Mountain", Acm = "Acacia Mountains", Ghb = "Green Hill Beach", Ged = "Green Edge", Dri = "Dry Island", Gcl = "Green Cliffs", Sfs = "South Forest", Jms = "Jude Milhon Street", Bam = "Bamboo Hills", Cli = "Clown Island", Wat = "Something in the Water", Duf = "Duff Rd", Tro = "Turtle Rock" } S.next_station = { E = { Dbl = "Pav", Pav = "Ghd", Ghd = "Acm", Acm = "Ghb", Ghb = "Ged", Ged = "Dri", Dri = "Gcl", Gcl = "Sfs", Sfs = "Jms", Jms = "Bam", Bam = "Cli", Cli = "Wat", Wat = "Duf", Duf = "Tro" }, W = { Tro = "Duf", Duf = "Wat", Wat = "Cli", Cli = "Bam", Bam = "Jms", Jms = "Sfs", Sfs = "Gcl", Gcl = "Dri", Dri = "Ged", Ged = "Ghb", Ghb = "Acm", Acm = "Ghd", Ghd = "Dbl", } } S.doors = { Tro = "L", Duf = "R", Wat = "L", Cli = "R", Bam = "R", Jms = "R", Sfs = "R", Gcl = "R", Dri = "L", Ged = "L", Ghb = "L", Acm = "L", Ghd = "L", Dbl = "R", Pav = "L" } F.arrive = function(stn_code) atc_send("B0 W O"..S.doors[stn_code]) atc_set_text_inside(S.stations[stn_code]) end F.leave = function(stn_code, dir) -- Try to set departure route e.g. StaW->Stb local pos = stn_code .. dir local route = stn_code .. "->" .. S.next_station[dir][stn_code] if can_set_route(pos, route) then set_route(pos, route) atc_set_text_inside("Next stop:\n" .. S.stations[S.next_station[dir][stn_code]]) atc_send("OC SM") return end -- Wait another 5s before trying again atc_set_text_inside("Waiting to depart...") interrupt(5, "depart") end F.set_desto = function(dir, line) atc_set_text_outside("LINE " .. line .. "\n---> " .. S.stations[S.termini[dir]]) end F.station = function(stn_code, dir) if event.train then F.arrive(stn_code) interrupt(10, "depart") end if event.int and event.msg == "depart" then F.leave(stn_code, dir) end end F.terminus = function(stn_code, newdir, line) if event.train then atc_set_text_inside(S.stations[stn_code]) atc_send("B0 W R O"..S.doors[stn_code]) F.set_desto(newdir, line) interrupt(10, "depart") end if event.int and event.msg == "depart" then F.leave(stn_code, newdir) end end \ No newline at end of file
diff --git a/durt/nodes/(-131,2,-2018).lua b/durt/nodes/(-131,2,-2018).lua
new file mode 100644
index 0000000..90da6e2
--- /dev/null
+++ b/durt/nodes/(-131,2,-2018).lua
@@ -0,0 +1 @@
+F.station("Pav","E") \ No newline at end of file
diff --git a/durt/nodes/(-149,8,-2209).lua b/durt/nodes/(-149,8,-2209).lua
new file mode 100644
index 0000000..c5bdaaf
--- /dev/null
+++ b/durt/nodes/(-149,8,-2209).lua
@@ -0,0 +1 @@
+F.station("Acm","E") \ No newline at end of file
diff --git a/durt/nodes/(-151,8,-2196).lua b/durt/nodes/(-151,8,-2196).lua
new file mode 100644
index 0000000..602ea01
--- /dev/null
+++ b/durt/nodes/(-151,8,-2196).lua
@@ -0,0 +1 @@
+F.station("Acm","W") \ No newline at end of file
diff --git a/durt/nodes/(-168,7,-2053).lua b/durt/nodes/(-168,7,-2053).lua
new file mode 100644
index 0000000..f64a829
--- /dev/null
+++ b/durt/nodes/(-168,7,-2053).lua
@@ -0,0 +1 @@
+F.station("Ghd","E") \ No newline at end of file
diff --git a/durt/nodes/(-170,7,-2040).lua b/durt/nodes/(-170,7,-2040).lua
new file mode 100644
index 0000000..c17ee1f
--- /dev/null
+++ b/durt/nodes/(-170,7,-2040).lua
@@ -0,0 +1 @@
+F.station("Ghd","W") \ No newline at end of file
diff --git a/durt/nodes/(-1728,10,-1823).lua b/durt/nodes/(-1728,10,-1823).lua
new file mode 100644
index 0000000..cb8727f
--- /dev/null
+++ b/durt/nodes/(-1728,10,-1823).lua
@@ -0,0 +1,2 @@
+atc_set_text_inside("S23 -> Bamboo Hills")
+atc_set_text_outside("S23 -> Bamboo Hills") \ No newline at end of file
diff --git a/durt/nodes/(-20,8,-2319).lua b/durt/nodes/(-20,8,-2319).lua
new file mode 100644
index 0000000..c788356
--- /dev/null
+++ b/durt/nodes/(-20,8,-2319).lua
@@ -0,0 +1 @@
+F.station("Ghb","E") \ No newline at end of file
diff --git a/durt/nodes/(-2227,8,290).lua b/durt/nodes/(-2227,8,290).lua
new file mode 100644
index 0000000..6e6f7ef
--- /dev/null
+++ b/durt/nodes/(-2227,8,290).lua
@@ -0,0 +1,3 @@
+local msg = "S23 -> Redwood"
+atc_set_text_outside(msg)
+atc_set_text_inside(msg) \ No newline at end of file
diff --git a/durt/nodes/(-2227,8,292).lua b/durt/nodes/(-2227,8,292).lua
new file mode 100644
index 0000000..75c39d7
--- /dev/null
+++ b/durt/nodes/(-2227,8,292).lua
@@ -0,0 +1,75 @@
+--
+
+local delta = 4*60+20 -- HERE IS THE VALUE
+
+local owdata = S.BaHi_T6
+local numval = 5
+local switchbox_cp = { x=-2221,y=14,z=297}
+
+function save_delay(d)
+ if not owndata then
+ owndata = { false, false, false, false, false, false, false, false, }
+ end
+ for i=numval,2,-1 do
+ owndata[i] = owndata[i-1]
+ end
+ owndata[1] = d
+end
+
+function delay_text()
+ if not owndata then
+ return ""
+ end
+ local rg = ""
+ for i=1,numval do
+ h = owndata[i]
+ if not h then h = "" end
+ rg = rg .. h .." "
+ end
+ return rg
+end
+
+if event.type == "train" then
+ if atc_arrow then
+ atc_send("B0WOL") -- D20OCD3S2")
+-- setstate("BaHi_T5_S2","st")
+-- setstate("BaHi_T5_S1","st")
+
+ if not S.BaHi_T6 then
+ S.BaHi_T6 = os.time()
+ end
+-- interrupt(1,"departure")
+-- else
+ now = os.time()
+ tempdist = now-S.BaHi_T6
+ save_delay(tempdist)
+ delaystr = delay_text()
+ output = "last: "..S.BaHi_T6 .. "\nnow: " .. now .. "\ndelta: " .. tempdist.. "\n"..delta .. " " .. delaystr
+ digiline_send("lcd",output)
+ interrupt_pos( switchbox_cp, { action = "display", data = output } )
+ if tempdist > delta then
+ interrupt(15,"departure")
+ else
+ interrupt(-tempdist+delta,"departure")
+ end
+-- end
+ end
+ return
+end
+
+if event.type == "int" then
+ if event.msg == "departure" then
+ -- setstate("BaHi_T5_S2","st")
+ -- setstate("BaHi_T5_S1","st")
+ atc_set_text_inside("S23 -> Redwood")
+ atc_send("ROCD3S2")
+ now = os.time()
+ delaystr = delay_text()
+-- digiline_send("lcd","last: \nnow: " .. now .. "\ndelta: " .. tempdist.. "\n"..delta .. " " .. delaystr)
+ output = "last: " .. now .. " \n \n \n"..delta.." "..delaystr
+ digiline_send("lcd",output )
+ interrupt_pos( switchbox_cp, { action = "display", data = output } )
+ S.BaHi_T6 = now
+ end
+ return
+end \ No newline at end of file
diff --git a/durt/nodes/(-35,8,-2323).lua b/durt/nodes/(-35,8,-2323).lua
new file mode 100644
index 0000000..401821c
--- /dev/null
+++ b/durt/nodes/(-35,8,-2323).lua
@@ -0,0 +1 @@
+F.station("Ghb","W") \ No newline at end of file
diff --git a/durt/nodes/(-73,2,-1984).lua b/durt/nodes/(-73,2,-1984).lua
new file mode 100644
index 0000000..569eab1
--- /dev/null
+++ b/durt/nodes/(-73,2,-1984).lua
@@ -0,0 +1,2 @@
+F.set_desto("E", 21)
+F.station("Dbl", "E") \ No newline at end of file
diff --git a/durt/nodes/(139,8,-2054).lua b/durt/nodes/(139,8,-2054).lua
new file mode 100644
index 0000000..da88c32
--- /dev/null
+++ b/durt/nodes/(139,8,-2054).lua
@@ -0,0 +1 @@
+F.station("Gcl","W") \ No newline at end of file
diff --git a/durt/nodes/(151,8,-2046).lua b/durt/nodes/(151,8,-2046).lua
new file mode 100644
index 0000000..24a6c0b
--- /dev/null
+++ b/durt/nodes/(151,8,-2046).lua
@@ -0,0 +1 @@
+F.station("Gcl","E") \ No newline at end of file
diff --git a/durt/nodes/(258,2,-2054).lua b/durt/nodes/(258,2,-2054).lua
new file mode 100644
index 0000000..23e79be
--- /dev/null
+++ b/durt/nodes/(258,2,-2054).lua
@@ -0,0 +1 @@
+F.station("Sfs","W") \ No newline at end of file
diff --git a/durt/nodes/(273,2,-2046).lua b/durt/nodes/(273,2,-2046).lua
new file mode 100644
index 0000000..36cbad2
--- /dev/null
+++ b/durt/nodes/(273,2,-2046).lua
@@ -0,0 +1 @@
+F.station("Sfs","E") \ No newline at end of file
diff --git a/durt/nodes/(363,-3,-2026).lua b/durt/nodes/(363,-3,-2026).lua
new file mode 100644
index 0000000..a15195a
--- /dev/null
+++ b/durt/nodes/(363,-3,-2026).lua
@@ -0,0 +1 @@
+F.station("Jms","W") \ No newline at end of file
diff --git a/durt/nodes/(377,-3,-2018).lua b/durt/nodes/(377,-3,-2018).lua
new file mode 100644
index 0000000..a06c323
--- /dev/null
+++ b/durt/nodes/(377,-3,-2018).lua
@@ -0,0 +1 @@
+F.station("Jms","E") \ No newline at end of file
diff --git a/durt/nodes/(501,-3,-2026).lua b/durt/nodes/(501,-3,-2026).lua
new file mode 100644
index 0000000..708c331
--- /dev/null
+++ b/durt/nodes/(501,-3,-2026).lua
@@ -0,0 +1 @@
+F.station("Bam","W") \ No newline at end of file
diff --git a/durt/nodes/(515,-3,-2018).lua b/durt/nodes/(515,-3,-2018).lua
new file mode 100644
index 0000000..ef7d6a4
--- /dev/null
+++ b/durt/nodes/(515,-3,-2018).lua
@@ -0,0 +1 @@
+F.station("Bam","E") \ No newline at end of file
diff --git a/durt/nodes/(519,-3,-1944).lua b/durt/nodes/(519,-3,-1944).lua
new file mode 100644
index 0000000..51d69b4
--- /dev/null
+++ b/durt/nodes/(519,-3,-1944).lua
@@ -0,0 +1 @@
+atc_set_text_inside(atc_id) \ No newline at end of file
diff --git a/durt/nodes/(523,-3,-1936).lua b/durt/nodes/(523,-3,-1936).lua
new file mode 100644
index 0000000..51d69b4
--- /dev/null
+++ b/durt/nodes/(523,-3,-1936).lua
@@ -0,0 +1 @@
+atc_set_text_inside(atc_id) \ No newline at end of file
diff --git a/durt/nodes/(523,-3,-1942).lua b/durt/nodes/(523,-3,-1942).lua
new file mode 100644
index 0000000..51d69b4
--- /dev/null
+++ b/durt/nodes/(523,-3,-1942).lua
@@ -0,0 +1 @@
+atc_set_text_inside(atc_id) \ No newline at end of file
diff --git a/durt/nodes/(525,-3,-1940).lua b/durt/nodes/(525,-3,-1940).lua
new file mode 100644
index 0000000..51d69b4
--- /dev/null
+++ b/durt/nodes/(525,-3,-1940).lua
@@ -0,0 +1 @@
+atc_set_text_inside(atc_id) \ No newline at end of file
diff --git a/durt/nodes/(527,-3,-1959).lua b/durt/nodes/(527,-3,-1959).lua
new file mode 100644
index 0000000..f137323
--- /dev/null
+++ b/durt/nodes/(527,-3,-1959).lua
@@ -0,0 +1,11 @@
+if atc_arrow then
+ atc_send("B1")
+ set_line("X")
+ atc_set_text_outside("NOT IN SERVICE")
+ atc_set_text_inside("DEPOT")
+else
+ atc_send("SM")
+ set_line("1")
+ atc_set_text_outside("Line 21\n---> South Forest")
+ atc_set_text_inside("Next stop: Bamboo Hills")
+end \ No newline at end of file
diff --git a/durt/nodes/(529,-3,-1954).lua b/durt/nodes/(529,-3,-1954).lua
new file mode 100644
index 0000000..da5fd9f
--- /dev/null
+++ b/durt/nodes/(529,-3,-1954).lua
@@ -0,0 +1,11 @@
+if atc_arrow then
+ atc_send("SM")
+ set_line("1")
+ atc_set_text_outside("Line 21\n---> Turtle Rock")
+ atc_set_text_inside("Next stop: Clown Island")
+else
+ atc_send("B1")
+ set_line("X")
+ atc_set_text_outside("NOT IN SERVICE")
+ atc_set_text_inside("DEPOT")
+end \ No newline at end of file
diff --git a/durt/nodes/(596,-3,-1963).lua b/durt/nodes/(596,-3,-1963).lua
new file mode 100644
index 0000000..ef232c3
--- /dev/null
+++ b/durt/nodes/(596,-3,-1963).lua
@@ -0,0 +1 @@
+F.station("Cli","W") \ No newline at end of file
diff --git a/durt/nodes/(608,-3,-1957).lua b/durt/nodes/(608,-3,-1957).lua
new file mode 100644
index 0000000..37f35ff
--- /dev/null
+++ b/durt/nodes/(608,-3,-1957).lua
@@ -0,0 +1 @@
+F.station("Cli","E") \ No newline at end of file
diff --git a/durt/nodes/(686,-3,-1961).lua b/durt/nodes/(686,-3,-1961).lua
new file mode 100644
index 0000000..94c23fb
--- /dev/null
+++ b/durt/nodes/(686,-3,-1961).lua
@@ -0,0 +1 @@
+F.station("Wat","W") \ No newline at end of file
diff --git a/durt/nodes/(698,-3,-1959).lua b/durt/nodes/(698,-3,-1959).lua
new file mode 100644
index 0000000..f646518
--- /dev/null
+++ b/durt/nodes/(698,-3,-1959).lua
@@ -0,0 +1 @@
+F.station("Wat","E") \ No newline at end of file
diff --git a/durt/nodes/(74,8,-2124).lua b/durt/nodes/(74,8,-2124).lua
new file mode 100644
index 0000000..4589804
--- /dev/null
+++ b/durt/nodes/(74,8,-2124).lua
@@ -0,0 +1 @@
+F.station("Dri","E") \ No newline at end of file
diff --git a/durt/nodes/(74,8,-2297).lua b/durt/nodes/(74,8,-2297).lua
new file mode 100644
index 0000000..02cba9c
--- /dev/null
+++ b/durt/nodes/(74,8,-2297).lua
@@ -0,0 +1 @@
+F.station("Ged","E") \ No newline at end of file
diff --git a/durt/nodes/(770,6,-1938).lua b/durt/nodes/(770,6,-1938).lua
new file mode 100644
index 0000000..af2e64f
--- /dev/null
+++ b/durt/nodes/(770,6,-1938).lua
@@ -0,0 +1 @@
+F.station("Duf", "W") \ No newline at end of file
diff --git a/durt/nodes/(78,8,-2139).lua b/durt/nodes/(78,8,-2139).lua
new file mode 100644
index 0000000..d16d287
--- /dev/null
+++ b/durt/nodes/(78,8,-2139).lua
@@ -0,0 +1 @@
+F.station("Dri","W") \ No newline at end of file
diff --git a/durt/nodes/(78,8,-2312).lua b/durt/nodes/(78,8,-2312).lua
new file mode 100644
index 0000000..6a061ac
--- /dev/null
+++ b/durt/nodes/(78,8,-2312).lua
@@ -0,0 +1 @@
+F.station("Ged","W") \ No newline at end of file
diff --git a/durt/nodes/(782,6,-1930).lua b/durt/nodes/(782,6,-1930).lua
new file mode 100644
index 0000000..56e8aa5
--- /dev/null
+++ b/durt/nodes/(782,6,-1930).lua
@@ -0,0 +1 @@
+F.station("Duf","E") \ No newline at end of file
diff --git a/durt/nodes/(839,6,-1864).lua b/durt/nodes/(839,6,-1864).lua
new file mode 100644
index 0000000..85f60e1
--- /dev/null
+++ b/durt/nodes/(839,6,-1864).lua
@@ -0,0 +1 @@
+F.terminus("Tro", "W", 21) \ No newline at end of file
diff --git a/il_timetable/init_code.lua b/il_timetable/init_code.lua
new file mode 100644
index 0000000..919b007
--- /dev/null
+++ b/il_timetable/init_code.lua
@@ -0,0 +1,38 @@
+-- init code for LW timetable env
+
+-- stop, scheduled departure every
+-- d_int: Departure every n seconds (epoch modulo)
+-- d_off: Departure time offset
+function F.stop_sd(st_name, doors, departcommand, minstoptime, d_int, d_off)
+ if event.train then
+ local timenow = os.time()
+ local timerdy = timenow + minstoptime
+ local wait = d_int - ((timerdy-d_off) % d_int)
+ local waitcorr = math.floor(wait*0.66)
+ digiline_send("monitor", "Departure scheduled for: | "..os.date("%H:%M:%S", timenow+wait))
+ atc_send("B0 W O"..doors.." D"..waitcorr.." OCD1"..departcommand)
+ else
+ local timenow = os.time()
+ digiline_send("monitor", "Time: "..os.date("%H:%M:%S", timenow))
+ end
+end
+
+function F.stop_sd_sched(st_name, doors, departcommand, minstoptime, d_int, d_off)
+ if event.train then
+ local time_now = rwt.now()
+ local next_dep_time = rwt.next_rpt(rwt.add(time_now, minstoptime), d_int, d_off)
+ digiline_send("monitor", "Departure scheduled for: | "..rwt.to_string(next_dep_time, true))
+ atc_set_text_inside(st_name.."\nDeparture: "..rwt.to_string(next_dep_time, true))
+ atc_send("B0 W O"..doors)
+ schedule(next_dep_time, "depart")
+ elseif event.schedule then
+ atc_send("OCD1"..departcommand)
+ digiline_send("monitor", "Last Departure: | "..rwt.to_string(rwt.now(), true))
+ atc_set_text_inside("")
+ end
+end
+
+function F.timedisplay()
+digiline_send("time", "Time: | "..rwt.to_string(rwt.now(),true).." | "..os.date("%H:%M:%S"))
+schedule(rwt.next_rpt(rwt.now(),5,0), "")
+end \ No newline at end of file
diff --git a/il_timetable/nodes/(-4248,20,-3104).lua b/il_timetable/nodes/(-4248,20,-3104).lua
new file mode 100644
index 0000000..a8081e9
--- /dev/null
+++ b/il_timetable/nodes/(-4248,20,-3104).lua
@@ -0,0 +1 @@
+atc_set_text_outside("S31 - Asha Cliffs <> Trisiston") \ No newline at end of file
diff --git a/il_timetable/nodes/(-4248,20,-3107).lua b/il_timetable/nodes/(-4248,20,-3107).lua
new file mode 100644
index 0000000..2a723ae
--- /dev/null
+++ b/il_timetable/nodes/(-4248,20,-3107).lua
@@ -0,0 +1 @@
+atc_set_text_outside("E35 - Personhood West <> South Forest <> Trisiston") \ No newline at end of file
diff --git a/il_timetable/nodes/(-5301,31,-3188).lua b/il_timetable/nodes/(-5301,31,-3188).lua
new file mode 100644
index 0000000..3bcd906
--- /dev/null
+++ b/il_timetable/nodes/(-5301,31,-3188).lua
@@ -0,0 +1 @@
+atc_set_text_outside("E3 - Euler Street\n via Trisiston") \ No newline at end of file
diff --git a/il_timetable/nodes/(-5595,6,-3553).lua b/il_timetable/nodes/(-5595,6,-3553).lua
new file mode 100644
index 0000000..3bcd906
--- /dev/null
+++ b/il_timetable/nodes/(-5595,6,-3553).lua
@@ -0,0 +1 @@
+atc_set_text_outside("E3 - Euler Street\n via Trisiston") \ No newline at end of file
diff --git a/il_timetable/nodes/(-617,14,-411).lua b/il_timetable/nodes/(-617,14,-411).lua
new file mode 100644
index 0000000..c766c18
--- /dev/null
+++ b/il_timetable/nodes/(-617,14,-411).lua
@@ -0,0 +1,4 @@
+-- d_int: Departure every n seconds (epoch modulo)
+-- d_off: Departure time offset
+-- function F.stop_sd(st_name, doors, departcommand, minstoptime, d_int, d_off)
+F.stop_sd_sched("Main Station", "R", "RSM", 30, 240, 35) \ No newline at end of file
diff --git a/il_timetable/nodes/(-626,14,-423).lua b/il_timetable/nodes/(-626,14,-423).lua
new file mode 100644
index 0000000..fdca82b
--- /dev/null
+++ b/il_timetable/nodes/(-626,14,-423).lua
@@ -0,0 +1,3 @@
+if atc_arrow then
+ atc_set_text_outside("S1 - Origin \nvia Riverside, Onionland")
+end \ No newline at end of file
diff --git a/il_timetable/nodes/(-628,14,-399).lua b/il_timetable/nodes/(-628,14,-399).lua
new file mode 100644
index 0000000..f84dff7
--- /dev/null
+++ b/il_timetable/nodes/(-628,14,-399).lua
@@ -0,0 +1,2 @@
+digiline_send("time", "Time: | "..rwt.to_string(rwt.now()).." | "..os.date("%H:%M:%S"))
+schedule(rwt.next_rpt(rwt.now(),5,0), "") \ No newline at end of file
diff --git a/il_timetable/nodes/(-631,14,-404).lua b/il_timetable/nodes/(-631,14,-404).lua
new file mode 100644
index 0000000..750d82a
--- /dev/null
+++ b/il_timetable/nodes/(-631,14,-404).lua
@@ -0,0 +1,4 @@
+-- d_int: Departure every n seconds (epoch modulo)
+-- d_off: Departure time offset
+-- function F.stop_sd(st_name, doors, departcommand, minstoptime, d_int, d_off)
+F.stop_sd_sched("Main Station", "L", "SM", 10, 120, 0) \ No newline at end of file
diff --git a/il_timetable/nodes/(-863,14,-492).lua b/il_timetable/nodes/(-863,14,-492).lua
new file mode 100644
index 0000000..c78f4fb
--- /dev/null
+++ b/il_timetable/nodes/(-863,14,-492).lua
@@ -0,0 +1,9 @@
+
+if flip then
+ atc_set_text_outside("E3 - Sraczka's Village\n via Trisiston")
+ set_rc("E3_Sra")
+else
+ atc_set_text_outside("E3 - Garden of Eden Ferry\n via Trisiston")
+ set_rc("E3_Edf")
+end
+flip = not flip \ No newline at end of file
diff --git a/il_timetable/nodes/(118,16,-98).lua b/il_timetable/nodes/(118,16,-98).lua
new file mode 100644
index 0000000..84d5c2e
--- /dev/null
+++ b/il_timetable/nodes/(118,16,-98).lua
@@ -0,0 +1,3 @@
+if atc_arrow then
+ atc_set_text_outside("S1 - Spawn Main Stn. \nvia Onionland, Riverside")
+end \ No newline at end of file
diff --git a/il_timetable/nodes/(1732,27,2924).lua b/il_timetable/nodes/(1732,27,2924).lua
new file mode 100644
index 0000000..6c2907f
--- /dev/null
+++ b/il_timetable/nodes/(1732,27,2924).lua
@@ -0,0 +1 @@
+F.timedisplay() \ No newline at end of file
diff --git a/il_timetable/nodes/(1734,26,2921).lua b/il_timetable/nodes/(1734,26,2921).lua
new file mode 100644
index 0000000..35358e3
--- /dev/null
+++ b/il_timetable/nodes/(1734,26,2921).lua
@@ -0,0 +1,5 @@
+-- d_int: Departure every n seconds (epoch modulo)
+-- d_off: Departure time offset
+-- function F.stop_sd(st_name, doors, departcommand, minstoptime, d_int, d_off)
+F.stop_sd_sched("Ehlodex", "R", "RSM", 10, 120, 70)
+atc_set_text_outside("E1 - Melinka Town") \ No newline at end of file
diff --git a/il_timetable/nodes/(1735,15,2947).lua b/il_timetable/nodes/(1735,15,2947).lua
new file mode 100644
index 0000000..c30c9cd
--- /dev/null
+++ b/il_timetable/nodes/(1735,15,2947).lua
@@ -0,0 +1,7 @@
+if get_line() == "S14" then
+atc_set_text_outside("S14 - Manaugh Memorial")
+elseif get_line() == "S16" then
+atc_set_text_outside("S16 - Maze")
+elseif get_line() == "S16a" then
+atc_set_text_outside("S16a - Deep Valley Mountain")
+end \ No newline at end of file
diff --git a/il_timetable/nodes/(241,13,-2039).lua b/il_timetable/nodes/(241,13,-2039).lua
new file mode 100644
index 0000000..b3dd9f7
--- /dev/null
+++ b/il_timetable/nodes/(241,13,-2039).lua
@@ -0,0 +1 @@
+set_line("E35") \ No newline at end of file
diff --git a/il_timetable/nodes/(273,13,-2051).lua b/il_timetable/nodes/(273,13,-2051).lua
new file mode 100644
index 0000000..553947c
--- /dev/null
+++ b/il_timetable/nodes/(273,13,-2051).lua
@@ -0,0 +1,2 @@
+F.stop_sd("South Forest", "R", "RSM", 0, 120, 0)
+atc_set_text_outside("E2 - Origin") \ No newline at end of file
diff --git a/il_timetable/nodes/(957,14,1047).lua b/il_timetable/nodes/(957,14,1047).lua
new file mode 100644
index 0000000..1db46f4
--- /dev/null
+++ b/il_timetable/nodes/(957,14,1047).lua
@@ -0,0 +1,4 @@
+-- d_int: Departure every n seconds (epoch modulo)
+-- d_off: Departure time offset
+-- function F.stop_sd(st_name, doors, departcommand, minstoptime, d_int, d_off)
+F.stop_sd_sched("Ehlodex", "R", "SM", 10, 60, 0) \ No newline at end of file
diff --git a/il_timetable/nodes/(962,15,1041).lua b/il_timetable/nodes/(962,15,1041).lua
new file mode 100644
index 0000000..f84dff7
--- /dev/null
+++ b/il_timetable/nodes/(962,15,1041).lua
@@ -0,0 +1,2 @@
+digiline_send("time", "Time: | "..rwt.to_string(rwt.now()).." | "..os.date("%H:%M:%S"))
+schedule(rwt.next_rpt(rwt.now(),5,0), "") \ No newline at end of file
diff --git a/il_timetable/nodes/(969,14,1049).lua b/il_timetable/nodes/(969,14,1049).lua
new file mode 100644
index 0000000..bf63cf8
--- /dev/null
+++ b/il_timetable/nodes/(969,14,1049).lua
@@ -0,0 +1,4 @@
+-- d_int: Departure every n seconds (epoch modulo)
+-- d_off: Departure time offset
+-- function F.stop_sd(st_name, doors, departcommand, minstoptime, d_int, d_off)
+F.stop_sd_sched("Ehlodex", "L", "RSM", 10, 120, 85) \ No newline at end of file
diff --git a/il_timetable/nodes/(972,14,1053).lua b/il_timetable/nodes/(972,14,1053).lua
new file mode 100644
index 0000000..fde413c
--- /dev/null
+++ b/il_timetable/nodes/(972,14,1053).lua
@@ -0,0 +1,4 @@
+-- d_int: Departure every n seconds (epoch modulo)
+-- d_off: Departure time offset
+-- function F.stop_sd(st_name, doors, departcommand, minstoptime, d_int, d_off)
+F.stop_sd_sched("Ehlodex", "R", "RSM", 10, 240, 75) \ No newline at end of file
diff --git a/nlvcross/init_code.lua b/nlvcross/init_code.lua
new file mode 100644
index 0000000..465ce8f
--- /dev/null
+++ b/nlvcross/init_code.lua
@@ -0,0 +1,51 @@
+F.crossings={
+ ML1_unnamed=2,
+ ML1_Scl1=2,
+ freightrwa = 2,
+ smlpatha = 2,
+ spneul = 10,
+ spneul_jnc = 7,
+ MOriStn = 4,
+ MSouthForest1509 = 2,
+ SF1Station = 5,
+ SF1West = 2,
+ SF1SouthWest = 4,
+ Snb=3,
+ LovelaceAve = 6,
+ Onionland = 2,
+ PH_West = 4,
+ PH_WestS = 2,
+ gardonst = 4,
+}
+--[[ Setting up level crossings:
+1. choose a name
+2. add that into the crossings table, with the number of crossing signs to trigger
+3. name the crossing signs <name><number>
+4. for each rail in each direction, add an F.on() and an F.off() rail
+F.on(<name>, <directionAndRail>)
+F.off(<name>, <directionAndRail>)
+where directionAndRail is another identifier.
+Always point the arrows in the direction the train is driving.
+]]--
+if not S.crossst then S.crossst={} end
+--Point arrows in driving direction!
+function F.on(cross, inst, inv)
+if atc_arrow~=inv then
+ local num=F.crossings[cross]
+ if not S.crossst[cross] then S.crossst[cross]={} end
+ S.crossst[cross][inst]=true
+ for i=1,num do
+ setstate(cross..i, "on")
+ end
+end
+end
+function F.off(cross, inst, inv)
+if atc_arrow~=inv then
+ local num=F.crossings[cross]
+ S.crossst[cross][inst]=nil
+ for _,_ in pairs(S.crossst[cross]) do return end
+ for i=1,num do
+ setstate(cross..i, "off")
+ end
+end
+end \ No newline at end of file
diff --git a/nlvcross/nodes/(-145,8,-734).lua b/nlvcross/nodes/(-145,8,-734).lua
new file mode 100644
index 0000000..5b74423
--- /dev/null
+++ b/nlvcross/nodes/(-145,8,-734).lua
@@ -0,0 +1 @@
+F.on("Onionland", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(-149,8,-2161).lua b/nlvcross/nodes/(-149,8,-2161).lua
new file mode 100644
index 0000000..ec43d11
--- /dev/null
+++ b/nlvcross/nodes/(-149,8,-2161).lua
@@ -0,0 +1 @@
+F.off("SF1West", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(-151,8,-2127).lua b/nlvcross/nodes/(-151,8,-2127).lua
new file mode 100644
index 0000000..47b60ca
--- /dev/null
+++ b/nlvcross/nodes/(-151,8,-2127).lua
@@ -0,0 +1 @@
+F.off("SF1West", 1) \ No newline at end of file
diff --git a/nlvcross/nodes/(-151,8,-2194).lua b/nlvcross/nodes/(-151,8,-2194).lua
new file mode 100644
index 0000000..eab140c
--- /dev/null
+++ b/nlvcross/nodes/(-151,8,-2194).lua
@@ -0,0 +1 @@
+F.on("SF1West", 1) \ No newline at end of file
diff --git a/nlvcross/nodes/(-156,7,-2092).lua b/nlvcross/nodes/(-156,7,-2092).lua
new file mode 100644
index 0000000..d7aff85
--- /dev/null
+++ b/nlvcross/nodes/(-156,7,-2092).lua
@@ -0,0 +1 @@
+F.on("SF1West", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(-159,8,-1995).lua b/nlvcross/nodes/(-159,8,-1995).lua
new file mode 100644
index 0000000..e0ebb06
--- /dev/null
+++ b/nlvcross/nodes/(-159,8,-1995).lua
@@ -0,0 +1 @@
+F.on("SF1SouthWest", 1, true) \ No newline at end of file
diff --git a/nlvcross/nodes/(-181,8,-818).lua b/nlvcross/nodes/(-181,8,-818).lua
new file mode 100644
index 0000000..b5e97ba
--- /dev/null
+++ b/nlvcross/nodes/(-181,8,-818).lua
@@ -0,0 +1 @@
+F.off("Onionland", 1) \ No newline at end of file
diff --git a/nlvcross/nodes/(-229,6,-827).lua b/nlvcross/nodes/(-229,6,-827).lua
new file mode 100644
index 0000000..29bc50e
--- /dev/null
+++ b/nlvcross/nodes/(-229,6,-827).lua
@@ -0,0 +1 @@
+F.off("Onionland", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(-257,19,-339).lua b/nlvcross/nodes/(-257,19,-339).lua
new file mode 100644
index 0000000..b230511
--- /dev/null
+++ b/nlvcross/nodes/(-257,19,-339).lua
@@ -0,0 +1 @@
+F.on("MOriStn", "R1") \ No newline at end of file
diff --git a/nlvcross/nodes/(-318,6,-830).lua b/nlvcross/nodes/(-318,6,-830).lua
new file mode 100644
index 0000000..09f5b57
--- /dev/null
+++ b/nlvcross/nodes/(-318,6,-830).lua
@@ -0,0 +1 @@
+F.on("Onionland", 1) \ No newline at end of file
diff --git a/nlvcross/nodes/(-333,19,-342).lua b/nlvcross/nodes/(-333,19,-342).lua
new file mode 100644
index 0000000..feadc46
--- /dev/null
+++ b/nlvcross/nodes/(-333,19,-342).lua
@@ -0,0 +1 @@
+F.off("MOriStn", "R2") \ No newline at end of file
diff --git a/nlvcross/nodes/(-359,19,-325).lua b/nlvcross/nodes/(-359,19,-325).lua
new file mode 100644
index 0000000..d8f0d8b
--- /dev/null
+++ b/nlvcross/nodes/(-359,19,-325).lua
@@ -0,0 +1,2 @@
+F.off("MOriStn", "R1")
+F.on("LovelaceAve", 1) \ No newline at end of file
diff --git a/nlvcross/nodes/(-435,20,-328).lua b/nlvcross/nodes/(-435,20,-328).lua
new file mode 100644
index 0000000..f16a73d
--- /dev/null
+++ b/nlvcross/nodes/(-435,20,-328).lua
@@ -0,0 +1,2 @@
+F.on("MOriStn", "R2")
+F.off("LovelaceAve", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(-4955,6,-3553).lua b/nlvcross/nodes/(-4955,6,-3553).lua
new file mode 100644
index 0000000..1e4449c
--- /dev/null
+++ b/nlvcross/nodes/(-4955,6,-3553).lua
@@ -0,0 +1 @@
+F.on("ML1_Scl1", "W") \ No newline at end of file
diff --git a/nlvcross/nodes/(-526,20,-325).lua b/nlvcross/nodes/(-526,20,-325).lua
new file mode 100644
index 0000000..a4927c8
--- /dev/null
+++ b/nlvcross/nodes/(-526,20,-325).lua
@@ -0,0 +1 @@
+F.off("LovelaceAve", 1) \ No newline at end of file
diff --git a/nlvcross/nodes/(-577,16,-328).lua b/nlvcross/nodes/(-577,16,-328).lua
new file mode 100644
index 0000000..33c58bd
--- /dev/null
+++ b/nlvcross/nodes/(-577,16,-328).lua
@@ -0,0 +1 @@
+F.on("LovelaceAve", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(-602,14,-560).lua b/nlvcross/nodes/(-602,14,-560).lua
new file mode 100644
index 0000000..41ee727
--- /dev/null
+++ b/nlvcross/nodes/(-602,14,-560).lua
@@ -0,0 +1 @@
+F.on("spneul_jnc", "") \ No newline at end of file
diff --git a/nlvcross/nodes/(-6037,3,-3552).lua b/nlvcross/nodes/(-6037,3,-3552).lua
new file mode 100644
index 0000000..fcd887c
--- /dev/null
+++ b/nlvcross/nodes/(-6037,3,-3552).lua
@@ -0,0 +1 @@
+F.on("ML1_Scl1","E") \ No newline at end of file
diff --git a/nlvcross/nodes/(-621,14,-551).lua b/nlvcross/nodes/(-621,14,-551).lua
new file mode 100644
index 0000000..162a73b
--- /dev/null
+++ b/nlvcross/nodes/(-621,14,-551).lua
@@ -0,0 +1 @@
+F.off("spneul_jnc", "") \ No newline at end of file
diff --git a/nlvcross/nodes/(-640,14,-511).lua b/nlvcross/nodes/(-640,14,-511).lua
new file mode 100644
index 0000000..41ee727
--- /dev/null
+++ b/nlvcross/nodes/(-640,14,-511).lua
@@ -0,0 +1 @@
+F.on("spneul_jnc", "") \ No newline at end of file
diff --git a/nlvcross/nodes/(-640,14,-542).lua b/nlvcross/nodes/(-640,14,-542).lua
new file mode 100644
index 0000000..162a73b
--- /dev/null
+++ b/nlvcross/nodes/(-640,14,-542).lua
@@ -0,0 +1 @@
+F.off("spneul_jnc", "") \ No newline at end of file
diff --git a/nlvcross/nodes/(-652,14,-553).lua b/nlvcross/nodes/(-652,14,-553).lua
new file mode 100644
index 0000000..19dd9f3
--- /dev/null
+++ b/nlvcross/nodes/(-652,14,-553).lua
@@ -0,0 +1,2 @@
+F.off("spneul_jnc", "")
+F.on("spneul", "") \ No newline at end of file
diff --git a/nlvcross/nodes/(-692,14,-551).lua b/nlvcross/nodes/(-692,14,-551).lua
new file mode 100644
index 0000000..fb32192
--- /dev/null
+++ b/nlvcross/nodes/(-692,14,-551).lua
@@ -0,0 +1,2 @@
+F.off("spneul", "")
+F.on("spneul_jnc", "") \ No newline at end of file
diff --git a/nlvcross/nodes/(-740,8,-712).lua b/nlvcross/nodes/(-740,8,-712).lua
new file mode 100644
index 0000000..248fddb
--- /dev/null
+++ b/nlvcross/nodes/(-740,8,-712).lua
@@ -0,0 +1 @@
+F.on("smlpatha", 1) \ No newline at end of file
diff --git a/nlvcross/nodes/(-740,8,-715).lua b/nlvcross/nodes/(-740,8,-715).lua
new file mode 100644
index 0000000..5751df0
--- /dev/null
+++ b/nlvcross/nodes/(-740,8,-715).lua
@@ -0,0 +1 @@
+F.on("smlpatha", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(-821,8,-712).lua b/nlvcross/nodes/(-821,8,-712).lua
new file mode 100644
index 0000000..856d35f
--- /dev/null
+++ b/nlvcross/nodes/(-821,8,-712).lua
@@ -0,0 +1 @@
+F.off("smlpatha", 1) \ No newline at end of file
diff --git a/nlvcross/nodes/(-821,8,-715).lua b/nlvcross/nodes/(-821,8,-715).lua
new file mode 100644
index 0000000..7a5d486
--- /dev/null
+++ b/nlvcross/nodes/(-821,8,-715).lua
@@ -0,0 +1 @@
+F.off("smlpatha", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(-860,14,-551).lua b/nlvcross/nodes/(-860,14,-551).lua
new file mode 100644
index 0000000..a03adb5
--- /dev/null
+++ b/nlvcross/nodes/(-860,14,-551).lua
@@ -0,0 +1 @@
+F.off("spneul", "") \ No newline at end of file
diff --git a/nlvcross/nodes/(-861,8,-712).lua b/nlvcross/nodes/(-861,8,-712).lua
new file mode 100644
index 0000000..856d35f
--- /dev/null
+++ b/nlvcross/nodes/(-861,8,-712).lua
@@ -0,0 +1 @@
+F.off("smlpatha", 1) \ No newline at end of file
diff --git a/nlvcross/nodes/(-861,8,-715).lua b/nlvcross/nodes/(-861,8,-715).lua
new file mode 100644
index 0000000..7a5d486
--- /dev/null
+++ b/nlvcross/nodes/(-861,8,-715).lua
@@ -0,0 +1 @@
+F.off("smlpatha", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(-878,11,-555).lua b/nlvcross/nodes/(-878,11,-555).lua
new file mode 100644
index 0000000..6fefd75
--- /dev/null
+++ b/nlvcross/nodes/(-878,11,-555).lua
@@ -0,0 +1 @@
+F.on("spneul", "") \ No newline at end of file
diff --git a/nlvcross/nodes/(-88,2,-1984).lua b/nlvcross/nodes/(-88,2,-1984).lua
new file mode 100644
index 0000000..c9658a4
--- /dev/null
+++ b/nlvcross/nodes/(-88,2,-1984).lua
@@ -0,0 +1 @@
+F.off("SF1SouthWest", 1) \ No newline at end of file
diff --git a/nlvcross/nodes/(1045,11,2991).lua b/nlvcross/nodes/(1045,11,2991).lua
new file mode 100644
index 0000000..bd820e8
--- /dev/null
+++ b/nlvcross/nodes/(1045,11,2991).lua
@@ -0,0 +1 @@
+F.off("PH_WestS", "1") \ No newline at end of file
diff --git a/nlvcross/nodes/(105,16,-75).lua b/nlvcross/nodes/(105,16,-75).lua
new file mode 100644
index 0000000..ebeedf7
--- /dev/null
+++ b/nlvcross/nodes/(105,16,-75).lua
@@ -0,0 +1,15 @@
+local d = os.date()
+local m = d.min
+if event.train then
+atc_send("B0WOL")
+end
+if m % 10 == 0 then
+atc_send("B0WOCD1RSM")
+local h = d.hour
+local mm = (m + 10)%60
+if mm<10 and m>10 then h=h+1 end
+digiline_send("depmon", "Train to | Kulbacki Land | Next dep.: | "..h..":"..mm)
+else
+digiline_send("depmon", "Train to | Kulbacki Land | in "..(9-(m%10)).."m"..(59-d.sec).."s")
+interrupt(10)
+end \ No newline at end of file
diff --git a/nlvcross/nodes/(1057,11,2991).lua b/nlvcross/nodes/(1057,11,2991).lua
new file mode 100644
index 0000000..9989376
--- /dev/null
+++ b/nlvcross/nodes/(1057,11,2991).lua
@@ -0,0 +1 @@
+F.off("PH_WestS", "2") \ No newline at end of file
diff --git a/nlvcross/nodes/(1088,11,2991).lua b/nlvcross/nodes/(1088,11,2991).lua
new file mode 100644
index 0000000..b448256
--- /dev/null
+++ b/nlvcross/nodes/(1088,11,2991).lua
@@ -0,0 +1 @@
+F.on("PH_WestS", "1") \ No newline at end of file
diff --git a/nlvcross/nodes/(110,20,-77).lua b/nlvcross/nodes/(110,20,-77).lua
new file mode 100644
index 0000000..f9f03ad
--- /dev/null
+++ b/nlvcross/nodes/(110,20,-77).lua
@@ -0,0 +1,3 @@
+i = 10 - (os.date().min % 10 )
+digiline_send("kulb", "Track 2 |Kulbacki's city "..i.." min")
+interrupt(20) \ No newline at end of file
diff --git a/nlvcross/nodes/(1106,19,2897).lua b/nlvcross/nodes/(1106,19,2897).lua
new file mode 100644
index 0000000..ff8e75f
--- /dev/null
+++ b/nlvcross/nodes/(1106,19,2897).lua
@@ -0,0 +1 @@
+F.off("PH_West", "1") \ No newline at end of file
diff --git a/nlvcross/nodes/(1106,19,3000).lua b/nlvcross/nodes/(1106,19,3000).lua
new file mode 100644
index 0000000..182a61a
--- /dev/null
+++ b/nlvcross/nodes/(1106,19,3000).lua
@@ -0,0 +1 @@
+F.on("PH_West", "1") \ No newline at end of file
diff --git a/nlvcross/nodes/(1109,16,2771).lua b/nlvcross/nodes/(1109,16,2771).lua
new file mode 100644
index 0000000..b7d5258
--- /dev/null
+++ b/nlvcross/nodes/(1109,16,2771).lua
@@ -0,0 +1 @@
+F.on("PH_West", "2") \ No newline at end of file
diff --git a/nlvcross/nodes/(1109,19,2928).lua b/nlvcross/nodes/(1109,19,2928).lua
new file mode 100644
index 0000000..efbe5a7
--- /dev/null
+++ b/nlvcross/nodes/(1109,19,2928).lua
@@ -0,0 +1 @@
+F.off("PH_West", "2") \ No newline at end of file
diff --git a/nlvcross/nodes/(153,8,-2046).lua b/nlvcross/nodes/(153,8,-2046).lua
new file mode 100644
index 0000000..4dbd79d
--- /dev/null
+++ b/nlvcross/nodes/(153,8,-2046).lua
@@ -0,0 +1 @@
+F.on("SF1Station", 1) \ No newline at end of file
diff --git a/nlvcross/nodes/(1801,8,-43).lua b/nlvcross/nodes/(1801,8,-43).lua
new file mode 100644
index 0000000..71cd7d6
--- /dev/null
+++ b/nlvcross/nodes/(1801,8,-43).lua
@@ -0,0 +1,15 @@
+local d = os.date()
+local m = d.min
+if event.train then
+atc_send("B0WOL")
+end
+if m % 10 == 5 then
+atc_send("B0WOCD1RSM")
+local h = d.hour
+local mm = (m + 10)%60
+if mm<10 and m>10 then h=h+1 end
+digiline_send("depmon", "Train to | Marcuse Street | Next dep.: | "..h..":"..mm)
+else
+digiline_send("depmon", "Train to | Marcuse Street | in "..(4-(m%10)).."m"..(59-d.sec).."s")
+interrupt(10)
+end \ No newline at end of file
diff --git a/nlvcross/nodes/(205,8,-2052).lua b/nlvcross/nodes/(205,8,-2052).lua
new file mode 100644
index 0000000..2f59d53
--- /dev/null
+++ b/nlvcross/nodes/(205,8,-2052).lua
@@ -0,0 +1 @@
+F.off("SF1Station", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(219,8,-2048).lua b/nlvcross/nodes/(219,8,-2048).lua
new file mode 100644
index 0000000..25363e1
--- /dev/null
+++ b/nlvcross/nodes/(219,8,-2048).lua
@@ -0,0 +1,3 @@
+if atc_arrow then
+ F.off("SF1Station", 1)
+end \ No newline at end of file
diff --git a/nlvcross/nodes/(256,2,-2054).lua b/nlvcross/nodes/(256,2,-2054).lua
new file mode 100644
index 0000000..b42d779
--- /dev/null
+++ b/nlvcross/nodes/(256,2,-2054).lua
@@ -0,0 +1 @@
+F.on("SF1Station", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(544,8,-1331).lua b/nlvcross/nodes/(544,8,-1331).lua
new file mode 100644
index 0000000..2a22691
--- /dev/null
+++ b/nlvcross/nodes/(544,8,-1331).lua
@@ -0,0 +1 @@
+F.on("MSouthForest1509", "2") \ No newline at end of file
diff --git a/nlvcross/nodes/(544,8,-1470).lua b/nlvcross/nodes/(544,8,-1470).lua
new file mode 100644
index 0000000..1bc1794
--- /dev/null
+++ b/nlvcross/nodes/(544,8,-1470).lua
@@ -0,0 +1 @@
+F.off("MSouthForest1509", "2") \ No newline at end of file
diff --git a/nlvcross/nodes/(544,8,-1546).lua b/nlvcross/nodes/(544,8,-1546).lua
new file mode 100644
index 0000000..1bc1794
--- /dev/null
+++ b/nlvcross/nodes/(544,8,-1546).lua
@@ -0,0 +1 @@
+F.off("MSouthForest1509", "2") \ No newline at end of file
diff --git a/nlvcross/nodes/(544,8,-1681).lua b/nlvcross/nodes/(544,8,-1681).lua
new file mode 100644
index 0000000..0e74464
--- /dev/null
+++ b/nlvcross/nodes/(544,8,-1681).lua
@@ -0,0 +1,3 @@
+--
+
+F.on("MSouthForest1509", "2") \ No newline at end of file
diff --git a/nlvcross/nodes/(544,8,-1690).lua b/nlvcross/nodes/(544,8,-1690).lua
new file mode 100644
index 0000000..b17e4d9
--- /dev/null
+++ b/nlvcross/nodes/(544,8,-1690).lua
@@ -0,0 +1,2 @@
+--
+F.on("MSouthForest1509", "2")
diff --git a/nlvcross/nodes/(547,8,-1327).lua b/nlvcross/nodes/(547,8,-1327).lua
new file mode 100644
index 0000000..c3d41f6
--- /dev/null
+++ b/nlvcross/nodes/(547,8,-1327).lua
@@ -0,0 +1 @@
+F.on("MSouthForest1509", "1") \ No newline at end of file
diff --git a/nlvcross/nodes/(547,8,-1470).lua b/nlvcross/nodes/(547,8,-1470).lua
new file mode 100644
index 0000000..6a5dccb
--- /dev/null
+++ b/nlvcross/nodes/(547,8,-1470).lua
@@ -0,0 +1 @@
+F.off("MSouthForest1509", "1") \ No newline at end of file
diff --git a/nlvcross/nodes/(547,8,-1546).lua b/nlvcross/nodes/(547,8,-1546).lua
new file mode 100644
index 0000000..6a5dccb
--- /dev/null
+++ b/nlvcross/nodes/(547,8,-1546).lua
@@ -0,0 +1 @@
+F.off("MSouthForest1509", "1") \ No newline at end of file
diff --git a/nlvcross/nodes/(547,8,-1681).lua b/nlvcross/nodes/(547,8,-1681).lua
new file mode 100644
index 0000000..12a21ab
--- /dev/null
+++ b/nlvcross/nodes/(547,8,-1681).lua
@@ -0,0 +1,3 @@
+--
+
+F.on("MSouthForest1509", "1") \ No newline at end of file
diff --git a/nlvcross/nodes/(547,8,-1690).lua b/nlvcross/nodes/(547,8,-1690).lua
new file mode 100644
index 0000000..c3d41f6
--- /dev/null
+++ b/nlvcross/nodes/(547,8,-1690).lua
@@ -0,0 +1 @@
+F.on("MSouthForest1509", "1") \ No newline at end of file
diff --git a/nlvcross/nodes/(572,14,1011).lua b/nlvcross/nodes/(572,14,1011).lua
new file mode 100644
index 0000000..a736db4
--- /dev/null
+++ b/nlvcross/nodes/(572,14,1011).lua
@@ -0,0 +1,3 @@
+if get_line()=="E1" and get_aspect("gardonst_lvc_sig1").main.free then
+ F.on("gardonst","1")
+end \ No newline at end of file
diff --git a/nlvcross/nodes/(613,14,1011).lua b/nlvcross/nodes/(613,14,1011).lua
new file mode 100644
index 0000000..019ebcd
--- /dev/null
+++ b/nlvcross/nodes/(613,14,1011).lua
@@ -0,0 +1,3 @@
+if get_line()=="E1" then
+ F.on("gardonst","1")
+end \ No newline at end of file
diff --git a/nlvcross/nodes/(633,11,-23).lua b/nlvcross/nodes/(633,11,-23).lua
new file mode 100644
index 0000000..93da240
--- /dev/null
+++ b/nlvcross/nodes/(633,11,-23).lua
@@ -0,0 +1,2 @@
+F.off("Snb", 1)
+atc_send("B2") \ No newline at end of file
diff --git a/nlvcross/nodes/(664,14,1013).lua b/nlvcross/nodes/(664,14,1013).lua
new file mode 100644
index 0000000..06673fb
--- /dev/null
+++ b/nlvcross/nodes/(664,14,1013).lua
@@ -0,0 +1 @@
+F.off("Rgs", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(664,14,1014).lua b/nlvcross/nodes/(664,14,1014).lua
new file mode 100644
index 0000000..a13454f
--- /dev/null
+++ b/nlvcross/nodes/(664,14,1014).lua
@@ -0,0 +1 @@
+F.off("gardonst","2") \ No newline at end of file
diff --git a/nlvcross/nodes/(668,14,1011).lua b/nlvcross/nodes/(668,14,1011).lua
new file mode 100644
index 0000000..5f2b6b1
--- /dev/null
+++ b/nlvcross/nodes/(668,14,1011).lua
@@ -0,0 +1,5 @@
+if event.train and get_line()~="E1" then
+ interrupt(6,"lvon")
+elseif event.int then
+ F.on("gardonst","1")
+end \ No newline at end of file
diff --git a/nlvcross/nodes/(702,14,1011).lua b/nlvcross/nodes/(702,14,1011).lua
new file mode 100644
index 0000000..ab471ad
--- /dev/null
+++ b/nlvcross/nodes/(702,14,1011).lua
@@ -0,0 +1 @@
+F.off("gardonst","1") \ No newline at end of file
diff --git a/nlvcross/nodes/(704,12,-42).lua b/nlvcross/nodes/(704,12,-42).lua
new file mode 100644
index 0000000..80c6783
--- /dev/null
+++ b/nlvcross/nodes/(704,12,-42).lua
@@ -0,0 +1 @@
+F.on("Snb", 1) \ No newline at end of file
diff --git a/nlvcross/nodes/(738,14,1013).lua b/nlvcross/nodes/(738,14,1013).lua
new file mode 100644
index 0000000..7a5627d
--- /dev/null
+++ b/nlvcross/nodes/(738,14,1013).lua
@@ -0,0 +1 @@
+F.on("Rgs", 2) \ No newline at end of file
diff --git a/nlvcross/nodes/(803,14,1014).lua b/nlvcross/nodes/(803,14,1014).lua
new file mode 100644
index 0000000..5776672
--- /dev/null
+++ b/nlvcross/nodes/(803,14,1014).lua
@@ -0,0 +1 @@
+F.on("gardonst","2") \ No newline at end of file
diff --git a/nlvcross/nodes/(999,11,2991).lua b/nlvcross/nodes/(999,11,2991).lua
new file mode 100644
index 0000000..9989376
--- /dev/null
+++ b/nlvcross/nodes/(999,11,2991).lua
@@ -0,0 +1 @@
+F.off("PH_WestS", "2") \ No newline at end of file
diff --git a/ocean_city/init_code.lua b/ocean_city/init_code.lua
new file mode 100644
index 0000000..8437835
--- /dev/null
+++ b/ocean_city/init_code.lua
@@ -0,0 +1,19 @@
+--
+
+local subway_station = {}
+
+subway_station[1] = "OCP Ministore"
+subway_station[2] = "Mushroom Market"
+subway_station[3] = "Beach"
+subway_station[4] = "Zoo / Public Mine"
+subway_station[5] = "Public Farm"
+subway_station[6] = "OCP ministore"
+subway_station[7] = "Station"
+subway_station[8] = "Express Station"
+subway_station[9] = "City Hall"
+
+S.subway_stations = subway_stations
+
+local setze_texte = function (index)
+ local neuer_ort
+end \ No newline at end of file
diff --git a/subway/init_code.lua b/subway/init_code.lua
new file mode 100644
index 0000000..aaf84a4
--- /dev/null
+++ b/subway/init_code.lua
@@ -0,0 +1,363 @@
+--F.stn_union=function(line1, prev1, prev2, this, next, doors, dps, osig, ret_sw, ret_st, nohalt, waittime)
+F.stationnames={
+Ban="Bananame",
+ctr="Coulomb Street Triangle",
+Cht="Churchill Street",
+Bbe="Birch Bay East",
+Bap="Turtle Rock",
+Icm="Ice Mountain",
+Eft="BHS10",
+Apl="Apple Plains",
+Pal="Palm Bay",
+Slh="Smacker's Land of Hope and Glory",
+Lks="Leekston",
+Ta1="Testing Area 1",
+Ta2="Testing Area 2",
+Ahr="AHRAZHUL's Station",
+Ahz="Large Beach",
+Wim="Windy Mountains",
+Dam="Szymon's Dam",
+Wva="Windy Mountains Valley 1",
+Wvb="Windy Mountains Valley 2",
+Wvc="Windy Mountains Valley 3",
+App="Apple Grove",
+Dem="Desert Mountain",
+Dev="Desert View (OCP)",
+Lvc="Levenshtein Canyon",
+Gho="Green Hope",
+Snb="Snake Bend",
+Adb="Adorno Boulevard",
+Duf="Duff Road",
+Wat="Something in the water",
+Ram="Ramanujan Street",
+Per="Perelman Street",
+Trp="Trump Park",
+Sfs="South Forest Station",
+Lok="Jude Milhon Street",
+Bam="Bamboo Hills",
+Sfa="unnamed",
+Gcl="Green Cliffs",
+Dri="Dry Island",
+Ged="Green Edge",
+Ghb="Green Hill Beach",
+Acm="Acacia Mountains",
+Ghm="Greenhat Mountain",
+Pna="Pence Avenue",
+Dbl="Dubulti",
+Sws="Schwarzschildt Street",
+Mnk="Minkowsky Street",
+Rgs="Robert Gardon Street",
+Ehl="Ehlodex",
+Lus="Lusin Street",
+Lin="Lesnoi Industrial Area",
+Boz="Booze Grove",
+Mrh="Mirzakhani Street",
+Plt="Planetarium",
+Mcf="McFly Street",
+Tha="Theodor Adorno Street",
+Oni="Onionland",
+Ora="Orange Lake",
+Uaa="Eiffel Street",
+Leo="Leonhard Street",
+Bby="Birch Bay",
+Stb="Stone Beach",
+Jis="Jungle Island",
+Ice="Eternal Ice",
+Bnt="Pierre Berton Street",
+Osa="Origin Sands",
+OBa="Cartesian Square",
+OOr="School",
+OSc="ARA",
+ONb="Intel ME Stairs",
+OIs="SCSI Connector Mess",
+OSm="Origin Sands (Plaza de la Republica)",
+ioa="Cow Bridge",
+iob="Babbage Road",
+Wcs="Watson-Crick Street",
+Rru="Rockefeller Runway",
+Ewd="Edenwood",
+Chu="Marcuse Street Station",
+Erd="Erdos Street",
+Uni="Museum",
+Mar="Felfa's Market (Bracket Road)",
+Wac="Watson-Crick",
+OLv="Market",
+Irk="Ice Rink",
+Sbr="Suburb",
+Unv="University",
+Arc="Archangel",
+Dar="Darwin Road",
+Hmi="Half-Mile Island",
+Zoo="Zoo",
+Bea="Beach",
+Yos="Yoshi Island",
+Krs="Kernighan&Ritchie Street",
+Rkb="Robert Koch Boulevard",
+Rsi="Riverside",
+Swr="Swimming Rabbit Street",
+Wbb="Banana Forest",
+Ori="Origin",
+Snl="Snowland",
+Sys="Ship Rock",
+Rfo="Redwood forest",
+Moj="Mom Junction",
+Wfr="Wolf Rock",
+Spa="Shanielle Park",
+Thh="Treehouse Hotel",
+Stn="Main station",
+WB1="Riverside",
+WB2="Banana Forest",
+WB3="Eiffel Street",
+WB4="Buckminster Fuller Street",
+WB5="White Beaches",
+Shn="Shanielle City",
+Jus="Tom Lehrer Street",
+Fre="Frege Street",
+Min="MinerLand",
+Vlc="Volcano Cliffs",
+Mio="Minio",
+Wpy="Water Pyramid",
+Cat="Cathedral",
+Dca="Desert Canyon",
+Spn="Spawn",
+Brn="Ministry of Transport (bernhardd)",
+Kav="Knuth Avenue",
+Lvf="Library",
+Fms="John Horton Conway Street",
+Mnt="Mountain",
+Mnv="Mountain Valley",
+Mnn="Mountain View",
+Max="Maxwell Street",
+Snp="Snowy Peak",
+Scl="ScottishLion's City",
+Lza="Laza's City",
+Bld="BlackDog",
+Hts="Hotel Shanielle",
+Fmn="Euler Street",
+Gpl="Market",
+Jun="Jungle",
+Jng="Franklin Road",
+Uic="Coulomb Street",
+Grs="Gram-Schmidt Street",
+Lih="Lighthouse",
+Rea="Reactor",
+Hhs="Henderson-Hasselbalch Street",
+Ack="Ackermann Avenue",
+Lis="Lone Island",
+Pyr="Pytagoras Road",
+Nha="North Harbour",
+STn="Technic Station",
+SPo="Post Office",
+SSw="Spawn, westbound",
+SSe="Spawn, eastbound",
+SPa="Papyrus Farm",
+STo="Tourist Info",
+SMi="Public Mine",
+MR1="Euler Street",
+MSt="Main Station (Spawn)",
+MOr="Marcuse Street Station (Origin)",
+}
+--[[
+Signal names:
+F.stn(<previous>, <this>, <next>
+ <door side>, <Depart speed (maximum if omitted)>
+Halt here and continue when signal is green.
+no halt:
+F.stn_nohalt=function(prev, this, next, dps, osig)
+F.stn_return(<previous>, <this>, <next>,
+ <door side>, <Switch to set>, <State to set switch to (st/cr)>,
+ <Depart speed (maximum if omitted)>
+Halt here. Set the switch to desired state and return when signal is green. Does not free previous section!
+F.stn_return_free=function(<Signal at previous station>, <Switch>, <State>)
+To be called after train left the switch of a stn_return station. Sets the switch back to incoming trains and sets signal to green.
+]]
+--Warning: Expects line to be a string!
+local linet={
+["1"] = {W="Palm Bay", E="Windy Mountains"},
+["2"] = {N="Szymon's Dam", S="Onionland"},
+["3"] = {S="Bananame", N="Large Beach"},
+["4"] = {E="Schwarzschildt Street", W="Ice Mountain"},
+["5"] = {W="Lighthouse", E="Leekston"},
+["7"] = {N="Birch Bay East", S="Planetarium"},
+}
+F.lineterm = function(line, terminal)
+if linet[line] and linet[line][terminal] then return linet[line][terminal] end
+return terminal
+end
+F.lineset = function(line, terminal)
+ if event.train then
+ atc_set_text_outside("Line "..line.." - "..F.lineterm(line, terminal))
+ S.line[atc_id] = line
+ set_line(tonumber(line))
+ end
+end
+F.rant=function()
+ return math.random(5,8)
+end
+F.stnname=function(cap)
+return F.stationnames[string.sub(cap, 1, 3)] or "?"
+end
+F.stn=function(prev, this, next, doors, dps, osig)
+ F.stn_union(nil, prev, nil, this, next, doors, dps, osig)
+end
+
+F.stn_return=function(prev, this, next, doors, switch, state, dps, osig, waittime)
+ F.stn_union(nil, prev, nil, this, next, doors, dps, osig, switch, state, false, waittime)
+end
+
+F.stn_return_nohalt=function(prev, this, next, switch, state, dps)
+ F.stn_union(nil, prev, nil, this, next, "C", dps, osig, switch, state, true)
+end
+
+F.stn_return_free=function(prev, switch, state)
+ if event.train then
+ setstate(prev, "green")
+ setstate(switch, state)
+ end
+end
+
+F.stn_nohalt=function(prev, this, next, dps, osig)
+ F.stn_union(nil, prev, nil, this, next, "C", dps, osig, nil, nil, true)
+end
+
+F.union_wait=function(sect)
+ S.union_waiting[sect] = not depart
+end
+
+F.stn_union=function(line1, prev1, prev2, this, next, doors, dps, osig, ret_sw, ret_st, nohalt, waittime)
+ if not atc_id then
+ atc_send("B0")
+ error("Train has disappeared!")
+ end
+ if not atc_arrow then
+ atc_send("B0")
+ error("Train passed in wrong direction!")
+ end
+ depart=false
+ if event.train then
+ setstate(prev1, "red")
+ if prev2 then setstate(prev2, "red") end
+ atc_send("B0O"..doors)
+
+if atc_speed and atc_speed > 10 then
+ local dt = os.date()
+ atc_set_text_outside("BrakeFail speed="..atc_speed.." when="..dt.year.."-"..dt.month.."-"..dt.day.." "..dt.hour..":"..dt.min..":"..dt.sec)
+ error("Train "..atc_id.." has passed rail at speed of "..atc_speed)
+end
+
+ if not nohalt then
+ interrupt(waittime or (ret_sw and 20 or 7), "ready")
+ atc_set_text_inside(F.stnname(this))
+ end
+ end
+ if (event.int and event.message=="ready") or (event.train and nohalt) then
+ if getstate(this)=="green" and (not osig or getstate(osig)=="green") then
+ if ret_sw then
+ atc_send("OCD1B0WRS"..(dps or "M"))
+ setstate(ret_sw, ret_st)
+ else
+ atc_send("OCD1S"..(dps or "M"))
+ setstate(prev1, "green")
+ if line1 then --this call did not come from F.stn, do union stuff
+ setstate(prev2, "green")
+ if S.line[atc_id]==line1 then
+ if S.union_waiting[prev2] then setstate(prev1, "red") end
+ else
+ if S.union_waiting[prev1] then setstate(prev2, "red") end
+ end
+ end
+ end
+ setstate(this, "red")
+ atc_set_text_inside("Next stop: "..F.stnname(next))
+ depart=true
+ nodepartc=nil
+ else
+ interrupt(F.rant(), "ready")
+ nodepartc=nodepartc and nodepartc+1 or 0
+ if nodepartc>=10 then
+ atc_set_text_inside(F.stnname(this).."\nLine out of order!")
+ else
+ if (not osig or getstate(osig)=="green") then
+ atc_set_text_inside(F.stnname(this).."\nWaiting for preceding train...")
+ else
+ atc_set_text_inside(F.stnname(this).."\nWaiting for oncoming train...")
+ end
+ end
+ end
+ end
+end
+F.pre=function(signal)
+ if getstate(signal) == "red" then
+ atc_send("B4")
+ end
+end
+
+F.uiclog = function ()
+return
+end
+--L197
+
+F.stat=function(line, init)
+--statistics
+-- init
+if init then
+reftrain = atc_id
+a_tbt = 30
+a_rtt = 500
+a_not = 0
+c_not = 0
+time_lt = os.time()
+time_rt=os.time()
+end
+--real code
+if event.train then
+local time = os.time()
+c_not = c_not + 1
+a_tbt = (a_tbt + (time - time_lt)) / 2
+if atc_id == reftrain then
+ a_rtt = (a_rtt*0.2 + (time - time_rt)*0.8)
+ a_not = c_not
+ c_not = 0
+end
+ digiline_send("stats", "Stat: "..line..
+ " NoT:"..a_not.."("..c_not..")"..
+ " TbT:"..math.floor(a_tbt).."("..(time-time_lt)..")"..
+ " RTT: "..math.floor(a_rtt).."("..(time - time_rt)..")"
+ )
+time_lt = time
+if atc_id == reftrain then
+ time_rt = time
+end
+end
+end
+
+
+-- 21.1.19, the rise of tss
+F.stn_ilk=function(prev, this, next, doors, dps)
+ depart = false
+ if event.train then
+ atc_send("B0 W O"..doors)
+ atc_set_text_inside(F.stnname(this))
+ interrupt(7, "ready")
+ elseif event.int then
+ local asp = get_aspect(this)
+ if not asp then
+ atc_set_text_inside(F.stnname(this).."\nNo aspect for "..this)
+ else
+ if asp.main.free then
+ atc_set_text_inside("Next stop:\n"..F.stnname(next))
+ atc_send("OC D1 S"..(dps or "M"))
+ depart = true
+ return
+ else
+ atc_set_text_inside(F.stnname(this).."\nSection ahead is blocked...")
+ end
+ end
+ interrupt(7, "ready")
+ end
+end
+
+F.stn_ilkentry=function(prev, this, next, doors, dps)
+ F.stn_ilk(prev, this, next, doors, dps)
+ if depart then setstate(prev, "green") end
+end \ No newline at end of file
diff --git a/subway/nodes/(-1009,103,-428).lua b/subway/nodes/(-1009,103,-428).lua
new file mode 100644
index 0000000..41c5c11
--- /dev/null
+++ b/subway/nodes/(-1009,103,-428).lua
@@ -0,0 +1,15 @@
+n=8
+F.stn("MR"..(n-1).."U", "MR"..n.."U", "MR"..(n+1).."D","R", 10)
+if event.train then
+setstate("MR"..n.."DC", "green")
+setstate("MR"..(n-1).."UC", "green")
+end
+if depart then
+--setstate("MRS", "cr")
+S.line[atc_id]="MRU"
+--print("DEP")
+setstate("MR"..(n+1).."DC", "red")
+setstate("MR"..n.."UC", "red")
+--setstate("MR"..(n+1)..n.."div", "st")
+setstate("MR"..n..(n+1).."div", "st")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1011,103,-435).lua b/subway/nodes/(-1011,103,-435).lua
new file mode 100644
index 0000000..7fc2776
--- /dev/null
+++ b/subway/nodes/(-1011,103,-435).lua
@@ -0,0 +1,15 @@
+n=8
+F.stn("MR"..(n+1).."D", "MR"..n.."D", "MR"..(n-1).."D","R", 10, "MR"..n.."DC")
+if event.train then
+F.stn_return_free("MR8U", "MR89div", "st")
+setstate("MR"..n.."UC", "green")
+setstate("MR"..(n+1).."DC", "green")
+end
+if depart then
+--setstate("MRS", "cr")
+S.line[atc_id]="MRD"
+setstate("MR"..(n-1).."UC", "red")
+setstate("MR"..n.."DC", "red")
+setstate("MR"..(n-1)..n.."div", "cr")
+setstate("MR"..n..(n-1).."div", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1012,10,-463).lua b/subway/nodes/(-1012,10,-463).lua
new file mode 100644
index 0000000..b6e9360
--- /dev/null
+++ b/subway/nodes/(-1012,10,-463).lua
@@ -0,0 +1 @@
+F.stn("Mnv1E", "Mnt1E", "Fms1E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-1018,59,-655).lua b/subway/nodes/(-1018,59,-655).lua
new file mode 100644
index 0000000..de96d24
--- /dev/null
+++ b/subway/nodes/(-1018,59,-655).lua
@@ -0,0 +1,15 @@
+n=5
+F.stn("MR"..(n-1).."U", "MR"..n.."U", "MR"..(n+1).."U","R", 10, "MR"..n.."UC")
+if event.train then
+setstate("MR"..n.."DC", "green")
+setstate("MR"..(n-1).."UC", "green")
+end
+if depart then
+--setstate("MRS", "cr")
+S.line[atc_id]="MRU"
+--print("DEP")
+setstate("MR"..(n+1).."DC", "red")
+setstate("MR"..n.."UC", "red")
+setstate("MR"..(n+1)..n.."div", "st")
+setstate("MR"..n..(n+1).."div", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1020,59,-659).lua b/subway/nodes/(-1020,59,-659).lua
new file mode 100644
index 0000000..3fafdb8
--- /dev/null
+++ b/subway/nodes/(-1020,59,-659).lua
@@ -0,0 +1,14 @@
+n=5
+F.stn("MR"..(n+1).."D", "MR"..n.."D", "MR"..(n-1).."D","R", 8, "MR"..n.."DC")
+if event.train then
+setstate("MR"..n.."UC", "green")
+setstate("MR"..(n+1).."DC", "green")
+end
+if depart then
+--setstate("MRS", "cr")
+S.line[atc_id]="MRD"
+setstate("MR"..(n-1).."UC", "red")
+setstate("MR"..n.."DC", "red")
+setstate("MR"..(n-1)..n.."div", "st")
+setstate("MR"..n..(n-1).."div", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1023,12,-701).lua b/subway/nodes/(-1023,12,-701).lua
new file mode 100644
index 0000000..05c77c8
--- /dev/null
+++ b/subway/nodes/(-1023,12,-701).lua
@@ -0,0 +1,13 @@
+F.stn("MRSD", "MR3D", "MR2D","R", 10, "MR3DC")
+if event.train then
+setstate("MR3UC", "green")
+setstate("MRSDC", "green")
+end
+if depart then
+--setstate("MRS3", "cr")
+S.line[atc_id]="MRD"
+--setstate("MR2UC", "red")
+--setstate("MR3DC", "red")
+--setstate("MR23div", "cr")
+--setstate("MR32div", "st")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1025,10,226).lua b/subway/nodes/(-1025,10,226).lua
new file mode 100644
index 0000000..6c765e1
--- /dev/null
+++ b/subway/nodes/(-1025,10,226).lua
@@ -0,0 +1,2 @@
+F.stn_return("Ahr3N", "Ahz3R", "Ahr3S", "L", "Ahz3ES", "cr")
+F.lineset("3", "N") \ No newline at end of file
diff --git a/subway/nodes/(-1030,10,-453).lua b/subway/nodes/(-1030,10,-453).lua
new file mode 100644
index 0000000..17909da
--- /dev/null
+++ b/subway/nodes/(-1030,10,-453).lua
@@ -0,0 +1,6 @@
+F.stn("Fms1W", "Mnt1W", "Mnv1W", "L")
+if depart then
+S.Mnv1W_lvcross=true
+setstate("MnvLvcross1", "on")
+setstate("MnvLvcross2", "on")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1031,12,-699).lua b/subway/nodes/(-1031,12,-699).lua
new file mode 100644
index 0000000..a95cccf
--- /dev/null
+++ b/subway/nodes/(-1031,12,-699).lua
@@ -0,0 +1,15 @@
+n=3
+F.stn("MR"..(n-1).."U", "MR"..n.."U", "MRSU","R", 14, "MR"..n.."UC")
+if event.train then
+setstate("MR"..n.."DC", "green")
+setstate("MR"..(n-1).."UC", "green")
+end
+if depart then
+--setstate("MRS", "cr")
+S.line[atc_id]="MRU"
+setstate("MRSDC", "red")
+setstate("MR"..n.."UC", "red")
+S.line[atc_id]="MRU"
+setstate("MR34div", "cr")
+setstate("MRSDOut", "st")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1037,6,-487).lua b/subway/nodes/(-1037,6,-487).lua
new file mode 100644
index 0000000..bdec59e
--- /dev/null
+++ b/subway/nodes/(-1037,6,-487).lua
@@ -0,0 +1,6 @@
+atc_send("B6")
+S.Mnv1E_lvcross=false
+if not (S.Mnv1E_lvcross or S.Mnv1W_lvcross) then
+setstate("MnvLvcross1", "off")
+setstate("MnvLvcross2", "off")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1045,46,-655).lua b/subway/nodes/(-1045,46,-655).lua
new file mode 100644
index 0000000..1d8b341
--- /dev/null
+++ b/subway/nodes/(-1045,46,-655).lua
@@ -0,0 +1,9 @@
+if not atc_arrow then
+if S.line[atc_id]=="MRD" then
+setstate("MRS2", "cr")
+setstate("MRS1", "st")
+else
+setstate("MRS2", "st")
+setstate("MRS3", "st")
+end
+end \ No newline at end of file
diff --git a/subway/nodes/(-1051,75,-570).lua b/subway/nodes/(-1051,75,-570).lua
new file mode 100644
index 0000000..bcddccf
--- /dev/null
+++ b/subway/nodes/(-1051,75,-570).lua
@@ -0,0 +1,15 @@
+n=6
+F.stn("MR"..(n-1).."U", "MR"..n.."U", "MR"..(n+1).."U","R", 10, "MR"..n.."UC")
+if event.train then
+setstate("MR"..n.."DC", "green")
+setstate("MR"..(n-1).."UC", "green")
+end
+if depart then
+--setstate("MRS", "cr")
+S.line[atc_id]="MRU"
+--print("DEP")
+setstate("MR"..(n+1).."DC", "red")
+setstate("MR"..n.."UC", "red")
+setstate("MR"..(n+1)..n.."div", "cr")
+setstate("MR"..n..(n+1).."div", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1053,51,-646).lua b/subway/nodes/(-1053,51,-646).lua
new file mode 100644
index 0000000..7b56b16
--- /dev/null
+++ b/subway/nodes/(-1053,51,-646).lua
@@ -0,0 +1,15 @@
+n=4
+F.stn("MRSU", "MR"..n.."U", "MR"..(n+1).."U","R", 8, "MR"..n.."UC")
+if event.train then
+setstate("MR"..n.."DC", "green")
+setstate("MRSUC", "green")
+end
+if depart then
+--setstate("MRS", "cr")
+S.line[atc_id]="MRU"
+--print("DEP")
+setstate("MR"..(n+1).."DC", "red")
+setstate("MR"..n.."UC", "red")
+setstate("MR"..(n+1)..n.."div", "st")
+setstate("MR"..n..(n+1).."div", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1053,75,-583).lua b/subway/nodes/(-1053,75,-583).lua
new file mode 100644
index 0000000..a1d5b6e
--- /dev/null
+++ b/subway/nodes/(-1053,75,-583).lua
@@ -0,0 +1,14 @@
+n=6
+F.stn("MR"..(n+1).."D", "MR"..n.."D", "MR"..(n-1).."D","R", 10, "MR"..n.."DC")
+if event.train then
+setstate("MR"..n.."UC", "green")
+setstate("MR"..(n+1).."DC", "green")
+end
+if depart then
+--setstate("MRS", "cr")
+S.line[atc_id]="MRD"
+setstate("MR"..(n-1).."UC", "red")
+setstate("MR"..n.."DC", "red")
+setstate("MR"..(n-1)..n.."div", "st")
+setstate("MR"..n..(n-1).."div", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1053,75,-587).lua b/subway/nodes/(-1053,75,-587).lua
new file mode 100644
index 0000000..03ed24b
--- /dev/null
+++ b/subway/nodes/(-1053,75,-587).lua
@@ -0,0 +1,14 @@
+n=6
+F.stn("MR"..(n+1).."D", "MR"..n.."D", "MR"..(n-1).."D","R", 10, "MR"..n.."DC")
+if event.train then
+setstate("MR"..n.."UC", "green")
+setstate("MR"..(n+1).."DC", "green")
+end
+if depart then
+--setstate("MRS", "cr")
+S.line[atc_id]="MRD"
+setstate("MR"..(n-1).."UC", "red")
+setstate("MR"..n.."DC", "red")
+setstate("MR"..(n-1)..n.."div", "cr")
+setstate("MR"..n..(n-1).."div", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1059,51,-644).lua b/subway/nodes/(-1059,51,-644).lua
new file mode 100644
index 0000000..09b74b8
--- /dev/null
+++ b/subway/nodes/(-1059,51,-644).lua
@@ -0,0 +1,14 @@
+F.stn("MR5D", "MR4D", "MRSD","R", 4, "MR4DC")
+if event.train then
+setstate("MR4UC", "green")
+setstate("MR5DC", "green")
+end
+if depart then
+S.line[atc_id]="MRD"
+setstate("MRSUC", "red")
+setstate("MR4DC", "red")
+setstate("MRSUOut", "st")
+setstate("MR43div", "st")
+
+setstate("MRS3", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1063,88,-477).lua b/subway/nodes/(-1063,88,-477).lua
new file mode 100644
index 0000000..3938eac
--- /dev/null
+++ b/subway/nodes/(-1063,88,-477).lua
@@ -0,0 +1,15 @@
+n=7
+F.stn("MR"..(n-1).."U", "MR"..n.."U", "MR"..(n+1).."U","R", 10, "MR"..n.."UC")
+if event.train then
+setstate("MR"..n.."DC", "green")
+setstate("MR"..(n-1).."UC", "green")
+end
+if depart then
+--setstate("MRS", "cr")
+S.line[atc_id]="MRU"
+--print("DEP")
+setstate("MR"..(n+1).."DC", "red")
+setstate("MR"..n.."UC", "red")
+setstate("MR"..(n+1)..n.."div", "st")
+setstate("MR"..n..(n+1).."div", "st")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1065,4,-504).lua b/subway/nodes/(-1065,4,-504).lua
new file mode 100644
index 0000000..1aa78bb
--- /dev/null
+++ b/subway/nodes/(-1065,4,-504).lua
@@ -0,0 +1,6 @@
+F.stn("Grs1E", "Mnv1E", "Mnt1E", "R", 1)
+if depart then
+S.Mnv1E_lvcross=true
+setstate("MnvLvcross1", "on")
+setstate("MnvLvcross2", "on")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1069,88,-475).lua b/subway/nodes/(-1069,88,-475).lua
new file mode 100644
index 0000000..371e483
--- /dev/null
+++ b/subway/nodes/(-1069,88,-475).lua
@@ -0,0 +1,14 @@
+n=7
+F.stn("MR"..(n+1).."D", "MR"..n.."D", "MR"..(n-1).."D","R", 10, "MR"..n.."DC")
+if event.train then
+setstate("MR"..n.."UC", "green")
+setstate("MR"..(n+1).."DC", "green")
+end
+if depart then
+--setstate("MRS", "cr")
+S.line[atc_id]="MRD"
+setstate("MR"..(n-1).."UC", "red")
+setstate("MR"..n.."DC", "red")
+setstate("MR"..(n-1)..n.."div", "st")
+setstate("MR"..n..(n-1).."div", "st")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1070,21,8).lua b/subway/nodes/(-1070,21,8).lua
new file mode 100644
index 0000000..d1a0cb9
--- /dev/null
+++ b/subway/nodes/(-1070,21,8).lua
@@ -0,0 +1 @@
+F.stn("Ta23N", "Ahr3N", "Ahz3R", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1072,51,-638).lua b/subway/nodes/(-1072,51,-638).lua
new file mode 100644
index 0000000..060cb63
--- /dev/null
+++ b/subway/nodes/(-1072,51,-638).lua
@@ -0,0 +1,10 @@
+if not atc_arrow then
+--print(S.line[atc_id])
+if S.line[atc_id]=="MRD" then
+setstate("MRS3", "st")
+setstate("MRS2", "st")
+else
+setstate("MRS3", "cr")
+setstate("MR43div","cr")
+end
+end \ No newline at end of file
diff --git a/subway/nodes/(-1073,21,-4).lua b/subway/nodes/(-1073,21,-4).lua
new file mode 100644
index 0000000..742dbc8
--- /dev/null
+++ b/subway/nodes/(-1073,21,-4).lua
@@ -0,0 +1 @@
+F.stn("Ahz3R", "Ahr3S", "Ta23S", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1073,21,102).lua b/subway/nodes/(-1073,21,102).lua
new file mode 100644
index 0000000..879290d
--- /dev/null
+++ b/subway/nodes/(-1073,21,102).lua
@@ -0,0 +1 @@
+F.stn_return_free("Ahr3N", "Ahz3ES", "st") \ No newline at end of file
diff --git a/subway/nodes/(-1077,4,-502).lua b/subway/nodes/(-1077,4,-502).lua
new file mode 100644
index 0000000..f0c6b0e
--- /dev/null
+++ b/subway/nodes/(-1077,4,-502).lua
@@ -0,0 +1,8 @@
+F.stn("Mnt1W", "Mnv1W", "Grs1W", "R")
+if event.train then
+S.Mnv1W_lvcross=false
+if not (S.Mnv1E_lvcross or S.Mnv1W_lvcross) then
+setstate("MnvLvcross1", "off")
+setstate("MnvLvcross2", "off")
+end
+end
diff --git a/subway/nodes/(-1078,31,-623).lua b/subway/nodes/(-1078,31,-623).lua
new file mode 100644
index 0000000..98f79dd
--- /dev/null
+++ b/subway/nodes/(-1078,31,-623).lua
@@ -0,0 +1,15 @@
+F.stn_union(nil, "MR3U", nil, "MRSU", "MR4U", "R", 6, "MRSUC", "MRSUSw", "cr", nil, 7)
+if event.train then
+setstate("MRSDC", "green")
+setstate("MR3UC", "green")
+end
+if depart then
+S.line[atc_id]="MRU"
+setstate("MR4DC", "red")
+setstate("MRSUC", "red")
+setstate("MR43div", "cr")
+
+setstate("MRSDC", "red")
+setstate("MRSUOut", "cr")
+setstate("MRS2", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1078,31,-640).lua b/subway/nodes/(-1078,31,-640).lua
new file mode 100644
index 0000000..88844d9
--- /dev/null
+++ b/subway/nodes/(-1078,31,-640).lua
@@ -0,0 +1,4 @@
+if atc_arrow then
+setstate("MRSUC", "green")
+F.stn_return_free("MR4D", "MRSDSw", "st")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1080,31,-623).lua b/subway/nodes/(-1080,31,-623).lua
new file mode 100644
index 0000000..884d27e
--- /dev/null
+++ b/subway/nodes/(-1080,31,-623).lua
@@ -0,0 +1,14 @@
+F.stn_union(nil, "MR4D", nil, "MRSD", "MR3D", "L", 6, "MRSDC", "MRSDSw", "cr", nil, 7)
+if event.train then
+setstate("MR4DC", "green")
+setstate("MRSUC", "green")
+end
+if depart then
+S.line[atc_id]="MRD"
+setstate("MRSDC", "red")
+setstate("MR3UC", "red")
+setstate("MR34div", "st")
+
+setstate("MRSUC", "red")
+setstate("MRSDOut", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1080,31,-640).lua b/subway/nodes/(-1080,31,-640).lua
new file mode 100644
index 0000000..dccb280
--- /dev/null
+++ b/subway/nodes/(-1080,31,-640).lua
@@ -0,0 +1,4 @@
+if atc_arrow then
+setstate("MRSDC", "green")
+F.stn_return_free("MR3U", "MRSUSw", "st")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1088,16,-221).lua b/subway/nodes/(-1088,16,-221).lua
new file mode 100644
index 0000000..5ee1ede
--- /dev/null
+++ b/subway/nodes/(-1088,16,-221).lua
@@ -0,0 +1 @@
+F.stn("Mnn4W", "Max4W", "Snp4W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1090,16,-233).lua b/subway/nodes/(-1090,16,-233).lua
new file mode 100644
index 0000000..861e8b5
--- /dev/null
+++ b/subway/nodes/(-1090,16,-233).lua
@@ -0,0 +1 @@
+F.stn("Snp4E", "Max4E", "Mnn4E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1094,11,-710).lua b/subway/nodes/(-1094,11,-710).lua
new file mode 100644
index 0000000..e361104
--- /dev/null
+++ b/subway/nodes/(-1094,11,-710).lua
@@ -0,0 +1 @@
+F.stn_return_free("LihXS", "LhSW", "st") \ No newline at end of file
diff --git a/subway/nodes/(-113,16,-472).lua b/subway/nodes/(-113,16,-472).lua
new file mode 100644
index 0000000..e7c10f5
--- /dev/null
+++ b/subway/nodes/(-113,16,-472).lua
@@ -0,0 +1,2 @@
+F.stn_return_free("Ppo8W", "Uic8SW", "st")
+F.stn("Uic8E", "Ppo8E", "Ctd8E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-116,16,-470).lua b/subway/nodes/(-116,16,-470).lua
new file mode 100644
index 0000000..64a52cf
--- /dev/null
+++ b/subway/nodes/(-116,16,-470).lua
@@ -0,0 +1 @@
+F.stn("Ctd8W", "Ppo8W", "Uic8E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1197,-3,700).lua b/subway/nodes/(-1197,-3,700).lua
new file mode 100644
index 0000000..070d024
--- /dev/null
+++ b/subway/nodes/(-1197,-3,700).lua
@@ -0,0 +1,4 @@
+F.stn("App1E", "Bby1E", "Stb1E", "L")
+--if event.train then
+--F.stn_return_free("Bby1W", "Bby1ES", "cr")
+--end \ No newline at end of file
diff --git a/subway/nodes/(-12,17,-950).lua b/subway/nodes/(-12,17,-950).lua
new file mode 100644
index 0000000..dad0145
--- /dev/null
+++ b/subway/nodes/(-12,17,-950).lua
@@ -0,0 +1 @@
+F.lineset("2", "N") \ No newline at end of file
diff --git a/subway/nodes/(-1209,-3,707).lua b/subway/nodes/(-1209,-3,707).lua
new file mode 100644
index 0000000..d7340ac
--- /dev/null
+++ b/subway/nodes/(-1209,-3,707).lua
@@ -0,0 +1 @@
+F.stn("Stb1W", "Bby1W", "App1W", "L") \ No newline at end of file
diff --git a/subway/nodes/(-121,16,-472).lua b/subway/nodes/(-121,16,-472).lua
new file mode 100644
index 0000000..3c5035e
--- /dev/null
+++ b/subway/nodes/(-121,16,-472).lua
@@ -0,0 +1 @@
+set_line(8) \ No newline at end of file
diff --git a/subway/nodes/(-1238,17,-469).lua b/subway/nodes/(-1238,17,-469).lua
new file mode 100644
index 0000000..05dd090
--- /dev/null
+++ b/subway/nodes/(-1238,17,-469).lua
@@ -0,0 +1,4 @@
+F.stn("Lih1E", "Grs1E", "Mnv1E", "L")
+if event.train then
+F.stn_return_free("Grs1W", "Lih1ES", "st")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1243,-3,702).lua b/subway/nodes/(-1243,-3,702).lua
new file mode 100644
index 0000000..ded606c
--- /dev/null
+++ b/subway/nodes/(-1243,-3,702).lua
@@ -0,0 +1,6 @@
+if event.train then
+atc_set_text_outside("Line 1 - Snake Bend")
+S.line[atc_id]="1"
+set_line(1)
+end
+F.stn_return_nohalt("Bby1W", "Bby1R", "Bby1E", "Bby1ES", "st", 6) \ No newline at end of file
diff --git a/subway/nodes/(-1249,20,-207).lua b/subway/nodes/(-1249,20,-207).lua
new file mode 100644
index 0000000..229d355
--- /dev/null
+++ b/subway/nodes/(-1249,20,-207).lua
@@ -0,0 +1 @@
+--F.stn_return_free("Max4W", "Snp4ES", "st") \ No newline at end of file
diff --git a/subway/nodes/(-125,3,-283).lua b/subway/nodes/(-125,3,-283).lua
new file mode 100644
index 0000000..2cb728a
--- /dev/null
+++ b/subway/nodes/(-125,3,-283).lua
@@ -0,0 +1 @@
+F.stn_ilk("Uic4E", "ioa4E", "Erd4E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1251,17,-463).lua b/subway/nodes/(-1251,17,-463).lua
new file mode 100644
index 0000000..34c4a32
--- /dev/null
+++ b/subway/nodes/(-1251,17,-463).lua
@@ -0,0 +1 @@
+F.stn("Mnv1W", "Grs1W", "Lih1E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-128,3,-295).lua b/subway/nodes/(-128,3,-295).lua
new file mode 100644
index 0000000..b5c395c
--- /dev/null
+++ b/subway/nodes/(-128,3,-295).lua
@@ -0,0 +1 @@
+F.stn_ilk("Erd4W", "ioa1W", "Jun1W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-13,-2,-6).lua b/subway/nodes/(-13,-2,-6).lua
new file mode 100644
index 0000000..0d38c3e
--- /dev/null
+++ b/subway/nodes/(-13,-2,-6).lua
@@ -0,0 +1,4 @@
+F.stn_ilk("---", "Ori1W", "iob4W", "L")
+if depart then
+interrupt_pos(POS(-14,3,4), "depo")
+end \ No newline at end of file
diff --git a/subway/nodes/(-13,20,-76).lua b/subway/nodes/(-13,20,-76).lua
new file mode 100644
index 0000000..b3fafbd
--- /dev/null
+++ b/subway/nodes/(-13,20,-76).lua
@@ -0,0 +1,2 @@
+F.stn("OriO", "MarO", "SbrO", "L", 10)
+atc_set_text_outside("Line O1 - Marcuse Street Station - Watson-Crick Street - Origin") \ No newline at end of file
diff --git a/subway/nodes/(-13,20,43).lua b/subway/nodes/(-13,20,43).lua
new file mode 100644
index 0000000..1cbda2e
--- /dev/null
+++ b/subway/nodes/(-13,20,43).lua
@@ -0,0 +1 @@
+F.stn("WacO", "IrkO", "OriO", "R", 10) \ No newline at end of file
diff --git a/subway/nodes/(-1301,20,-207).lua b/subway/nodes/(-1301,20,-207).lua
new file mode 100644
index 0000000..a8b3932
--- /dev/null
+++ b/subway/nodes/(-1301,20,-207).lua
@@ -0,0 +1,2 @@
+--F.stn_return_free("Snp4W", "Wpy4ES", "st")
+F.stn("Wpy4E", "Snp4E", "Max4E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1311,20,-203).lua b/subway/nodes/(-1311,20,-203).lua
new file mode 100644
index 0000000..eb7a692
--- /dev/null
+++ b/subway/nodes/(-1311,20,-203).lua
@@ -0,0 +1,3 @@
+--F.stn_return("Max4W", "Snp4W", "Max4E", "R", "Snp4ES", "cr")
+--atc_set_text_outside("Line 4 - Jungle")
+F.stn("Max4W", "Snp4W", "Wpy4E", "R", 10) \ No newline at end of file
diff --git a/subway/nodes/(-1327,5,-532).lua b/subway/nodes/(-1327,5,-532).lua
new file mode 100644
index 0000000..b9cb615
--- /dev/null
+++ b/subway/nodes/(-1327,5,-532).lua
@@ -0,0 +1,2 @@
+F.stn_return("Grs1W", "Lih1E", "Grs1E", "R", "Lih1ES", "cr")
+F.lineset("5", "E") \ No newline at end of file
diff --git a/subway/nodes/(-1364,20,-207).lua b/subway/nodes/(-1364,20,-207).lua
new file mode 100644
index 0000000..c88df58
--- /dev/null
+++ b/subway/nodes/(-1364,20,-207).lua
@@ -0,0 +1,8 @@
+F.stn("Gho4E", "Wpy4E", "Snp4E", "R", 10)
+if event.train then
+S.Wpy4E_lvcross=false
+if not (S.Wpy4E_lvcross or S.Wpy4W_lvcross) then
+setstate("WpyLvcross1", "off")
+setstate("WpyLvcross2", "off")
+end
+end \ No newline at end of file
diff --git a/subway/nodes/(-1377,20,-203).lua b/subway/nodes/(-1377,20,-203).lua
new file mode 100644
index 0000000..9b5ddc1
--- /dev/null
+++ b/subway/nodes/(-1377,20,-203).lua
@@ -0,0 +1,10 @@
+--F.stn_return("Snp4W", "Wpy4E", "Snp4E", "R", "Wpy4ES", "cr")
+--atc_set_text_outside("Line 4 - Origin")
+if event.int and getstate("Wpy4W")=="green" and getstate("WpyLvcross1")=="off" then
+S.Wpy4W_lvcross=true
+setstate("WpyLvcross1", "on")
+setstate("WpyLvcross2", "on")
+interrupt(4, "ready")
+return
+end
+F.stn("Snp4W", "Wpy4W", "Gho4E","R") \ No newline at end of file
diff --git a/subway/nodes/(-1392,13,-321).lua b/subway/nodes/(-1392,13,-321).lua
new file mode 100644
index 0000000..4de8346
--- /dev/null
+++ b/subway/nodes/(-1392,13,-321).lua
@@ -0,0 +1 @@
+F.stn_return_free("LihXN", "Lhsw", "st") \ No newline at end of file
diff --git a/subway/nodes/(-1397,-4,692).lua b/subway/nodes/(-1397,-4,692).lua
new file mode 100644
index 0000000..11428ad
--- /dev/null
+++ b/subway/nodes/(-1397,-4,692).lua
@@ -0,0 +1 @@
+F.stn("Apl1E", "App1E", "Bby1E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-14,3,4).lua b/subway/nodes/(-14,3,4).lua
new file mode 100644
index 0000000..825989c
--- /dev/null
+++ b/subway/nodes/(-14,3,4).lua
@@ -0,0 +1,71 @@
+-- digiline_send("l14w", "SIS Variant 2 - v1.4 | No info avaliable")
+
+
+local appr_time = {[1]=15, [4]=15}
+if not appr_tmr then appr_tmr = 0 end
+local setint = false
+if event.ext_int then
+ if event.message == "dep4" then
+ next_appr = 4
+ appr_tmr = appr_time[4]
+ nwaiting = nnwaiting
+ nnwaiting = nil
+ setint=true
+ elseif event.message == "dep1" then
+ next_appr = 1
+ appr_tmr = appr_time[1]
+ nwaiting = nnwaiting
+ nnwaiting = nil
+ setint=true
+ elseif event.message == "arr1" then
+ if nwaiting then nnwaiting = 1 else nwaiting = 1 end
+ elseif event.message == "arr4" then
+ if nwaiting then nnwaiting = 4 else nwaiting = 4 end
+ elseif event.message == "depo" then
+ next_appr = nil
+ end
+elseif event.int then
+ appr_tmr = appr_tmr - 5
+ setint=true
+else
+ next_appr = nil
+ nwaiting = nil
+ nnwaiting = nil
+ digiline_send("l14w", "SIS Variant 2 - v1.4 | Please Wait")
+ return
+end
+
+-- calculate time for nwaiting train
+local nwt = 0
+if nwaiting then
+ nwt = appr_tmr + 10 + appr_time[nwaiting]
+end
+--display
+local seconds = appr_tmr
+if appr_tmr <= 0 then
+ seconds = ""
+end
+local txt = {
+ [1] = "Palm Bay",
+ [4] = "Apple Grove",
+}
+local line1, line2, line3 = "", "", ""
+if next_appr then
+ line1 = "Line "..next_appr
+ line2 = txt[next_appr]
+ line3 = "in " .. seconds.."s"
+ if seconds == "" then
+ line3 = "now"
+ end
+end
+local line4 = ""
+if nwt>0 then
+ line4 = "Line "..nwaiting.." - "..nwt.."s"
+end
+digiline_send("l14w", line1.." | "..line2.." | "..line3.." | ----------- | "..line4)
+
+digiline_send("l14wint", "Appr: "..(next_appr or "-").." "..appr_tmr.."s".." | nwaiting: "..(nwaiting or "-").." | nnwaiting: "..(nnwaiting or "-").. " | "..event.type.." | "..(event.message or "-"))
+
+if appr_tmr > 0 and setint then
+ interrupt(5, "appr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1403,20,-189).lua b/subway/nodes/(-1403,20,-189).lua
new file mode 100644
index 0000000..85a1bcb
--- /dev/null
+++ b/subway/nodes/(-1403,20,-189).lua
@@ -0,0 +1,5 @@
+S.Wpy4W_lvcross=false
+if not (S.Wpy4E_lvcross or S.Wpy1W_lvcross) then
+setstate("WpyLvcross1", "off")
+setstate("WpyLvcross2", "off")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1407,20,-166).lua b/subway/nodes/(-1407,20,-166).lua
new file mode 100644
index 0000000..2fda15f
--- /dev/null
+++ b/subway/nodes/(-1407,20,-166).lua
@@ -0,0 +1,3 @@
+S.Wpy4E_lvcross=true
+setstate("WpyLvcross1", "on")
+setstate("WpyLvcross2", "on") \ No newline at end of file
diff --git a/subway/nodes/(-1408,-4,695).lua b/subway/nodes/(-1408,-4,695).lua
new file mode 100644
index 0000000..0e81236
--- /dev/null
+++ b/subway/nodes/(-1408,-4,695).lua
@@ -0,0 +1 @@
+F.stn("Bby1W", "App1W", "Apl1W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1415,19,-7).lua b/subway/nodes/(-1415,19,-7).lua
new file mode 100644
index 0000000..f37dde7
--- /dev/null
+++ b/subway/nodes/(-1415,19,-7).lua
@@ -0,0 +1 @@
+F.stn("Wpy4W", "Gho4W", "Lvc4W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1415,19,335).lua b/subway/nodes/(-1415,19,335).lua
new file mode 100644
index 0000000..e585906
--- /dev/null
+++ b/subway/nodes/(-1415,19,335).lua
@@ -0,0 +1 @@
+F.stn("Lvc4W", "Dev4W", "Dem4W", "L") \ No newline at end of file
diff --git a/subway/nodes/(-1415,19,98).lua b/subway/nodes/(-1415,19,98).lua
new file mode 100644
index 0000000..11ecce9
--- /dev/null
+++ b/subway/nodes/(-1415,19,98).lua
@@ -0,0 +1 @@
+F.stn_nohalt("Gho4W", "Lvc4W", "Dev4W") \ No newline at end of file
diff --git a/subway/nodes/(-1415,5,516).lua b/subway/nodes/(-1415,5,516).lua
new file mode 100644
index 0000000..4c3c605
--- /dev/null
+++ b/subway/nodes/(-1415,5,516).lua
@@ -0,0 +1 @@
+F.stn("Dev4W", "Dem4W", "App4W", "L") \ No newline at end of file
diff --git a/subway/nodes/(-1417,19,-19).lua b/subway/nodes/(-1417,19,-19).lua
new file mode 100644
index 0000000..6702b68
--- /dev/null
+++ b/subway/nodes/(-1417,19,-19).lua
@@ -0,0 +1 @@
+F.stn("Lvc4E", "Gho4E", "Wpy4E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1417,5,481).lua b/subway/nodes/(-1417,5,481).lua
new file mode 100644
index 0000000..ff6d574
--- /dev/null
+++ b/subway/nodes/(-1417,5,481).lua
@@ -0,0 +1,2 @@
+setstate("Dem4LV1", "off")
+setstate("Dem4LV2", "off") \ No newline at end of file
diff --git a/subway/nodes/(-1420,5,502).lua b/subway/nodes/(-1420,5,502).lua
new file mode 100644
index 0000000..352b654
--- /dev/null
+++ b/subway/nodes/(-1420,5,502).lua
@@ -0,0 +1,7 @@
+if event.int and getstate("Dem4E")=="green" and getstate("Dem4LV1")=="off" then
+setstate("Dem4LV1", "on")
+setstate("Dem4LV2", "on")
+interrupt(4,"ready")
+return
+end
+F.stn("App4E", "Dem4E", "Dev4E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-1422,19,85).lua b/subway/nodes/(-1422,19,85).lua
new file mode 100644
index 0000000..f757ca3
--- /dev/null
+++ b/subway/nodes/(-1422,19,85).lua
@@ -0,0 +1 @@
+F.stn_nohalt("Dev4E", "Lvc4E", "Gho4E") \ No newline at end of file
diff --git a/subway/nodes/(-1423,19,323).lua b/subway/nodes/(-1423,19,323).lua
new file mode 100644
index 0000000..82ad8c4
--- /dev/null
+++ b/subway/nodes/(-1423,19,323).lua
@@ -0,0 +1 @@
+F.stn("Dem4E", "Dev4E", "Lvc4E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-1425,5,723).lua b/subway/nodes/(-1425,5,723).lua
new file mode 100644
index 0000000..f74838f
--- /dev/null
+++ b/subway/nodes/(-1425,5,723).lua
@@ -0,0 +1 @@
+F.stn("Dem4W", "App4W", "Eft4W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1427,5,712).lua b/subway/nodes/(-1427,5,712).lua
new file mode 100644
index 0000000..46fd24d
--- /dev/null
+++ b/subway/nodes/(-1427,5,712).lua
@@ -0,0 +1 @@
+F.stn_return("Eft4E", "App4E", "Dem4E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1473,5,-164).lua b/subway/nodes/(-1473,5,-164).lua
new file mode 100644
index 0000000..55f7bff
--- /dev/null
+++ b/subway/nodes/(-1473,5,-164).lua
@@ -0,0 +1,2 @@
+--F.stn_return("Wpy4W", "Mio4E", "Wpy4E", "L", "MioSW", "st")
+--atc_set_text_outside("Line 4 - Lusin Street") \ No newline at end of file
diff --git a/subway/nodes/(-1473,5,-169).lua b/subway/nodes/(-1473,5,-169).lua
new file mode 100644
index 0000000..a517a79
--- /dev/null
+++ b/subway/nodes/(-1473,5,-169).lua
@@ -0,0 +1 @@
+set_line(4) \ No newline at end of file
diff --git a/subway/nodes/(-1478,3,1010).lua b/subway/nodes/(-1478,3,1010).lua
new file mode 100644
index 0000000..3036b69
--- /dev/null
+++ b/subway/nodes/(-1478,3,1010).lua
@@ -0,0 +1 @@
+F.stn("App4W", "Eft4W", "Icm4W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-1479,3,1178).lua b/subway/nodes/(-1479,3,1178).lua
new file mode 100644
index 0000000..788c320
--- /dev/null
+++ b/subway/nodes/(-1479,3,1178).lua
@@ -0,0 +1,8 @@
+if event.ext_int then
+interrupt(15)
+print("Icm Ext")
+end
+if event.int then
+ F.stn_return_free("Eft4W", "Icm4SW", "cr")
+ print("Icm RF")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1481,3,1083).lua b/subway/nodes/(-1481,3,1083).lua
new file mode 100644
index 0000000..7489acc
--- /dev/null
+++ b/subway/nodes/(-1481,3,1083).lua
@@ -0,0 +1 @@
+-- \ No newline at end of file
diff --git a/subway/nodes/(-1481,3,1175).lua b/subway/nodes/(-1481,3,1175).lua
new file mode 100644
index 0000000..dda0fe0
--- /dev/null
+++ b/subway/nodes/(-1481,3,1175).lua
@@ -0,0 +1,2 @@
+F.stn_return("Eft4W", "Icm4W", "Eft4E", "L", "Icm4SW", "st")
+F.lineset("4", "E") \ No newline at end of file
diff --git a/subway/nodes/(-1481,3,1182).lua b/subway/nodes/(-1481,3,1182).lua
new file mode 100644
index 0000000..c346837
--- /dev/null
+++ b/subway/nodes/(-1481,3,1182).lua
@@ -0,0 +1 @@
+print("Train overrun Ice Mountain!") \ No newline at end of file
diff --git a/subway/nodes/(-1481,3,999).lua b/subway/nodes/(-1481,3,999).lua
new file mode 100644
index 0000000..bc59be3
--- /dev/null
+++ b/subway/nodes/(-1481,3,999).lua
@@ -0,0 +1,4 @@
+F.stn("Icm4W", "Eft4E", "App4E", "R")
+if event.train then
+ F.stn_return_free("Eft4W", "Icm4SW", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-1546,-1,689).lua b/subway/nodes/(-1546,-1,689).lua
new file mode 100644
index 0000000..a15fe43
--- /dev/null
+++ b/subway/nodes/(-1546,-1,689).lua
@@ -0,0 +1 @@
+F.stn("Pal1R", "Apl1E", "App1E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-1559,-1,697).lua b/subway/nodes/(-1559,-1,697).lua
new file mode 100644
index 0000000..fb61529
--- /dev/null
+++ b/subway/nodes/(-1559,-1,697).lua
@@ -0,0 +1 @@
+F.stn("App1W", "Apl1W", "Pal1R", "L") \ No newline at end of file
diff --git a/subway/nodes/(-1586,-1,685).lua b/subway/nodes/(-1586,-1,685).lua
new file mode 100644
index 0000000..c14728e
--- /dev/null
+++ b/subway/nodes/(-1586,-1,685).lua
@@ -0,0 +1,2 @@
+F.stn_return_free("Apl1W", "Pal1ES", "st")
+atc_send("B2") \ No newline at end of file
diff --git a/subway/nodes/(-1606,2,595).lua b/subway/nodes/(-1606,2,595).lua
new file mode 100644
index 0000000..e1a4cf3
--- /dev/null
+++ b/subway/nodes/(-1606,2,595).lua
@@ -0,0 +1,2 @@
+F.stn_return("Apl1W", "Pal1R", "Apl1E", "R", "Pal1ES", "cr")
+F.lineset("1", "E")
diff --git a/subway/nodes/(-181,5,-1).lua b/subway/nodes/(-181,5,-1).lua
new file mode 100644
index 0000000..84743b3
--- /dev/null
+++ b/subway/nodes/(-181,5,-1).lua
@@ -0,0 +1 @@
+F.stn("Snl2N", "Ram2N", "Ori2N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-184,7,-906).lua b/subway/nodes/(-184,7,-906).lua
new file mode 100644
index 0000000..52d0bcf
--- /dev/null
+++ b/subway/nodes/(-184,7,-906).lua
@@ -0,0 +1,2 @@
+F.stn_return("Ora2S", "Oni2R", "Ora2N", "L", "Oni2ES", "st", 10)
+atc_set_text_outside("Line 2 - Edenwood") \ No newline at end of file
diff --git a/subway/nodes/(-192,5,7).lua b/subway/nodes/(-192,5,7).lua
new file mode 100644
index 0000000..813d9a2
--- /dev/null
+++ b/subway/nodes/(-192,5,7).lua
@@ -0,0 +1 @@
+F.stn("Ori2S", "Ram2S", "Snl2S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-23,7,-75).lua b/subway/nodes/(-23,7,-75).lua
new file mode 100644
index 0000000..852d004
--- /dev/null
+++ b/subway/nodes/(-23,7,-75).lua
@@ -0,0 +1,2 @@
+F.stn("OLv2", "OBa2", "OOr2", "R", 10)
+atc_set_text_outside("Line O2 - Origin - North Bridge - SCSI Connector Mess - Town Hall") \ No newline at end of file
diff --git a/subway/nodes/(-232,8,-446).lua b/subway/nodes/(-232,8,-446).lua
new file mode 100644
index 0000000..9b0d845
--- /dev/null
+++ b/subway/nodes/(-232,8,-446).lua
@@ -0,0 +1,2 @@
+F.stn_ilkentry("Jng4E", "Uic4E", "ioa4E", "L")
+F.lineset("4", "E") \ No newline at end of file
diff --git a/subway/nodes/(-234,9,-229).lua b/subway/nodes/(-234,9,-229).lua
new file mode 100644
index 0000000..f220ee7
--- /dev/null
+++ b/subway/nodes/(-234,9,-229).lua
@@ -0,0 +1 @@
+F.stn("Rea5E", "Jis5E", "Erd5E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-24,-2,8).lua b/subway/nodes/(-24,-2,8).lua
new file mode 100644
index 0000000..8df3711
--- /dev/null
+++ b/subway/nodes/(-24,-2,8).lua
@@ -0,0 +1,2 @@
+F.stn("OBa2", "OOr2", "", "L", 10)
+atc_set_text_outside("Line O2 - North Bridge - SCSI Connector Mess - Town Hall - Bracket Road") \ No newline at end of file
diff --git a/subway/nodes/(-246,9,-222).lua b/subway/nodes/(-246,9,-222).lua
new file mode 100644
index 0000000..ba41cd1
--- /dev/null
+++ b/subway/nodes/(-246,9,-222).lua
@@ -0,0 +1 @@
+F.stn("Erd5W", "Jis5W", "Rea5W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-250,8,-458).lua b/subway/nodes/(-250,8,-458).lua
new file mode 100644
index 0000000..fe76b25
--- /dev/null
+++ b/subway/nodes/(-250,8,-458).lua
@@ -0,0 +1 @@
+F.stn("ioa4W", "Uic4W", "Jng4W", "L", 8) \ No newline at end of file
diff --git a/subway/nodes/(-252,16,-474).lua b/subway/nodes/(-252,16,-474).lua
new file mode 100644
index 0000000..458aefe
--- /dev/null
+++ b/subway/nodes/(-252,16,-474).lua
@@ -0,0 +1 @@
+F.stn_return("Ppo8W", "Uic8E", "Ppo8E", "R", "Uic8SW", "cr") \ No newline at end of file
diff --git a/subway/nodes/(-253,5,-911).lua b/subway/nodes/(-253,5,-911).lua
new file mode 100644
index 0000000..f324ddc
--- /dev/null
+++ b/subway/nodes/(-253,5,-911).lua
@@ -0,0 +1 @@
+F.stn_ilkentry("Uaa2S", "Ora2S", "Oni2R", "L", 12) \ No newline at end of file
diff --git a/subway/nodes/(-26,9,-252).lua b/subway/nodes/(-26,9,-252).lua
new file mode 100644
index 0000000..14e57f6
--- /dev/null
+++ b/subway/nodes/(-26,9,-252).lua
@@ -0,0 +1 @@
+F.stn("Jis5E", "Erd5E", "Ewd5E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-262,9,-322).lua b/subway/nodes/(-262,9,-322).lua
new file mode 100644
index 0000000..e14ac95
--- /dev/null
+++ b/subway/nodes/(-262,9,-322).lua
@@ -0,0 +1 @@
+set_line("6") \ No newline at end of file
diff --git a/subway/nodes/(-265,5,-904).lua b/subway/nodes/(-265,5,-904).lua
new file mode 100644
index 0000000..5841aed
--- /dev/null
+++ b/subway/nodes/(-265,5,-904).lua
@@ -0,0 +1,4 @@
+F.stn("Oni2R", "Ora2N", "Uaa2N", "L")
+--if event.train then
+--F.stn_return_free("Ora2S", "Oni2ES", "cr")
+--end \ No newline at end of file
diff --git a/subway/nodes/(-29,3,-246).lua b/subway/nodes/(-29,3,-246).lua
new file mode 100644
index 0000000..83a8de5
--- /dev/null
+++ b/subway/nodes/(-29,3,-246).lua
@@ -0,0 +1,4 @@
+F.stn_ilk("ioa4E", "Erd4E", "iob4E", "R")
+--if depart then
+--interrupt_pos(POS(10,0,-10), "dnn"..S.line[atc_id])
+--end \ No newline at end of file
diff --git a/subway/nodes/(-29,3,-80).lua b/subway/nodes/(-29,3,-80).lua
new file mode 100644
index 0000000..e10cb8f
--- /dev/null
+++ b/subway/nodes/(-29,3,-80).lua
@@ -0,0 +1,7 @@
+F.stn_ilk("Erd4E", "iob4E", "Ori4E", "R")
+if event.train then
+interrupt_pos(POS(10,0,-10), "arr"..S.line[atc_id])
+end
+if depart then
+interrupt_pos(POS(10,0,-10), "dep"..S.line[atc_id])
+end \ No newline at end of file
diff --git a/subway/nodes/(-294,5,1).lua b/subway/nodes/(-294,5,1).lua
new file mode 100644
index 0000000..27d19f4
--- /dev/null
+++ b/subway/nodes/(-294,5,1).lua
@@ -0,0 +1 @@
+F.stn("Sys2N", "Snl2N", "Ram2N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-305,5,9).lua b/subway/nodes/(-305,5,9).lua
new file mode 100644
index 0000000..a316e6c
--- /dev/null
+++ b/subway/nodes/(-305,5,9).lua
@@ -0,0 +1 @@
+F.stn("Ram2S", "Snl2S", "Sys2S", "L", "M")
diff --git a/subway/nodes/(-308,5,6).lua b/subway/nodes/(-308,5,6).lua
new file mode 100644
index 0000000..b882c48
--- /dev/null
+++ b/subway/nodes/(-308,5,6).lua
@@ -0,0 +1,4 @@
+F.stn("Ram2S", "Snl2S", "Sys2S", "R", 1)
+if depart then
+interrupt_pos(POS(-317, 5, 9), "on")
+end \ No newline at end of file
diff --git a/subway/nodes/(-31,11,124).lua b/subway/nodes/(-31,11,124).lua
new file mode 100644
index 0000000..32c6b8a
--- /dev/null
+++ b/subway/nodes/(-31,11,124).lua
@@ -0,0 +1 @@
+F.stn("OSm2", "OEs2", "OIr2", "R", 10) \ No newline at end of file
diff --git a/subway/nodes/(-31,3,-90).lua b/subway/nodes/(-31,3,-90).lua
new file mode 100644
index 0000000..fbcbbec
--- /dev/null
+++ b/subway/nodes/(-31,3,-90).lua
@@ -0,0 +1 @@
+F.stn_ilk("Ori4W", "iob4W", "Erd4W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-318,-3,-834).lua b/subway/nodes/(-318,-3,-834).lua
new file mode 100644
index 0000000..daead0b
--- /dev/null
+++ b/subway/nodes/(-318,-3,-834).lua
@@ -0,0 +1,2 @@
+--Ich hab keine idee wie ich diese station nennen soll....
+F.stn("Ora2N", "Uaa2N", "Bnf2N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-325,-3,-846).lua b/subway/nodes/(-325,-3,-846).lua
new file mode 100644
index 0000000..ed0e085
--- /dev/null
+++ b/subway/nodes/(-325,-3,-846).lua
@@ -0,0 +1 @@
+F.stn("Wbb2S", "Uaa2S", "Ora2S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-359,10,-406).lua b/subway/nodes/(-359,10,-406).lua
new file mode 100644
index 0000000..561dbbc
--- /dev/null
+++ b/subway/nodes/(-359,10,-406).lua
@@ -0,0 +1,4 @@
+if event.train and atc_arrow then
+atc_send("B0")
+print("Train reversed mysteriously at Jungle!")
+end \ No newline at end of file
diff --git a/subway/nodes/(-364,-5,-786).lua b/subway/nodes/(-364,-5,-786).lua
new file mode 100644
index 0000000..45edc24
--- /dev/null
+++ b/subway/nodes/(-364,-5,-786).lua
@@ -0,0 +1 @@
+F.stn("Rsi2S", "Wbb2S", "Uaa2S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-376,-5,-779).lua b/subway/nodes/(-376,-5,-779).lua
new file mode 100644
index 0000000..7c0e83e
--- /dev/null
+++ b/subway/nodes/(-376,-5,-779).lua
@@ -0,0 +1 @@
+F.stn("Uaa2N", "Wbb2N", "Rsi2N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-376,13,-1476).lua b/subway/nodes/(-376,13,-1476).lua
new file mode 100644
index 0000000..4cc8b80
--- /dev/null
+++ b/subway/nodes/(-376,13,-1476).lua
@@ -0,0 +1 @@
+F.stn_return_free("Mrh7S", "Plt7ES", "st") \ No newline at end of file
diff --git a/subway/nodes/(-376,24,-1299).lua b/subway/nodes/(-376,24,-1299).lua
new file mode 100644
index 0000000..41dacee
--- /dev/null
+++ b/subway/nodes/(-376,24,-1299).lua
@@ -0,0 +1 @@
+F.stn("Plt7R", "Mrh7N", "Boz7N", "R") \ No newline at end of file
diff --git a/subway/nodes/(-378,24,-1311).lua b/subway/nodes/(-378,24,-1311).lua
new file mode 100644
index 0000000..fbb093d
--- /dev/null
+++ b/subway/nodes/(-378,24,-1311).lua
@@ -0,0 +1 @@
+F.stn("Boz7S", "Mrh7S", "Plt7R", "R") \ No newline at end of file
diff --git a/subway/nodes/(-378,7,-1528).lua b/subway/nodes/(-378,7,-1528).lua
new file mode 100644
index 0000000..3d7f546
--- /dev/null
+++ b/subway/nodes/(-378,7,-1528).lua
@@ -0,0 +1,4 @@
+F.stn_return("Mrh7S", "Plt7R", "Mrh7N", "R", "Plt7ES", "cr")
+S.line[atc_id]="7"
+set_line(7)
+atc_set_text_outside("Line 7 - Birch Bay East") \ No newline at end of file
diff --git a/subway/nodes/(-38,9,-245).lua b/subway/nodes/(-38,9,-245).lua
new file mode 100644
index 0000000..d40c1fb
--- /dev/null
+++ b/subway/nodes/(-38,9,-245).lua
@@ -0,0 +1 @@
+F.stn("Ewd5W", "Erd5W", "Jis5W", "L") \ No newline at end of file
diff --git a/subway/nodes/(-393,3,358).lua b/subway/nodes/(-393,3,358).lua
new file mode 100644
index 0000000..b318fb9
--- /dev/null
+++ b/subway/nodes/(-393,3,358).lua
@@ -0,0 +1 @@
+atc_set_text_outside("Line 5\nLibrary (Spawn)") \ No newline at end of file
diff --git a/subway/nodes/(-400,5,1).lua b/subway/nodes/(-400,5,1).lua
new file mode 100644
index 0000000..c5b1699
--- /dev/null
+++ b/subway/nodes/(-400,5,1).lua
@@ -0,0 +1 @@
+F.stn("Lin2N", "Sys2N", "Snl2N", "R") \ No newline at end of file
diff --git a/subway/nodes/(-403,3,237).lua b/subway/nodes/(-403,3,237).lua
new file mode 100644
index 0000000..5186087
--- /dev/null
+++ b/subway/nodes/(-403,3,237).lua
@@ -0,0 +1,2 @@
+F.stn_nohalt("Sys5E", "Fpa5E", "Hhs5E", "10")
+setstate("Fpa5E", "green") \ No newline at end of file
diff --git a/subway/nodes/(-404,12,-105).lua b/subway/nodes/(-404,12,-105).lua
new file mode 100644
index 0000000..7cd7bc4
--- /dev/null
+++ b/subway/nodes/(-404,12,-105).lua
@@ -0,0 +1,6 @@
+F.stn("Rea7E", "Ack5E", "Sys5E", "R", 1)
+if depart then
+S.Ack5E_lvcross=true
+setstate("AckLvcross1", "on")
+setstate("AckLvcross2", "on")
+end \ No newline at end of file
diff --git a/subway/nodes/(-404,12,-77).lua b/subway/nodes/(-404,12,-77).lua
new file mode 100644
index 0000000..b3fc59d
--- /dev/null
+++ b/subway/nodes/(-404,12,-77).lua
@@ -0,0 +1,5 @@
+S.Ack5E_lvcross=false
+if not (S.Ack5E_lvcross or S.Ack5W_lvcross) then
+setstate("AckLvcross1", "off")
+setstate("AckLvcross2", "off")
+end \ No newline at end of file
diff --git a/subway/nodes/(-404,12,9).lua b/subway/nodes/(-404,12,9).lua
new file mode 100644
index 0000000..8fadaa3
--- /dev/null
+++ b/subway/nodes/(-404,12,9).lua
@@ -0,0 +1 @@
+F.stn("Ack5E", "Sys5E", "Fpa5E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-408,12,-116).lua b/subway/nodes/(-408,12,-116).lua
new file mode 100644
index 0000000..e8b546a
--- /dev/null
+++ b/subway/nodes/(-408,12,-116).lua
@@ -0,0 +1,8 @@
+F.stn("Sys5W", "Ack5W", "Rea5W", "R")
+if event.train then
+S.Ack5W_lvcross=false
+if not (S.Ack5E_lvcross or S.Ack5W_lvcross) then
+setstate("AckLvcross1", "off")
+setstate("AckLvcross2", "off")
+end
+end \ No newline at end of file
diff --git a/subway/nodes/(-408,12,-2).lua b/subway/nodes/(-408,12,-2).lua
new file mode 100644
index 0000000..8ea1f9e
--- /dev/null
+++ b/subway/nodes/(-408,12,-2).lua
@@ -0,0 +1,6 @@
+F.stn("Fpa5W", "Sys5W", "Ack5W", "R")
+if depart then
+S.Ack5W_lvcross=true
+setstate("AckLvcross1", "on")
+setstate("AckLvcross2", "on")
+end \ No newline at end of file
diff --git a/subway/nodes/(-409,-1,-792).lua b/subway/nodes/(-409,-1,-792).lua
new file mode 100644
index 0000000..bca0ef6
--- /dev/null
+++ b/subway/nodes/(-409,-1,-792).lua
@@ -0,0 +1,4 @@
+F.stn("Ban3R", "Wbb3N", "Rsi3N", "L")
+if event.train then
+F.stn_return_free("Wbb3S", "Wbb3ES", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-409,3,222).lua b/subway/nodes/(-409,3,222).lua
new file mode 100644
index 0000000..1dc1655
--- /dev/null
+++ b/subway/nodes/(-409,3,222).lua
@@ -0,0 +1 @@
+F.stn_nohalt("Hhs5W", "Fpa5W", "Sys5W", "10") \ No newline at end of file
diff --git a/subway/nodes/(-412,5,6).lua b/subway/nodes/(-412,5,6).lua
new file mode 100644
index 0000000..eee5168
--- /dev/null
+++ b/subway/nodes/(-412,5,6).lua
@@ -0,0 +1 @@
+F.stn("Snl2S", "Sys2S", "Lin2S", "R") \ No newline at end of file
diff --git a/subway/nodes/(-416,-1,-804).lua b/subway/nodes/(-416,-1,-804).lua
new file mode 100644
index 0000000..71dbce2
--- /dev/null
+++ b/subway/nodes/(-416,-1,-804).lua
@@ -0,0 +1 @@
+F.stn("Rsi3S", "Wbb3S", "Ban3R", "L") \ No newline at end of file
diff --git a/subway/nodes/(-416,8,-935).lua b/subway/nodes/(-416,8,-935).lua
new file mode 100644
index 0000000..b26c927
--- /dev/null
+++ b/subway/nodes/(-416,8,-935).lua
@@ -0,0 +1,2 @@
+F.stn_return("Wbb3S", "Ban3R", "Wbb3N", "L", "Wbb3ES", "st")
+F.lineset("3", "N") \ No newline at end of file
diff --git a/subway/nodes/(-419,24,-1178).lua b/subway/nodes/(-419,24,-1178).lua
new file mode 100644
index 0000000..f1c3fa1
--- /dev/null
+++ b/subway/nodes/(-419,24,-1178).lua
@@ -0,0 +1 @@
+F.stn("Rkb7S", "Boz7S", "Mrh7S", "R") \ No newline at end of file
diff --git a/subway/nodes/(-429,8,-501).lua b/subway/nodes/(-429,8,-501).lua
new file mode 100644
index 0000000..dff25df
--- /dev/null
+++ b/subway/nodes/(-429,8,-501).lua
@@ -0,0 +1 @@
+F.stn("Hts4E", "Jng4E", "Uic4E", "L", 8) \ No newline at end of file
diff --git a/subway/nodes/(-430,24,-1176).lua b/subway/nodes/(-430,24,-1176).lua
new file mode 100644
index 0000000..886d66d
--- /dev/null
+++ b/subway/nodes/(-430,24,-1176).lua
@@ -0,0 +1 @@
+F.stn("Mrh7N", "Boz7N", "Rkb7N", "R") \ No newline at end of file
diff --git a/subway/nodes/(-433,9,-225).lua b/subway/nodes/(-433,9,-225).lua
new file mode 100644
index 0000000..f37a4fc
--- /dev/null
+++ b/subway/nodes/(-433,9,-225).lua
@@ -0,0 +1 @@
+F.stn("Bld5E", "Rea5E", "Ack5E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-433,9,-229).lua b/subway/nodes/(-433,9,-229).lua
new file mode 100644
index 0000000..1ece240
--- /dev/null
+++ b/subway/nodes/(-433,9,-229).lua
@@ -0,0 +1 @@
+F.stn("Bld5E", "Rea5E", "Jis5E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-433,9,-239).lua b/subway/nodes/(-433,9,-239).lua
new file mode 100644
index 0000000..5a0175d
--- /dev/null
+++ b/subway/nodes/(-433,9,-239).lua
@@ -0,0 +1 @@
+F.stn("Bld7E", "Rea7E", "Ack5E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-436,-3,519).lua b/subway/nodes/(-436,-3,519).lua
new file mode 100644
index 0000000..1b54098
--- /dev/null
+++ b/subway/nodes/(-436,-3,519).lua
@@ -0,0 +1 @@
+F.stn("Pyr5W", "Lis5W", "Hhs5W", "L") \ No newline at end of file
diff --git a/subway/nodes/(-441,8,-493).lua b/subway/nodes/(-441,8,-493).lua
new file mode 100644
index 0000000..b0633a3
--- /dev/null
+++ b/subway/nodes/(-441,8,-493).lua
@@ -0,0 +1,4 @@
+F.stn("Uic4W", "Jng4W", "Hts3W", "L")
+if depart then
+ S.line[atc_id]="4"
+end \ No newline at end of file
diff --git a/subway/nodes/(-445,9,-222).lua b/subway/nodes/(-445,9,-222).lua
new file mode 100644
index 0000000..fdbb3ff
--- /dev/null
+++ b/subway/nodes/(-445,9,-222).lua
@@ -0,0 +1 @@
+F.stn("Jis5W", "Rea5W", "Bld5W", "L") \ No newline at end of file
diff --git a/subway/nodes/(-445,9,-232).lua b/subway/nodes/(-445,9,-232).lua
new file mode 100644
index 0000000..30a8237
--- /dev/null
+++ b/subway/nodes/(-445,9,-232).lua
@@ -0,0 +1,2 @@
+F.stn("Ack5W", "Rea7W", "Bld7W", "L")
+S.line[atc_id]="7" \ No newline at end of file
diff --git a/subway/nodes/(-448,-3,526).lua b/subway/nodes/(-448,-3,526).lua
new file mode 100644
index 0000000..4fdaff6
--- /dev/null
+++ b/subway/nodes/(-448,-3,526).lua
@@ -0,0 +1 @@
+F.stn("Hhs5E", "Lis5E", "Pyr5E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-49,7,200).lua b/subway/nodes/(-49,7,200).lua
new file mode 100644
index 0000000..3c1c13d
--- /dev/null
+++ b/subway/nodes/(-49,7,200).lua
@@ -0,0 +1,2 @@
+F.stn("OIs2", "OSm2", "OEs2", "R", 10)
+atc_set_text_outside("Line O2 - Town Hall - Babbage Road - Origin - North Bridge") \ No newline at end of file
diff --git a/subway/nodes/(-497,10,-408).lua b/subway/nodes/(-497,10,-408).lua
new file mode 100644
index 0000000..1dff38c
--- /dev/null
+++ b/subway/nodes/(-497,10,-408).lua
@@ -0,0 +1,9 @@
+F.stn_return_nohalt("Brn1aE", "Brn1aR", "Brn1W", "Brn1RS", "st", 6)
+if event.train then
+setstate("Brn1aWait", "red")
+end
+if depart then
+setstate("Brn1WDivIn", "cr")
+setstate("Uic1W", "red")
+setstate("Brn1aWait", "green")
+end \ No newline at end of file
diff --git a/subway/nodes/(-502,-5,-772).lua b/subway/nodes/(-502,-5,-772).lua
new file mode 100644
index 0000000..01a3d1a
--- /dev/null
+++ b/subway/nodes/(-502,-5,-772).lua
@@ -0,0 +1 @@
+atc_send("B2") \ No newline at end of file
diff --git a/subway/nodes/(-519,4,-409).lua b/subway/nodes/(-519,4,-409).lua
new file mode 100644
index 0000000..eebdeb0
--- /dev/null
+++ b/subway/nodes/(-519,4,-409).lua
@@ -0,0 +1 @@
+F.stn("Hts3N", "Brn3N", "Bld3N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-519,4,-410).lua b/subway/nodes/(-519,4,-410).lua
new file mode 100644
index 0000000..eebdeb0
--- /dev/null
+++ b/subway/nodes/(-519,4,-410).lua
@@ -0,0 +1 @@
+F.stn("Hts3N", "Brn3N", "Bld3N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-520,10,-787).lua b/subway/nodes/(-520,10,-787).lua
new file mode 100644
index 0000000..83c24a1
--- /dev/null
+++ b/subway/nodes/(-520,10,-787).lua
@@ -0,0 +1 @@
+South Forest \ No newline at end of file
diff --git a/subway/nodes/(-522,5,0).lua b/subway/nodes/(-522,5,0).lua
new file mode 100644
index 0000000..305a923
--- /dev/null
+++ b/subway/nodes/(-522,5,0).lua
@@ -0,0 +1 @@
+F.stn("Rfo2N", "Lin2N", "Sys2N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-529,-5,-783).lua b/subway/nodes/(-529,-5,-783).lua
new file mode 100644
index 0000000..78f0749
--- /dev/null
+++ b/subway/nodes/(-529,-5,-783).lua
@@ -0,0 +1 @@
+F.stn("Leo3S", "Rsi3S", "Wbb3S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-529,-5,-797).lua b/subway/nodes/(-529,-5,-797).lua
new file mode 100644
index 0000000..289e95b
--- /dev/null
+++ b/subway/nodes/(-529,-5,-797).lua
@@ -0,0 +1 @@
+F.stn("Uni2S", "Rsi2S", "Wbb2S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-532,4,-420).lua b/subway/nodes/(-532,4,-420).lua
new file mode 100644
index 0000000..f8c7da7
--- /dev/null
+++ b/subway/nodes/(-532,4,-420).lua
@@ -0,0 +1 @@
+F.stn("Bld3S", "Brn3S", "Hts3S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-534,5,7).lua b/subway/nodes/(-534,5,7).lua
new file mode 100644
index 0000000..29e65f7
--- /dev/null
+++ b/subway/nodes/(-534,5,7).lua
@@ -0,0 +1 @@
+F.stn("Sys2S", "Lin2S", "Rfo2S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-543,-5,-772).lua b/subway/nodes/(-543,-5,-772).lua
new file mode 100644
index 0000000..6fc7189
--- /dev/null
+++ b/subway/nodes/(-543,-5,-772).lua
@@ -0,0 +1,3 @@
+depart=false
+F.stn("Wbb3N", "Rsi3N", "Leo3N", "L")
+F.stat("Line 3", false) \ No newline at end of file
diff --git a/subway/nodes/(-543,-5,-786).lua b/subway/nodes/(-543,-5,-786).lua
new file mode 100644
index 0000000..563f861
--- /dev/null
+++ b/subway/nodes/(-543,-5,-786).lua
@@ -0,0 +1,7 @@
+depart=false
+F.stn("Wbb2N", "Rsi2N", "Uni2N", "L", "M", "Rsi2NPref")
+if depart then
+setstate("Dar7N", "red")
+setstate("Uni2NDivIn", "cr")
+end
+S.line[atc_id]="2"; \ No newline at end of file
diff --git a/subway/nodes/(-546,9,-235).lua b/subway/nodes/(-546,9,-235).lua
new file mode 100644
index 0000000..b54f394
--- /dev/null
+++ b/subway/nodes/(-546,9,-235).lua
@@ -0,0 +1 @@
+F.stn("Cat5E", "Bld5E", "Rea5E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-546,9,-245).lua b/subway/nodes/(-546,9,-245).lua
new file mode 100644
index 0000000..2785607
--- /dev/null
+++ b/subway/nodes/(-546,9,-245).lua
@@ -0,0 +1 @@
+F.stn("Cat7N", "Bld7E", "Rea7E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-546,9,-255).lua b/subway/nodes/(-546,9,-255).lua
new file mode 100644
index 0000000..c741370
--- /dev/null
+++ b/subway/nodes/(-546,9,-255).lua
@@ -0,0 +1 @@
+F.stn("Lza3S", "Bld3S", "Brn3S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-548,8,-501).lua b/subway/nodes/(-548,8,-501).lua
new file mode 100644
index 0000000..6a1b65c
--- /dev/null
+++ b/subway/nodes/(-548,8,-501).lua
@@ -0,0 +1,11 @@
+if S.line[atc_id]=="4" then
+ F.stn("Spn3E", "Hts4E", "Jng4E", "L")
+ if depart then
+ setstate("Hts4DivOut", "cr")
+ end
+else
+ F.stn("Spn3E", "Hts3E", "Brn3E", "L")
+ if depart then
+ setstate("Hts4DivOut", "st")
+ end
+end \ No newline at end of file
diff --git a/subway/nodes/(-548,8,-502).lua b/subway/nodes/(-548,8,-502).lua
new file mode 100644
index 0000000..010bd1e
--- /dev/null
+++ b/subway/nodes/(-548,8,-502).lua
@@ -0,0 +1,12 @@
+--if S.line[atc_id]=="4" then
+ F.stn("Spn3E", "Hts4E", "Jng4E", "L")
+set_line(4)
+-- if depart then
+-- setstate("Hts4DivOut", "cr")
+-- end
+--else
+-- F.stn("Spn3E", "Hts3E", "Brn3E", "L")
+-- if depart then
+-- setstate("Hts4DivOut", "st")
+-- end
+--end \ No newline at end of file
diff --git a/subway/nodes/(-554,1,-504).lua b/subway/nodes/(-554,1,-504).lua
new file mode 100644
index 0000000..79807e0
--- /dev/null
+++ b/subway/nodes/(-554,1,-504).lua
@@ -0,0 +1 @@
+F.stn("Leo3N", "Hts3N", "Brn3N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-558,9,-229).lua b/subway/nodes/(-558,9,-229).lua
new file mode 100644
index 0000000..39ada9f
--- /dev/null
+++ b/subway/nodes/(-558,9,-229).lua
@@ -0,0 +1 @@
+F.stn("Rea5W", "Bld5W", "Cat5W", "L") \ No newline at end of file
diff --git a/subway/nodes/(-558,9,-239).lua b/subway/nodes/(-558,9,-239).lua
new file mode 100644
index 0000000..26ab37c
--- /dev/null
+++ b/subway/nodes/(-558,9,-239).lua
@@ -0,0 +1,7 @@
+F.stn("Rea7W", "Bld7W", "Cat7S", "L")
+--if depart then
+--setstate("Cat2SDivIn", "st")
+--setstate("Dca2S", "red")
+--end
+S.line[atc_id]="7"
+--F.union_wait("Bld7W") \ No newline at end of file
diff --git a/subway/nodes/(-558,9,-249).lua b/subway/nodes/(-558,9,-249).lua
new file mode 100644
index 0000000..6c4d0e2
--- /dev/null
+++ b/subway/nodes/(-558,9,-249).lua
@@ -0,0 +1 @@
+F.stn("Brn3N", "Bld3N", "Lza3N", "L", 10) \ No newline at end of file
diff --git a/subway/nodes/(-560,8,-492).lua b/subway/nodes/(-560,8,-492).lua
new file mode 100644
index 0000000..01f6ae5
--- /dev/null
+++ b/subway/nodes/(-560,8,-492).lua
@@ -0,0 +1 @@
+F.stn("Brn3S", "Hts3S", "Leo3S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-560,8,-493).lua b/subway/nodes/(-560,8,-493).lua
new file mode 100644
index 0000000..c81228d
--- /dev/null
+++ b/subway/nodes/(-560,8,-493).lua
@@ -0,0 +1,4 @@
+F.stn("Brn3W", "Hts3W", "Spn3W", "L")
+if depart then
+ setstate("Jng4W", "green")
+end \ No newline at end of file
diff --git a/subway/nodes/(-567,1,-490).lua b/subway/nodes/(-567,1,-490).lua
new file mode 100644
index 0000000..27c4624
--- /dev/null
+++ b/subway/nodes/(-567,1,-490).lua
@@ -0,0 +1 @@
+F.stn("Jng4W", "Hts3W", "Spn3W", "L") \ No newline at end of file
diff --git a/subway/nodes/(-58,20,5).lua b/subway/nodes/(-58,20,5).lua
new file mode 100644
index 0000000..4501d5c
--- /dev/null
+++ b/subway/nodes/(-58,20,5).lua
@@ -0,0 +1,2 @@
+F.stn("IrkO", "OriO", "MarO", "L", 13)
+atc_set_text_outside("Line O1 - Bracket Road - Marcuse Street Station - Watson-Crick Street")
diff --git a/subway/nodes/(-5833,2,-3881).lua b/subway/nodes/(-5833,2,-3881).lua
new file mode 100644
index 0000000..cbfa234
--- /dev/null
+++ b/subway/nodes/(-5833,2,-3881).lua
@@ -0,0 +1 @@
+F.stn_return_free("WfrSS", "SpaSW", "st") \ No newline at end of file
diff --git a/subway/nodes/(-596,1,-595).lua b/subway/nodes/(-596,1,-595).lua
new file mode 100644
index 0000000..2b6b810
--- /dev/null
+++ b/subway/nodes/(-596,1,-595).lua
@@ -0,0 +1 @@
+F.stn("Rsi3N", "Leo3N", "Hts3N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-5972,-1,-3899).lua b/subway/nodes/(-5972,-1,-3899).lua
new file mode 100644
index 0000000..133e07e
--- /dev/null
+++ b/subway/nodes/(-5972,-1,-3899).lua
@@ -0,0 +1 @@
+F.stn_return("WfrSS", "SpaSN", "WfrSN", "L", "SpaSW", "cr") \ No newline at end of file
diff --git a/subway/nodes/(-6,25,43).lua b/subway/nodes/(-6,25,43).lua
new file mode 100644
index 0000000..230acc7
--- /dev/null
+++ b/subway/nodes/(-6,25,43).lua
@@ -0,0 +1 @@
+F.stn("OEs2", "OIr2", "OTh2", "L", 10)
diff --git a/subway/nodes/(-6,5,14).lua b/subway/nodes/(-6,5,14).lua
new file mode 100644
index 0000000..39e5a85
--- /dev/null
+++ b/subway/nodes/(-6,5,14).lua
@@ -0,0 +1 @@
+F.stn("Chu2S", "Ori2S", "Ram2S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-600,10,-255).lua b/subway/nodes/(-600,10,-255).lua
new file mode 100644
index 0000000..6dbc934
--- /dev/null
+++ b/subway/nodes/(-600,10,-255).lua
@@ -0,0 +1 @@
+F.stn("Cat3S", "Lza3S", "Bld3S", "L", 10) \ No newline at end of file
diff --git a/subway/nodes/(-602,1,-607).lua b/subway/nodes/(-602,1,-607).lua
new file mode 100644
index 0000000..c8a6c40
--- /dev/null
+++ b/subway/nodes/(-602,1,-607).lua
@@ -0,0 +1 @@
+F.stn("Hts3S", "Leo3S", "Rsi3S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-602,10,-240).lua b/subway/nodes/(-602,10,-240).lua
new file mode 100644
index 0000000..8b2783a
--- /dev/null
+++ b/subway/nodes/(-602,10,-240).lua
@@ -0,0 +1,11 @@
+F.stn("Cat3W", "Lza3W", "Bld3W", "R", 6, "Lza3WOpp")
+if event.train then
+ setstate("Cat3WOpp", "green")
+ setstate("Lza3EOpp", "green")
+end
+if depart then
+ setstate("Lza3DivW", "cr")
+ setstate("Bld3DivE", "cr")
+ setstate("Lza3WOpp", "red")
+ setstate("Bld3EOpp", "red")
+end \ No newline at end of file
diff --git a/subway/nodes/(-611,10,-248).lua b/subway/nodes/(-611,10,-248).lua
new file mode 100644
index 0000000..f80b21b
--- /dev/null
+++ b/subway/nodes/(-611,10,-248).lua
@@ -0,0 +1 @@
+F.stn("Bld3N", "Lza3N", "Cat3N", "L", 10) \ No newline at end of file
diff --git a/subway/nodes/(-612,10,-248).lua b/subway/nodes/(-612,10,-248).lua
new file mode 100644
index 0000000..f80b21b
--- /dev/null
+++ b/subway/nodes/(-612,10,-248).lua
@@ -0,0 +1 @@
+F.stn("Bld3N", "Lza3N", "Cat3N", "L", 10) \ No newline at end of file
diff --git a/subway/nodes/(-617,14,-408).lua b/subway/nodes/(-617,14,-408).lua
new file mode 100644
index 0000000..f22552e
--- /dev/null
+++ b/subway/nodes/(-617,14,-408).lua
@@ -0,0 +1,2 @@
+
+atc_set_text_outside("S12 - Ehlodex\nvia Lesnoi, Anju64, Schwarzschildt St., Gardon St.") \ No newline at end of file
diff --git a/subway/nodes/(-623,5,1).lua b/subway/nodes/(-623,5,1).lua
new file mode 100644
index 0000000..e960ffc
--- /dev/null
+++ b/subway/nodes/(-623,5,1).lua
@@ -0,0 +1 @@
+F.stn("Thh2N", "Rfo2N", "Lin2N", "R") \ No newline at end of file
diff --git a/subway/nodes/(-626,13,-1145).lua b/subway/nodes/(-626,13,-1145).lua
new file mode 100644
index 0000000..098f150
--- /dev/null
+++ b/subway/nodes/(-626,13,-1145).lua
@@ -0,0 +1,9 @@
+F.stn("Boz7N", "Rkb7N", "Unv7N", "R")
+--F.union_wait("Rkb7N")
+
+--if depart then
+--setstate("Unv6EDivIn", "cr")
+--setstate("Swr6E", "red")
+
+--setstate("Unv6WCross", "red")
+--end \ No newline at end of file
diff --git a/subway/nodes/(-628,13,-1159).lua b/subway/nodes/(-628,13,-1159).lua
new file mode 100644
index 0000000..aad41f3
--- /dev/null
+++ b/subway/nodes/(-628,13,-1159).lua
@@ -0,0 +1 @@
+F.stn("Unv7S", "Rkb7S", "Boz7S", "R")
diff --git a/subway/nodes/(-636,5,6).lua b/subway/nodes/(-636,5,6).lua
new file mode 100644
index 0000000..c6098f9
--- /dev/null
+++ b/subway/nodes/(-636,5,6).lua
@@ -0,0 +1,4 @@
+F.stn("Lin2S", "Rfo2S", "Thh2S", "R")
+if depart then
+interrupt_pos(POS(-662,8,-296), "dep3")
+end \ No newline at end of file
diff --git a/subway/nodes/(-637,18,-527).lua b/subway/nodes/(-637,18,-527).lua
new file mode 100644
index 0000000..9504304
--- /dev/null
+++ b/subway/nodes/(-637,18,-527).lua
@@ -0,0 +1,11 @@
+--[[local line = get_line()
+if line=="E1" or line=="E2" then
+if flip then
+set_line("E1")
+atc_set_text_outside("Reorder:E1")
+else
+set_line("E2")
+atc_set_text_outside("Reorder:E2")
+end
+flip = not flip
+end]] \ No newline at end of file
diff --git a/subway/nodes/(-642,1,-259).lua b/subway/nodes/(-642,1,-259).lua
new file mode 100644
index 0000000..fd4248d
--- /dev/null
+++ b/subway/nodes/(-642,1,-259).lua
@@ -0,0 +1 @@
+F.stn("Shn7N", "Cat7N", "Bld7E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-645,14,-402).lua b/subway/nodes/(-645,14,-402).lua
new file mode 100644
index 0000000..4e9e447
--- /dev/null
+++ b/subway/nodes/(-645,14,-402).lua
@@ -0,0 +1,6 @@
+F.stn("Spn2N", "Stn2N", "Cat2N", "L")
+if depart then
+ interrupt_pos(POS(-649,9,-283), "dep1")
+elseif event.train then
+ interrupt_pos(POS(-649,9,-283), "arr1")
+end \ No newline at end of file
diff --git a/subway/nodes/(-648,5,-199).lua b/subway/nodes/(-648,5,-199).lua
new file mode 100644
index 0000000..1fa0d39
--- /dev/null
+++ b/subway/nodes/(-648,5,-199).lua
@@ -0,0 +1 @@
+F.stn("Cat2N", "Dca2N", "Thh2N", "R") \ No newline at end of file
diff --git a/subway/nodes/(-648,5,-287).lua b/subway/nodes/(-648,5,-287).lua
new file mode 100644
index 0000000..88f9ae5
--- /dev/null
+++ b/subway/nodes/(-648,5,-287).lua
@@ -0,0 +1,12 @@
+--if S.line[atc_id]=="7" then
+-- F.stn("Stn2N", "Cat7N", "Bld7E", "L")
+-- if depart then
+-- setstate("Cat2NDivOut", "cr")
+-- end
+--else
+ F.stn("Stn2N", "Cat2N", "Dca2N", "L")
+ if depart then
+ setstate("Cat2NDivOut", "st")
+ interrupt_pos(POS(-649,9,-283), "pass")
+ end
+--end \ No newline at end of file
diff --git a/subway/nodes/(-648,5,-288).lua b/subway/nodes/(-648,5,-288).lua
new file mode 100644
index 0000000..e0b19f7
--- /dev/null
+++ b/subway/nodes/(-648,5,-288).lua
@@ -0,0 +1 @@
+F.stn("Stn2N", "Cat2N", "Dca2N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-648,5,-98).lua b/subway/nodes/(-648,5,-98).lua
new file mode 100644
index 0000000..417ebf3
--- /dev/null
+++ b/subway/nodes/(-648,5,-98).lua
@@ -0,0 +1 @@
+F.stn("Dca2N", "Thh2N", "Rfo2N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-651,5,-303).lua b/subway/nodes/(-651,5,-303).lua
new file mode 100644
index 0000000..62b78e7
--- /dev/null
+++ b/subway/nodes/(-651,5,-303).lua
@@ -0,0 +1,7 @@
+F.stn_return("Stn7N", "Cat7R", "Stn2S", "L", "Cat7ES", "st")
+if depart then
+setstate("Stn2SDivIn", "st")
+setstate("Cat2S", "red")
+end
+atc_set_text_outside("Line 7 - Robert Koch Boulevard")
+S.line[atc_id]="7" \ No newline at end of file
diff --git a/subway/nodes/(-652,14,-490).lua b/subway/nodes/(-652,14,-490).lua
new file mode 100644
index 0000000..d085d58
--- /dev/null
+++ b/subway/nodes/(-652,14,-490).lua
@@ -0,0 +1,6 @@
+F.stn("Kav2N", "Spn2N", "Stn2N", "R")
+if depart then
+ interrupt_pos(POS(-649,9,-283), "dep2")
+elseif event.train then
+ interrupt_pos(POS(-649,9,-283), "arr2")
+end \ No newline at end of file
diff --git a/subway/nodes/(-653,14,-377).lua b/subway/nodes/(-653,14,-377).lua
new file mode 100644
index 0000000..d7e8e9c
--- /dev/null
+++ b/subway/nodes/(-653,14,-377).lua
@@ -0,0 +1,4 @@
+atc_send("B2")
+if S.line[atc_id]=="7" then
+F.stn_return_free("Stn7N", "Cat7ES", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-654,18,-301).lua b/subway/nodes/(-654,18,-301).lua
new file mode 100644
index 0000000..726e93f
--- /dev/null
+++ b/subway/nodes/(-654,18,-301).lua
@@ -0,0 +1 @@
+F.stn("Jus3S", "Cat3S", "Lza3S", "R", 10) \ No newline at end of file
diff --git a/subway/nodes/(-654,5,-110).lua b/subway/nodes/(-654,5,-110).lua
new file mode 100644
index 0000000..d12ba98
--- /dev/null
+++ b/subway/nodes/(-654,5,-110).lua
@@ -0,0 +1 @@
+F.stn("Rfo2S", "Thh2S", "Dca2S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-654,5,-209).lua b/subway/nodes/(-654,5,-209).lua
new file mode 100644
index 0000000..fa29dbb
--- /dev/null
+++ b/subway/nodes/(-654,5,-209).lua
@@ -0,0 +1,7 @@
+F.stn("Thh2S", "Dca2S", "Cat2S", "R")
+if event.train then
+interrupt_pos(POS(-662,8,-296), "arr1")
+end
+if depart then
+interrupt_pos(POS(-662,8,-296), "dep1")
+end \ No newline at end of file
diff --git a/subway/nodes/(-654,5,-300).lua b/subway/nodes/(-654,5,-300).lua
new file mode 100644
index 0000000..2d289f9
--- /dev/null
+++ b/subway/nodes/(-654,5,-300).lua
@@ -0,0 +1 @@
+F.stn("Dca2S", "Cat2S", "Stn2S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-654,5,-335).lua b/subway/nodes/(-654,5,-335).lua
new file mode 100644
index 0000000..061a7a1
--- /dev/null
+++ b/subway/nodes/(-654,5,-335).lua
@@ -0,0 +1 @@
+S.line[atc_id]="7" \ No newline at end of file
diff --git a/subway/nodes/(-655,14,-412).lua b/subway/nodes/(-655,14,-412).lua
new file mode 100644
index 0000000..1156820
--- /dev/null
+++ b/subway/nodes/(-655,14,-412).lua
@@ -0,0 +1 @@
+F.stn("Cat2S", "Stn2S", "Spn2S", "L")
diff --git a/subway/nodes/(-655,14,-502).lua b/subway/nodes/(-655,14,-502).lua
new file mode 100644
index 0000000..5b09f76
--- /dev/null
+++ b/subway/nodes/(-655,14,-502).lua
@@ -0,0 +1 @@
+F.stn("Stn2S", "Spn2S", "Kav2S", "R") \ No newline at end of file
diff --git a/subway/nodes/(-655,5,-110).lua b/subway/nodes/(-655,5,-110).lua
new file mode 100644
index 0000000..1ae68d6
--- /dev/null
+++ b/subway/nodes/(-655,5,-110).lua
@@ -0,0 +1,7 @@
+F.stn("Rfo2S", "Thh2S", "Dca2S", "L")
+if event.train then
+interrupt_pos(POS(-662,8,-296), "arr2")
+end
+if depart then
+interrupt_pos(POS(-662,8,-296), "dep2")
+end \ No newline at end of file
diff --git a/subway/nodes/(-658,8,-497).lua b/subway/nodes/(-658,8,-497).lua
new file mode 100644
index 0000000..dc353f4
--- /dev/null
+++ b/subway/nodes/(-658,8,-497).lua
@@ -0,0 +1,7 @@
+F.stn("Trp3E", "Spn3E", "Hts3E", "R")
+if not S.line[atc_id]=="4" then
+ atc_set_text_outside("Line 3 - Counter-clockwise Ring Line")
+end
+if depart then
+ setstate("Gpl4E", "green")
+end \ No newline at end of file
diff --git a/subway/nodes/(-659,5,-304).lua b/subway/nodes/(-659,5,-304).lua
new file mode 100644
index 0000000..1cf3a92
--- /dev/null
+++ b/subway/nodes/(-659,5,-304).lua
@@ -0,0 +1,4 @@
+F.stn("Dca2S", "Cat2S", "Stn2S", "L")
+if depart then
+interrupt_pos(POS(-662,8,-296), "pass")
+end \ No newline at end of file
diff --git a/subway/nodes/(-662,13,-1085).lua b/subway/nodes/(-662,13,-1085).lua
new file mode 100644
index 0000000..c65aa75
--- /dev/null
+++ b/subway/nodes/(-662,13,-1085).lua
@@ -0,0 +1 @@
+F.stn_return_free("Unv7S", "Rkb7ES", "st") \ No newline at end of file
diff --git a/subway/nodes/(-663,8,-517).lua b/subway/nodes/(-663,8,-517).lua
new file mode 100644
index 0000000..fc7b004
--- /dev/null
+++ b/subway/nodes/(-663,8,-517).lua
@@ -0,0 +1 @@
+F.stn("STofO", "SSeO", "SSwO", "L", 8) \ No newline at end of file
diff --git a/subway/nodes/(-665,-2,-288).lua b/subway/nodes/(-665,-2,-288).lua
new file mode 100644
index 0000000..4f233c8
--- /dev/null
+++ b/subway/nodes/(-665,-2,-288).lua
@@ -0,0 +1 @@
+F.stn("Jus5E", "Cat5E", "Bld5E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-665,8,-478).lua b/subway/nodes/(-665,8,-478).lua
new file mode 100644
index 0000000..7308ac0
--- /dev/null
+++ b/subway/nodes/(-665,8,-478).lua
@@ -0,0 +1 @@
+F.stn("SSeO", "SSwO", "SPapO","L", 6) \ No newline at end of file
diff --git a/subway/nodes/(-666,18,-299).lua b/subway/nodes/(-666,18,-299).lua
new file mode 100644
index 0000000..15aa318
--- /dev/null
+++ b/subway/nodes/(-666,18,-299).lua
@@ -0,0 +1 @@
+F.stn("Lza3N", "Cat3N", "Jus3N", "R", 10) \ No newline at end of file
diff --git a/subway/nodes/(-671,8,-495).lua b/subway/nodes/(-671,8,-495).lua
new file mode 100644
index 0000000..a9393d6
--- /dev/null
+++ b/subway/nodes/(-671,8,-495).lua
@@ -0,0 +1,13 @@
+if S.line[atc_id]=="4" then
+ F.stn("Hts3W", "Spn4W", "Gpl4W", "R")
+ if depart then
+ setstate("Spn4ups", "cr")
+ --setstate("Trp3ECross", "red")
+ end
+else
+ F.stn("Hts3W", "Spn3W", "Trp3W", "R")
+ atc_set_text_outside("Line 3 - Clockwise Ring Line")
+ if depart then
+ setstate("Spn4ups", "st")
+ end
+end \ No newline at end of file
diff --git a/subway/nodes/(-675,-2,-280).lua b/subway/nodes/(-675,-2,-280).lua
new file mode 100644
index 0000000..a4e5eb4
--- /dev/null
+++ b/subway/nodes/(-675,-2,-280).lua
@@ -0,0 +1 @@
+F.stn("Bld5W", "Cat5W", "Jus5W", "L") \ No newline at end of file
diff --git a/subway/nodes/(-677,1,-257).lua b/subway/nodes/(-677,1,-257).lua
new file mode 100644
index 0000000..6f75165
--- /dev/null
+++ b/subway/nodes/(-677,1,-257).lua
@@ -0,0 +1 @@
+F.stn("Bld7W", "Cat7S", "Shn7S", "R") \ No newline at end of file
diff --git a/subway/nodes/(-696,2,-1060).lua b/subway/nodes/(-696,2,-1060).lua
new file mode 100644
index 0000000..72de4e8
--- /dev/null
+++ b/subway/nodes/(-696,2,-1060).lua
@@ -0,0 +1,2 @@
+F.stn("Hks7S", "Unv7S", "Rkb7S", "R")
+set_line(7) \ No newline at end of file
diff --git a/subway/nodes/(-696,8,-497).lua b/subway/nodes/(-696,8,-497).lua
new file mode 100644
index 0000000..01a3d1a
--- /dev/null
+++ b/subway/nodes/(-696,8,-497).lua
@@ -0,0 +1 @@
+atc_send("B2") \ No newline at end of file
diff --git a/subway/nodes/(-700,7,-475).lua b/subway/nodes/(-700,7,-475).lua
new file mode 100644
index 0000000..34b8893
--- /dev/null
+++ b/subway/nodes/(-700,7,-475).lua
@@ -0,0 +1 @@
+F.stn("SSwO", "SPapO", "SPofO", "R", 6) \ No newline at end of file
diff --git a/subway/nodes/(-702,9,-648).lua b/subway/nodes/(-702,9,-648).lua
new file mode 100644
index 0000000..e90d83c
--- /dev/null
+++ b/subway/nodes/(-702,9,-648).lua
@@ -0,0 +1,4 @@
+F.stn("Uni2N", "Kav2N", "Spn2N", "R")
+if depart then
+ interrupt_pos(POS(-649,9,-283), "dep3")
+end \ No newline at end of file
diff --git a/subway/nodes/(-703,4,-517).lua b/subway/nodes/(-703,4,-517).lua
new file mode 100644
index 0000000..1e86379
--- /dev/null
+++ b/subway/nodes/(-703,4,-517).lua
@@ -0,0 +1 @@
+F.stn("SMinT", "STofO", "SSeO", "R", 6) \ No newline at end of file
diff --git a/subway/nodes/(-709,2,-1058).lua b/subway/nodes/(-709,2,-1058).lua
new file mode 100644
index 0000000..e43ec69
--- /dev/null
+++ b/subway/nodes/(-709,2,-1058).lua
@@ -0,0 +1 @@
+F.stn("Rkb7N", "Unv7N", "Hks7N", "R") \ No newline at end of file
diff --git a/subway/nodes/(-713,9,-646).lua b/subway/nodes/(-713,9,-646).lua
new file mode 100644
index 0000000..fdbf098
--- /dev/null
+++ b/subway/nodes/(-713,9,-646).lua
@@ -0,0 +1 @@
+F.stn("Spn2S", "Kav2S", "Uni2S", "R") \ No newline at end of file
diff --git a/subway/nodes/(-720,9,-326).lua b/subway/nodes/(-720,9,-326).lua
new file mode 100644
index 0000000..7b8c842
--- /dev/null
+++ b/subway/nodes/(-720,9,-326).lua
@@ -0,0 +1,8 @@
+F.stn("Shn3W", "Shc3W", "Cat3W", "L", 10)
+if depart then
+-- setstate("Shc3Div", "st")
+-- setstate("Cat3DivE", "st")
+-- setstate("Shc3WOpp", "red")
+-- setstate("Cat3EOpp", "red")
+end
+--Notiz: beim unteren Verlauf der Ringlinie 3 sind Ost und West vertauscht! \ No newline at end of file
diff --git a/subway/nodes/(-723,10,-375).lua b/subway/nodes/(-723,10,-375).lua
new file mode 100644
index 0000000..efdd2fa
--- /dev/null
+++ b/subway/nodes/(-723,10,-375).lua
@@ -0,0 +1 @@
+F.stn("Trp7N", "Shn7N", "Cat7N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-727,-2,-886).lua b/subway/nodes/(-727,-2,-886).lua
new file mode 100644
index 0000000..5b046c7
--- /dev/null
+++ b/subway/nodes/(-727,-2,-886).lua
@@ -0,0 +1 @@
+F.stn("Unv7N", "Hks7N", "Uni7N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-729,-2,-764).lua b/subway/nodes/(-729,-2,-764).lua
new file mode 100644
index 0000000..4653aa6
--- /dev/null
+++ b/subway/nodes/(-729,-2,-764).lua
@@ -0,0 +1 @@
+F.stn("Hks7N", "Uni7N", "Hmi7N", "R") \ No newline at end of file
diff --git a/subway/nodes/(-729,3,-757).lua b/subway/nodes/(-729,3,-757).lua
new file mode 100644
index 0000000..b53c9d8
--- /dev/null
+++ b/subway/nodes/(-729,3,-757).lua
@@ -0,0 +1,7 @@
+F.stn("Rsi2N", "Uni2N", "Kav2N", "R")
+if event.train then
+setstate("Uni2SCross", "green")
+end
+if depart then
+setstate("Dar7N", "green")
+end \ No newline at end of file
diff --git a/subway/nodes/(-729,8,-435).lua b/subway/nodes/(-729,8,-435).lua
new file mode 100644
index 0000000..a254584
--- /dev/null
+++ b/subway/nodes/(-729,8,-435).lua
@@ -0,0 +1 @@
+F.stn("Gpl7N", "Trp7N", "Shn7N", "R", 10) \ No newline at end of file
diff --git a/subway/nodes/(-731,8,-448).lua b/subway/nodes/(-731,8,-448).lua
new file mode 100644
index 0000000..484a64b
--- /dev/null
+++ b/subway/nodes/(-731,8,-448).lua
@@ -0,0 +1 @@
+F.stn("Shn7S", "Trp7S", "Gpl7S", "R") \ No newline at end of file
diff --git a/subway/nodes/(-732,-2,-777).lua b/subway/nodes/(-732,-2,-777).lua
new file mode 100644
index 0000000..e707895
--- /dev/null
+++ b/subway/nodes/(-732,-2,-777).lua
@@ -0,0 +1 @@
+F.stn("Hmi7S", "Uni7S", "Hks7S", "R") \ No newline at end of file
diff --git a/subway/nodes/(-732,3,-777).lua b/subway/nodes/(-732,3,-777).lua
new file mode 100644
index 0000000..7977383
--- /dev/null
+++ b/subway/nodes/(-732,3,-777).lua
@@ -0,0 +1,2 @@
+
+F.stn("Kav2S", "Uni2S", "Rsi2S", "R", "M") \ No newline at end of file
diff --git a/subway/nodes/(-734,-2,-898).lua b/subway/nodes/(-734,-2,-898).lua
new file mode 100644
index 0000000..10d6c4b
--- /dev/null
+++ b/subway/nodes/(-734,-2,-898).lua
@@ -0,0 +1 @@
+F.stn("Uni7S", "Hks7S", "Unv7S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-737,10,-386).lua b/subway/nodes/(-737,10,-386).lua
new file mode 100644
index 0000000..a61f2b3
--- /dev/null
+++ b/subway/nodes/(-737,10,-386).lua
@@ -0,0 +1 @@
+F.stn("Cat7S", "Shn7S", "Trp7S", "L", 10) \ No newline at end of file
diff --git a/subway/nodes/(-740,4,-475).lua b/subway/nodes/(-740,4,-475).lua
new file mode 100644
index 0000000..30da84a
--- /dev/null
+++ b/subway/nodes/(-740,4,-475).lua
@@ -0,0 +1 @@
+F.stn("SPapO", "SPofO", "SMinT","L", 6) \ No newline at end of file
diff --git a/subway/nodes/(-743,7,-381).lua b/subway/nodes/(-743,7,-381).lua
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/subway/nodes/(-743,7,-381).lua
diff --git a/subway/nodes/(-748,6,-387).lua b/subway/nodes/(-748,6,-387).lua
new file mode 100644
index 0000000..4f8a12a
--- /dev/null
+++ b/subway/nodes/(-748,6,-387).lua
@@ -0,0 +1,6 @@
+if S.line[atc_id]~="1a" then
+ setstate("Shn1aCrossW", "green")
+else
+ F.stn_return_free("scl1aW", "Scl1aES", "cr")
+end
+atc_send("B2") \ No newline at end of file
diff --git a/subway/nodes/(-751,3,584).lua b/subway/nodes/(-751,3,584).lua
new file mode 100644
index 0000000..f4be59f
--- /dev/null
+++ b/subway/nodes/(-751,3,584).lua
@@ -0,0 +1 @@
+F.stn("Vlc1W", "Nha1W", "Stb1W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-753,3,572).lua b/subway/nodes/(-753,3,572).lua
new file mode 100644
index 0000000..e23d74d
--- /dev/null
+++ b/subway/nodes/(-753,3,572).lua
@@ -0,0 +1 @@
+F.stn("Stb1E", "Nha1E", "Vlc1E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-753,4,-508).lua b/subway/nodes/(-753,4,-508).lua
new file mode 100644
index 0000000..b035794
--- /dev/null
+++ b/subway/nodes/(-753,4,-508).lua
@@ -0,0 +1,4 @@
+F.stn("SPofO", "SMinT","STofO","R",4)
+if depart then
+setstate("STT", "st")
+end \ No newline at end of file
diff --git a/subway/nodes/(-753,4,-529).lua b/subway/nodes/(-753,4,-529).lua
new file mode 100644
index 0000000..e3783ed
--- /dev/null
+++ b/subway/nodes/(-753,4,-529).lua
@@ -0,0 +1,3 @@
+setstate("STT", "cr")
+setstate("SBGT", "st")
+setstate("SGt", "cr") \ No newline at end of file
diff --git a/subway/nodes/(-755,7,-499).lua b/subway/nodes/(-755,7,-499).lua
new file mode 100644
index 0000000..adbe3b1
--- /dev/null
+++ b/subway/nodes/(-755,7,-499).lua
@@ -0,0 +1,6 @@
+F.stn("Fmn4E", "Gpl4E", "Spn3E", "L")
+if depart then
+ S.line[atc_id]="4"
+ setstate("Trp3E", "red")
+ setstate("Spn4DivIn", "st")
+end \ No newline at end of file
diff --git a/subway/nodes/(-755,7,-511).lua b/subway/nodes/(-755,7,-511).lua
new file mode 100644
index 0000000..fa923af
--- /dev/null
+++ b/subway/nodes/(-755,7,-511).lua
@@ -0,0 +1 @@
+F.stn("Per7N", "Gpl7N", "Trp7N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-762,2,-287).lua b/subway/nodes/(-762,2,-287).lua
new file mode 100644
index 0000000..72539be
--- /dev/null
+++ b/subway/nodes/(-762,2,-287).lua
@@ -0,0 +1 @@
+F.stn("Lvf5E", "Jus5E", "Cat5E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-763,2,-299).lua b/subway/nodes/(-763,2,-299).lua
new file mode 100644
index 0000000..8a52634
--- /dev/null
+++ b/subway/nodes/(-763,2,-299).lua
@@ -0,0 +1 @@
+F.stn("Slh3S", "Jus3S", "Cat3S", "L")
diff --git a/subway/nodes/(-765,7,-491).lua b/subway/nodes/(-765,7,-491).lua
new file mode 100644
index 0000000..247efc1
--- /dev/null
+++ b/subway/nodes/(-765,7,-491).lua
@@ -0,0 +1,2 @@
+F.stn("Spn4W", "Gpl4W", "Fmn4W", "L")
+F.stat("Line 4", false) \ No newline at end of file
diff --git a/subway/nodes/(-765,7,-503).lua b/subway/nodes/(-765,7,-503).lua
new file mode 100644
index 0000000..dedd3be
--- /dev/null
+++ b/subway/nodes/(-765,7,-503).lua
@@ -0,0 +1,2 @@
+F.stn("Trp7S", "Gpl7S", "Per7S", "L")
+F.stat("Line 7", false) \ No newline at end of file
diff --git a/subway/nodes/(-767,8,-282).lua b/subway/nodes/(-767,8,-282).lua
new file mode 100644
index 0000000..fcb170e
--- /dev/null
+++ b/subway/nodes/(-767,8,-282).lua
@@ -0,0 +1,2 @@
+F.stn("Shn1W", "Jus1W", "Fre1W", "R")
+S.line[atc_id]="1"
diff --git a/subway/nodes/(-769,8,-294).lua b/subway/nodes/(-769,8,-294).lua
new file mode 100644
index 0000000..3376436
--- /dev/null
+++ b/subway/nodes/(-769,8,-294).lua
@@ -0,0 +1,2 @@
+F.stn("Fre1E", "Jus1E", "Shn1E", "R")
+setstate("Jus1E", "green") \ No newline at end of file
diff --git a/subway/nodes/(-773,2,-289).lua b/subway/nodes/(-773,2,-289).lua
new file mode 100644
index 0000000..747ac96
--- /dev/null
+++ b/subway/nodes/(-773,2,-289).lua
@@ -0,0 +1 @@
+F.stn("Cat3N", "Jus3N", "Slh3N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-774,2,-277).lua b/subway/nodes/(-774,2,-277).lua
new file mode 100644
index 0000000..957fd02
--- /dev/null
+++ b/subway/nodes/(-774,2,-277).lua
@@ -0,0 +1 @@
+F.stn("Cat5W", "Jus5W", "Lvf5W", "L") \ No newline at end of file
diff --git a/subway/nodes/(-780,23,206).lua b/subway/nodes/(-780,23,206).lua
new file mode 100644
index 0000000..9604ca3
--- /dev/null
+++ b/subway/nodes/(-780,23,206).lua
@@ -0,0 +1 @@
+F.stn("Min1W", "Vlc1W", "Nha1W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-782,23,194).lua b/subway/nodes/(-782,23,194).lua
new file mode 100644
index 0000000..26734b4
--- /dev/null
+++ b/subway/nodes/(-782,23,194).lua
@@ -0,0 +1 @@
+F.stn("Nha1E", "Vlc1E", "Min1E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-784,23,-143).lua b/subway/nodes/(-784,23,-143).lua
new file mode 100644
index 0000000..cb8eb81
--- /dev/null
+++ b/subway/nodes/(-784,23,-143).lua
@@ -0,0 +1 @@
+F.stn("Jus1W", "Fre1W", "Min1W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-784,23,-38).lua b/subway/nodes/(-784,23,-38).lua
new file mode 100644
index 0000000..d1c7782
--- /dev/null
+++ b/subway/nodes/(-784,23,-38).lua
@@ -0,0 +1 @@
+F.stn("Fre1W", "Min1W", "Vlc1W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-786,23,-157).lua b/subway/nodes/(-786,23,-157).lua
new file mode 100644
index 0000000..a6e84bc
--- /dev/null
+++ b/subway/nodes/(-786,23,-157).lua
@@ -0,0 +1 @@
+F.stn("Min1E", "Fre1E", "Jus1E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-786,23,-52).lua b/subway/nodes/(-786,23,-52).lua
new file mode 100644
index 0000000..2074a57
--- /dev/null
+++ b/subway/nodes/(-786,23,-52).lua
@@ -0,0 +1 @@
+F.stn("Vlc1E", "Min1E", "Fre1E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-792,6,-382).lua b/subway/nodes/(-792,6,-382).lua
new file mode 100644
index 0000000..01ca5fc
--- /dev/null
+++ b/subway/nodes/(-792,6,-382).lua
@@ -0,0 +1,8 @@
+S.line[atc_id]="6"
+set_line(6)
+F.stn("Zoo6E", "Krs6E", "Shn6E", "R", 8)
+F.union_wait("Krs6E")
+if depart then
+setstate("Shn1EDivIn", "st")
+setstate("Jus1E", "red")
+end \ No newline at end of file
diff --git a/subway/nodes/(-796,5,-601).lua b/subway/nodes/(-796,5,-601).lua
new file mode 100644
index 0000000..14c9553
--- /dev/null
+++ b/subway/nodes/(-796,5,-601).lua
@@ -0,0 +1 @@
+F.stn("Hmi7N", "Per7N", "Gpl7N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-80,-2,136).lua b/subway/nodes/(-80,-2,136).lua
new file mode 100644
index 0000000..613fb7c
--- /dev/null
+++ b/subway/nodes/(-80,-2,136).lua
@@ -0,0 +1 @@
+F.stn("ONb2", "OIs2", "OSm2", "L", 10) \ No newline at end of file
diff --git a/subway/nodes/(-80,-2,56).lua b/subway/nodes/(-80,-2,56).lua
new file mode 100644
index 0000000..c304322
--- /dev/null
+++ b/subway/nodes/(-80,-2,56).lua
@@ -0,0 +1 @@
+F.stn("OOr2", "OSc2", "ONb2", "R", 8) \ No newline at end of file
diff --git a/subway/nodes/(-80,-2,92).lua b/subway/nodes/(-80,-2,92).lua
new file mode 100644
index 0000000..0ce29f4
--- /dev/null
+++ b/subway/nodes/(-80,-2,92).lua
@@ -0,0 +1,2 @@
+F.stn("OSc2", "ONb2", "OIs2", "L", 10)
+atc_set_text_outside("Line O2 - SCSI Connector Mess - Town Hall - Bracket Road - Origin") \ No newline at end of file
diff --git a/subway/nodes/(-803,5,-611).lua b/subway/nodes/(-803,5,-611).lua
new file mode 100644
index 0000000..751a16b
--- /dev/null
+++ b/subway/nodes/(-803,5,-611).lua
@@ -0,0 +1,8 @@
+F.stn("Gpl7S", "Per7S", "Hmi7S", "L")
+--F.union_wait("Per7S")
+--if depart then
+--S.line[atc_id]="7"
+-- setstate("Hmi6WDivIn", "cr")
+-- setstate("Fmn6W", "red")
+--setstate("Hmi6ECross", "red")
+--end \ No newline at end of file
diff --git a/subway/nodes/(-804,6,-380).lua b/subway/nodes/(-804,6,-380).lua
new file mode 100644
index 0000000..ffeeef3
--- /dev/null
+++ b/subway/nodes/(-804,6,-380).lua
@@ -0,0 +1,2 @@
+set_line(6)
+F.stn("Shn6W", "Krs6W", "Zoo6W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-812,3,-216).lua b/subway/nodes/(-812,3,-216).lua
new file mode 100644
index 0000000..aa1014a
--- /dev/null
+++ b/subway/nodes/(-812,3,-216).lua
@@ -0,0 +1 @@
+F.stn("Ta13S", "Slh3S", "Jus3S", "L") \ No newline at end of file
diff --git a/subway/nodes/(-824,3,-209).lua b/subway/nodes/(-824,3,-209).lua
new file mode 100644
index 0000000..b827ea5
--- /dev/null
+++ b/subway/nodes/(-824,3,-209).lua
@@ -0,0 +1 @@
+F.stn("Jus3N", "Slh3N", "Ta13N", "L") \ No newline at end of file
diff --git a/subway/nodes/(-836,4,-698).lua b/subway/nodes/(-836,4,-698).lua
new file mode 100644
index 0000000..58ccaad
--- /dev/null
+++ b/subway/nodes/(-836,4,-698).lua
@@ -0,0 +1 @@
+F.stn("Uni7N", "Hmi7N", "Per7N", "R") \ No newline at end of file
diff --git a/subway/nodes/(-838,4,-708).lua b/subway/nodes/(-838,4,-708).lua
new file mode 100644
index 0000000..d764347
--- /dev/null
+++ b/subway/nodes/(-838,4,-708).lua
@@ -0,0 +1 @@
+F.stn("Per7S", "Hmi7S", "Uni7S", "R") \ No newline at end of file
diff --git a/subway/nodes/(-838,7,-310).lua b/subway/nodes/(-838,7,-310).lua
new file mode 100644
index 0000000..21f1d95
--- /dev/null
+++ b/subway/nodes/(-838,7,-310).lua
@@ -0,0 +1 @@
+atc_set_text_outside("Line 6\nHenderson-Hasselbalch Street (Anju Crossing)") \ No newline at end of file
diff --git a/subway/nodes/(-845,8,-497).lua b/subway/nodes/(-845,8,-497).lua
new file mode 100644
index 0000000..55be2b6
--- /dev/null
+++ b/subway/nodes/(-845,8,-497).lua
@@ -0,0 +1 @@
+F.stn("Fms4E", "Fmn4E", "Gpl4E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-857,8,-495).lua b/subway/nodes/(-857,8,-495).lua
new file mode 100644
index 0000000..8293a02
--- /dev/null
+++ b/subway/nodes/(-857,8,-495).lua
@@ -0,0 +1 @@
+F.stn("Gpl4W", "Fmn4W", "Fms4W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-865,-9,701).lua b/subway/nodes/(-865,-9,701).lua
new file mode 100644
index 0000000..cd3735e
--- /dev/null
+++ b/subway/nodes/(-865,-9,701).lua
@@ -0,0 +1 @@
+F.stn("Bby1E", "Stb1E", "Nha1E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-870,14,-517).lua b/subway/nodes/(-870,14,-517).lua
new file mode 100644
index 0000000..34924f3
--- /dev/null
+++ b/subway/nodes/(-870,14,-517).lua
@@ -0,0 +1 @@
+F.stn_return_free("MR2D", "MR12div", "cr") \ No newline at end of file
diff --git a/subway/nodes/(-877,-9,708).lua b/subway/nodes/(-877,-9,708).lua
new file mode 100644
index 0000000..e7aaa56
--- /dev/null
+++ b/subway/nodes/(-877,-9,708).lua
@@ -0,0 +1 @@
+F.stn("Nha1W", "Stb1W", "Bby1W", "L") \ No newline at end of file
diff --git a/subway/nodes/(-881,6,-301).lua b/subway/nodes/(-881,6,-301).lua
new file mode 100644
index 0000000..4e5166f
--- /dev/null
+++ b/subway/nodes/(-881,6,-301).lua
@@ -0,0 +1 @@
+F.stn("Fms1E", "Lvf5E", "Jus5E", "L") \ No newline at end of file
diff --git a/subway/nodes/(-883,14,-494).lua b/subway/nodes/(-883,14,-494).lua
new file mode 100644
index 0000000..dd61f3e
--- /dev/null
+++ b/subway/nodes/(-883,14,-494).lua
@@ -0,0 +1,3 @@
+F.stn_return("MR2D", "MR1U", "MR2U","R", "MR12div", "cr")
+atc_set_text_outside("Mountain Railway\nUphill")
+set_line(10) \ No newline at end of file
diff --git a/subway/nodes/(-893,6,-293).lua b/subway/nodes/(-893,6,-293).lua
new file mode 100644
index 0000000..74823a8
--- /dev/null
+++ b/subway/nodes/(-893,6,-293).lua
@@ -0,0 +1 @@
+F.stn("Jus5W", "Lvf5W", "Fms1W", "L") \ No newline at end of file
diff --git a/subway/nodes/(-895,14,-491).lua b/subway/nodes/(-895,14,-491).lua
new file mode 100644
index 0000000..0f03a03
--- /dev/null
+++ b/subway/nodes/(-895,14,-491).lua
@@ -0,0 +1,3 @@
+F.stn_return("MR2D", "MR1U", "MR2U","L", "MR12div", "st")
+atc_set_text_outside("Mountain Railway\nUphill")
+set_line("0") \ No newline at end of file
diff --git a/subway/nodes/(-924,10,-396).lua b/subway/nodes/(-924,10,-396).lua
new file mode 100644
index 0000000..8ef04e8
--- /dev/null
+++ b/subway/nodes/(-924,10,-396).lua
@@ -0,0 +1 @@
+F.stn("Fmn4W", "Fms4W", "Mnn4W", "R")
diff --git a/subway/nodes/(-924,6,-396).lua b/subway/nodes/(-924,6,-396).lua
new file mode 100644
index 0000000..2bbe97c
--- /dev/null
+++ b/subway/nodes/(-924,6,-396).lua
@@ -0,0 +1 @@
+F.stn("Mnt1E", "Fms1E", "Lvf5E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-926,10,-408).lua b/subway/nodes/(-926,10,-408).lua
new file mode 100644
index 0000000..a17db5c
--- /dev/null
+++ b/subway/nodes/(-926,10,-408).lua
@@ -0,0 +1 @@
+F.stn("Mnn4E", "Fms4E", "Fmn4E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-926,6,-407).lua b/subway/nodes/(-926,6,-407).lua
new file mode 100644
index 0000000..deccbc4
--- /dev/null
+++ b/subway/nodes/(-926,6,-407).lua
@@ -0,0 +1 @@
+F.stn("Lvf5W", "Fms1W", "Mnt1W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-936,4,-583).lua b/subway/nodes/(-936,4,-583).lua
new file mode 100644
index 0000000..34924f3
--- /dev/null
+++ b/subway/nodes/(-936,4,-583).lua
@@ -0,0 +1 @@
+F.stn_return_free("MR2D", "MR12div", "cr") \ No newline at end of file
diff --git a/subway/nodes/(-939,4,-607).lua b/subway/nodes/(-939,4,-607).lua
new file mode 100644
index 0000000..4b33aca
--- /dev/null
+++ b/subway/nodes/(-939,4,-607).lua
@@ -0,0 +1,8 @@
+F.stn("MR3D","MR2D", "MR1U", "R", 8)
+if event.train then
+setstate("MR3DC", "green")
+setstate("MR2UC", "green")
+end
+if depart then
+setstate("MR12div", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(-941,4,-612).lua b/subway/nodes/(-941,4,-612).lua
new file mode 100644
index 0000000..dcca7f5
--- /dev/null
+++ b/subway/nodes/(-941,4,-612).lua
@@ -0,0 +1,13 @@
+n=2
+F.stn("MR1U", "MR"..n.."U", "MR"..(n+1).."U","R", 10, "MR"..n.."UC")
+--setstate("MR"..n.."DC", "green")
+--setstate("MR"..(n-1).."UC", "green")
+if depart then
+--setstate("MRS", "cr")
+S.line[atc_id]="MRD"
+--print("DEP")
+--setstate("MR"..(n+1).."DC", "red")
+--setstate("MR"..n.."UC", "red")
+--setstate("MR"..(n+1)..n.."div", "cr")
+--setstate("MR"..n..(n+1).."div", "st")
+end \ No newline at end of file
diff --git a/subway/nodes/(-953,93,-392).lua b/subway/nodes/(-953,93,-392).lua
new file mode 100644
index 0000000..3007786
--- /dev/null
+++ b/subway/nodes/(-953,93,-392).lua
@@ -0,0 +1 @@
+F.stn_return("MR8U", "MR9D", "MR8D", "L", "MR89div", "cr",8) \ No newline at end of file
diff --git a/subway/nodes/(-955,93,-392).lua b/subway/nodes/(-955,93,-392).lua
new file mode 100644
index 0000000..f2d8abe
--- /dev/null
+++ b/subway/nodes/(-955,93,-392).lua
@@ -0,0 +1,3 @@
+n=8
+F.stn_return("MR8U", "MR9D", "MR8D", "L", "MR89div", "cr",10)
+atc_set_text_outside("Mountain Railway\nDownhill") \ No newline at end of file
diff --git a/subway/nodes/(-963,11,-186).lua b/subway/nodes/(-963,11,-186).lua
new file mode 100644
index 0000000..860a59c
--- /dev/null
+++ b/subway/nodes/(-963,11,-186).lua
@@ -0,0 +1 @@
+F.stn("Slh3N", "Ta13N", "Ta23N", "R") \ No newline at end of file
diff --git a/subway/nodes/(-965,11,-199).lua b/subway/nodes/(-965,11,-199).lua
new file mode 100644
index 0000000..f46defa
--- /dev/null
+++ b/subway/nodes/(-965,11,-199).lua
@@ -0,0 +1 @@
+F.stn("Ta23S", "Ta13S", "Slh3S", "R") \ No newline at end of file
diff --git a/subway/nodes/(-973,19,-321).lua b/subway/nodes/(-973,19,-321).lua
new file mode 100644
index 0000000..dfeca2b
--- /dev/null
+++ b/subway/nodes/(-973,19,-321).lua
@@ -0,0 +1 @@
+F.stn("Max4E", "Mnn4E", "Fms4E", "R") \ No newline at end of file
diff --git a/subway/nodes/(-976,11,-109).lua b/subway/nodes/(-976,11,-109).lua
new file mode 100644
index 0000000..57dfb7e
--- /dev/null
+++ b/subway/nodes/(-976,11,-109).lua
@@ -0,0 +1 @@
+F.stn("Ahr3S", "Ta23S", "Ta13S", "R") \ No newline at end of file
diff --git a/subway/nodes/(-983,19,-319).lua b/subway/nodes/(-983,19,-319).lua
new file mode 100644
index 0000000..34315e8
--- /dev/null
+++ b/subway/nodes/(-983,19,-319).lua
@@ -0,0 +1 @@
+F.stn("Fms4W", "Mnn4W", "Max4W", "R") \ No newline at end of file
diff --git a/subway/nodes/(-989,11,-107).lua b/subway/nodes/(-989,11,-107).lua
new file mode 100644
index 0000000..4793f7c
--- /dev/null
+++ b/subway/nodes/(-989,11,-107).lua
@@ -0,0 +1 @@
+F.stn("Ta13N", "Ta23N", "Ahr3N", "R") \ No newline at end of file
diff --git a/subway/nodes/(10,0,-10).lua b/subway/nodes/(10,0,-10).lua
new file mode 100644
index 0000000..0585cbf
--- /dev/null
+++ b/subway/nodes/(10,0,-10).lua
@@ -0,0 +1,94 @@
+-- digiline_send("l14e", "SIS Variant 2 - v1.4 | No info avaliable")
+
+local appr_time = 20
+local dnnapprt=15
+if not appr_tmr then appr_tmr = 0 end
+local setint = false
+if event.ext_int then
+ if event.message == "dep1" then
+ if n_appr then in_stn = n_appr + 0 end
+ n_appr = 1
+ n_wait = nil
+ appr_tmr = appr_time
+ setint=true
+ elseif event.message == "dep4" then
+ if n_appr then in_stn = n_appr + 0 end
+ n_appr = 4
+ n_wait = nil
+ appr_tmr = appr_time
+ setint=true
+ elseif event.message == "arr1" then
+ n_wait = 1
+ elseif event.message == "arr4" then
+ n_wait = 4
+ elseif event.message == "arro" and not in_stn then
+ in_stn = n_appr
+ n_appr = nil
+ elseif event.message == "depo" then
+ in_stn = nil
+ end
+elseif event.int then
+ appr_tmr = appr_tmr - 5
+ setint=true
+elseif event.punch then
+ in_stn=nil
+ n_appr=nil
+ n_wait=nil
+ digiline_send("l14e", "SIS Variant 2 - v1.4 | Please Wait")
+end
+
+
+-- calculate time for nwaiting train
+if n_appr then
+ nwt = math.max(appr_tmr, 0) + appr_time
+elseif n_wait then
+ nwt = math.max(appr_tmr, 0) + 10 + appr_time
+end
+--display
+local seconds = "in "..appr_tmr.." s"
+if appr_tmr <= 0 then
+ seconds = "now"
+end
+
+
+local du_line, du_time, dd_line
+if in_stn then
+ du_line = in_stn
+ du_time = "now"
+ if n_appr then
+ dd_line = n_appr
+ else
+ dd_line = n_wait
+ end
+elseif n_appr then
+ du_line = n_appr
+ du_time = seconds
+ if n_wait then
+ dd_line = n_wait
+ end
+elseif n_wait then
+ du_line = n_wait
+ du_time = "in 30 s"
+end
+
+local txt = {
+ [1] = "Windy Mtns.",
+ [4] = "Schwarzs...",
+}
+local line1, line2, line3 = "", "", ""
+if du_line then
+ line1 = "Line "..du_line
+ line2 = txt[du_line]
+ line3 = du_time
+end
+local line4 = ""
+if dd_line and nwt then
+ line4 = "Line "..(dd_line).." - "..nwt.."s"
+end
+digiline_send("l14e", line1.." | "..line2.." | "..line3.." | ----------- | "..line4)
+
+digiline_send("l14eint", "in_stn: "..(in_stn or "-").." "..appr_tmr.."s".." | n_appr: "..(n_appr or "-").." | n_wait: "..(n_wait or "-").. " | "..event.type.." | "..(event.message or "-"))
+
+if (appr_tmr > 0 or nnwaiting) and setint then
+ interrupt(5, "appr")
+end \ No newline at end of file
diff --git a/subway/nodes/(102,16,-74).lua b/subway/nodes/(102,16,-74).lua
new file mode 100644
index 0000000..1becbc8
--- /dev/null
+++ b/subway/nodes/(102,16,-74).lua
@@ -0,0 +1,3 @@
+atc_send("B0 W OL D30 OC D1 R SM")
+atc_set_text_outside("E2 - South Forest")
+atc_set_text_inside("Origin \nNext Stop: Spawn") \ No newline at end of file
diff --git a/subway/nodes/(104,8,-38).lua b/subway/nodes/(104,8,-38).lua
new file mode 100644
index 0000000..73e7722
--- /dev/null
+++ b/subway/nodes/(104,8,-38).lua
@@ -0,0 +1 @@
+F.stn("Ewd2S", "Chu2S", "Ori2S", "L") \ No newline at end of file
diff --git a/subway/nodes/(109,9,34).lua b/subway/nodes/(109,9,34).lua
new file mode 100644
index 0000000..966271e
--- /dev/null
+++ b/subway/nodes/(109,9,34).lua
@@ -0,0 +1,8 @@
+F.stn_ilkentry("Rru1W", "Wcs1W", "Ori1W", "L")
+F.lineset("1", "W")
+--if event.train then
+--interrupt_pos(POS(-14,3,4), "arr1")
+--end
+--if depart then
+--interrupt_pos(POS(-14,3,4), "dep1")
+--end \ No newline at end of file
diff --git a/subway/nodes/(110,10,-298).lua b/subway/nodes/(110,10,-298).lua
new file mode 100644
index 0000000..62dcbb9
--- /dev/null
+++ b/subway/nodes/(110,10,-298).lua
@@ -0,0 +1 @@
+F.stn("Sps8W", "Sms8W", "Smp8W", "R") \ No newline at end of file
diff --git a/subway/nodes/(110,10,-375).lua b/subway/nodes/(110,10,-375).lua
new file mode 100644
index 0000000..01d6f83
--- /dev/null
+++ b/subway/nodes/(110,10,-375).lua
@@ -0,0 +1 @@
+F.stn("Sms8W", "Smp8W", "Ctd8W", "R") \ No newline at end of file
diff --git a/subway/nodes/(113,10,-290).lua b/subway/nodes/(113,10,-290).lua
new file mode 100644
index 0000000..9551bc1
--- /dev/null
+++ b/subway/nodes/(113,10,-290).lua
@@ -0,0 +1 @@
+F.stn_ilkentry("Smp8E", "Sms8E", "Sps8E", "R") \ No newline at end of file
diff --git a/subway/nodes/(113,10,-366).lua b/subway/nodes/(113,10,-366).lua
new file mode 100644
index 0000000..abaa35d
--- /dev/null
+++ b/subway/nodes/(113,10,-366).lua
@@ -0,0 +1 @@
+F.stn("Ctd8E", "Smp8E", "Sms8E", "R") \ No newline at end of file
diff --git a/subway/nodes/(115,8,-47).lua b/subway/nodes/(115,8,-47).lua
new file mode 100644
index 0000000..0964cf7
--- /dev/null
+++ b/subway/nodes/(115,8,-47).lua
@@ -0,0 +1 @@
+F.stn("Ori2N", "Chu2N", "Ewd2N", "L") \ No newline at end of file
diff --git a/subway/nodes/(119,11,-187).lua b/subway/nodes/(119,11,-187).lua
new file mode 100644
index 0000000..7c5257d
--- /dev/null
+++ b/subway/nodes/(119,11,-187).lua
@@ -0,0 +1,4 @@
+F.stn_nohalt("Ewd2aR", "Msu2aS", "Cht2aS")
+if event.train then
+ F.stn_return_free("Msu2aN", "Ewd2aES", "st")
+end \ No newline at end of file
diff --git a/subway/nodes/(119,11,-190).lua b/subway/nodes/(119,11,-190).lua
new file mode 100644
index 0000000..50a2f7d
--- /dev/null
+++ b/subway/nodes/(119,11,-190).lua
@@ -0,0 +1 @@
+F.stn_nohalt("Cht2aN", "Msu2aN", "Ewd2aR") \ No newline at end of file
diff --git a/subway/nodes/(121,9,26).lua b/subway/nodes/(121,9,26).lua
new file mode 100644
index 0000000..2f10290
--- /dev/null
+++ b/subway/nodes/(121,9,26).lua
@@ -0,0 +1 @@
+F.stn("Ori1E", "Wcs1E", "Rru1E", "L") \ No newline at end of file
diff --git a/subway/nodes/(13,-2,5).lua b/subway/nodes/(13,-2,5).lua
new file mode 100644
index 0000000..1a23ca4
--- /dev/null
+++ b/subway/nodes/(13,-2,5).lua
@@ -0,0 +1,36 @@
+
+F.stn_ilk("iob4E", "Ori1EIL", "???", "L")
+
+--[[
+if S.line[atc_id]=="1" then
+--if flip then
+F.stn("iob4E", "Ori1E", "Wcs1E", "L")
+--atc_set_text_inside("Origin / n.st. Watson-Crick-St. \nTrain continues as: \nLine 1 - Windy Mountains")
+--F.lineset("1", "E")
+if depart then
+setstate("Ori4EDivOut", "cr")
+end
+else
+F.stn("iob4E", "Ori4E", "Osa4E", "L", "M", "Ori4ECross")
+--atc_set_text_inside("Origin / n.st. Origin Sands \nTrain continues as: \nLine 4 - Lusin Street")
+--F.lineset("4", "E")
+if depart then
+setstate("Ori4EDivOut", "st")
+end
+end
+]]--
+
+if event.train then
+interrupt_pos(POS(10,0,-10), "arro")
+end
+
+if depart then
+interrupt_pos(POS(10,0,-10), "depo")
+--flip = not flip
+end
+
+--if flip then
+--digiline_send("l14e", "Ignore Line! | Next train cont. as: | Line 1 | Windy Mtns")
+--else
+--digiline_send("l14e", "Ignore Line! | Next train cont. as: | Line 4 | Lusin St")
+--end
diff --git a/subway/nodes/(157,0,765).lua b/subway/nodes/(157,0,765).lua
new file mode 100644
index 0000000..4dc02dd
--- /dev/null
+++ b/subway/nodes/(157,0,765).lua
@@ -0,0 +1,10 @@
+atc_set_text_outside("Line ends here")
+atc_set_text_inside("Schwarzschildt Street\nTerminal Station\nPlease get off!")
+set_line("X")
+if flip then
+set_rc("RT2")
+else
+set_rc("RT1")
+end
+flip = not flip
+atc_send("B8") \ No newline at end of file
diff --git a/subway/nodes/(158,0,675).lua b/subway/nodes/(158,0,675).lua
new file mode 100644
index 0000000..3816a94
--- /dev/null
+++ b/subway/nodes/(158,0,675).lua
@@ -0,0 +1 @@
+--setstate("mcfg1s1","on") \ No newline at end of file
diff --git a/subway/nodes/(159,11,865).lua b/subway/nodes/(159,11,865).lua
new file mode 100644
index 0000000..68d51db
--- /dev/null
+++ b/subway/nodes/(159,11,865).lua
@@ -0,0 +1,6 @@
+if get_line() ~= "XST" then
+-- atc_set_text_outside("Line 4 - Ice Mountain")
+ atc_set_text_inside("Schwarzschildt Street\nNext Stop: McFly Street")
+-- set_line("4")
+ F.lineset("4", "W")
+end \ No newline at end of file
diff --git a/subway/nodes/(1722,31,2932).lua b/subway/nodes/(1722,31,2932).lua
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/subway/nodes/(1722,31,2932).lua
diff --git a/subway/nodes/(190,6,-186).lua b/subway/nodes/(190,6,-186).lua
new file mode 100644
index 0000000..70bf5d9
--- /dev/null
+++ b/subway/nodes/(190,6,-186).lua
@@ -0,0 +1 @@
+F.stn("Tha5W", "Ewd5W", "Erd5W", "L") \ No newline at end of file
diff --git a/subway/nodes/(190,6,-73).lua b/subway/nodes/(190,6,-73).lua
new file mode 100644
index 0000000..bd945ad
--- /dev/null
+++ b/subway/nodes/(190,6,-73).lua
@@ -0,0 +1 @@
+F.stn("Rru5W", "Tha5W", "Ewd5W", "L") \ No newline at end of file
diff --git a/subway/nodes/(198,6,-174).lua b/subway/nodes/(198,6,-174).lua
new file mode 100644
index 0000000..28f96a7
--- /dev/null
+++ b/subway/nodes/(198,6,-174).lua
@@ -0,0 +1 @@
+F.stn("Erd5E", "Ewd5E", "Tha5E", "L") \ No newline at end of file
diff --git a/subway/nodes/(198,6,-57).lua b/subway/nodes/(198,6,-57).lua
new file mode 100644
index 0000000..11e4e40
--- /dev/null
+++ b/subway/nodes/(198,6,-57).lua
@@ -0,0 +1 @@
+F.stn("Ewd5E", "Tha5E", "Rru5E", "L") \ No newline at end of file
diff --git a/subway/nodes/(203,11,-186).lua b/subway/nodes/(203,11,-186).lua
new file mode 100644
index 0000000..68b441a
--- /dev/null
+++ b/subway/nodes/(203,11,-186).lua
@@ -0,0 +1 @@
+F.stn("Ewb2S", "Ewd2S", "Chu2S", "L") \ No newline at end of file
diff --git a/subway/nodes/(209,17,-190).lua b/subway/nodes/(209,17,-190).lua
new file mode 100644
index 0000000..9876c81
--- /dev/null
+++ b/subway/nodes/(209,17,-190).lua
@@ -0,0 +1 @@
+F.stn_return("Msu2aN", "Ewd2aR", "Msu2aS", "L", "Ewd2aES", "cr", 10, nil, 10) \ No newline at end of file
diff --git a/subway/nodes/(214,11,-194).lua b/subway/nodes/(214,11,-194).lua
new file mode 100644
index 0000000..fc1a8e3
--- /dev/null
+++ b/subway/nodes/(214,11,-194).lua
@@ -0,0 +1 @@
+F.stn("Chu2N", "Ewd2N", "Ewb2N", "L") \ No newline at end of file
diff --git a/subway/nodes/(24,5,3).lua b/subway/nodes/(24,5,3).lua
new file mode 100644
index 0000000..b359cad
--- /dev/null
+++ b/subway/nodes/(24,5,3).lua
@@ -0,0 +1 @@
+F.stn_return("Cht2aS", "Ori2aR", "Cht2aN", "R", "Ori2aES", "st", nil, nil, 7) \ No newline at end of file
diff --git a/subway/nodes/(27,16,-470).lua b/subway/nodes/(27,16,-470).lua
new file mode 100644
index 0000000..f961cdd
--- /dev/null
+++ b/subway/nodes/(27,16,-470).lua
@@ -0,0 +1 @@
+F.stn("Smp8W", "Ctd8W", "Ppo8W", "R") \ No newline at end of file
diff --git a/subway/nodes/(27,25,26).lua b/subway/nodes/(27,25,26).lua
new file mode 100644
index 0000000..a168756
--- /dev/null
+++ b/subway/nodes/(27,25,26).lua
@@ -0,0 +1,2 @@
+F.stn("OIr2", "OTh2", "OLv2", "R", 10)
+atc_set_text_outside("Line O2 - Bracket Road - Origin - North Bridge - SCSI Connector Mess") \ No newline at end of file
diff --git a/subway/nodes/(305,9,22).lua b/subway/nodes/(305,9,22).lua
new file mode 100644
index 0000000..4328fe2
--- /dev/null
+++ b/subway/nodes/(305,9,22).lua
@@ -0,0 +1,2 @@
+F.stn("Lks5R", "Rru5W", "Tha5W", "L")
+S.line[atc_id]="5" \ No newline at end of file
diff --git a/subway/nodes/(305,9,34).lua b/subway/nodes/(305,9,34).lua
new file mode 100644
index 0000000..0f9d5a7
--- /dev/null
+++ b/subway/nodes/(305,9,34).lua
@@ -0,0 +1,2 @@
+F.stn("Adb1W", "Rru1W", "Wcs1W", "L")
+F.stat("Line 1") \ No newline at end of file
diff --git a/subway/nodes/(317,9,14).lua b/subway/nodes/(317,9,14).lua
new file mode 100644
index 0000000..f2412c1
--- /dev/null
+++ b/subway/nodes/(317,9,14).lua
@@ -0,0 +1,2 @@
+F.stn("Tha5E", "Rru5E", "Lks5R", "L")
+setstate("Rru5E", "green") \ No newline at end of file
diff --git a/subway/nodes/(317,9,26).lua b/subway/nodes/(317,9,26).lua
new file mode 100644
index 0000000..43677f0
--- /dev/null
+++ b/subway/nodes/(317,9,26).lua
@@ -0,0 +1,2 @@
+F.stn("Wcs1E", "Rru1E", "Adb1E", "L")
+
diff --git a/subway/nodes/(38,16,-472).lua b/subway/nodes/(38,16,-472).lua
new file mode 100644
index 0000000..55f5884
--- /dev/null
+++ b/subway/nodes/(38,16,-472).lua
@@ -0,0 +1 @@
+F.stn("Ppo8E", "Ctd8E", "Smp8E", "R") \ No newline at end of file
diff --git a/subway/nodes/(42,20,-59).lua b/subway/nodes/(42,20,-59).lua
new file mode 100644
index 0000000..9650702
--- /dev/null
+++ b/subway/nodes/(42,20,-59).lua
@@ -0,0 +1 @@
+F.stn("MarO", "SbrO", "MOriO", "R", 13) \ No newline at end of file
diff --git a/subway/nodes/(42,25,-67).lua b/subway/nodes/(42,25,-67).lua
new file mode 100644
index 0000000..22fee4f
--- /dev/null
+++ b/subway/nodes/(42,25,-67).lua
@@ -0,0 +1 @@
+F.stn("OTh2", "OLv2", "OBa2", "L", 10) \ No newline at end of file
diff --git a/subway/nodes/(421,14,-48).lua b/subway/nodes/(421,14,-48).lua
new file mode 100644
index 0000000..e34a22e
--- /dev/null
+++ b/subway/nodes/(421,14,-48).lua
@@ -0,0 +1 @@
+F.stn("Snb1W", "Adb1W", "Rru1W", "L") \ No newline at end of file
diff --git a/subway/nodes/(427,7,167).lua b/subway/nodes/(427,7,167).lua
new file mode 100644
index 0000000..cd9896f
--- /dev/null
+++ b/subway/nodes/(427,7,167).lua
@@ -0,0 +1 @@
+--F.stn_return_free("Rru5E", "Lks5ES", "cr") \ No newline at end of file
diff --git a/subway/nodes/(43,11,-124).lua b/subway/nodes/(43,11,-124).lua
new file mode 100644
index 0000000..30ec325
--- /dev/null
+++ b/subway/nodes/(43,11,-124).lua
@@ -0,0 +1,2 @@
+set_line(2)
+F.stn("Ori2aR", "Cht2aN", "Ewd2aR", "L") \ No newline at end of file
diff --git a/subway/nodes/(43,5,-64).lua b/subway/nodes/(43,5,-64).lua
new file mode 100644
index 0000000..9a455f3
--- /dev/null
+++ b/subway/nodes/(43,5,-64).lua
@@ -0,0 +1,3 @@
+if event.train then
+ F.stn_return_free("Cht2aS", "Ori2aES", "cr")
+end \ No newline at end of file
diff --git a/subway/nodes/(430,7,167).lua b/subway/nodes/(430,7,167).lua
new file mode 100644
index 0000000..86905e5
--- /dev/null
+++ b/subway/nodes/(430,7,167).lua
@@ -0,0 +1 @@
+F.stn_return_free("Rru5E", "Lks5ES", "cr") \ No newline at end of file
diff --git a/subway/nodes/(433,14,-54).lua b/subway/nodes/(433,14,-54).lua
new file mode 100644
index 0000000..5b8a3dc
--- /dev/null
+++ b/subway/nodes/(433,14,-54).lua
@@ -0,0 +1 @@
+F.stn("Rru1E", "Adb1E", "Snb1E", "L") \ No newline at end of file
diff --git a/subway/nodes/(479,3,-156).lua b/subway/nodes/(479,3,-156).lua
new file mode 100644
index 0000000..50654f5
--- /dev/null
+++ b/subway/nodes/(479,3,-156).lua
@@ -0,0 +1 @@
+F.stn("Dam2S", "Ewb2S", "Ewd2S", "L") \ No newline at end of file
diff --git a/subway/nodes/(491,3,-163).lua b/subway/nodes/(491,3,-163).lua
new file mode 100644
index 0000000..0db64db
--- /dev/null
+++ b/subway/nodes/(491,3,-163).lua
@@ -0,0 +1 @@
+F.stn("Ewd2N", "Ewb2N", "Dam2N", "L") \ No newline at end of file
diff --git a/subway/nodes/(51,11,-112).lua b/subway/nodes/(51,11,-112).lua
new file mode 100644
index 0000000..06c11b8
--- /dev/null
+++ b/subway/nodes/(51,11,-112).lua
@@ -0,0 +1 @@
+F.stn("Msu2aS", "Cht2aS", "Ori2aR", "L") \ No newline at end of file
diff --git a/subway/nodes/(514,-3,-2026).lua b/subway/nodes/(514,-3,-2026).lua
new file mode 100644
index 0000000..534c3e3
--- /dev/null
+++ b/subway/nodes/(514,-3,-2026).lua
@@ -0,0 +1 @@
+F.stat("U21") \ No newline at end of file
diff --git a/subway/nodes/(6,5,1).lua b/subway/nodes/(6,5,1).lua
new file mode 100644
index 0000000..5d9771a
--- /dev/null
+++ b/subway/nodes/(6,5,1).lua
@@ -0,0 +1 @@
+F.stn("Ram2N", "Ori2N", "Chu2N", "L") \ No newline at end of file
diff --git a/subway/nodes/(628,11,-23).lua b/subway/nodes/(628,11,-23).lua
new file mode 100644
index 0000000..7d950f0
--- /dev/null
+++ b/subway/nodes/(628,11,-23).lua
@@ -0,0 +1 @@
+F.stn("Dam1W", "Snb1W", "Adb1W","L") \ No newline at end of file
diff --git a/subway/nodes/(640,11,-31).lua b/subway/nodes/(640,11,-31).lua
new file mode 100644
index 0000000..4c658dc
--- /dev/null
+++ b/subway/nodes/(640,11,-31).lua
@@ -0,0 +1 @@
+F.stn("Adb1E", "Snb1E", "Dam1E","L") \ No newline at end of file
diff --git a/subway/nodes/(66,11,-148).lua b/subway/nodes/(66,11,-148).lua
new file mode 100644
index 0000000..9d374a8
--- /dev/null
+++ b/subway/nodes/(66,11,-148).lua
@@ -0,0 +1,2 @@
+--F.stn_return_free("Chu2N", "Ewd2ES", "st")
+atc_send("B2") \ No newline at end of file
diff --git a/subway/nodes/(660,14,1013).lua b/subway/nodes/(660,14,1013).lua
new file mode 100644
index 0000000..c87ffe8
--- /dev/null
+++ b/subway/nodes/(660,14,1013).lua
@@ -0,0 +1 @@
+F.stn("Ehl4W", "Rgs4W", "Mnk4W", "R") \ No newline at end of file
diff --git a/subway/nodes/(711,12,-103).lua b/subway/nodes/(711,12,-103).lua
new file mode 100644
index 0000000..0760eba
--- /dev/null
+++ b/subway/nodes/(711,12,-103).lua
@@ -0,0 +1 @@
+F.stn("Dam2R", "Dam2S", "Ewb2S", "R") \ No newline at end of file
diff --git a/subway/nodes/(711,12,-95).lua b/subway/nodes/(711,12,-95).lua
new file mode 100644
index 0000000..dc65951
--- /dev/null
+++ b/subway/nodes/(711,12,-95).lua
@@ -0,0 +1 @@
+F.stn("Wva1W", "Dam1W", "Snb1W", "L")
diff --git a/subway/nodes/(731,4,-103).lua b/subway/nodes/(731,4,-103).lua
new file mode 100644
index 0000000..b9e1b50
--- /dev/null
+++ b/subway/nodes/(731,4,-103).lua
@@ -0,0 +1 @@
+F.stn("Ewb2N", "Dam2N", "Dam2R", "L", 8) \ No newline at end of file
diff --git a/subway/nodes/(731,4,-95).lua b/subway/nodes/(731,4,-95).lua
new file mode 100644
index 0000000..57f33fe
--- /dev/null
+++ b/subway/nodes/(731,4,-95).lua
@@ -0,0 +1 @@
+F.stn("Snb1E", "Dam1E", "Wva1E","R") \ No newline at end of file
diff --git a/subway/nodes/(757,12,-100).lua b/subway/nodes/(757,12,-100).lua
new file mode 100644
index 0000000..4ee8121
--- /dev/null
+++ b/subway/nodes/(757,12,-100).lua
@@ -0,0 +1 @@
+F.stn_return_free("Dam2N", "Dam2ES", "st") \ No newline at end of file
diff --git a/subway/nodes/(799,8,-103).lua b/subway/nodes/(799,8,-103).lua
new file mode 100644
index 0000000..47d2ef3
--- /dev/null
+++ b/subway/nodes/(799,8,-103).lua
@@ -0,0 +1,3 @@
+F.stn_return_nohalt("Dam2N", "Dam2R", "Dam2S", "Dam2ES", "cr", 6)
+F.stat("Line 2", false)
+atc_set_text_outside("Line 2 - Chasm of Segfault") \ No newline at end of file
diff --git a/subway/nodes/(827,6,-222).lua b/subway/nodes/(827,6,-222).lua
new file mode 100644
index 0000000..0154d59
--- /dev/null
+++ b/subway/nodes/(827,6,-222).lua
@@ -0,0 +1 @@
+F.stn("Dam1E", "Wva1E", "Wvb1E","L") \ No newline at end of file
diff --git a/subway/nodes/(834,6,-210).lua b/subway/nodes/(834,6,-210).lua
new file mode 100644
index 0000000..66125e9
--- /dev/null
+++ b/subway/nodes/(834,6,-210).lua
@@ -0,0 +1 @@
+F.stn("Wvb1W", "Wva1W", "Dam1W", "L")
diff --git a/subway/nodes/(841,18,-327).lua b/subway/nodes/(841,18,-327).lua
new file mode 100644
index 0000000..fa2857b
--- /dev/null
+++ b/subway/nodes/(841,18,-327).lua
@@ -0,0 +1 @@
+F.stn("Wva1E", "Wvb1E", "Wvc1E","R") \ No newline at end of file
diff --git a/subway/nodes/(843,18,-315).lua b/subway/nodes/(843,18,-315).lua
new file mode 100644
index 0000000..a7857cc
--- /dev/null
+++ b/subway/nodes/(843,18,-315).lua
@@ -0,0 +1 @@
+F.stn("Wvc1W", "Wvb1W", "Wva1W", "R") \ No newline at end of file
diff --git a/subway/nodes/(884,18,-415).lua b/subway/nodes/(884,18,-415).lua
new file mode 100644
index 0000000..6b7fe81
--- /dev/null
+++ b/subway/nodes/(884,18,-415).lua
@@ -0,0 +1 @@
+F.stn("Wim1R", "Wvc1W", "Wvb1W", "L") \ No newline at end of file
diff --git a/subway/nodes/(896,18,-422).lua b/subway/nodes/(896,18,-422).lua
new file mode 100644
index 0000000..641a592
--- /dev/null
+++ b/subway/nodes/(896,18,-422).lua
@@ -0,0 +1 @@
+F.stn("Wvb1E", "Wvc1E", "Wim1R","L")
diff --git a/subway/nodes/(92,20,-37).lua b/subway/nodes/(92,20,-37).lua
new file mode 100644
index 0000000..8937759
--- /dev/null
+++ b/subway/nodes/(92,20,-37).lua
@@ -0,0 +1,2 @@
+F.stn("SbrO", "MOriO", "WacO", "R", 13)
+atc_set_text_outside("Line O1 Watson-Crick Street - Origin - Bracket Road") \ No newline at end of file
diff --git a/subway/nodes/(92,20,34).lua b/subway/nodes/(92,20,34).lua
new file mode 100644
index 0000000..799530b
--- /dev/null
+++ b/subway/nodes/(92,20,34).lua
@@ -0,0 +1,2 @@
+F.stn("MOriO", "WacO", "IrkO", "R", 12)
+atc_set_text_outside("Line O1 - Origin - Bracket Road - Marcuse Street Station") \ No newline at end of file
diff --git a/subway/nodes/(941,18,-509).lua b/subway/nodes/(941,18,-509).lua
new file mode 100644
index 0000000..062873e
--- /dev/null
+++ b/subway/nodes/(941,18,-509).lua
@@ -0,0 +1 @@
+F.stn_return_free("Wvc1E", "Wim1ES", "cr") \ No newline at end of file
diff --git a/subway/nodes/(941,18,-571).lua b/subway/nodes/(941,18,-571).lua
new file mode 100644
index 0000000..c353219
--- /dev/null
+++ b/subway/nodes/(941,18,-571).lua
@@ -0,0 +1,2 @@
+F.stn_return("Wvc1E", "Wim1R", "Wvc1W","R", "Wim1ES", "st")
+F.lineset("1", "W") \ No newline at end of file
diff --git a/subway/nodes/(959,14,1038).lua b/subway/nodes/(959,14,1038).lua
new file mode 100644
index 0000000..d5862ff
--- /dev/null
+++ b/subway/nodes/(959,14,1038).lua
@@ -0,0 +1,3 @@
+-- if atc_arrow then
+-- atc_set_text_outside("E1 - Mom Junction")
+-- end \ No newline at end of file
diff --git a/subwayis/init_code.lua b/subwayis/init_code.lua
new file mode 100644
index 0000000..6d3dabe
--- /dev/null
+++ b/subwayis/init_code.lua
@@ -0,0 +1,75 @@
+function F.lookahead_3(dep3t, arr2t, dep2t, arr1t, dep1t)
+if event.ext_int then
+ if event.message=="dep3" then
+ time2 = dep3t
+ elseif event.message=="arr2" then
+ time2 = arr2t
+ elseif event.message=="dep2" then
+ time1 = dep2t
+ time2 = nil
+ elseif event.message=="arr1" then
+ time1 = arr1t
+ elseif event.message=="dep1" then
+ time0 = dep1t
+ time1 = nil
+ else
+ time0 = nil
+ end
+ tmseq = ((tmseq or 0)+1)%10
+elseif event.int and event.message==tmseq then
+ if time0 then time0 = time0 - 5 end
+ if time1 then time1 = time1 - 5 end
+ if time2 then time2 = time2 - 5 end
+end
+if (time0 or time1 or time2) and (time0 or time1 or time2)>=0 then
+ digiline_send("disp", F.make_big_number_str(time0 or time1 or time2))
+ if (not event.int or event.message==tmseq) then
+ interrupt(5,tmseq)
+ end
+else
+ digiline_send("disp", " | | ----- -----")
+end
+digiline_send("dinf", (time2 or "nil") .. " | "..(time1 or "nil") .. " | "..(time0 or "nil") .. " | ")
+end
+
+
+local function t(tab)
+ for i=0,9 do
+local s = ""
+for p=1,5 do
+ s=s..(string.sub(tab[i], p, p)=="#" and "8" or "~")
+end
+tab[i] = s
+ end
+return tab
+end
+local digitl1 = t({
+[0] = "#####", [1] = " #", [2] = "#####", [3] = "#####", [4] = "# #",
+[5] = "#####", [6] = "#####", [7] = "#####", [8] = "#####", [9] = "#####"})
+local digitl2 = t({
+[0] = "# #", [1] = " #", [2] = " #", [3] = " #", [4] = "# #",
+[5] = "# ", [6] = "# ", [7] = " #", [8] = "# #", [9] = "# #"})
+local digitl3 = t({
+[0] = "# #", [1] = " #", [2] = "#####", [3] = "#####", [4] = "#####",
+[5] = "#####", [6] = "#####", [7] = " #", [8] = "#####", [9] = "#####"})
+local digitl4 = t({
+[0] = "# #", [1] = " #", [2] = "# ", [3] = " #", [4] = " #",
+[5] = " #", [6] = "# #", [7] = " #", [8] = "# #", [9] = " #"})
+local digitl5 = t({
+[0] = "#####", [1] = " #", [2] = "#####", [3] = "#####", [4] = " #",
+[5] = "#####", [6] = "#####", [7] = " #", [8] = "#####", [9] = "#####"})
+
+function F.make_big_number_str(num)
+local d1 = tonumber(string.sub(num,1,1))
+local d2 = tonumber(string.sub(num,2,2))
+if not d2 then
+d2 = d1
+d1 = 0
+end
+if not d1 then d1=0 end
+return "" .. digitl1[d1] .. " " .. digitl1[d2] .. " | "
+ .. digitl2[d1] .. " " .. digitl2[d2] .. " | "
+ .. digitl3[d1] .. " " .. digitl3[d2] .. " | "
+ .. digitl4[d1] .. " " .. digitl4[d2] .. " | "
+ .. digitl5[d1] .. " " .. digitl5[d2] .. ""
+end \ No newline at end of file
diff --git a/subwayis/nodes/(-649,9,-283).lua b/subwayis/nodes/(-649,9,-283).lua
new file mode 100644
index 0000000..cfefe4c
--- /dev/null
+++ b/subwayis/nodes/(-649,9,-283).lua
@@ -0,0 +1,3 @@
+if nil then
+F.lookahead_3(75, 55, 45, 30, 20)
+end \ No newline at end of file
diff --git a/subwayis/nodes/(-662,8,-296).lua b/subwayis/nodes/(-662,8,-296).lua
new file mode 100644
index 0000000..8504ca9
--- /dev/null
+++ b/subwayis/nodes/(-662,8,-296).lua
@@ -0,0 +1,3 @@
+if nil then
+F.lookahead_3(90, 70, 60, 30, 20)
+end \ No newline at end of file
diff --git a/subwayis/nodes/(21,-2,34).lua b/subwayis/nodes/(21,-2,34).lua
new file mode 100644
index 0000000..ce2b54b
--- /dev/null
+++ b/subwayis/nodes/(21,-2,34).lua
@@ -0,0 +1 @@
+interrupt_pos(POS(-14,3,4), "dep1") \ No newline at end of file
diff --git a/subwayis/nodes/(8,-2,48).lua b/subwayis/nodes/(8,-2,48).lua
new file mode 100644
index 0000000..9fef105
--- /dev/null
+++ b/subwayis/nodes/(8,-2,48).lua
@@ -0,0 +1 @@
+interrupt_pos(POS(-14,3,4), "dep4") \ No newline at end of file