on_actions = {
	########### Update Session Data Below ###########
	##### Update Faction Data #####
	on_create_faction = {
		effect = {
			clear_variable = global.nkmp_faction_count_var
			clear_variable = global.nkmp_faction_country_count_var
			if = {
				limit = {
					all_country = {
						is_in_faction = no
					}
				}
				set_variable = {
					var = global.nkmp_faction_count_var
					value = 0
				}
			}
			else = {
				every_country = {
					limit = {
						is_faction_leader = yes
					}
					add_to_variable = {
						var = global.nkmp_faction_count_var
						value = 1
					}
				}
			}
			every_country = {
				limit = {
					is_in_faction = yes
				}
				add_to_variable = {
					var = global.nkmp_faction_country_count_var
					value = 1
				}
			}
		}
	}
	on_leave_faction = {
		effect = {
			clear_variable = global.nkmp_faction_count_var
			clear_variable = global.nkmp_faction_country_count_var
			if = {
				limit = {
					all_country = {
						is_in_faction = no
					}
				}
				set_variable = {
					var = global.nkmp_faction_count_var
					value = 0
				}
			}
			else = {
				every_country = {
					limit = {
						is_faction_leader = yes
					}
					add_to_variable = {
						var = global.nkmp_faction_count_var
						value = 1
					}
				}
			}
			every_country = {
				limit = {
					is_in_faction = yes
				}
				add_to_variable = {
					var = global.nkmp_faction_country_count_var
					value = 1
				}
			}
		}
	}
	##### Update War Data #####
	on_war = {
		effect = {
			add_to_variable = {
				var = global.nkmp_total_wars_var
				value = 1
			}
			every_country = {
				limit = {
					NOT = {
						has_idea = nkmp_enabled_mods_idea
						has_idea = nkmp_enabled_industry_mods_idea
						has_idea = nkmp_enabled_military_mods_idea
					}
				}
				add_ideas = nkmp_enabled_mods_idea
				add_ideas = nkmp_enabled_industry_mods_idea
				add_ideas = nkmp_enabled_military_mods_idea
			}
		}
	}
	on_peace = {
		effect = {
			subtract_from_variable = {
				var = global.nkmp_total_wars_var
				value = 1
			}
			every_country = {
				limit = {
					NOT = {
						has_idea = nkmp_enabled_mods_idea
						has_idea = nkmp_enabled_industry_mods_idea
						has_idea = nkmp_enabled_military_mods_idea
					}
				}
				add_ideas = nkmp_enabled_mods_idea
				add_ideas = nkmp_enabled_industry_mods_idea
				add_ideas = nkmp_enabled_military_mods_idea
			}
		}
	}
	on_nuke_drop = {
		effect = {
			add_to_variable = {
				var = global.nkmp_nukes_dropped_var
				value = 1
			}
		}
	}
	on_government_exiled = {
		effect = {
			add_to_variable = {
				var = global.nkmp_countries_exiled_count_var
				value = 1
			}
		}
	}
	on_exile_government_reinstated = {
		effect = {
			subtract_from_variable = {
				var = global.nkmp_countries_exiled_count_var
				value = 1
			}
		}
	}
	##### Update Annex Data #####
	on_annex = {
		effect = {
			##### Clearing Data #####
			clear_variable = global.nkmp_countries_subjects_var
			clear_variable = global.nkmp_countries_minor_var
			clear_variable = global.nkmp_var_player_count
			clear_variable = global.nkmp_countries_var
			clear_variable = global.nkmp_ai_countries_var
			##### Setting Data #####
			every_country = {
				limit = {
					is_major = no
				}
				add_to_variable = {
					var = global.nkmp_countries_minor_var
					value = 1
				}
			}
			every_country = {
				add_to_variable = {
					var = global.nkmp_countries_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_ai = yes
				}
				add_to_variable = {
					var = global.nkmp_ai_countries_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_ai = no
				}
				add_to_variable = {
					var = global.nkmp_var_player_count
					value = 1
				}
			}
			every_country = {
				limit = {
					is_subject = yes
				}
				add_to_variable = {
					var = global.nkmp_countries_subjects_var
					value = 1
				}
			}
		}
	}
	##### Update Subject Data #####
	on_subject_annexed = {
		effect = {
			##### Clearing Data #####
			clear_variable = global.nkmp_countries_subjects_var
			clear_variable = global.nkmp_countries_minor_var
			clear_variable = global.nkmp_var_player_count
			clear_variable = global.nkmp_countries_var
			clear_variable = global.nkmp_ai_countries_var
			##### Setting Data #####
			every_country = {
				limit = {
					is_major = no
				}
				add_to_variable = {
					var = global.nkmp_countries_minor_var
					value = 1
				}
			}
			every_country = {
				add_to_variable = {
					var = global.nkmp_countries_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_ai = yes
				}
				add_to_variable = {
					var = global.nkmp_ai_countries_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_ai = no
				}
				add_to_variable = {
					var = global.nkmp_var_player_count
					value = 1
				}
			}
			every_country = {
				limit = {
					is_subject = yes
				}
				add_to_variable = {
					var = global.nkmp_countries_subjects_var
					value = 1
				}
			}
		}
	}
	on_subject_free = {
		effect = {
			##### Clearing Data #####
			clear_variable = global.nkmp_countries_subjects_var
			clr_country_flag = nkmp_flg_enable_decisions
			##### Setting Data #####
			every_country = {
				limit = {
					is_subject = yes
				}
				add_to_variable = {
					var = global.nkmp_countries_subjects_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_subject = yes
					OVERLORD = {
						is_ai = no
					}
				}
				nkmp_update_vassal_research_group = yes
			}
		}
	}
	on_puppet = {
		effect = {
			##### Clearing Data #####
			clear_variable = global.nkmp_countries_subjects_var
			##### Setting Data #####
			every_country = {
				limit = {
					is_subject = yes
				}
				add_to_variable = {
					var = global.nkmp_countries_subjects_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_subject = yes
					OVERLORD = {
						is_ai = no
					}
				}
				nkmp_update_vassal_research_group = yes
				set_country_flag = nkmp_flg_enable_decisions
			}
		}
	}
	on_release_as_puppet = {
		effect = {
			##### Clearing Data #####
			clear_variable = global.nkmp_countries_subjects_var
			clear_variable = global.nkmp_countries_var
			clear_variable = global.nkmp_countries_minor_var
			clear_variable = global.nkmp_ai_countries_var
			##### Setting Data #####
			every_country = {
				limit = {
					is_subject = yes
				}
				add_to_variable = {
					var = global.nkmp_countries_subjects_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_major = no
				}
				add_to_variable = {
					var = global.nkmp_countries_minor_var
					value = 1
				}
			}
			every_country = {
				add_to_variable = {
					var = global.nkmp_countries_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_ai = yes
				}
				add_to_variable = {
					var = global.nkmp_ai_countries_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_subject = yes
					OVERLORD = {
						is_ai = no
					}
				}
				nkmp_update_vassal_research_group = yes
				set_country_flag = nkmp_flg_enable_decisions
			}
		}
	}
	##### Update Free Country Data #####
	on_release_as_free = {
		effect = {
			##### Clearing Data #####
			clear_variable = global.nkmp_countries_var
			clear_variable = global.nkmp_countries_minor_var
			clear_variable = global.nkmp_ai_countries_var
			##### Setting Data #####
			every_country = {
				limit = {
					is_major = no
				}
				add_to_variable = {
					var = global.nkmp_countries_minor_var
					value = 1
				}
			}
			every_country = {
				add_to_variable = {
					var = global.nkmp_countries_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_ai = yes
				}
				add_to_variable = {
					var = global.nkmp_ai_countries_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_ai = yes
					is_subject = no
					OR = {
						has_country_flag = nkmp_in_research_group_1
						has_country_flag = nkmp_in_research_group_2
						has_country_flag = nkmp_in_research_group_3
						has_country_flag = nkmp_in_research_group_4
						has_country_flag = nkmp_in_research_group_5
						has_country_flag = nkmp_in_research_group_6
						has_country_flag = nkmp_in_research_group_7
						has_country_flag = nkmp_in_research_group_8
						has_country_flag = nkmp_in_research_group_9
						has_country_flag = nkmp_in_research_group_10
						has_country_flag = nkmp_in_research_group_11
						has_country_flag = nkmp_in_research_group_12
						has_country_flag = nkmp_in_research_group_13
						has_country_flag = nkmp_in_research_group_14
						has_country_flag = nkmp_in_research_group_15
						has_country_flag = nkmp_in_research_group_16
						has_country_flag = nkmp_in_research_group_17
						has_country_flag = nkmp_in_research_group_18
						has_country_flag = nkmp_in_research_group_19
						has_country_flag = nkmp_in_research_group_20
					}
				}
				nkmp_leave_tech_sharing_group = yes
			}
		}
	}
	on_liberate = {
		effect = {
			##### Clearing Data #####
			clear_variable = global.nkmp_countries_var
			clear_variable = global.nkmp_countries_minor_var
			clear_variable = global.nkmp_ai_countries_var
			##### Setting Data #####
			every_country = {
				limit = {
					is_major = no
				}
				add_to_variable = {
					var = global.nkmp_countries_minor_var
					value = 1
				}
			}
			every_country = {
				add_to_variable = {
					var = global.nkmp_countries_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_ai = yes
				}
				add_to_variable = {
					var = global.nkmp_ai_countries_var
					value = 1
				}
			}
			every_country = {
				limit = {
					is_ai = yes
					is_subject = no
					OR = {
						has_country_flag = nkmp_in_research_group_1
						has_country_flag = nkmp_in_research_group_2
						has_country_flag = nkmp_in_research_group_3
						has_country_flag = nkmp_in_research_group_4
						has_country_flag = nkmp_in_research_group_5
						has_country_flag = nkmp_in_research_group_6
						has_country_flag = nkmp_in_research_group_7
						has_country_flag = nkmp_in_research_group_8
						has_country_flag = nkmp_in_research_group_9
						has_country_flag = nkmp_in_research_group_10
						has_country_flag = nkmp_in_research_group_11
						has_country_flag = nkmp_in_research_group_12
						has_country_flag = nkmp_in_research_group_13
						has_country_flag = nkmp_in_research_group_14
						has_country_flag = nkmp_in_research_group_15
						has_country_flag = nkmp_in_research_group_16
						has_country_flag = nkmp_in_research_group_17
						has_country_flag = nkmp_in_research_group_18
						has_country_flag = nkmp_in_research_group_19
						has_country_flag = nkmp_in_research_group_20
					}
				}
				nkmp_leave_tech_sharing_group = yes
			}
		}
	}
}
