A few suggestions for further development of this functionality:
1. Now the attacking UFO appears instantly and immediately on the player's base. I would like to be able to customize the trajectory of the UFO so that it flies to the player's base as it does the last UFO in the original retaliation mission (generated in "spawnUfo"): from a random point in a straight line to the player's base. This way, the player may have the possibility to intercept such a UFO before attacking the base.
For example, the "spawnOnPlayerBase" parameter: when it is in the "true" state, the UFO will be generated instantly at the player's base (as it works now). When it in "false" state, the UFO is generated away from the base and flies to the player's base.
alienMissions:
- type: STR_ALIEN_RETALIATION_INSTANT
points: 0
objective: 6 # the new objective type
# ignoreBaseDefenses: true
spawnUfo: STR_BATTLESHIP # this is the UFO that will be spawned
spawnOnPlayerBase: false # true by default
waves:
- ufo: STR_BATTLESHIP # just put something here, doesn't matter
count: 1
trajectory: P8
timer: 3000
raceWeights:
0:
STR_SECTOID: 20
STR_FLOATER: 20
2. I would like to specify the number of UFOs attacking the player's base, not just one.
For example, their number should be specified in the new parameter "spawnUfoCount", and the interval of their generation would be set in the parameter "spawnUfoTimer". This is true for both the regular retaliation mission and this new instant retaliation mission.
alienMissions:
- type: STR_ALIEN_RETALIATION_INSTANT
points: 0
objective: 6 # the new objective type
# ignoreBaseDefenses: true
spawnUfo: STR_BATTLESHIP # this is the UFO that will be spawned
spawnUfoCount: 2 # 1 by default
spawnUfoTimer: 320 # 0 by default. How long after the previous UFO should this UFO arrive? (in minutes)
waves:
- ufo: STR_BATTLESHIP # just put something here, doesn't matter
count: 1
trajectory: P8
timer: 3000
raceWeights:
0:
STR_SECTOID: 20
STR_FLOATER: 20
3. How about adding retaliation UFO generation to the "waves" section (in addition to "spawnUfo")?
For example, a wave that should generate UFOs to attack the player base could be labeled with "isRetaliationWave: true". UFOs from such a wave would not be generated if previous "normal" waves have not found the player's base. The "trajectory" parameter in this wave is ignored: UFOs fly in a straight trajectory to attack the base. This opens up the possibility to make several waves to attack the player's base, between which there can be normal waves searching for the player's base.
alienMissions:
- type: STR_ALIEN_RETALIATION
points: 0
objective: 4
spawnUfo: STR_BATTLESHIP
waves:
- ufo: STR_BATTLESHIP
count: 1
trajectory: P8
timer: 3000
- ufo: STR_BATTLESHIP
count: 2
isRetaliationWave: true # false by default
trajectory: P8
timer: 3000
- ufo: STR_BATTLESHIP
count: 3
trajectory: P8
timer: 3000
- ufo: STR_BATTLESHIP
count: 1
isRetaliationWave: true # false by default
trajectory: P8
timer: 3000
raceWeights:
0:
STR_SECTOID: 20
STR_FLOATER: 20