﻿@ai_standard_liege_desire = 2
@ai_standard_vassal_desire = 1


republic_government_obligations = {
	obligation_levels = {
		default = {
			levies = 0.1
			tax = {
				if = {
					limit = { scope:liege = { has_government = tribal_government } }
					value = 0.05
				}
				else = {
					value = 0.2
				}
			}
			contribution_desc = {
				first_valid = {
					triggered_desc = {
						trigger = { scope:liege = { has_government = tribal_government } }
						desc = "tribal_liege_inefficiency"
					}
				}
			}
		}
	}
}

feudal_government_taxes = {
	display_mode = tree
	icon = gold_icon
	is_shown = {
		scope:vassal.primary_title.tier >= tier_duchy
	}
	obligation_levels = {
		feudal_tax_exempt = {
			position = { 0 0 }

			tax = exempt_feudal_tax
			vassal_opinion = 10

			ai_liege_desire = 1
			ai_vassal_desire = 5
		}
		feudal_tax_low = {
			parent = feudal_tax_exempt
			position = { 1 0 }

			tax = low_feudal_tax
			vassal_opinion = 5

			ai_liege_desire = 2
			ai_vassal_desire = 4
		}
		feudal_tax_normal = {
			default = yes
			parent = feudal_tax_low
			position = { 2 0 }

			tax = normal_feudal_tax

			ai_liege_desire = 3
			ai_vassal_desire = 3
		}
		feudal_tax_high = {
			parent = feudal_tax_normal
			position = { 3 0 }
			
			tax = high_feudal_tax
			vassal_opinion = -15

			ai_liege_desire = 4
			ai_vassal_desire = 2
		}
		feudal_tax_extortionate = {
			parent = feudal_tax_high
			position = { 4 0 }
			
			tax = extortionate_feudal_tax
			vassal_opinion = -25

			ai_liege_desire = 5
			ai_vassal_desire = 1
		}
	}
}

feudal_government_levies = {
	display_mode = tree
	icon = soldier_icon
	is_shown = {
		scope:vassal.primary_title.tier >= tier_county
	}
	obligation_levels = {
		feudal_levies_exempt = {
			position = { 0 0 }

			levies = 0
			vassal_opinion = 10

			ai_liege_desire = 1
			ai_vassal_desire = 5
		}
		feudal_levies_low = {
			parent = feudal_levies_exempt
			position = { 1 0 }

			levies = 0.1
			vassal_opinion = 5

			ai_liege_desire = 2
			ai_vassal_desire = 4
		}
		feudal_levies_normal = {
			default = yes
			parent = feudal_levies_low
			position = { 2 0 }

			levies = 0.25

			ai_liege_desire = 3
			ai_vassal_desire = 3
		}
		feudal_levies_high = {
			parent = feudal_levies_normal
			position = { 3 0 }
			
			levies = 0.35
			vassal_opinion = -15

			ai_liege_desire = 4
			ai_vassal_desire = 2
		}
		feudal_levies_extortionate = {
			parent = feudal_levies_high
			position = { 4 0 }
			
			levies = 0.5
			vassal_opinion = -25

			ai_liege_desire = 5
			ai_vassal_desire = 1
		}
	}
}

# Everything below this line is 'Fine Print'

special_contract1 = {
	display_mode = radiobutton
	is_shown = {
		scope:vassal.primary_title.tier >= tier_county
	}
	obligation_levels = {
		special_contract1_none = {
			position = { 0 1 }
			
			ai_vassal_desire =  {
				value = 0
				if = {
					limit = {
						scope:vassal = {
							vassal_contract_has_flag = has_bastion_contract
						}
					}
					add =  @ai_standard_vassal_desire
				}
				if = {
					limit = {
						scope:vassal = {
							vassal_contract_has_flag = has_communal_tenure_contract
						}
					}
					add = @ai_standard_vassal_desire
				}
				if = {
					limit = {
						scope:vassal = {
							vassal_contract_has_flag = has_serjeanty_contract
						}
					}
					add = @ai_standard_vassal_desire
				}
				if = {
					limit = {
						scope:vassal = {
							vassal_contract_has_flag = has_borough_contract
						}
					}
					add = @ai_standard_vassal_desire
				}
			}
			
			
			ai_liege_desire =  {
				value = 0
				if = {
					limit = {
						scope:vassal = {
							vassal_contract_has_flag = has_bastion_contract
						}
					}
					add = @ai_standard_liege_desire
				}
				if = {
					limit = {
						scope:vassal = {
							vassal_contract_has_flag = has_communal_tenure_contract
						}
					}
					add = @ai_standard_liege_desire
				}
				if = {
					limit = {
						scope:vassal = {
							vassal_contract_has_flag = has_serjeanty_contract
						}
					}
					add = @ai_standard_liege_desire
				}
				if = {
					limit = {
						scope:vassal = {
							vassal_contract_has_flag = has_borough_contract
						}
					}
					add = @ai_standard_liege_desire
				}
			}
		}

		special_contract1_communal_tenure = {
			is_valid = {
				scope:vassal.primary_title.tier >= tier_barony
			}
			parent = special_contract1_none
			position = { 1 1 }
			default = yes
			
			levies_factor = 0.05
			tax_factor = 0.15
			
			vassal_modifier = {
				city_holding_build_speed = -0.50
				city_holding_build_gold_cost = -0.25
				republic_government_vassal_opinion = 10
			}
			
			flag = has_communal_tenure_contract
			
			ai_liege_desire =  {
				value = 4
			}
			ai_vassal_desire =  {
				value = 1
			}
		}
		special_contract1_borough = {
			is_valid = {
				scope:liege.culture = {
					has_innovation = innovation_guilds
				}
				scope:vassal.primary_title.tier >= tier_county
			}
			parent = special_contract1_none
			position = { 1 0 }
			
			tax_factor =  -0.75
			levies_factor = -0.75
			vassal_opinion = 10


			liege_modifier = {
				tyranny_loss_mult = 0.05
			}		
			vassal_modifier = {
				monthly_county_control_change_factor = 0.25
				county_opinion_add_even_if_baron = 50		
				development_growth_factor = 0.20
				development_growth = 0.2
			}
			
			flag = has_borough_contract
			
			ai_liege_desire =  {
				value = 3
			}
			ai_vassal_desire =  {
				value = 2
			}
		}
		special_contract1_bastion = {
			is_valid = {
				scope:liege.culture = {
					has_innovation = innovation_horseshoes
				}
				scope:vassal.primary_title.tier >= tier_duchy
			} 
			parent = special_contract1_none
			position = { 1 2 }
			
			tax_factor =  -0.25
			levies_factor = 0.25
			vassal_opinion = 25

			liege_modifier = {
				same_culture_mercenary_hire_cost_mult = -0.05
			}

			vassal_modifier = {
				same_culture_opinion = 25
				cultural_head_fascination_mult = 0.1
				ignore_negative_culture_opinion = yes
				monthly_lifestyle_xp_gain_mult = 0.20
			}
			
			flag = has_bastion_contract
			
			ai_liege_desire =  {
				value = 2
			}
			ai_vassal_desire =  {
				value = 3
			}
		}
		special_contract1_serjeanty = {
			is_valid = {
				scope:liege.culture = {
					has_innovation = innovation_divine_right
				}
				scope:vassal.primary_title.tier >= tier_duchy
			} 
			parent = special_contract1_none
			position = { 1 2 }
			tax_factor = 0.25
			levies_factor = -0.50
			vassal_opinion = 50
			
			liege_modifier = {
				vassal_tax_contribution_mult = 0.05
			}

			vassal_modifier = {
				domain_limit = 2
				vassal_limit = 10
				happy_powerful_vassal_tax_contribution_mult	 = 0.2
				direct_vassal_opinion = 25
			}
			
			flag = has_serjeanty_contract
			
			ai_liege_desire =  {
				value = 1
			}
			ai_vassal_desire =  {
				value = 4
			}
		}
	}
}

council_rights = {
	display_mode = checkbox
	obligation_levels = {
		council_rights_none = {
			default = yes
			position = { 0 0 }
			
			ai_liege_desire = @ai_standard_liege_desire
			ai_vassal_desire = 0
		}
		council_rights_guaranteed = {
			parent = council_rights_none
			position = { 1 0 }
			liege_modifier = {
				powerful_vassal_opinion = -25
			}
			vassal_modifier = {
				fellow_vassal_opinion = 10	
				courtier_and_guest_opinion = 10
				scheme_power = 10
				monthly_lifestyle_xp_gain_mult = 0.1
				title_creation_cost_mult = -0.25
			}
			
			flag = can_demand_council_seat
			
			liege_modifier = {
				powerful_vassal_opinion = -25
			}
			
			ai_liege_desire = 0
			ai_vassal_desire = @ai_standard_vassal_desire
		}
	}
}

title_revocation_rights = {
	display_mode = checkbox
	obligation_levels = {
		title_revocation_rights_default = {
			default = yes
			position = { 0 0 }
			
			ai_liege_desire = 1
			ai_vassal_desire = 0
		}
		title_revocation_rights_protected = {
			parent = title_revocation_rights_default

			position = { 1 0 }
			liege_modifier = {
				direct_vassal_opinion = -10
			}
			vassal_modifier = {
				player_heir_opinion	= 20
				independent_ruler_opinion = 10	
				close_relative_opinion = 10
				scheme_resistence = 10
				long_reign_bonus_mult = 0.25
			}
			
			flag = vassal_contract_cannot_revoke_titles
			
			ai_liege_desire = 0
			ai_vassal_desire = @ai_standard_vassal_desire
		}
	}
}

cultural_rights = {
	display_mode = checkbox
	is_shown = {
		NOT = {
			scope:vassal.culture = scope:liege.culture
		}
	}
	obligation_levels = {
		cultural_rights_none = {
			default = yes
			position = { 0 0 }
			
			ai_liege_desire = @ai_standard_liege_desire
			ai_vassal_desire = 0
		}
		cultural_rights_protected = {
			is_valid = {
				NOT = {
					scope:vassal.culture = scope:liege.culture
				}
			}
			parent = cultural_rights_none
			position = { 1 0 }
						
			liege_modifier = {
				same_culture_opinion = -5
				different_culture_opinion = 5
			}

			vassal_modifier = {
				county_opinion_add = 10
				same_culture_opinion = 20
			}
			
			flag = culturally_protected

			ai_liege_desire = 0
			ai_vassal_desire = 10
		}
	}
}

coinage_rights = {
	display_mode = checkbox
	is_shown = {
		scope:liege.culture = {
			has_innovation = innovation_currency_02
		}
	}
	obligation_levels = {
		coinage_rights_none = {
			default = yes
			position = { 0 0 }
			
			ai_liege_desire = @ai_standard_liege_desire
			ai_vassal_desire = 0
		}
		coinage_rights_granted = {
			is_valid = {
				scope:liege.culture = {
					has_innovation = innovation_currency_02
				}
			}
			parent = coinage_rights_none
			position = { 1 0 }
			
			liege_modifier = {	
				monthly_income_mult = 0.05
			}
			vassal_modifier = {
				embarkation_cost_mult = 0.25
				vassal_tax_mult = 0.15
				development_growth_factor = 0.1
				character_capital_county_monthly_development_growth_add = 0.2
			}
			
			ai_liege_desire = 0
			ai_vassal_desire = @ai_standard_vassal_desire
		}
	}
}

capitulare_devillis = {
	display_mode = checkbox
	is_shown = {
		scope:vassal = {
			vassal_contract_has_flag = has_communal_tenure_contract
		}
	}
	is_shown = {
		scope:liege.culture = {
			has_innovation = innovation_development_03
		}
	}
	obligation_levels = {
		capitulare_devillis_none = {
			default = yes
			position = { 0 0 }
			
			ai_liege_desire = @ai_standard_liege_desire
			ai_vassal_desire = 0
		}
		capitulare_devillis_allowed = {
			is_valid = {
				scope:vassal = {
					vassal_contract_has_flag = has_communal_tenure_contract
				}
			}
			is_valid = {
				scope:liege.culture = {
					has_innovation = innovation_development_03
				}
			}
			parent = capitulare_devillis_none
			position = { 1 0 }

			liege_modifier = {
				scheme_discovery_chance_mult = -0.1
			}

			vassal_modifier = {
				stewardship_scheme_power = 10
				diplomatic_range_mult = 0.25
				diplomacy_per_stress_level = 2
				health = 0.25
			}
						
			ai_liege_desire = 0
			ai_vassal_desire = @ai_standard_vassal_desire
		}
	}
}

kind_tax = {
	display_mode = checkbox
	is_shown = {
		scope:vassal = {
			vassal_contract_has_flag = has_communal_tenure_contract
		}
	}
	obligation_levels = {
		kind_tax_none = {
			default = yes
			position = { 0 0 }
			
			ai_liege_desire = @ai_standard_liege_desire
			ai_vassal_desire = 0
		}
		kind_tax_allowed = {
			is_valid = {
				scope:vassal = {
					vassal_contract_has_flag = has_communal_tenure_contract
				}
			}
			parent = kind_tax_none
			position = { 1 0 }
			
			tax_factor = -0.25
			vassal_opinion = -25
			vassal_modifier = {
				monthly_county_control_change_factor = 0.10
				domain_tax_mult_even_if_baron = 0.2	
				vassal_tax_contribution_mult = 0.25		
				county_opinion_add = 25
			}
			
						
			ai_liege_desire = 0
			ai_vassal_desire = @ai_standard_vassal_desire
		}
	}
}

artisan_guilds = {
	display_mode = checkbox
	is_shown = {
		scope:vassal = {
			vassal_contract_has_flag = has_borough_contract
		}
	}
	obligation_levels = {
		artisan_guilds_default = {
			default = yes
			position = { 0 0 }
			
			ai_liege_desire = @ai_standard_liege_desire
			ai_vassal_desire = 0
		}
			artisan_guilds_allowed = {
			is_valid = {
				scope:vassal = {
					vassal_contract_has_flag = has_borough_contract
				}
			}
			parent = artisan_guilds_default
			position = { 1 0 }

			liege_modifier = {
				build_gold_cost = 0.10
			}

			vassal_modifier = {
				naval_movement_speed_mult = 0.25
				holding_build_gold_cost = -0.2
				holding_build_speed = -0.5
				negate_stewardship_penalty_add = 5
			}
			
			ai_liege_desire = 0
			ai_vassal_desire = @ai_standard_vassal_desire
		}
	}
}

commercial_fairs_rights = {
	display_mode = checkbox
	is_shown = {
		scope:vassal = {
			vassal_contract_has_flag = innovation_currency_03
		}
	}
	is_shown = {
		scope:liege.culture = {
			has_innovation = innovation_battlements
		}
	}
	obligation_levels = {
		commercial_fairs_rights_none = {
			default = yes
			position = { 0 0 }
			
			ai_liege_desire = @ai_standard_liege_desire
			ai_vassal_desire = 0
		}
		commercial_fairs_rights_allowed = {
			is_valid = {
				scope:vassal = {
					vassal_contract_has_flag = innovation_currency_03
				}
			}
			is_valid = {
				scope:liege.culture = {
					has_innovation = innovation_battlements
				}
			}
			parent = commercial_fairs_rights_none
			position = { 1 0 }

			liege_modifier = {
				dread_per_tyranny_mult = -0.05
			}

			vassal_modifier = {
				development_growth = 0.1
				monthly_county_control_change_add = 0.2
				negate_fertility_penalty_add = 0.5
				courtier_opinion = 25
			}
			
			ai_liege_desire = 0
			ai_vassal_desire = @ai_standard_vassal_desire
		}
	}
}

patronize_the_7_arts = {
	display_mode = checkbox
	is_shown = {
		scope:vassal = {
			vassal_contract_has_flag = has_bastion_contract
		}
	}
	obligation_levels = {
		patronize_the_7_arts_none = {
			default = yes
			position = { 0 0 }
			
			ai_liege_desire = @ai_standard_liege_desire
			ai_vassal_desire = 0
		}
		patronize_the_7_arts_allowed = {
			is_valid = {
				scope:vassal = {
					vassal_contract_has_flag = has_bastion_contract
				}
			}
			parent = patronize_the_7_arts_none
			position = { 1 0 }

			liege_modifier = {
				tax_mult = -0.05
			}
			
			vassal_modifier = {
				monthly_lifestyle_xp_gain_mult = 0.2
				befriend_scheme_power_mult = 0.5
				genetic_trait_strengthen_chance = 0.25
				monthly_income_per_stress_level_mult = 0.1
			}
			
			ai_liege_desire = 0
			ai_vassal_desire = @ai_standard_vassal_desire
		}
	}
}

spread_local_tales = {
	display_mode = checkbox
	is_shown = {
		scope:vassal = {
			vassal_contract_has_flag = has_bastion_contract
		}
	}
	is_shown = {
		scope:liege.culture = {
			has_innovation = innovation_chronicle_writing
		}
	}
	obligation_levels = {
		spread_local_tales_none = {
			default = yes
			position = { 0 0 }
			
			ai_liege_desire = @ai_standard_liege_desire
			ai_vassal_desire = 0
		}
		spread_local_tales_allowed = {
			is_valid = {
				scope:vassal = {
					vassal_contract_has_flag = has_bastion_contract
				}
			}
			is_valid = {
				scope:liege.culture = {
					has_innovation = innovation_chronicle_writing
				}
			}
			parent = spread_local_tales_none
			position = { 1 0 }

			liege_modifier = {
				monthly_prestige_gain_per_dread_mult = -0.15
			}

			vassal_modifier = {
				prestige_level_impact_mult = 0.5
				monthly_prestige_gain_mult = 0.1
				enemy_hard_casualty_modifier = 0.25
				same_culture_opinion = 20
			}

			ai_liege_desire = 0
			ai_vassal_desire = @ai_standard_vassal_desire
		}
	}
}
missi_dominici = {
	display_mode = checkbox
	is_shown = {
		scope:vassal = {
			vassal_contract_has_flag = has_serjeanty_contract
		}
	}
	is_shown = {
		scope:liege.culture = {
			has_innovation = innovation_baliffs
		}
	}
	obligation_levels = {
		missi_dominici_none = {
			default = yes
			position = { 0 0 }
			
			ai_liege_desire = @ai_standard_liege_desire
			ai_vassal_desire = 0
		}
		missi_dominici_allowed = {
			is_valid = {
				scope:vassal = {
					vassal_contract_has_flag = has_serjeanty_contract
				}
			}
			is_valid = {
				scope:liege.culture = {
					has_innovation = innovation_baliffs
				}
			}
			parent = missi_dominici_none
			position = { 1 0 }

			liege_modifier = {
				liege_opinion = -15
			}

			vassal_modifier = {
				vassal_tax_contribution_mult = 0.2
				vassal_levy_contribution_mult = 0.2
				powerful_vassal_opinion = 10
				genetic_trait_strengthen_chance = 0.25
			}
						
			ai_liege_desire = 0
			ai_vassal_desire = @ai_standard_vassal_desire
		}
	}
}
property_survey = {
	display_mode = checkbox
	is_shown = {
		scope:vassal = {
			vassal_contract_has_flag = has_serjeanty_contract
		}
	}
	obligation_levels = {
		property_survey_none = {
			default = yes
			position = { 0 0 }
			
			ai_liege_desire = @ai_standard_liege_desire
			ai_vassal_desire = 0
		}
		property_survey_allowed = {
			is_valid = {
				scope:vassal = {
					vassal_contract_has_flag = has_serjeanty_contract
				}
			}
			parent = property_survey_none
			position = { 1 0 }
			
			liege_modifier = {
				monthly_lifestyle_xp_gain_mult = -0.1
			}

			vassal_modifier = {
				defender_advantage = 5
				monthly_prestige_from_buildings_mult = 0.25
				army_maintenance_mult = -0.2
				stewardship_per_stress_level = 2
			}
			
			ai_liege_desire = 0
			ai_vassal_desire = @ai_standard_vassal_desire
		}
	}
}