armor_generic = {

	blocked_for = {
		GER
		JAP
		ENG
		USA
		ITA
		SOV
		HUN
		SIA
		TOM #NOTE Tomsk
		FIN #NOTE Finland
	}

	role = armor
	
	upgrade_prio = {
		base = 2

		modifier = {
			factor = 3
			OR = {
				has_tech = basic_medium_tank
				has_tech = basic_medium_tank_chassis
			}
		}
		
		modifier = {
			factor = 2
			OR = {
				has_tech = main_battle_tank
				has_tech = main_battle_tank_chassis
			}
		}
	}

	light_armor_early = {
		upgrade_prio = {
			base = 1

			modifier = {
				factor = 2
			}
		}
		
		can_upgrade_in_field = {
			has_equipment = { light_tank_chassis < 500 } 
		}
		
		target_template = {
			
			support = {
				engineer = 1
				mot_recon = 1
				artillery = 1
				anti_tank = 1
			}
			
			regiments = {
				light_armor = 5
				motorized = 4
			}
		}
		
		replace_at_match = 1.5  # value higher than 1.0 means it will only upgrade/replace when upgrade_prio takes over
		replace_with = medium_armor_early
		target_min_match = 0.5
	}

	medium_armor_early = {
	
		upgrade_prio = {
			base = 1

			modifier = {
				factor = 3
				OR = {
					has_tech = basic_medium_tank
					has_tech = basic_medium_tank_chassis
				}
			}
		}

		target_template = {
			
			support = {
				engineer = 1
				mot_recon = 1
				maintenance_company = 1
				logistics_company = 1
			}
			
			regiments = {
				medium_armor = 4
				light_armor = 2
				motorized = 4
			}
		}
		
		replace_at_match = 1.5  # value higher than 1.0 means it will only upgrade/replace when upgrade_prio takes over
		replace_with = medium_armor_mid
		target_min_match = 0.5
	}

	medium_armor_mid = {
	
		upgrade_prio = {
			base = 1

			modifier = {
				factor = 4
				OR = {
					has_tech = improved_medium_tank
					has_tech = improved_medium_tank_chassis
				}
			}

			modifier = {
				factor = 0
				NOT = { has_tech = armored_car1 }
			}
		}

		target_template = {
			
			support = {
				engineer = 1
				armored_car_recon = 1
				maintenance_company = 1
				logistics_company = 1
			}
			
			regiments = {
				medium_armor = 6
				motorized = 4
			}
		}
		
		replace_at_match = 1.5  # value higher than 1.0 means it will only upgrade/replace when upgrade_prio takes over
		replace_with = modern_armor_default
		target_min_match = 0.5
	}

	modern_armor_default = {
	
		upgrade_prio = {
			base = 1

			modifier = {
				factor = 5
				OR = {
					has_tech = main_battle_tank
					has_tech = main_battle_tank_chassis
				}
			}
		}

		target_template = {
			
			support = {
				engineer = 1
				light_tank_recon = 1
				maintenance_company = 1
				logistics_company = 1
				signal_company = 1
			}
			
			regiments = {
				modern_armor = 6
				mechanized = 4
				modern_sp_artillery_brigade = 1
			}
		}
	}
}

garrison_generic = {

	blocked_for = {
		GER
		JAP
		ENG
		USA
		ITA
		SOV
		HUN
		SIA
		TOM #NOTE Tomsk
		FIN #NOTE Finland
	}
	
	role = garrison
	
	upgrade_prio = {
		base = 0.5

		modifier = {
			factor = 20
			NOT = { ai_has_role_template = garrison }
		}
	}

	garrison_generic = {
		reinforce_prio = 0
		custom_icon = 7
	
		upgrade_prio = {
			base = 2

			modifier = {
				factor = 1
			}
		}
		
		target_template = {
			
			support = { 
				engineer = 1
			}
			
			regiments = {
				infantry = 4
			}
		}
	}
}

suppression_generic = {
	
	role = suppression
	blocked_for = {
		SIA
		TOM #NOTE Tomsk
		FIN #NOTE Finland
	}
	upgrade_prio = {
		base = 0.5

		modifier = {
			factor = 20
			has_war = yes
		}

		modifier = {
			factor = 50
			tag = GER
			OR = {
				AND = {
					has_completed_focus = GER_anschluss
					NOT = { ai_has_role_template = garrison }
				}

				AND = {
					any_country = {
						is_justifying_wargoal_against = ROOT
					}
					NOT = { ai_has_role_template = garrison }
				}
			}
		}
	}

	suppression_generic = {
	
		reinforce_prio = 0
		custom_icon = 13
	
		upgrade_prio = {
			base = 2
		}
		
		target_template = {
			
			support = { 
				military_police = 1
			}

			regiments = {
				cavalry = 4
			}
		}
	}
}

infantry_generic = {

	blocked_for = {
		GER
		JAP
		ENG
		USA
		ITA
		SOV
		HUN
		CHI
		PRC
		GXC
		YUN
		SHX
		XSM
		SIK
		MEN
		MAN
		SIA
		TOM #NOTE Tomsk
		FIN #NOTE Finland
	}

	role = infantry
	
	upgrade_prio = {
		base = 5
	}
	
	infantry_early = {
	
		upgrade_prio = {
			base = 1

			modifier = {
				factor = 2
			}
		}
		
		target_template = {
			
			support = {
				engineer = 1
				recon = 1
				logistics_company = 1
				anti_air = 1
				artillery = 1
			}
			
			regiments = {
				infantry = 9
				artillery_brigade = 1
			}
		}

		replace_at_match = 1.5  # value higher than 1.0 means it will only upgrade/replace when upgrade_prio takes over
		replace_with = infantry_improved
		target_min_match = 0.9
	}

	infantry_mid = {

		upgrade_prio = {
			base = 1

			modifier = {
				factor = 3
				date > 1940.1.1
			}
		}
		
		target_template = {
			
			support = {
				engineer = 1
				recon = 1
				logistics_company = 1
				anti_air = 1
				anti_tank = 1
			}
			
			regiments = {
				infantry = 9
				artillery_brigade = 2
			}
		}
	}
}

mountaineers_generic = {

	blocked_for = {
		GER
		JAP
		ENG
		USA
		ITA
		SOV
		SIA
		TOM #NOTE Tomsk
		FIN #NOTE Finland
	}

	role = mountaineers
	
	upgrade_prio = {
		base = 2

		modifier = {
			factor = 0
			NOT = {
				has_tech = tech_mountaineers
			}
		}
	}

	mountaineers_default = {
	
		upgrade_prio = {
			base = 1

			modifier = {
				factor = 1
			}
		}

		target_template = {
			
			support = {
				engineer = 1
				artillery = 1
				anti_tank = 1
				logistics_company = 1
			}
			
			regiments = {
				mountaineers = 8
				artillery_brigade = 2
			}
		}
	}
}

marines_generic = {

	blocked_for = {
		GER
		JAP
		ENG
		USA
		ITA
		SOV
		TOM #NOTE Tomsk
		FIN #NOTE Finland
	}

	role = marines
	
	upgrade_prio = {
		base = 2

		modifier = {
			factor = 0
			NOT = {
				has_tech = marines
			}
		}
	}

	marine_default = {
	
		upgrade_prio = {
			base = 1

			modifier = {
				factor = 1
			}
		}

		target_template = {
			
			support = {
				recon = 1
				logistics_company = 1
			}
			
			regiments = {
				marine = 9
			}
		}
	}
	marine_armored = {
	
		upgrade_prio = {
			base = 3

			modifier = {
				factor = 0

				# disable if we are missing either of amph mech inf or amph tank
				OR = {
					NOT = {
						has_tech = amphibious_mechanized_infantry
					}
					NOT = {
						OR = {
							has_tech = amphibious_tank
							has_tech = amphibious_tank_chassis
						}
					}
				}

			}
			modifier = {
				is_major = no
				factor = 0
			}
		}

		target_template = {
			
			support = {
				recon = 1
				logistics_company = 1
				engineer = 1
			}
			
			regiments = {
				amphibious_armor = 4
				amphibious_mechanized = 6
			}
		}
	}
}


paratrooper_generic = {

	blocked_for = {
		GER
		JAP
		ENG
		USA
		ITA
		SOV
		TOM #NOTE Tomsk
		FIN #NOTE Finland
	}

	role = paratroopers
	
	upgrade_prio = {
		base = 2

		modifier = {
			factor = 0
			NOT = {
				has_tech = paratroopers
			}
		}
	}
	
	paratrooper_default = {
	
		upgrade_prio = {
			base = 1

			modifier = {
				factor = 1
			}
		}

		target_template = {
			
			support = {
				engineer = 1
				artillery = 1
				anti_tank = 1
			}
			
			regiments = {
				paratrooper = 9
			}
		}
	}
}

rangers_generic = {

	blocked_for = {
		TOM #NOTE Tomsk
		FIN #NOTE Finland
	}

	role = rangers_role
	
	upgrade_prio = {
		base = 2

		modifier = {
			factor = 0
			NOT = {
				has_tech = rangers_tech
			}
		}
	}

	rangers_default = {
	
		upgrade_prio = {
			base = 1

			modifier = {
				factor = 1
			}
		}

		target_template = {
			
			support = {
				engineer = 1
				artillery = 1
				recon = 1
				logistics_company = 1
			}
			
			regiments = {
				ranger_battalion = 8
				artillery_brigade = 2
			}
		}
	}
}

landcruiser_generic = {

	blocked_for = {
		TOM #NOTE Tomsk
		FIN #NOTE Finland
	}

	role = mega_heavy_breakthrough_role
	
	upgrade_prio = {
		base = 2

		modifier = {
			factor = 0
			NOT = { is_special_project_completed = sp:sp_land_land_cruiser }
		}
	}
	 
	landcruiser_default = {
	
		upgrade_prio = {
			base = 1

			modifier = {
				factor = 1
			}
		}

		target_template = {
			
			support = {
				engineer = 1
				land_cruiser = 1
				anti_air = 1
			}
			
			regiments = {
				medium_armor = 2
				heavy_armor = 1
				motorized = 6
			}
		}
	}
}

super_heavy_generic = {

	blocked_for = {
		TOM #NOTE Tomsk
		FIN #NOTE Finland
	}

	role = super_heavy_breakthrough_role
	
	upgrade_prio = {
		base = 0

		modifier = {
			add = 1
			is_major = yes
			num_of_military_factories > 150 # nly if we have loads of factories
			date > 1943.6.1 # Lets wait until late war
			NOT = { has_tech = main_battle_tank_chassis } # Abandon Super heavy projects if we start doing modern tanks instead
			NOT = { has_government = democratic } # Let the authoritarian regimes spend money on this 
		}

		modifier = {
			factor = 0
			is_special_project_completed = sp:sp_land_land_cruiser # Lets stop this if and when we have landcruisers
		}
	}
	 
	super_heavy_default = {
	
		upgrade_prio = {
			base = 1

			modifier = {
				factor = 1
			}
		}

		target_template = {
			
			support = {
				engineer = 1
				anti_air = 1
				super_heavy_armor = 1
			}
			
			regiments = {
				medium_armor = 2
				motorized = 6
			}
		}
	}
}