Author Topic: new mission zones  (Read 2521 times)

Offline bladum

  • Colonel
  • ****
  • Posts: 213
  • Bladum
    • View Profile
new mission zones
« on: December 02, 2014, 12:15:03 am »
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

Code: [Select]
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 ??

Code: [Select]
std::pair<double, double> AlienMission::getWaypoint(const UfoTrajectory &trajectory, const size_t nextWaypoint, const Globe &globe, const RuleRegion &region)
{
/* LOOK MA! NO HANDS!
if (trajectory.getAltitude(nextWaypoint) == "STR_GROUND")
{
return getLandPoint(globe, region, trajectory.getZone(nextWaypoint));
}
else
*/
return region.getRandomPoint(trajectory.getZone(nextWaypoint));
}
« Last Edit: December 02, 2014, 01:09:16 am by bladum »