My version of more intuitive train behavior; inspired and parts of the code used from the mod https://mods.factorio.com/mod/TrainSkipFulfilledStation
Fixes some issues the original mod had and since I'm going to tweak it for my own use I decided to fork it.
Things that were fixed include:
https://mods.factorio.com/mod/TrainSkipFulfilledStation/discussion/6199041343b6cba6107602cb
and
https://mods.factorio.com/mod/TrainSkipFulfilledStation/discussion/5d45e3400fa406000cdff00b
Behavior that I decided I want different from the original:
If a station changes its state to unavailable no mod logic is executed and vanilla logic controls where the train goes next. This is a tricky thing to fix as I don't yet know what I would consider intuitive behavior in the case that all conditions for all stations are already fulfilled: should the train just stop in the middle of the track? should it drive to the next one? So many options...