Logics.in_battlefield moved to Battlefield.in_range (circular dependencies pb), and dijkstra cleaner rewriting