namespace = lazy_upg_sta_events

country_event = {
	id = lazy_upg_sta_events.1
	hide_window = yes
	is_triggered_only = yes

	trigger = {
		has_country_flag = auto_upgrade_starbases_flag
	}

	immediate = {
		while = {
			count = auto_upg_sta_speed

			set_variable = {
				which = auto_upg_sta_cap
				value = trigger:max_starbase_capacity
			}
			set_variable = {
				which = auto_upg_sta_count
				value = value:starbases_upgrading_cap_trigger
			}
			if = {
				limit = {
					NOR = {
						has_country_flag = auto_upgrading_starbase_outpost_flag
						has_country_flag = auto_upgrading_starbase_starport_flag
						has_country_flag = auto_upgrading_starbase_starhold_flag
						has_country_flag = auto_upgrading_starbase_starfortress_flag
						has_country_flag = auto_upgrading_starbase_citadel_flag
						has_country_flag = auto_upgrading_starbase_stronghold_flag
					}
					any_owned_starbase = {
						has_starbase_size = starbase_outpost
						NOR = {
							has_starbase_flag = auto_upgrading_starbase_flag
							has_starbase_flag = auto_outfitting_starbase_flag
						}
					}
					check_variable = {
						which = auto_upg_sta_cap
						value > auto_upg_sta_count
					}
				}
				random_owned_starbase = {
					limit = {
						NOR = {
							has_starbase_flag = auto_upgrading_starbase_flag
							has_starbase_flag = auto_outfitting_starbase_flag
						}
						has_starbase_size = starbase_outpost
					}
					auto_upgrade_starbases_check = yes
				}
			}
			else = {
				random_owned_starbase = {
					limit = {
						NOR = {
							has_starbase_size = starbase_outpost
							has_starbase_flag = auto_upgrading_starbase_flag
							has_starbase_flag = auto_outfitting_starbase_flag
						}
						if = {
							limit = {
								prev = {
									has_country_flag = auto_upgrading_starbase_outpost_flag
								}
							}
							has_starbase_size > starbase_outpost
						}
						else_if = {
							limit = {
								prev = {
									has_country_flag = auto_upgrading_starbase_starport_flag
								}
							}
							has_starbase_size > starbase_starport
						}
						else_if = {
							limit = {
								prev = {
									has_country_flag = auto_upgrading_starbase_starhold_flag
								}
							}
							has_starbase_size > starbase_starhold
						}
						else_if = {
							limit = {
								prev = {
									has_country_flag = auto_upgrading_starbase_starfortress_flag
								}
							}
							has_starbase_size > starbase_starfortress
						}
						else_if = {
							limit = {
								prev = {
									has_country_flag = auto_upgrading_starbase_citadel_flag
								}
							}
							has_starbase_size > starbase_citadel
						}
						else_if = {
							limit = {
								prev = {
									has_country_flag = auto_upgrading_starbase_stronghold_flag
								}
							}
							has_starbase_size > starbase_stronghold
						}
					}
					auto_upgrade_starbases_check = yes
				}
			}

			random_owned_starbase = {
				limit = {
					NOR = {
						has_starbase_flag = auto_upgrading_starbase_flag
						has_starbase_flag = auto_outfitting_starbase_flag
					}
					has_starbase_flag = auto_upgrade_starbases_ready_flag
				}
				auto_upgrade_starbases_check = yes
			}
		}
	}
}

country_event = {
	id = lazy_upg_sta_events.8
	hide_window = yes
	is_triggered_only = yes

	immediate = {
		every_owned_starbase = {
			limit = {
				has_starbase_size = starbase_starport
			}
			set_starbase_size = starbase_outpost
		}
	}
}

country_event = {
	id = lazy_upg_sta_events.9
	hide_window = yes
	is_triggered_only = yes

	immediate = {
		every_owned_starbase = {
			limit = {
				OR = {
					has_starbase_size = starbase_starport
					has_starbase_size = starbase_starhold
				}
			}
			set_starbase_size = starbase_outpost
		}
	}
}

country_event = {
	id = lazy_upg_sta_events.10
	hide_window = yes
	is_triggered_only = yes

	immediate = {
		every_owned_starbase = {
			limit = {
				OR = {
					has_starbase_size = starbase_starport
					has_starbase_size = starbase_starhold
					has_starbase_size = starbase_starfortress
				}
			}
			set_starbase_size = starbase_outpost
		}
	}
}

country_event = {
	id = lazy_upg_sta_events.11
	hide_window = yes
	is_triggered_only = yes

	immediate = {
		every_owned_starbase = {
			limit = {
				OR = {
					has_starbase_size = starbase_starport
					has_starbase_size = starbase_starhold
					has_starbase_size = starbase_starfortress
					has_starbase_size = starbase_citadel
				}
			}
			set_starbase_size = starbase_outpost
		}
	}
}

country_event = {
	id = lazy_upg_sta_events.12
	hide_window = yes
	is_triggered_only = yes

	immediate = {
		every_owned_starbase = {
			limit = {
				OR = {
					has_starbase_size = starbase_starport
					has_starbase_size = starbase_starhold
					has_starbase_size = starbase_starfortress
					has_starbase_size = starbase_citadel
					has_starbase_size = starbase_stronghold
				}
			}
			set_starbase_size = starbase_outpost
		}
	}
}

country_event = {
	id = lazy_upg_sta_events.13
	hide_window = yes
	is_triggered_only = yes

	immediate = {
		every_owned_starbase = {
			limit = {
				OR = {
					has_starbase_size = starbase_starport
					has_starbase_size = starbase_starhold
					has_starbase_size = starbase_starfortress
					has_starbase_size = starbase_citadel
					has_starbase_size = starbase_stronghold
					has_starbase_size = starbase_headquarters
				}
			}
			set_starbase_size = starbase_outpost
		}
	}
}