• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

DanubianCossak

DaputinCozzak Specyal Snowflake
34 Badges
Nov 16, 2009
12.411
3.645
  • Crusader Kings II
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Res Publica
  • Heir to the Throne
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Cities in Motion
  • Divine Wind
  • Europa Universalis III Complete
  • Darkest Hour
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Rights of Man
  • Age of Wonders III
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV: Dharma
  • Europa Universalis IV: Golden Century
  • Hearts of Iron IV: Field Marshal
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV Sign-up
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Europa Universalis IV
Loaded up a game in my mod to check up on world powers, and was amazed to see this: (note the year, amount of manpower, 0 upgrades and needed reinforcements - all that available IC and 0 production)



Could someone please take a look at the relevant FRA 36' AI

Code:
# France 1936 AI File by Lothos

switch = no # [yes/no]
flags = { FRABuildStandard = yes }
max_front_ratio = 1.0
max_front_ratios = { 
	GER = 2.0
	ITA = 0.1 # 0.4
	SPA = 0.6
}
max_garrison_prop = 0.30
min_garrison_prop = 0.20
neutrality = 80.000 
war = 1
upgrading = 1.0 # 0.10
reinforcement = 0.0 # 0.10
strat_redeploy_threshold = 50
max_redeploying = 0.05
exp_force_ratio = 0.0 # 0.50
exp_force_ratios = { } 
no_exp_forces_to = { ENG CAN AST NZL SAF NEP BHU NOR POL DEN CZE }

###################################
# Diplomacy
###################################
combat = { }

claim_acceptance = -49

liberate = { BEL HOL LUX DEN NOR POL YUG SPR POR SCH ITA ENG ROM BUL HUN CZE GRE FIN TUR }

befriend = {
	USA = 50
	BEL = 70
	HOL = 70
	SPR = 40 
	POL = 250
	AUS = 30
	CZE = 250
	TUR = 10 
	IRQ = 20
	PER = 20
	POR = 20
	CHI = 20
}
protect = {
	ENG = 150
	CAN = 150
	AST = 150
	NZL = 150
	BEL = 150
	HOL = 150
	SPR = 20
	POL = 120 
	CZE = 10
	TUR = 50 
	IRQ = 10
	PER = 10
	POR = 10
	CHI = 10
}
target = { } 
trade = {
	cancel_deal_threshold = 2

	energy 		= -1
	rare_materials 	= -1
	metal 		= -1
	oil 		= -1
	supplies 	= -1
	money 		= -1

	favored = {
		ENG = 100
		CAN = 100
		AST = 100
		NZL = 100
		USA = 100
		U03 = 100
		BEL = 90
		HOL = 90
		SPR = 30
		POL = 20 
		CZE = 20
		TUR = 10
		IRQ = 100
		PER = 100
		POR = 10
		CHI = 10
	}
	embargo = { }
}
tech_sharing = {
	favored = {
		ENG = 100
		CAN = 100
		AST = 100
		NZL = 100
		USA = 100
		BEL = 90
		HOL = 90
		SPR = 30
		POL = 20 
		CZE = 20
		TUR = 10
		IRQ = 100
		PER = 100
		POR = 10
		CHI = 10
	}
	embargo = { }
	not = { }
	prioritized = {
		# Agriculture
		5700 = 100
		5710 = 100
		5020 = 100
		5030 = 100
		5040 = 100

		# Production
		5810 = 100
		5820 = 100
		5050 = 100
		5830 = 100
		5060 = 100
		5070 = 100
		5110 = 100
		5120 = 100
		5130 = 100
		5180 = 100


		# Inf support
		1310 = 100
		1320 = 100
		1330 = 100
		1340 = 100
		1350 = 100
		1360 = 100

		# Mountain Unit techs
		1110 = 100
		1120 = 100
		1130 = 100
		1140 = 100

		# Motorized
		1230 = 100
		1240 = 100
		1250 = 100
	}
}
###################################
# Spying
###################################
spyprefs =
{
	percentage_on_spies 		= 0.2
	percentage_foreign_mission 	= 0.8

	# Used for Intell efficiency and for setting minimum chance to succeed for the AI to do that particular type of mission
	spyprefsdata = 
	{
		NumberOfSpies = 20
		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 = FRA
	}
	spyprefsdata = {
		country_priorities	= 10
		steal_blueprint 	= 10
		minister_assassination          = 1
		smear_campaign 		= 4
		coup 				= 0
		sabotage_industry 	= 6
		nuclear_sabotage 	= 0
		found_partisans		= 2
		massmedia 			= 1
		disrupt_techteam 	= 5
		country 			= GER
	}
	spyprefsdata = {
		country_priorities	= 8
		steal_blueprint 	= 4 # 10
		minister_assassination          = 1
		smear_campaign 		= 4
		coup 				= 1
		sabotage_industry 	= 8 # 6
		nuclear_sabotage 	= 0
		found_partisans		= 1
		massmedia 			= 1
		disrupt_techteam 	= 6 # 5
		country 			= ITA
	}
	spyprefsdata = {
		country_priorities	= 5
		steal_blueprint 	= 1
		minister_assassination 		= 1
		smear_campaign 		= 3
		coup 				= 1
		sabotage_industry 	= 5
		nuclear_sabotage 	= 0
		found_partisans		= 1
		massmedia 			= 1
		disrupt_techteam 	= 5
		country 			= SPA
	}
	spyprefsdata = {
		country_priorities	= 3
		steal_blueprint 	= 10
		minister_assassination          = 1
		smear_campaign 		= 3
		coup 				= 0
		sabotage_industry 	= 5
		nuclear_sabotage 	= 0
		found_partisans		= 2
		massmedia 			= 2
		disrupt_techteam 	= 5
		country 			= JAP
	}
	spyprefsdata = {
		country_priorities	= 2 # 3
		steal_blueprint 	= 10
		minister_assassination          = 1
		smear_campaign 		= 3
		coup 				= 0
		sabotage_industry 	= 5
		nuclear_sabotage 	= 0
		found_partisans		= 2
		massmedia 			= 2
		disrupt_techteam 	= 5
		country 			= SOV
	}
}
###################################
# Construction and Tech Research
###################################
#Default values
construction = { 
	max_factor = 0.025 

	AA_batteries = no
	max_AA_level = 4
	AA_provs = { 
		52  # Lille
		89  # Marsielle
		55  # Paris
		57  # Nantes
		68 # Bordeaux
		77 # Toulouse
		86 # Toulon
		66 # Orleans
	} 
	coastal_fort = no
	max_coastal_level = 3
	coastal_fort_provs = { } 

	radar_station = no 
	max_radar = 5 
	radar_provs = { } 

	air_base = no
	max_air_base = 4
	air_base_provs = {
		95  # Chaumont 
		1016 # Damascus
		99   # Reims
	} 

	naval_base = no 
	max_naval_base = 5 
	naval_base_provs = { } 

	land_fort = no
	max_land_level = 10
	fort_borders = { } 

	ic_at_war = no 
	force_ic_until = 1935
	ic_end_year = 1935
	IC_provs = {
		52  # Lille
		57  # Nantes
		55  # Paris
		68 # Bordeaux
		77 # Toulouse
		89 # Marseille
		66 # Orleans
	} 
}

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 		= 1
	cavalry 		= 1
	motorized 		= 1
	mechanized 		= 0
	light_armor 	= 0
	armor 			= 1
	paratrooper 	= 0
	marine 			= 0
	bergsjaeger 	= 1
	garrison		= 0
    hq 				= 1
	militia 		= 0
#				60 %
	interceptor 	= 1
	multi_role 		= 0
	cas 			= 1
	strategic_bomber = 0
	tactical_bomber = 1
	naval_bomber 	= 0
	transport_plane = 0
	flying_bomb 	= 0
	flying_rocket 	= 0
#				20 %
	battleship 		= 11
	carrier 		= 4
	escort_carrier	= 0
	destroyer 		= 1
	light_cruiser 	= 1
	heavy_cruiser 	= 1
	battlecruiser 	= 0
	submarine 		= 0
	nuclear_submarine = 0
	transports 		= 2
#				20 %

	#### Brigades
	artillery 		= 47
	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 		= 6
#				53

            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 5840 5850 5860

		# Engineering
		5800 5080 5090 5100 5900 5910

		#Asembly lines
		5140 5150 5160 5180
		
		# Computers
		5310 54010 54020 54030 5320 5330 5340
		
		# MEDICINE
		5600 5610 5620 5630 5640 5650 5660 5670

		# Electronic Computers
		7140 7150 7160 16000 16040

		#Infantry
		1010 1020 1030 1040 1050 1060 1070 1080 1090 1100 1110 1120 1130 1140 1150 13000 13010 13020

		# Naval Doctrines
		8120 8310 8160

		# Land Doctrines
		6130 6140 14070 6150 6900
		
		# Engagement Tactics - Fleet-in-Being colum
		8900 8910 8920 8930 8940 8950 8960 8970 8980 81050 81060 81070 81080 81090 81100 81110 81120

		# Air Doctrines
		9050 9060 9080 9090 9130 9190 9240 9250 9270 9280 9300 9310 9320 9350 9360 9390 9400 9420 

		# CAS
		4400 4170 4280 4450 4180 15120 15130 
	} 
	ignore 	= {
		#EQUIPMENT Winter / Jungle / Desert
		5920 5930 5940 5950 5960 5970
		
		# Super Heavy BB
		3310

		# Rocket Assembly
		5170

		# Airborne
		1670 1680 1690 1700 1710 1720 1730 1740

		# Marines
		1560 1570 1580 1590 1600 1610 1620 1630 1640 1650 1660

		# Mechanized
		1470 1480 1490 1510 1510 1520

		# Cavalry
		13060 13070 13080 1310 1320 1330 1340 1350 1360 1370 1380 1390

		# Oil Refining
		5190 5200 5210 5220 5230 5240
		
		# Atomic Research
		5470 5480 5490 5500 5510 5520 5530 5540

		# Test and Research
		5560 7550 7560 7570 7580 7590

		# Bas Decimetric
		5410 5420 5430 5440 5450 5460

		# Air Transports
		4290 4250 4260 4270 15180 15190

		# Naval Bomber
		4700 4710 4190 4200 4210 15140 15150

		# Strategic bombers
		4220 4230 4240

		# Multirole Fighters
		4040 4070 4100
		
		# Carrier Air groups
		4900 4910 4920 4930 4940 4950 4960 

		# Heavy Tanks and Semi-Modern Tank
		2620 2100 2110 2680 2120

		# SP guns
		2220 2230 2240 2250 11030 11040 2960

		# SP Rocket Artillery
		2980 2260 2270 2280 11050 11060 2990 

		# Battle Cruiser
		3310 3320 3330 3340 3350 12030

		# Carrier
		3510 3520 3530 3540 3550 12060 3560 3570

		# Light Carrier
		12100 12110 12120 12130 12140 12150

		# Tank destroyers
		2170 2180 2850 2190 2200 2210 11020
		
		# Static Anti-Air
		2800 2450 2460 2470 2480 2490 2500 11080
		
		# Armoured Cars
		2860 2870 2880 2020 2150 2160 2890 11110

		# Submarines
		3400 3410 3420 3430 3440 3450

		# Trade Interdiction Submarine
		8600 8610 8620 8630 8640 8650 8660 8700 8710 8720 8730 8740 8750
		
		# Strategic Air Doctrines 9140
		9150 9160 9170 9180 9430 9440 9450 9460
	}
 
	armor 			= 3
	infantry 		= 5
	industry 		= 4
	aircraft 		= 2
	naval 			= 4
	land_doctrines 	= 2
	secret_weapons 	= 0
	air_doctrines 	= 4
	naval_doctrines = 4
}
###################################
# 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 = no
	home_multiplier 		= 8.0
	overseas_multiplier 	= 0.0
	home_peace_cap 			= 150
	war_zone_odds 			= 2.0
	key_point_prio_mult		= 0.3
	revolt_risk_mult		= 0.3

	# PRIORITIES:
	beach			= 5 # 10	# Beach level 2
	capital			= 80 # 50	# Our capital
	human_border	= 0		# Ignored for allied human players
	war_target		= 20 # 50	# The next country targeted for attack by this AI
	
	opposing_alliance	= 20	# 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 = {
		BEL = 130
		LUX = 110
		GER = 120
		SPA = -1
		SPR = -1
     		#ITA = 1
		SCH = -1
		ENG = -1
		CAN = -1
		AST = -1
		NZL = -1
		CYN = -1
		CGX = -1
	}
	ignore = {
		#Actual Beaches to Ignore
		930 # Port Harcourt
		951 # Porto Novo
		950 # Lome
		966  # Conakry
		1001 # Madagaskar
		1002 # Madagaskar
		996 # Reunion
		833 # Djihouti
		1395 # Indo China
		1396 # Indo China
		1397 # Indo China
		
		49  # Calais
		50  # Dieppe
		45  # Le Havre
		44  # Caen
		38  # Rennes
		37  # Brest
		39  # Lorient
		57  # Nantes
		68  # Bordeaux
		67 # Mont-de-Marzan
		79 # Beziers
		80 # Perpignan
		82 # Montpellier
		89 # Marseille
		86 # Toulon
		724 # Oujda

		#Libya
		773   #Al Jaghbun
		754   #Aujila
		774  #Calanslo
		751   #Ghadames
		755   #Sorno
		
		#Egypt/East Africa
		800  #Siwa
		789   #Qattara
		801  #AinDalla
		806  #El Atiun
		808  #El Obeid
		809  #Waw
		807  #Malakal
		805  #Omdurman
		833  #Djibouti
		812  #Gallabal
		811  #Kassala
		843  #Marsabit

		#Ethiopia
		817  #Asmara
		819  #Adwa
		822  #Gonder
		820  #Debre
		829  #Gambela
		830  #Jima
		826  #Moyale
		821  #Denakil
		823  #Dese
		818  #Diredawa
		827  #Ogaden
		837  #Bardera

		#Belgian Congo
		904  #Stanleyville
		903  #Buta
		905  #Costermanville
		906  #Coquihatville
		898  #Abertville
		902  #Kindu-Port-Empain
		901  #Leopoldville
		908 926 919 923 917 907 # Border with Belgian Congo

		#Libya Border
		741 # Gabes
		740 # Gafsa
		946 #Agadez (wtf)
		922 738 746
		
		# south america
		2000 #cayenne
	}
	province_priorities = {
		# Belguim border
		51 = 100    # Dunkerque
		52 = 100    # Lille
		96 = 100 # Londwy
		103 = 100  # Hirson
		102 = 100  # Sedan

		# Maginot
		104 = 50  # Metz
		107 = 50  # Strasbourg
		105 = 50 # Colmar

		# Italy border
		90 = 30 # Grenoble
		87 = 30 # Nice
		91 = 30# Chambery

		116 = 20 # Brussels
		112 = 20 # Mons
		
		# Africa
		#747 = 1 # Tunis
		#727 = 2 # Algiers
		#729 = 2 # Oran
		#717 = 2 # Rabat
		#978 = 2 # Dakar
		
		# Middle East
		1019 = 2 # Beirut
		
		# Asia
		1395 = 10 # Hanoi
		1399 = 10 # Saigon
	}
	area_multiplier = {
		# Africa
		#747 = 0.20 # Tunis
		#727 = 0.20 # Algiers
		#978 = 0.10 # Dakar
		
		# Middle East
		1019 = 0.10 # Beirut
		
		# Asia
		1395 = 0.3 # Hanoi
		1399 = 0.3 # Saigon
	}
}
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.3
	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 = {
		GER = 300
	} 
    passivity = {
		GER = 100
	} 
} 
###################################
# 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 		= 50.0 # 30.0
	groundattackdesirability 		= 40.0
	inderdictiondesirability 		= 20.0
	logisticalstrikedesirability 	= 2.0
	runwaycrateringdesirability 	= 1.0 # 10.0
	strategicstrikedesirability 	= 10.0
	installationstrikedesirability 	= 1.0 # 5.0
	navalstrikedesirability 		= 15.0
	portstrikedesirability 			= 20.0 # 9.0
	convoyraiddesirability			= 0.5 # 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	= 0.1	#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 	= priority
	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

	ignore = {
		"Southeast Northsea"
		"kattegat"
		"Bothnian Bay"
		"northern baltic"
		"southern baltic"
		"Southeast Northsea"
		"East North Sea"
		"Norwegian Sea"
	}
	#Which provinces to use as bases..
	base = {
		37 # Brest
		86 # Toulon
		728 # Oran
	}
	target = { } 
	core = {
     	2698 
     	2699 
     	2701  
     	2702  
     	2703  
		2188 
	} 
}

Have i missed something?
 
Yes. Everything have a pretty good explanation.

The AI does not produce units because it probably had enough already, based on this settings in misc.txt:

Code:
# Do not start producing any new units when more then THIS percentage of the total IC is needed to supply existing units (0.0 to 1.0; 1.0 = 100%, disabled). Enabling this will encourage AI to build more IC when this ratio is exceeded.
	0.25 #1.0

As you can see in the setting above, the AI will halt new units production if estimated supply consumption is 25% or more of the available IC. The reason we use such modifier is to prevent AI building only units until it consume all MP or IC and encourage it to reinforce and upgrade its army instead.

Other settings that you could be interested of a re these (not used in DH full):

Code:
# Military Strength to Total IC ratio during Peacetime for AI countries (do not build new units if above this ratio). Use -1.0 to disable this.
	-1.0 #-1.0 
# Military Strength to Total IC ratio during Wartime for AI countries (do not build new units if above this ratio). Use -1.0 to disable this.
	-1.0 #-1.0
# Military Strength to Total IC ratio for AI major countries (multiplied on the other).
	1.0 #1.0

The country do not produce province improvements because it is forbidden to in the AI file:

Code:
AA_batteries = no
coastal_fort = no
radar_station = no 
air_base = no
naval_base = no 
land_fort = no
ic_at_war = no

And is not reinforcing at all, because it is told to not do so (very bad idea to do that to an AI):
Code:
reinforcement = 0.0 # 0.10

From the other hand it is allowed to use all available IC to upgrades when that is needed (and that is a good thing):
Code:
upgrading = 1.0 # 0.10

So the AI has all its unit upgraded to the latest models, cannot produce more units as it has reached the set in misc.txt threshold, cannot produce any province buildings because it is forbid to do so (AI file) and cannot reinforce as this is forbidden too (AI files). At the end it has only 2 things that can do with its IC - produce supplies and CG. As supplies has a max stockpile level (as any other resource type in DH) the AI will overproduce them with priority (if there is no dissent to fight with) over th CG until that level is reached. Then it will switch to CG production (and back to supplies when get below the max stockpile for those) and this explains the huge amount of supplies and money this AI has.
 
Ha brilliant! Thx for that Martin ure awesome :)

This will greatly improve my mod efforts :D

While im at it, another thing that ive always wondered about. Would this:

Code:
reinforcement = 1.0 # 0.10

Make AI assign a constant 100% of its IC to reinforce (regardless of much it actually needs), or is it assigned based on need, in relations to CG demand and stuff. What i want to do, is make AI react to STR losses immediately with 100% capacity (as long as it can do so), but at the same time, i dont want to ruin them if it will cause it to ignore all other aspects of production/IC allocation.

Sorry but now you got me going (feel free to ignore this :D )

Code:
	defend_overseas_beaches = no
	home_multiplier 		= 8.0
	overseas_multiplier 	= 0.0

These lines:

First one, defend_overseas_beaches, does this have ANY effect on AI building scheme, cuz i always suspected it did in HoI2, as it always felt like AI was overproducing infantry units (even when told not to at all) so i always thought it was trying to meet needs to cover all beaches. (good thing is, this doesnt seem to be the case in DH YEY!!!!!)

Second line and third line, in relation to each other, they kind of confuse me: if total amount of land units is 100%, then, shouldnt sum of these 2 values be 100% as well, so for example, if the first one is 80, and the second one is 20, that would cause AI to keep 80% of its troops at home, and use 20% for invasions, or is there another logic behind this? This is very important for me for when i start modifying sea invasion parts of AI switches. I really wanna make AI do good job.

And last, but not least:

Code:
	enemy_reinf_days	= 6
	reserve_prop		= 0.1

	base_attack_odds	= 1.3
	min_attack_odds		= 1.1
	max_attack_odds		= 3.0
	reinforce_odds		= 1.3
	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

I would greatly appreciate if you could write a few words on any of these lines (whenever you have free time), because even though i have read the basic AI file (containing some explanations) these lines still confuse me. This one in particular "reserve_prop = 0.1", if im reading this right, this should tell the AI how much % (in this case 10) to allocate from front duties to "reserve", meaning staying few provinces behind? If thats it, then this should be a lot higher, specially for SOV etc, cuz it would make mass scale encirclements almost impossible (yesterday in Bessarabia i managed to encircle and destroy over 60 SOV divisions, needless to say it was all over for Josif after that).

The second block of values i understand (i think so at least), but i wonder what effects would AI get if this "base_attack_odds = 1.3" for example, was set to 0.3 - would it make it attack like insane without too much care for losses?

And the last block of values i dont get at all. So any insight on this is more than welcome.

Thx in advance! :D
 
I'll answer only on the reinforce thing and leave the rest for Fernando Torres as he is the mastermind behind garrison/combat AI settings in Darkest Hour :)

So reinforcement = X.X modifier sets the MAX percentage of the available IC that the AI can allocate to reinforcements. If you set it to 1.00 it could use up to 100% of its IC on reinforcements.

Here is how it works (in this order, but it can never reach the end if there is no IC left after any of the steps):
1. Required IC (%) is given to CG (to ensure no dissent increase)
2. Check supply needs and stockpiles and make sure it produces enough
3. Check if there is any dissent that should be fought and gives a bit more IC to CG
4. Check reinforcement AI setting and if there are units needing reinforcements. If so it sets IC to reinforcements that cannot be more then the one set in AI files or more then the needed (this answers your question directly)
5. Check upgrades AI setting and if there are units that can upgrade. If so it sets IC to upgrades, but again no more then the total IC needed for upgrades or the % of the IC that is allowed to be used on upgrades.
6. Check if there is something in the production queue and if so sets the required IC to it
7. Distribute the remaining IC between Supplies and CG depending on the needs (dissent, supplies stockpile)
 
The second block of values i understand (i think so at least), but i wonder what effects would AI get if this "base_attack_odds = 1.3" for example, was set to 0.3 - would it make it attack like insane without too much care for losses?

0.3 would mean it would attack as long as it has 3 units against 10.

I would greatly appreciate if you could write a few words on any of these lines (whenever you have free time), because even though i have read the basic AI file (containing some explanations) these lines still confuse me. This one in particular "reserve_prop = 0.1", if im reading this right, this should tell the AI how much % (in this case 10) to allocate from front duties to "reserve", meaning staying few provinces behind? If thats it, then this should be a lot higher, specially for SOV etc, cuz it would make mass scale encirclements almost impossible (yesterday in Bessarabia i managed to encircle and destroy over 60 SOV divisions, needless to say it was all over for Josif after that).

You understood it correctly.
I was using 0.2 for Soviet Union in WIF mod. If you are willing to run some tests, I would be glad to check if we can improve this in DH.


First one, defend_overseas_beaches, does this have ANY effect on AI building scheme, cuz i always suspected it did in HoI2, as it always felt like AI was overproducing infantry units (even when told not to at all) so i always thought it was trying to meet needs to cover all beaches. (good thing is, this doesnt seem to be the case in DH YEY!!!!!)

only affects garrison scheme, not production


Second line and third line, in relation to each other, they kind of confuse me: if total amount of land units is 100%, then, shouldnt sum of these 2 values be 100% as well, so for example, if the first one is 80, and the second one is 20, that would cause AI to keep 80% of its troops at home, and use 20% for invasions, or is there another logic behind this? This is very important for me for when i start modifying sea invasion parts of AI switches. I really wanna make AI do good job.

This is a modifier, not a proportion so it does not matter what the sum is.


As for France, would you have any suggestion to improve its production scheme? Right now they are set to upgrade all their units asap. But when this is done (around 1937), what should they do in your opinion? (build some forts?)
 
Thx for the info.

As for reinforcements proportion, i honestly think thats the main reason you have so many complaints about 1914. AI (i assume thats because people mostly play that scenario). 0.10% reserve proportion might make some sense in HoI2, where due to different production balance, for example, border provinces between Germany and SU in 41' can have between 20-40 divisions. 10% from that is 2-4 units, which isnt that much, but in DH vanilla youll be lucky if you can get 10 divisions per province ratio. 10% from that is way too low. So, due to changes in design philosophy i would strongly recommend at least a test run with most countries having reserve proportions set to as high as 50%. At first this might sound like too much, but in reality it isnt: battles are not static combat where 2 sides meet each other on border between 2 provinces and throw everything in, so whichever one wins that initial mega battle basically wins the war (since units will take massive STR damage in huge stacks battle). If res.prop. was 50%, it would mean MUCH less giant stack combat, and much more movement combat and defense in depth. I assume that this value is assigned to a certain number of provinces "behind" main front line. Well, since you have access to game engine, increase that number of provinces to something like 2-3 (province sizes are now also MUCH smaller than in HoI2, thus the distance is shorter, and some units are MUCH too fast, which makes encirclements made by human player unbareable by the AI - more you can get it to spread out, better chances it has to simulate defense in depth, i only wish i had access to core AI files :( ). You guys might also consider rewriting some AI files (mostly Russian/SOV) to assign by hand different values to some areas where troops should be concentrated even if front line is 10ish provinces away - one break through and a single panzer battalion can cut off massive amounts of slow trools.

While im at it, AI is not very good of protecting itself from being encircled: for example, if 10 divs stack is about to be surrounded (AI tends to make deep attacks with huge stacks, without keeping reserve behind to protect flanks, which allows me to move with a single division and encircle it like a fool), and that 10 divs stack makes a high proportion of AI army (say over 5%), i think it is worth a constant check of provinces surrounding it: so, even if AI makes a stupid mistake of assaulting in depth, without protecting flanks and rear, with this kind of importance/checks assigned to such a stack, it could be made aware that it is about to get encircled - and it can issue redeployment even a day, or even hours before those units are cut off and annihilated. I think this feature would be well worth any possible game speed slow down, as it would provide a huge additional challenge.

################################

When it comes to France, well youre a Frenchie yourself, why you asking me what France should build? xD

On a serious note, in my mod i have made some drastic design changes which include complete unit types rebalance: i set my France to build infantry (as main unit), cavalry as 1:2 infantry ratio (since my infantry is defense oriented unit, while cavalry is offense oriented unit), and armor (i think it has light armor right now since you guys changed armor techs to give Medium Tanks too late for my taste. which i changed from 39 to 37 for first ARM model, good thing this reminds me to make corrections :D). I also plan to add a few AI switches to adjust French production according to later on Africa context. I should just probably mention that i have somewhat increased French base IC (on map, resources too), reduced peace time and war time IC modifiers, so thats probably why it ran out of pre set tasks so fast in that screen shot (btw adding a production switch there might be a good idea in case they completed stuff faster than expected).
 
Last edited: