﻿add_namespace = outer_limits_operative_event

#operative event - operation completed
country_event = {
	id = outer_limits_operative_event.1
	immediate = { 
		if = { 
			limit = { is_debug = yes }
			log = "on_operation_completed 3 | ROOT: [key_operative_event_root_OL.GetName] | THIS: [key_operative_event_this_OL.GetName] | PREV: [key_operative_event_prev_OL.GetName] | FROM: [key_operative_event_from_OL.GetName]"
		}
	}
	title = outer_limits_operative_event.1.t
	desc = outer_limits_operative_event.1.desc
	picture = GFX_report_event_radar_01

	is_triggered_only = yes

	major = no

	option = {
		name = BUTTON_OK
	}
}

#operative event - operative killed 
#unknown killer country (addition to base game event)
operative_leader_event = {
	id = outer_limits_operative_event.2
	title = outer_limits_operative_event.2.t
	desc = outer_limits_operative_event.2.desc

	is_triggered_only = yes

	major = no

	option = {
		name = outer_limits_operative_event.2.a
		
	}
}

#operative event - operative promoted 
# NOT WORKING
# - operative event window is too small
# - trigger has_trait not working for operatives
operative_leader_event = {
	id = outer_limits_operative_event.3
	title = outer_limits_operative_event.3.t
	desc = outer_limits_operative_event.3.desc

	is_triggered_only = yes

	major = no

	option = {
		name = operative_commando
		trigger = {	
			ROOT = { NOT = { has_trait = operative_commando } }
		}
		ROOT = {
			add_unit_leader_trait = operative_commando
			log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_commando"
		}
	}
	option = {
		name = operative_seducer
		trigger = {	
			ROOT = { NOT = { has_trait = operative_seducer } }
		}
		ROOT = {
			add_unit_leader_trait = operative_seducer
			log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_seducer"
		}
	}
	option = {
		name = operative_infiltrator
		trigger = {	
			ROOT = { NOT = { has_trait = operative_infiltrator } }
		}
		ROOT = {
			add_unit_leader_trait = operative_infiltrator
			log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_infiltrator"
		}
	}
	option = {
		name = operative_master_interrogator
		trigger = {	
			ROOT = { NOT = { has_trait = operative_master_interrogator } }
		}
		ROOT = {
			add_unit_leader_trait = operative_master_interrogator
			log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_master_interrogator"
		}
	}
	option = {
		name = operative_tough
		trigger = {	
			ROOT = { NOT = { has_trait = operative_tough } }
		}
		ROOT = {
			add_unit_leader_trait = operative_tough
			log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_tough"
		}
	}
	option = {
		name = operative_safe_cracker
		trigger = {	
			ROOT = { NOT = { has_trait = operative_safe_cracker } }
		}
		ROOT = {
			add_unit_leader_trait = operative_safe_cracker
			log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_safe_cracker"
		}
	}
	option = {
		name = operative_well_groomed
		trigger = {	
			ROOT = { NOT = { has_trait = operative_well_groomed } }
		}
		ROOT = {
			add_unit_leader_trait = operative_well_groomed
			log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_well_groomed"
		}
	}
	option = {
		name = operative_natural_orator
		trigger = {	
			ROOT = { NOT = { has_trait = operative_natural_orator } }
		}
		ROOT = {
			add_unit_leader_trait = operative_natural_orator
			log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_natural_orator"
		}
	}
	option = {
		name = operative_escape_artist
		trigger = {	
			ROOT = { NOT = { has_trait = operative_escape_artist } }
		}
		ROOT = {
			add_unit_leader_trait = operative_escape_artist
			log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_escape_artist"
		}
	}
	option = {
		name = operative_demolition_expert
		trigger = {	
			ROOT = { NOT = { has_trait = operative_demolition_expert } }
		}
		ROOT = {
			add_unit_leader_trait = operative_demolition_expert
			log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_demolition_expert"
		}
	}
}

#operative event - operative promoted 
# NOT WORKING
# - trigger has_trait not working for operatives
operative_leader_event = {
	id = outer_limits_operative_event.4
	title = outer_limits_operative_event.3.t
	desc = outer_limits_operative_event.3.desc

	is_triggered_only = yes

	major = no

	option = {
		name = "Personality Trait"
		random_list = {
			log = yes
			10 = {
				modifier = {
					has_trait = operative_seducer
					factor = 0
				}
				ROOT = {
					add_unit_leader_trait = operative_seducer
					log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_seducer"
				}
			}
			10 = {
				modifier = {
					has_trait = operative_tough
					factor = 0
				}
				ROOT = {
					add_unit_leader_trait = operative_tough
					log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_tough"
				}
			}
			10 = {
				modifier = {
					has_trait = operative_safe_cracker
					factor = 0
				}
				ROOT = {
					add_unit_leader_trait = operative_safe_cracker
					log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_safe_cracker"
				}
			}
		}
	}
	option = {
		name = "Basic Trait"
		random_list = {
			log = yes
			10 = {
				modifier = {
					has_trait = operative_commando
					factor = 0
				}
				ROOT = {
					add_unit_leader_trait = operative_commando
					log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_commando"
				}
			}
			10 = {
				modifier = {
					has_trait = operative_infiltrator
					factor = 0
				}
				ROOT = {
					add_unit_leader_trait = operative_infiltrator
					log = "OL_SPY_reward | [ROOT.GetName] got trait: operative_infiltrator"
				}
			}
		}
	}
}

#operative event - operative promoted
# replacement until event 3 or 4 works
operative_leader_event = {
	id = outer_limits_operative_event.5
	title = outer_limits_operative_event.3.t
	desc = outer_limits_operative_event.3.desc
	minor_flavor = yes

	is_triggered_only = yes

	major = no

	option = {
		name = outer_limits_operative_event.3.a
		random_list = {
			#log = yes
			10 = {
				modifier = { 
					event_target:OL_SPY_country = { has_political_power < 100 }
					factor = 5
				}
				modifier = { 
					event_target:OL_SPY_country = { has_political_power > 400 }
					factor = 0
				}
				set_temp_variable_to_random = {
					var = temp_pp
					min = 3
					max = 5
					integer = no
				}
				multiply_temp_variable = { temp_pp = skill_level }
				event_target:OL_SPY_country = {
					set_temp_variable = { temp_pp_old = political_power }
					add_political_power = temp_pp
					log = "OL_SPY_reward | [OL_SPY_country.GetName] got [?temp_pp] PP | before: [?temp_pp_old] | after: [?political_power]"
				}
			}
			10 = {
				modifier = { 
					event_target:OL_SPY_country = { has_manpower < 100000 }
					factor = 5
				}
				modifier = { 
					event_target:OL_SPY_country = { has_manpower > 500000 }
					factor = 0
				}
				set_temp_variable_to_random = {
					var = temp_mp
					min = 30
					max = 50
					integer = yes
				}
				multiply_temp_variable = { temp_mp = skill_level }
				event_target:OL_SPY_country = {
					set_temp_variable = { temp_mp_old = manpower }
					add_manpower = temp_mp
					log = "OL_SPY_reward | [OL_SPY_country.GetName] got [?temp_mp] MP | before: [?temp_mp_old] | after: [?manpower]"
				}
			}
			10 = {
				modifier = { 
					event_target:OL_SPY_country = { command_power < 50 }
					factor = 5
				}
				modifier = { 
					event_target:OL_SPY_country = { command_power > 100 }
					factor = 0
				}
				set_temp_variable_to_random = {
					var = temp_cp
					min = 3
					max = 5
					integer = no
				}
				multiply_temp_variable = { temp_cp = skill_level }
				event_target:OL_SPY_country = {
					set_temp_variable = { temp_cp_old = command_power }
					add_command_power = temp_cp
					log = "OL_SPY_reward | [OL_SPY_country.GetName] got [?temp_cp] CP | before: [?temp_cp_old] | after: [?command_power]"
				}
			}
			10 = {
				modifier = { 
					event_target:OL_SPY_country = { has_army_experience < 100 }
					factor = 5
				}
				modifier = { 
					event_target:OL_SPY_country = { has_army_experience > 400 }
					factor = 0
				}
				set_temp_variable_to_random = {
					var = temp_army_xp
					min = 3
					max = 5
					integer = no
				}
				multiply_temp_variable = { temp_army_xp = skill_level }
				event_target:OL_SPY_country = {
					set_temp_variable = { temp_army_xp_old = army_experience }
					army_experience = temp_army_xp
					log = "OL_SPY_reward | [OL_SPY_country.GetName] got [?temp_army_xp] army xp | before: [?temp_army_xp_old] | after: [?army_experience]"
				}
			}
			10 = {
				modifier = { 
					event_target:OL_SPY_country = { has_navy_experience < 100 }
					factor = 5
				}
				modifier = { 
					event_target:OL_SPY_country = { has_navy_experience > 400 }
					factor = 0
				}
				set_temp_variable_to_random = {
					var = temp_navy_xp
					min = 3
					max = 5
					integer = no
				}
				multiply_temp_variable = { temp_navy_xp = skill_level }
				event_target:OL_SPY_country = {
					set_temp_variable = { temp_navy_xp_old = navy_experience }
					navy_experience = temp_navy_xp
					log = "OL_SPY_reward | [OL_SPY_country.GetName] got [?temp_navy_xp] navy xp | before: [?temp_navy_xp_old] | after: [?navy_experience]"
				}
			}
			10 = {
				modifier = { 
					event_target:OL_SPY_country = { has_air_experience < 100 }
					factor = 5
				}
				modifier = { 
					event_target:OL_SPY_country = { has_air_experience > 400 }
					factor = 0
				}
				set_temp_variable_to_random = {
					var = temp_air_xp
					min = 3
					max = 5
					integer = no
				}
				multiply_temp_variable = { temp_air_xp = skill_level }
				event_target:OL_SPY_country = {
					set_temp_variable = { temp_air_xp_old = air_experience }
					air_experience = temp_air_xp
					log = "OL_SPY_reward | [OL_SPY_country.GetName] got [?temp_air_xp] air xp | before: [?temp_air_xp_old] | after: [?air_experience]"
				}
			}
		}
	}
}