# Plot tags need to start with 'plot_'

# Supported types:
# character, spouse, rivals, friends, liege_titles, vassal_titles, realm_titles, realm_characters, realm_characters_plus, independent_rulers
# Special: society_plot. When trigger fulfilled, anyone within the society can be invited. ROOT is the plotter. FROM is the target. FROMFROM is the society
# Note that "player_allow" has the target as ROOT, and the plotter (the player) as FROM!

###############
# PLOTS
###############

# Seize Trade Post for Doge in their demesne, or non-councillor in the same realm (Republics only)
plot_seize_trade_post_doge = {
	type = rep_trade_posts
	intrigue_plot = yes
	
	# Plotter scope
	potential = {
		has_dlc = "The Republic"
		is_patrician = yes
		is_merchant_republic = yes
		prisoner = no
		is_adult = yes
		is_incapable = no
		NOT = { trait = imbecile }
	}

	# Target scope
	target_potential = {
		has_trade_post = yes
		owner = {
			same_realm = FROM
		}
	}
	
	# Target scope
	allow = {
		# either it's in Doge's demesne, or patrician is not on council
		OR = {
			owned_by = FROM
			trade_post_owner = {			
				is_patrician = yes
				is_voter = no
				NOT = { owns = PREV }
			}
		}

		trade_post_owner = {
			NOT = { character = FROM }
			NOT = { 
				has_opinion_modifier = { who = FROM modifier = opinion_seized_tp }
			}
			
			# Only if there is no non-aggression-pact with the trade post owner
			FROM = {
				NOT = {
					has_non_aggression_pact_with = PREV
				}			
			}
			is_vassal_or_below_of = FROM
		}
	}

	# Title scope
	# FROM is plotter
	success = {
		trade_post_owner = {
			character = FROM
		}
	}

	# Title scope
	# FROM is plotter
	effect = {
		seize_trade_post = FROM
	}
	
	chance = {
		factor = 1 # Must be an integer
		
		modifier = {
			factor = 0
			FROM = {
				ai = yes
				war = yes
			}
		}
		modifier = {
			factor = 0
			ROOT = {
				holder_scope ={
					NOT = { character = FROM }
					reverse_opinion = { who = FROM value = 25 }
				}
			}
			OR = {
				FROM = { trait = envious }
				FROM = { trait = deceitful }
				FROM = { trait = ambitious }
			}
		}
		modifier = {
			factor = 0
			ROOT = {
				holder_scope ={
					NOT = { character = FROM }
					reverse_opinion = { who = FROM value = 50 }
				}
			}
			NOT = {
				OR = {
					FROM = { trait = envious }
					FROM = { trait = deceitful }
					FROM = { trait = ambitious }
				}
			}
		}
		modifier = {
			factor = 0.01
			FROM = { trait = content }
		}
		modifier = {
			factor = 0.2
			FROM = {
				OR = {
					trait = dull
					trait = slow
				}
			}
		}
		modifier = {
			factor = 0.2
			FROM = { trait = kind }
		}
		modifier = {
			factor = 0.2
			ROOT = {
				holder_scope ={
					NOT = { character = FROM }
					reverse_opinion = { who = FROM value = 0 }
				}
			}
			OR = {
				FROM = { trait = envious }
				FROM = { trait = deceitful }
				FROM = { trait = ambitious }
			}
		}
		modifier = {
			factor = 0.2
			ROOT = {
				holder_scope ={
					NOT = { character = FROM }
					reverse_opinion = { who = FROM value = 25 }
				}
			}
			NOT = {
				OR = {
					FROM = { trait = envious }
					FROM = { trait = deceitful }
					FROM = { trait = ambitious }
				}
			}
		}
		modifier = {
			factor = 1.5
			NOT = {
				ROOT = {
					holder_scope = {
						NOT = { character = FROM }
						reverse_opinion = { who = FROM value = -50 }
					}
				}
			}
		}
		modifier = {
			factor = 1.5
			NOT = { 
				ROOT = {
					holder_scope = {
						NOT = { character = FROM }
						reverse_opinion = { who = FROM value = -75 }
					}
				}
			}
		}
		modifier = {
			factor = 1.5
			FROM = { is_smart_trigger = yes }
		}
		modifier = {
			factor = 2.0
			FROM = { trait = envious }
		}
		modifier = {
			factor = 2.0
			FROM = { trait = deceitful }
		}
		modifier = {
			factor = 4.0
			FROM = { trait = ambitious }
		}
		modifier = {
			factor = 4.0
			ROOT = { 
				holder_scope = {
					num_of_trade_post_diff = {
						character = FROM
						value = 10
					}
				}
			}
		}
	}
}

# Seize Trade Post on Patricians not on council (Republics only) - non overlap with plot_seize_trade_post
plot_seize_trade_post_non_councillor = {
	type = rep_trade_posts
	intrigue_plot = yes

	# Plotter scope
	potential = {
		has_dlc = "The Republic"
		is_patrician = yes
		is_merchant_republic = no
		is_adult = yes
		prisoner = no
		is_incapable = no
		NOT = { trait = imbecile }
	}

	# Target scope
	target_potential = {
		has_trade_post = yes

		any_neighbor_province = {
			has_trade_post = yes

			trade_post_owner = {
				character = FROM
			}
		}

		trade_post_owner = {
			# target not on council
			is_patrician = yes
			is_merchant_republic = no
			is_voter = no
			same_liege = FROM

			NOT = { character = FROM }

			# don't overlap with plot_seize_trade_post
			num_of_trade_post_diff = {
				character = FROM
				value < 1
			}
		}
	}

	# Target scope
	# FROM is plotter
	allow = {
		trade_post_owner = {
			NOT = {
				has_opinion_modifier = {
					name = opinion_seized_tp
					who = FROM
				}
			}

			# Only if there is no non-aggression-pact with the trade post owner
			NOT = { has_non_aggression_pact_with = FROM }
		}
	}

	# Title scope
	# FROM is plotter
	success = {
		trade_post_owner = {
			character = FROM
		}
	}

	# Title scope
	# FROM is plotter
	effect = {
		seize_trade_post = FROM
	}

	chance = {
		factor = 1 # Must be an integer

		trigger = {
			FROM = {
				trigger_if = {
					limit = { ai = yes } # Needed for some reason (maybe a bug)

					war = no

					trigger_if = {
						limit = {
							OR = {
								trait = envious
								trait = deceitful
								trait = ambitious
							}
						}

						ROOT = {
							trade_post_owner = {
								reverse_opinion = {
									who = FROM
									value < 50
								}
							}
						}
					}
					trigger_else = {
						ROOT = {
							trade_post_owner = {
								reverse_opinion = {
									who = FROM
									value < 25
								}
							}
						}
					}
				}
			}
		}

		mult_modifier = {
			factor = 0.01
			FROM = { trait = content }
		}

		mult_modifier = {
			factor = 0.2
			FROM = { is_dumb_trigger = yes }
		}

		mult_modifier = {
			factor = 0.2
			FROM = { trait = kind }
		}

		mult_modifier = {
			factor = 0.2

			trigger_if = {
				limit = {
					FROM = {
						OR = {
							trait = envious
							trait = deceitful
							trait = ambitious
						}
					}
				}

				trade_post_owner = {
					reverse_opinion = {
						who = FROM
						value >= 0
					}
				}
			}
			trigger_else = {
				trade_post_owner = {
					reverse_opinion = {
						who = FROM
						value >= 25
					}
				}
			}
		}

		mult_modifier = {
			factor = 1.5

			trade_post_owner = {
				reverse_opinion = {
					who = FROM
					value < -50
				}
			}
		}

		mult_modifier = {
			factor = 1.5

			trade_post_owner = {
				reverse_opinion = {
					who = FROM
					value < -75
				}
			}
		}

		mult_modifier = {
			factor = 1.5
			FROM = { is_smart_trigger = yes }
		}

		mult_modifier = {
			factor = 2.0
			FROM = { trait = envious }
		}

		mult_modifier = {
			factor = 2.0
			FROM = { trait = deceitful }
		}

		mult_modifier = {
			factor = 4.0
			FROM = { trait = ambitious }
		}

		mult_modifier = {
			factor = 4.0

			trade_post_owner = {
				num_of_trade_post_diff = {
					character = FROM
					value >= 10
				}
			}
		}
	}
}
