if(!block || block->get_endpoints().size()<2)
{
if(!blocking_train)
+ {
good_end = blocks.end();
+ end_of_route = true;
+ }
break;
}
contested_blocks.push_back(block);
continue;
}
- else if(divert_track && (entry_conflict || exit_conflict))
+ else if(divert_track && (entry_conflict || exit_conflict || !other_train->is_active()))
// We are blocked, but there's a diversion possibility
try_divert = true;