View Issue Details

IDProjectCategoryLast Update
0015562AI War 1 / ClassicBug - GameplayJul 14, 2014 1:05 pm
Reportermalkiel Assigned Tokeith.lamothe  
Status resolvedResolutionfixed 
Product Version7.045 
Fixed in Version7.046 
Summary0015562: armored warheads give salvage to ai
Descriptionnot only is it giving salvage to the ai, but..
it costs 1 million resources. the second entry in this advanced log shows that I had 40K salvage generated on the AI before blowing up the missile. after blowing the missile, the third entry shows just under 1.4M salvage generated.
where did the extra 350K come from? my best theory is the ships destroyed by the missile. This would require further testing for verification.

I made it a point to test this on the brutal type instead of the mime, to make sure I wasn't getting mime specific feedback.
TagsNo tags attached.
Internal WeightNew

Activities

malkiel

Jul 12, 2014 8:39 pm

reporter  

LogicLog_AIMechanic_Waves_MainThread.txt (198,384 bytes)   
7/10/2014 4:08:57 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 4:38:31
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 1440059
effectiveMetalForSalvageWave = floor(AISalvage) = 1440059
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 1757.88
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 108
FleetShipBudget *= player.GetHandicapMultiplier() = 108
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 125.98
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 125.98
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 283.46
= Enough salvage strength to launch a salvage-reprisal, so calling TriggerNormalWave with OverrideStrength = 1757.88


7/10/2014 4:08:57 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 4:38:31 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 108 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 1757.88

= FleetShipBudget for this wave's fleet ships = 1757.88

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 147.63
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LightStarship @ 96 each = 96
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -44.37


== Wave total ships: 29
TypesForDirectAdd count by type: 
ArmoredMissileI : 27
LightStarship : 1
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 1920


7/12/2014 2:52:59 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 4:38:31
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 40645
effectiveMetalForSalvageWave = floor(AISalvage) = 40645
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 49.62
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 108
FleetShipBudget *= player.GetHandicapMultiplier() = 108
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 125.98
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 125.98
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 283.46
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 2:53:46 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 4:40:58
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 1399414
effectiveMetalForSalvageWave = floor(AISalvage) = 1399414
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 1708.27
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 108
FleetShipBudget *= player.GetHandicapMultiplier() = 108
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 125.98
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 125.98
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 283.46
= Enough salvage strength to launch a salvage-reprisal, so calling TriggerNormalWave with OverrideStrength = 1708.27


7/12/2014 2:53:46 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 4:40:58 ; Player.AIType: Brutal ; Player.AIDifficulty: 7 ; EffectiveAIP: 108 ; AITechLevel: 1 ; IsSchizo: False
WaveStrength = 1708.27

= FleetShipBudget for this wave's fleet ships = 1708.27

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.47
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, ZenithPolarizer, Saboteur
** Picked 454 ZenithPolarizer @ 2 each = 908
** Picked 201 ZenithPolarizerII @ 4 each = 804
= After picking fleet ships, FleetShipBudget is now -3.73

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 143.47
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LeechStarship @ 96 each = 96
1 LightStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -48.53


== Wave total ships: 657
TypesForDirectAdd count by type: 
ZenithPolarizer : 454
ZenithPolarizerII : 201
LeechStarship : 1
LightStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 1904


7/12/2014 3:09:37 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 4:38:31
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 107765
effectiveMetalForSalvageWave = floor(AISalvage) = 107765
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 131.55
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 105
FleetShipBudget *= player.GetHandicapMultiplier() = 105
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 122.48
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 122.48
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 275.59
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 3:15:06 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 4:41:32
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 107765
effectiveMetalForSalvageWave = floor(AISalvage) = 107765
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 131.55
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 105
FleetShipBudget *= player.GetHandicapMultiplier() = 105
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 122.48
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 122.48
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 275.59
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 3:20:27 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 4:44:33
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 107765
effectiveMetalForSalvageWave = floor(AISalvage) = 107765
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 131.55
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 105
FleetShipBudget *= player.GetHandicapMultiplier() = 105
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 122.48
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 122.48
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 275.59
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 3:22:15 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 8 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 4:45:37
normalWaveStrength:232.47
AccumulatedStrengthForNextWave:232.68

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 105
FleetShipBudget *= player.GetHandicapMultiplier() = 105
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 122.48
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 122.48
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 275.59
Because Diff >= 7 and entry_points = 9, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 220.42
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 232.47
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.22
since player.SurplusWaveStrengthDonatedFromReinforcements > 0 (from donated reinforcement budget that couldn't be used due to capping) :
waveStrength += this.SurplusWaveStrengthDonatedFromReinforcements = 245.19

7/12/2014 3:22:15 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 4:45:37 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 105 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 245.19

= FleetShipBudget for this wave's fleet ships = 245.19

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.46
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
18 Fighter @ 1.67 each = 30
10 Bomber @ 2.5 each = 25
12 ZenithViralShredder @ 2 each = 24
14 Infiltrator @ 1.2 each = 16.8
15 MissileShip @ 1.67 each = 25
15 AutocannonMinipod @ 0.98 each = 14.69
5 BomberII @ 5 each = 25.01
6 ZenithViralShredderII @ 4 each = 24
4 InfiltratorII @ 2.4 each = 9.6
7 MissileShipII @ 3.33 each = 23.33
6 FighterII @ 3.33 each = 20
4 AutocannonMinipodII @ 1.96 each = 7.84
= After picking fleet ships, FleetShipBudget is now -0.07

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 20.59
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -75.41


== Wave total ships: 117
TypesForDirectAdd count by type: 
Fighter : 18
Bomber : 10
ZenithViralShredder : 12
Infiltrator : 14
MissileShip : 15
AutocannonMinipod : 15
BomberII : 5
ZenithViralShredderII : 6
InfiltratorII : 4
MissileShipII : 7
FighterII : 6
AutocannonMinipodII : 4
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 350.92


7/12/2014 3:24:16 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 4:47:34
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 107765
effectiveMetalForSalvageWave = floor(AISalvage) = 107765
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 131.55
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 105
FleetShipBudget *= player.GetHandicapMultiplier() = 105
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 122.48
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 122.48
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 275.59
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 3:27:17 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 4:50:35
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 107765
effectiveMetalForSalvageWave = floor(AISalvage) = 107765
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 131.55
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 105
FleetShipBudget *= player.GetHandicapMultiplier() = 105
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 122.48
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 122.48
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 275.59
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 3:28:13 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 9 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 4:51:31
normalWaveStrength:226.44
AccumulatedStrengthForNextWave:226.59

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 105
FleetShipBudget *= player.GetHandicapMultiplier() = 105
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 122.48
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 122.48
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 275.59
Because Diff >= 7 and entry_points = 9, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 220.42
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 226.44
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.22

7/12/2014 3:28:13 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 4:51:31 ; Player.AIType: Brutal ; Player.AIDifficulty: 7 ; EffectiveAIP: 105 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 226.59

= FleetShipBudget for this wave's fleet ships = 226.59

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.46
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, ZenithPolarizer, Saboteur
** Picked 
9 Saboteur @ 4.8 each = 43.2
9 ZenithPolarizer @ 2 each = 18
13 Fighter @ 1.67 each = 21.66
14 MissileShip @ 1.67 each = 23.33
7 Bomber @ 2.5 each = 17.5
4 SaboteurII @ 9.6 each = 38.4
7 BomberII @ 5 each = 35.01
3 MissileShipII @ 3.33 each = 10
4 ZenithPolarizerII @ 4 each = 16
2 FighterII @ 3.33 each = 6.67
= After picking fleet ships, FleetShipBudget is now -3.18

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 19.03
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LightStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -76.97


== Wave total ships: 73
TypesForDirectAdd count by type: 
Saboteur : 9
ZenithPolarizer : 9
Fighter : 13
MissileShip : 14
Bomber : 7
SaboteurII : 4
BomberII : 7
MissileShipII : 3
ZenithPolarizerII : 4
FighterII : 2
LightStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 327.6


7/12/2014 3:30:18 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 4:53:36
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 107765
effectiveMetalForSalvageWave = floor(AISalvage) = 107765
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 131.55
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 105
FleetShipBudget *= player.GetHandicapMultiplier() = 105
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 122.48
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 122.48
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 275.59
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 3:34:29 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 4:56:37
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 1141587
effectiveMetalForSalvageWave = floor(AISalvage) = 1141587
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 1393.54
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 105
FleetShipBudget *= player.GetHandicapMultiplier() = 105
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 122.48
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 122.48
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 275.59
= Enough salvage strength to launch a salvage-reprisal, so calling TriggerNormalWave with OverrideStrength = 1393.54


7/12/2014 3:34:29 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 4:56:37 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 105 ; AITechLevel: 1 ; IsSchizo: False
WaveStrength = 1393.54

= FleetShipBudget for this wave's fleet ships = 1393.54

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 117.04
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LeechStarship @ 96 each = 96
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -74.96


== Wave total ships: 633
TypesForDirectAdd count by type: 
ArmorShip : 149
Fighter : 61
Bomber : 65
ArmorShipII : 51
ZenithHydra : 24
ZenithHydraHead : 243
ElectricShuttle : 23
ZenithHydraIII : 15
LeechStarship : 1
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 1683.56


7/12/2014 3:38:35 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 4:59:38
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 840469
effectiveMetalForSalvageWave = floor(AISalvage) = 840469
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 1025.96
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= Enough salvage strength to launch a salvage-reprisal, so calling TriggerNormalWave with OverrideStrength = 1025.96


7/12/2014 3:38:35 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 4:59:38 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 1025.96

= FleetShipBudget for this wave's fleet ships = 1025.96

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 86.16
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -9.84


== Wave total ships: 265
TypesForDirectAdd count by type: 
ZenithHydra : 20
Bomber : 9
ZenithHydraHead : 113
ArmorShipII : 32
ArmorShip : 31
ElectricShuttle : 14
Fighter : 11
ZenithHydraIII : 28
ZenithHydraII : 3
MissileShip : 3
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 1164.96


7/12/2014 3:41:03 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:00:52
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 1679
effectiveMetalForSalvageWave = floor(AISalvage) = 1679
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 2.05
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 3:44:17 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:03:53
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 1679
effectiveMetalForSalvageWave = floor(AISalvage) = 1679
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 2.05
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 3:52:02 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 8 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 5:04:30
normalWaveStrength:264.19
AccumulatedStrengthForNextWave:264.27

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
Because Diff >= 7 and entry_points = 8, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 262.4
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 264.19
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.26

7/12/2014 3:52:02 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 5:04:30 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: False
WaveStrength = 264.27

= FleetShipBudget for this wave's fleet ships = 264.27

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 49 Bomber @ 2.5 each = 122.52
** Picked 29 BomberII @ 5 each = 145.04
= After picking fleet ships, FleetShipBudget is now -3.29

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 22.19
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -73.81


== Wave total ships: 79
TypesForDirectAdd count by type: 
Bomber : 49
BomberII : 29
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 310


7/12/2014 3:57:43 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:06:54
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 76112
effectiveMetalForSalvageWave = floor(AISalvage) = 76112
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 92.91
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 3:58:10 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:07:14
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 5037
effectiveMetalForSalvageWave = floor(AISalvage) = 5037
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 6.15
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:03:28 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:09:55
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 198391
effectiveMetalForSalvageWave = floor(AISalvage) = 198391
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 242.18
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:03:35 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 9 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 5:10:02
normalWaveStrength:273.16
AccumulatedStrengthForNextWave:273.32

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
Because Diff >= 7 and entry_points = 9, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 262.4
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 273.16
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.26

7/12/2014 4:03:35 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 5:10:02 ; Player.AIType: Brutal ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 273.32

= FleetShipBudget for this wave's fleet ships = 273.32

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, ZenithPolarizer, Saboteur
** Picked 
12 Saboteur @ 4.8 each = 57.6
5 Bomber @ 2.5 each = 12.5
5 ZenithPolarizer @ 2 each = 10
11 MissileShip @ 1.67 each = 18.33
16 Fighter @ 1.67 each = 26.66
11 FighterII @ 3.33 each = 36.67
6 MissileShipII @ 3.33 each = 20
5 SaboteurII @ 9.6 each = 48
8 BomberII @ 5 each = 40.01
2 ZenithPolarizerII @ 4 each = 8
= After picking fleet ships, FleetShipBudget is now -4.45

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 22.95
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -73.05


== Wave total ships: 82
TypesForDirectAdd count by type: 
Saboteur : 12
Bomber : 5
ZenithPolarizer : 5
MissileShip : 11
Fighter : 16
FighterII : 11
MissileShipII : 6
SaboteurII : 5
BomberII : 8
ZenithPolarizerII : 2
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 383.6


7/12/2014 4:03:53 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:10:15
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 5037
effectiveMetalForSalvageWave = floor(AISalvage) = 5037
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 6.15
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:07:42 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:12:56
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 198391
effectiveMetalForSalvageWave = floor(AISalvage) = 198391
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 242.18
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:08:02 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:13:16
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 5037
effectiveMetalForSalvageWave = floor(AISalvage) = 5037
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 6.15
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:10:43 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:15:57
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 198391
effectiveMetalForSalvageWave = floor(AISalvage) = 198391
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 242.18
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:11:05 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:16:17
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 5037
effectiveMetalForSalvageWave = floor(AISalvage) = 5037
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 6.15
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:14:16 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:18:58
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 198391
effectiveMetalForSalvageWave = floor(AISalvage) = 198391
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 242.18
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:15:20 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:19:18
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 5037
effectiveMetalForSalvageWave = floor(AISalvage) = 5037
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 6.15
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:18:13 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 8 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 5:21:26
normalWaveStrength:264.19
AccumulatedStrengthForNextWave:264.42

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
Because Diff >= 7 and entry_points = 9, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 262.4
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 264.19
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.26

7/12/2014 4:18:13 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 5:21:26 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 264.42

= FleetShipBudget for this wave's fleet ships = 264.42

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
15 Infiltrator @ 1.2 each = 18
13 MissileShip @ 1.67 each = 21.66
18 AutocannonMinipod @ 0.98 each = 17.63
6 Fighter @ 1.67 each = 10
13 Bomber @ 2.5 each = 32.51
11 ZenithViralShredder @ 2 each = 22
6 MissileShipII @ 3.33 each = 20
10 ZenithViralShredderII @ 4 each = 40
8 InfiltratorII @ 2.4 each = 19.2
8 AutocannonMinipodII @ 1.96 each = 15.67
6 FighterII @ 3.33 each = 20
6 BomberII @ 5 each = 30.01
= After picking fleet ships, FleetShipBudget is now -2.25

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 22.21
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LeechStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -73.79


== Wave total ships: 121
TypesForDirectAdd count by type: 
Infiltrator : 15
MissileShip : 13
AutocannonMinipod : 18
Fighter : 6
Bomber : 13
ZenithViralShredder : 11
MissileShipII : 6
ZenithViralShredderII : 10
InfiltratorII : 8
AutocannonMinipodII : 8
FighterII : 6
BomberII : 6
LeechStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 364.49


7/12/2014 4:19:06 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:21:59
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 198391
effectiveMetalForSalvageWave = floor(AISalvage) = 198391
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 242.18
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:21:20 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:22:19
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 32463
effectiveMetalForSalvageWave = floor(AISalvage) = 32463
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 39.63
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:26:39 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:25:00
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:26:59 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:25:20
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 134029
effectiveMetalForSalvageWave = floor(AISalvage) = 134029
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 163.61
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:45:27 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 9 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 5:27:46
normalWaveStrength:276.75
AccumulatedStrengthForNextWave:276.91

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
Because Diff >= 7 and entry_points = 9, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 262.4
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 276.75
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.26

7/12/2014 4:45:27 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 5:27:46 ; Player.AIType: Brutal ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: False
WaveStrength = 276.91

= FleetShipBudget for this wave's fleet ships = 276.91

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, ZenithPolarizer, Saboteur
** Picked 76 MissileShip @ 1.67 each = 126.65
** Picked 46 MissileShipII @ 3.33 each = 153.33
= After picking fleet ships, FleetShipBudget is now -3.07

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 23.26
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LeechStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -72.74


== Wave total ships: 123
TypesForDirectAdd count by type: 
MissileShip : 76
MissileShipII : 46
LeechStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 432


7/12/2014 4:45:42 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:28:01
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:46:02 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:28:21
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 134029
effectiveMetalForSalvageWave = floor(AISalvage) = 134029
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 163.61
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:51:30 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:31:02
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:52:06 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:31:22
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 150980
effectiveMetalForSalvageWave = floor(AISalvage) = 150980
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 184.3
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:59:04 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:34:03
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 4:59:24 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:34:23
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 339518
effectiveMetalForSalvageWave = floor(AISalvage) = 339518
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 414.45
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:00:11 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 5:35:10 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
23 Infiltrator @ 1.2 each = 27.59
20 Fighter @ 1.67 each = 33.33
10 Bomber @ 2.5 each = 25
10 ZenithViralShredder @ 2 each = 20
16 AutocannonMinipod @ 0.98 each = 15.67
17 MissileShip @ 1.67 each = 28.33
11 InfiltratorII @ 2.4 each = 26.39
7 FighterII @ 3.33 each = 23.33
7 ZenithViralShredderII @ 4 each = 28
12 BomberII @ 5 each = 60.01
13 AutocannonMinipodII @ 1.96 each = 25.47
5 MissileShipII @ 3.33 each = 16.67
= After picking fleet ships, FleetShipBudget is now -1.73

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 152
TypesForDirectAdd count by type: 
Infiltrator : 23
Fighter : 20
Bomber : 10
ZenithViralShredder : 10
AutocannonMinipod : 16
MissileShip : 17
InfiltratorII : 11
FighterII : 7
ZenithViralShredderII : 7
BomberII : 12
AutocannonMinipodII : 13
MissileShipII : 5
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 429.13


7/12/2014 5:01:33 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 5:36:20 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
17 Infiltrator @ 1.2 each = 20.4
21 Fighter @ 1.67 each = 35
19 ZenithViralShredder @ 2 each = 38
10 MissileShip @ 1.67 each = 16.67
10 Bomber @ 2.5 each = 25
16 AutocannonMinipod @ 0.98 each = 15.67
8 ZenithViralShredderII @ 4 each = 32
18 InfiltratorII @ 2.4 each = 43.19
10 MissileShipII @ 3.33 each = 33.33
6 BomberII @ 5 each = 30.01
11 AutocannonMinipodII @ 1.96 each = 21.55
6 FighterII @ 3.33 each = 20
= After picking fleet ships, FleetShipBudget is now -2.73

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LightStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 153
TypesForDirectAdd count by type: 
Infiltrator : 17
Fighter : 21
ZenithViralShredder : 19
MissileShip : 10
Bomber : 10
AutocannonMinipod : 16
ZenithViralShredderII : 8
InfiltratorII : 18
MissileShipII : 10
BomberII : 6
AutocannonMinipodII : 11
FighterII : 6
LightStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 436.81


7/12/2014 5:02:32 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:37:04
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:03:04 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:37:24
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 344103
effectiveMetalForSalvageWave = floor(AISalvage) = 344103
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 420.05
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:04:15 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 8 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 5:38:22
normalWaveStrength:264.19
AccumulatedStrengthForNextWave:264.42

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
Because Diff >= 7 and entry_points = 9, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 262.4
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 264.19
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.26

7/12/2014 5:04:15 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 5:38:22 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 264.42

= FleetShipBudget for this wave's fleet ships = 264.42

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Stealth

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Stealth waves try to spend 100% of the strength budget on types from the Stealth group
* called PickUnitsForWave with: Infiltrator, AutocannonMinipod
** Picked 
56 Infiltrator @ 1.2 each = 67.18
55 AutocannonMinipod @ 0.98 each = 53.87
33 AutocannonMinipodII @ 1.96 each = 64.65
33 InfiltratorII @ 2.4 each = 79.18
= After picking fleet ships, FleetShipBudget is now -0.46

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 22.21
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LightStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -73.79


== Wave total ships: 178
TypesForDirectAdd count by type: 
Infiltrator : 56
AutocannonMinipod : 55
AutocannonMinipodII : 33
InfiltratorII : 33
LightStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 360.88


7/12/2014 5:06:25 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:40:05
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:07:04 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:40:25
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 424625
effectiveMetalForSalvageWave = floor(AISalvage) = 424625
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 518.34
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= Enough salvage strength to launch a salvage-reprisal, so calling TriggerNormalWave with OverrideStrength = 518.34


7/12/2014 5:07:04 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 5:40:25 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 518.34

= FleetShipBudget for this wave's fleet ships = 518.34

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 43.53
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 1 LightStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -52.47


== Wave total ships: 228
TypesForDirectAdd count by type: 
ElectricShuttle : 1
ArmorShipII : 49
ArmorShip : 29
Infiltrator : 16
Fighter : 29
ZenithHydraHead : 25
AutocannonMinipodIII : 29
MissileShipII : 1
MissileShip : 48
LightStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 653.15


7/12/2014 5:10:42 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 5:42:50 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
18 Fighter @ 1.67 each = 30
20 Infiltrator @ 1.2 each = 23.99
11 AutocannonMinipod @ 0.98 each = 10.77
13 Bomber @ 2.5 each = 32.51
13 ZenithViralShredder @ 2 each = 26
16 MissileShip @ 1.67 each = 26.66
7 InfiltratorII @ 2.4 each = 16.8
12 AutocannonMinipodII @ 1.96 each = 23.51
10 BomberII @ 5 each = 50.01
7 MissileShipII @ 3.33 each = 23.33
8 FighterII @ 3.33 each = 26.67
10 ZenithViralShredderII @ 4 each = 40
= After picking fleet ships, FleetShipBudget is now -2.17

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LeechStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 146
TypesForDirectAdd count by type: 
Fighter : 18
Infiltrator : 20
AutocannonMinipod : 11
Bomber : 13
ZenithViralShredder : 13
MissileShip : 16
InfiltratorII : 7
AutocannonMinipodII : 12
BomberII : 10
MissileShipII : 7
FighterII : 8
ZenithViralShredderII : 10
LeechStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 431.07


7/12/2014 5:10:58 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:43:06
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:13:26 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 9 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 5:45:09
normalWaveStrength:271.37
AccumulatedStrengthForNextWave:271.44

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
Because Diff >= 7 and entry_points = 10, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 262.4
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 271.37
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.26
since player.SurplusWaveStrengthDonatedFromReinforcements > 0 (from donated reinforcement budget that couldn't be used due to capping) :
waveStrength += this.SurplusWaveStrengthDonatedFromReinforcements = 286.76

7/12/2014 5:13:26 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 5:45:09 ; Player.AIType: Brutal ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 286.76

= FleetShipBudget for this wave's fleet ships = 286.76

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, ZenithPolarizer, Saboteur
** Picked 
10 Bomber @ 2.5 each = 25
11 Saboteur @ 4.8 each = 52.8
12 MissileShip @ 1.67 each = 20
12 Fighter @ 1.67 each = 20
7 ZenithPolarizer @ 2 each = 14
9 BomberII @ 5 each = 45.01
6 FighterII @ 3.33 each = 20
7 SaboteurII @ 9.6 each = 67.2
5 ZenithPolarizerII @ 4 each = 20
2 MissileShipII @ 3.33 each = 6.67
= After picking fleet ships, FleetShipBudget is now -3.92

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 24.08
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LightStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -71.92


== Wave total ships: 82
TypesForDirectAdd count by type: 
Bomber : 10
Saboteur : 11
MissileShip : 12
Fighter : 12
ZenithPolarizer : 7
BomberII : 9
FighterII : 6
SaboteurII : 7
ZenithPolarizerII : 5
MissileShipII : 2
LightStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 386


7/12/2014 5:13:44 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:45:25
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 215372
effectiveMetalForSalvageWave = floor(AISalvage) = 215372
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 262.91
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:14:26 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:46:07
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:17:15 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:48:26
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 373183
effectiveMetalForSalvageWave = floor(AISalvage) = 373183
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 455.55
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:17:57 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:49:08
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:40:35 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:51:27
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 431957
effectiveMetalForSalvageWave = floor(AISalvage) = 431957
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 527.29
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= Enough salvage strength to launch a salvage-reprisal, so calling TriggerNormalWave with OverrideStrength = 527.29


7/12/2014 5:40:35 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 5:51:27 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: False
WaveStrength = 527.29

= FleetShipBudget for this wave's fleet ships = 527.29

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 44.28
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -51.72


== Wave total ships: 146
TypesForDirectAdd count by type: 
MissileShipII : 8
InfiltratorIII : 20
FighterII : 10
AutocannonMinipod : 6
ZenithHydraHead : 28
Infiltrator : 8
InfiltratorII : 6
Cruiser : 10
BomberIII : 18
ZenithPolarizerIV : 2
BomberII : 6
FighterIII : 6
MercenaryParasite : 4
AutocannonMinipodIII : 12
AutocannonMinipodII : 1
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 625.89


7/12/2014 5:41:46 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:52:09
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:45:36 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:55:10
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:46:09 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 8 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 5:55:25
normalWaveStrength:265.99
AccumulatedStrengthForNextWave:266.24

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
Because Diff >= 7 and entry_points = 10, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 262.4
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 265.99
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.26

7/12/2014 5:46:09 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 5:55:25 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 266.24

= FleetShipBudget for this wave's fleet ships = 266.24

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Stealth

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Stealth waves try to spend 100% of the strength budget on types from the Stealth group
* called PickUnitsForWave with: Infiltrator, AutocannonMinipod
** Picked 
51 Infiltrator @ 1.2 each = 61.19
62 AutocannonMinipod @ 0.98 each = 60.73
29 AutocannonMinipodII @ 1.96 each = 56.81
37 InfiltratorII @ 2.4 each = 88.78
= After picking fleet ships, FleetShipBudget is now -1.26

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 22.36
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LeechStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -73.64


== Wave total ships: 180
TypesForDirectAdd count by type: 
Infiltrator : 51
AutocannonMinipod : 62
AutocannonMinipodII : 29
InfiltratorII : 37
LeechStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 363.5


7/12/2014 5:53:21 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:58:11
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:55:02 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 5:59:41
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 156415
effectiveMetalForSalvageWave = floor(AISalvage) = 156415
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 190.94
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:56:45 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:01:00 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Stealth

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Stealth waves try to spend 100% of the strength budget on types from the Stealth group
* called PickUnitsForWave with: Infiltrator, AutocannonMinipod
** Picked 
67 Infiltrator @ 1.2 each = 80.38
72 AutocannonMinipod @ 0.98 each = 70.52
45 InfiltratorII @ 2.4 each = 107.97
36 AutocannonMinipodII @ 1.96 each = 70.52
= After picking fleet ships, FleetShipBudget is now -1.32

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 221
TypesForDirectAdd count by type: 
Infiltrator : 67
AutocannonMinipod : 72
InfiltratorII : 45
AutocannonMinipodII : 36
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 425.4


7/12/2014 5:57:14 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:01:12
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:59:06 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:02:42
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 181037
effectiveMetalForSalvageWave = floor(AISalvage) = 181037
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 220.99
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 5:59:17 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 9 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 6:02:53
normalWaveStrength:276.75
AccumulatedStrengthForNextWave:276.91

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
Because Diff >= 7 and entry_points = 10, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 262.4
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 276.75
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.26

7/12/2014 5:59:17 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:02:53 ; Player.AIType: Brutal ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 276.91

= FleetShipBudget for this wave's fleet ships = 276.91

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, ZenithPolarizer, Saboteur
** Picked 
14 Bomber @ 2.5 each = 35.01
8 Fighter @ 1.67 each = 13.33
13 Saboteur @ 4.8 each = 62.4
4 ZenithPolarizer @ 2 each = 8
5 MissileShip @ 1.67 each = 8.33
9 ZenithPolarizerII @ 4 each = 36
4 FighterII @ 3.33 each = 13.33
6 SaboteurII @ 9.6 each = 57.6
5 BomberII @ 5 each = 25.01
6 MissileShipII @ 3.33 each = 20
= After picking fleet ships, FleetShipBudget is now -2.09

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 23.26
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -72.74


== Wave total ships: 75
TypesForDirectAdd count by type: 
Bomber : 14
Fighter : 8
Saboteur : 13
ZenithPolarizer : 4
MissileShip : 5
ZenithPolarizerII : 9
FighterII : 4
SaboteurII : 6
BomberII : 5
MissileShipII : 6
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 374


7/12/2014 6:00:45 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:04:13
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:00:52 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:04:20 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
15 Bomber @ 2.5 each = 37.51
19 Infiltrator @ 1.2 each = 22.79
13 Fighter @ 1.67 each = 21.66
17 MissileShip @ 1.67 each = 28.33
14 ZenithViralShredder @ 2 each = 28
13 AutocannonMinipod @ 0.98 each = 12.73
12 BomberII @ 5 each = 60.01
8 MissileShipII @ 3.33 each = 26.67
5 AutocannonMinipodII @ 1.96 each = 9.79
12 ZenithViralShredderII @ 4 each = 48
10 InfiltratorII @ 2.4 each = 23.99
3 FighterII @ 3.33 each = 10
= After picking fleet ships, FleetShipBudget is now -1.42

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 142
TypesForDirectAdd count by type: 
Bomber : 15
Infiltrator : 19
Fighter : 13
MissileShip : 17
ZenithViralShredder : 14
AutocannonMinipod : 13
BomberII : 12
MissileShipII : 8
AutocannonMinipodII : 5
ZenithViralShredderII : 12
InfiltratorII : 10
FighterII : 3
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 423.32


7/12/2014 6:01:02 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:04:30 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
11 MissileShip @ 1.67 each = 18.33
16 AutocannonMinipod @ 0.98 each = 15.67
11 ZenithViralShredder @ 2 each = 22
21 Bomber @ 2.5 each = 52.51
14 Infiltrator @ 1.2 each = 16.8
15 Fighter @ 1.67 each = 25
13 MissileShipII @ 3.33 each = 43.33
12 BomberII @ 5 each = 60.01
9 ZenithViralShredderII @ 4 each = 36
5 FighterII @ 3.33 each = 16.67
7 AutocannonMinipodII @ 1.96 each = 13.71
5 InfiltratorII @ 2.4 each = 12
= After picking fleet ships, FleetShipBudget is now -3.95

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LeechStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 140
TypesForDirectAdd count by type: 
MissileShip : 11
AutocannonMinipod : 16
ZenithViralShredder : 11
Bomber : 21
Infiltrator : 14
Fighter : 15
MissileShipII : 13
BomberII : 12
ZenithViralShredderII : 9
FighterII : 5
AutocannonMinipodII : 7
InfiltratorII : 5
LeechStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 426.18


7/12/2014 6:02:17 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:05:40 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
17 Bomber @ 2.5 each = 42.51
12 Fighter @ 1.67 each = 20
18 MissileShip @ 1.67 each = 30
12 Infiltrator @ 1.2 each = 14.4
14 AutocannonMinipod @ 0.98 each = 13.71
15 ZenithViralShredder @ 2 each = 30
14 ZenithViralShredderII @ 4 each = 56
6 InfiltratorII @ 2.4 each = 14.4
8 MissileShipII @ 3.33 each = 26.67
10 BomberII @ 5 each = 50.01
7 FighterII @ 3.33 each = 23.33
6 AutocannonMinipodII @ 1.96 each = 11.75
= After picking fleet ships, FleetShipBudget is now -4.7

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LightStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 140
TypesForDirectAdd count by type: 
Bomber : 17
Fighter : 12
MissileShip : 18
Infiltrator : 12
AutocannonMinipod : 14
ZenithViralShredder : 15
ZenithViralShredderII : 14
InfiltratorII : 6
MissileShipII : 8
BomberII : 10
FighterII : 7
AutocannonMinipodII : 6
LightStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 430.26


7/12/2014 6:02:20 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:05:43
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 204821
effectiveMetalForSalvageWave = floor(AISalvage) = 204821
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 250.03
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:05:28 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:07:14
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:07:16 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:08:44
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 435693
effectiveMetalForSalvageWave = floor(AISalvage) = 435693
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 531.85
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= Enough salvage strength to launch a salvage-reprisal, so calling TriggerNormalWave with OverrideStrength = 531.85


7/12/2014 6:07:16 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:08:44 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 531.85

= FleetShipBudget for this wave's fleet ships = 531.85

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 44.67
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 1 LeechStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -51.33


== Wave total ships: 213
TypesForDirectAdd count by type: 
ArmorShipIV : 12
ArmorShip : 160
ArmorShipII : 20
ArmorShipIII : 20
LeechStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 767.95


7/12/2014 6:10:08 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:10:15
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:11:39 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:11:46
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 34842
effectiveMetalForSalvageWave = floor(AISalvage) = 34842
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 42.53
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:12:52 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 8 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 6:12:34
normalWaveStrength:267.78
AccumulatedStrengthForNextWave:267.8

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
Because Diff >= 7 and entry_points = 10, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 262.4
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 267.78
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.26

7/12/2014 6:12:52 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:12:34 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 267.8

= FleetShipBudget for this wave's fleet ships = 267.8

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
11 Bomber @ 2.5 each = 27.51
9 AutocannonMinipod @ 0.98 each = 8.82
13 Fighter @ 1.67 each = 21.66
11 MissileShip @ 1.67 each = 18.33
17 Infiltrator @ 1.2 each = 20.4
13 ZenithViralShredder @ 2 each = 26
5 InfiltratorII @ 2.4 each = 12
12 ZenithViralShredderII @ 4 each = 48
4 FighterII @ 3.33 each = 13.33
5 BomberII @ 5 each = 25.01
10 MissileShipII @ 3.33 each = 33.33
8 AutocannonMinipodII @ 1.96 each = 15.67
= After picking fleet ships, FleetShipBudget is now -2.25

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 22.49
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -73.51


== Wave total ships: 119
TypesForDirectAdd count by type: 
Bomber : 11
AutocannonMinipod : 9
Fighter : 13
MissileShip : 11
Infiltrator : 17
ZenithViralShredder : 13
InfiltratorII : 5
ZenithViralShredderII : 12
FighterII : 4
BomberII : 5
MissileShipII : 10
AutocannonMinipodII : 8
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 372.88


7/12/2014 6:13:34 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:13:16
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:14:08 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:13:50 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
18 AutocannonMinipod @ 0.98 each = 17.63
18 Fighter @ 1.67 each = 30
14 Infiltrator @ 1.2 each = 16.8
15 Bomber @ 2.5 each = 37.51
12 MissileShip @ 1.67 each = 20
14 ZenithViralShredder @ 2 each = 28
12 FighterII @ 3.33 each = 40
9 InfiltratorII @ 2.4 each = 21.59
11 AutocannonMinipodII @ 1.96 each = 21.55
10 ZenithViralShredderII @ 4 each = 40
8 MissileShipII @ 3.33 each = 26.67
6 BomberII @ 5 each = 30.01
= After picking fleet ships, FleetShipBudget is now -1.67

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LeechStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 148
TypesForDirectAdd count by type: 
AutocannonMinipod : 18
Fighter : 18
Infiltrator : 14
Bomber : 15
MissileShip : 12
ZenithViralShredder : 14
FighterII : 12
InfiltratorII : 9
AutocannonMinipodII : 11
ZenithViralShredderII : 10
MissileShipII : 8
BomberII : 6
LeechStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 435.57


7/12/2014 6:15:05 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:14:47
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 88995
effectiveMetalForSalvageWave = floor(AISalvage) = 88995
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 108.64
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:15:18 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:15:00 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
15 MissileShip @ 1.67 each = 25
21 Fighter @ 1.67 each = 35
17 Infiltrator @ 1.2 each = 20.4
12 Bomber @ 2.5 each = 30.01
16 AutocannonMinipod @ 0.98 each = 15.67
12 ZenithViralShredder @ 2 each = 24
10 MissileShipII @ 3.33 each = 33.33
8 InfiltratorII @ 2.4 each = 19.2
14 FighterII @ 3.33 each = 46.67
9 ZenithViralShredderII @ 4 each = 36
5 BomberII @ 5 each = 25.01
11 AutocannonMinipodII @ 1.96 each = 21.55
= After picking fleet ships, FleetShipBudget is now -3.74

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 151
TypesForDirectAdd count by type: 
MissileShip : 15
Fighter : 21
Infiltrator : 17
Bomber : 12
AutocannonMinipod : 16
ZenithViralShredder : 12
MissileShipII : 10
InfiltratorII : 8
FighterII : 14
ZenithViralShredderII : 9
BomberII : 5
AutocannonMinipodII : 11
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 444.81


7/12/2014 6:15:28 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:15:10 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
13 AutocannonMinipod @ 0.98 each = 12.73
13 Bomber @ 2.5 each = 32.51
18 Fighter @ 1.67 each = 30
15 ZenithViralShredder @ 2 each = 30
15 MissileShip @ 1.67 each = 25
17 Infiltrator @ 1.2 each = 20.4
6 BomberII @ 5 each = 30.01
15 MissileShipII @ 3.33 each = 50
9 ZenithViralShredderII @ 4 each = 36
10 InfiltratorII @ 2.4 each = 23.99
9 FighterII @ 3.33 each = 30
5 AutocannonMinipodII @ 1.96 each = 9.79
= After picking fleet ships, FleetShipBudget is now -2.34

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LightStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 146
TypesForDirectAdd count by type: 
AutocannonMinipod : 13
Bomber : 13
Fighter : 18
ZenithViralShredder : 15
MissileShip : 15
Infiltrator : 17
BomberII : 6
MissileShipII : 15
ZenithViralShredderII : 9
InfiltratorII : 10
FighterII : 9
AutocannonMinipodII : 5
LightStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 440.92


7/12/2014 6:15:58 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:15:40 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: False
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 90 Fighter @ 1.67 each = 149.99
** Picked 54 FighterII @ 3.33 each = 180
= After picking fleet ships, FleetShipBudget is now -1.9

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LeechStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 145
TypesForDirectAdd count by type: 
Fighter : 90
FighterII : 54
LeechStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 492


7/12/2014 6:16:35 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:16:17
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:18:18 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:17:48
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 148324
effectiveMetalForSalvageWave = floor(AISalvage) = 148324
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 181.06
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:18:30 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:18:00 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
18 ZenithViralShredder @ 2 each = 36
20 MissileShip @ 1.67 each = 33.33
13 AutocannonMinipod @ 0.98 each = 12.73
16 Fighter @ 1.67 each = 26.66
11 Bomber @ 2.5 each = 27.51
12 Infiltrator @ 1.2 each = 14.4
3 FighterII @ 3.33 each = 10
10 BomberII @ 5 each = 50.01
9 InfiltratorII @ 2.4 each = 21.59
9 AutocannonMinipodII @ 1.96 each = 17.63
13 MissileShipII @ 3.33 each = 43.33
9 ZenithViralShredderII @ 4 each = 36
= After picking fleet ships, FleetShipBudget is now -1.12

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 144
TypesForDirectAdd count by type: 
ZenithViralShredder : 18
MissileShip : 20
AutocannonMinipod : 13
Fighter : 16
Bomber : 11
Infiltrator : 12
FighterII : 3
BomberII : 10
InfiltratorII : 9
AutocannonMinipodII : 9
MissileShipII : 13
ZenithViralShredderII : 9
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 432.36


7/12/2014 6:19:40 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:19:10 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
22 AutocannonMinipod @ 0.98 each = 21.55
15 Bomber @ 2.5 each = 37.51
16 Fighter @ 1.67 each = 26.66
13 MissileShip @ 1.67 each = 21.66
12 ZenithViralShredder @ 2 each = 24
16 Infiltrator @ 1.2 each = 19.2
7 FighterII @ 3.33 each = 23.33
9 BomberII @ 5 each = 45.01
12 InfiltratorII @ 2.4 each = 28.79
12 ZenithViralShredderII @ 4 each = 48
6 MissileShipII @ 3.33 each = 20
7 AutocannonMinipodII @ 1.96 each = 13.71
= After picking fleet ships, FleetShipBudget is now -1.35

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 148
TypesForDirectAdd count by type: 
AutocannonMinipod : 22
Bomber : 15
Fighter : 16
MissileShip : 13
ZenithViralShredder : 12
Infiltrator : 16
FighterII : 7
BomberII : 9
InfiltratorII : 12
ZenithViralShredderII : 12
MissileShipII : 6
AutocannonMinipodII : 7
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 427.25


7/12/2014 6:19:48 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:19:18
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:20:30 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:20:00 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 328.08

= FleetShipBudget for this wave's fleet ships = 328.08

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
16 ZenithViralShredder @ 2 each = 32
17 AutocannonMinipod @ 0.98 each = 16.65
13 Fighter @ 1.67 each = 21.66
11 MissileShip @ 1.67 each = 18.33
19 Bomber @ 2.5 each = 47.51
12 Infiltrator @ 1.2 each = 14.4
12 MissileShipII @ 3.33 each = 40
9 FighterII @ 3.33 each = 30
12 InfiltratorII @ 2.4 each = 28.79
6 AutocannonMinipodII @ 1.96 each = 11.75
7 BomberII @ 5 each = 35.01
8 ZenithViralShredderII @ 4 each = 32
= After picking fleet ships, FleetShipBudget is now -0.03

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.55
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LightStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -68.45


== Wave total ships: 143
TypesForDirectAdd count by type: 
ZenithViralShredder : 16
AutocannonMinipod : 17
Fighter : 13
MissileShip : 11
Bomber : 19
Infiltrator : 12
MissileShipII : 12
FighterII : 9
InfiltratorII : 12
AutocannonMinipodII : 6
BomberII : 7
ZenithViralShredderII : 8
LightStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 429.59


7/12/2014 6:20:53 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 9 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 6:20:23
normalWaveStrength:273.16
AccumulatedStrengthForNextWave:273.27

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
Because Diff >= 7 and entry_points = 10, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 262.4
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 273.16
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.26

7/12/2014 6:20:53 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:20:23 ; Player.AIType: Brutal ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: False
WaveStrength = 273.27

= FleetShipBudget for this wave's fleet ships = 273.27

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, ZenithPolarizer, Saboteur
** Picked 50 Bomber @ 2.5 each = 125.02
** Picked 30 BomberII @ 5 each = 150.04
= After picking fleet ships, FleetShipBudget is now -1.79

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 22.95
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LeechStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -73.05


== Wave total ships: 81
TypesForDirectAdd count by type: 
Bomber : 50
BomberII : 30
LeechStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 316


7/12/2014 6:21:40 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:20:49
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 212551
effectiveMetalForSalvageWave = floor(AISalvage) = 212551
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 259.46
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:23:10 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:22:19
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:24:41 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:23:50
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 282372
effectiveMetalForSalvageWave = floor(AISalvage) = 282372
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 344.69
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:26:11 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:25:20
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:27:42 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:26:51
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 402560
effectiveMetalForSalvageWave = floor(AISalvage) = 402560
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 491.41
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:29:12 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:28:21
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 6:30:34 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 8 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 6:29:43
normalWaveStrength:267.78
AccumulatedStrengthForNextWave:267.8

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
Because Diff >= 7 and entry_points = 10, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 262.4
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 267.78
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.26
since player.SurplusWaveStrengthDonatedFromReinforcements > 0 (from donated reinforcement budget that couldn't be used due to capping) :
waveStrength += this.SurplusWaveStrengthDonatedFromReinforcements = 283.11

7/12/2014 6:30:34 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:29:43 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 283.11

= FleetShipBudget for this wave's fleet ships = 283.11

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.54
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, Infiltrator, AutocannonMinipod, ZenithViralShredder
** Picked 
14 AutocannonMinipod @ 0.98 each = 13.71
14 MissileShip @ 1.67 each = 23.33
22 Fighter @ 1.67 each = 36.66
13 Infiltrator @ 1.2 each = 15.6
8 Bomber @ 2.5 each = 20
10 ZenithViralShredder @ 2 each = 20
11 FighterII @ 3.33 each = 36.67
7 InfiltratorII @ 2.4 each = 16.8
8 AutocannonMinipodII @ 1.96 each = 15.67
5 BomberII @ 5 each = 25.01
11 MissileShipII @ 3.33 each = 36.67
6 ZenithViralShredderII @ 4 each = 24
= After picking fleet ships, FleetShipBudget is now -1

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 23.78
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LightStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -72.22


== Wave total ships: 130
TypesForDirectAdd count by type: 
AutocannonMinipod : 14
MissileShip : 14
Fighter : 22
Infiltrator : 13
Bomber : 8
ZenithViralShredder : 10
FighterII : 11
InfiltratorII : 7
AutocannonMinipodII : 8
BomberII : 5
MissileShipII : 11
ZenithViralShredderII : 6
LightStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 397.78


7/12/2014 6:30:43 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:29:52
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 463563
effectiveMetalForSalvageWave = floor(AISalvage) = 463563
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 565.87
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 125
FleetShipBudget *= player.GetHandicapMultiplier() = 125
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 145.81
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 145.81
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 328.08
= Enough salvage strength to launch a salvage-reprisal, so calling TriggerNormalWave with OverrideStrength = 565.87


7/12/2014 6:30:43 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:29:52 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 125 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 565.87

= FleetShipBudget for this wave's fleet ships = 565.87

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 47.52
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 Dreadnought @ 96 each = 96
= After picking starships, StarshipBudget is now -48.48


== Wave total ships: 144
TypesForDirectAdd count by type: 
ArmorShipIII : 42
ArmorShipII : 92
ArmorShipIV : 9
Dreadnought : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 850.85


7/12/2014 7:30:17 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:31:22
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 145
FleetShipBudget *= player.GetHandicapMultiplier() = 145
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 169.14
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 169.14
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 380.57
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 7:30:25 PM (7.045)
-----------------------------------
Triggering CPA (always from first AI); Game Time: 6:31:30
effectiveAIPForCPAPurposes = this.AIProgressionLevelEffective = 145
since diff == 7, numberOfSecondsPerPointOfMinimumAIPForCPAPurposes = 360
minimumAIPForCPAPurposes = Game.Instance.GameSecond / numberOfSecondsPerPointOfMinimumAIPForCPAPurposes = 65
effectiveAIPForCPAPurposes = Max(effectiveAIPForCPAPurposes,minimumAIPForCPAPurposes) = 145
difficultyFactor = ( this.AIDifficulty * this.GetHandicapMultiplier() ) / ( 13 - this.AIDifficulty ) : 1.17
aiTypeFactor = 1
simulateMaxTimeWaveFactor = Mat.One + ( ( this.AIDifficulty * 2 ) / ( ( 14 - this.AIDifficulty ) * 3 ) ) : 1.67
simulateDoubleWaveFactor = 2
simulateDifficultySpecificWaveSizeMultiplier = 2.25
humanHomeworldCountMultiplier = Mat.One + (FInt)( humanHomeworldCount - 1 ) = 1
numberOfShips (before applying cap-scale) = ( (FInt)effectiveAIPForCPAPurposes * difficultyFactor * aiTypeFactor * simulateMaxTimeWaveFactor * simulateDoubleWaveFactor * simulateDifficultySpecificWaveSizeMultiplier * humanHomeworldCountMultiplier ).IntValue = 1268
numberOfShips (after applying cap-scale) = 634

since player.SurplusCPAStrengthDonatedFromReinforcements > 0 (from donated reinforcement budget that couldn't be used due to capping) :
waveStrength += this.SurplusCPAStrengthDonatedFromReinforcements / 5 = 635

7/12/2014 7:32:58 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:34:03
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 9234
effectiveMetalForSalvageWave = floor(AISalvage) = 9234
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 11.27
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 145
FleetShipBudget *= player.GetHandicapMultiplier() = 145
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 169.14
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 169.14
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 380.57
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 7:33:18 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:34:23
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 145
FleetShipBudget *= player.GetHandicapMultiplier() = 145
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 169.14
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 169.14
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 380.57
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 7:36:00 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:37:04
= Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 9234
effectiveMetalForSalvageWave = floor(AISalvage) = 9234
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 11.27
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 145
FleetShipBudget *= player.GetHandicapMultiplier() = 145
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 169.14
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 169.14
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 380.57
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 7:36:20 PM (7.045)
-----------------------------------
Salvage-Reprisal Wave Check; Current Game Time: 6:37:24
= Salvage is non-zero, so checking if player 9's AISalvage is high enough for a salvage-reprisal wave
AISalvage: 200069
effectiveMetalForSalvageWave = floor(AISalvage) = 200069
referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600
referenceStrength = (strength of a mkI bomber in this game) = 2
metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122
= potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 244.22
computing strength budget of a normal wave for threshold check

FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 145
FleetShipBudget *= player.GetHandicapMultiplier() = 145
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 169.14
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 169.14
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 380.57
= not enough salvage strength to launch a salvage-reprisal (requires 1.5x the normal wave size), so we'll check again in about 3 minutes


7/12/2014 7:37:35 PM (7.045)
-----------------------------------
= CheckForWave proceeding with wave for player 9 because AccumulatedStrengthForNextWave is now >= normalWaveStrength at Game Time: 6:38:39
normalWaveStrength:306.46
AccumulatedStrengthForNextWave:306.61

= computation of normalWaveStrength:
FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1
FleetShipBudget *= this.AITechLevel = 1
FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1
FleetShipBudget *= this.AIProgressionLevelEffective = 145
FleetShipBudget *= player.GetHandicapMultiplier() = 145
preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17
FleetShipBudget *= preMinStep_DifficultyMultiplier = 169.14
FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 169.14
postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25
FleetShipBudget *= postMinStep_DifficultyMultiplier = 380.57
Because Diff >= 7 and entry_points = 10, entryPointMultiplier = 0.8
Because game time > 2 hours, using full entryPointMultiplier
normalWaveStrength *= entryPointMultiplier = 304.38
normalWaveStrength *= this.WaitingBasedMultiplierForNextNormalWave = 306.46
minimumStrength = 200

= AccumulatedStrengthForNextWave (after the first wave) is based on, every second, adding ( baseWaveStrength / normalWaveIntervalInSeconds )
computation of baseWaveStrength is the same as normalWaveStrength, but without the entry-point-multiplier and later stuff

= computation of normalWaveIntervalInSeconds:
interval = floor( ( 14 - this.AIDifficulty ) * 3 * 60 ) = 1260

so, if you're curious, amountToGainPerSecond is 0.3
since player.SurplusWaveStrengthDonatedFromReinforcements > 0 (from donated reinforcement budget that couldn't be used due to capping) :
waveStrength += this.SurplusWaveStrengthDonatedFromReinforcements = 321.93

7/12/2014 7:37:35 PM (7.045)
-----------------------------------
Starting CreateWaveToPlanet at Game Time: 6:38:39 ; Player.AIType: Brutal ; Player.AIDifficulty: 7 ; EffectiveAIP: 145 ; AITechLevel: 1 ; IsSchizo: True
WaveStrength = 321.93

= FleetShipBudget for this wave's fleet ships = 321.93

percentChanceParasiteWave (from AI type) = 0.03
percentChanceBomberWave (from AI type) = 0.06
percentChanceStealthWave (from AI type) = 0.06
= actually chosen WaveType: Normal

AIP is between the current tech level's AIP threshold and the next tech level's, so promotionRatio (percent of fleet ships to be bought from next tech level up) = 0.63
Some strength budget remaining from previous pick phases (if any), so spend what remains on types from the Normal group
* called PickUnitsForWave with: Fighter, Bomber, MissileShip, ZenithPolarizer, Saboteur
** Picked 
14 MissileShip @ 1.67 each = 23.33
5 ZenithPolarizer @ 2 each = 10
8 Fighter @ 1.67 each = 13.33
11 Saboteur @ 4.8 each = 52.8
8 Bomber @ 2.5 each = 20
8 SaboteurII @ 9.6 each = 76.8
8 MissileShipII @ 3.33 each = 26.67
10 FighterII @ 3.33 each = 33.33
10 BomberII @ 5 each = 50.01
4 ZenithPolarizerII @ 4 each = 16
= After picking fleet ships, FleetShipBudget is now -0.35

player.AITypeData.StarshipBudgetMultiplier: 0.08
= StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 27.04
* called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship
** Picked 
1 LightStarship @ 96 each = 96
= After picking starships, StarshipBudget is now -68.96


== Wave total ships: 87
TypesForDirectAdd count by type: 
MissileShip : 14
ZenithPolarizer : 5
Fighter : 8
Saboteur : 11
Bomber : 8
SaboteurII : 8
MissileShipII : 8
FighterII : 10
BomberII : 10
ZenithPolarizerII : 4
LightStarship : 1
TypesForCarrierAdd count by type: 
== For a grand-total Strength value of 423.59


TechSY730

Jul 12, 2014 9:53 pm

reporter   ~0038677

Big enough deal to raise awareness on the forums as well IMO.

keith.lamothe

Jul 14, 2014 1:05 pm

administrator   ~0038684

Armored warheads won't generate salvage (from themselves, already didn't from kills) in 7.046, thanks :)

Issue History

Date Modified Username Field Change
Jul 12, 2014 8:39 pm malkiel New Issue
Jul 12, 2014 8:39 pm malkiel File Added: LogicLog_AIMechanic_Waves_MainThread.txt
Jul 12, 2014 9:53 pm TechSY730 Note Added: 0038677
Jul 14, 2014 1:05 pm keith.lamothe Internal Weight => New
Jul 14, 2014 1:05 pm keith.lamothe Note Added: 0038684
Jul 14, 2014 1:05 pm keith.lamothe Status new => resolved
Jul 14, 2014 1:05 pm keith.lamothe Fixed in Version => 7.046
Jul 14, 2014 1:05 pm keith.lamothe Resolution open => fixed
Jul 14, 2014 1:05 pm keith.lamothe Assigned To => keith.lamothe