diff --git a/advtrains/trainlogic.lua b/advtrains/trainlogic.lua index fcf4eb0..585b571 100644 --- a/advtrains/trainlogic.lua +++ b/advtrains/trainlogic.lua @@ -473,12 +473,15 @@ function advtrains.train_step_b(id, train, dtime) end function advtrains.train_step_c(id, train, dtime) -if train.no_step or train.wait_for_path or not train.path then return end + if train.no_step or train.wait_for_path or not train.path then return end -- all location/extent-critical actions have been done. -- calculate the new occupation window run_callbacks_update(id, train) + -- Return if something(TM) damaged the path + if train.no_step or train.wait_for_path or not train.path then return end + advtrains.path_clear_unused(train) advtrains.path_setrestore(train)