i made experiment as i felt that many important areas in the game are left by aliens without any major presence. I optimized mission zones to actually have only 3 zones active
So far i know game is checking 100 times before finding a spot to land a UFO in particular zone. Each mission chooses only a zones from its region.
0 - dozens of smaller areas per region that covers most of terrain per region
1 - removed
2 - removed
3 - cities as usual
4 - removed
5- enter and exit for ufos, as usual, just a bit rearranged. Instead of put all areas in the same place, now they are moved a bit to random direction. Mostly enter / exit from region is far away from this region.
Then i update all trajectories to use only 0, 3, 5
ufoTrajectories:
- id: P0
groundTimer: 3000
waypoints:
- [5, 4, 100]
- [0, 3, 74]
- [0, 1, 28]
- [0, 1, 47]
- [5, 2, 100]
- id: P1
groundTimer: 4000
waypoints:
- [5, 4, 100]
- [0, 2, 76]
- [0, 2, 20]
- [0, 1, 44]
- [0, 0, 20]
- [0, 2, 32]
- [0, 1, 65]
- [5, 0, 100]
- id: P2
groundTimer: 5000
waypoints:
- [5, 4, 100]
- [0, 3, 57]
- [0, 2, 26]
- [0, 1, 50]
- [5, 0, 100]
- id: P3
groundTimer: 6000
waypoints:
- [5, 4, 100]
- [0, 3, 30]
- [0, 2, 25]
- [0, 1, 20]
- [5, 0, 100]
- id: P4
groundTimer: 7000
waypoints:
- [5, 4, 100]
- [0, 2, 67]
- [0, 2, 52]
- [0, 1, 40]
- [0, 0, 30]
- [0, 2, 20]
- [0, 1, 30]
- [5, 0, 100]
- id: P5
groundTimer: 4000
waypoints:
- [5, 4, 100]
- [0, 2, 50]
- [0, 2, 20]
- [0, 1, 15]
- [0, 0, 20]
- [0, 2, 29]
- [0, 1, 42]
- [5, 0, 90]
- id: P6
groundTimer: 5000
waypoints:
- [5, 4, 100]
- [0, 3, 50]
- [0, 2, 25]
- [0, 1, 16]
- [5, 0, 100]
- id: P7 # TERROR / INFILTRATION
groundTimer: 9000
waypoints:
- [5, 4, 100]
- [0, 3, 60]
- [0, 2, 30]
- [3, 1, 20]
- [5, 0, 100]
- id: P8 # REATALIATION
groundTimer: 6000
waypoints:
- [5, 4, 100]
- [0, 1, 60]
- [0, 1, 20]
- [3, 1, 30]
- [0, 1, 20]
- [0, 1, 42]
- [0, 1, 56]
- [5, 4, 100]
- id: P9 # SUPPLY
groundTimer: 2000
waypoints:
- [5, 4, 80]
- [5, 0, 100]
- id: __RETALIATION_ASSAULT_RUN
groundTimer: 1000
waypoints:
- [5, 4, 100] #This should always be 5, 4, 100
- [5, 0, 100] #only the 0 altitude matters
EDIT
Actually this will not work because of this code
Probably commented due to performance ??
std::pair<double, double> AlienMission::getWaypoint(const UfoTrajectory &trajectory, const size_t nextWaypoint, const Globe &globe, const RuleRegion ®ion)
{
/* LOOK MA! NO HANDS!
if (trajectory.getAltitude(nextWaypoint) == "STR_GROUND")
{
return getLandPoint(globe, region, trajectory.getZone(nextWaypoint));
}
else
*/
return region.getRandomPoint(trajectory.getZone(nextWaypoint));
}