############################################################################################################
#	Expert AI mod - effects
############################################################################################################

# AI country's  military focus changes after the initial setup 

EAI_FOCUS_UPDATE_update = {

	if = { 
		limit = {
			date > 1936.2.1
			has_country_flag = EAI_military_focus_config_finished
		}

		EAI_FOCUS_UPDATE/LAND/update_focuses = yes
		EAI_FOCUS_UPDATE/AIR/update_focuses = yes
		EAI_FOCUS_UPDATE/NAVY/update_focuses = yes
	}
}

EAI_FOCUS_UPDATE/LAND/update_focuses = {

	EAI_FOCUS_UPDATE/LAND/land_doctrine = yes
	EAI_FOCUS_UPDATE/LAND/land_doctrine_path = yes

	EAI_FOCUS_UPDATE/LAND/infantry_design = yes
	EAI_FOCUS_UPDATE/LAND/infantry_width = yes

	EAI_FOCUS_UPDATE/LAND/armor_focus = yes
	EAI_FOCUS_UPDATE/LAND/armor_design = yes
	EAI_FOCUS_UPDATE/LAND/armor_width = yes

	EAI_FOCUS_UPDATE/LAND/attachment = yes

	EAI_FOCUS_UPDATE/LAND/spec_ops = yes

	EAI_FOCUS_UPDATE/LAND/motorized_design = yes

	EAI_FOCUS_UPDATE/LAND/antitank_design = yes
}

EAI_FOCUS_UPDATE/AIR/update_focuses = {

	EAI_FOCUS_UPDATE/AIR/fighter = yes
	EAI_FOCUS_UPDATE/AIR/heavy_fighter = yes

	EAI_FOCUS_UPDATE/AIR/ground_bomber = yes
	EAI_FOCUS_UPDATE/AIR/strategic_bomber = yes

	EAI_FOCUS_UPDATE/AIR/naval_bomber = yes
	EAI_FOCUS_UPDATE/AIR/maritime_patrol = yes
	
	EAI_FOCUS_UPDATE/AIR/air_doctrine = yes
}

EAI_FOCUS_UPDATE/NAVY/update_focuses = {

	EAI_FOCUS_UPDATE/NAVY/destroyer = yes
	EAI_FOCUS_UPDATE/NAVY/ASW_destroyer = yes

	EAI_FOCUS_UPDATE/NAVY/light_cruiser = yes
	EAI_FOCUS_UPDATE/NAVY/ASW_light_cruiser = yes

	EAI_FOCUS_UPDATE/NAVY/heavy_cruiser = yes
	EAI_FOCUS_UPDATE/NAVY/battlecruiser = yes
	EAI_FOCUS_UPDATE/NAVY/battleship = yes

	EAI_FOCUS_UPDATE/NAVY/carrier = yes

	EAI_FOCUS_UPDATE/NAVY/submarine = yes
	
	EAI_FOCUS_UPDATE/NAVY/mine_layer = yes
	EAI_FOCUS_UPDATE/NAVY/mine_sweeper = yes
	
	EAI_FOCUS_UPDATE/NAVY/naval_doctrine = yes
}

####################################################
### 	LAND
####################################################

### Doctrine

EAI_FOCUS_UPDATE/LAND/land_doctrine = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/LAND/land_doctrine_OVERRIDE } }

	}
}

EAI_FOCUS_UPDATE/LAND/land_doctrine_path = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/LAND/land_doctrine_path_OVERRIDE } }

	}
}

### Infantry

EAI_FOCUS_UPDATE/LAND/infantry_design = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/LAND/infantry_design_OVERRIDE } }

		##########################################
		###		EAI_A_INF_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/infantry_design = global.EAI_A_INF_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/infantry_design = FROM: [?EAI_FOCUS/LAND/infantry_design] TO global.EAI_A_INF_DESIGN" }

			set_variable = { EAI_FOCUS/LAND/infantry_design = global.EAI_A_INF_DESIGN }
		}

		##########################################
		###		EAI_B_INF_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/infantry_design = global.EAI_B_INF_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/infantry_design = FROM: [?EAI_FOCUS/LAND/infantry_design] TO global.EAI_B_INF_DESIGN" }

			set_variable = { EAI_FOCUS/LAND/infantry_design = global.EAI_B_INF_DESIGN }
		}

		##########################################
		###		EAI_C_INF_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/infantry_design = global.EAI_C_INF_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/infantry_design = FROM: [?EAI_FOCUS/LAND/infantry_design] TO global.EAI_C_INF_DESIGN" }

			set_variable = { EAI_FOCUS/LAND/infantry_design = global.EAI_C_INF_DESIGN }
		}
	}
}

EAI_FOCUS_UPDATE/LAND/infantry_width = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/LAND/infantry_width_OVERRIDE } }

		##########################################
		###		EAI_20W_INF_WIDTH
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/infantry_width = global.EAI_20W_INF_WIDTH } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/infantry_width = FROM: [?EAI_FOCUS/LAND/infantry_width] TO global.EAI_20W_INF_WIDTH" }

			set_variable = { EAI_FOCUS/LAND/infantry_width = global.EAI_20W_INF_WIDTH }
		}

		##########################################
		###		EAI_26W_INF_WIDTH
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/infantry_width = global.EAI_26W_INF_WIDTH } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/infantry_width = FROM: [?EAI_FOCUS/LAND/infantry_width] TO global.EAI_26W_INF_WIDTH" }

			set_variable = { EAI_FOCUS/LAND/infantry_width = global.EAI_26W_INF_WIDTH }
		}

		##########################################
		###		EAI_40W_INF_WIDTH
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/infantry_width = global.EAI_40W_INF_WIDTH } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/infantry_width = FROM: [?EAI_FOCUS/LAND/infantry_width] TO global.EAI_40W_INF_WIDTH" }

			set_variable = { EAI_FOCUS/LAND/infantry_width = global.EAI_40W_INF_WIDTH }
		}

		##########################################
		###		EAI_10W_INF_WIDTH
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/infantry_width = global.EAI_10W_INF_WIDTH } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/infantry_width = FROM: [?EAI_FOCUS/LAND/infantry_width] TO global.EAI_10W_INF_WIDTH" }

			set_variable = { EAI_FOCUS/LAND/infantry_width = global.EAI_10W_INF_WIDTH }
		}
	}
}

### Armor

EAI_FOCUS_UPDATE/LAND/armor_focus = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/LAND/armor_focus_OVERRIDE } }

		##########################################
		###		EAI_LARM_FOCUS
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/armor_focus = global.EAI_LARM_FOCUS } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/armor_focus = FROM: [?EAI_FOCUS/LAND/armor_focus] TO global.EAI_LARM_FOCUS" }

			set_variable = { EAI_FOCUS/LAND/armor_focus = global.EAI_LARM_FOCUS }
		}

		##########################################
		###		EAI_MARM_FOCUS
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/armor_focus = global.EAI_MARM_FOCUS } }

				### Trigger

				OR = {

					# Upgrade from light armor to medium armor
					AND = {
						NOT = { check_variable = { EAI_FOCUS/LAND/attachment = global.EAI_MARM_ATTACHMENT } }

						check_variable = { EAI_FOCUS/LAND/armor_focus = global.EAI_LARM_FOCUS }
						
						date > 1945.1.1
						
						num_of_military_factories > 50
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/armor_focus = FROM: [?EAI_FOCUS/LAND/armor_focus] TO global.EAI_MARM_FOCUS" }

			set_variable = { EAI_FOCUS/LAND/armor_focus = global.EAI_MARM_FOCUS }
		}

		##########################################
		###		EAI_HARM_FOCUS
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/armor_focus = global.EAI_HARM_FOCUS } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/armor_focus = FROM: [?EAI_FOCUS/LAND/armor_focus] TO global.EAI_HARM_FOCUS" }

			set_variable = { EAI_FOCUS/LAND/armor_focus = global.EAI_HARM_FOCUS }
		}

		##########################################
		###		EAI_AT_FOCUS
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/armor_focus = global.EAI_AT_FOCUS } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/armor_focus = FROM: [?EAI_FOCUS/LAND/armor_focus] TO global.EAI_AT_FOCUS" }

			set_variable = { EAI_FOCUS/LAND/armor_focus = global.EAI_AT_FOCUS }
		}

		##########################################
		###		EAI_MOT_FOCUS
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/armor_focus = global.EAI_MOT_FOCUS } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/armor_focus = FROM: [?EAI_FOCUS/LAND/armor_focus] TO global.EAI_MOT_FOCUS" }

			set_variable = { EAI_FOCUS/LAND/armor_focus = global.EAI_MOT_FOCUS }
		}
	}
}

EAI_FOCUS_UPDATE/LAND/armor_design = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/LAND/armor_design_OVERRIDE } }

		##########################################
		###		EAI_A_ARM_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/armor_design = global.EAI_A_ARM_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/armor_design = FROM: [?EAI_FOCUS/LAND/armor_design] TO global.EAI_A_ARM_DESIGN" }

			set_variable = { EAI_FOCUS/LAND/armor_design = global.EAI_A_ARM_DESIGN }
		}

		##########################################
		###		EAI_B_ARM_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/armor_design = global.EAI_B_ARM_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/armor_design = FROM: [?EAI_FOCUS/LAND/armor_design] TO global.EAI_B_ARM_DESIGN" }

			set_variable = { EAI_FOCUS/LAND/armor_design = global.EAI_B_ARM_DESIGN }
		}

		##########################################
		###		EAI_C_ARM_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/armor_design = global.EAI_C_ARM_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/armor_design = FROM: [?EAI_FOCUS/LAND/armor_design] TO global.EAI_C_ARM_DESIGN" }

			set_variable = { EAI_FOCUS/LAND/armor_design = global.EAI_C_ARM_DESIGN }
		}
	}
}

EAI_FOCUS_UPDATE/LAND/armor_width = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/LAND/armor_width_OVERRIDE } }

		##########################################
		###		EAI_40W_ARM_WIDTH
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/armor_width = global.EAI_40W_ARM_WIDTH } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/armor_width = FROM: [?EAI_FOCUS/LAND/armor_width] TO global.EAI_40W_ARM_WIDTH" }

			set_variable = { EAI_FOCUS/LAND/armor_width = global.EAI_40W_ARM_WIDTH }
		}

		##########################################
		###		EAI_26W_ARM_WIDTH
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/armor_width = global.EAI_26W_ARM_WIDTH } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/armor_width = FROM: [?EAI_FOCUS/LAND/armor_width] TO global.EAI_26W_ARM_WIDTH" }

			set_variable = { EAI_FOCUS/LAND/armor_width = global.EAI_26W_ARM_WIDTH }
		}

		##########################################
		###		EAI_20W_ARM_WIDTH
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/armor_width = global.EAI_20W_ARM_WIDTH } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/armor_width = FROM: [?EAI_FOCUS/LAND/armor_width] TO global.EAI_20W_ARM_WIDTH" }

			set_variable = { EAI_FOCUS/LAND/armor_width = global.EAI_20W_ARM_WIDTH }
		}
	}
}

### Misc

EAI_FOCUS_UPDATE/LAND/attachment = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/LAND/attachment_OVERRIDE } }

		##########################################
		###		EAI_MOT_ATTACHMENT
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/attachment = global.EAI_MOT_ATTACHMENT } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/attachment = FROM: [?EAI_FOCUS/LAND/attachment] TO global.EAI_MOT_ATTACHMENT" }

			set_variable = { EAI_FOCUS/LAND/attachment = global.EAI_MOT_ATTACHMENT }
		}

		##########################################
		###		EAI_HARM_ATTACHMENT
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/attachment = global.EAI_HARM_ATTACHMENT } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/attachment = FROM: [?EAI_FOCUS/LAND/attachment] TO global.EAI_HARM_ATTACHMENT" }

			set_variable = { EAI_FOCUS/LAND/attachment = global.EAI_HARM_ATTACHMENT }
		}

		##########################################
		###		EAI_MARM_ATTACHMENT
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/attachment = global.EAI_MARM_ATTACHMENT } }

				### Trigger

				OR = {

					# Upgrade from light armor to medium armor attachment
					AND = {
						NOT = { check_variable = { EAI_FOCUS/LAND/armor_focus = global.EAI_MARM_FOCUS } }

						check_variable = { EAI_FOCUS/LAND/attachment = global.EAI_LARM_ATTACHMENT }

						date > 1945.1.1

						num_of_military_factories > 50
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/attachment = FROM: [?EAI_FOCUS/LAND/attachment] TO global.EAI_MARM_ATTACHMENT" }

			set_variable = { EAI_FOCUS/LAND/attachment = global.EAI_MARM_ATTACHMENT }
		}

		##########################################
		###		EAI_LARM_ATTACHMENT
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/attachment = global.EAI_LARM_ATTACHMENT } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/attachment = FROM: [?EAI_FOCUS/LAND/attachment] TO global.EAI_LARM_ATTACHMENT" }

			set_variable = { EAI_FOCUS/LAND/attachment = global.EAI_LARM_ATTACHMENT }
		}

		##########################################
		###		EAI_NO_ATTACHMENT
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/attachment = global.EAI_NO_ATTACHMENT } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/attachment = FROM: [?EAI_FOCUS/LAND/attachment] TO global.EAI_NO_ATTACHMENT" }

			set_variable = { EAI_FOCUS/LAND/attachment = global.EAI_NO_ATTACHMENT }
		}
	}
}

EAI_FOCUS_UPDATE/LAND/spec_ops = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/LAND/spec_ops_OVERRIDE } }

		##########################################
		###		EAI_MAR_SPEC_OPS
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/spec_ops = global.EAI_MAR_SPEC_OPS } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/spec_ops = FROM: [?EAI_FOCUS/LAND/spec_ops] TO global.EAI_MAR_SPEC_OPS" }

			set_variable = { EAI_FOCUS/LAND/spec_ops = global.EAI_MAR_SPEC_OPS }
		}

		##########################################
		###		EAI_MNT_SPEC_OPS
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/spec_ops = global.EAI_MNT_SPEC_OPS } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/spec_ops = FROM: [?EAI_FOCUS/LAND/spec_ops] TO global.EAI_MNT_SPEC_OPS" }

			set_variable = { EAI_FOCUS/LAND/spec_ops = global.EAI_MNT_SPEC_OPS }
		}

		##########################################
		###		EAI_NO_SPEC_OPS
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/spec_ops = global.EAI_NO_SPEC_OPS } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/spec_ops = FROM: [?EAI_FOCUS/LAND/spec_ops] TO global.EAI_NO_SPEC_OPS" }

			set_variable = { EAI_FOCUS/LAND/spec_ops = global.EAI_NO_SPEC_OPS }
		}
	}
}

EAI_FOCUS_UPDATE/LAND/motorized_design = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/LAND/motorized_design_OVERRIDE } }

		##########################################
		###		EAI_A_MOT_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/motorized_design = global.EAI_A_MOT_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/motorized_design = FROM: [?EAI_FOCUS/LAND/motorized_design] TO global.EAI_A_MOT_DESIGN" }

			set_variable = { EAI_FOCUS/LAND/motorized_design = global.EAI_A_MOT_DESIGN }
		}

		##########################################
		###		EAI_B_MOT_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/motorized_design = global.EAI_B_MOT_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/motorized_design = FROM: [?EAI_FOCUS/LAND/motorized_design] TO global.EAI_B_MOT_DESIGN" }

			set_variable = { EAI_FOCUS/LAND/motorized_design = global.EAI_B_MOT_DESIGN }
		}

		##########################################
		###		EAI_C_MOT_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/motorized_design = global.EAI_C_MOT_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/motorized_design = FROM: [?EAI_FOCUS/LAND/motorized_design] TO global.EAI_C_MOT_DESIGN" }

			set_variable = { EAI_FOCUS/LAND/motorized_design = global.EAI_C_MOT_DESIGN }
		}
	}
}

EAI_FOCUS_UPDATE/LAND/antitank_design = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/LAND/antitank_design_OVERRIDE } }

		##########################################
		###		EAI_LINE_AT_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/antitank_design = global.EAI_LINE_AT_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/antitank_design = FROM: [?EAI_FOCUS/LAND/antitank_design] TO global.EAI_LINE_AT_DESIGN" }

			set_variable = { EAI_FOCUS/LAND/antitank_design = global.EAI_LINE_AT_DESIGN }
		}

		##########################################
		###		EAI_MTD_AT_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/antitank_design = global.EAI_MTD_AT_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/antitank_design = FROM: [?EAI_FOCUS/LAND/antitank_design] TO global.EAI_MTD_AT_DESIGN" }

			set_variable = { EAI_FOCUS/LAND/antitank_design = global.EAI_MTD_AT_DESIGN }
		}

		##########################################
		###		EAI_HTD_AT_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/LAND/antitank_design = global.EAI_HTD_AT_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/LAND/antitank_design = FROM: [?EAI_FOCUS/LAND/antitank_design] TO global.EAI_HTD_AT_DESIGN" }

			set_variable = { EAI_FOCUS/LAND/antitank_design = global.EAI_HTD_AT_DESIGN }
		}
	}
}

####################################################
### 	AIR
####################################################

### Fighter

EAI_FOCUS_UPDATE/AIR/fighter = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/AIR/fighter_OVERRIDE } }

		##########################################
		###		EAI_FTR_A
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/fighter = global.EAI_FTR_A } }

				### Trigger

				OR = {

					AND = {
						NOT = { num_of_military_factories < 10 }
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/fighter = FROM: [?EAI_FOCUS/AIR/fighter] TO global.EAI_FTR_A" }

			set_variable = { EAI_FOCUS/AIR/fighter = global.EAI_FTR_A }
		}

		##########################################
		###		EAI_FTR_B
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/fighter = global.EAI_FTR_B } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/fighter = FROM: [?EAI_FOCUS/AIR/fighter] TO global.EAI_FTR_B" }

			set_variable = { EAI_FOCUS/AIR/fighter = global.EAI_FTR_B }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/fighter = global.EAI_OFF } }

				### Trigger

				OR = {

					AND = {
						num_of_military_factories < 5
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/fighter = FROM: [?EAI_FOCUS/AIR/fighter] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/AIR/fighter = global.EAI_OFF }
		}
	}
}

EAI_FOCUS_UPDATE/AIR/heavy_fighter = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/AIR/heavy_fighter_OVERRIDE } }

		##########################################
		###		EAI_HFTR_A
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/heavy_fighter = global.EAI_HFTR_A } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/heavy_fighter = FROM: [?EAI_FOCUS/AIR/heavy_fighter] TO global.EAI_HFTR_A" }

			set_variable = { EAI_FOCUS/AIR/heavy_fighter = global.EAI_HFTR_A }
		}

		##########################################
		###		EAI_HFTR_B
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/heavy_fighter = global.EAI_HFTR_B } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/heavy_fighter = FROM: [?EAI_FOCUS/AIR/heavy_fighter] TO global.EAI_HFTR_B" }

			set_variable = { EAI_FOCUS/AIR/heavy_fighter = global.EAI_HFTR_B }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/heavy_fighter = global.EAI_OFF } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/heavy_fighter = FROM: [?EAI_FOCUS/AIR/heavy_fighter] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/AIR/heavy_fighter = global.EAI_OFF }
		}
	}
}

### Bomber

EAI_FOCUS_UPDATE/AIR/ground_bomber = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/AIR/ground_bomber_OVERRIDE } }

		##########################################
		###		EAI_CAS_AIR
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/ground_bomber = global.EAI_CAS_AIR } }

				### Trigger

				OR = {

					AND = {
						check_variable = { EAI_FOCUS/AIR/ground_bomber = global.EAI_NO_GROUND_AIR }

						num_of_military_factories > 75

						check_variable = { num_fighters_deployed > 1000 }
						
						NOT = { surrender_progress > 0 }
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/ground_bomber = FROM: [?EAI_FOCUS/AIR/ground_bomber] TO global.EAI_CAS_AIR" }

			set_variable = { EAI_FOCUS/AIR/ground_bomber = global.EAI_CAS_AIR }
		}

		##########################################
		###		EAI_TAC_AIR
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/ground_bomber = global.EAI_TAC_AIR } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/ground_bomber = FROM: [?EAI_FOCUS/AIR/ground_bomber] TO global.EAI_TAC_AIR" }

			set_variable = { EAI_FOCUS/AIR/ground_bomber = global.EAI_TAC_AIR }
		}

		##########################################
		###		EAI_NO_GROUND_AIR
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/ground_bomber = global.EAI_NO_GROUND_AIR } }

				### Trigger

				OR = {

					AND = {
						date > 1939.1.1

						num_of_military_factories < 10
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/ground_bomber = FROM: [?EAI_FOCUS/AIR/ground_bomber] TO global.EAI_NO_GROUND_AIR" }

			set_variable = { EAI_FOCUS/AIR/ground_bomber = global.EAI_NO_GROUND_AIR }
		}

		##########################################
		###		EAI_BOTH_GROUND_AIR
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/ground_bomber = global.EAI_BOTH_GROUND_AIR } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/ground_bomber = FROM: [?EAI_FOCUS/AIR/ground_bomber] TO global.EAI_BOTH_GROUND_AIR" }

			set_variable = { EAI_FOCUS/AIR/ground_bomber = global.EAI_BOTH_GROUND_AIR }
		}
	}
}

EAI_FOCUS_UPDATE/AIR/strategic_bomber = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/AIR/strategic_bomber_OVERRIDE } }

		##########################################
		###		EAI_ON
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/strategic_bomber = global.EAI_ON } }

				### Trigger

				OR = {

					# Build strategic bombers when it has a big industry and airforce
					AND = {
						date > 1942.1.1

						num_of_military_factories > 250

						check_variable = { num_fighters_deployed > 10000 }
						
						NOT = { surrender_progress > 0 }
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/strategic_bomber = FROM: [?EAI_FOCUS/AIR/strategic_bomber] TO global.EAI_ON" }

			set_variable = { EAI_FOCUS/AIR/strategic_bomber = global.EAI_ON }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/strategic_bomber = global.EAI_OFF } }

				### Trigger

				OR = {

					AND = {
						date > 1942.1.1

						OR = {
							AND = {
								num_of_military_factories < 75
							}

							AND = {
								has_war = yes

								OR = {
									surrender_progress > 0.10
									check_variable = { num_fighters_deployed < 2000 }
								}
							}
						}
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/strategic_bomber = FROM: [?EAI_FOCUS/AIR/strategic_bomber] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/AIR/strategic_bomber = global.EAI_OFF }
		}
	}
}

### Naval Bomber

EAI_FOCUS_UPDATE/AIR/naval_bomber = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/AIR/naval_bomber_OVERRIDE } }

		##########################################
		###		EAI_ON
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/naval_bomber = global.EAI_ON } }

				### Trigger

				OR = {

					AND = {
						enemies_naval_strength_ratio > 1 

						num_of_military_factories > 50
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/naval_bomber = FROM: [?EAI_FOCUS/AIR/naval_bomber] TO global.EAI_ON" }

			set_variable = { EAI_FOCUS/AIR/naval_bomber = global.EAI_ON }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/strategic_bomber = global.EAI_OFF } }

				### Trigger

				OR = {

					AND = {
						date > 1942.1.1

						num_of_military_factories < 30
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/naval_bomber = FROM: [?EAI_FOCUS/AIR/naval_bomber] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/AIR/naval_bomber = global.EAI_OFF }
		}
	}
}

EAI_FOCUS_UPDATE/AIR/maritime_patrol = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/AIR/maritime_patrol_OVERRIDE } }

		##########################################
		###		EAI_ON
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/maritime_patrol = global.EAI_ON } }

				### Trigger

				OR = {

					AND = {
						date > 1942.1.1

						num_of_military_factories > 250

						check_variable = { num_fighters_deployed > 15000 }
						
						NOT = { surrender_progress > 0 }

						NOT = { any_home_area_neighbor_country = { has_war_with = ROOT } }
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/maritime_patrol = FROM: [?EAI_FOCUS/AIR/maritime_patrol] TO global.EAI_ON" }

			set_variable = { EAI_FOCUS/AIR/maritime_patrol = global.EAI_ON }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/AIR/maritime_patrol = global.EAI_OFF } }

				### Trigger

				OR = {

					AND = {
						date > 1942.1.1

						OR = {
							AND = {
								num_of_military_factories < 75
							}

							AND = {
								has_war = yes

								OR = {
									surrender_progress > 0.10
									check_variable = { num_fighters_deployed < 2000 }
								}
							}
						}
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/AIR/maritime_patrol = FROM: [?EAI_FOCUS/AIR/maritime_patrol] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/AIR/maritime_patrol = global.EAI_OFF }
		}
	}
}

### Doctrine

EAI_FOCUS_UPDATE/AIR/air_doctrine = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/AIR/air_doctrine_OVERRIDE } }

	}
}

####################################################
### 	NAVY
####################################################

### Destroyer

EAI_FOCUS_UPDATE/NAVY/destroyer = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/NAVY/destroyer_OVERRIDE } }

		##########################################
		###		EAI_C_DD_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/destroyer = global.EAI_C_DD_DESIGN } }

				### Trigger

				OR = {

					AND = {
						EAI_MODE_normal = yes

						num_of_naval_factories > 3
					}

					AND = {
						EAI_MODE_challenging = yes

						num_of_naval_factories > 100
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/destroyer = FROM: [?EAI_FOCUS/NAVY/destroyer] TO global.EAI_C_DD_DESIGN" }

			set_variable = { EAI_FOCUS/NAVY/destroyer = global.EAI_C_DD_DESIGN }
		}

		##########################################
		###		EAI_B_DD_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/destroyer = global.EAI_B_DD_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/destroyer = FROM: [?EAI_FOCUS/NAVY/destroyer] TO global.EAI_B_DD_DESIGN" }

			set_variable = { EAI_FOCUS/NAVY/destroyer = global.EAI_B_DD_DESIGN }
		}

		##########################################
		###		EAI_A_DD_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/destroyer = global.EAI_A_DD_DESIGN } }

				### Trigger

				OR = {

					AND = {
						EAI_MODE_normal = yes

						num_of_naval_factories > 20
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/destroyer = FROM: [?EAI_FOCUS/NAVY/destroyer] TO global.EAI_A_DD_DESIGN" }

			set_variable = { EAI_FOCUS/NAVY/destroyer = global.EAI_A_DD_DESIGN }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/destroyer = global.EAI_OFF } }

				### Trigger

				### Trigger

				OR = {

					AND = {
						EAI_MODE_normal = yes

						num_of_naval_factories < 1
					}

					AND = {
						EAI_MODE_challenging = yes

						num_of_naval_factories < 1
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/destroyer = FROM: [?EAI_FOCUS/NAVY/destroyer] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/NAVY/destroyer = global.EAI_OFF }
		}
	}
}

EAI_FOCUS_UPDATE/NAVY/ASW_destroyer = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/NAVY/ASW_destroyer_OVERRIDE } }

		##########################################
		###		EAI_B_ASW_DD_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/ASW_destroyer = global.EAI_B_ASW_DD_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/ASW_destroyer = FROM: [?EAI_FOCUS/NAVY/ASW_destroyer] TO global.EAI_ON" }

			set_variable = { EAI_FOCUS/NAVY/ASW_destroyer = global.EAI_B_ASW_DD_DESIGN }
		}

		##########################################
		###		EAI_A_ASW_DD_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/ASW_destroyer = global.EAI_A_ASW_DD_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/ASW_destroyer = FROM: [?EAI_FOCUS/NAVY/ASW_destroyer] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/NAVY/ASW_destroyer = global.EAI_A_ASW_DD_DESIGN }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/ASW_destroyer = global.EAI_OFF } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/ASW_destroyer = FROM: [?EAI_FOCUS/NAVY/ASW_destroyer] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/NAVY/ASW_destroyer = global.EAI_OFF }
		}
	}
}

### Light cruiser

EAI_FOCUS_UPDATE/NAVY/light_cruiser = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/NAVY/light_cruiser_OVERRIDE } }

		##########################################
		###		EAI_ON
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/light_cruiser = global.EAI_ON } }

				### Trigger

				OR = {

					AND = {
						EAI_MODE_normal = yes

						num_of_naval_factories > 10
					}

					AND = {
						EAI_MODE_challenging = yes

						num_of_naval_factories > 100
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/light_cruiser = FROM: [?EAI_FOCUS/NAVY/light_cruiser] TO global.EAI_ON" }

			set_variable = { EAI_FOCUS/NAVY/light_cruiser = global.EAI_ON }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/light_cruiser = global.EAI_OFF } }

				### Trigger

				OR = {

					AND = {
						date > 1939.1.1
						
						EAI_MODE_normal = yes

						num_of_naval_factories < 3
					}

					AND = {
						date > 1939.1.1
						
						EAI_MODE_challenging = yes

						num_of_naval_factories < 3
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/light_cruiser = FROM: [?EAI_FOCUS/NAVY/light_cruiser] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/NAVY/light_cruiser = global.EAI_OFF }
		}
	}
}

EAI_FOCUS_UPDATE/NAVY/ASW_light_cruiser = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/NAVY/ASW_light_cruiser_OVERRIDE } }

		##########################################
		###		EAI_ON
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/ASW_light_cruiser = global.EAI_ON } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/ASW_light_cruiser = FROM: [?EAI_FOCUS/NAVY/ASW_light_cruiser] TO global.EAI_ON" }

			set_variable = { EAI_FOCUS/NAVY/ASW_light_cruiser = global.EAI_ON }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/ASW_light_cruiser = global.EAI_OFF } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/ASW_light_cruiser = FROM: [?EAI_FOCUS/NAVY/ASW_light_cruiser] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/NAVY/ASW_light_cruiser = global.EAI_OFF }
		}
	}
}

### Capital ships

EAI_FOCUS_UPDATE/NAVY/heavy_cruiser = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/NAVY/heavy_cruiser_OVERRIDE } }

		##########################################
		###		EAI_ON
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/heavy_cruiser = global.EAI_ON } }

				### Trigger

				OR = {

					AND = {
						EAI_MODE_normal = yes

						num_of_naval_factories > 25
					}

					AND = {
						is_major = no

						num_of_naval_factories > 4
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/heavy_cruiser = FROM: [?EAI_FOCUS/NAVY/heavy_cruiser] TO global.EAI_ON" }

			set_variable = { EAI_FOCUS/NAVY/heavy_cruiser = global.EAI_ON }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/heavy_cruiser = global.EAI_OFF } }

				### Trigger

				OR = {

					AND = {
						EAI_MODE_normal = yes

						num_of_naval_factories < 5
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/heavy_cruiser = FROM: [?EAI_FOCUS/NAVY/heavy_cruiser] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/NAVY/heavy_cruiser = global.EAI_OFF }
		}
	}
}

EAI_FOCUS_UPDATE/NAVY/battlecruiser = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/NAVY/battlecruiser_OVERRIDE } }

		##########################################
		###		EAI_ON
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/battlecruiser = global.EAI_ON } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/battlecruiser = FROM: [?EAI_FOCUS/NAVY/battlecruiser] TO global.EAI_ON" }

			set_variable = { EAI_FOCUS/NAVY/battlecruiser = global.EAI_ON }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/battlecruiser = global.EAI_OFF } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/battlecruiser = FROM: [?EAI_FOCUS/NAVY/battlecruiser] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/NAVY/battlecruiser = global.EAI_OFF }
		}
	}
}

EAI_FOCUS_UPDATE/NAVY/battleship = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/NAVY/battleship_OVERRIDE } }

		##########################################
		###		EAI_B_BB_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/battleship = global.EAI_B_BB_DESIGN } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/battleship = FROM: [?EAI_FOCUS/NAVY/battleship] TO global.EAI_B_BB_DESIGN" }

			set_variable = { EAI_FOCUS/NAVY/battleship = global.EAI_B_BB_DESIGN }
		}

		##########################################
		###		EAI_A_BB_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/battleship = global.EAI_A_BB_DESIGN } }

				### Trigger

				OR = {

					AND = {
						NOT = { check_variable = { EAI_FOCUS/NAVY/battleship = global.EAI_B_BB_DESIGN } }

						EAI_MODE_normal = yes

						num_of_naval_factories > 50
					}

					AND = {
						NOT = { check_variable = { EAI_FOCUS/NAVY/battleship = global.EAI_B_BB_DESIGN } }

						EAI_MODE_challenging = yes

						num_of_naval_factories > 100
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/battleship = FROM: [?EAI_FOCUS/NAVY/battleship] TO global.EAI_A_BB_DESIGN" }

			set_variable = { EAI_FOCUS/NAVY/battleship = global.EAI_A_BB_DESIGN }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/battleship = global.EAI_OFF } }

				### Trigger

				OR = {

					AND = {
						EAI_MODE_normal = yes

						num_of_naval_factories < 10
					}

					AND = {
						EAI_MODE_challenging = yes
						
						num_of_naval_factories < 10
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/battleship = FROM: [?EAI_FOCUS/NAVY/battleship] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/NAVY/battleship = global.EAI_OFF }
		}
	}
}

### Carrier

EAI_FOCUS_UPDATE/NAVY/carrier = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/NAVY/carrier_OVERRIDE } }

		##########################################
		###		EAI_B_CV_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/carrier = global.EAI_B_CV_DESIGN } }

				### Trigger

				OR = {

					AND = {
						EAI_MODE_normal = yes

						num_of_naval_factories > 50
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/carrier = FROM: [?EAI_FOCUS/NAVY/carrier] TO global.EAI_B_CV_DESIGN" }

			set_variable = { EAI_FOCUS/NAVY/carrier = global.EAI_B_CV_DESIGN }
		}

		##########################################
		###		EAI_A_CV_DESIGN
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/carrier = global.EAI_A_CV_DESIGN } }

				### Trigger

				OR = {

					AND = {
						EAI_MODE_normal = yes

						num_of_naval_factories > 80
					}

					AND = {
						EAI_MODE_challenging = yes

						num_of_naval_factories > 100
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/carrier = FROM: [?EAI_FOCUS/NAVY/carrier] TO global.EAI_A_CV_DESIGN" }

			set_variable = { EAI_FOCUS/NAVY/carrier = global.EAI_A_CV_DESIGN }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/carrier = global.EAI_OFF } }

				### Trigger

				OR = {

					AND = {
						num_of_naval_factories < 10
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/carrier = FROM: [?EAI_FOCUS/NAVY/carrier] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/NAVY/carrier = global.EAI_OFF }
		}
	}
}

### Submarines

EAI_FOCUS_UPDATE/NAVY/submarine = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/NAVY/submarine_OVERRIDE } }

		##########################################
		###		EAI_ON
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/submarine = global.EAI_ON } }

				### Trigger

				OR = {

					AND = {
						num_of_naval_factories > 10
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/submarine = FROM: [?EAI_FOCUS/NAVY/submarine] TO global.EAI_ON" }

			set_variable = { EAI_FOCUS/NAVY/submarine = global.EAI_ON }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/submarine = global.EAI_OFF } }

				### Trigger

				OR = {

					AND = {
						num_of_naval_factories < 5
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/submarine = FROM: [?EAI_FOCUS/NAVY/submarine] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/NAVY/submarine = global.EAI_OFF }
		}
	}
}

### Mines

EAI_FOCUS_UPDATE/NAVY/mine_layer = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/NAVY/mine_layer_OVERRIDE } }

		##########################################
		###		EAI_ON
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/mine_layer = global.EAI_ON } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/mine_layer = FROM: [?EAI_FOCUS/NAVY/mine_layer] TO global.EAI_ON" }

			set_variable = { EAI_FOCUS/NAVY/mine_layer = global.EAI_ON }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/mine_layer = global.EAI_OFF } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/mine_layer = FROM: [?EAI_FOCUS/NAVY/mine_layer] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/NAVY/mine_layer = global.EAI_OFF }
		}
	}
}

EAI_FOCUS_UPDATE/NAVY/mine_sweeper = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/NAVY/mine_sweeper_OVERRIDE } }

		##########################################
		###		EAI_ON
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/mine_sweeper = global.EAI_ON } }

				### Trigger

				OR = {

					AND = {
						has_country_flag = EAI_enemy_mines_on_our_coasts
					}
				}
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/mine_sweeper = FROM: [?EAI_FOCUS/NAVY/mine_sweeper] TO global.EAI_ON" }

			set_variable = { EAI_FOCUS/NAVY/mine_sweeper = global.EAI_ON }
		}

		##########################################
		###		EAI_OFF
		##########################################

		if = {
			limit = {
				NOT = { check_variable = { EAI_FOCUS/NAVY/mine_sweeper = global.EAI_OFF } }

				### Trigger

				always = no
			}

			if = { limit = { has_country_flag = EAI_FOCUS_UPDATE_update_logging } log = "[GetDate] | AI | [Root.GetName] | FOCUS UPDATE: EAI_FOCUS/NAVY/mine_sweeper = FROM: [?EAI_FOCUS/NAVY/mine_sweeper] TO global.EAI_OFF" }

			set_variable = { EAI_FOCUS/NAVY/mine_sweeper = global.EAI_OFF }
		}
	}
}

### Doctrine

EAI_FOCUS_UPDATE/NAVY/naval_doctrine = {

	if = { limit = { NOT = { has_country_flag = EAI_FOCUS/NAVY/naval_doctrine_OVERRIDE } }

	}
}