4/28/2016 7:16:32 PM (8.023) 4:40:32 ReinforcementCounter reached > 2400 for player 9 (since game was loaded, took 121 checks of (9+rand(2 or 3)) or alternatively a wave was converted to a reinforcement because Turtle or whatever AIProgressionLevelEffective = 230 AITechLevel = 2 numberOfReinforcements = (number of planets not controlled by the AI / 2) = 5 since AIDifficulty >= 8, numberOfReinforcements += 1 = 6 Effective reinforcement AIP capped at 200 + (the extra * 20% * the number of completed spire city hubs:200 = Planets in order of planned reinforcement attempt (note: alerted planets will get two lines, and a line with priority >= 2000 will get tried twice) : 24 (Austin ) (alerted) reinforce priority = 0 43 (Concord ) (alerted) reinforce priority = 0 22 (Baton Rouge ) (alerted) reinforce priority = 0 51 (Montana ) (alerted) reinforce priority = 0 8 (Jackson ) (alerted) reinforce priority = 0 16 (Alioth) (alerted) reinforce priority = 0 6 (Dengaida) (alerted) reinforce priority = 0 = (if it gets down here and was able to reinforce any of them, it goes back to the top of the list and tries them again.) 36 (YOUNGSTER HOME) (homeworld, +500) reinforce priority = 500 28 (NESTER HOME) (homeworld, +500) reinforce priority = 500 37 (Providence ) (core, +300) reinforce priority = 300 29 (Connecticut ) (core, +300) reinforce priority = 300 27 (California ) (core, +300) reinforce priority = 300 35 (Richmond ) (core, +300) reinforce priority = 300 (40 more reinforceable planets that are not alerted and have reinforcement priority = 0 baseReinforcementFleetShipBudget = 1.5 * AIDiff * handicapMultiplier = 13.5 baseReinforcementFleetShipBudget += 4 + ( player.AIDifficulty / 2 ) = 22 baseReinforcementFleetShipBudget += ((AIP/10) * (AIDiff/10)) = 40 baseReinforcementFleetShipBudget *= 0.175 = 6.99 baseReinforcementFleetShipBudget must be at most 35; = 6.99 baseReinforcementFleetShipBudget *= 1 + ( AIP * 0.08 ) = 76.64 baseReinforcementFleetShipBudget *= MultiplierFromHumanHomeworlds = 76.64 baseReinforcementFleetShipBudget *= player.AITypeData.ReinforcementsMultiplier = 76.64 uncappedAIPReinforcementFleetShipBudget = 1.5 * AIDiff * handicapMultiplier = 13.5 uncappedAIPReinforcementFleetShipBudget += 4 + ( player.AIDifficulty / 2 ) = 22 uncappedAIPReinforcementFleetShipBudget += ((AIP/10) * (AIDiff/10)) = 42.7 uncappedAIPReinforcementFleetShipBudget *= 0.175 = 7.46 uncappedAIPReinforcementFleetShipBudget *= 1 + ( AIP * 0.08 ) = 92.96 uncappedAIPReinforcementFleetShipBudget *= MultiplierFromHumanHomeworlds = 92.96 uncappedAIPReinforcementFleetShipBudget *= player.AITypeData.ReinforcementsMultiplier = 92.96 **** reinforcementBudgetToRedirectToOtherThings += ( uncappedAIPReinforcementFleetShipBudget - baseReinforcementFleetShipBudget ) * numberOfReinforcements = 97.95 = Trying to reinforce Austin (#24) planet.CurrentFleetshipReinforcementBalance = -7.54 Reinforcement focus types: Bomber,MicroFighter,Cruiser numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 49 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 69.1 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, SpaceTankII, MicroFighterII, GrenadeLauncherII, ZenithPolarizerII, YounglingShrikeII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, MissileShipII, MicroFighterII, MicroFighterII, MicroFighterII ** Picked 2 MicroFighterII @ 5.33 each = 10.66 8 BomberII @ 8 each = 64 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -5.57 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -95.71 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 5 = Trying to reinforce Concord (#43) planet.CurrentFleetshipReinforcementBalance = -7.28 Reinforcement focus types: Cruiser,Fighter,Bomber numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 12 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 69.36 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, SpaceTankII, MicroFighterII, GrenadeLauncherII, ZenithPolarizerII, YounglingShrikeII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : FighterII, FighterII, FighterII, BomberII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII ** Picked 8 MissileShipII @ 8 each = 64 1 FighterII @ 8 each = 8 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -2.64 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = 23.46 maxStarshipsAtPlanet = planetReinforcementAITechLevel * 3 = 6 current starship count: 0 maxGuardiansPerGuardable is 1, plus 1 if Diff >= 8, plus 1 if Diff >= 10: 2 totalAllowedGuardians = numberOfGuardables * maxGuardiansPerGuardable = 2 currentGuardianCount: 0 both starships and guardians are allowed for this reinforcemenmt, so flipping a coin: guardians called Helper_PickUnitsForReinforcement with: AIGuardianLightning, AIGuardianFlak, AIGuardianSpecialForcesRally, AIGuardianWarpGate, AIGuardianZombie, AIGuardianStarshipDisassembler, AIGuardian_Needler which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : AIGuardianLightning, AIGuardianFlak, AIGuardianSpecialForcesRally, AIGuardianWarpGate, AIGuardianZombie, AIGuardianStarshipDisassembler, AIGuardian_Needler ** Picked 1 AIGuardianStarshipDisassembler @ 96 each = 96 After picking, planet.CurrentStarshipGuardianReinforcementBalance = -72.54 remainingReinforcements -= multiplierFromPriority = 4 = Trying to reinforce Baton Rouge (#22) planet.CurrentFleetshipReinforcementBalance = -2.51 Reinforcement focus types: YounglingShrike,ZenithPolarizer,MicroFighter numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 11 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 74.12 called Helper_PickUnitsForReinforcement with: Fighter, Bomber, MissileShip, SpaceTank, MicroFighter, GrenadeLauncher, ZenithPolarizer, YounglingShrike which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : MicroFighter, ZenithPolarizer, ZenithPolarizer, ZenithPolarizer, YounglingShrike, YounglingShrike, YounglingShrike, YounglingShrike, YounglingShrike, YounglingShrike, YounglingShrike, YounglingShrike, YounglingShrike ** Picked 7 ZenithPolarizer @ 4 each = 28 12 YounglingShrike @ 4 each = 48 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -1.88 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = 30.85 maxStarshipsAtPlanet = planetReinforcementAITechLevel * 3 = 3 current starship count: 0 this planet is adjacent to a human homeworld, so can't pick guardians maxGuardiansPerGuardable is 1, plus 1 if Diff >= 8, plus 1 if Diff >= 10: 2 totalAllowedGuardians = numberOfGuardables * maxGuardiansPerGuardable = 2 currentGuardianCount: 0 called Helper_PickUnitsForReinforcement with: LightStarship, Dreadnought, LeechStarship which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : LightStarship, Dreadnought, LeechStarship ** Picked 1 LeechStarship @ 96 each = 96 After picking, planet.CurrentStarshipGuardianReinforcementBalance = -65.15 remainingReinforcements -= multiplierFromPriority = 3 = Trying to reinforce Montana (#51) planet.CurrentFleetshipReinforcementBalance = -2.39 Reinforcement focus types: YounglingShrike,Cruiser,Fighter numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 55 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 74.25 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, SpaceTankII, MicroFighterII, GrenadeLauncherII, ZenithPolarizerII, YounglingShrikeII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : FighterII, MissileShipII, MissileShipII, MissileShipII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII ** Picked 6 YounglingShrikeII @ 8 each = 48 3 FighterII @ 8 each = 24 1 MissileShipII @ 8 each = 8 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -5.75 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -66.71 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 2 = Trying to reinforce Jackson (#8) planet.CurrentFleetshipReinforcementBalance = -5.79 Reinforcement focus types: Cruiser,Bomber,Shield numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 61 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 70.85 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, SpaceTankII, MicroFighterII, GrenadeLauncherII, ZenithPolarizerII, YounglingShrikeII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : BomberII, BomberII, BomberII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII ** Picked 4 BomberII @ 8 each = 32 5 MissileShipII @ 8 each = 40 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -1.15 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = 13.71 maxStarshipsAtPlanet = planetReinforcementAITechLevel * 3 = 6 current starship count: 1 maxGuardiansPerGuardable is 1, plus 1 if Diff >= 8, plus 1 if Diff >= 10: 2 totalAllowedGuardians = numberOfGuardables * maxGuardiansPerGuardable = 2 currentGuardianCount: 1 both starships and guardians are allowed for this reinforcemenmt, so flipping a coin: guardians called Helper_PickUnitsForReinforcement with: AIGuardianLightning, AIGuardianFlak, AIGuardianSpecialForcesRally, AIGuardianWarpGate, AIGuardianZombie, AIGuardianStarshipDisassembler, AIGuardian_Needler which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : AIGuardianLightning, AIGuardianFlak, AIGuardianSpecialForcesRally, AIGuardianWarpGate, AIGuardianZombie, AIGuardianStarshipDisassembler, AIGuardian_Needler ** Picked 1 AIGuardianFlak @ 96 each = 96 After picking, planet.CurrentStarshipGuardianReinforcementBalance = -82.29 remainingReinforcements -= multiplierFromPriority = 1 = Trying to reinforce Alioth (#16) planet.CurrentFleetshipReinforcementBalance = -3.86 Reinforcement focus types: YounglingShrike,Cruiser,MicroFighter numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 15 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 72.78 called Helper_PickUnitsForReinforcement with: FighterIV, BomberIV, CruiserIV, SpaceTankIV, MicroFighterIV, GrenadeLauncherIV, ZenithPolarizerIV, YounglingShrikeIV which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : CruiserIV, CruiserIV, CruiserIV, MicroFighterIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV ** Picked 5 YounglingShrikeIV @ 16 each = 80 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -7.22 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = 50.3 maxStarshipsAtPlanet = planetReinforcementAITechLevel * 3 = 12 current starship count: 0 maxGuardiansPerGuardable is 1, plus 1 if Diff >= 8, plus 1 if Diff >= 10: 2 totalAllowedGuardians = numberOfGuardables * maxGuardiansPerGuardable = 2 currentGuardianCount: 0 both starships and guardians are allowed for this reinforcemenmt, so flipping a coin: guardians called Helper_PickUnitsForReinforcement with: AIGuardianLightningIII, AIGuardianFlakIII, AIGuardianSpecialForcesRallyIII, AIGuardianWarpGateIII, AIGuardianZombieIII, AIGuardianStarshipDisassemblerIII, AIGuardian_NeedlerIII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : AIGuardianLightningIII, AIGuardianFlakIII, AIGuardianSpecialForcesRallyIII, AIGuardianWarpGateIII, AIGuardianZombieIII, AIGuardianStarshipDisassemblerIII, AIGuardian_NeedlerIII ** Picked 1 AIGuardianFlakIII @ 288 each = 288 After picking, planet.CurrentStarshipGuardianReinforcementBalance = -237.7 remainingReinforcements -= multiplierFromPriority = 0 **** total resulting reinforcementBudgetToRedirectToOtherThings = 97.95 reinforcementBudgetToRedirectToOtherThings *= difficultyFactor = -548.56 totals for planet 24 (Austin ); count: 10, strength: 74.66 totals for planet 43 (Concord ); count: 10, strength: 168 totals for planet 22 (Baton Rouge ); count: 20, strength: 172 totals for planet 51 (Montana ); count: 10, strength: 80 totals for planet 8 (Jackson ); count: 10, strength: 168 totals for planet 16 (Alioth); count: 6, strength: 368 totals for MicroFighterII; count: 2, strength: 10.66 totals for BomberII; count: 12, strength: 96 totals for MissileShipII; count: 14, strength: 112 totals for FighterII; count: 4, strength: 32 totals for AIGuardianStarshipDisassembler; count: 1, strength: 96 totals for ZenithPolarizer; count: 7, strength: 28 totals for YounglingShrike; count: 12, strength: 48 totals for LeechStarship; count: 1, strength: 96 totals for YounglingShrikeII; count: 6, strength: 48 totals for AIGuardianFlak; count: 1, strength: 96 totals for YounglingShrikeIV; count: 5, strength: 80 totals for AIGuardianFlakIII; count: 1, strength: 288 == grand totals; count: 66, strength: 1030.66 4/28/2016 7:16:32 PM (8.023) 4:40:32 ReinforcementCounter reached > 2400 for player 9 (since game was loaded, took 121 checks of (9+rand(2 or 3)) or alternatively a wave was converted to a reinforcement because Turtle or whatever AIProgressionLevelEffective = 230 AITechLevel = 2 numberOfReinforcements = (number of planets not controlled by the AI / 2) = 5 since AIDifficulty >= 8, numberOfReinforcements += 1 = 6 Effective reinforcement AIP capped at 200 + (the extra * 20% * the number of completed spire city hubs:200 = Planets in order of planned reinforcement attempt (note: alerted planets will get two lines, and a line with priority >= 2000 will get tried twice) : 24 (Austin ) (alerted) reinforce priority = 0 43 (Concord ) (alerted) reinforce priority = 0 22 (Baton Rouge ) (alerted) reinforce priority = 0 51 (Montana ) (alerted) reinforce priority = 0 8 (Jackson ) (alerted) reinforce priority = 0 16 (Alioth) (alerted) reinforce priority = 0 6 (Dengaida) (alerted) reinforce priority = 0 = (if it gets down here and was able to reinforce any of them, it goes back to the top of the list and tries them again.) 36 (YOUNGSTER HOME) (homeworld, +500) reinforce priority = 500 28 (NESTER HOME) (homeworld, +500) reinforce priority = 500 37 (Providence ) (core, +300) reinforce priority = 300 29 (Connecticut ) (core, +300) reinforce priority = 300 27 (California ) (core, +300) reinforce priority = 300 35 (Richmond ) (core, +300) reinforce priority = 300 (40 more reinforceable planets that are not alerted and have reinforcement priority = 0 baseReinforcementFleetShipBudget = 1.5 * AIDiff * handicapMultiplier = 13.5 baseReinforcementFleetShipBudget += 4 + ( player.AIDifficulty / 2 ) = 22 baseReinforcementFleetShipBudget += ((AIP/10) * (AIDiff/10)) = 40 baseReinforcementFleetShipBudget *= 0.175 = 6.99 baseReinforcementFleetShipBudget must be at most 35; = 6.99 baseReinforcementFleetShipBudget *= 1 + ( AIP * 0.08 ) = 76.64 baseReinforcementFleetShipBudget *= MultiplierFromHumanHomeworlds = 76.64 baseReinforcementFleetShipBudget *= player.AITypeData.ReinforcementsMultiplier = 76.64 uncappedAIPReinforcementFleetShipBudget = 1.5 * AIDiff * handicapMultiplier = 13.5 uncappedAIPReinforcementFleetShipBudget += 4 + ( player.AIDifficulty / 2 ) = 22 uncappedAIPReinforcementFleetShipBudget += ((AIP/10) * (AIDiff/10)) = 42.7 uncappedAIPReinforcementFleetShipBudget *= 0.175 = 7.46 uncappedAIPReinforcementFleetShipBudget *= 1 + ( AIP * 0.08 ) = 92.96 uncappedAIPReinforcementFleetShipBudget *= MultiplierFromHumanHomeworlds = 92.96 uncappedAIPReinforcementFleetShipBudget *= player.AITypeData.ReinforcementsMultiplier = 92.96 **** reinforcementBudgetToRedirectToOtherThings += ( uncappedAIPReinforcementFleetShipBudget - baseReinforcementFleetShipBudget ) * numberOfReinforcements = 97.95 = Trying to reinforce Austin (#24) planet.CurrentFleetshipReinforcementBalance = -7.54 Reinforcement focus types: Bomber,MicroFighter,Cruiser numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 49 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 69.1 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, SpaceTankII, MicroFighterII, GrenadeLauncherII, ZenithPolarizerII, YounglingShrikeII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, MissileShipII, MicroFighterII, MicroFighterII, MicroFighterII ** Picked 2 MicroFighterII @ 5.33 each = 10.66 8 BomberII @ 8 each = 64 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -5.57 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -95.71 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 5 = Trying to reinforce Concord (#43) planet.CurrentFleetshipReinforcementBalance = -7.28 Reinforcement focus types: Cruiser,Fighter,Bomber numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 12 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 69.36 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, SpaceTankII, MicroFighterII, GrenadeLauncherII, ZenithPolarizerII, YounglingShrikeII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : FighterII, FighterII, FighterII, BomberII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII ** Picked 8 MissileShipII @ 8 each = 64 1 FighterII @ 8 each = 8 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -2.64 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = 23.46 maxStarshipsAtPlanet = planetReinforcementAITechLevel * 3 = 6 current starship count: 0 maxGuardiansPerGuardable is 1, plus 1 if Diff >= 8, plus 1 if Diff >= 10: 2 totalAllowedGuardians = numberOfGuardables * maxGuardiansPerGuardable = 2 currentGuardianCount: 0 both starships and guardians are allowed for this reinforcemenmt, so flipping a coin: guardians called Helper_PickUnitsForReinforcement with: AIGuardianLightning, AIGuardianFlak, AIGuardianSpecialForcesRally, AIGuardianWarpGate, AIGuardianZombie, AIGuardianStarshipDisassembler, AIGuardian_Needler which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : AIGuardianLightning, AIGuardianFlak, AIGuardianSpecialForcesRally, AIGuardianWarpGate, AIGuardianZombie, AIGuardianStarshipDisassembler, AIGuardian_Needler ** Picked 1 AIGuardianStarshipDisassembler @ 96 each = 96 After picking, planet.CurrentStarshipGuardianReinforcementBalance = -72.54 remainingReinforcements -= multiplierFromPriority = 4 = Trying to reinforce Baton Rouge (#22) planet.CurrentFleetshipReinforcementBalance = -2.51 Reinforcement focus types: YounglingShrike,ZenithPolarizer,MicroFighter numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 11 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 74.12 called Helper_PickUnitsForReinforcement with: Fighter, Bomber, MissileShip, SpaceTank, MicroFighter, GrenadeLauncher, ZenithPolarizer, YounglingShrike which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : MicroFighter, ZenithPolarizer, ZenithPolarizer, ZenithPolarizer, YounglingShrike, YounglingShrike, YounglingShrike, YounglingShrike, YounglingShrike, YounglingShrike, YounglingShrike, YounglingShrike, YounglingShrike ** Picked 7 ZenithPolarizer @ 4 each = 28 12 YounglingShrike @ 4 each = 48 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -1.88 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = 30.85 maxStarshipsAtPlanet = planetReinforcementAITechLevel * 3 = 3 current starship count: 0 this planet is adjacent to a human homeworld, so can't pick guardians maxGuardiansPerGuardable is 1, plus 1 if Diff >= 8, plus 1 if Diff >= 10: 2 totalAllowedGuardians = numberOfGuardables * maxGuardiansPerGuardable = 2 currentGuardianCount: 0 called Helper_PickUnitsForReinforcement with: LightStarship, Dreadnought, LeechStarship which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : LightStarship, Dreadnought, LeechStarship ** Picked 1 LeechStarship @ 96 each = 96 After picking, planet.CurrentStarshipGuardianReinforcementBalance = -65.15 remainingReinforcements -= multiplierFromPriority = 3 = Trying to reinforce Montana (#51) planet.CurrentFleetshipReinforcementBalance = -2.39 Reinforcement focus types: YounglingShrike,Cruiser,Fighter numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 55 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 74.25 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, SpaceTankII, MicroFighterII, GrenadeLauncherII, ZenithPolarizerII, YounglingShrikeII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : FighterII, MissileShipII, MissileShipII, MissileShipII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII, YounglingShrikeII ** Picked 6 YounglingShrikeII @ 8 each = 48 3 FighterII @ 8 each = 24 1 MissileShipII @ 8 each = 8 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -5.75 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -66.71 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 2 = Trying to reinforce Jackson (#8) planet.CurrentFleetshipReinforcementBalance = -5.79 Reinforcement focus types: Cruiser,Bomber,Shield numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 61 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 70.85 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, SpaceTankII, MicroFighterII, GrenadeLauncherII, ZenithPolarizerII, YounglingShrikeII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : BomberII, BomberII, BomberII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII ** Picked 4 BomberII @ 8 each = 32 5 MissileShipII @ 8 each = 40 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -1.15 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = 13.71 maxStarshipsAtPlanet = planetReinforcementAITechLevel * 3 = 6 current starship count: 1 maxGuardiansPerGuardable is 1, plus 1 if Diff >= 8, plus 1 if Diff >= 10: 2 totalAllowedGuardians = numberOfGuardables * maxGuardiansPerGuardable = 2 currentGuardianCount: 1 both starships and guardians are allowed for this reinforcemenmt, so flipping a coin: guardians called Helper_PickUnitsForReinforcement with: AIGuardianLightning, AIGuardianFlak, AIGuardianSpecialForcesRally, AIGuardianWarpGate, AIGuardianZombie, AIGuardianStarshipDisassembler, AIGuardian_Needler which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : AIGuardianLightning, AIGuardianFlak, AIGuardianSpecialForcesRally, AIGuardianWarpGate, AIGuardianZombie, AIGuardianStarshipDisassembler, AIGuardian_Needler ** Picked 1 AIGuardianFlak @ 96 each = 96 After picking, planet.CurrentStarshipGuardianReinforcementBalance = -82.29 remainingReinforcements -= multiplierFromPriority = 1 = Trying to reinforce Alioth (#16) planet.CurrentFleetshipReinforcementBalance = -3.86 Reinforcement focus types: YounglingShrike,Cruiser,MicroFighter numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 15 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 72.78 called Helper_PickUnitsForReinforcement with: FighterIV, BomberIV, CruiserIV, SpaceTankIV, MicroFighterIV, GrenadeLauncherIV, ZenithPolarizerIV, YounglingShrikeIV which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : CruiserIV, CruiserIV, CruiserIV, MicroFighterIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV, YounglingShrikeIV ** Picked 5 YounglingShrikeIV @ 16 each = 80 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -7.22 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = 50.3 maxStarshipsAtPlanet = planetReinforcementAITechLevel * 3 = 12 current starship count: 0 maxGuardiansPerGuardable is 1, plus 1 if Diff >= 8, plus 1 if Diff >= 10: 2 totalAllowedGuardians = numberOfGuardables * maxGuardiansPerGuardable = 2 currentGuardianCount: 0 both starships and guardians are allowed for this reinforcemenmt, so flipping a coin: guardians called Helper_PickUnitsForReinforcement with: AIGuardianLightningIII, AIGuardianFlakIII, AIGuardianSpecialForcesRallyIII, AIGuardianWarpGateIII, AIGuardianZombieIII, AIGuardianStarshipDisassemblerIII, AIGuardian_NeedlerIII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : AIGuardianLightningIII, AIGuardianFlakIII, AIGuardianSpecialForcesRallyIII, AIGuardianWarpGateIII, AIGuardianZombieIII, AIGuardianStarshipDisassemblerIII, AIGuardian_NeedlerIII ** Picked 1 AIGuardianFlakIII @ 288 each = 288 After picking, planet.CurrentStarshipGuardianReinforcementBalance = -237.7 remainingReinforcements -= multiplierFromPriority = 0 **** total resulting reinforcementBudgetToRedirectToOtherThings = 97.95 reinforcementBudgetToRedirectToOtherThings *= difficultyFactor = -548.56 totals for planet 24 (Austin ); count: 10, strength: 74.66 totals for planet 43 (Concord ); count: 10, strength: 168 totals for planet 22 (Baton Rouge ); count: 20, strength: 172 totals for planet 51 (Montana ); count: 10, strength: 80 totals for planet 8 (Jackson ); count: 10, strength: 168 totals for planet 16 (Alioth); count: 6, strength: 368 totals for MicroFighterII; count: 2, strength: 10.66 totals for BomberII; count: 12, strength: 96 totals for MissileShipII; count: 14, strength: 112 totals for FighterII; count: 4, strength: 32 totals for AIGuardianStarshipDisassembler; count: 1, strength: 96 totals for ZenithPolarizer; count: 7, strength: 28 totals for YounglingShrike; count: 12, strength: 48 totals for LeechStarship; count: 1, strength: 96 totals for YounglingShrikeII; count: 6, strength: 48 totals for AIGuardianFlak; count: 1, strength: 96 totals for YounglingShrikeIV; count: 5, strength: 80 totals for AIGuardianFlakIII; count: 1, strength: 288 == grand totals; count: 66, strength: 1030.66 4/28/2016 7:16:33 PM (8.023) 4:40:40 ReinforcementCounter reached > 2400 for player 8 (since game was loaded, took 129 checks of (9+rand(2 or 3)) or alternatively a wave was converted to a reinforcement because Turtle or whatever AIProgressionLevelEffective = 230 AITechLevel = 2 numberOfReinforcements = (number of planets not controlled by the AI / 2) = 5 since AIDifficulty >= 8, numberOfReinforcements += 1 = 6 Effective reinforcement AIP capped at 200 + (the extra * 20% * the number of completed spire city hubs:200 = Planets in order of planned reinforcement attempt (note: alerted planets will get two lines, and a line with priority >= 2000 will get tried twice) : 16 (Alioth) (alerted) reinforce priority = 0 8 (Jackson ) (alerted) reinforce priority = 0 22 (Baton Rouge ) (alerted) reinforce priority = 0 6 (Dengaida) (alerted) reinforce priority = 0 51 (Montana ) (alerted) reinforce priority = 0 24 (Austin ) (alerted) reinforce priority = 0 43 (Concord ) (alerted) reinforce priority = 0 = (if it gets down here and was able to reinforce any of them, it goes back to the top of the list and tries them again.) 36 (YOUNGSTER HOME) (homeworld, +500) reinforce priority = 500 28 (NESTER HOME) (homeworld, +500) reinforce priority = 500 29 (Connecticut ) (core, +300) reinforce priority = 300 27 (California ) (core, +300) reinforce priority = 300 37 (Providence ) (core, +300) reinforce priority = 300 35 (Richmond ) (core, +300) reinforce priority = 300 (40 more reinforceable planets that are not alerted and have reinforcement priority = 0 baseReinforcementFleetShipBudget = 1.5 * AIDiff * handicapMultiplier = 13.5 baseReinforcementFleetShipBudget += 4 + ( player.AIDifficulty / 2 ) = 22 baseReinforcementFleetShipBudget += ((AIP/10) * (AIDiff/10)) = 40 baseReinforcementFleetShipBudget *= 0.175 = 6.99 baseReinforcementFleetShipBudget must be at most 35; = 6.99 baseReinforcementFleetShipBudget *= 1 + ( AIP * 0.08 ) = 76.64 baseReinforcementFleetShipBudget *= MultiplierFromHumanHomeworlds = 76.64 baseReinforcementFleetShipBudget *= player.AITypeData.ReinforcementsMultiplier = 76.64 uncappedAIPReinforcementFleetShipBudget = 1.5 * AIDiff * handicapMultiplier = 13.5 uncappedAIPReinforcementFleetShipBudget += 4 + ( player.AIDifficulty / 2 ) = 22 uncappedAIPReinforcementFleetShipBudget += ((AIP/10) * (AIDiff/10)) = 42.7 uncappedAIPReinforcementFleetShipBudget *= 0.175 = 7.46 uncappedAIPReinforcementFleetShipBudget *= 1 + ( AIP * 0.08 ) = 92.96 uncappedAIPReinforcementFleetShipBudget *= MultiplierFromHumanHomeworlds = 92.96 uncappedAIPReinforcementFleetShipBudget *= player.AITypeData.ReinforcementsMultiplier = 92.96 **** reinforcementBudgetToRedirectToOtherThings += ( uncappedAIPReinforcementFleetShipBudget - baseReinforcementFleetShipBudget ) * numberOfReinforcements = 97.95 = Trying to reinforce Alioth (#16) planet.CurrentFleetshipReinforcementBalance = -7.22 Reinforcement focus types: YounglingShrike,Cruiser,MicroFighter numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 18 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 69.42 called Helper_PickUnitsForReinforcement with: FighterIV, BomberIV, CruiserIV, ShieldBearerIV, SpireTractorPlatformIV which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : FighterIV, BomberIV, CruiserIV, ShieldBearerIV, SpireTractorPlatformIV ** Picked 3 FighterIV @ 16 each = 48 2 CruiserIV @ 16 each = 32 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -10.58 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -186.21 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 5 = Trying to reinforce Jackson (#8) planet.CurrentFleetshipReinforcementBalance = -1.15 Reinforcement focus types: Cruiser,Bomber,Shield numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 71 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 75.48 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, ShieldBearerII, SpireTractorPlatformII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : BomberII, BomberII, BomberII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, ShieldBearerII ** Picked 7 MissileShipII @ 8 each = 56 3 BomberII @ 8 each = 24 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -4.52 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -30.8 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 4 = Trying to reinforce Baton Rouge (#22) planet.CurrentFleetshipReinforcementBalance = -1.88 Reinforcement focus types: YounglingShrike,ZenithPolarizer,MicroFighter numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 31 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 74.76 called Helper_PickUnitsForReinforcement with: Fighter, Bomber, MissileShip, ShieldBearer, SpireTractorPlatform which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : Fighter, Bomber, MissileShip, ShieldBearer, SpireTractorPlatform ** Picked 1 Bomber @ 4 each = 4 1 SpireTractorPlatform @ 38.4 each = 38.4 1 MissileShip @ 4 each = 4 2 ShieldBearer @ 16 each = 32 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -3.64 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -13.66 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 3 = Trying to reinforce Dengaida (#6) planet.CurrentFleetshipReinforcementBalance = -31.51 Reinforcement focus types: Fighter,Bomber,Cruiser numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 72 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 45.12 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, ShieldBearerII, SpireTractorPlatformII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : FighterII, FighterII, FighterII, FighterII, FighterII, FighterII, FighterII, FighterII, FighterII, BomberII, BomberII, BomberII, MissileShipII ** Picked 5 FighterII @ 8 each = 40 1 BomberII @ 8 each = 8 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -2.88 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = 37.63 maxStarshipsAtPlanet = planetReinforcementAITechLevel * 3 = 6 current starship count: 1 maxGuardiansPerGuardable is 1, plus 1 if Diff >= 8, plus 1 if Diff >= 10: 2 totalAllowedGuardians = numberOfGuardables * maxGuardiansPerGuardable = 2 currentGuardianCount: 2 currentGuardianCount >= totalAllowedGuardians, so can't pick guardians called Helper_PickUnitsForReinforcement with: Flagship, AIRaidStarship, DreadnoughtII, LeechStarshipII, BomberStarship, ZenithStarshipI, SpireStarshipI which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : Flagship, AIRaidStarship, DreadnoughtII, LeechStarshipII, BomberStarship, ZenithStarshipI, SpireStarshipI ** Picked 1 LeechStarshipII @ 192 each = 192 After picking, planet.CurrentStarshipGuardianReinforcementBalance = -154.37 remainingReinforcements -= multiplierFromPriority = 2 = Trying to reinforce Montana (#51) planet.CurrentFleetshipReinforcementBalance = -5.75 Reinforcement focus types: YounglingShrike,Cruiser,Fighter numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 67 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 70.89 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, ShieldBearerII, SpireTractorPlatformII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : FighterII, MissileShipII, MissileShipII, MissileShipII ** Picked 4 FighterII @ 8 each = 32 5 MissileShipII @ 8 each = 40 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -1.11 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -15.22 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 1 = Trying to reinforce Austin (#24) planet.CurrentFleetshipReinforcementBalance = -5.57 Reinforcement focus types: Bomber,MicroFighter,Cruiser numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 58 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 71.07 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, ShieldBearerII, SpireTractorPlatformII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, MissileShipII ** Picked 8 BomberII @ 8 each = 64 1 MissileShipII @ 8 each = 8 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -0.93 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -44.22 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 0 **** total resulting reinforcementBudgetToRedirectToOtherThings = 97.95 reinforcementBudgetToRedirectToOtherThings *= difficultyFactor = -548.56 totals for planet 16 (Alioth); count: 5, strength: 80 totals for planet 8 (Jackson ); count: 10, strength: 80 totals for planet 22 (Baton Rouge ); count: 5, strength: 78.4 totals for planet 6 (Dengaida); count: 7, strength: 240 totals for planet 51 (Montana ); count: 9, strength: 72 totals for planet 24 (Austin ); count: 9, strength: 72 totals for FighterIV; count: 3, strength: 48 totals for CruiserIV; count: 2, strength: 32 totals for MissileShipII; count: 13, strength: 104 totals for BomberII; count: 12, strength: 96 totals for Bomber; count: 1, strength: 4 totals for SpireTractorPlatform; count: 1, strength: 38.4 totals for MissileShip; count: 1, strength: 4 totals for ShieldBearer; count: 2, strength: 32 totals for FighterII; count: 9, strength: 72 totals for LeechStarshipII; count: 1, strength: 192 == grand totals; count: 45, strength: 622.4 4/28/2016 7:16:33 PM (8.023) 4:40:40 ReinforcementCounter reached > 2400 for player 8 (since game was loaded, took 129 checks of (9+rand(2 or 3)) or alternatively a wave was converted to a reinforcement because Turtle or whatever AIProgressionLevelEffective = 230 AITechLevel = 2 numberOfReinforcements = (number of planets not controlled by the AI / 2) = 5 since AIDifficulty >= 8, numberOfReinforcements += 1 = 6 Effective reinforcement AIP capped at 200 + (the extra * 20% * the number of completed spire city hubs:200 = Planets in order of planned reinforcement attempt (note: alerted planets will get two lines, and a line with priority >= 2000 will get tried twice) : 16 (Alioth) (alerted) reinforce priority = 0 8 (Jackson ) (alerted) reinforce priority = 0 22 (Baton Rouge ) (alerted) reinforce priority = 0 6 (Dengaida) (alerted) reinforce priority = 0 51 (Montana ) (alerted) reinforce priority = 0 24 (Austin ) (alerted) reinforce priority = 0 43 (Concord ) (alerted) reinforce priority = 0 = (if it gets down here and was able to reinforce any of them, it goes back to the top of the list and tries them again.) 36 (YOUNGSTER HOME) (homeworld, +500) reinforce priority = 500 28 (NESTER HOME) (homeworld, +500) reinforce priority = 500 29 (Connecticut ) (core, +300) reinforce priority = 300 27 (California ) (core, +300) reinforce priority = 300 37 (Providence ) (core, +300) reinforce priority = 300 35 (Richmond ) (core, +300) reinforce priority = 300 (40 more reinforceable planets that are not alerted and have reinforcement priority = 0 baseReinforcementFleetShipBudget = 1.5 * AIDiff * handicapMultiplier = 13.5 baseReinforcementFleetShipBudget += 4 + ( player.AIDifficulty / 2 ) = 22 baseReinforcementFleetShipBudget += ((AIP/10) * (AIDiff/10)) = 40 baseReinforcementFleetShipBudget *= 0.175 = 6.99 baseReinforcementFleetShipBudget must be at most 35; = 6.99 baseReinforcementFleetShipBudget *= 1 + ( AIP * 0.08 ) = 76.64 baseReinforcementFleetShipBudget *= MultiplierFromHumanHomeworlds = 76.64 baseReinforcementFleetShipBudget *= player.AITypeData.ReinforcementsMultiplier = 76.64 uncappedAIPReinforcementFleetShipBudget = 1.5 * AIDiff * handicapMultiplier = 13.5 uncappedAIPReinforcementFleetShipBudget += 4 + ( player.AIDifficulty / 2 ) = 22 uncappedAIPReinforcementFleetShipBudget += ((AIP/10) * (AIDiff/10)) = 42.7 uncappedAIPReinforcementFleetShipBudget *= 0.175 = 7.46 uncappedAIPReinforcementFleetShipBudget *= 1 + ( AIP * 0.08 ) = 92.96 uncappedAIPReinforcementFleetShipBudget *= MultiplierFromHumanHomeworlds = 92.96 uncappedAIPReinforcementFleetShipBudget *= player.AITypeData.ReinforcementsMultiplier = 92.96 **** reinforcementBudgetToRedirectToOtherThings += ( uncappedAIPReinforcementFleetShipBudget - baseReinforcementFleetShipBudget ) * numberOfReinforcements = 97.95 = Trying to reinforce Alioth (#16) planet.CurrentFleetshipReinforcementBalance = -7.22 Reinforcement focus types: YounglingShrike,Cruiser,MicroFighter numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 18 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 69.42 called Helper_PickUnitsForReinforcement with: FighterIV, BomberIV, CruiserIV, ShieldBearerIV, SpireTractorPlatformIV which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : FighterIV, BomberIV, CruiserIV, ShieldBearerIV, SpireTractorPlatformIV ** Picked 3 FighterIV @ 16 each = 48 2 CruiserIV @ 16 each = 32 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -10.58 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -186.21 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 5 = Trying to reinforce Jackson (#8) planet.CurrentFleetshipReinforcementBalance = -1.15 Reinforcement focus types: Cruiser,Bomber,Shield numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 71 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 75.48 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, ShieldBearerII, SpireTractorPlatformII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : BomberII, BomberII, BomberII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, MissileShipII, ShieldBearerII ** Picked 7 MissileShipII @ 8 each = 56 3 BomberII @ 8 each = 24 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -4.52 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -30.8 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 4 = Trying to reinforce Baton Rouge (#22) planet.CurrentFleetshipReinforcementBalance = -1.88 Reinforcement focus types: YounglingShrike,ZenithPolarizer,MicroFighter numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 31 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 74.76 called Helper_PickUnitsForReinforcement with: Fighter, Bomber, MissileShip, ShieldBearer, SpireTractorPlatform which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : Fighter, Bomber, MissileShip, ShieldBearer, SpireTractorPlatform ** Picked 1 Bomber @ 4 each = 4 1 SpireTractorPlatform @ 38.4 each = 38.4 1 MissileShip @ 4 each = 4 2 ShieldBearer @ 16 each = 32 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -3.64 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -13.66 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 3 = Trying to reinforce Dengaida (#6) planet.CurrentFleetshipReinforcementBalance = -31.51 Reinforcement focus types: Fighter,Bomber,Cruiser numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 72 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 45.12 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, ShieldBearerII, SpireTractorPlatformII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : FighterII, FighterII, FighterII, FighterII, FighterII, FighterII, FighterII, FighterII, FighterII, BomberII, BomberII, BomberII, MissileShipII ** Picked 5 FighterII @ 8 each = 40 1 BomberII @ 8 each = 8 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -2.88 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = 37.63 maxStarshipsAtPlanet = planetReinforcementAITechLevel * 3 = 6 current starship count: 1 maxGuardiansPerGuardable is 1, plus 1 if Diff >= 8, plus 1 if Diff >= 10: 2 totalAllowedGuardians = numberOfGuardables * maxGuardiansPerGuardable = 2 currentGuardianCount: 2 currentGuardianCount >= totalAllowedGuardians, so can't pick guardians called Helper_PickUnitsForReinforcement with: Flagship, AIRaidStarship, DreadnoughtII, LeechStarshipII, BomberStarship, ZenithStarshipI, SpireStarshipI which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : Flagship, AIRaidStarship, DreadnoughtII, LeechStarshipII, BomberStarship, ZenithStarshipI, SpireStarshipI ** Picked 1 LeechStarshipII @ 192 each = 192 After picking, planet.CurrentStarshipGuardianReinforcementBalance = -154.37 remainingReinforcements -= multiplierFromPriority = 2 = Trying to reinforce Montana (#51) planet.CurrentFleetshipReinforcementBalance = -5.75 Reinforcement focus types: YounglingShrike,Cruiser,Fighter numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 67 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 70.89 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, ShieldBearerII, SpireTractorPlatformII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : FighterII, MissileShipII, MissileShipII, MissileShipII ** Picked 4 FighterII @ 8 each = 32 5 MissileShipII @ 8 each = 40 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -1.11 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -15.22 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 1 = Trying to reinforce Austin (#24) planet.CurrentFleetshipReinforcementBalance = -5.57 Reinforcement focus types: Bomber,MicroFighter,Cruiser numberOfGuardables = planet.FgNonWormholeNonSpecialForcesGuardPosts.Count + ( planet.OrbitalCommandStation == null ? 0 : 1 ) = 1 currentPopulation = rollup.AlliedUnits.Count + rollup.Planet.FgColdStorageUnits.Count = 58 populationCap = numberOfGuardables = 1 populationCap *= Game.Instance.Options.UnitCapScale.AIShipCapPerPost = 75 since !(planet.WasOriginallyHomePlanet || planet.IsCoreAIPlanet), maximum = Game.Instance.Options.UnitCapScale.AIShipCapMaxNormal = 500 minimum = Game.Instance.Options.UnitCapScale.AIShipCapMinimum = 200 populationCap = Max(populationCap,mimimum) = 200 currentPopulation < populationCap, so proceeding with reinforcement here multiplierFromPriority = 1 multiplierFromSpecialStructures = 1 multiplierFromGuardPosts = 1 + planet.FgNonWormholeNonSpecialForcesGuardPosts.Count * 0.1 = 1 reinforcementFleetShipBudget = baseReinforcementFleetShipBudget = 76.64 reinforcementFleetShipBudget *= multiplierFromPriority = 76.64 reinforcementFleetShipBudget *= multiplierFromSpecialStructures = 76.64 reinforcementFleetShipBudget *= multiplierFromGuardPosts = 76.64 planet.CurrentFleetshipReinforcementBalance += reinforcementFleetShipBudget = 71.07 called Helper_PickUnitsForReinforcement with: FighterII, BomberII, MissileShipII, ShieldBearerII, SpireTractorPlatformII which became, after calling PruneFGTypeListAccordingToPlanetReinforcementTypes, : BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, BomberII, MissileShipII ** Picked 8 BomberII @ 8 each = 64 1 MissileShipII @ 8 each = 8 After picking fleet ships, planet.CurrentFleetshipReinforcementBalance = is now -0.93 = checking for starship or guardian reinforcements reinforcementFleetShipBudget: 76.64 player.AITypeData.StarshipBudgetMultiplier: 0.08 = reinforcementStarshipBudget = reinforcementFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier * 8 = 51.49 planet.CurrentStarshipGuardianReinforcementBalance += reinforcementStarshipBudget = -44.22 since CurrentStarshipGuardianReinforcementBalance <= 0, skipping starship/guardians this time around. remainingReinforcements -= multiplierFromPriority = 0 **** total resulting reinforcementBudgetToRedirectToOtherThings = 97.95 reinforcementBudgetToRedirectToOtherThings *= difficultyFactor = -548.56 totals for planet 16 (Alioth); count: 5, strength: 80 totals for planet 8 (Jackson ); count: 10, strength: 80 totals for planet 22 (Baton Rouge ); count: 5, strength: 78.4 totals for planet 6 (Dengaida); count: 7, strength: 240 totals for planet 51 (Montana ); count: 9, strength: 72 totals for planet 24 (Austin ); count: 9, strength: 72 totals for FighterIV; count: 3, strength: 48 totals for CruiserIV; count: 2, strength: 32 totals for MissileShipII; count: 13, strength: 104 totals for BomberII; count: 12, strength: 96 totals for Bomber; count: 1, strength: 4 totals for SpireTractorPlatform; count: 1, strength: 38.4 totals for MissileShip; count: 1, strength: 4 totals for ShieldBearer; count: 2, strength: 32 totals for FighterII; count: 9, strength: 72 totals for LeechStarshipII; count: 1, strength: 192 == grand totals; count: 45, strength: 622.4