﻿
###################
# Generic effects that are used for basic opinion gain etc.
###################

#Basic effect for gaining a camp officer
basic_gained_camp_officer_effect = {
	scope:liege = {
		# Gain a bit of opinion for being appointed.
		reverse_add_opinion = {
			target = scope:employee
			modifier = made_me_officer_opinion
		}
		# If they now like us sufficiently, then set up a potential friendship.
		hidden_effect = {
			if = {
				limit = {
					reverse_opinion = {
						target = scope:employee
						value >= 50
					}
					can_set_relation_potential_friend_trigger = { CHARACTER = scope:employee }
				}
				set_relation_potential_friend = scope:employee
			}
		}
		# Plus, some ripple consequences.
		every_courtier = {
			limit = {
				this != scope:employee
			}
			# Friends'n'lovers.
			if = {
				limit = {
					has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:employee }
				}
				add_opinion = {
					target = scope:liege
					modifier = made_friend_officer_opinion
				}
			}
			# Foes...
			if = {
				limit = {
					has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:employee }
				}
				add_opinion = {
					target = scope:liege
					modifier = made_foe_officer_opinion
				}
			}
			# ... and family who are not foes.
			else_if = {
				limit = { is_close_or_extended_family_of = scope:employee }
				add_opinion = {
					target = scope:liege
					modifier = made_family_officer_opinion
				}
			}
		}
	}
}

#Basic effect for losing a court position
basic_revoked_camp_officer_effect = {
	scope:employee = {
		add_opinion = {
			modifier = revoked_camp_officer_opinion
			target = scope:liege
		}
	}
	# Lose whatever you might have gained.
	scope:employee = {
		remove_opinion = {
			target = scope:liege
			modifier = made_me_officer_opinion
		}
	}
	scope:liege = {
		# If they now dislike us sufficiently, then set up a potential rivalry.
		hidden_effect = {
			if = {
				limit = {
					reverse_opinion = {
						target = scope:employee
						value <= -50
					}
					can_set_relation_potential_rival_trigger = { CHARACTER = scope:employee }
				}
				set_relation_potential_rival = scope:employee
			}
		}
		# Plus, some ripple consequences.
		every_courtier = {
			limit = {
				this != scope:employee
			}
			# Friends'n'lovers.
			if = {
				limit = {
					has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:employee }
				}
				remove_opinion = {
					target = scope:liege
					modifier = made_friend_officer_opinion
				}
			}
			# Foes...
			if = {
				limit = {
					has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:employee }
				}
				remove_opinion = {
					target = scope:liege
					modifier = made_foe_officer_opinion
				}
			}
			# ... and family who are not foes.
			else_if = {
				limit = { is_close_or_extended_family_of = scope:employee }
				remove_opinion = {
					target = scope:liege
					modifier = made_family_officer_opinion
				}
			}
		}
	}
}

#Basic effect for a camp_officer invalidating
basic_invalidated_camp_officer_effect = {}


################
# EFFECTS FOR SPECIFIC CAMP OFFICER
################

# SECOND
second_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
second_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
	scope:employee = {
		if = {
			limit = { var:loyalty_dependent_on_position ?= scope:liege }
			scope:liege = {
				remove_hook = {
					target = scope:employee
					type = loyalty_hook
				}
			}
		}
		if = {
			limit = { has_character_modifier = ep3_laamp_flavour_ewan_2071_b_work_self_to_death_modifier }
			remove_character_modifier = ep3_laamp_flavour_ewan_2071_b_work_self_to_death_modifier
		}
	}
}
second_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# Quartermaster
quartermaster_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
quartermaster_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
quartermaster_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# Armorer
armorer_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
armorer_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
armorer_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# chief forager
chief_forager_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
chief_forager_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
chief_forager_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# master thief
master_thief_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
master_thief_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
master_thief_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# head porter
head_porter_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
head_porter_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
head_porter_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# head groom
head_groom_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
head_groom_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
head_groom_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# huntperson
huntperson_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
huntperson_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
huntperson_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# kennelperson
kennelperson_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
kennelperson_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
kennelperson_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# chief_engineer
chief_engineer_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
chief_engineer_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
chief_engineer_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# witness
witness_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
witness_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
witness_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# person_haggler
person_haggler_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
person_haggler_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
person_haggler_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# camp cook
camp_cook_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
camp_cook_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
camp_cook_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# master_bard
master_bard_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
master_bard_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
master_bard_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# stooge
stooge_camp_officer_title_accepted_effect = {
	# No basic effect here — it applies default opinions that are flipped for a stooge.
}
stooge_camp_officer_title_revoked_effect = {
	# No basic effect here — it applies default opinions that are flipped for a stooge.
}
stooge_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# master_of_arms
master_of_arms_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
master_of_arms_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
master_of_arms_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# light_cav_captain
light_cavalry_captain_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
light_cavalry_captain_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
light_cavalry_captain_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# camelry_captain
camelry_captain_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
camelry_captain_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
camelry_captain_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# elephantry_captain
elephantry_captain_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
elephantry_captain_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
elephantry_captain_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# heavy_cavalry_captain
heavy_cavalry_captain_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
heavy_cavalry_captain_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
heavy_cavalry_captain_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# horse_archer_captain
horse_archer_captain_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
horse_archer_captain_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
horse_archer_captain_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# archer_captain
archer_captain_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
archer_captain_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
archer_captain_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# heavy_infantry_captain
heavy_infantry_captain_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
heavy_infantry_captain_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
heavy_infantry_captain_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# light_infantry_captain
light_infantry_captain_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
light_infantry_captain_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
light_infantry_captain_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# pike_captain
pike_captain_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
pike_captain_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
pike_captain_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
# master_of_spoils_captain
master_of_spoils_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
master_of_spoils_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
master_of_spoils_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}

# camp_priest
camp_priest_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
camp_priest_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
camp_priest_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}

# laureate
laureate_camp_officer_title_accepted_effect = {
	basic_gained_camp_officer_effect = yes
}
laureate_camp_officer_title_revoked_effect = {
	basic_revoked_camp_officer_effect = yes
}
laureate_camp_officer_title_invalidated_effect = {
	basic_invalidated_camp_officer_effect = yes
}
