summaryrefslogtreecommitdiff
path: root/durt/nodes/(-2364,15,-1360).lua
diff options
context:
space:
mode:
Diffstat (limited to 'durt/nodes/(-2364,15,-1360).lua')
-rw-r--r--durt/nodes/(-2364,15,-1360).lua46
1 files changed, 46 insertions, 0 deletions
diff --git a/durt/nodes/(-2364,15,-1360).lua b/durt/nodes/(-2364,15,-1360).lua
new file mode 100644
index 0000000..9abfaad
--- /dev/null
+++ b/durt/nodes/(-2364,15,-1360).lua
@@ -0,0 +1,46 @@
+local pts = {
+ north={
+ pos=POS(-2358,15,-1329),
+ lined="st"
+ },
+ south={
+ pos=POS(-2358,15,-1361),
+ lined="st"
+ },
+}
+local set_dir = function(dir)
+ for _,v in pairs(pts) do
+ setstate(v.pos,(dir==((true and v.lined=="st") or false) and "st" or "cr"))
+ end
+end
+__approach_callback_mode = 2
+if event.approach and not event.has_entered then
+ atc_set_lzb_tsr(2)
+ atc_set_ars_disable(true)
+ return
+end
+
+if event.train then
+ if not F.has_rc("TANH_REV") then
+ atc_set_ars_disable(false)
+ return
+ end
+ if not F.has_rc("TANH_REV_active") then
+ if not atc_arrow then
+ atc_send("S2")
+ return
+ end
+ if F.has_rc("TANH_REV_exit") then return end
+ F.add_rc("TANH_REV_active")
+ split_off_locomotive("B0",3)
+ atc_send("S2")
+ set_dir(true)
+ return
+ else
+ if not atc_arrow then return end
+ F.remove_rc({"TANH_REV_active"})
+ F.add_rc("TANH_REV_exit")
+ atc_send("B0WRD1S5D5SM")
+ return
+ end
+end \ No newline at end of file