Hi, could I set primary targets for AI to drop nukes on ? I don't want AI to waste his nukes on useless targets. In my recent test game, US nuked East Timor.
These are set in air_marshal section in AI files.
Luckily most AI files do not have that defined and (nearly) all countries use just 4 switchable AI files:
ai\air_ground.ai
ai\air_naval.ai
ai\air_strategic.ai
ai\air_supremecy.ai
# Air AI File For Ground Bombings as priority
# bomber is now obsolete and NOT USED AT ALL replace and use Air Marshal instead
air_marshal = {
min_mission_strength_org = 0.5 #0.2
icxdayscostfactor = 8.0 # How to value true industrial cost when calculating expect causalties
manpowercostfactor = 80.0 # How to value manpower cost when calculating expect causalties
destructionriskthreashold = 0.2 # when to fear a divisiopn might be destroyed
# desirability is a multiplier used when calcualting the mission desirability
airsuperioritydesirability = 60.0
groundattackdesirability = 40.0
inderdictiondesirability = 40.0
logisticalstrikedesirability = 0.0
runwaycrateringdesirability = 0.0
strategicstrikedesirability = 0.0
installationstrikedesirability = 0.0
navalstrikedesirability = 15.0
portstrikedesirability = 1.0
convoyraiddesirability = 1.0
# tolerance is the required kill:loss ration expected to do
# mission, 2.0 accept twice the losses of your enemy, 0.5 accept half
airsuperioritylosstolerance = 1.5
groundattacklosstolerance = 1.5
interdictionlosstolerance = 2.5
logisticalstrikelosstolerance = 0.1
runwaycrateringlosstolerance = 0.1
strategicstriketolerance = 0.5
installationstriketolerance = 0.5
navalstriketolerance = 1.5
portstriketolerance = 1.5
convoyraidtolerance = 1.0
# efficency is a tweakable param to adjust according to how
# much actual damage comes from doing this mission (not to be confused with desirability)
logisticalstrikeefficency = 0.01
runwaycrateringefficency = 0.01
strategicstrikeefficency = 0.01
installationstrikeefficency = 0.01
taskforcetype = { name = "Air Superiority" desiredratio = 0.500 rangeweight = 10.000 airkillpowerweight = 2000.000 hardkillpowerweight = 0.000 softkillpowerweight = 0.000 navalkillpowerweight = 0.000 strategickillpowerweight = 0.000 transportcapacityweight = -1000000.000 airvulnurabilityweight = -1.000 surfacevulnurabilityweight = 0.000 idle = yes reorganize = yes air_superiority = yes }
taskforcetype = { name = "Soft Bombing" desiredratio = 0.250 rangeweight = 10.000 airkillpowerweight = 0.000 hardkillpowerweight = 0.000 softkillpowerweight = 2000.000 navalkillpowerweight = 0.000 strategickillpowerweight = 0.000 transportcapacityweight = -1000000.000 airvulnurabilityweight = 0.000 surfacevulnurabilityweight = -1.000 idle = yes reorganize = yes interdiction = yes ground_attack = yes }
taskforcetype = { name = "Hard Bombing" desiredratio = 0.200 rangeweight = 10.000 airkillpowerweight = 0.000 hardkillpowerweight = 2000.000 softkillpowerweight = 0.000 navalkillpowerweight = 0.000 strategickillpowerweight = 0.000 transportcapacityweight = -1000000.000 airvulnurabilityweight = 0.000 surfacevulnurabilityweight = -1.000 idle = yes reorganize = yes interdiction = yes ground_attack = yes }
taskforcetype = { name = "Strategic Bombing" desiredratio = 0.000 rangeweight = 10.000 airkillpowerweight = 0.000 hardkillpowerweight = 0.000 softkillpowerweight = 0.000 navalkillpowerweight = 0.000 strategickillpowerweight = 2000.000 transportcapacityweight = -1000000.000 airvulnurabilityweight = -0.500 surfacevulnurabilityweight = -0.500 idle = yes reorganize = yes logistical_strike = yes runway_cratering = yes strategic_bombardment = yes installation_strike = yes interdiction = yes ground_attack = yes }
taskforcetype = { name = "Naval Bombing" desiredratio = 0.050 rangeweight = 10.000 airkillpowerweight = 0.000 hardkillpowerweight = 0.000 softkillpowerweight = 0.000 navalkillpowerweight = 2000.000 strategickillpowerweight = 0.000 transportcapacityweight = -1000000.000 airvulnurabilityweight = 0.000 surfacevulnurabilityweight = -1.000 idle = yes reorganize = yes naval_strike = yes port_strike = yes convoy_air_raiding = yes }
taskforcetype = { name = "Airlift" desiredratio = 0.000 rangeweight = 10.000 airkillpowerweight = 0.000 hardkillpowerweight = -2000.000 softkillpowerweight = -2000.000 navalkillpowerweight = 0.000 strategickillpowerweight = -2000.000 transportcapacityweight = 1000000.000 airvulnurabilityweight = -1.000 surfacevulnurabilityweight = 0.000 idle = yes reorganize = yes airborne_assault = yes air_supply = yes }
nukestriketolerance = -35.0000
nukestrikedesirability = 50.0000
}
- nukestriketolerance is used as starting value in Nuke evaluation - higher it is, more often the AI will use nukes. It is recommended to be set a bit under 0.0 to order AI to nuke bigger enemy core provinces. Good values: -50 to -20
- nukestrikedesirability is used as before (multiplier on the final value if it is > 0.0). Good value seems to be about 50.0. If set to 0.0 or less AI will not use nukes.
Check the files I listed above.
Here is air_ground.ai
EDIT:
Just re-checked my notes and the code. It seems there was yet another revision. Here is how it works currently:
No, it is not. All province structures, MP (and IIRC resources too) max levels can be reduced permanently on nuking. There is a random chance involved. Current levels for resources/buildings are usually set to 0.