# -*- ck2.objectives -*-

# Murder someone out of revenge
plot_take_revenge = {
	type = realm_characters_plus # All characters in the same realm, plus rivals and relatives of self, parents, children and spouse
	intrigue_plot = yes
	murder_plot = yes

	# Plotter scope
	potential = {
		prisoner = no
		is_adult = yes
		is_incapable = no
		NOT = { trait = in_hiding }
	}

	# Target scope
	target_potential = {
		OR = {
			is_foe = FROM
			AND = {
				OR = {
					has_plot = plot_kill_character
					has_plot = plot_kill_spouse
					has_plot = plot_take_revenge
				}
				plot_is_known_by = FROM
				plot_target_char = {
					OR = {
						character = FROM
						is_child_of = FROM
						is_mother = FROM
						is_father = FROM
						is_married = FROM
					}
				}
			}
		}
		NOT = { trait = in_hiding }
	}

	# Target allow trigger for when players target a specific character in the GUI
	player_allow = {
		NOT = { character = FROM }
		is_within_diplo_range = FROM
	}

	# Target character scope
	allow = {
		NOT = { character = FROM }
		is_within_diplo_range = FROM
	}

	chance = {
		factor = 20
		modifier = {
			factor = 0
			FROM = {
				OR = {
					trait = kind
					trait = just
				}
				NOT = { trait = lunatic }
				NOT = { has_character_modifier = voice_of_satan }
				NOT = { has_flag = demon_child_non_pagan }
				NOT = { has_flag = demon_child }
			}
		}
		modifier = {
			factor = 0.1
			FROM = {
				NOT = { ai_ambition = -39 }
				NOT = { trait = lunatic }
				NOT = { has_character_modifier = voice_of_satan }
				NOT = { has_flag = demon_child_non_pagan }
				NOT = { has_flag = demon_child }
			}
		}
		modifier = {
			factor = 0.1
			FROM = {
				trait = honest
				NOT = { trait = lunatic }
				NOT = { has_character_modifier = voice_of_satan }
				NOT = { has_flag = demon_child_non_pagan }
				NOT = { has_flag = demon_child }
			}
		}
		modifier = {
			factor = 0.1
			FROM = { trait = slothful }
		}
		modifier = {
			factor = 0.1
			FROM = { trait = craven }
		}
		modifier = {
			factor = 0
			FROM = { pacifist = yes }
		}
		modifier = {
			factor = 1.5
			FROM = { trait = deceitful }
		}
		modifier = {
			factor = 2.0
			FROM = { trait = impaler }
		}
		modifier = {
			factor = 2.0
			FROM = { trait = brave }
		}
		modifier = {
			factor = 3.0
			FROM = { trait = wroth }
		}
		modifier = {
			factor = 3.0
			FROM = { trait = lunatic }
		}
		modifier = {
			factor = 10.0
			FROM = { trait = possessed }
		}
		modifier = {
			factor = 0
			FROM = { opinion = { who = ROOT value = 0 } }
		}
		modifier = {
			factor = 1.5
			NOT = { their_opinion = { who = FROM value = -25 } }
		}
		modifier = {
			factor = 2.0
			NOT = { their_opinion = { who = FROM value = -50 } }
		}
		modifier = {
			factor = 2.0
			NOT = { their_opinion = { who = FROM value = -75 } }
		}
		modifier = {
			factor = 0.25
			FROM = { NOT = { intrigue = 8 } }
		}
		modifier = {
			factor = 2
			FROM = { intrigue = 15 }
		}
		modifier = {
			factor = 2
			FROM = { intrigue = 20 }
		}
	}

	success = {
		is_alive = no
		hidden_tooltip = {
			FROM = {
				OR = {
					has_flag = murder_in_motion
					has_flag = hiding_murder_in_motion
				}
			}
		}
	}

	abort = {
		OR = {
			FROM = { has_flag = abort_plot }
			FROM = { prisoner = yes }
			FROM = { is_incapable = yes }
			AND = {
				is_alive = no
				NOR = {
					FROM = { has_flag = murder_in_motion }
					FROM = { has_flag = hiding_murder_in_motion }
				}
			}
		}
	}

	abort_effect = {
		FROM = {
			# Clear flags
			hidden_tooltip = {
				clr_flag = event7040
				clr_flag = event1007003
				clr_flag = murder_in_motion
				clr_flag = hiding_murder_in_motion
				clr_flag = plot_check
				clr_flag = allow_plotting
				clr_flag = plot_in_action
				clr_flag = abort_plot
			}
			emf_remove_plot_assisted_spying = yes
		}
	}

	effect = {
		FROM = {
			any_plot_backer = {
				reverse_opinion = {
					modifier = opinion_grateful
					who = FROM
					years = 5
				}
			}
			emf_remove_plot_assisted_spying = yes
			# Clear flags
			hidden_tooltip = {
				clr_flag = event7040
				clr_flag = event1007003
				clr_flag = murder_in_motion
				clr_flag = hiding_murder_in_motion
				clr_flag = plot_check
				clr_flag = allow_plotting
				clr_flag = plot_in_action
				clr_flag = abort_plot
			}
		}
	}
}

