﻿RegRew_choose_side_interaction = { 
	interface_priority = 1000
	common_interaction = yes
	icon = scroll_scales
	category = interaction_category_diplomacy
	desc = RegRew_choose_side_interaction_desc
	
	send_name = RegRew_choose_side_interaction_name

	
	is_shown = {
		scope:actor = { 
			is_ai = no 
			is_independent_ruler = no
			this.liege ?= {
				has_active_diarchy = yes
				RegRew_mod_requirement_trigger = yes
			}
		}
		scope:recipient = scope:actor
	}
	
	is_valid_showing_failures_only = {		
		scope:actor = { is_ai = no }
		
	}
	
	send_option = {
		flag = liege
		localization = RegRew_choose_side_liege
	}
	send_option = {
		flag = neutral
		localization = RegRew_choose_side_neutral
	}
	send_option = {
		flag = diarch
		localization = RegRew_choose_side_diarch
	}
	
	on_accept = {
		switch = {
			trigger = yes
			scope:liege = {
				scope:actor = {
					custom_tooltip = RegRew_choose_side_interaction_liege_tt
					custom_tooltip = RegRew_choose_side_interaction_liege_ttt
					
					add_character_flag = choose_side_liege_flag
					remove_character_flag = choose_side_neutral_flag
					remove_character_flag = choose_side_diarch_flag
				}
			}
			scope:neutral = {
				scope:actor = {
					custom_tooltip = RegRew_choose_side_interaction_neutral_tt
					custom_tooltip = RegRew_choose_side_interaction_neutral_ttt
					
					add_character_flag = choose_side_neutral_flag
					remove_character_flag = choose_side_liege_flag
					remove_character_flag = choose_side_diarch_flag
				} 
			}
			scope:diarch = {
				scope:actor = {
					custom_tooltip = RegRew_choose_side_interaction_diarch_tt
					custom_tooltip = RegRew_choose_side_interaction_diarch_ttt
					
					add_character_flag = choose_side_diarch_flag
					remove_character_flag = choose_side_liege_flag
					remove_character_flag = choose_side_neutral_flag
				}
			}			
		}
	}
}

# voir pour influence dans une variable sur le recipient, la valeur peut se cummuler ainsi comme mettre un cooldown en mettant une variable sur l'actor avec le recipien en value pendant x année.
# puis lancer un event avec x années sur le recipient (verifier si vivant et check liege/diarch si toujours vivant aussi) pour reduire l'influence et la même valeur
# plus mettre selection multiple pour choisir liege ou diarch et mettre des check sur les flag:scop pour ne pouvoir choisir que celle qu'on veut
RegRew_influence_interaction = {
	interface_priority = 1000
	common_interaction = yes
	icon = scroll_scales
	category = interaction_category_diplomacy
	desc = RegRew_influence_interaction_desc
	prompt = RegRew_influence_interaction_prompt
	send_name = RegRew_influence_interaction_name
	send_options_exclusive = no
	
	is_shown = {
		scope:actor = { 
			is_ai = no 			
			OR = {
				this.liege ?= {
					has_active_diarchy = yes
					RegRew_mod_requirement_trigger = yes
				}
				AND = {
					has_active_diarchy = yes
					RegRew_mod_requirement_trigger = yes
				}
			}
		}
		NOT = { scope:recipient = scope:actor }
		OR = {
			trigger_if = {
				limit = { scope:actor.liege = { exists = this  } }
				scope:actor.liege = scope:recipient.liege
			}
			scope:recipient.liege = scope:actor
		}
		scope:recipient = { 
			OR = {
				has_variable =  RegRew_coup_liege_var
				has_variable =  RegRew_coup_neutral_var
				has_variable =  RegRew_coup_diarch_var
			}
		}
	}
	
	populate_recipient_list = {
		if = {
			limit = {
				scope:actor = {
					is_independent_ruler = no
					liege ?= {
						has_active_diarchy = yes
						RegRew_mod_requirement_trigger = yes
					}
				}
				trigger_if = {
					limit = {
						exists = scope:recipient.liege
						NOT = { scope:recipient = scope:recipient.liege }
					}
					scope:recipient = {
						OR = {
							is_vassal_of = scope:recipient.liege
							is_courtier_of = scope:recipient.liege
						}
					}
				}
				trigger_if = {
					limit = {
						exists = scope:actor.liege
					}
					NOT = { scope:actor = scope:actor.liege.diarch }
				}
			}
			scope:actor.liege = { add_to_list = characters }
			scope:actor.liege.diarch = { add_to_list = characters }
		}
	}
	
	redirect = {
		if = {
			limit = {
				scope:actor = {
					has_active_diarchy = yes
					RegRew_mod_requirement_trigger = yes
					scope:recipient.liege = scope:actor
				}
			}
			scope:actor = { save_scope_as = secondary_recipient }
		}
		else_if = {
			limit = {
				scope:recipient.liege ?= scope:actor.liege
				scope:actor.liege ?= {
					has_active_diarchy = yes
					RegRew_mod_requirement_trigger = yes
				}
				scope:actor = { is_diarch_of_target = scope:actor.liege }
			}
			scope:actor = { save_scope_as = secondary_recipient }
		}
	}
	
	is_valid_showing_failures_only = {		
		scope:actor = { 
			is_imprisoned = no
			age >= 12
			custom_tooltip = {
				text = RegRew_interaction_influence_no_ressource_tt
				OR = {
					has_usable_hook = scope:recipient
					has_strong_usable_hook = scope:recipient
					trigger_if = {
						limit = {
							scope:actor = {
								government_allows = administrative
							}
						}
						influence >= RegRew_influence_influence
					}
					prestige >= RegRew_influence_prestige
					gold >= RegRew_influence_gold
				}
			}
			custom_tooltip = {
				text = RegRew_influence_interaction_tt_t
				NOT = {
					is_target_in_variable_list = {
						name = RegRew_influenced_target_var
						target = scope:recipient
					}
				}
			}
		}
		scope:recipient = { 
			is_imprisoned = no
			is_incapable = no
			custom_tooltip = {
				text = RegRew_interaction_influence_trigger_opinion_tt
				RegRew_influence_valid_trigger = yes
			}
		}	
	}
	
	send_option = {
		is_valid = {
			scope:recipient = { RegRew_influence_valid_option_trigger = yes }
			scope:actor = {
				prestige >= RegRew_influence_prestige
			}
			NOT = { scope:hook = yes }
			NOT = { scope:influence = yes }
			NOT = { scope:gold = yes }
			exists = scope:secondary_recipient 
		}
		flag = prestige
		localization = SWING_PRESTIGE
	}
	send_option = {
		is_valid = {
			scope:recipient = { 
				OR = {
					RegRew_influence_valid_option_trigger = yes 
					has_trait = greedy
				}
			}
			scope:actor = {
				gold >= RegRew_influence_gold
			}
			NOT = { scope:hook = yes }
			NOT = { scope:influence = yes }
			NOT = { scope:prestige = yes }
			exists = scope:secondary_recipient 
		}
		flag = gold
		localization = GENERIC_SPEND_GOLD
	}
	
	
	send_option = {
		is_valid = {
			scope:recipient = { RegRew_influence_valid_option_trigger = yes }
			scope:actor = {
				OR = {
					has_usable_hook = scope:recipient
					has_strong_usable_hook = scope:recipient
				}
			}
			NOT = { scope:influence = yes }
			NOT = { scope:prestige = yes }
			NOT = { scope:gold = yes }
			exists = scope:secondary_recipient 
		}	
		flag = hook	
		localization = GENERIC_SPEND_A_HOOK
	}
	send_option = {
		is_shown = {
			scope:actor = {
				government_allows = administrative
			}
		}
		is_valid = {
			scope:recipient = { RegRew_influence_valid_option_trigger = yes }
			scope:actor = {
				influence >= RegRew_influence_influence
			}
			NOT = { scope:hook = yes }
			NOT = { scope:prestige = yes }
			NOT = { scope:gold = yes }
			exists = scope:secondary_recipient 
		}
		flag = influence	
		localization = SPEND_INFLUENCE
	}
	auto_accept = yes
	
	can_send = {
		OR = {
			scope:hook = yes
			scope:influence = yes
			scope:prestige = yes
			scope:gold = yes
		}
	}
	
	on_accept = {
		scope:actor = {
			stress_impact = {
				shy = minor_stress_impact_gain
			}
		}
		switch = {
			trigger = yes
			scope:hook = {
				scope:actor = {
					if = {
						limit = { 
							scope:secondary_recipient = {
								NOT = { is_diarch_of_target = scope:secondary_recipient.liege }
							}
						}
						if = {
							limit = { 
								has_usable_hook = scope:recipient 
								NOT = { has_strong_usable_hook = scope:recipient }
							}
							use_hook = scope:recipient
							scope:recipient = {									
								custom_tooltip = {
									text = RegRew_influence_interaction_liege_low_tt
									RegRew_influence_effect = { VALUE = RegRew_influence_liege_gain_low_value }
								}
								custom_tooltip = RegRew_influence_interaction_low_side_liege_change
							}
						}
						else_if = {
							limit = { 
								has_strong_usable_hook = scope:recipient 
							}
							use_hook = scope:recipient
							scope:recipient = {								
								custom_tooltip = {
									text = RegRew_influence_interaction_liege_high_tt
									RegRew_influence_effect = { VALUE = RegRew_influence_liege_gain_high_value }
								}
								custom_tooltip = RegRew_influence_interaction_high_side_liege_change
							}
						}
					}
					else_if = {
						limit = { 
							scope:secondary_recipient = {
								is_diarch_of_target = scope:secondary_recipient.liege
							}
						}
						if = {
							limit = { 
								has_usable_hook = scope:recipient 
								NOT = { has_strong_usable_hook = scope:recipient }
							}
							use_hook = scope:recipient
							scope:recipient = {									
								custom_tooltip = {
									text = RegRew_influence_interaction_diarch_low_tt
									RegRew_influence_effect = { VALUE = RegRew_influence_diarch_gain_low_value }
								}
								custom_tooltip = RegRew_influence_interaction_low_side_diarch_change
							}
						}
						else_if = {
							limit = { 
								has_strong_usable_hook = scope:recipient 
							}
							use_hook = scope:recipient
							scope:recipient = {								
								custom_tooltip = {
									text = RegRew_influence_interaction_diarch_high_tt
									RegRew_influence_effect = { VALUE = RegRew_influence_diarch_gain_high_value }
								}
								custom_tooltip = RegRew_influence_interaction_high_side_diarch_change
							}
						}
					}
				}
			}
			scope:influence = {
				scope:actor = {
					if = {
						limit = { 
							scope:secondary_recipient = {
								NOT = { is_diarch_of_target = scope:secondary_recipient.liege }
							}
						}
						change_influence = RegRew_influence_influence_loos
						scope:recipient = {							
							custom_tooltip = {
								text = RegRew_influence_interaction_liege_low_tt
								RegRew_influence_effect = { VALUE = RegRew_influence_liege_gain_low_value }
							}
							custom_tooltip = RegRew_influence_interaction_low_side_liege_change
						}
					}
					else_if = {
						limit = { 
							scope:secondary_recipient = {
								is_diarch_of_target = scope:secondary_recipient.liege
							}
						}
						change_influence = RegRew_influence_influence_loos
						scope:recipient = {							
							custom_tooltip = {
								text = RegRew_influence_interaction_diarch_low_tt
								RegRew_influence_effect = { VALUE = RegRew_influence_diarch_gain_low_value }
							}
							custom_tooltip = RegRew_influence_interaction_low_side_diarch_change
						}
					}
				}
			}
			scope:prestige = {
				scope:actor = {
					if = {
						limit = { 
							scope:secondary_recipient = {
								NOT = { is_diarch_of_target = scope:secondary_recipient.liege }
							}
						}
						add_prestige = RegRew_influence_prestige_loos
						scope:recipient = {								
							custom_tooltip = {
								text = RegRew_influence_interaction_liege_low_tt
								RegRew_influence_effect = { VALUE = RegRew_influence_liege_gain_low_value }
							}
							custom_tooltip = RegRew_influence_interaction_low_side_liege_change
						}
					}
					else_if = {
						limit = { 
							scope:secondary_recipient = {
								is_diarch_of_target = scope:secondary_recipient.liege
							}
						}
						add_prestige = RegRew_influence_prestige_loos
						scope:recipient = {								
							custom_tooltip = {
								text = RegRew_influence_interaction_diarch_low_tt
								RegRew_influence_effect = { VALUE = RegRew_influence_diarch_gain_low_value }
							}
							custom_tooltip = RegRew_influence_interaction_low_side_diarch_change
						}
					}
				}
			}
			scope:gold = {
				scope:actor = {
					if = {
						limit = { 
							scope:secondary_recipient = {
								NOT = { is_diarch_of_target = scope:secondary_recipient.liege }
							}
						}
						stress_impact = {
							greedy = minor_stress_impact_gain
						}
						pay_short_term_gold = {
							target = scope:recipient
							gold = RegRew_influence_gold
						}
						scope:recipient = {							
							custom_tooltip = {
								text = RegRew_influence_interaction_liege_low_tt
								RegRew_influence_effect = { VALUE = RegRew_influence_liege_gain_low_value }
							}
							custom_tooltip = RegRew_influence_interaction_low_side_liege_change
						}
					}
					else_if = {
						limit = { 
							scope:secondary_recipient = {
								is_diarch_of_target = scope:secondary_recipient.liege
							}
						}
						stress_impact = {
							greedy = minor_stress_impact_gain
						}
						pay_short_term_gold = {
							target = scope:recipient
							gold = RegRew_influence_gold
						}
						scope:recipient = {							
							custom_tooltip = {
								text = RegRew_influence_interaction_diarch_low_tt
								RegRew_influence_effect = { VALUE = RegRew_influence_diarch_gain_low_value }
							}
							custom_tooltip = RegRew_influence_interaction_low_side_diarch_change
						}
					}
				}
			}			
		}
	}
}