summaryrefslogtreecommitdiff
path: root/Tyard/nodes/(-4051,12,-2731).lua
blob: 5c809b65db82b57217614a9df5fff8b06ac4c172 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--EOL code
local this_dir = false -- true = F.dir arrow points north

if F.yard_active() then
	if atc_arrow then
		if F.dir() == this_dir then --train has bounced and needs to leave the rake or depart with it
			if F.has_rc("TY_FINAL_COLLECT") then -- take the whole rake to the exit
				F.remove({"TY_FINAL_COLLECT")
				F.add_rc({"TY_DEPART"})
			else -- disconnect loco and return to pickup
				split_off_locomotive("A0B0")
				F.add_rc({"TY_PICKUP"})
			end
			F.add_rc({"TY_HEADSHUNT"})
		else --train needs to bounce
			atc_send("B0WRD1S4")
		end
	else
		if F.dir() == this_dir then
			--train is clasifying wagons, let it pass and couple to the rest of the rake
			local rm = {}
			for v in F.get_rc_safe():gmatch("(TY_CLASS_%S+)") do
				table.insert(rm,v)
			end
			F.remove_rc(rm)
		else --this should never come into play as it means the train has entered from the wrong end somehow
			atc_send("BBOL") --stop the train and open the doors (if available) to signify assistance required
			F.error(true)
		end
	end
end