﻿namespace = mpo_nomads_season_events

mpo_nomads_season_events.0001 = { # Riding the Storm
	type = character_event
	title = mpo_nomads_season_events.0001.t
	desc = mpo_nomads_season_events.0001.desc

	theme = nomads

	override_background = { reference = mpo_steppe_evening }

	cooldown = { years = 10 }

	left_portrait = {
		character = root
		animation = scheme
	}

	right_portrait = {
		character = scope:storm_chaser
		animation = marshal_random_weapon
	}

	lower_right_portrait = {
		character = scope:raid_target
	}

	trigger = {
		has_mpo_dlc_trigger = yes
		government_has_flag = government_is_nomadic
		is_available = yes
		any_character_situation = {
		    any_situation_sub_region = {
		        sub_region_current_phase = situation_steppe_severe_drought_season
		        situation_sub_region_has_county = root.capital_county  
		    }
		}
		any_councillor = {
			is_kurultai_trigger = yes
			is_available = yes
		}
		any_neighboring_top_liege_realm_owner = {
			is_ai = yes
			NOR = {
				is_at_war_with = root
				is_allied_to = root
				has_truce = root
				has_relation_friend = root
				has_relation_best_friend = root
			}
		}
	}

	weight_multiplier = {
		base = 1
		modifier = {
			factor = -0.5
			is_ai = yes
		}
	}

	immediate = {
		random_councillor = {
			limit = {
				is_kurultai_trigger = yes
				is_available = yes
			}
			save_scope_as = storm_chaser
		}
		random_neighboring_top_liege_realm_owner = {
			limit = {
				is_ai = yes
				NOR = {
					is_at_war_with = root
					is_allied_to = root
					has_truce = root
					has_relation_friend = root
					has_relation_best_friend = root
				}
			}
			save_scope_as = raid_target
		}
		scope:raid_target = {
			capital_county = {
				save_scope_as = raid_county
			}
		}
	}

	option = { # Tomorrow, we ride!
		name = mpo_nomads_season_events.0001.a
		scope:raid_target = {
			pay_herd = {
				target = root
				value = scope:raid_target.domicile.medium_herd_value
			}
			add_opinion = {
				target = root
				modifier = stole_my_herd
			}
		}
		add_dread = medium_dread_gain
		if = {
			limit = {
				can_set_relation_rival_trigger = { CHARACTER = scope:raid_target }
			}
			progress_towards_rival_effect = {
				REASON = stole_my_herd
				CHARACTER = scope:raid_target
				OPINION = 0
			}
		}
		stress_impact = {
			lazy = minor_stress_impact_gain
			content = minor_stress_impact_gain
			just = medium_stress_impact_gain
		}

		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = lazy
					has_trait = content
					has_trait = just
				}
				add = -50
			}
			ai_value_modifier = {
				ai_honor = -1			
			}
		}
	}

	option = { # We must see to our own shelter.
		name = mpo_nomads_season_events.0001.b

		root.capital_county = {
			add_county_modifier = {
				modifier = mpo_storm_shelter_modifier
				years = 5
			}
		}

		stress_impact = {
			vengeful = medium_stress_impact_gain
			sadistic = minor_stress_impact_gain
		}

		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = vengeful
 					has_trait = sadistic
				}
				add = -50
			}
			ai_value_modifier = {
				ai_honor = 1			
			}
		}
	}
}

mpo_nomads_season_events.0005 = { # Hungry vassal
	type = character_event
	title = mpo_nomads_season_events.0005.t
	desc = mpo_nomads_season_events.0005.desc

	theme = nomads

	override_background = { reference = mpo_tent_interior_mongol }

	cooldown = { years = 10 }

	left_portrait = {
		character = root
		animation = shame
	}

	right_portrait = {
		character = scope:hungry_neighbour
		animation = obsequious_bow
	}

	trigger = {
		government_has_flag = government_is_nomadic
		has_mpo_dlc_trigger = yes
		is_available = yes
		any_character_situation = {
			NOR = {
			    any_situation_sub_region = {
			    	sub_region_current_phase = situation_steppe_abundant_grazing_season
			        situation_sub_region_has_county = root.capital_county  
			    }
			    any_situation_sub_region = {
			    	sub_region_current_phase = situation_steppe_sky_blessing_season
			        situation_sub_region_has_county = root.capital_county  
			    }
			    any_situation_sub_region = {
			    	sub_region_current_phase = situation_steppe_warm_nights_season
			        situation_sub_region_has_county = root.capital_county  
			    }
			}
		}
		any_vassal = {
			is_available_ai = yes
			NOT = {
				has_opinion_modifier = {
					modifier = obedience_opinion
					target = root
				}
			}
			domicile ?= {
				herd < minor_herd_value
			}
		}
	}

	immediate = {
		random_vassal = {
			limit = {
				is_available_ai = yes
				NOT = {
					has_opinion_modifier = {
						modifier = obedience_opinion
						target = root
					}
				}
				domicile ?= {
					herd < minor_herd_value
				}			
			}
			save_scope_as = hungry_neighbour
		}		
	}

	option = { # Give herd
		name = mpo_nomads_season_events.0005.a

		pay_herd = {
			target = scope:hungry_neighbour
			value = domicile.minor_herd_value
		}
		send_interface_toast = {
			type = event_toast_effect_good
			title = mpo_demand_obedience_interaction_toast
			left_icon = scope:hungry_neighbour
			scope:hungry_neighbour = {
				add_opinion = {
					target = root
					modifier = obedience_opinion
				}
			}
		}
		scope:hungry_neighbour = {
			add_character_flag = given_herd
		}

		stress_impact = {
			compassionate = medium_stress_impact_loss
			paranoid = medium_stress_impact_gain
			greedy = medium_stress_impact_gain
		}

		ai_chance = {
			base = 100
			modifier = {
				factor = 0
				OR = {
					domicile ?= {
						herd < medium_herd_value
					}
					has_trait = paranoid
					has_trait = greedy
				}
			}
			modifier = {
				factor = 20
				has_trait = compassionate
			}
			ai_value_modifier = {
				ai_sociability = 1
				ai_greed = -1
			}
		}
	}

	option = { # Arrange trade
		name = mpo_nomads_season_events.0005.b
		trigger = {
			scope:hungry_neighbour = {
				gold > root.medium_gold_value
			}
		}
		pay_herd = {
			target = scope:hungry_neighbour
			value = domicile.minor_herd_value
		}
		scope:hungry_neighbour = {
			pay_short_term_gold = {
				target = root
				gold = root.medium_gold_value
			}
		}

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_rationality = 1
			}
			modifier = {
				factor = 0
				domicile ?= {
					herd < medium_herd_value
				}
			}
		}
	}

	option = { # I think not!
		name = mpo_nomads_season_events.0005.c
 		reverse_add_opinion = {
			target = scope:hungry_neighbour
 			modifier = insulted_opinion
 			opinion = -15
 		}
		ai_chance = {
			base = 20
			ai_value_modifier = {
				ai_sociability = -1
				ai_greed = -1
			}
		}
	}
}

mpo_nomads_season_events.0010 = { # Your vassal offers herd during a season of bounty
	type = character_event
	title = mpo_nomads_season_events.0010.t
	desc = {
		desc = mpo_nomads_season_events.0010.desc
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:rich_neighbour = { has_character_flag = given_herd }
				}
				desc = mpo_nomads_season_events.0010.desc_offered_herd
			}
			desc = mpo_nomads_season_events.0010.desc_fallback
		}
	}
	
	theme = nomads

	override_background = { reference = mpo_tent_interior_mongol }

	cooldown = { years = 10 }

	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				has_trait = cynical
			}
			animation = personality_cynical
		}
		triggered_animation = {
			trigger = {
				scope:rich_neighbour = { has_character_flag = given_herd }
			}
			animation = flirtation
		}
		animation = personality_greedy
	}

	right_portrait = {
		character = scope:rich_neighbour
		triggered_animation = {
			trigger = {
				scope:rich_neighbour = { has_character_flag = given_herd }
			}
			animation = obsequious_bow
		}
		animation = steward
	}

	trigger = {
		has_mpo_dlc_trigger = yes
		government_has_flag = government_is_nomadic
		is_available = yes
		any_character_situation = {
			OR = {
			    any_situation_sub_region = {
			    	sub_region_current_phase = situation_steppe_abundant_grazing_season
			        situation_sub_region_has_county = root.capital_county  
			    }
			    any_situation_sub_region = {
			    	sub_region_current_phase = situation_steppe_sky_blessing_season
			        situation_sub_region_has_county = root.capital_county  
			    }
			    any_situation_sub_region = {
			    	sub_region_current_phase = situation_steppe_warm_nights_season
			        situation_sub_region_has_county = root.capital_county  
			    }
			}
		}
		any_vassal = {
			is_available_ai = yes
			trigger_if = {
				limit = {
					NOT = { has_character_flag = given_herd }
				}
				NOR = {
					is_councillor_of = root
					has_relation_blood_brother = root
					has_relation_friend = root
					has_relation_best_friend = root
				}
			}
			domicile ?= {
				herd > minor_herd_value
			}
		}
	}

	immediate = {
		random_vassal = {
			limit = {
				is_available_ai = yes
				trigger_if = {
					limit = {
						NOT = { has_character_flag = given_herd }
					}
					NOR = {
						is_councillor_of = root
						has_relation_blood_brother = root
						has_relation_friend = root
						has_relation_best_friend = root
					}
				}
				domicile ?= {
					herd > minor_herd_value
				}
			}
			save_scope_as = rich_neighbour
		}
	}

	option = { # Yes, I will buy herd from you.
		name = mpo_nomads_season_events.0010.a
		trigger = {
			NOT = {
				scope:rich_neighbour = {
					has_character_flag = given_herd
				}
			}
		}
		pay_short_term_gold = {
			target = scope:rich_neighbour
			gold = medium_gold_value
		}
		scope:rich_neighbour = {
			pay_herd = {
				target = root
				value = scope:rich_neighbour.domicile.minor_herd_value
			}
		}

		stress_impact = {
			greedy = medium_stress_impact_gain
		}

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_greed = -1
			}
			modifier = {
				factor = 50
				domicile ?= {
					herd < minor_herd_value
				}
			}
            modifier = {
                gold <= major_gold_value
                factor = 0
            }
		}
	}

	option = { # Forget the herd, I want you as my bro!
		name = mpo_nomads_season_events.0010.c
		trigger = {
			scope:rich_neighbour = {
				has_character_flag = given_herd
			}
			can_set_relation_blood_brother_trigger = { CHARACTER = scope:rich_neighbour }
		}
		add_internal_flag = special
		reason = gave_herd

		set_relation_blood_brother = {
			reason = sworn_blood_brother
			target = scope:rich_neighbour
		}

		stress_impact = {
			paranoid = medium_stress_impact_gain
			gregarious = medium_stress_impact_loss
		}

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_sociability = 1
			}
			modifier = {
				factor = 0
				has_trait = paranoid
			}
			modifier = {
				add = 50
				has_trait = gregarious
			}
		}
	}

	option = { # Free herd? Yes please!
		name = mpo_nomads_season_events.0010.b
		trigger = {
			scope:rich_neighbour = {
				has_character_flag = given_herd
			}
		}
		scope:rich_neighbour = {
			pay_herd = {
				target = root
				value = scope:rich_neighbour.domicile.medium_herd_value 
			}
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_greed = 1
			}
		}
	}

	option = { # Give me your herd, or your head!
		name = mpo_nomads_season_events.0010.d
		trigger = {
			NOT = {
				scope:rich_neighbour = {
					has_character_flag = given_herd
				}
			}
			is_ai = no
		}
        duel = {
            skill = prowess
            target = scope:rich_neighbour
            50 = {
                compare_modifier = {
                    value = scope:duel_value
                    multiplier = 3.5
                    min = -49
                }
                min = 5
                desc = mpo_nomads_season_events.0010.d.tt.success
				scope:rich_neighbour = {
					pay_herd = {
						target = root
						value = scope:rich_neighbour.domicile.medium_herd_value
					}
					increase_wounds_effect = { REASON = fight }
				}
                send_interface_toast = {
                    title = mpo_nomads_season_events.0010.d.tt.success
                    left_icon = root
                    right_icon = scope:rich_neighbour
                    scope:rich_neighbour = {
						add_opinion = {
							target = root
							modifier = stole_my_herd
						}
                    }
                }
            }
            50 = {
                compare_modifier = {
                    value = scope:duel_value
                    multiplier = -3.5
                    min = -49
                }
                min = 5
                desc = mpo_nomads_season_events.0010.d.tt.failure
                add_prestige = minor_prestige_loss
                send_interface_toast = {
                    title = mpo_nomads_season_events.0010.d.tt.failure
                    left_icon = scope:rich_neighbour
                    reverse_add_opinion = {
                        target = scope:rich_neighbour
                        modifier = insult_opinion 
                        opinion = -25
                    }
                }
            }
        }
		if = {
			limit = {
				can_set_relation_rival_trigger = { CHARACTER = scope:rich_neighbour }
			}
			progress_towards_rival_effect = {
				REASON = stole_my_herd
				CHARACTER = scope:rich_neighbour
				OPINION = 0
			}
		}
        stress_impact = {
        	just = medium_stress_impact_gain
        }

		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_energy = 1
			}
			modifier = {
				factor = 0
				has_trait = just
			}
			modifier = {
				factor = 50
				prowess > mediocre_skill_rating
			}
		}
	}
	option = { # I have no need to trade.
		name = mpo_nomads_season_events.0010.e
		trigger = {
			NOT = {
				scope:rich_neighbour = {
					has_character_flag = given_herd
				}
			}
		}
 		reverse_add_opinion = {
			target = scope:rich_neighbour
 			modifier = insulted_opinion
 			opinion = -15
 		} 		
		ai_chance = {
			base = 20
			ai_value_modifier = {
				ai_greed = 1
			}
		}
	}
	after = {
		scope:rich_neighbour = {
			if = {
				limit = {
					has_character_flag = given_herd
				}
				remove_character_flag = given_herd
			}
		}
	}
}

mpo_nomads_season_events.0015 = { # Two Kurultai members fight over food
	type = character_event
	title = mpo_nomads_season_events.0015.t
	desc = mpo_nomads_season_events.0015.desc

	theme = nomads

	override_background = { reference = mpo_campfire_steppe }

	cooldown = { years = 10 }

	left_portrait = {
		character = scope:kurultai_1
		animation = war_attacker
	}

	right_portrait = {
		character = scope:kurultai_2
		animation = aggressive_unarmed
	}

	trigger = {
		has_mpo_dlc_trigger = yes
		government_has_flag = government_is_nomadic
		is_available = yes
		any_character_situation = {
			NOR = {
			    any_situation_sub_region = {
			    	sub_region_current_phase = situation_steppe_abundant_grazing_season
			        situation_sub_region_has_county = root.capital_county  
			    }
			    any_situation_sub_region = {
			    	sub_region_current_phase = situation_steppe_sky_blessing_season
			        situation_sub_region_has_county = root.capital_county  
			    }
			    any_situation_sub_region = {
			    	sub_region_current_phase = situation_steppe_warm_nights_season
			        situation_sub_region_has_county = root.capital_county  
			    }
			}
		}
		OR = {
			domicile ?= {
				herd <= minor_herd_value
			}
		}
		any_councillor = {
			count >= 2
			is_kurultai_trigger = yes
			is_available_ai = yes
			NOT = { is_spouse_of = root }
		}
	}

	immediate = {
		random_councillor = {
			limit = {
				is_kurultai_trigger = yes
				is_available_ai = yes
				NOT = { is_spouse_of = root }
			}
			save_scope_as = kurultai_1
		}
		random_councillor = {
			limit = {
				is_kurultai_trigger = yes
				is_available_ai = yes
				NOT = {
					this = scope:kurultai_1
					is_spouse_of = root
				}
			}
			save_scope_as = kurultai_2
		}
	}

	option = { # Do not cry over spilled kumis.
		name = mpo_nomads_season_events.0015.a
 		reverse_add_opinion = {
			target = scope:kurultai_1
 			modifier = grateful_opinion
 			opinion = 30
 		}
 		add_prestige = minor_prestige_loss
 		stress_impact = {
 			calm = medium_stress_impact_loss
 			wrathful = medium_stress_impact_gain
 		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 20
				has_trait = calm
			}
			modifier = {
				factor = 0
				has_trait = wrathful
			}
		}
	}

	option = { # Go on, fight! Entertain the rest of us.
		name = mpo_nomads_season_events.0015.b
 		reverse_add_opinion = {
			target = scope:kurultai_2
 			modifier = grateful_opinion
 			opinion = 30
 		}
 		scope:kurultai_2 = {
	        duel = {
	            skill = prowess
	            target = scope:kurultai_1
	            50 = {
	                compare_modifier = {
	                    value = scope:duel_value
	                    multiplier = 3.5
	                    min = -49
	                }
	                min = 5
	                desc = mpo_nomads_season_events.0015.b.tt.success
	                scope:kurultai_1 = {
	                	add_trait = wounded_1
	                }
	                send_interface_toast = {
	                    title = mpo_nomads_season_events.0015.b.tt.success
	                    left_icon = scope:kurultai_1
	                }
	            }
	            50 = {
	                compare_modifier = {
	                    value = scope:duel_value
	                    multiplier = -3.5
	                    min = -49
	                }
	                min = 5
	                desc = mpo_nomads_season_events.0015.b.tt.failure
	                scope:kurultai_2 = {
	                	add_trait = wounded_1
	                }
	                send_interface_toast = {
	                    title = mpo_nomads_season_events.0015.b.tt.failure
	                    left_icon = scope:kurultai_2
	                }
	            }
	        }
 		}

 		stress_impact = {
 			wrathful = medium_stress_impact_loss
 			calm = medium_stress_impact_gain
 		}
		ai_chance = {
			base = 100
			modifier = {
				factor = 20
				has_trait = wrathful
			}
			modifier = {
				factor = 0
				has_trait = calm
			}
		}
	}

	option = { # Let it go, both of you.
		name = mpo_nomads_season_events.0015.c
        reverse_add_opinion = {
            target = scope:kurultai_1
            modifier = disappointed_opinion
            opinion = -15
        }
        reverse_add_opinion = {
            target = scope:kurultai_2
            modifier = disappointed_opinion
            opinion = -15
        }
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_rationality = 1			
			}
		}
	}
}
