generic_infantry_role = {
	role = infantry 
	upgrade_prio = {
		base = 500
	}
	
	#####################################################
	#	15W	SCREEN
	#####################################################

	### defense
	
	GENERIC_INFANTRY_TEMPLATE_15_SCREEN = {
		enable = { 
			num_of_military_factories < 15
			NOT = {
				OR = {
					has_doctrine = mass_assault
					has_doctrine = grand_battleplan
					has_doctrine = superior_firepower
					has_doctrine = new_mobile_warfare
				}
			}
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 6
				artillery_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				bm_machine_gunner = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_15_SCREEN_MW = {
		enable = { 
			num_of_military_factories < 15
			has_doctrine = new_mobile_warfare			
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 6
				artillery_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				bm_machine_gunner = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_15_SCREEN_SFP = {
		enable = { 
			num_of_military_factories < 15
			has_doctrine = superior_firepower
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 5
				artillery_brigade = 2
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				bm_machine_gunner = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_15_SCREEN_GBP = {
		enable = { 
			num_of_military_factories < 15
			has_doctrine = grand_battleplan
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 6
				artillery_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				bm_machine_gunner = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_15_SCREEN_MA = {
		enable = { 
			num_of_military_factories < 15
			has_doctrine = mass_assault
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 8
			}

			support = {
				engineer = 1
				artillery = 1
				bm_machine_gunner = 1
			}
		}
	}
	
	#####################################################
	#	18W	LIGHT ASSAULT
	#####################################################

	### defense
	
	GENERIC_INFANTRY_TEMPLATE_18_LIGHT = {
		enable = { 
			AND = {
				num_of_military_factories > 14
				num_of_military_factories < 40
			}
			NOT = {
				OR = {
					has_doctrine = mass_assault
					has_doctrine = grand_battleplan
					has_doctrine = superior_firepower
					has_doctrine = new_mobile_warfare
				}
			}
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 6
				artillery_brigade = 2
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				anti_air = 1
				bm_machine_gunner = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_18_LIGHT_MW = {
		enable = { 
			AND = {
				num_of_military_factories > 14
				num_of_military_factories < 40
			}
			has_doctrine = new_mobile_warfare
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 7
				artillery_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				anti_air = 1 
				bm_machine_gunner = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_18_LIGHT_SFP = {
		enable = { 
			AND = {
				num_of_military_factories > 14
				num_of_military_factories < 40
			}
			has_doctrine = superior_firepower
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 6
				artillery_brigade = 2
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				anti_air = 1
				bm_machine_gunner = 1				
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_18_LIGHT_GBP = {
		enable = { 
			AND = {
				num_of_military_factories > 14
				num_of_military_factories < 40
			}
			has_doctrine = grand_battleplan
		}
		
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 7
				artillery_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				anti_air = 1 
				bm_machine_gunner = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_18_LIGHT_MA = {
		enable = { 
			AND = {
				num_of_military_factories > 14
				num_of_military_factories < 40
			}
			has_doctrine = mass_assault
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 8
				artillery_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				bm_machine_gunner = 1
			}
		}
	}

	#####################################################
	#	21W BARRIER+
	#####################################################

	### defense
	
	GENERIC_INFANTRY_TEMPLATE_21_BARRIER = {
		enable = {
			AND = {
				num_of_military_factories > 39
				num_of_military_factories < 70
			}
			NOT = {
				OR = {
					has_doctrine = mass_assault
					has_doctrine = grand_battleplan
					has_doctrine = superior_firepower
					has_doctrine = new_mobile_warfare
				}
			}
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 7
				artillery_brigade = 2
				anti_air_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				bm_mortar_company = 1
				bm_machine_gunner = 1
				anti_tank = 1
				logistics_company = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_21_BARRIER_MW = {
		enable = {
			AND = {
				num_of_military_factories > 39
				num_of_military_factories < 70
			}
			has_doctrine = new_mobile_warfare
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 8
				artillery_brigade = 2
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				anti_tank = 1
				logistics_company = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_21_BARRIER_SFP = {
		enable = {
			AND = {
				num_of_military_factories > 39
				num_of_military_factories < 70
			}
			has_doctrine = superior_firepower
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 7
				artillery_brigade = 2
				anti_air_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				bm_mortar_company = 1
				bm_machine_gunner = 1
				anti_tank = 1
				logistics_company = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_21_BARRIER_GBP = {
		enable = {
			AND = {
				num_of_military_factories > 39
				num_of_military_factories < 70
			}
			has_doctrine = grand_battleplan
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 8
				artillery_brigade = 2
				anti_tank_brigade = 1
			}

			support = {
				engineer = 1
				recon = 1
				artillery = 1
				bm_mortar_company = 1
				bm_machine_gunner = 1
				logistics_company = 1
				field_hospital = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_21_BARRIER_MA = {
		enable = {
			AND = {
				num_of_military_factories > 39
				num_of_military_factories < 70
			}
			has_doctrine = mass_assault
		}
		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 9
				artillery_brigade = 1
				anti_tank_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				recon = 1
				bm_mortar_company = 1
				bm_machine_gunner = 1
				anti_air = 1
			}
		}
	}
	

	#####################################################
	#	25W AI RAM
	#####################################################

	GENERIC_INFANTRY_TEMPLATE_25_RAM = {
		enable = { 
			AND = {
				num_of_military_factories > 69
				num_of_military_factories < 110
			}
			NOT = {
				OR = {
					has_doctrine = mass_assault
					has_doctrine = grand_battleplan
					has_doctrine = superior_firepower
					has_doctrine = new_mobile_warfare
				}
			}
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 9
				artillery_brigade = 2
				anti_air_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				anti_tank = 1
				recon = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				bm_sniper_company = 1
				signal_company = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_25_RAM_MW = {
		enable = { 
			AND = {
				num_of_military_factories > 69
				num_of_military_factories < 110
			}
			has_doctrine = new_mobile_warfare
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 9
				artillery_brigade = 2
			}

			support = {
				engineer = 1
				artillery = 1
				anti_tank = 1
				recon = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				bm_sniper_company = 1
				signal_company = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_25_RAM_SFP = {
		enable = { 
			AND = {
				num_of_military_factories > 69
				num_of_military_factories < 110
			}
			has_doctrine = superior_firepower
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 8
				artillery_brigade = 3
			}

			support = {
				engineer = 1
				artillery = 1
				anti_tank = 1
				recon = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				bm_sniper_company = 1
				signal_company = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_25_RAM_GBP = {
		enable = { 
			AND = {
				num_of_military_factories > 69
				num_of_military_factories < 110
			}
			has_doctrine = grand_battleplan
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 9
				artillery_brigade = 2
				anti_air_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				anti_tank = 1
				recon = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				bm_sniper_company = 1
				signal_company = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_25_RAM_MA = {
		enable = { 
			AND = {
				num_of_military_factories > 69
				num_of_military_factories < 110
			}
			has_doctrine = mass_assault
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 10
				artillery_brigade = 2
			}

			support = {
				engineer = 1
				artillery = 1
				anti_tank = 1
				recon = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				bm_sniper_company = 1
				signal_company = 1
			}
		}
	}
	
	#####################################################
	#	30W ASSAULT
	#####################################################
	
	### offensive/late-game

	GENERIC_INFANTRY_TEMPLATE_30_ASSAULT = {
		enable = { 
			AND = {
				num_of_military_factories > 109
				num_of_military_factories < 150
			}
			NOT = {
				OR = {
					has_doctrine = mass_assault
					has_doctrine = grand_battleplan
					has_doctrine = superior_firepower
					has_doctrine = new_mobile_warfare
				}
			}
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 8
				artillery_brigade = 4
				anti_tank_brigade = 1
				anti_air_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				bm_sniper_company = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				anti_air = 1
				maintenance_company = 1
				signal_company = 1
				bm_flamethower_support = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_30_ASSAULT_MW = {
		enable = { 
			AND = {
				num_of_military_factories > 109
				num_of_military_factories < 150
			}
			has_doctrine = new_mobile_warfare
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 10
				artillery_brigade = 3
				anti_tank_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				bm_sniper_company = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				anti_air = 1
				maintenance_company = 1
				signal_company = 1
				bm_flamethower_support = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_30_ASSAULT_SFP = {
		enable = { 
			AND = {
				num_of_military_factories > 109
				num_of_military_factories < 150
			}
			has_doctrine = superior_firepower
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 9
				artillery_brigade = 4
				anti_tank_brigade = 1
				anti_air_brigade = 1
				bm_flamethower_support = 1
			}

			support = {
				engineer = 1
				artillery = 1
				bm_sniper_company = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				anti_air = 1
				maintenance_company = 1
				signal_company = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_30_ASSAULT_GBP = {
		enable = { 
			AND = {
				num_of_military_factories > 109
				num_of_military_factories < 150
			}
			has_doctrine = grand_battleplan
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 11
				artillery_brigade = 2
				anti_tank_brigade = 1
				anti_air_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				bm_sniper_company = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				anti_air = 1
				maintenance_company = 1
				signal_company = 1
				bm_flamethower_support = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_30_ASSAULT_MA = {
		enable = { 
			AND = {
				num_of_military_factories > 109
				num_of_military_factories < 150
			}
			has_doctrine = mass_assault
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 12
				artillery_brigade = 2
				anti_tank_brigade = 1
				anti_air_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				bm_sniper_company = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				anti_air = 1
				maintenance_company = 1
				signal_company = 1
				bm_flamethower_support = 1
			}
		}
	}
	
	#####################################################
	#	36W HEAVY BREAKTHROUGH
	#####################################################
	
	### offensive/late-game

	GENERIC_INFANTRY_TEMPLATE_36_BREAKTHROUGH = {
		enable = { 
			num_of_military_factories > 149
			NOT = {
				OR = {
					has_doctrine = mass_assault
					has_doctrine = grand_battleplan
					has_doctrine = superior_firepower
					has_doctrine = new_mobile_warfare
				}
			}
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 11
				artillery_brigade = 4
				anti_tank_brigade = 2
			}

			support = {
				engineer = 1
				artillery = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				recon = 1
				bm_flamethower_support = 1
				bm_sniper_company = 1
				signal_company = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_36_BREAKTHROUGH_MW = {
		enable = { 
			num_of_military_factories > 149
			has_doctrine = new_mobile_warfare
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 12
				artillery_brigade = 3
				anti_tank_brigade = 1
				anti_air_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				recon = 1
				bm_flamethower_support = 1
				bm_sniper_company = 1
				signal_company = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_36_BREAKTHROUGH_SFP = {
		enable = { 
			num_of_military_factories > 149
			has_doctrine = superior_firepower
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 11
				artillery_brigade = 4
				anti_tank_brigade = 2
			}

			support = {
				engineer = 1
				artillery = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				recon = 1
				bm_flamethower_support = 1
				bm_sniper_company = 1
				signal_company = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_36_BREAKTHROUGH_GBP = {
		enable = { 
			num_of_military_factories > 149
			has_doctrine = grand_battleplan
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 13
				artillery_brigade = 3
				anti_tank_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				recon = 1
				bm_flamethower_support = 1
				bm_sniper_company = 1
				signal_company = 1
			}
		}
	}
	
	GENERIC_INFANTRY_TEMPLATE_36_BREAKTHROUGH_MA = {
		enable = { 
			num_of_military_factories > 149
			has_doctrine = mass_assault
		}

		upgrade_prio = { factor = 200 }

		can_upgrade_in_field = { always = yes }

		reinforce_prio = 1

		target_template = {
			regiments = {
				infantry = 14
				artillery_brigade = 2
				anti_tank_brigade = 1
				anti_air_brigade = 1
			}

			support = {
				engineer = 1
				artillery = 1
				logistics_company = 1
				field_hospital = 1
				bm_mortar_company = 1
				recon = 1
				bm_flamethower_support = 1
				bm_sniper_company = 1
				signal_company = 1
			}
		}
	}
}