﻿expand_power_base = {
	# Basic Setup
	skill = stewardship
	desc = "expand_power_base_desc_general"
	success_desc = "EXPAND_POWER_BASE_SUCCESS_DESC" #Unop Added since it was missing
	icon = icon_scheme_expand_power_base
	illustration = "gfx/interface/illustrations/event_scenes/corridor.dds"
	target_type = character
	category = political
	cooldown = { years = 10 }

	# Parameters
	speed_per_skill_point = t2_spsp_owner_value
	spymaster_speed_per_skill_point = t2_spsp_owner_spy_value
	base_progress_goal = t2_base_phase_length_value
	base_maximum_success = t2_base_max_success_value
	phases_per_agent_charge = 1
	success_chance_growth_per_skill_point = t2_scgpsp_value
	is_secret = no

	# Core Triggers
	allow = {
		is_adult = yes
		is_imprisoned = no
		is_landed_or_landless_administrative = yes
	}

	# Agents
	agent_leave_threshold = -25
	agent_join_chance = {
		base = 0
		ai_agent_join_chance_basic_suite_modifier = yes	
	}
	valid_agent = { is_valid_agent_standard_trigger = yes }
	agent_groups_owner_perspective = { peer_vassals vassals councillors courtiers scripted_relations }

	odds_prediction = {
		add = base_odds_prediction_target_is_char_value
		add = odds_skill_contribution_stewardship_value
		add = agent_groups_owner_perspective_value
		min = 0
	}

	# Base Chances
	base_success_chance = {
		base = 0

		# Skill
		scheme_type_skill_success_chance_modifier = { SKILL = STEWARDSHIP }

		# Diarchs are better at schemes within their liege's realm
		diarch_scheming_within_realm_bonus_modifier = yes

		# Dynasty Kin Personal Scheme Success Chance on Dynasty Perk
		modifier = {
			add = kin_legacy_4_success_chance
			desc = KIN_LEGACY_DESC
			exists = scope:owner.dynasty
			scope:owner.dynasty = {
				has_dynasty_perk = kin_legacy_4
			}
			scope:target.dynasty = scope:owner.dynasty
		}

		# House Personal Scheme Success Chance on Cultural Parameter
		modifier = {
			add = cultural_house_personal_scheme_success_chance
			desc = KIN_PARAMETER_DESC
			exists = scope:owner.house
			exists = scope:target.house
			scope:owner.culture = {
				has_cultural_parameter = cultural_house_personal_scheme_success_chance
			}
			scope:target.house = scope:owner.house
		}

		# house_head_request_interaction
		modifier = {
			add = political_scheme_variable_list_value
			scope:owner = {
				has_variable_list = supporting_political_schemes
			}
			desc = HOUSE_HEAD_SCHEME_SUPPORT_DESC
		}
		modifier = {
			add = -10
			scope:owner = { has_character_modifier = political_schemes_distracted_modifier }
			desc = political_schemes_distracted_modifier
		}
		modifier = {
			scope:owner = {
				has_character_modifier = united_political_agents_modifier
				is_vassal_of = scope:target
			}
			desc = united_political_agents_modifier
			add = 15
		}
	}
	

	# On Actions
	on_start = {
		# Fallback agents — a balanced config if you start the scheme from script.
		if = {
			limit = {
				scheme_owner = {
					NOT = { has_variable = agents_added }
				}
			}
			add_agent_slot = agent_intermediary
			add_agent_slot = agent_proponent
			add_agent_slot = agent_sycophant
			add_agent_slot = agent_political_socialite
			add_agent_slot = agent_bureaucrat
		}
	}
	on_phase_completed = {
		suppress_scheme_follow_up_event_till_input_given_effect = yes
		expand_power_base_scheme_prep_effect = yes
		cap_schemes_and_fire_reminders_effect = yes
	}
	on_hud_click  = { expand_power_base_scheme_prep_effect = yes }
	on_semiyearly = {
		if = {
			limit = {
				scheme_owner = { is_ai = yes }
			}
			expand_power_base_scheme_prep_effect = yes
			purge_ai_scheme_slots_effect = yes
		}
	}

	## Invalidation
	on_invalidated = {
		scheme_target_character = {
			save_scope_as = target
		}
		scheme_owner = {
			save_scope_as = owner
			send_interface_toast = {
				type = event_toast_effect_neutral
				title = expand_power_base_invalidated_title
				left_icon = scope:target
				if = { # No more admin
					limit = {
						scope:owner = {
							NOT = { government_allows = administrative }
						}
					}
					custom_tooltip = scheme_owner_not_admin
				}
			}
		}
	}

	## Ongoing
	on_monthly = { fire_generic_contract_scheme_on_going_events_effect = yes }
}
