From 572b186e28ddc2a630613765c0f0780b4664380f Mon Sep 17 00:00:00 2001 From: autocommitter Date: Tue, 15 Oct 2024 22:37:42 +0200 Subject: State at 2024-10-15 --- Tyard/nodes/(-4027,12,-2731).lua | 58 ---------------------------------------- 1 file changed, 58 deletions(-) delete mode 100644 Tyard/nodes/(-4027,12,-2731).lua (limited to 'Tyard/nodes/(-4027,12,-2731).lua') diff --git a/Tyard/nodes/(-4027,12,-2731).lua b/Tyard/nodes/(-4027,12,-2731).lua deleted file mode 100644 index 5491309..0000000 --- a/Tyard/nodes/(-4027,12,-2731).lua +++ /dev/null @@ -1,58 +0,0 @@ --- Classification track -local this_dir = false --- this_dir == true for north end, false for south end -if F.yard_active() then - if atc_arrow then -- loco is at working end - F.remove_rc({"TY_PICKUP"}) - if F.has_rc("TY_ARRIVE") and F.dir() == this_dir then --first pass, prep train for working - F.remove_rc({"TY_AROUND"}) - if not F.get_rc_safe():match("TY_LOCOS_%d+") or not F.get_rc_safe():match("TY_WAGONS_%d+") then - local full_length = train_length() - split_off_locomotive("A0B0") - F.add_rc({"TY_HEADSHUNT"}) -- train will end up going through headshunt no matter what. there shouldn't be any trains entering that pass straight through. - if train_length() == full_length then --train is either only here for collection or there's no FC's in the wagons. can't differentiate - local lane = F.get_rc_safe():match("TY_COLLECT_(%S+)") or "" - F.add_rc({"TY_LAST_CLASS","TY_CLASS_"..lane}) -- direct train to correct lane for collection - else --identify and save loco:wagon ratio, then bounce back from headshunt. it's easier than trying to reconnect - F.add_rc({"TY_LOCOS_"..train_length(), "TY_WAGONS_"..(full_length-train_length()),"TY_PICKUP"}) - end - return -- train has departed for headshunt - end - if F.has_rc("TY_RTS") then - F.dir(not F.dir()) - F.remove_rc({"TY_RTS"}) - F.add_rc({"TY_AROUND"}) -- send loco around to the other end - split_off_locomotive("A0B0") - atc_set_ars_disable(false) - return -- train has departed for RTS loop - end - F.remove_rc({"TY_ARRIVE"}) - step_fc() - end - if this_dir == F.dir() then --train has bounced and is ready to classify wagon(s) - -- local pre_split = train_length() - local lane = split_at_fc("A0B0",5) -- where to classify this rake -- headshunt length - local locos = tonumber(F.get_rc_safe():match("TY_LOCOS_(%d+)")) or 1 --saved loco count - local wagons = tonumber(F.get_rc_safe():match("TY_WAGONS_(%d+)")) or 0 -- wagon_count from last classification split - local this_rake = train_length() - locos-- subtract these wagons from the overall wagon count - if this_rake == wagons then -- mark for last_classification - F.add_rc({"TY_LAST_CLASS"}) - end - if lane ~= "" then - F.add_rc({"TY_CLASS_"..lane}) - end - for v in F.get_rc_safe():gmatch("(TY_WAGONS_%d+)") do - F.remove_rc({v}) - end - F.add_rc({"TY_HEADSHUNT","TY_WAGONS_"..wagons-this_rake}) - atc_set_ars_disable(false) - set_autocouple() - else --bounce train back towards working end - atc_set_ars_disable(true) - atc_send("S0WRD1S3") - unset_autocouple() - end - else -- train entering from the far end. set autocouple so it pushes all the way through to the bounce - set_autocouple() - end -end \ No newline at end of file -- cgit v1.2.3