private int underCommanderAura(@NotNull Position p) {
        double auraRange = situation.game.getCommanderAuraRange();

        if (situation.self.type != COMMANDER) {
            if (commanderSituation == null || situation.self.type == SCOUT) return 0;
            return p.me.withinEuclidean(commanderSituation.point, auraRange) ? 1 : 0;
        }

        int result = 0;
        for (Warrior ally : p.allies) {
            if (ally.type != COMMANDER && ally.type != SCOUT) {
                if (ally.point.withinEuclidean(p.me, auraRange)) result++;
            }
        }
        return result;
    }