﻿
namespace = regula_corrupt_holy_order_event

regula_corrupt_holy_order_event.0001 = {
	type = character_event
	title = regula_corrupt_holy_order_event.0001.t
	desc = {
		desc = regula_corrupt_holy_order_event.0001.desc
		triggered_desc = {
			trigger = {
				NOT = { scope:order_founder = root }
				}
			desc = regula_corrupt_holy_order_event.0001.vassal.desc
		}
		desc = regula_corrupt_holy_order_event.0001.direct.desc
	}

	theme = regula_theme
	override_background = {
		reference = regula_holy_order
	}

	left_portrait = {
		character = scope:infidel_grandmaster
		animation = disbelief
	}

	right_portrait = {
		character = scope:order_founder
		animation = personality_bold
	}

	immediate = {
		# Figure out the Holy order to be corrupted is
		# First find a random infidel grandmaster in our land to corrupt
		every_sub_realm_barony = {
			if = {
				limit = {
					is_under_holy_order_lease = yes
					has_revokable_lease = yes
					lessee_title.holder = {
						NOT = {
							faith = global_var:magister_character.faith
						}
					}
					lessee_title.holder = scope:barony.lessee
				}
				lessee_title.holder = {
					save_scope_as = infidel_grandmaster
				}
			}
		}

		# Then find the titles that we need to "corrupt" (give to new order)
		scope:infidel_grandmaster = {
			faith = {
				save_scope_as = corrupted_faith
				ordered_faith_holy_order = {
					limit = {
						leader = scope:infidel_grandmaster
					}
					save_scope_as = infidel_holy_order
					every_leased_title = {
						limit = {
							OR = {
								holder.top_liege = global_var:magister_character
								holder = global_var:magister_character
							}
							is_under_holy_order_lease = yes
							has_revokable_lease = yes
							tier = tier_barony
						}
						add_to_list = corruptible_titles
					}
				}
			}
		}

		# Choose a capital
		random_in_list = {
			list = corruptible_titles
			save_scope_as = corruptible_capital
		}

		# Create new order leader
		create_character = {
			template = regula_initiate_solider_royal_character
			age = { 30 35 }
			gender = female
			location = scope:barony.title_province
			save_scope_as = order_founder
		}
	}


	option = { # Corrupt order
		name = regula_corrupt_holy_order_event.0001.a

		custom_tooltip = corrupt_holy_order_decision_effect_message

		# Set up the new holy order capital
		scope:corruptible_capital = {
			revoke_lease = yes
		}

		# Create the holy order
		create_holy_order_neutral_effect = {
			LEADER = scope:order_founder
			CAPITAL = scope:corruptible_capital
			NEW_HO_SCOPE = new_holy_order
			FOUNDER = root
		}

		# revoke lease for each title that the corrupted holy order will lose
		# We use the if statement to stop error logs
		# We also check if the current holder of the barony is not also the primary title for them
		# If so, we have to yoink it from them to give to the holy order, a bit hacky but otherwise lease out wont work
		every_in_list = {
			list = corruptible_titles
			if = {
				limit = {
					NOT = { this = scope:corruptible_capital }
				}
				revoke_lease = yes
				hidden_effect = {
					if = {
						limit = {
							holder.primary_title = this
						}
						global_var:magister_character = { get_title = prev }
						lease_out_to = scope:new_holy_order
					}
					else = {
						lease_out_to = scope:new_holy_order
					}
				}
			}
		}

		hidden_effect = {

			# Give new order leader some stuff, including female courtiers
			scope:order_founder = {
				add_gold = 100 #So that they have some money to lend out
				add_piety_level = 2
				add_gold = holy_order_starting_gold
				add_trait = lustful
				add_trait = mulsa

				# Give some starting initiate solider characters
				while = {
					count = 2
					create_character = {
						template = regula_initiate_solider_noble_character
						employer = scope:order_founder
						culture = scope:order_founder.culture
						faith = scope:order_founder.faith
						gender = female
						age = { 25 30 }
					}
				}

				while = {
					count = 3
					create_character = {
						template = regula_initiate_solider_common_character
						employer = scope:order_founder
						culture = scope:order_founder.culture
						faith = scope:order_founder.faith
						gender = female
						age = { 18 25 }
					}
				}

				# Get rid of male members then make female members order members
				every_courtier = {
					limit = { is_female = no }
					death = { death_reason = death_vanished }
				}
				every_courtier = {
					limit = { is_female = yes }
					add_trait = order_member
					add_trait = mulsa
				}
			}
			# Messages
			global_var:magister_character = {
				send_interface_message = {
					type = holy_order_founded_message
					desc = regula_corrupt_holy_order_message
					left_icon = scope:order_founder
					right_icon = scope:new_holy_order.title
				}
			}
			every_ruler = {
				limit = {
					faith = scope:order_founder.faith
					NOT = { this = scope:order_founder }
					NOT = { this = global_var:magister_character }
				}
				send_interface_message = {
					type = holy_order_founded_message
					desc = someone_created_holy_order_message
					left_icon = scope:order_founder
					right_icon = scope:new_holy_order.title
				}
			}
			every_neighboring_top_liege_realm_owner = {
				limit = {
					NOT = { faith = scope:order_founder.faith }
				}
				send_interface_message = {
					type = enemy_holy_order_founded_message
					desc = other_faith_neighbor_created_holy_order_message
					left_icon = scope:order_founder
					right_icon = scope:new_holy_order.title
				}
			}

		}


		# Fervour changes + gives bonus to HOF (should be Magister)
		create_holy_order_effect = yes # Gives 10 fervor and bonus to Magister (Vanilla effect)

		scope:corrupted_faith = {
			change_fervor = {
				value = -15
				desc = fervor_gain_holy_order_expelled_by_force
			}
		}

		trigger_event = regula_corrupt_holy_order_event.0002
	}

	option = { # Do nothing.
		name = regula_corrupt_holy_order_event.0001.b
		flavor = regula_corrupt_holy_order_event.0001.b.tt

		# Remove the potential order founder
		hidden_effect = {
			scope:order_founder = {
				death = {
					death_reason = death_disappearance
				}
			}
		}

		add_piety_no_experience = scope:barony.lessee.regula_corrupt_holy_order_cost
	}
}

regula_corrupt_holy_order_event.0002 = {
	type = character_event
	title = regula_corrupt_holy_order_event.0002.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:new_recruit = {
						has_trait = giant
					}
				}
				desc = regula_corrupt_holy_order_event.0002.giant.desc
			}
			desc = regula_corrupt_holy_order_event.0002.commander.desc
		}
	}

	theme = regula_theme
	override_background = {
		reference = regula_holy_order_interior
	}
	left_portrait = {
		character = scope:left_portrait
		outfit_tags = { no_cloak no_hat no_pants no_clothes }
		animation = personality_coward
	}
	right_portrait = {
		character = scope:new_recruit
		outfit_tags = { no_cloak no_hat no_pants no_clothes }
		animation = war_defender
	}

	immediate = {
		random = {
			chance = 50
			regula_create_champion_giant_effect = { WHO = scope:order_founder }
			scope:created_character = { save_scope_as = new_recruit }
			regula_create_orgy_guest_effect = { WHO = scope:order_founder }
			scope:created_orgy_guest = { save_scope_as = new_plaything }
		}
		if = {
			limit = { NOT = { exists = scope:new_recruit } }
			regula_create_commander_effect = { WHO = root }
			scope:created_character = { save_scope_as = new_recruit }
		}
		hidden_effect = {
			scope:new_recruit = {
				add_trait = lustful
				set_sexuality = bisexual
				add_trait = mulsa
			}
			if = {
				limit = { exists = scope:new_plaything }
				scope:new_plaything = {
					add_trait = mulsa
					save_scope_as = left_portrait
				}
			}
		}
	}

	option = {
		name = regula_corrupt_holy_order_event.0002.a

		add_courtier = scope:new_recruit
	}
	option = {
		name = regula_corrupt_holy_order_event.0002.b
		trigger = {
			exists = scope:new_plaything
		}

		add_courtier = scope:new_recruit
		add_courtier = scope:new_plaything
	}
}
