public static double findTerritoryAttackValue(final PlayerID player, final Territory t) { final GameData data = ProData.getData(); final int isEnemyFactory = ProMatches.territoryHasInfraFactoryAndIsEnemyLand(player, data).match(t) ? 1 : 0; double value = 3 * TerritoryAttachment.getProduction(t) * (isEnemyFactory + 1); if (!t.isWater() && t.getOwner().isNull()) { final double strength = ProBattleUtils.estimateStrength( t.getOwner(), t, new ArrayList<Unit>(t.getUnits().getUnits()), new ArrayList<Unit>(), false); // Estimate TUV swing as number of casualties * cost final double TUVSwing = -(strength / 8) * ProData.minCostPerHitPoint; value += TUVSwing; } return value; }