﻿namespace = loaa_sabotage_events

scripted_effect loaa_set_contract_scopes_effect = {
	scope:task_contract.task_contract_taker ?= {
		save_scope_as = task_contract_taker
	}
	scope:task_contract.task_contract_employer ?= {
		save_scope_as = task_contract_employer
	}
	if = {
		limit = {
			exists = scope:task_contract.task_contract_destination
		}
		scope:task_contract.task_contract_destination = {
			save_scope_as = task_contract_destination
		}
	}
	else = {
		scope:task_contract.var:task_contract_destination ?= {
			save_scope_as = task_contract_destination
		}
	}
	if = {
		limit = {
			exists = scope:task_contract.task_contract_target
		}
		scope:task_contract.task_contract_target ?= {
			save_scope_as = task_contract_target
		}
	}
	else = {
		scope:task_contract.var:task_contract_target ?= {
			save_scope_as = task_contract_target
		}
	}
	scope:task_contract.var:task_contract_war ?= {
		save_scope_as = task_contract_war
	}
	if = {
		limit = {
			exists = scope:task_contract.var:task_contract_object
		}
		scope:task_contract.var:task_contract_object = {
			save_scope_as = task_contract_object
		}
	}
	if = {
		limit = {
			exists = scope:task_contract.var:escorted_artifact
		}
		scope:task_contract.var:escorted_artifact = {
			save_scope_as = escorted_artifact
		}
	}
	if = {
		limit = {
			exists = scope:task_contract.var:escorted_gold
		}
		scope:task_contract.var:escorted_gold = {
			save_scope_as = escorted_gold
		}
	}
	if = {
		limit = {
			exists = scope:task_contract.var:escorted_story
		}
		scope:task_contract.var:escorted_story = {
			save_scope_as = escorted_story
		}
	}
}

# Owner POV — Success
loaa_sabotage_events.0001 = {
	type = character_event
	window = scheme_successful_event
	title = loaa_sabotage_events.0001.t
	desc = {
		# Opening.
		# What was our plan?
		first_valid = {
			# Scheme revealed.
			triggered_desc = {
				trigger = {
					scope:task_contract = {
						var:sabotage_task ?= flag:sow_dissent
					}
				}
				desc = loaa_sabotage_events.0000.sow_dissent
			}
			triggered_desc = {
				trigger = {
					scope:task_contract = {
						var:sabotage_task ?= flag:destroy_equipment
					}
				}
				desc = loaa_sabotage_events.0000.destroy_equipment
			}
			triggered_desc = {
				trigger = {
					scope:task_contract = {
						var:sabotage_task ?= flag:burn_crops
					}
				}
				desc = loaa_sabotage_events.0000.burn_crops
			}
		}
		# Secrecy.
		first_valid = {
			# Scheme revealed.
			triggered_desc = {
				trigger = { exists = scope:scheme_discovered }
				desc = loaa_sabotage_events.0000.discovered
			}
			# Scheme unrevealed.
			desc = loaa_sabotage_events.0000.kept_secret
		}
	}
	theme = intrigue
	override_background = { reference = burning_building }
	left_portrait = {
		character = scope:owner
		animation = schadenfreude
	}
	right_portrait = {
		character = scope:target
		animation = rage
	}

	override_background = { reference = burning_building }

	immediate = {
		# General owner success effects.
		if = {
			limit = {
				any_character_active_contract = {
					has_task_contract_type = loaa_sabotage_contract
					var:task_contract_target ?= scope:target
				}
			}
			random_character_active_contract = {
				limit = {
					has_task_contract_type = loaa_sabotage_contract
					var:task_contract_target ?= scope:target
				}
				save_scope_as = task_contract
			}
		}
		loaa_set_contract_scopes_effect = yes
		location.county ?= { save_scope_as = target_county }
		scope:target_county = {
			switch = {
				trigger = scope:task_contract.var:sabotage_task
				flag:sow_dissent = {
					scope:target_county = {
						add_county_modifier = {
							modifier = loaa_sabotage_provoked_unrest_modifier
							years = 5
						}
					}
				}
				flag:destroy_equipment = {
					scope:target_county = {
						every_county_province = {
							add_province_modifier = {
								modifier = loaa_sabotage_empty_armories_modifier
								years = 5
							}
						}
					}
				}
				flag:burn_crops = {
					scope:target_county = {
						add_county_modifier = {
							modifier = loaa_sabotage_crops_burned_modifier
							years = 5
						}
					}
				}
			}

		}
		if = {
			limit = { exists = scope:scheme_discovered }
			scope:task_contract_employer = { save_scope_as = employer_to_reveal }
		}
		show_as_tooltip = {
			scope:task_contract = {
				complete_task_contract = success_standard
			}
		}

	}

	option = {
		name = loaa_sabotage_events.0000.a
		if = {
			limit = { exists = scope:scheme_discovered }
			scope:target = {
				add_opinion = {
					opinion = -50
					target = root
					modifier = hate_opinion
				}
				add_opinion = {
					opinion = -50
					target = scope:employer
					modifier = hate_opinion
				}
			}
		}
		if = {
			limit = {
				scope:task_contract = {
						var:sabotage_task ?= flag:destroy_equipment
				}
			}
			add_character_modifier = {
				modifier = loaa_stolen_weapons_modifier
				years = 5
			}
		}

		custom_tooltip = laamp_base_contract_schemes.0000.f.contract_concluded
		current_travel_plan ?= {
			resume_travel_plan = yes
		}

	}

	# Fire the rest of the outcome.
	after = {
		scope:employer = {
			trigger_event = loaa_contract_event.0065
		}
		scope:target = {
			trigger_event = loaa_sabotage_events.0002
		}
	}
}

# Owner POV — Failure
loaa_sabotage_events.0003 = {
	type = character_event
	window = scheme_failed_event
	title = loaa_sabotage_events.0003.t
		desc = {
		desc = loaa_sabotage_events.0003.desc
		# Secrecy.
		first_valid = {
			# Scheme revealed.
			triggered_desc = {
				trigger = { exists = scope:scheme_discovered }
				desc = loaa_sabotage_events.0000.discovered
			}
			# Scheme unrevealed.
			desc = loaa_sabotage_events.0000.kept_secret_failure
		}
	}
	theme = intrigue
	left_portrait = {
		character = scope:owner
		triggered_animation = {
			trigger = { exists = scope:scheme_discovered }
			animation = fear
		}
		animation = stress
	}
	right_portrait = {
		character = scope:target
		triggered_animation = {
			trigger = { exists = scope:scheme_discovered }
			animation = rage
		}
		animation = personality_callous
	}
	override_background = { reference = terrain }


	immediate = {
		# Process ending effects.
		show_as_tooltip = {
			scope:task_contract = {
				complete_task_contract = failure_standard
			}
		}
	}

	option = {
		name = loaa_sabotage_events.0000.a_failure
		#scope:scheme = { end_scheme = yes }
	}

}

# Target POV - Success
loaa_sabotage_events.0002 = {
	type = character_event
	title = loaa_sabotage_events.0002.t
	desc = {
		first_valid = {
			# Scheme revealed.
			triggered_desc = {
				trigger = {
					scope:task_contract = {
						var:sabotage_task ?= flag:sow_dissent
					}
				}
				desc = loaa_sabotage_events.0002.sow_dissent
			}
			triggered_desc = {
				trigger = {
					scope:task_contract = {
						var:sabotage_task ?= flag:destroy_equipment
					}
				}
				desc = loaa_sabotage_events.0002.destroy_equipment
			}
			triggered_desc = {
				trigger = {
					scope:task_contract = {
						var:sabotage_task ?= flag:burn_crops
					}
				}
				desc = loaa_sabotage_events.0002.burn_crops
			}
		}
		first_valid = {
			# Scheme revealed.
			triggered_desc = {
				trigger = { exists = scope:scheme_discovered }
				desc = loaa_sabotage_events.0000.discovered_target
			}
			# Scheme unrevealed.
			desc = loaa_sabotage_events.0000.kept_secret_target
		}
	}
	theme = intrigue
	override_background = { reference = burning_building }
	left_portrait = {
		character = root
		animation = rage
	}
	right_portrait = {
		character = scope:owner_to_reveal
		animation = inspect_weapon
	}
	lower_right_portrait = {
		character = scope:employer_to_reveal
	}

	override_background = { reference = burning_building }

	immediate = {
		show_as_tooltip = {
			scope:target_county = {
				switch = {
					trigger = scope:task_contract.var:sabotage_task
					flag:sow_dissent = {
						scope:target_county = {
							add_county_modifier = {
								modifier = loaa_sabotage_provoked_unrest_modifier
								years = 5
							}
						}
					}
					flag:destroy_equipment = {
						scope:target_county = {
							every_county_province = {
								add_province_modifier = {
									modifier = loaa_sabotage_empty_armories_modifier
									years = 5
								}
							}
						}
					}
					flag:burn_crops = {
						scope:target_county = {
							add_county_modifier = {
								modifier = loaa_sabotage_crops_burned_modifier
								years = 5
							}
						}
					}
				}
			}
		}
	}

	option = {
		name = loaa_sabotage_events.0000.a_failure
	}
}