﻿#Effects used in Lifestyle Focus events


#####################################################################
# EFFECT LIST
#####################################################################
# !!! Remember to add all new effects with a short description here !!!

#intrigue_dread_4001_torture_increase_effectiveness_with_trait_effect - Used in event to check torture methods against target's personality.
#intrigue_dread_4001_torture_increase_effectiveness_remove_trait_effect - Used in event to check torture methods against target's personality, then remove those personality traits.
#intrigue_scheming_4050_display_player_response_effect - Used in event to display a special tooltip if the secret buyer is a player.



#Find one personality trigger that the character has, and two that they do not.
decide_what_options_to_present_effect = {
	hidden_effect = {
		random_list = {
			1 = {
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_malicious_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_vengefulness = medium_chance_impact_positive_vengefulness
				}
				set_variable = {
					name = option_to_present
					value = flag:malicious
					days = 800
				}
			}
			1 = {
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_benevolent_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_compassion = medium_chance_impact_positive_compassion
					ai_rationality = low_chance_impact_positive_rationality
				}
				set_variable = {
					name = option_to_present
					value = flag:benevolent
					days = 800
				}
			}
			1 = {
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_dominant_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_boldness = medium_chance_impact_positive_boldness
				}
				set_variable = {
					name = option_to_present
					value = flag:dominant
					days = 800
				}
			}
			1 = {
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_submissive_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_boldness = medium_chance_impact_negative_boldness
					ai_energy = low_chance_impact_negative_energy
				}
				set_variable = {
					name = option_to_present
					value = flag:submissive
					days = 800
				}
			}
			1 = {
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_extroverted_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_boldness = medium_chance_impact_positive_boldness
					ai_compassion = low_chance_impact_positive_boldness
				}
				set_variable = {
					name = option_to_present
					value = flag:extroverted
					days = 800
				}
			}
			1 = {
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_introverted_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_boldness = medium_chance_impact_negative_boldness
				}
				set_variable = {
					name = option_to_present
					value = flag:introverted
					days = 800
				}
			}
			1 = {
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_emotional_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_energy = medium_chance_impact_positive_energy
				}
				set_variable = {
					name = option_to_present
					value = flag:emotional
					days = 800
				}
			}
			1 = {
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_levelheaded_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_rationality = medium_chance_impact_positive_rationality
				}
				set_variable = {
					name = option_to_present
					value = flag:levelheaded
					days = 800
				}
			}
		}
		#Fallback
		if = {
			limit = {
				NOT = {
					exists = var:option_to_present
				}
			}
			random_list = {
				1 = {
					set_variable = {
						name = option_to_present
						value = flag:malicious
						days = 800
					}
				}
				1 = {
					set_variable = {
						name = option_to_present
						value = flag:benevolent
						days = 800
					}
				}
				1 = {
					set_variable = {
						name = option_to_present
						value = flag:dominant
						days = 800
					}
				}
				1 = {
					set_variable = {
						name = option_to_present
						value = flag:submissive
						days = 800
					}
				}
				1 = {
					set_variable = {
						name = option_to_present
						value = flag:extroverted
						days = 800
					}
				}
				1 = {
					set_variable = {
						name = option_to_present
						value = flag:introverted
						days = 800
					}
				}
				1 = {
					set_variable = {
						name = option_to_present
						value = flag:emotional
						days = 800
					}
				}
				1 = {
					set_variable = {
						name = option_to_present
						value = flag:levelheaded
						days = 800
					}
				}
			}
		}
		#Bad option 1
		random_list = {
			1 = {
				trigger = {
					NOT = { var:option_to_present = flag:malicious }
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_malicious_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_vengefulness = medium_chance_impact_positive_vengefulness
				}
				set_variable = {
					name = option_1_fail_to_present
					value = flag:malicious
					days = 800
				}
			}
			1 = {
				trigger = {
					NOT = { var:option_to_present = flag:benevolent }
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_benevolent_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_compassion = medium_chance_impact_positive_compassion
					ai_rationality = low_chance_impact_positive_rationality
				}
				set_variable = {
					name = option_1_fail_to_present
					value = flag:benevolent
					days = 800
				}
			}
			1 = {
				trigger = {
					NOT = { var:option_to_present = flag:dominant }
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_dominant_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_boldness = medium_chance_impact_positive_boldness
				}
				set_variable = {
					name = option_1_fail_to_present
					value = flag:dominant
					days = 800
				}
			}
			1 = {
				trigger = {
					NOT = { var:option_to_present = flag:submissive }
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_submissive_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_boldness = medium_chance_impact_negative_boldness
					ai_energy = low_chance_impact_negative_energy
				}
				set_variable = {
					name = option_1_fail_to_present
					value = flag:submissive
					days = 800
				}
			}
			1 = {
				trigger = {
					NOT = { var:option_to_present = flag:extroverted }
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_extroverted_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_boldness = medium_chance_impact_positive_boldness
					ai_compassion = low_chance_impact_positive_boldness
				}
				set_variable = {
					name = option_1_fail_to_present
					value = flag:extroverted
					days = 800
				}
			}
			1 = {
				trigger = {
					NOT = { var:option_to_present = flag:introverted }
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_introverted_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_boldness = medium_chance_impact_negative_boldness
				}
				set_variable = {
					name = option_1_fail_to_present
					value = flag:introverted
					days = 800
				}
			}
			1 = {
				trigger = {
					NOT = { var:option_to_present = flag:emotional }
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_emotional_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_energy = medium_chance_impact_positive_energy
				}
				set_variable = {
					name = option_1_fail_to_present
					value = flag:emotional
					days = 800
				}
			}
			1 = {
				trigger = {
					NOT = { var:option_to_present = flag:levelheaded }
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_levelheaded_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_rationality = medium_chance_impact_positive_rationality
				}
				set_variable = {
					name = option_1_fail_to_present
					value = flag:levelheaded
					days = 800
				}
			}
		}
		#Fallback
		if = {
			limit = {
				NOT = {
					exists = var:option_1_fail_to_present
				}
			}
			random_list = {
				1 = {
					trigger = {
						NOT = { var:option_to_present = flag:malicious }
					}
					set_variable = {
						name = option_1_fail_to_present
						value = flag:malicious
						days = 800
					}
				}
				1 = {
					trigger = {
						NOT = { var:option_to_present = flag:benevolent }
					}
					set_variable = {
						name = option_1_fail_to_present
						value = flag:benevolent
						days = 800
					}
				}
				1 = {
					trigger = {
						NOT = { var:option_to_present = flag:dominant }
					}
					set_variable = {
						name = option_1_fail_to_present
						value = flag:dominant
						days = 800
					}
				}
				1 = {
					trigger = {
						NOT = { var:option_to_present = flag:submissive }
					}
					set_variable = {
						name = option_1_fail_to_present
						value = flag:submissive
						days = 800
					}
				}
				1 = {
					trigger = {
						NOT = { var:option_to_present = flag:extroverted }
					}
					set_variable = {
						name = option_1_fail_to_present
						value = flag:extroverted
						days = 800
					}
				}
				1 = {
					trigger = {
						NOT = { var:option_to_present = flag:introverted }
					}
					set_variable = {
						name = option_1_fail_to_present
						value = flag:introverted
						days = 800
					}
				}
				1 = {
					trigger = {
						NOT = { var:option_to_present = flag:emotional }
					}
					set_variable = {
						name = option_1_fail_to_present
						value = flag:emotional
						days = 800
					}
				}
				1 = {
					trigger = {
						NOT = { var:option_to_present = flag:levelheaded }
					}
					set_variable = {
						name = option_1_fail_to_present
						value = flag:levelheaded
						days = 800
					}
				}
			}
		}
		#Bad option 2
		random_list = {
			1 = {
				trigger = {
					NOR = {
						var:option_to_present = flag:malicious
						var:option_1_fail_to_present = flag:malicious
					}
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_malicious_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_vengefulness = medium_chance_impact_positive_vengefulness
				}
				set_variable = {
					name = option_2_fail_to_present
					value = flag:malicious
					days = 800
				}
			}
			1 = {
				trigger = {
					NOR = {
						var:option_to_present = flag:benevolent
						var:option_1_fail_to_present = flag:benevolent
					}
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_benevolent_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_compassion = medium_chance_impact_positive_compassion
					ai_rationality = low_chance_impact_positive_rationality
				}
				set_variable = {
					name = option_2_fail_to_present
					value = flag:benevolent
					days = 800
				}
			}
			1 = {
				trigger = {
					NOR = {
						var:option_to_present = flag:dominant
						var:option_1_fail_to_present = flag:dominant
					}
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_dominant_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_boldness = medium_chance_impact_positive_boldness
				}
				set_variable = {
					name = option_2_fail_to_present
					value = flag:dominant
					days = 800
				}
			}
			1 = {
				trigger = {
					NOR = {
						var:option_to_present = flag:submissive
						var:option_1_fail_to_present = flag:submissive
					}
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_submissive_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_boldness = medium_chance_impact_negative_boldness
					ai_energy = low_chance_impact_negative_energy
				}
				set_variable = {
					name = option_2_fail_to_present
					value = flag:submissive
					days = 800
				}
			}
			1 = {
				trigger = {
					NOR = {
						var:option_to_present = flag:extroverted
						var:option_1_fail_to_present = flag:extroverted
					}
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_extroverted_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_boldness = medium_chance_impact_positive_boldness
					ai_compassion = low_chance_impact_positive_boldness
				}
				set_variable = {
					name = option_2_fail_to_present
					value = flag:extroverted
					days = 800
				}
			}
			1 = {
				trigger = {
					NOR = {
						var:option_to_present = flag:introverted
						var:option_1_fail_to_present = flag:introverted
					}
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_introverted_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_boldness = medium_chance_impact_negative_boldness
				}
				set_variable = {
					name = option_2_fail_to_present
					value = flag:introverted
					days = 800
				}
			}
			1 = {
				trigger = {
					NOR = {
						var:option_to_present = flag:emotional
						var:option_1_fail_to_present = flag:emotional
					}
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_emotional_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_energy = medium_chance_impact_positive_energy
				}
				set_variable = {
					name = option_2_fail_to_present
					value = flag:emotional
					days = 800
				}
			}
			1 = {
				trigger = {
					NOR = {
						var:option_to_present = flag:levelheaded
						var:option_1_fail_to_present = flag:levelheaded
					}
				}
				modifier = {	
					add = 2
					scope:courtier_spy = {
						has_trait_levelheaded_trigger = yes
					}
				}
				ai_value_modifier = {
					ai_rationality = medium_chance_impact_positive_rationality
				}
				set_variable = {
					name = option_2_fail_to_present
					value = flag:levelheaded
					days = 800
				}
			}
		}
		#Fallback
		if = {
			limit = {
				NOT = {
					exists = var:option_2_fail_to_present
				}
			}
			random_list = {
				1 = {
					trigger = {
						NOR = {
							var:option_to_present = flag:malicious
							var:option_1_fail_to_present = flag:malicious
						}
					}
					set_variable = {
						name = option_2_fail_to_present
						value = flag:malicious
						days = 800
					}
				}
				1 = {
					trigger = {
						NOR = {
							var:option_to_present = flag:benevolent
							var:option_1_fail_to_present = flag:benevolent
						}
					}
					set_variable = {
						name = option_2_fail_to_present
						value = flag:benevolent
						days = 800
					}
				}
				1 = {
					trigger = {
						NOR = {
							var:option_to_present = flag:dominant
							var:option_1_fail_to_present = flag:dominant
						}
					}
					set_variable = {
						name = option_2_fail_to_present
						value = flag:dominant
						days = 800
					}
				}
				1 = {
					trigger = {
						NOR = {
							var:option_to_present = flag:submissive
							var:option_1_fail_to_present = flag:submissive
						}
					}
					set_variable = {
						name = option_2_fail_to_present
						value = flag:submissive
						days = 800
					}
				}
				1 = {
					trigger = {
						NOR = {
							var:option_to_present = flag:extroverted
							var:option_1_fail_to_present = flag:extroverted
						}
					}
					set_variable = {
						name = option_2_fail_to_present
						value = flag:extroverted
						days = 800
					}
				}
				1 = {
					trigger = {
						NOR = {
							var:option_to_present = flag:introverted
							var:option_1_fail_to_present = flag:introverted
						}
					}
					set_variable = {
						name = option_2_fail_to_present
						value = flag:introverted
						days = 800
					}
				}
				1 = {
					trigger = {
						NOR = {
							var:option_to_present = flag:emotional
							var:option_1_fail_to_present = flag:emotional
						}
					}
					set_variable = {
						name = option_2_fail_to_present
						value = flag:emotional
						days = 800
					}
				}
				1 = {
					trigger = {
						NOR = {
							var:option_to_present = flag:levelheaded
							var:option_1_fail_to_present = flag:levelheaded
						}
					}
					set_variable = {
						name = option_2_fail_to_present
						value = flag:levelheaded
						days = 800
					}
				}
			}
		}
	}
}


intrigue_dread_4001_select_prisoner_effect = {
	$PRISONER$ = {
		custom_tooltip = intrigue_dread.4001.a-c.tt
		add_character_flag = intrigue_dread_4001_victim_flag

		if = {
			limit = {
				is_close_or_extended_family_of = root
			}
			custom_tooltip = intrigue_dread.4001.kinslayer
		}
		if = {
			limit = {
				NOT = { is_in_prison_type = dungeon }
			}
			change_prison_type = dungeon
		}
		save_scope_as = victim
	}

	trigger_event = {
		id = intrigue_dread.4002
		days = { 3 5 }
	}
}

intrigue_dread_4001_torture_increase_effectiveness_with_trait_effect = {
	if = {
		limit = {
			scope:victim = {
				has_trait = $TRAIT$
			}
		}
		change_variable = {
			name = break_value
			subtract = 1
		}
	}
}

intrigue_dread_4001_torture_increase_effectiveness_remove_trait_effect = {
	if = {
		limit = {
			scope:victim = {
				has_trait = $TRAIT$
			}
		}
		change_variable = {
			name = break_value
			subtract = 1
		}
		scope:victim = {
			remove_trait = $TRAIT$
		}
	}
}

intrigue_scheming_4050_display_player_response_effect = {
	save_scope_value_as = {
		name = payment
		value = $PAYMENT$
	}
	if = {
		limit = {
			scope:payment = flag:gold
		}
		random_list = {
			1 = {
				desc = intrigue_scheming.4050.success
				show_chance = no
				show_as_tooltip = {
					scope:buyer = {
						pay_short_term_gold = {
							target = scope:seller
							gold = scope:saved_gold_amount
						}
					}
					scope:secret = {
						reveal_to = scope:buyer
					}
					custom_tooltip = intrigue_scheming_focus_point_clear_gain
					hidden_effect = { add_focus_progress = standard_lifestyle_focus_progress }
				}
			}
			1 = {
				desc = intrigue_scheming.4050.failure
				show_chance = no
			}
		}
	}
	else_if = {
		limit = {
			scope:payment = flag:secret
		}
		random_list = {
			1 = {
				desc = intrigue_scheming.4050.success
				show_chance = no
				show_as_tooltip = {
					custom_tooltip = intrigue_scheming.4050.b.tt
					scope:secret = {
						reveal_to = scope:buyer
					}
					custom_tooltip = intrigue_scheming_focus_point_clear_gain
					hidden_effect = { add_focus_progress = standard_lifestyle_focus_progress }
				}
			}
			1 = {
				desc = intrigue_scheming.4050.failure
				show_chance = no
			}
		}
	}
	else_if = {
		limit = {
			scope:payment = flag:favor
		}
		random_list = {
			1 = {
				desc = intrigue_scheming.4050.success
				show_chance = no
				show_as_tooltip = {
					scope:seller = {
						add_hook = {
							target = scope:buyer
							type = favor_hook
						}
					}
					scope:secret = {
						reveal_to = scope:buyer
					}
					custom_tooltip = intrigue_scheming_focus_point_clear_gain
					hidden_effect = { add_focus_progress = standard_lifestyle_focus_progress }
				}
			}
			1 = {
				desc = intrigue_scheming.4050.failure
				show_chance = no
			}
		}
	}
	else_if = {
		limit = {
			scope:payment = flag:reconciliation
		}
		random_list = {
			1 = {
				desc = intrigue_scheming.4050.success
				show_chance = no
				show_as_tooltip = {
					scope:buyer = {
						remove_relation_rival = scope:seller
					}
					scope:secret = {
						reveal_to = scope:buyer
					}
					custom_tooltip = intrigue_scheming_focus_point_clear_gain
					hidden_effect = { add_focus_progress = standard_lifestyle_focus_progress }
				}
			}
			1 = {
				desc = intrigue_scheming.4050.failure
				show_chance = no
			}
		}
	}
	else_if = {
		limit = {
			scope:payment = flag:opinion
		}
		random_list = {
			1 = {
				desc = intrigue_scheming.4050.success
				show_chance = no
				show_as_tooltip = {
					scope:buyer = {
						add_opinion = {
							modifier = grateful_opinion
							target = scope:seller
							opinion = 30
						}
					}
					scope:secret = {
						reveal_to = scope:buyer
					}
					custom_tooltip = intrigue_scheming_focus_point_clear_gain
					hidden_effect = { add_focus_progress = standard_lifestyle_focus_progress }
				}
			}
			1 = {
				desc = intrigue_scheming.4050.failure
				show_chance = no
			}
		}
	}

	scope:buyer = {
		trigger_event = intrigue_scheming.4051
	}
}

intrigue_scheming_4050_offer_refused_effect = {
	show_as_tooltip = {
		scope:buyer = {
			add_opinion = {
				modifier = insult_opinion
				target = scope:seller
				opinion = -10
			}
		}
	}
	trigger_event = {
		id = intrigue_scheming.4053
		days = { 5 7 }
	}
}

intrigue_temptation_3010_a_success_effect = {
	if = {
		limit = {
			NOT = { has_relation_friend = scope:wingman }
		}
		set_relation_friend = { reason = friend_seduction_tips target = scope:wingman involved_character = scope:bar_servant }
	}
	add_intrigue_lifestyle_xp = minor_lifestyle_xp
}

intrigue_temptation_3010_b_success_effect = {
	add_intrigue_lifestyle_xp = major_lifestyle_xp
}










