I'm having some issues with the AI combat behavior. Here's a screenshot of the situation, the description is below.
As you can probably guess, it's Ottoman Empire vs Serbia/Greece/Bulgaria. The thick red line represents the pre-war boundaries. I want the Balkan nations to attack the Ottomans and attempt to conquer everything up to Istanbul. The problems I'm having are the following:
1) Bulgaria just sits behind the frontline and doesn't attack at all. They'll only move their units if Serbia attacks the Ottomans through Bulgarian territory and conquers some land.
2) Greece is having problems with the two rivers surrounding Thessaloniki. In my test games I've seen them attack Macedonia, or eastern Thrace if Serbia has cleared the way, but they won't attack across these two rivers even if they outnumber the Ottomans by 2:1 or more.
3) Serbia is the most aggressive country. First they conquer Macedonia and then press onwards, attacking Thessaloniki, Kozani or Xanthi. They also like to move their units through Bulgarian territory (as you can see on this picture, there's a Serbian division in Haskovo). I don't know why the Serbian AI does this, but I'd like to know how to reproduce this behavior (attacking an enemy through allied territory). If I could learn this, I'd be able to prevent Greece from disengaging if they lose a direct land border with the Ottomans.
So basically my questions would be:
-how to make the Bulgarians attack;
-what AI parameter makes Serbia attack through Allied territory;
-how to force the Greeks to attack over rivers.
Here are the Bulgarian and Serbian AI files:

As you can probably guess, it's Ottoman Empire vs Serbia/Greece/Bulgaria. The thick red line represents the pre-war boundaries. I want the Balkan nations to attack the Ottomans and attempt to conquer everything up to Istanbul. The problems I'm having are the following:
1) Bulgaria just sits behind the frontline and doesn't attack at all. They'll only move their units if Serbia attacks the Ottomans through Bulgarian territory and conquers some land.
2) Greece is having problems with the two rivers surrounding Thessaloniki. In my test games I've seen them attack Macedonia, or eastern Thrace if Serbia has cleared the way, but they won't attack across these two rivers even if they outnumber the Ottomans by 2:1 or more.
3) Serbia is the most aggressive country. First they conquer Macedonia and then press onwards, attacking Thessaloniki, Kozani or Xanthi. They also like to move their units through Bulgarian territory (as you can see on this picture, there's a Serbian division in Haskovo). I don't know why the Serbian AI does this, but I'd like to know how to reproduce this behavior (attacking an enemy through allied territory). If I could learn this, I'd be able to prevent Greece from disengaging if they lose a direct land border with the Ottomans.
So basically my questions would be:
-how to make the Bulgarians attack;
-what AI parameter makes Serbia attack through Allied territory;
-how to force the Greeks to attack over rivers.
Here are the Bulgarian and Serbian AI files:
Code:
# Bulgaria 1936 AI File
switch = no # [yes/no]
flags = { MOB1 = yes MOB2 = yes }
max_front_ratio = 1.2
max_front_ratios = {
OTT = 4.0
}
max_garrison_prop = 0.30
min_garrison_prop = 0.20
neutrality = 120
war = 1
upgrading = 0.35
reinforcement = 0.0
strat_redeploy_threshold = 25
exp_force_ratio = 0.1
exp_force_ratios = {
FRA = 1.0
}
no_exp_forces_to = { CHI SPA POR ITA ROM SLO HUN U13 SER CRO SLV FIN }
use_offensive_supply = no
###################################
# Diplomacy
###################################
combat = { OTT = 300 }
claim_acceptance = -59
demand_claims = {
ITA
FRA
}
# Special resistance against "influence" by the listed nations. Value range = [0 - 10]
resistance = {
SER = 3
ROM = 6
OTT = 6
ENG = 1
GER = 1
}
befriend = {
GER = 50
ENG = 50
FRA = 20
SPA = 20
ITA = 80
}
protect = {
ITA = 15
}
target = {
364 = 250 # Kavala
333 = 250 # Skopje
409 = 250 # Istanbul
}
trade = {
cancel_deal_threshold = 2
energy = -1
rare_materials = -1
metal = -1
oil = -1
supplies = -1
money = -1
favored = {
GER = 100
FRA = 100
SCA = 110
SER = 110
ROM = 110
GRE = 100
ITA = 90
SOV = 20
ENG = 20
}
embargo = { }
}
tech_sharing = {
favored = {
SER = 100
GRE = 100
GER = 120
ENG = 100
FRA = 120
ITA = 80
SOV = 40
}
embargo = { }
not = { }
prioritized = {
# Agriculture
5020 = 100
5030 = 100
5040 = 100
# Inf support
1310 = 100
1320 = 100
1330 = 100
1340 = 100
1350 = 100
1360 = 100
# Production
5050 = 100
5060 = 100
5070 = 100
5080 = 100
5090 = 100
5100 = 100
5110 = 100
5120 = 100
5130 = 100
5150 = 100
5180 = 100
# Light / Mountain
1110 = 100
1120 = 100
1130 = 100
1140 = 100
}
}
###################################
# Spying
###################################
spyprefs =
{
percentage_on_spies = 0.2
percentage_foreign_mission = 0.6
# Used for Intell efficiency and for setting minimum chance to succeed for the AI to do that particular type of mission
spyprefsdata =
{
NumberOfSpies = 15
min_number_of_spies = 3
steal_blueprint = 10
minister_assassination = 5
smear_campaign = 10
coup = 3
sabotage_industry = 10
nuclear_sabotage = 5
found_partisans = 10
massmedia = 10
disrupt_techteam = 10
country = BUL
}
spyprefsdata = {
country_priorities = 4
steal_blueprint = 10
minister_assassination = 0
smear_campaign = 4
coup = 0
sabotage_industry = 3
nuclear_sabotage = 0
found_partisans = 0
massmedia = 1
disrupt_techteam = 3
country = SER
}
spyprefsdata = {
country_priorities = 5
steal_blueprint = 10
minister_assassination = 0
smear_campaign = 4
coup = 0
sabotage_industry = 3
nuclear_sabotage = 0
found_partisans = 0
massmedia = 1
disrupt_techteam = 3
country = GRE
}
spyprefsdata = {
country_priorities = 2
steal_blueprint = 10
minister_assassination = 0
smear_campaign = 4
coup = 0
sabotage_industry = 3
nuclear_sabotage = 0
found_partisans = 0
massmedia = 1
disrupt_techteam = 3
country = ROM
}
spyprefsdata = {
country_priorities = 2
steal_blueprint = 10
minister_assassination = 0
smear_campaign = 4
coup = 0
sabotage_industry = 3
nuclear_sabotage = 0
found_partisans = 0
massmedia = 1
disrupt_techteam = 3
country = OTT
}
}
###################################
# Construction and Tech Research
###################################
#Default values
construction = {
max_factor = 0.000
AA_batteries = no
max_AA_level = 4
AA_provs = {
321 # Sofia
}
coastal_fort = no
max_coastal_level = 2
coastal_fort_provs = { }
radar_station = no
max_radar = 5
radar_provs = { }
air_base = no
max_air_base = 1
air_base_provs = { }
naval_base = no
max_naval_base = 3
naval_base_provs = { }
land_fort = no
max_land_level = 2
fort_borders = { }
ic_at_war = no
force_ic_until = 1935
ic_end_year = 1935
IC_provs = {
321 # Sofia
}
}
military = {
relative_build_scheme = no
max_batch_peace = 680
max_batch_war = 320
max_batch_home_front = 180
extra_convoys_war = 0.0000
extra_convoys_peace = 0.0000
#### Divisions etc...
infantry = 54
cavalry = 0
motorized = 0
mechanized = 0
light_armor = 0
armor = 0
paratrooper = 0
marine = 0
bergsjaeger = 28
garrison = 0
hq = 0
militia = 0
# 82 %
interceptor = 10
multi_role = 0
cas = 3
strategic_bomber = 0
tactical_bomber = 5
naval_bomber = 0
transport_plane = 0
flying_bomb = 0
flying_rocket = 0
# 18 %
battleship = 0
carrier = 0
escort_carrier = 0
destroyer = 0
light_cruiser = 0
heavy_cruiser = 0
battlecruiser = 0
submarine = 0
nuclear_submarine = 0
transports = 0
# 0 %
#### Brigades
artillery = 45
sp_artillery = 0
rocket_artillery = 0
sp_rct_artillery = 0
anti_tank = 0
tank_destroyer = 0
light_armor_brigade = 0
heavy_armor = 0
super_heavy_armor = 0
armored_car = 0
anti_air = 0
police = 0
engineer = 0
cag = 100.000
escort = 100.0000
naval_asw = 20.0000
naval_anti_air_s = 20.0000
naval_radar_s = 20.0000
naval_fire_controll_s = 20.0000
naval_improved_hull_s = 10.0000
naval_torpedoes_s = 10.0000
naval_anti_air_l = 0.0000
naval_radar_l = 0.0000
naval_fire_controll_l = 0.0000
naval_improved_hull_l = 0.0000
naval_torpedoes_l = 0.0000
}
technology = {
endgoal = { }
preference = {
# Landdoctrines
6010 6040 6050 6060 6070 6080 6090 6100 6900
# Manufacturing
5810 5820 5050 5830 5060 5070 5130 5110 5120 5840 5850 5860
# Construction Engineering
5800 5080 5090 5100 5900 5910
# Applied Assembly lines
5140 5150 5160 5170 5180
# Regular Infantry
1010 1020 1030 1040 1050 1060 1070 1080 1090 1010 1020 1030 1040 1050 1060 1070 1080 1090 1100 1110 1120 1130 1140 1150 13000 13010 13020
# Field Artillery Support
2290 2300 2310 2900 2910 2920 2930 2940 2320 2330 2340 2360 2950 2350
# Air Doctrines
9040 9050 9060 9080 9100 9130 9140 9190 9200 9210 9220 9230 9240 9250 9260 9270 9280 9290 9300 9310 9320 9330 9340 9350 9360 9370 9380 9390 9400 9410 9420
# Close Air Support
4400 4170 4280 4450 4180 15120 15130
}
ignore = {
#EQUIPMENT Jungle / Desert / Sturdy
5940 5950 5960 5970 5980 5990
# Applied Assembly lines
5150 5160 5170
# Airborne Infantry
1670 1680 1690 1700 1710 1720 1730 1740
# Motorized Infantry
1396 1400 1410 1420 1430 1440 1450 1460
# Marines
1560 1570 1580 1590 1600 1610 1620 1630 1640 1650 1660
# Cavalry
13060 13070 13080 1310 1320 1330 1340 1350 1360 1370 1380 1390 1530 1540
# Mechanized Infantry
1470 1480 1490 1510 1510 1520
# Air Transports
4290 4250 4260 4270 15180 15190
# Multi-Role
4300 4310 4320 4330 4340 4040 4070 4100 4350
# Naval Bomber
4700 4710 4190 4200 4210 15140 15150
# Strategic Bomber
4800 4810 4820 4220 4230 4240 4246 15160 15170 16030
# Rocketry
5560 7550 7560 7570 7580 7590
# Synthetic Oil
5190 5200 5210 5220 5230 5240 53020
# Nuclear
5470 5480 5490 5500 5510 5520 5530 5540
# Radar Warning
5410 5416 5417 5420 5426 5430 5440 5466 5450 5460 53030 5476 53070
# Light tanks
7600 7610 2010 2630 2640 2646 2650 2030 2040 2050 2060
# Medium tanks
2070 2080 2090 2140 11000 2660 11010 2670
# Tank destroyers
2170 2180 2850 2190 2200 2210 11020 11026
# Self-Propelled Artillery
2220 2230 2240 2250 11030 11040 2960 2966
# SP Rocket Artillery
2980 2260 2270 2280 11050 11060 2990
# Static Anti-Air
2800 2450 21180 21190 21200 2460 2470 2480 2490 2500 11080
# Anti Air Brigade
2810 2820 2510 2520 2530 2540 11090
# Rocket Artillery
2970 2370 2380 2390
# Armoured Cars
2860 2870 2880 2020 2150 2160 2890 11110
# Strategic Destruction - Flying Armada
9140 9150 9160 9170 9180 9430 9440 9450 9460
}
armor = 3
infantry = 4
industry = 4
aircraft = 1
naval = 0
land_doctrines = 1
secret_weapons = 0
air_doctrines = 1
naval_doctrines = 0
}
###################################
# Ground Combat, Leaders and Garrisons
###################################
leader_ratio = {
land_field_marshal =0.02
land_general =0.031
land_lt_general =0.41
sea_grand_admiral =0.02
sea_admiral =0.061
sea_vice_admiral =0.401
air_marshal =0.02
air_general =0.091
air_lt_General =0.11
}
garrison = {
defend_overseas_beaches = yes
home_multiplier = 1.0
overseas_multiplier = 0.5
home_peace_cap = 20
war_zone_odds = 2.0
key_point_prio_mult = 0
revolt_risk_mult = 1.0
# PRIORITIES:
beach = 20 # Beach level 2
capital = 40 # Our capital
human_border = 0 # Ignored for allied human players
war_target = 50 # The next country targeted for attack by this AI
opposing_alliance = 50 # For neutrals, all alliances are "opposing"
claim_threat = 0 # If we are neutral, countries with claims on us get this
unstable_border = 0 # Bordering countries at war with someone else get this
# Borders with specific countries
country_priorities = {
GER = -1
ITA = -1
ROM = 5
SER = 20
U13 = 20
SOV = 100
SLO = -1
POL = -1
OTT = 50
GRE = 10
}
province_priorities = {
321 = 100 # Sofia
}
area_multiplier = { }
}
front = {
recklessness = 2 # 0-3
distrib_vs_ai = even
distrib_vs_human = even
enemy_reinf_days = 6
reserve_prop = 0.1
panic_ratio_vs_ai = 2.5
panic_ratio_vs_human = 2.5
base_attack_odds = 1.3
min_attack_odds = 1.1
max_attack_odds = 3.0
reinforce_odds = 1.2
withdraw_odds = 0.6
strength = 1.0
organisation = 1.0
soft_attack = 1.0
hard_attack = 1.0
ground_defense = 1.0
dig_in = 1.0 # Against defender
frozen_attack = 1.0
snow_attack = 1.0
blizzard_attack = 1.0
storm_attack = 1.0
muddy_attack = 1.0
occupied = 0.7
owned = 0.7
jungle_attack = 1.0
mountain_attack = 1.0
swamp_attack = 1.0
forest_attack = 1.0
hill_attack = 1.0
urban_attack = 1.0
river = 1.0
enemy_handicap = { }
passivity = { }
}
###################################
# Air bombardment and defense
###################################
# 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.8
icxdayscostfactor = 10.0 # How to value true industrial cost when calculating expect causalties
manpowercostfactor = 100.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 = 30.0
groundattackdesirability = 40.0
inderdictiondesirability = 20.0
logisticalstrikedesirability = 2.0
runwaycrateringdesirability = 10.0
strategicstrikedesirability = 10.0
installationstrikedesirability = 5.0
navalstrikedesirability = 15.0
portstrikedesirability = 9.0
convoyraiddesirability = 9.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.0
groundattacklosstolerance = 1.0
interdictionlosstolerance = 2.0
logisticalstrikelosstolerance = 0.5
runwaycrateringlosstolerance = 1.5
strategicstriketolerance = 4.5
installationstriketolerance = 1.5
navalstriketolerance = 1.0
portstriketolerance = 1.0
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.400 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.100 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.100 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 }
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.100 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 }
}
###################################
# Invasions and Naval
###################################
invasion = {
invasion = no
base = 0.1 #Relative modifier. (lower = specific targets much more important.)
random = 8.0 #How big a random range. (1.0 = 1%)
coastal = 0.1 #increase to avoid coastal forts more.
beach = 0.1 #higher, avoid worst beaches.
distance = 20.0 #higher = avoid long distance.
pocket = 20.0 #prioritise pockets, ie provinces with no adjacent controlled by same.
island = 0.1 #prioritise taking pure islands.
enemy = 2.0 #higher = much more vary of troops in province.
adjacentenemy = 2.0 #higher = much more vary of troops nearby
air_base = 1.5
naval_base = 0.1
air_support = 3.0
redirect = nearest
ignore = no
target = {
364 = 100 # Kavala
333 = 100 # Skopje
409 = 80 # Istanbul
}
}
admiral = {
min_org = 100 # NEW: Percent of org gained back before the unit can leave port
min_dmg = 98 # NEW: Percent of dmg gained back before the unit can leave port
return_org = 60 # NEW: PERCENT OF ORG LOST BEFORE RETURNING TO PORT applies to all fleets/ships
return_dmg = 80 # NEW: PERCENT OF DMG LOST BEFORE RETURNING TO PORT for repairs applies to all fleets/ships
ignore = {
#Baltic Area
"Northern Baltic"
"Southern Baltic"
"Bothnian Bay"
#Murmansk/Archangel
"Barents Sea"
"Arctic Ocean"
#Norway Coast (Denmark Coast)
"Norwegian Sea"
"East North Sea"
"Kattegat"
#North Sea, East Coast of England
"Central Northsea"
"West Northsea"
"Southeast Northsea"
#England/France border Sea Areas
"English Channel"
"Bay of Biscay"
"Cape Finisterre"
#Spanish Coast (Atlantic Side)
"Portugese Coast"
"Cap St Vincent"
#Iceland
"Faroes Gap"
"Denmark Strait"
#Ireland/West Coast of England
"Irish Sea"
"The Hebreides"
"Irish West Coast"
#Greenland
"Greenland Coast"
"Northern Sea of Labrador"
"Southern Sea of Labrador"
#Canada East Coast
"Hudson Bay"
"Grand Banks"
"Canadian Maritimes"
#Western Mediterranean
"Costa del Sol"
"Gulf of Lyon"
"Algerian Coast"
#Central Mediterranean
"Tyrrhenian Sea"
"Adriatic Sea"
#Eastern Mediterranean
"Aegean Sea"
"Egyptian Coast"
#North Atlantic
"North Atlantic"
"Western Approaches"
"The Seamounts"
"Azores"
#Central Atlantic
"Central Atlantic"
"Central Mid-Atlantic Ridge"
"Bermuda Triangle"
"Guiana Basin"
"South-Central Mid-Atlantic Ridge"
"Cap Verde"
#South Atlantic
"Pernambuco Plain"
"Ascension Fracture Zone"
"Argentine Plain"
"Angola Plain"
#Caribbean Sea and Guilf of Mexico
"West Gulf of Mexico"
"East Gulf of Mexico"
"Florida Strait"
"Yucatan Strait"
"Windward Islands"
"Central Carribean"
#Brazil and Argentina Coast
"Coast of Guyana"
"Coast of Recife"
"Coast of Uruguay"
"Coast of Brazil"
"Coast of Argentina"
# West Africa
"Coast of Africa"
"Coast of Bissao"
#Equitorial Africa
"Gulf of Guinea"
"Coast of Angola-Namibia"
#South Africa
"Coast of South Africa"
"Atlantic-Indian Ridge"
#East Africa
"Red Sea"
"Horn of Africa"
#Madagascar Coast
"South Mozambique Channel"
"North Mozambique Channel"
"Northeast Coast of Madagascar"
"Southeast Coast of Madagascar"
#North Indian Ocean (Persian Gulf)
"Persian Gulf"
"North Arabian Sea"
"South Arabian Sea"
"Coast of Ceylon"
#Central/South Indian Ocean
"Mascarene Plateau"
"Mid-Indian Ridge"
"Ninetyeast Ridge"
"Southeast Indian Ocean"
"Southwest Indian Ocean"
#Bay of Bengal & West Indonesia
"East Bay of Bengal"
"West Bay of Bengal"
"Malacca Strait"
"Java Ridge"
"Java Trench"
#Indo-China, Borneo, Phillipenes
"Gulf of Siam"
"Coast of Indochina"
"Spratly Sea"
"Coast of Brunei"
"Flores Sea"
"Sulu Sea"
"Celebes Sea"
"Luzon Strait"
#China Coast
"Taiwan Strait"
"Yellow Sea"
#Japanese Coast
"Sea of Japan"
"Ryukyus"
"Coast of Japan"
"South Sea of Okhotsk"
"West Sea of Okhotsk"
"East Sea of Okhotsk"
#Mariana Basin, Phillipenes
"Philipine Trench"
"Central Philippine Sea"
"Mariana Trench"
"East Mariana Basin"
"Mid-Pacific Mountains"
"North Bismarck Sea"
#New Guinea, East/North Australia and New Zealan
"Coast of New Guinea"
"Molucca Sea"
"Banda Sea"
"Arafura Sea"
"South Bismarck Sea"
"Solomon Sea"
"West Coral Sea"
"East Coral Sea"
"North Tasman Sea"
"South Tasman Sea"
"East Cost of New Zealand"
# South and West Australia
"Timor Sea"
"West Coast of Australia"
"East Great Australian Bight"
"West Great Australian Bight"
#North Pacific
"Coast of Kamchatka"
"East Bering Sea"
"West Bering Sea"
"Aleutians"
"Northwest Pacific Basin"
"North Northeast Pacific Basin"
#Central Pacific
"Hawaiian Rise"
"North East Pacific Ocean"
"Marshalls Sea"
"South East Pacific Ocean"
"Marianas"
"Western Solomons"
"Eastern Solomons"
"US Maritimes"
"Carolines"
#South Pacific
"Gilberts"
"Line Islands"
"Fiji Basin"
"Southwest Pacific Basin"
# South American West Coast
"Southeast Pacific Basin"
"West Coast of Chile"
"West Coast of Peru"
"South Southeast Pacific Ocean"
"North Southeast Pacific Ocean"
# USA West Coast
"Gulf of Alaska"
"West Coast of the United States"
#West Coast of Mexico
"West Coast of Mexico"
"West Coast of Central America"
}
target = { }
core = { 2729 }
}
Code:
# Serbia 1936 AI File
switch = no # [yes/no]
flags = { MOB1 = yes MOB2 = yes MOB3 = yes MOB4 = yes MOB5 = yes }
max_front_ratio = 1.2
max_front_ratios = {
OTT = 4.0
}
max_garrison_prop = 0.30
min_garrison_prop = 0.20
neutrality = 125
war = 1
upgrading = 0.35
reinforcement = 0.2
strat_redeploy_threshold = 25
exp_force_ratio = 0.0
exp_force_ratios = { }
no_exp_forces_to = { JAP SIA ITA ROM SLO BUL HUN CRO FIN }
use_offensive_supply = no
###################################
# Diplomacy
###################################
combat = { OTT = 300 }
claim_acceptance = -69
# Special resistance against "influence" by the listed nations. Value range = [0 - 10]
resistance = {
ROM = 4
BUL = 6
U13 = 3
OTT = 5
ENG = 1
GER = 1
}
befriend = {
FRA = 50
SOV = 50
ENG = 10
}
protect = {
GRE = 20
}
target = {
333 = 250 # Skopje
365 = 150 # Thessaloniki
409 = 50 # Istanbul
}
trade = {
cancel_deal_threshold = 2
energy = -1
rare_materials = -1
metal = -1
oil = -1
supplies = -1
money = -1
favored = {
FRA = 100
GER = 100
ENG = 100
ITA = 100
SOV = 50
SWE = 80
ROM = 100
CRO = 50
POL = 50
}
embargo = { }
}
tech_sharing = {
favored = {
BUL = 100
GRE = 100
GER = 50
FRA = 100
ENG = 100
ITA = 100
SOV = 50
}
embargo = { }
not = { }
prioritized = {
# Agriculture
5020 = 100
5030 = 100
5040 = 100
# Inf support
1310 = 100
1320 = 100
1330 = 100
1340 = 100
1350 = 100
1360 = 100
# Production
5050 = 100
5060 = 100
5070 = 100
5080 = 100
5090 = 100
5100 = 100
5110 = 100
5120 = 100
5130 = 100
5150 = 100
5180 = 100
# Mountain Unit techs
1110 = 100
1120 = 100
1130 = 100
1140 = 100
}
}
###################################
# Spying
###################################
spyprefs =
{
percentage_on_spies = 0.2
percentage_foreign_mission = 0.6
# Used for Intell efficiency and for setting minimum chance to succeed for the AI to do that particular type of mission
spyprefsdata =
{
NumberOfSpies = 15
min_number_of_spies = 3
steal_blueprint = 10
minister_assassination = 5
smear_campaign = 10
coup = 3
sabotage_industry = 10
nuclear_sabotage = 5
found_partisans = 10
massmedia = 10
disrupt_techteam = 10
country = SER
}
spyprefsdata = {
country_priorities = 6
steal_blueprint = 10
minister_assassination = 0
smear_campaign = 3
coup = 0
sabotage_industry = 1
nuclear_sabotage = 0
found_partisans = 0
massmedia = 0
disrupt_techteam = 1
country = ITA
}
spyprefsdata = {
country_priorities = 4
steal_blueprint = 4 # 10
minister_assassination = 0
smear_campaign = 5 # 3
coup = 0
sabotage_industry = 4 # 2
nuclear_sabotage = 0
found_partisans = 0
massmedia = 1
disrupt_techteam = 2
country = U13
}
spyprefsdata = {
country_priorities = 2
steal_blueprint = 10
minister_assassination = 0
smear_campaign = 3
coup = 0
sabotage_industry = 2
nuclear_sabotage = 0
found_partisans = 0
massmedia = 1
disrupt_techteam = 2
country = BUL
}
spyprefsdata = {
country_priorities = 2
steal_blueprint = 10
minister_assassination = 0
smear_campaign = 3
coup = 0
sabotage_industry = 2
nuclear_sabotage = 0
found_partisans = 0
massmedia = 1
disrupt_techteam = 2
country = U29
}
spyprefsdata = {
country_priorities = 2
steal_blueprint = 10
minister_assassination = 0
smear_campaign = 3
coup = 0
sabotage_industry = 2
nuclear_sabotage = 0
found_partisans = 0
massmedia = 1
disrupt_techteam = 2
country = CRO
}
}
###################################
# Construction and Tech Research
###################################
#Default values
construction = {
max_factor = 0.000
AA_batteries = no
max_AA_level = 5
AA_provs = {
355 # Sarajevo
338 # Belgrade
}
coastal_fort = no
max_coastal_level = 2
coastal_fort_provs = { }
radar_station = no
max_radar = 5
radar_provs = { }
air_base = no
max_air_base = 2
air_base_provs = { }
naval_base = no
max_naval_base = 2
naval_base_provs = { }
land_fort = no
max_land_level = 2
fort_borders = { }
ic_at_war = no
force_ic_until = 1935
ic_end_year = 1935
IC_provs = {
355 # Sarajevo
338 # Belgrade
}
}
military = {
relative_build_scheme = no
max_batch_peace = 680
max_batch_war = 320
max_batch_home_front = 180
extra_convoys_war = 0.000
extra_convoys_peace = 0.000
#### Divisions etc...
infantry = 50
cavalry = 0
motorized = 0
mechanized = 0
light_armor = 0
armor = 0
paratrooper = 0
marine = 0
bergsjaeger = 28
garrison = 0
hq = 0
militia = 0
# 78 %
interceptor = 10
multi_role = 0
cas = 7
strategic_bomber = 0
tactical_bomber = 5
naval_bomber = 0
transport_plane = 0
flying_bomb = 0
flying_rocket = 0
# 22 %
battleship = 0
carrier = 0
escort_carrier = 0
destroyer = 0
light_cruiser = 0
heavy_cruiser = 0
battlecruiser = 0
submarine = 0
nuclear_submarine = 0
transports = 0
# 0 %
#### Brigades
artillery = 45
sp_artillery = 0
rocket_artillery = 0
sp_rct_artillery = 0
anti_tank = 0
tank_destroyer = 0
light_armor_brigade = 0
heavy_armor = 0
super_heavy_armor = 0
armored_car = 0
anti_air = 0
police = 0
engineer = 0
cag = 100.000
escort = 100.0000
naval_asw = 20.0000
naval_anti_air_s = 20.0000
naval_radar_s = 20.0000
naval_fire_controll_s = 20.0000
naval_improved_hull_s = 10.0000
naval_torpedoes_s = 10.0000
naval_anti_air_l = 0.0000
naval_radar_l = 0.0000
naval_fire_controll_l = 0.0000
naval_improved_hull_l = 0.0000
naval_torpedoes_l = 0.0000
}
technology = {
endgoal = { }
preference = {
# Tools
5810 5820 5050 5830 5060 5070 5130 5110 5120 5840 5850 5860
# Engineering
5800 5080 5090 5100 5900 5910
#Assembly lines
5140 5180
#Infantry
1010 1020 1030 1040 1050 1060 1070 1080 1090 1100 1110 1120 1130 1140 1150 13000 13010 13020
# Mountain Unit techs
1160 1170 1180 1190 1200 1210 1220 1230 1240 1250 1260 1270 1280 1290 1300 13030 13040 13050
# Air Doctrines
9040 9050 9060 9080 9100 9130 9140 9190 9200 9210 9220 9230 9240 9250 9260 9270 9280 9290 9300 9310 9320 9330 9340 9350 9360 9370 9380 9390 9400 9410 9420
# CAS
4400 4170 4280 4450 4180 15120 15130
}
ignore = {
#EQUIPMENT Winter / Jungle / Desert / Sturdy
5920 5930 5940 5950 5960 5970 5980 5990
#Assembly lines
5150 5160 5170
# Airborne
1670 1680 1690 1700 1710 1720 1730 1740
# Motorized
1396 1400 1410 1420 1430 1440 1450 1460
# Marines
1560 1570 1580 1590 1600 1610 1620 1630 1640 1650 1660
# Cavalry
13060 13070 13080 1310 1320 1330 1340 1350 1360 1370 1380 1390
# Mechanized
1470 1480 1490 1510 1510 1520
# Air Transports
4290 4250 4260 4270 15180 15190
# Multirole Fighters
4040 4070 4100
# Naval Bomber
4700 4710 4190 4200 4210 15140 15150
# Strategic Bomber
4220 4230 4240
# Oil Refining
5190 5200 5210 5220 5230 5240
# Rocketry
5560 7550 7560 7570 7580 7590
# Atomic Research
5470 5480 5490 5500 5510 5520 5530 5540
# Bas Decimetric
5410 5420 5430 5440 5450 5460
# Light tanks
7600 7610 2010 2630 2640 2650 2030 2040 2050
# Medium tanks
2070 2080 2090 2140 11000 2660 11010 2670 2140 11000 2660 11010 2670
# Tank destroyers
2170 2180 2850 2190 2200 2210 11020
# SP guns
2220 2230 2240 2250 11030 11040 2960
# SP Rocket Artillery
2980 2260 2270 2280 11050 11060 2990
# Static Anti-Air
2800 2450 2460 2470 2480 2490 2500 11080
# Anti Air Brigade
2810 2820 2510 2520 2530 2540 11090
# Rocket Artillery
2370 2380 2390
# Armoured Cars
2860 2870 2880 2020 2150 2160 2890 11110
# Strategic Air Doctrines 9140
9150 9160 9170 9180 9430 9440 9450 9460
}
armor = 3
infantry = 4
industry = 4
aircraft = 1
naval = 0
land_doctrines = 1
secret_weapons = 0
air_doctrines = 1
naval_doctrines = 0
}
###################################
# Ground Combat, Leaders and Garrisons
###################################
leader_ratio = {
land_field_marshal =0.02
land_general =0.031
land_lt_general =0.41
sea_grand_admiral =0.02
sea_admiral =0.061
sea_vice_admiral =0.401
air_marshal =0.02
air_general =0.091
air_lt_General =0.11
}
garrison = {
defend_overseas_beaches = yes
home_multiplier = 1.0
overseas_multiplier = 0.5
home_peace_cap = 20
war_zone_odds = 2.0
key_point_prio_mult = 0
revolt_risk_mult = 1.0
# PRIORITIES:
beach = 20 # Beach level 2
capital = 40 # Our capital
human_border = 0 # Ignored for allied human players
war_target = 50 # The next country targeted for attack by this AI
opposing_alliance = 50 # For neutrals, all alliances are "opposing"
claim_threat = 0 # If we are neutral, countries with claims on us get this
unstable_border = 0 # Bordering countries at war with someone else get this
# Borders with specific countries
country_priorities = {
GER = 50
ITA = 10
ROM = 10
BUL = 10
U29 = 40
U13 = 30
SOV = 100
POL = 20
OTT = 100
CRO = 5
GRE = -1
}
province_priorities = { }
area_multiplier = { }
}
front = {
recklessness = 1 # 0-3
distrib_vs_ai = even
distrib_vs_human = even
enemy_reinf_days = 6
reserve_prop = 0.1
panic_ratio_vs_ai = 2.5
panic_ratio_vs_human = 2.5
base_attack_odds = 1.3
min_attack_odds = 1.1
max_attack_odds = 3.0
reinforce_odds = 1.2
withdraw_odds = 0.6
strength = 1.0
organisation = 1.0
soft_attack = 1.0
hard_attack = 1.0
ground_defense = 1.0
dig_in = 1.0 # Against defender
frozen_attack = 1.0
snow_attack = 1.0
blizzard_attack = 1.0
storm_attack = 1.0
muddy_attack = 1.0
occupied = 0.7
owned = 0.7
jungle_attack = 1.0
mountain_attack = 1.0
swamp_attack = 1.0
forest_attack = 1.0
hill_attack = 1.0
urban_attack = 1.0
river = 1.0
enemy_handicap = { }
passivity = { }
}
###################################
# Air bombardment and defense
###################################
# 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.8
icxdayscostfactor = 10.0 # How to value true industrial cost when calculating expect causalties
manpowercostfactor = 100.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 = 30.0
groundattackdesirability = 40.0
inderdictiondesirability = 20.0
logisticalstrikedesirability = 2.0
runwaycrateringdesirability = 10.0
strategicstrikedesirability = 10.0
installationstrikedesirability = 5.0
navalstrikedesirability = 15.0
portstrikedesirability = 9.0
convoyraiddesirability = 9.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.0
groundattacklosstolerance = 1.0
interdictionlosstolerance = 2.0
logisticalstrikelosstolerance = 0.5
runwaycrateringlosstolerance = 1.5
strategicstriketolerance = 4.5
installationstriketolerance = 1.5
navalstriketolerance = 1.0
portstriketolerance = 1.0
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.400 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.100 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.100 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 }
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.100 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 }
}
###################################
# Invasions and Naval
###################################
invasion = {
base = 0.1 #Relative modifier. (lower = specific targets much more important.)
random = 8.0 #How big a random range. (1.0 = 1%)
coastal = 0.1 #increase to avoid coastal forts more.
beach = 0.1 #higher, avoid worst beaches.
distance = 20.0 #higher = avoid long distance.
pocket = 20.0 #prioritise pockets, ie provinces with no adjacent controlled by same.
island = 0.1 #prioritise taking pure islands.
enemy = 2.0 #higher = much more vary of troops in province.
adjacentenemy = 2.0 #higher = much more vary of troops nearby
air_base = 1.5
naval_base = 0.1
air_support = 3.0
redirect = nearest
ignore = no
target = {
}
}
admiral = {
min_org = 100 # NEW: Percent of org gained back before the unit can leave port
min_dmg = 98 # NEW: Percent of dmg gained back before the unit can leave port
return_org = 60 # NEW: PERCENT OF ORG LOST BEFORE RETURNING TO PORT applies to all fleets/ships
return_dmg = 80 # NEW: PERCENT OF DMG LOST BEFORE RETURNING TO PORT for repairs applies to all fleets/ships
base = {
332
}
ignore = {
#Baltic Area
"Northern Baltic"
"Southern Baltic"
"Bothnian Bay"
#Murmansk/Archangel
"Barents Sea"
"Arctic Ocean"
#Norway Coast (Denmark Coast)
"Norwegian Sea"
"East North Sea"
"Kattegat"
#North Sea, East Coast of England
"Central Northsea"
"West Northsea"
"Southeast Northsea"
#England/France border Sea Areas
"English Channel"
"Bay of Biscay"
"Cape Finisterre"
#Spanish Coast (Atlantic Side)
"Portugese Coast"
"Cap St Vincent"
#Iceland
"Faroes Gap"
"Denmark Strait"
#Ireland/West Coast of England
"Irish Sea"
"The Hebreides"
"Irish West Coast"
#Greenland
"Greenland Coast"
"Northern Sea of Labrador"
"Southern Sea of Labrador"
#Canada East Coast
"Hudson Bay"
"Grand Banks"
"Canadian Maritimes"
#Western Mediterranean
"Costa del Sol"
"Gulf of Lyon"
"Algerian Coast"
#Eastern Mediterranean
"Black Sea"
"Aegean Sea"
"Egyptian Coast"
#North Atlantic
"North Atlantic"
"Western Approaches"
"The Seamounts"
"Azores"
#Central Atlantic
"Central Atlantic"
"Central Mid-Atlantic Ridge"
"Bermuda Triangle"
"Guiana Basin"
"South-Central Mid-Atlantic Ridge"
"Cap Verde"
#South Atlantic
"Pernambuco Plain"
"Ascension Fracture Zone"
"Argentine Plain"
"Angola Plain"
#Caribbean Sea and Guilf of Mexico
"West Gulf of Mexico"
"East Gulf of Mexico"
"Florida Strait"
"Yucatan Strait"
"Windward Islands"
"Central Carribean"
#Brazil and Argentina Coast
"Coast of Guyana"
"Coast of Recife"
"Coast of Uruguay"
"Coast of Brazil"
"Coast of Argentina"
# West Africa
"Coast of Africa"
"Coast of Bissao"
#Equitorial Africa
"Gulf of Guinea"
"Coast of Angola-Namibia"
#South Africa
"Coast of South Africa"
"Atlantic-Indian Ridge"
#East Africa
"Red Sea"
"Horn of Africa"
#Madagascar Coast
"South Mozambique Channel"
"North Mozambique Channel"
"Northeast Coast of Madagascar"
"Southeast Coast of Madagascar"
#North Indian Ocean (Persian Gulf)
"Persian Gulf"
"North Arabian Sea"
"South Arabian Sea"
"Coast of Ceylon"
#Central/South Indian Ocean
"Mascarene Plateau"
"Mid-Indian Ridge"
"Ninetyeast Ridge"
"Southeast Indian Ocean"
"Southwest Indian Ocean"
#Bay of Bengal & West Indonesia
"East Bay of Bengal"
"West Bay of Bengal"
"Malacca Strait"
"Java Ridge"
"Java Trench"
#Indo-China, Borneo, Phillipenes
"Gulf of Siam"
"Coast of Indochina"
"Spratly Sea"
"Coast of Brunei"
"Flores Sea"
"Sulu Sea"
"Celebes Sea"
"Luzon Strait"
#China Coast
"Taiwan Strait"
"Yellow Sea"
#Japanese Coast
"Sea of Japan"
"Ryukyus"
"Coast of Japan"
"South Sea of Okhotsk"
"West Sea of Okhotsk"
"East Sea of Okhotsk"
#Mariana Basin, Phillipenes
"Philipine Trench"
"Central Philippine Sea"
"Mariana Trench"
"East Mariana Basin"
"Mid-Pacific Mountains"
"North Bismarck Sea"
#New Guinea, East/North Australia and New Zealan
"Coast of New Guinea"
"Molucca Sea"
"Banda Sea"
"Arafura Sea"
"South Bismarck Sea"
"Solomon Sea"
"West Coral Sea"
"East Coral Sea"
"North Tasman Sea"
"South Tasman Sea"
"East Cost of New Zealand"
# South and West Australia
"Timor Sea"
"West Coast of Australia"
"East Great Australian Bight"
"West Great Australian Bight"
#North Pacific
"Coast of Kamchatka"
"East Bering Sea"
"West Bering Sea"
"Aleutians"
"Northwest Pacific Basin"
"North Northeast Pacific Basin"
#Central Pacific
"Hawaiian Rise"
"North East Pacific Ocean"
"Marshalls Sea"
"South East Pacific Ocean"
"Marianas"
"Western Solomons"
"Eastern Solomons"
"US Maritimes"
"Carolines"
#South Pacific
"Gilberts"
"Line Islands"
"Fiji Basin"
"Southwest Pacific Basin"
# South American West Coast
"Southeast Pacific Basin"
"West Coast of Chile"
"West Coast of Peru"
"South Southeast Pacific Ocean"
"North Southeast Pacific Ocean"
# USA West Coast
"Gulf of Alaska"
"West Coast of the United States"
#West Coast of Mexico
"West Coast of Mexico"
"West Coast of Central America"
}
target = {
2737 = 150
2739 = 150
}
core = {
2736
}
}
Last edited: