﻿namespace = gr_obituary

# gr_obituary.1 removed in v15.4.3 - on_action now triggers gr_obituary.10 directly

# ================================================
# FULL REMEMBRANCE - The Chronicle
# ================================================
gr_obituary.10 = {
	type = character_event
	title = gr_remembrance_title
	
	immediate = {
		# AGOT SUBMOD: Override chronicler_type to flag:maester if chronicler has maester trait
		if = {
			limit = {
				has_variable = gr_chronicler
				var:gr_chronicler = { has_trait = maester }
			}
			set_variable = { name = gr_chronicler_type value = flag:maester }
		}
		
		# Save heir (ROOT) as explicit scope for localization
		save_scope_as = heir_scope
		
		# Store heir as variable for localization (proven Var().Char pattern)
		set_variable = { name = gr_heir_char value = root }
		
		# Store faith for deity button localization
		set_variable = { name = gr_heir_faith value = root.faith }
		
		# Realm consolidation detection: heir ended up at higher tier
		# than dead ruler (partition created a title on succession)
		set_variable = { name = gr_heir_tier value = root.primary_title.tier }
		if = {
			limit = {
				has_variable = gr_tier
				NOT = { has_variable = gr_realm_split }
				var:gr_heir_tier > var:gr_tier
			}
			set_variable = { name = gr_realm_consolidated value = yes }
			set_variable = { name = gr_consolidated_title value = root.primary_title }
		}
		remove_variable = gr_heir_tier
		
		# Save scopes for portrait rendering
		if = {
			limit = { has_variable = gr_predecessor }
			var:gr_predecessor = { save_scope_as = portrait_predecessor }
		}
		if = {
			limit = { has_variable = gr_chronicler }
			var:gr_chronicler = { save_scope_as = portrait_chronicler }
		}
		
		# Random seed for text-variant selection -- one uniform roll (audit M12).
		#
		# Only rolled if absent. Base gr_on_actions.txt Section A rolls it during
		# on_death, before Section Q copies scope:heir's vars onto the chronicle
		# page artifact. Re-rolling here would overwrite the value the page
		# recorded, and replay would show different text than the death popup.
		# The fallback roll covers saves where a death predates that fix.
		if = {
			limit = { NOT = { has_variable = gr_random_seed } }
			random_list = {
				1 = { set_variable = { name = gr_random_seed value = 0 } }
				1 = { set_variable = { name = gr_random_seed value = 20 } }
				1 = { set_variable = { name = gr_random_seed value = 40 } }
				1 = { set_variable = { name = gr_random_seed value = 60 } }
				1 = { set_variable = { name = gr_random_seed value = 80 } }
				1 = { set_variable = { name = gr_random_seed value = 100 } }
			}
		}
		# Safety defaults for variables that may not be set
		if = { limit = { NOT = { has_variable = gr_dread } } set_variable = { name = gr_dread value = 0 } }
		if = { limit = { NOT = { has_variable = gr_gold } } set_variable = { name = gr_gold value = 0 } }
		if = { limit = { NOT = { has_variable = gr_tier } } set_variable = { name = gr_tier value = 0 } }
		# ================================================
		# AGOT SUBMOD: Detect dead char's traits and copy war vars onto heir (ROOT)
		# Only runs for real deaths (var:gr_predecessor != root).
		# Debug tests set AGOT vars directly on root before triggering gr_obituary.10.
		# ================================================
		if = {
			limit = {
				has_variable = gr_predecessor
				NOT = { var:gr_predecessor ?= root }
			}
			# --- Dragon traits ---
			if = { limit = { var:gr_predecessor = { has_trait = dragonrider } }
				set_variable = { name = gr_agot_dragonrider value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = dragonless_dragonrider } }
				set_variable = { name = gr_agot_dragonless value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = dragonwidowed } }
				set_variable = { name = gr_agot_dragonwidowed value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = dragonslayer } }
				set_variable = { name = gr_agot_dragonslayer value = yes } }
			# --- Sworn service ---
			if = { limit = { var:gr_predecessor = { has_trait = kingsguard } }
				set_variable = { name = gr_agot_kingsguard value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = nightswatch } }
				set_variable = { name = gr_agot_nightswatch value = yes }
				if = { limit = { var:gr_predecessor = { has_trait = lifestyle_nw_ranger } }
					set_variable = { name = gr_agot_nw_lifestyle value = flag:ranger } }
				else_if = { limit = { var:gr_predecessor = { has_trait = lifestyle_nw_builder } }
					set_variable = { name = gr_agot_nw_lifestyle value = flag:builder } }
				else_if = { limit = { var:gr_predecessor = { has_trait = lifestyle_nw_steward } }
					set_variable = { name = gr_agot_nw_lifestyle value = flag:steward } }
			}
			if = { limit = { var:gr_predecessor = { has_trait = deserter } }
				set_variable = { name = gr_agot_deserter value = yes } }
			# --- Knighthood ---
			if = { limit = { var:gr_predecessor = { has_trait = knight } }
				set_variable = { name = gr_agot_knight value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = squire } }
				set_variable = { name = gr_agot_squire value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = stripped_knight } }
				set_variable = { name = gr_agot_stripped_knight value = yes } }
			# --- Citadel ---
			if = { limit = { var:gr_predecessor = { has_trait = archmaester } }
				set_variable = { name = gr_agot_maester value = flag:archmaester } }
			else_if = { limit = { var:gr_predecessor = { has_trait = disgraced_maester } }
				set_variable = { name = gr_agot_maester value = flag:disgraced } }
			else_if = { limit = { var:gr_predecessor = { has_trait = maester } }
				set_variable = { name = gr_agot_maester value = flag:maester } }
			# --- Religious roles ---
			# high_septon trait removed upstream; most_devout_member now covers the top tier
			if = { limit = { var:gr_predecessor = { has_trait = most_devout_member } }
				set_variable = { name = gr_agot_religious_role value = flag:most_devout } }
			else_if = { limit = { var:gr_predecessor = { has_trait = septon } }
				set_variable = { name = gr_agot_religious_role value = flag:septon } }
			else_if = { limit = { var:gr_predecessor = { has_trait = red_priest } }
				set_variable = { name = gr_agot_religious_role value = flag:red_priest } }
			else_if = { limit = { var:gr_predecessor = { has_trait = drowned_man } }
				set_variable = { name = gr_agot_religious_role value = flag:drowned_man } }
			else_if = { limit = { var:gr_predecessor = { has_trait = bearded_priest } }
				set_variable = { name = gr_agot_religious_role value = flag:bearded_priest } }
			else_if = { limit = { var:gr_predecessor = { has_trait = silent_sister } }
				set_variable = { name = gr_agot_religious_role value = flag:silent_sister } }
			# --- Conditions ---
			if = { limit = { var:gr_predecessor = { has_trait = greyscale } }
				set_variable = { name = gr_agot_greyscale value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = burned } }
				set_variable = { name = gr_agot_burned value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = one_handed } }
				set_variable = { name = gr_agot_one_handed value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = crippled } }
				set_variable = { name = gr_agot_crippled value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = mute } }
				set_variable = { name = gr_agot_mute value = yes } }
			# --- Mystical ---
			if = { limit = { var:gr_predecessor = { has_trait = dragon_dreams } }
				set_variable = { name = gr_agot_dragon_dreams value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = greensight } }
				set_variable = { name = gr_agot_greensight value = yes } }
			# --- Personality ---
			if = { limit = { var:gr_predecessor = { has_trait = authoritative } }
				set_variable = { name = gr_agot_authoritative value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = rude } }
				set_variable = { name = gr_agot_rude value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = inquisitive } }
				set_variable = { name = gr_agot_inquisitive value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = uncouth } }
				set_variable = { name = gr_agot_uncouth value = yes } }
			# --- Social / reputation ---
			if = { limit = { var:gr_predecessor = { has_trait = paramour } }
				set_variable = { name = gr_agot_paramour value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = spider } }
				set_variable = { name = gr_agot_spider value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = accidental_kinslayer } }
				set_variable = { name = gr_agot_kinslayer_accidental value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = broke_vows } }
				set_variable = { name = gr_agot_broke_vows value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = fire_obsessed } }
				set_variable = { name = gr_agot_fire_obsessed value = yes } }
			# --- Faith detection ---
			if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_seven_religion } } }
				set_variable = { name = gr_agot_faith value = flag:seven } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_pact_religion } } }
				set_variable = { name = gr_agot_faith value = flag:old_gods } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_ways_religion } } }
				set_variable = { name = gr_agot_faith value = flag:drowned } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_rhllor_religion } } }
				set_variable = { name = gr_agot_faith value = flag:rhllor } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_flames_religion } } }
				set_variable = { name = gr_agot_faith value = flag:valyrian_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_counsels_religion } } }
				set_variable = { name = gr_agot_faith value = flag:dothraki_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_graces_religion } } }
				set_variable = { name = gr_agot_faith value = flag:harpy } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_cults_religion } } }
				set_variable = { name = gr_agot_faith value = flag:free_cities_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_mother_religion } } }
				set_variable = { name = gr_agot_faith value = flag:rhoynish_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_others_religion } } }
				set_variable = { name = gr_agot_faith value = flag:cold_gods } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_courts_religion } } }
				set_variable = { name = gr_agot_faith value = flag:yiti_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_liturgies_religion } } }
				set_variable = { name = gr_agot_faith value = flag:sarnori_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_orders_religion } } }
				set_variable = { name = gr_agot_faith value = flag:essos_orders } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_songs_religion } } }
				set_variable = { name = gr_agot_faith value = flag:moon_singers } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_temples_religion } } }
				set_variable = { name = gr_agot_faith value = flag:summer_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_houses_religion } } }
				set_variable = { name = gr_agot_faith value = flag:qartheen_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_flocks_religion } } }
				set_variable = { name = gr_agot_faith value = flag:shepherd_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_shanties_religion } } }
				set_variable = { name = gr_agot_faith value = flag:basilisk_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_chosen_religion } } }
				set_variable = { name = gr_agot_faith value = flag:naathi_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_first_gods_religion } } }
				set_variable = { name = gr_agot_faith value = flag:ancient_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_venerations_religion } } }
				set_variable = { name = gr_agot_faith value = flag:ibbenese_faith } }
			else_if = { limit = { var:gr_predecessor = { faith = { religion = religion:the_churches_religion } } }
				set_variable = { name = gr_agot_faith value = flag:eldritch_faith } }
			# --- Heritage detection ---
			if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_andal } } }
				set_variable = { name = gr_agot_heritage value = flag:andal } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_first_man } } }
				set_variable = { name = gr_agot_heritage value = flag:first_men } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_ironman } } }
				set_variable = { name = gr_agot_heritage value = flag:ironborn } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_rhoynar } } }
				set_variable = { name = gr_agot_heritage value = flag:rhoynar } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_freecities } } }
				set_variable = { name = gr_agot_heritage value = flag:free_cities_cult } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_valyrian } } }
				set_variable = { name = gr_agot_heritage value = flag:valyrian_cult } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_grasslands } } }
				set_variable = { name = gr_agot_heritage value = flag:grasslands } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_ghiscari } } }
				set_variable = { name = gr_agot_heritage value = flag:ghiscari } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_yitish } } }
				set_variable = { name = gr_agot_heritage value = flag:yitish } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_jadeislands } } }
				set_variable = { name = gr_agot_heritage value = flag:jade_islands } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_wildling } } }
				set_variable = { name = gr_agot_heritage value = flag:wildling } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_sarnori } } }
				set_variable = { name = gr_agot_heritage value = flag:sarnori_cult } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_summer } } }
				set_variable = { name = gr_agot_heritage value = flag:summer_cult } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_hairyman } } }
				set_variable = { name = gr_agot_heritage value = flag:ibbenese_cult } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_shadowlanders } } }
				set_variable = { name = gr_agot_heritage value = flag:shadowlander } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_elder_races } } }
				set_variable = { name = gr_agot_heritage value = flag:elder_races } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_hyrkoonan } } }
				set_variable = { name = gr_agot_heritage value = flag:hyrkoonan } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_moraqi } } }
				set_variable = { name = gr_agot_heritage value = flag:moraqi } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_nghai } } }
				set_variable = { name = gr_agot_heritage value = flag:nghai } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_qaathi } } }
				set_variable = { name = gr_agot_heritage value = flag:qaathi } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_sothoryi } } }
				set_variable = { name = gr_agot_heritage value = flag:sothoryi } }
			else_if = { limit = { var:gr_predecessor = { culture = { has_cultural_pillar = heritage_mennight } } }
				set_variable = { name = gr_agot_heritage value = flag:mennight } }
			# --- War vars (copy from dead char to heir) ---
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_reyne } }
				set_variable = { name = gr_agot_war_reyne value = var:gr_predecessor.var:gr_agot_war_reyne } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_blackfyre } }
				set_variable = { name = gr_agot_war_blackfyre value = var:gr_predecessor.var:gr_agot_war_blackfyre } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_ninepenny } }
				set_variable = { name = gr_agot_war_ninepenny value = var:gr_predecessor.var:gr_agot_war_ninepenny } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_faegon } }
				set_variable = { name = gr_agot_war_faegon value = var:gr_predecessor.var:gr_agot_war_faegon } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_daemon } }
				set_variable = { name = gr_agot_war_daemon value = var:gr_predecessor.var:gr_agot_war_daemon } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_duskendale } }
				set_variable = { name = gr_agot_war_duskendale value = var:gr_predecessor.var:gr_agot_war_duskendale } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_dragon } }
				set_variable = { name = gr_agot_war_dragon value = var:gr_predecessor.var:gr_agot_war_dragon } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_dragon_tier } }
				set_variable = { name = gr_agot_war_dragon_tier value = var:gr_predecessor.var:gr_agot_war_dragon_tier } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_ranging } }
				set_variable = { name = gr_agot_war_ranging value = var:gr_predecessor.var:gr_agot_war_ranging } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_wall_reclaim } }
				set_variable = { name = gr_agot_war_wall_reclaim value = var:gr_predecessor.var:gr_agot_war_wall_reclaim } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_rebellion } }
				set_variable = { name = gr_agot_war_rebellion value = var:gr_predecessor.var:gr_agot_war_rebellion } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_succession } }
				set_variable = { name = gr_agot_war_succession value = var:gr_predecessor.var:gr_agot_war_succession } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_independence } }
				set_variable = { name = gr_agot_war_independence value = var:gr_predecessor.var:gr_agot_war_independence } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_pirate } }
				set_variable = { name = gr_agot_war_pirate value = var:gr_predecessor.var:gr_agot_war_pirate } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_slavery } }
				set_variable = { name = gr_agot_war_slavery value = var:gr_predecessor.var:gr_agot_war_slavery } }
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_war_eradicate } }
				set_variable = { name = gr_agot_war_eradicate value = var:gr_predecessor.var:gr_agot_war_eradicate } }
			# --- Government type (AGOT-aware flags from on_government_change hook) ---
			if = { limit = { var:gr_predecessor = { has_variable = gr_agot_govt_old } }
				set_variable = { name = gr_agot_govt_old value = var:gr_predecessor.var:gr_agot_govt_old }
				set_variable = { name = gr_agot_govt_new value = var:gr_predecessor.var:gr_agot_govt_new } }
			# --- Additional physical conditions ---
			if = { limit = { var:gr_predecessor = { has_trait = half_blind } }
				set_variable = { name = gr_agot_half_blind value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = the_mark } }
				set_variable = { name = gr_agot_the_mark value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = shivers } }
				set_variable = { name = gr_agot_shivers value = yes } }
			if = { limit = { var:gr_predecessor = { has_trait = scurvy } }
				set_variable = { name = gr_agot_scurvy value = yes } }
			# --- Iron Bank / Banking ---
			if = { limit = { var:gr_predecessor = { has_character_flag = final_default } }
				set_variable = { name = gr_agot_bank_defaulted value = yes } }
			if = {
				limit = {
					var:gr_predecessor = {
						has_variable = IB_Shares
						var:IB_Shares > 0
					}
				}
				set_variable = { name = gr_agot_bank_ib_shareholder value = yes }
			}
			if = {
				limit = {
					OR = {
						var:gr_predecessor = { has_variable = bank1_Shares var:bank1_Shares > 0 }
						var:gr_predecessor = { has_variable = bank2_Shares var:bank2_Shares > 0 }
						var:gr_predecessor = { has_variable = bank3_Shares var:bank3_Shares > 0 }
					}
				}
				set_variable = { name = gr_agot_bank_founder value = yes }
			}
			if = { limit = { var:gr_predecessor = { has_character_flag = has_a_loan_flag } }
				set_variable = { name = gr_agot_bank_died_in_debt value = yes } }
			# --- Iron Throne: special opening ---
			if = {
				limit = { var:gr_predecessor = { has_title = title:h_the_iron_throne } }
				set_variable = { name = gr_agot_iron_throne value = yes }
				set_variable = { name = gr_agot_sub_kingdom_count value = 0 }
				var:gr_predecessor = {
					every_held_title = {
						limit = {
							tier = kingdom
							NOT = { this = title:h_the_iron_throne }
						}
						root = { change_variable = { name = gr_agot_sub_kingdom_count add = 1 } }
					}
				}
			}
		}

		# Populate the *_disp/*_era calendar variables that AGOT's replace loc
		# reads (regen_submod_year_loc.py). The book replay gets these via the
		# watermark effect; the DEATH POPUP renders the same replaced loc and
		# must convert too, or every year in it renders blank.
		gr_submod_book_years_effect = yes
	}
	
	desc = {
		# ================================================
		# 1. OPENING - Tier-based epitaph (with multi-title support)
		# ================================================
		first_valid = {
			# Iron Throne - full royal style, sub-kingdom count in words
			triggered_desc = {
				trigger = { has_variable = gr_agot_iron_throne var:gr_agot_sub_kingdom_count >= 7 }
				desc = gr_agot_opening_iron_throne_seven
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_iron_throne var:gr_agot_sub_kingdom_count = 6 }
				desc = gr_agot_opening_iron_throne_six
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_iron_throne var:gr_agot_sub_kingdom_count = 5 }
				desc = gr_agot_opening_iron_throne_five
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_iron_throne var:gr_agot_sub_kingdom_count = 4 }
				desc = gr_agot_opening_iron_throne_four
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_iron_throne var:gr_agot_sub_kingdom_count = 3 }
				desc = gr_agot_opening_iron_throne_three
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_iron_throne var:gr_agot_sub_kingdom_count = 2 }
				desc = gr_agot_opening_iron_throne_two
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_iron_throne var:gr_agot_sub_kingdom_count = 1 }
				desc = gr_agot_opening_iron_throne_one
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_iron_throne }
				desc = gr_agot_opening_iron_throne_seven
			}
			# Emperor with 3 titles
			triggered_desc = {
				trigger = { var:gr_tier = 5 var:gr_title_count >= 3 }
				desc = gr_opening_emperor_3t
			}
			# Emperor with 2 titles
			triggered_desc = {
				trigger = { var:gr_tier = 5 var:gr_title_count = 2 }
				desc = gr_opening_emperor_2t
			}
			# Emperor with 1 title
			triggered_desc = {
				trigger = { var:gr_tier = 5 }
				desc = gr_opening_emperor
			}
			# King with 3 titles
			triggered_desc = {
				trigger = { var:gr_tier = 4 var:gr_title_count >= 3 }
				desc = gr_opening_king_3t
			}
			# King with 2 titles
			triggered_desc = {
				trigger = { var:gr_tier = 4 var:gr_title_count = 2 }
				desc = gr_opening_king_2t
			}
			# King with 1 title
			triggered_desc = {
				trigger = { var:gr_tier = 4 }
				desc = gr_opening_king
			}
			# Duke with 3 titles
			triggered_desc = {
				trigger = { var:gr_tier = 3 var:gr_title_count >= 3 }
				desc = gr_opening_duke_3t
			}
			# Duke with 2 titles
			triggered_desc = {
				trigger = { var:gr_tier = 3 var:gr_title_count = 2 }
				desc = gr_opening_duke_2t
			}
			# Duke with 1 title
			triggered_desc = {
				trigger = { var:gr_tier = 3 }
				desc = gr_opening_duke
			}
			# Count with 3 titles
			triggered_desc = {
				trigger = { var:gr_tier = 2 var:gr_title_count >= 3 }
				desc = gr_opening_count_3t
			}
			# Count with 2 titles
			triggered_desc = {
				trigger = { var:gr_tier = 2 var:gr_title_count = 2 }
				desc = gr_opening_count_2t
			}
			# Count with 1 title
			triggered_desc = {
				trigger = { var:gr_tier = 2 }
				desc = gr_opening_count
			}
			desc = gr_opening_ruler
		}
		
		# ================================================
		# 1b. ADVENTURER ORIGIN (settled adventurers, no specific conquest)
		# Only shows if adventurer trait but no Varangian or Adventure conquest
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_vetadventurer
				NOT = { has_variable = gr_memory_varangian }
				NOT = { has_variable = gr_memory_adventure }
				var:gr_opinion >= 25
			}
			desc = gr_adventurer_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_vetadventurer
				NOT = { has_variable = gr_memory_varangian }
				NOT = { has_variable = gr_memory_adventure }
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_adventurer_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_vetadventurer
				NOT = { has_variable = gr_memory_varangian }
				NOT = { has_variable = gr_memory_adventure }
				var:gr_opinion < -24
			}
			desc = gr_adventurer_neg
		}
		
		# ================================================
		# 1c. PREAMBLE - Death, Age, Parents, Chronicler Address
		# ================================================
		# Death and age
		# AGOT SUBMOD: faith-aware death lines fire first (faith+cause for big five,
		# faith-only fallback for all faiths), then vanilla cause-only lines as final fallback.
		first_valid = {

			# ------------------------------------------------
			# THE SEVEN - faith + cause
			# ------------------------------------------------
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:seven var:gr_death_reason = flag:old_age }
				desc = gr_agot_death_seven_old_age
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:seven var:gr_death_reason = flag:battle }
				desc = gr_agot_death_seven_battle
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:seven var:gr_death_reason = flag:murder }
				desc = gr_agot_death_seven_murder
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:seven var:gr_death_reason = flag:disease }
				desc = gr_agot_death_seven_disease
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:seven var:gr_death_reason = flag:wounds }
				desc = gr_agot_death_seven_wounds
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:seven var:gr_death_reason = flag:childbirth }
				desc = gr_agot_death_seven_childbirth
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:seven }
				desc = gr_agot_death_seven_fallback
			}

			# ------------------------------------------------
			# OLD GODS - faith + cause
			# ------------------------------------------------
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:old_gods var:gr_death_reason = flag:old_age }
				desc = gr_agot_death_old_gods_old_age
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:old_gods var:gr_death_reason = flag:battle }
				desc = gr_agot_death_old_gods_battle
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:old_gods var:gr_death_reason = flag:murder }
				desc = gr_agot_death_old_gods_murder
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:old_gods var:gr_death_reason = flag:disease }
				desc = gr_agot_death_old_gods_disease
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:old_gods var:gr_death_reason = flag:wounds }
				desc = gr_agot_death_old_gods_wounds
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:old_gods var:gr_death_reason = flag:childbirth }
				desc = gr_agot_death_old_gods_childbirth
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:old_gods }
				desc = gr_agot_death_old_gods_fallback
			}

			# ------------------------------------------------
			# DROWNED GOD - faith + cause
			# ------------------------------------------------
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:drowned var:gr_death_reason = flag:old_age }
				desc = gr_agot_death_drowned_old_age
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:drowned var:gr_death_reason = flag:battle }
				desc = gr_agot_death_drowned_battle
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:drowned var:gr_death_reason = flag:murder }
				desc = gr_agot_death_drowned_murder
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:drowned var:gr_death_reason = flag:disease }
				desc = gr_agot_death_drowned_disease
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:drowned var:gr_death_reason = flag:wounds }
				desc = gr_agot_death_drowned_wounds
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:drowned var:gr_death_reason = flag:childbirth }
				desc = gr_agot_death_drowned_childbirth
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:drowned }
				desc = gr_agot_death_drowned_fallback
			}

			# ------------------------------------------------
			# R'HLLOR - faith + cause
			# ------------------------------------------------
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhllor var:gr_death_reason = flag:old_age }
				desc = gr_agot_death_rhllor_old_age
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhllor var:gr_death_reason = flag:battle }
				desc = gr_agot_death_rhllor_battle
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhllor var:gr_death_reason = flag:murder }
				desc = gr_agot_death_rhllor_murder
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhllor var:gr_death_reason = flag:disease }
				desc = gr_agot_death_rhllor_disease
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhllor var:gr_death_reason = flag:wounds }
				desc = gr_agot_death_rhllor_wounds
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhllor var:gr_death_reason = flag:childbirth }
				desc = gr_agot_death_rhllor_childbirth
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhllor }
				desc = gr_agot_death_rhllor_fallback
			}

			# ------------------------------------------------
			# VALYRIAN FAITH - faith + cause
			# ------------------------------------------------
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:valyrian_faith var:gr_death_reason = flag:old_age }
				desc = gr_agot_death_valyrian_old_age
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:valyrian_faith var:gr_death_reason = flag:battle }
				desc = gr_agot_death_valyrian_battle
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:valyrian_faith var:gr_death_reason = flag:murder }
				desc = gr_agot_death_valyrian_murder
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:valyrian_faith var:gr_death_reason = flag:disease }
				desc = gr_agot_death_valyrian_disease
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:valyrian_faith var:gr_death_reason = flag:wounds }
				desc = gr_agot_death_valyrian_wounds
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:valyrian_faith var:gr_death_reason = flag:childbirth }
				desc = gr_agot_death_valyrian_childbirth
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:valyrian_faith }
				desc = gr_agot_death_valyrian_fallback
			}

			# ------------------------------------------------
			# REMAINING FAITHS - faith-only fallbacks
			# ------------------------------------------------
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:dothraki_faith }
				desc = gr_agot_death_dothraki
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:harpy }
				desc = gr_agot_death_harpy
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhoynish_faith }
				desc = gr_agot_death_rhoynish
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:free_cities_faith }
				desc = gr_agot_death_free_cities
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:yiti_faith }
				desc = gr_agot_death_yiti
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:sarnori_faith }
				desc = gr_agot_death_sarnori
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:essos_orders }
				desc = gr_agot_death_essos_orders
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:moon_singers }
				desc = gr_agot_death_moon_singers
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:summer_faith }
				desc = gr_agot_death_summer
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:qartheen_faith }
				desc = gr_agot_death_qartheen
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:shepherd_faith }
				desc = gr_agot_death_shepherd
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:basilisk_faith }
				desc = gr_agot_death_basilisk
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:naathi_faith }
				desc = gr_agot_death_naathi
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:ancient_faith }
				desc = gr_agot_death_ancient
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:ibbenese_faith }
				desc = gr_agot_death_ibbenese
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:eldritch_faith }
				desc = gr_agot_death_eldritch
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:cold_gods }
				desc = gr_agot_death_cold_gods
			}

			# ------------------------------------------------
			# VANILLA FALLBACKS - cause only, no faith match
			# ------------------------------------------------
			triggered_desc = {
				trigger = { var:gr_death_reason = flag:old_age }
				desc = gr_preamble_death_old_age
			}
			triggered_desc = {
				trigger = { var:gr_death_reason = flag:battle }
				desc = gr_preamble_death_battle
			}
			triggered_desc = {
				trigger = { var:gr_death_reason = flag:murder }
				desc = gr_preamble_death_murder
			}
			triggered_desc = {
				trigger = { var:gr_death_reason = flag:execution }
				desc = gr_preamble_death_execution
			}
			triggered_desc = {
				trigger = { var:gr_death_reason = flag:disease }
				desc = gr_preamble_death_disease
			}
			triggered_desc = {
				trigger = { var:gr_death_reason = flag:wounds }
				desc = gr_preamble_death_wounds
			}
			triggered_desc = {
				trigger = { var:gr_death_reason = flag:childbirth }
				desc = gr_preamble_death_childbirth
			}
			desc = gr_preamble_death_unknown
		}
		# Parents (with starter ruler detection for vague reign length)
		first_valid = {
			# Starter ruler - vague reign length
			triggered_desc = {
				trigger = { has_variable = gr_is_starter has_variable = gr_father has_variable = gr_mother }
				desc = gr_preamble_parents_both_starter
			}
			triggered_desc = {
				trigger = { has_variable = gr_is_starter has_variable = gr_father NOT = { has_variable = gr_mother } }
				desc = gr_preamble_parents_father_starter
			}
			triggered_desc = {
				trigger = { has_variable = gr_is_starter has_variable = gr_mother NOT = { has_variable = gr_father } }
				desc = gr_preamble_parents_mother_starter
			}
			triggered_desc = {
				trigger = { has_variable = gr_is_starter }
				desc = gr_preamble_parents_unknown_starter
			}
			# Normal rulers - exact reign length
			triggered_desc = {
				trigger = { has_variable = gr_father has_variable = gr_mother }
				desc = gr_preamble_parents_both
			}
			triggered_desc = {
				trigger = { has_variable = gr_father NOT = { has_variable = gr_mother } }
				desc = gr_preamble_parents_father
			}
			triggered_desc = {
				trigger = { has_variable = gr_mother NOT = { has_variable = gr_father } }
				desc = gr_preamble_parents_mother
			}
			desc = gr_preamble_parents_unknown
		}
		# Chronicler address
		first_valid = {
			triggered_desc = {
				trigger = { var:gr_opinion >= 25 }
				desc = gr_preamble_address_pos
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= -24 var:gr_opinion < 25 }
				desc = gr_preamble_address_neutral
			}
			desc = gr_preamble_address_neg
		}
		
		# ================================================
		# 1d. FAITH & HERITAGE BRIEF (preamble mention)
		# ================================================
		# Faith brief - one neutral sentence appended after chronicler address
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:seven }
				desc = gr_agot_faith_brief_seven
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:old_gods }
				desc = gr_agot_faith_brief_old_gods
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:drowned }
				desc = gr_agot_faith_brief_drowned
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhllor }
				desc = gr_agot_faith_brief_rhllor
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:valyrian_faith }
				desc = gr_agot_faith_brief_valyrian_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:dothraki_faith }
				desc = gr_agot_faith_brief_dothraki_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:harpy }
				desc = gr_agot_faith_brief_harpy
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:free_cities_faith }
				desc = gr_agot_faith_brief_free_cities_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhoynish_faith }
				desc = gr_agot_faith_brief_rhoynish_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:cold_gods }
				desc = gr_agot_faith_brief_cold_gods
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:yiti_faith }
				desc = gr_agot_faith_brief_yiti_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:sarnori_faith }
				desc = gr_agot_faith_brief_sarnori_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:essos_orders }
				desc = gr_agot_faith_brief_essos_orders
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:moon_singers }
				desc = gr_agot_faith_brief_moon_singers
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:summer_faith }
				desc = gr_agot_faith_brief_summer_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:qartheen_faith }
				desc = gr_agot_faith_brief_qartheen_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:shepherd_faith }
				desc = gr_agot_faith_brief_shepherd_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:basilisk_faith }
				desc = gr_agot_faith_brief_basilisk_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:naathi_faith }
				desc = gr_agot_faith_brief_naathi_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:ancient_faith }
				desc = gr_agot_faith_brief_ancient_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:ibbenese_faith }
				desc = gr_agot_faith_brief_ibbenese_faith
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:eldritch_faith }
				desc = gr_agot_faith_brief_eldritch_faith
			}
		}
		# Heritage brief - one neutral sentence appended after faith brief
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:andal }
				desc = gr_agot_heritage_brief_andal
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:first_men }
				desc = gr_agot_heritage_brief_first_men
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:ironborn }
				desc = gr_agot_heritage_brief_ironborn
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:rhoynar }
				desc = gr_agot_heritage_brief_rhoynar
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:free_cities_cult }
				desc = gr_agot_heritage_brief_free_cities_cult
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:valyrian_cult }
				desc = gr_agot_heritage_brief_valyrian_cult
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:grasslands }
				desc = gr_agot_heritage_brief_grasslands
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:ghiscari }
				desc = gr_agot_heritage_brief_ghiscari
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:yitish }
				desc = gr_agot_heritage_brief_yitish
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:jade_islands }
				desc = gr_agot_heritage_brief_jade_islands
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:wildling }
				desc = gr_agot_heritage_brief_wildling
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:sarnori_cult }
				desc = gr_agot_heritage_brief_sarnori_cult
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:summer_cult }
				desc = gr_agot_heritage_brief_summer_cult
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:ibbenese_cult }
				desc = gr_agot_heritage_brief_ibbenese_cult
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:shadowlander }
				desc = gr_agot_heritage_brief_shadowlander
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:elder_races }
				desc = gr_agot_heritage_brief_elder_races
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:hyrkoonan }
				desc = gr_agot_heritage_brief_hyrkoonan
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:moraqi }
				desc = gr_agot_heritage_brief_moraqi
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:nghai }
				desc = gr_agot_heritage_brief_nghai
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:qaathi }
				desc = gr_agot_heritage_brief_qaathi
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:sothoryi }
				desc = gr_agot_heritage_brief_sothoryi
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:mennight }
				desc = gr_agot_heritage_brief_mennight
			}
		}

		# ================================================
		# 2. VARANGIAN ADVENTURE (Norse-specific, single)
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_varangian
				var:gr_varangian_count <= 1
				var:gr_opinion >= 25
			}
			desc = gr_varangian_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_varangian
				var:gr_varangian_count <= 1
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_varangian_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_varangian
				var:gr_varangian_count <= 1
				var:gr_opinion < -24
			}
			desc = gr_varangian_neg
		}
		# ================================================
		# 2b. VARANGIAN ADVENTURE (multiple)
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_varangian
				var:gr_varangian_count >= 2
				var:gr_opinion >= 25
			}
			desc = gr_varangian_multi_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_varangian
				var:gr_varangian_count >= 2
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_varangian_multi_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_varangian
				var:gr_varangian_count >= 2
				var:gr_opinion < -24
			}
			desc = gr_varangian_multi_neg
		}
		
		# ================================================
		# 2c. GENERIC ADVENTURE — empire tier (single)
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_adventure
				var:gr_adventure_count <= 1
				var:gr_adventure_tier = flag:empire
				var:gr_opinion >= 25
			}
			desc = gr_adventure_empire_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_adventure
				var:gr_adventure_count <= 1
				var:gr_adventure_tier = flag:empire
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_adventure_empire_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_adventure
				var:gr_adventure_count <= 1
				var:gr_adventure_tier = flag:empire
				var:gr_opinion < -24
			}
			desc = gr_adventure_empire_neg
		}
		# ================================================
		# 2c. GENERIC ADVENTURE — kingdom tier (single)
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_adventure
				var:gr_adventure_count <= 1
				var:gr_adventure_tier = flag:kingdom
				var:gr_opinion >= 25
			}
			desc = gr_adventure_kingdom_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_adventure
				var:gr_adventure_count <= 1
				var:gr_adventure_tier = flag:kingdom
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_adventure_kingdom_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_adventure
				var:gr_adventure_count <= 1
				var:gr_adventure_tier = flag:kingdom
				var:gr_opinion < -24
			}
			desc = gr_adventure_kingdom_neg
		}
		# ================================================
		# 2c. GENERIC ADVENTURE — duchy/county tier (single)
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_adventure
				var:gr_adventure_count <= 1
				NOR = {
					var:gr_adventure_tier = flag:empire
					var:gr_adventure_tier = flag:kingdom
				}
				var:gr_opinion >= 25
			}
			desc = gr_adventure_duchy_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_adventure
				var:gr_adventure_count <= 1
				NOR = {
					var:gr_adventure_tier = flag:empire
					var:gr_adventure_tier = flag:kingdom
				}
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_adventure_duchy_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_adventure
				var:gr_adventure_count <= 1
				NOR = {
					var:gr_adventure_tier = flag:empire
					var:gr_adventure_tier = flag:kingdom
				}
				var:gr_opinion < -24
			}
			desc = gr_adventure_duchy_neg
		}
		# ================================================
		# 2d. GENERIC ADVENTURE (multiple)
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_adventure
				var:gr_adventure_count >= 2
				var:gr_opinion >= 25
			}
			desc = gr_adventure_multi_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_adventure
				var:gr_adventure_count >= 2
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_adventure_multi_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_adventure
				var:gr_adventure_count >= 2
				var:gr_opinion < -24
			}
			desc = gr_adventure_multi_neg
		}
		
		# ================================================
		# 2e. DUCHY/ESTATE CREATION (only if no kingdom was created)
		# Admin governments use "estate" terminology
		# ================================================
		# Admin government — estate
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_duchy
				has_variable = gr_is_admin_govt
				NOT = { has_variable = gr_memory_created_kingdom }
				var:gr_opinion >= 25
			}
			desc = gr_estate_creation_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_duchy
				has_variable = gr_is_admin_govt
				NOT = { has_variable = gr_memory_created_kingdom }
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_estate_creation_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_duchy
				has_variable = gr_is_admin_govt
				NOT = { has_variable = gr_memory_created_kingdom }
				var:gr_opinion < -24
			}
			desc = gr_estate_creation_neg
		}
		# Non-admin — duchy
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_duchy
				NOT = { has_variable = gr_is_admin_govt }
				NOT = { has_variable = gr_memory_created_kingdom }
				var:gr_opinion >= 25
			}
			desc = gr_duchy_creation_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_duchy
				NOT = { has_variable = gr_is_admin_govt }
				NOT = { has_variable = gr_memory_created_kingdom }
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_duchy_creation_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_duchy
				NOT = { has_variable = gr_is_admin_govt }
				NOT = { has_variable = gr_memory_created_kingdom }
				var:gr_opinion < -24
			}
			desc = gr_duchy_creation_neg
		}
		
		# ================================================
		# 3. KINGDOM CREATION (kingdoms only)
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_kingdom
				NOT = { has_variable = gr_fame_augustus }
				var:gr_opinion >= 25
			}
			desc = gr_kingdom_creation_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_kingdom
				NOT = { has_variable = gr_fame_augustus }
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_kingdom_creation_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_kingdom
				NOT = { has_variable = gr_fame_augustus }
				var:gr_opinion < -24
			}
			desc = gr_kingdom_creation_neg
		}
		
		# ================================================
		# 3b. CUSTOM EMPIRE FORGED
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_empire
				var:gr_empire_type = flag:custom
				var:gr_opinion >= 25
			}
			desc = gr_empire_custom_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_empire
				var:gr_empire_type = flag:custom
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_empire_custom_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_empire
				var:gr_empire_type = flag:custom
				var:gr_opinion < -24
			}
			desc = gr_empire_custom_neg
		}
		
		# ================================================
		# 3c. HISTORICAL EMPIRE FORMED
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_empire
				var:gr_empire_type = flag:formed
				var:gr_opinion >= 25
			}
			desc = gr_empire_formed_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_empire
				var:gr_empire_type = flag:formed
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_empire_formed_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_empire
				var:gr_empire_type = flag:formed
				var:gr_opinion < -24
			}
			desc = gr_empire_formed_neg
		}
		
		# ================================================
		# 3d. ROMAN EMPIRE RESTORED
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_empire
				var:gr_empire_type = flag:restored
				var:gr_opinion >= 25
			}
			desc = gr_empire_restored_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_empire
				var:gr_empire_type = flag:restored
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_empire_restored_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_created_empire
				var:gr_empire_type = flag:restored
				var:gr_opinion < -24
			}
			desc = gr_empire_restored_neg
		}
		
		# ================================================
		# 3e. HEGEMONY CLAIMED
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_claimed_hegemony
				NOT = { has_variable = gr_fame_augustus }
				var:gr_opinion >= 25
			}
			desc = gr_hegemony_claimed_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_claimed_hegemony
				NOT = { has_variable = gr_fame_augustus }
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_hegemony_claimed_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_claimed_hegemony
				NOT = { has_variable = gr_fame_augustus }
				var:gr_opinion < -24
			}
			desc = gr_hegemony_claimed_neg
		}
		
		# ================================================
		# 3f. EMPIRE USURPED
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_usurped_empire
				var:gr_opinion >= 25
			}
			desc = gr_empire_usurped_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_usurped_empire
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_empire_usurped_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_usurped_empire
				var:gr_opinion < -24
			}
			desc = gr_empire_usurped_neg
		}
		
		# ================================================
		# 3g. HEGEMONY USURPED
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_usurped_hegemony
				var:gr_opinion >= 25
			}
			desc = gr_hegemony_usurped_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_usurped_hegemony
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_hegemony_usurped_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_usurped_hegemony
				var:gr_opinion < -24
			}
			desc = gr_hegemony_usurped_neg
		}
		
		# ================================================
		# 4. CONQUEST (non-Varangian)
		# Skip if adventure conquest already documented (avoids
		# redundant minor conquest after major adventure narrative)
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_conquered_realm
				NOT = { has_variable = gr_adventure_tier }
				NOT = { has_variable = gr_fame_augustus }
				var:gr_opinion >= 25
			}
			desc = gr_conquest_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_conquered_realm
				NOT = { has_variable = gr_adventure_tier }
				NOT = { has_variable = gr_fame_augustus }
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_conquest_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_conquered_realm
				NOT = { has_variable = gr_adventure_tier }
				NOT = { has_variable = gr_fame_augustus }
				var:gr_opinion < -24
			}
			desc = gr_conquest_neg
		}
		
		# ================================================
		# 4a. FACTION DEMANDS
		# ================================================
		# Title GAINED via faction demand (player was the claimant)
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faction_gained_title
				var:gr_opinion >= 0
			}
			desc = gr_faction_gained_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faction_gained_title
				var:gr_opinion < 0
			}
			desc = gr_faction_gained_neg
		}
		
		# Title LOST via faction demand (player was the deposed liege)
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faction_lost_title
				var:gr_opinion >= 0
			}
			desc = gr_faction_lost_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faction_lost_title
				var:gr_opinion < 0
			}
			desc = gr_faction_lost_neg
		}
		
		# ================================================
		# 4b. SPECIAL ACHIEVEMENTS
		# ================================================
		# Dissolution of the Papacy
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_papacy_destroyed
				var:gr_opinion >= 25
			}
			desc = gr_papacy_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_papacy_destroyed
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_papacy_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_papacy_destroyed
				var:gr_opinion < -24
			}
			desc = gr_papacy_neg
		}
		# Re-Establish the Theodosian Borders (Augustus)
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_augustus
				var:gr_opinion >= 25
			}
			desc = gr_augustus_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_augustus
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_augustus_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_augustus
				var:gr_opinion < -24
			}
			desc = gr_augustus_neg
		}
		
		# ================================================
		# 4b. FOUNDATIONAL ACTS (Government, Faith, Culture, Capital)
		# These are the realm-defining decisions of a reign.
		# ================================================
		
		# --- GOVERNMENT CHANGE ---
		# Tribal to Feudal (positive)
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				var:gr_govt_old = flag:tribal
				var:gr_govt_new = flag:feudal
				var:gr_opinion >= 0
			}
			desc = gr_govt_tribal_to_feudal_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				var:gr_govt_old = flag:tribal
				var:gr_govt_new = flag:feudal
				var:gr_opinion < 0
			}
			desc = gr_govt_tribal_to_feudal_neg
		}
		# Tribal to Clan
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				var:gr_govt_old = flag:tribal
				var:gr_govt_new = flag:clan
				var:gr_opinion >= 0
			}
			desc = gr_govt_tribal_to_clan_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				var:gr_govt_old = flag:tribal
				var:gr_govt_new = flag:clan
				var:gr_opinion < 0
			}
			desc = gr_govt_tribal_to_clan_neg
		}
		# Feudal to Administrative
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				var:gr_govt_old = flag:feudal
				var:gr_govt_new = flag:admin
				var:gr_opinion >= 0
			}
			desc = gr_govt_feudal_to_admin_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				var:gr_govt_old = flag:feudal
				var:gr_govt_new = flag:admin
				var:gr_opinion < 0
			}
			desc = gr_govt_feudal_to_admin_neg
		}
		# Clan to Feudal
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				var:gr_govt_old = flag:clan
				var:gr_govt_new = flag:feudal
				var:gr_opinion >= 0
			}
			desc = gr_govt_clan_to_feudal_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				var:gr_govt_old = flag:clan
				var:gr_govt_new = flag:feudal
				var:gr_opinion < 0
			}
			desc = gr_govt_clan_to_feudal_neg
		}
		# Clan to Administrative
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				var:gr_govt_old = flag:clan
				var:gr_govt_new = flag:admin
				var:gr_opinion >= 0
			}
			desc = gr_govt_clan_to_admin_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				var:gr_govt_old = flag:clan
				var:gr_govt_new = flag:admin
				var:gr_opinion < 0
			}
			desc = gr_govt_clan_to_admin_neg
		}
		# Nomad to anything (settling)
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				var:gr_govt_old = flag:nomad
				var:gr_opinion >= 0
			}
			desc = gr_govt_nomad_settled_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				var:gr_govt_old = flag:nomad
				var:gr_opinion < 0
			}
			desc = gr_govt_nomad_settled_neg
		}
		# Generic fallback (any other government change)
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				NOR = {
					AND = { var:gr_govt_old = flag:tribal var:gr_govt_new = flag:feudal }
					AND = { var:gr_govt_old = flag:tribal var:gr_govt_new = flag:clan }
					AND = { var:gr_govt_old = flag:feudal var:gr_govt_new = flag:admin }
					AND = { var:gr_govt_old = flag:clan var:gr_govt_new = flag:feudal }
					AND = { var:gr_govt_old = flag:clan var:gr_govt_new = flag:admin }
					var:gr_govt_old = flag:nomad
				}
				NOT = { has_variable = gr_agot_govt_old }
				var:gr_opinion >= 0
			}
			desc = gr_govt_generic_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_govt_change
				NOR = {
					AND = { var:gr_govt_old = flag:tribal var:gr_govt_new = flag:feudal }
					AND = { var:gr_govt_old = flag:tribal var:gr_govt_new = flag:clan }
					AND = { var:gr_govt_old = flag:feudal var:gr_govt_new = flag:admin }
					AND = { var:gr_govt_old = flag:clan var:gr_govt_new = flag:feudal }
					AND = { var:gr_govt_old = flag:clan var:gr_govt_new = flag:admin }
					var:gr_govt_old = flag:nomad
				}
				NOT = { has_variable = gr_agot_govt_old }
				var:gr_opinion < 0
			}
			desc = gr_govt_generic_neg
		}
		# AGOT: Lord Paramount transitions
		triggered_desc = {
			trigger = {
				has_variable = gr_agot_govt_old
				var:gr_agot_govt_old = flag:feudal
				var:gr_agot_govt_new = flag:lp_feudal
				var:gr_opinion >= 25
			}
			desc = gr_agot_govt_feudal_to_lp_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_agot_govt_old
				var:gr_agot_govt_old = flag:feudal
				var:gr_agot_govt_new = flag:lp_feudal
				var:gr_opinion < 25
			}
			desc = gr_agot_govt_feudal_to_lp_neg
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_agot_govt_old
				var:gr_agot_govt_old = flag:lp_feudal
				var:gr_agot_govt_new = flag:feudal
				var:gr_opinion >= 25
			}
			desc = gr_agot_govt_lp_to_feudal_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_agot_govt_old
				var:gr_agot_govt_old = flag:lp_feudal
				var:gr_agot_govt_new = flag:feudal
				var:gr_opinion < 25
			}
			desc = gr_agot_govt_lp_to_feudal_neg
		}
		# AGOT: Other meaningful transitions (republic, pirate)
		triggered_desc = {
			trigger = {
				has_variable = gr_agot_govt_old
				var:gr_agot_govt_new = flag:republic
			}
			desc = gr_agot_govt_to_republic
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_agot_govt_old
				var:gr_agot_govt_old = flag:pirate
				NOT = { var:gr_agot_govt_new = flag:pirate }
			}
			desc = gr_agot_govt_left_pirate
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_agot_govt_old
				NOT = { var:gr_agot_govt_old = flag:pirate }
				var:gr_agot_govt_new = flag:pirate
			}
			desc = gr_agot_govt_to_pirate
		}
		
		# --- FAITH CREATED (Reform) ---
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faith_created
				var:gr_faith_created_type = flag:reformed
				var:gr_opinion >= 25
			}
			desc = gr_faith_reformed_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faith_created
				var:gr_faith_created_type = flag:reformed
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_faith_reformed_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faith_created
				var:gr_faith_created_type = flag:reformed
				var:gr_opinion < -24
			}
			desc = gr_faith_reformed_neg
		}
		
		# --- FAITH CREATED (Divergent/Heresy) ---
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faith_created
				var:gr_faith_created_type = flag:divergent
				var:gr_opinion >= 25
			}
			desc = gr_faith_divergent_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faith_created
				var:gr_faith_created_type = flag:divergent
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_faith_divergent_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faith_created
				var:gr_faith_created_type = flag:divergent
				var:gr_opinion < -24
			}
			desc = gr_faith_divergent_neg
		}
		
		# --- FAITH CONVERSION (only if didn't also CREATE a faith) ---
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faith_convert
				NOT = { has_variable = gr_memory_faith_created }
				var:gr_opinion >= 25
			}
			desc = gr_faith_convert_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faith_convert
				NOT = { has_variable = gr_memory_faith_created }
				var:gr_opinion >= -24
				var:gr_opinion < 25
			}
			desc = gr_faith_convert_neutral
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_faith_convert
				NOT = { has_variable = gr_memory_faith_created }
				var:gr_opinion < -24
			}
			desc = gr_faith_convert_neg
		}
		
		# --- CULTURE CREATED (Hybrid) ---
		triggered_desc = {
			trigger = {
				has_variable = gr_culture_old
				has_variable = gr_culture_parent
				has_variable = gr_memory_culture_created
				var:gr_culture_created_type = flag:hybrid
				var:gr_opinion >= 0
			}
			desc = gr_culture_hybrid_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_culture_old
				has_variable = gr_culture_parent
				has_variable = gr_memory_culture_created
				var:gr_culture_created_type = flag:hybrid
				var:gr_opinion < 0
			}
			desc = gr_culture_hybrid_neg
		}
		
		# --- CULTURE CREATED (Divergent) ---
		triggered_desc = {
			trigger = {
				has_variable = gr_culture_old
				has_variable = gr_memory_culture_created
				var:gr_culture_created_type = flag:divergent
				var:gr_opinion >= 0
			}
			desc = gr_culture_divergent_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_culture_created
				var:gr_culture_created_type = flag:divergent
				var:gr_opinion < 0
			}
			desc = gr_culture_divergent_neg
		}
		
		# --- CAPITAL MOVED ---
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_capital_moved
				var:gr_opinion >= 0
			}
			desc = gr_capital_moved_pos
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_capital_moved
				var:gr_opinion < 0
			}
			desc = gr_capital_moved_neg
		}
		

		# ---- CROWN & REALM PARAGRAPH BREAK ----
		triggered_desc = {
			trigger = {
				OR = {
					has_variable = gr_fame_vetadventurer
					has_variable = gr_memory_varangian
					has_variable = gr_memory_adventure
					has_variable = gr_memory_created_duchy
					has_variable = gr_memory_created_kingdom
					has_variable = gr_memory_created_empire
					has_variable = gr_memory_claimed_hegemony
					has_variable = gr_memory_usurped_empire
					has_variable = gr_memory_usurped_hegemony
					has_variable = gr_memory_conquered_realm
					has_variable = gr_fame_papacy_destroyed
					has_variable = gr_fame_augustus
					has_variable = gr_memory_govt_change
					has_variable = gr_memory_faith_created
					has_variable = gr_memory_faith_convert
					has_variable = gr_memory_culture_created
					has_variable = gr_memory_capital_moved
				}
			}
			desc = gr_crown_para_break
		}

		# ================================================
		# 4c. HOLDINGS & BUILDINGS
		# ================================================
		# Holdings (new settlements) - listed by name
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_holding_count var:gr_holding_count >= 6 var:gr_opinion >= 0 }
				desc = gr_holding_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_holding_count var:gr_holding_count >= 6 var:gr_opinion < 0 }
				desc = gr_holding_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_holding_count var:gr_holding_count = 5 var:gr_opinion >= 0 }
				desc = gr_holding_5_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_holding_count var:gr_holding_count = 5 var:gr_opinion < 0 }
				desc = gr_holding_5_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_holding_count var:gr_holding_count = 4 var:gr_opinion >= 0 }
				desc = gr_holding_4_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_holding_count var:gr_holding_count = 4 var:gr_opinion < 0 }
				desc = gr_holding_4_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_holding_count var:gr_holding_count = 3 var:gr_opinion >= 0 }
				desc = gr_holding_3_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_holding_count var:gr_holding_count = 3 var:gr_opinion < 0 }
				desc = gr_holding_3_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_holding_count var:gr_holding_count = 2 var:gr_opinion >= 0 }
				desc = gr_holding_2_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_holding_count var:gr_holding_count = 2 var:gr_opinion < 0 }
				desc = gr_holding_2_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_holding_count var:gr_holding_count = 1 var:gr_opinion >= 0 }
				desc = gr_holding_1_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_holding_count var:gr_holding_count = 1 var:gr_opinion < 0 }
				desc = gr_holding_1_neg
			}
		}
		# Buildings (upgrades within holdings)
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_building_count var:gr_building_count >= 20 var:gr_opinion >= 0 }
				desc = gr_building_prolific_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_building_count var:gr_building_count >= 20 var:gr_opinion < 0 }
				desc = gr_building_prolific_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_building_count var:gr_building_count >= 10 var:gr_opinion >= 0 }
				desc = gr_building_active_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_building_count var:gr_building_count >= 10 var:gr_opinion < 0 }
				desc = gr_building_active_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_building_count var:gr_building_count >= 5 var:gr_opinion >= 0 }
				desc = gr_building_modest_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_building_count var:gr_building_count >= 5 var:gr_opinion < 0 }
				desc = gr_building_modest_neg
			}
		}
		# Capital development growth
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_capital_dev_growth var:gr_capital_dev_growth >= 10 var:gr_opinion >= 0 }
				desc = gr_capital_dev_high_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_capital_dev_growth var:gr_capital_dev_growth >= 10 var:gr_opinion < 0 }
				desc = gr_capital_dev_high_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_capital_dev_growth var:gr_capital_dev_growth >= 5 var:gr_opinion >= 0 }
				desc = gr_capital_dev_mid_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_capital_dev_growth var:gr_capital_dev_growth >= 5 var:gr_opinion < 0 }
				desc = gr_capital_dev_mid_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_capital_dev_growth var:gr_capital_dev_growth >= 2 var:gr_opinion >= 0 }
				desc = gr_capital_dev_low_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_capital_dev_growth var:gr_capital_dev_growth >= 2 var:gr_opinion < 0 }
				desc = gr_capital_dev_low_neg
			}
		}
		# Realm tour
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_tour_count var:gr_tour_count >= 3 var:gr_opinion >= 0 }
				desc = gr_tour_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_tour_count var:gr_tour_count >= 3 var:gr_opinion < 0 }
				desc = gr_tour_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_tour_count var:gr_tour_count >= 1 var:gr_opinion >= 0 }
				desc = gr_tour_some_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_tour_count var:gr_tour_count >= 1 var:gr_opinion < 0 }
				desc = gr_tour_some_neg
			}
		}
		# Monthly income
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_monthly_income var:gr_monthly_income >= 60 var:gr_opinion >= 0 }
				desc = gr_income_extraordinary_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_monthly_income var:gr_monthly_income >= 60 var:gr_opinion < 0 }
				desc = gr_income_extraordinary_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_monthly_income var:gr_monthly_income >= 30 var:gr_opinion >= 0 }
				desc = gr_income_wealthy_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_monthly_income var:gr_monthly_income >= 30 var:gr_opinion < 0 }
				desc = gr_income_wealthy_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_monthly_income var:gr_monthly_income >= 15 var:gr_opinion >= 0 }
				desc = gr_income_prosperous_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_monthly_income var:gr_monthly_income >= 15 var:gr_opinion < 0 }
				desc = gr_income_prosperous_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_monthly_income var:gr_monthly_income >= 5 var:gr_opinion >= 0 }
				desc = gr_income_modest_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_monthly_income var:gr_monthly_income >= 5 var:gr_opinion < 0 }
				desc = gr_income_modest_neg
			}
		}
		
		# ================================================
		# 4d. DIPLOMACY (Alliances, Friends, Weddings, Festivals, Coronation)
		# ================================================
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_ally_1 has_variable = gr_alliance_count var:gr_alliance_count >= 5 var:gr_opinion >= 0 }
				desc = gr_alliance_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_ally_1 has_variable = gr_alliance_count var:gr_alliance_count >= 5 var:gr_opinion < 0 }
				desc = gr_alliance_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_ally_1 has_variable = gr_alliance_count var:gr_alliance_count >= 2 var:gr_opinion >= 0 }
				desc = gr_alliance_some_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_ally_1 has_variable = gr_alliance_count var:gr_alliance_count >= 2 var:gr_opinion < 0 }
				desc = gr_alliance_some_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_ally_1 has_variable = gr_alliance_count var:gr_alliance_count >= 1 var:gr_opinion >= 0 }
				desc = gr_alliance_one_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_ally_1 has_variable = gr_alliance_count var:gr_alliance_count >= 1 var:gr_opinion < 0 }
				desc = gr_alliance_one_neg
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_friend_count var:gr_friend_count >= 4 var:gr_opinion >= 0 }
				desc = gr_friend_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_friend_count var:gr_friend_count >= 4 var:gr_opinion < 0 }
				desc = gr_friend_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_friend_count var:gr_friend_count >= 2 var:gr_opinion >= 0 }
				desc = gr_friend_some_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_friend_count var:gr_friend_count >= 2 var:gr_opinion < 0 }
				desc = gr_friend_some_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_friend_count var:gr_friend_count >= 1 var:gr_opinion >= 0 }
				desc = gr_friend_one_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_friend_count var:gr_friend_count >= 1 var:gr_opinion < 0 }
				desc = gr_friend_one_neg
			}
		}
		# Grand Weddings
		triggered_desc = {
			trigger = { has_variable = gr_wedding_count var:gr_opinion >= 0 }
			desc = gr_wedding_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_wedding_count var:gr_opinion < 0 }
			desc = gr_wedding_neg
		}
		# Festivals
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_festival_count var:gr_festival_count >= 3 var:gr_opinion >= 0 }
				desc = gr_festival_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_festival_count var:gr_festival_count >= 3 var:gr_opinion < 0 }
				desc = gr_festival_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_festival_count var:gr_opinion >= 0 }
				desc = gr_festival_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_festival_count var:gr_opinion < 0 }
				desc = gr_festival_neg
			}
		}
		# Coronation
		triggered_desc = {
			trigger = { has_variable = gr_coronation_count var:gr_opinion >= 0 }
			desc = gr_coronation_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_coronation_count var:gr_opinion < 0 }
			desc = gr_coronation_neg
		}
		# Tournaments
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_tournament_count var:gr_tournament_count >= 3 var:gr_opinion >= 0 }
				desc = gr_tournament_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_tournament_count var:gr_tournament_count >= 3 var:gr_opinion < 0 }
				desc = gr_tournament_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_tournament_count var:gr_opinion >= 0 }
				desc = gr_tournament_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_tournament_count var:gr_opinion < 0 }
				desc = gr_tournament_neg
			}
		}
		
		# ================================================
		# 4e. INTRIGUE (Murders, Kidnappings, Grand Rites)
		# ================================================
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_murder_count var:gr_murder_count >= 4 var:gr_opinion >= 0 }
				desc = gr_murder_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_murder_count var:gr_murder_count >= 4 var:gr_opinion < 0 }
				desc = gr_murder_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_murder_count var:gr_murder_count >= 2 var:gr_opinion >= 0 }
				desc = gr_murder_some_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_murder_count var:gr_murder_count >= 2 var:gr_opinion < 0 }
				desc = gr_murder_some_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_murder_count var:gr_murder_count >= 1 var:gr_opinion >= 0 }
				desc = gr_murder_one_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_murder_count var:gr_murder_count >= 1 var:gr_opinion < 0 }
				desc = gr_murder_one_neg
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_kidnap_count var:gr_kidnap_count >= 3 var:gr_opinion >= 0 }
				desc = gr_kidnap_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_kidnap_count var:gr_kidnap_count >= 3 var:gr_opinion < 0 }
				desc = gr_kidnap_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_kidnap_count var:gr_kidnap_count >= 1 var:gr_opinion >= 0 }
				desc = gr_kidnap_some_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_kidnap_count var:gr_kidnap_count >= 1 var:gr_opinion < 0 }
				desc = gr_kidnap_some_neg
			}
		}
		# Executions
	first_valid = {
		triggered_desc = {
			trigger = { has_variable = gr_execution_count var:gr_execution_count >= 6 var:gr_opinion >= 0 }
			desc = gr_execution_many_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_execution_count var:gr_execution_count >= 6 var:gr_opinion < 0 }
			desc = gr_execution_many_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_execution_count var:gr_execution_count >= 3 var:gr_opinion >= 0 }
			desc = gr_execution_some_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_execution_count var:gr_execution_count >= 3 var:gr_opinion < 0 }
			desc = gr_execution_some_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_execution_count var:gr_execution_count >= 1 var:gr_opinion >= 0 }
			desc = gr_execution_one_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_execution_count var:gr_execution_count >= 1 var:gr_opinion < 0 }
			desc = gr_execution_one_neg
		}
	}
	# Torture
	first_valid = {
		triggered_desc = {
			trigger = { has_variable = gr_torture_count var:gr_torture_count >= 5 var:gr_opinion >= 0 }
			desc = gr_torture_many_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_torture_count var:gr_torture_count >= 5 var:gr_opinion < 0 }
			desc = gr_torture_many_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_torture_count var:gr_torture_count >= 2 var:gr_opinion >= 0 }
			desc = gr_torture_some_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_torture_count var:gr_torture_count >= 2 var:gr_opinion < 0 }
			desc = gr_torture_some_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_torture_count var:gr_torture_count >= 1 var:gr_opinion >= 0 }
			desc = gr_torture_one_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_torture_count var:gr_torture_count >= 1 var:gr_opinion < 0 }
			desc = gr_torture_one_neg
		}
	}
	# Grand Rites (witch rituals)
		triggered_desc = {
			trigger = { has_variable = gr_ritual_count var:gr_ritual_count >= 3 var:gr_opinion >= 0 }
			desc = gr_ritual_many_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_ritual_count var:gr_ritual_count >= 3 var:gr_opinion < 0 }
			desc = gr_ritual_many_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_ritual_count var:gr_opinion >= 0 }
			desc = gr_ritual_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_ritual_count var:gr_opinion < 0 }
			desc = gr_ritual_neg
		}
		# Hooks used (blackmail/leverage)
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_hook_count var:gr_hook_count >= 5 var:gr_opinion >= 0 }
				desc = gr_hook_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_hook_count var:gr_hook_count >= 5 var:gr_opinion < 0 }
				desc = gr_hook_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_hook_count var:gr_hook_count >= 2 var:gr_opinion >= 0 }
				desc = gr_hook_some_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_hook_count var:gr_hook_count >= 2 var:gr_opinion < 0 }
				desc = gr_hook_some_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_hook_count var:gr_hook_count >= 1 var:gr_opinion >= 0 }
				desc = gr_hook_one_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_hook_count var:gr_hook_count >= 1 var:gr_opinion < 0 }
				desc = gr_hook_one_neg
			}
		}
		
		# ================================================
		# 4f. LANGUAGES LEARNED
		# ================================================
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_language_count var:gr_language_count >= 4 var:gr_opinion >= 0 }
				desc = gr_language_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_language_count var:gr_language_count >= 4 var:gr_opinion < 0 }
				desc = gr_language_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_language_count var:gr_language_count >= 2 var:gr_opinion >= 0 }
				desc = gr_language_some_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_language_count var:gr_language_count >= 2 var:gr_opinion < 0 }
				desc = gr_language_some_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_language_count var:gr_language_count >= 1 var:gr_opinion >= 0 }
				desc = gr_language_one_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_language_count var:gr_language_count >= 1 var:gr_opinion < 0 }
				desc = gr_language_one_neg
			}
		}
		
		# ================================================
		# 4g. ACTIVITIES (Debate, Expedition, Blót, Chariot, Inspection, Hike)
		# ================================================
		# Debates
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_debate_count var:gr_debate_count >= 3 var:gr_opinion >= 0 }
				desc = gr_debate_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_debate_count var:gr_debate_count >= 3 var:gr_opinion < 0 }
				desc = gr_debate_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_debate_count var:gr_opinion >= 0 }
				desc = gr_debate_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_debate_count var:gr_opinion < 0 }
				desc = gr_debate_neg
			}
		}
		# Monument Expeditions
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_expedition_count var:gr_expedition_count >= 3 var:gr_opinion >= 0 }
				desc = gr_expedition_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_expedition_count var:gr_expedition_count >= 3 var:gr_opinion < 0 }
				desc = gr_expedition_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_expedition_count var:gr_opinion >= 0 }
				desc = gr_expedition_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_expedition_count var:gr_opinion < 0 }
				desc = gr_expedition_neg
			}
		}
		# Blóts
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_blot_count var:gr_blot_count >= 3 var:gr_opinion >= 0 }
				desc = gr_blot_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_blot_count var:gr_blot_count >= 3 var:gr_opinion < 0 }
				desc = gr_blot_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_blot_count var:gr_opinion >= 0 }
				desc = gr_blot_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_blot_count var:gr_opinion < 0 }
				desc = gr_blot_neg
			}
		}
		# Chariot Races
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_chariot_count var:gr_chariot_count >= 3 var:gr_opinion >= 0 }
				desc = gr_chariot_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_chariot_count var:gr_chariot_count >= 3 var:gr_opinion < 0 }
				desc = gr_chariot_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_chariot_count var:gr_opinion >= 0 }
				desc = gr_chariot_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_chariot_count var:gr_opinion < 0 }
				desc = gr_chariot_neg
			}
		}
		# Inspections
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_inspection_count var:gr_inspection_count >= 3 var:gr_opinion >= 0 }
				desc = gr_inspection_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_inspection_count var:gr_inspection_count >= 3 var:gr_opinion < 0 }
				desc = gr_inspection_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_inspection_count var:gr_opinion >= 0 }
				desc = gr_inspection_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_inspection_count var:gr_opinion < 0 }
				desc = gr_inspection_neg
			}
		}
		# Hikes (wanderer flavor)
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_hike_count var:gr_hike_count >= 3 var:gr_opinion >= 0 }
				desc = gr_hike_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_hike_count var:gr_hike_count >= 3 var:gr_opinion < 0 }
				desc = gr_hike_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_hike_count var:gr_opinion >= 0 }
				desc = gr_hike_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_hike_count var:gr_opinion < 0 }
				desc = gr_hike_neg
			}
		}
		

		# Feasts
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_feast_count var:gr_feast_count >= 3 var:gr_opinion >= 0 }
				desc = gr_feast_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_feast_count var:gr_feast_count >= 3 var:gr_opinion < 0 }
				desc = gr_feast_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_feast_count var:gr_opinion >= 0 }
				desc = gr_feast_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_feast_count var:gr_opinion < 0 }
				desc = gr_feast_neg
			}
		}
		# Hunts
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_hunt_count var:gr_hunt_count >= 3 var:gr_opinion >= 0 }
				desc = gr_hunt_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_hunt_count var:gr_hunt_count >= 3 var:gr_opinion < 0 }
				desc = gr_hunt_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_hunt_count var:gr_opinion >= 0 }
				desc = gr_hunt_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_hunt_count var:gr_opinion < 0 }
				desc = gr_hunt_neg
			}
		}
		# Pilgrimages
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_pilgrimage_count var:gr_pilgrimage_count >= 3 var:gr_opinion >= 0 }
				desc = gr_pilgrimage_many_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_pilgrimage_count var:gr_pilgrimage_count >= 3 var:gr_opinion < 0 }
				desc = gr_pilgrimage_many_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_pilgrimage_count var:gr_opinion >= 0 }
				desc = gr_pilgrimage_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_pilgrimage_count var:gr_opinion < 0 }
				desc = gr_pilgrimage_neg
			}
		}
		# University
		triggered_desc = {
			trigger = { has_variable = gr_university_built var:gr_university_built >= 1 var:gr_opinion >= 0 }
			desc = gr_university_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_university_built var:gr_university_built >= 1 var:gr_opinion < 0 }
			desc = gr_university_neg
		}


		# ---- DEEDS & GOVERNANCE PARAGRAPH BREAK ----
		triggered_desc = {
			trigger = {
				OR = {
					has_variable = gr_holding_count
					has_variable = gr_building_count
					has_variable = gr_capital_dev_growth
					has_variable = gr_tour_count
					has_variable = gr_monthly_income
					has_variable = gr_alliance_count
					has_variable = gr_friend_count
					has_variable = gr_wedding_count
					has_variable = gr_festival_count
					has_variable = gr_coronation_count
					has_variable = gr_murder_count
					has_variable = gr_kidnap_count
					has_variable = gr_ritual_count
					has_variable = gr_hook_count
					has_variable = gr_language_count
					has_variable = gr_debate_count
					has_variable = gr_expedition_count
					has_variable = gr_blot_count
					has_variable = gr_chariot_count
					has_variable = gr_inspection_count
					has_variable = gr_hike_count
					has_variable = gr_feast_count
					has_variable = gr_hunt_count
					has_variable = gr_pilgrimage_count
					has_variable = gr_university_built
				}
			}
			desc = gr_deeds_para_break
		}

		# ================================================
		# 5. BATTLES
		# ================================================
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_led_troops
				has_variable = gr_casualties
				var:gr_casualties >= 10000
				var:gr_opinion >= 0
			}
			desc = gr_battle_legendary
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_led_troops
				has_variable = gr_casualties
				var:gr_casualties >= 10000
				var:gr_opinion < 0
			}
			desc = gr_battle_legendary_neg
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_led_troops
				has_variable = gr_casualties
				var:gr_casualties >= 5000
				var:gr_casualties < 10000
				var:gr_opinion >= 0
			}
			desc = gr_battle_massive
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_led_troops
				has_variable = gr_casualties
				var:gr_casualties >= 5000
				var:gr_casualties < 10000
				var:gr_opinion < 0
			}
			desc = gr_battle_massive_neg
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_led_troops
				has_variable = gr_casualties
				var:gr_casualties >= 2500
				var:gr_casualties < 5000
				var:gr_opinion >= 0
			}
			desc = gr_battle_major
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_led_troops
				has_variable = gr_casualties
				var:gr_casualties >= 2500
				var:gr_casualties < 5000
				var:gr_opinion < 0
			}
			desc = gr_battle_major_neg
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_led_troops
				has_variable = gr_casualties
				var:gr_casualties >= 1000
				var:gr_casualties < 2500
				var:gr_opinion >= 0
			}
			desc = gr_battle_significant
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_led_troops
				has_variable = gr_casualties
				var:gr_casualties >= 1000
				var:gr_casualties < 2500
				var:gr_opinion < 0
			}
			desc = gr_battle_significant_neg
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_led_troops
				OR = {
					NOT = { has_variable = gr_casualties }
					var:gr_casualties < 1000
				}
				var:gr_opinion >= 0
			}
			desc = gr_battle_minor
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_memory_led_troops
				OR = {
					NOT = { has_variable = gr_casualties }
					var:gr_casualties < 1000
				}
				var:gr_opinion < 0
			}
			desc = gr_battle_minor_neg
		}
		
		# ================================================
		# 6. CHARACTER PORTRAIT - The Five Sentences
		# ================================================
		
		# ---- SENTENCE 1: IDENTITY (Education + Fame + Top Stat) ----
		# Compound entries first (education + fame combos), then fallbacks
		
		# --- Nomadic philosophy (active nomad vs settled) ---
			triggered_desc = {
				trigger = {
					has_variable = gr_fame_nomad
					has_variable = gr_fame_nomad_active
					var:gr_opinion >= 0
				}
				desc = gr_s1_nomad_active_pos
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_fame_nomad
					has_variable = gr_fame_nomad_active
					var:gr_opinion < 0
				}
				desc = gr_s1_nomad_active_neg
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_fame_nomad
					NOT = { has_variable = gr_fame_nomad_active }
					var:gr_opinion >= 0
				}
				desc = gr_s1_nomad_settled_pos
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_fame_nomad
					NOT = { has_variable = gr_fame_nomad_active }
					var:gr_opinion < 0
				}
				desc = gr_s1_nomad_settled_neg
			}
			# --- Confucian education (overrides normal education) ---
		first_valid = {
			triggered_desc = {
				trigger = {
					has_variable = gr_fame_confucian
					has_variable = gr_edu
					var:gr_edu_tier >= 4
				}
				desc = gr_s1_confucian_brilliant
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_fame_confucian
					has_variable = gr_edu
					var:gr_edu_tier >= 2
				}
				desc = gr_s1_confucian_competent
			}
			triggered_desc = {
				trigger = { has_variable = gr_fame_confucian }
				desc = gr_s1_confucian_basic
			}
			# --- Governor (overrides normal education) ---
			triggered_desc = {
				trigger = {
					has_variable = gr_fame_governor
					has_variable = gr_edu
					var:gr_edu_tier >= 4
				}
				desc = gr_s1_governor_brilliant
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_fame_governor
					has_variable = gr_edu
					var:gr_edu_tier >= 2
				}
				desc = gr_s1_governor_competent
			}
			triggered_desc = {
				trigger = { has_variable = gr_fame_governor }
				desc = gr_s1_governor_basic
			}
			# --- Martial education + Berserker/Viking/Adventurer ---
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:martial
					has_variable = gr_fame_berserker
				}
				desc = gr_s1_martial_berserker
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:martial
					has_variable = gr_fame_vetadventurer
				}
				desc = gr_s1_martial_adventurer
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:martial
					var:gr_edu_tier >= 3
					has_variable = gr_fame_viking
				}
				desc = gr_s1_martial_high_viking
			}
			# --- Martial education standalone ---
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:martial
					var:gr_edu_tier >= 4
				}
				desc = gr_s1_martial_brilliant
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:martial
					var:gr_edu_tier >= 2
				}
				desc = gr_s1_martial_competent
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:martial
				}
				desc = gr_s1_martial_basic
			}
			# --- Diplomacy education ---
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:diplomacy
					var:gr_edu_tier >= 4
				}
				desc = gr_s1_diplo_brilliant
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:diplomacy
					var:gr_edu_tier >= 2
				}
				desc = gr_s1_diplo_competent
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:diplomacy
				}
				desc = gr_s1_diplo_basic
			}
			# --- Stewardship education ---
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:stewardship
					var:gr_edu_tier >= 4
				}
				desc = gr_s1_stew_brilliant
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:stewardship
					var:gr_edu_tier >= 2
				}
				desc = gr_s1_stew_competent
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:stewardship
				}
				desc = gr_s1_stew_basic
			}
			# --- Intrigue education ---
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:intrigue
					var:gr_edu_tier >= 4
				}
				desc = gr_s1_intr_brilliant
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:intrigue
					var:gr_edu_tier >= 2
				}
				desc = gr_s1_intr_competent
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:intrigue
				}
				desc = gr_s1_intr_basic
			}
			# --- Learning education ---
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:learning
					var:gr_edu_tier >= 4
				}
				desc = gr_s1_learn_brilliant
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:learning
					var:gr_edu_tier >= 2
				}
				desc = gr_s1_learn_competent
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_edu
					var:gr_edu = flag:learning
				}
				desc = gr_s1_learn_basic
			}
			# --- Fame-only fallback (no education detected) ---
			triggered_desc = {
				trigger = { has_variable = gr_fame_viking }
				desc = gr_s1_fame_viking
			}
			triggered_desc = {
				trigger = { has_variable = gr_fame_vetadventurer }
				desc = gr_s1_fame_adventurer
			}
			triggered_desc = {
				trigger = { has_variable = gr_fame_faithwarrior }
				desc = gr_s1_fame_faithwarrior
			}
			triggered_desc = {
				trigger = { has_variable = gr_fame_crusaderking }
				desc = gr_s1_fame_crusaderking
			}
			# --- Prestige-based fallback ---
			triggered_desc = {
				trigger = { var:gr_prestige_level >= 5 }
				desc = gr_s1_prestige_high
			}
			triggered_desc = {
				trigger = { var:gr_prestige_level >= 3 }
				desc = gr_s1_prestige_mid
			}
			# --- Ultimate fallback ---
			desc = gr_s1_fallback
		}
		

		# ---- FAME ADDENDUM (shows alongside education when edu won S1) ----
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_berserker
				has_variable = gr_edu
				NOT = { var:gr_edu = flag:martial }
			}
			desc = gr_s1_fame_berserker
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_vetadventurer
				has_variable = gr_edu
				NOT = { var:gr_edu = flag:martial }
			}
			desc = gr_s1_fame_adventurer
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_viking
				has_variable = gr_edu
				OR = {
					NOT = { var:gr_edu = flag:martial }
					var:gr_edu_tier < 3
				}
			}
			desc = gr_s1_fame_viking
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_crusaderking
				has_variable = gr_edu
			}
			desc = gr_s1_fame_crusaderking
		}
		triggered_desc = {
			trigger = {
				has_variable = gr_fame_faithwarrior
				has_variable = gr_edu
			}
			desc = gr_s1_fame_faithwarrior
		}
		
		# ---- SENTENCE 2: NATURE (Personality combos) ----
		
		# ---- EDUCATION/CHARACTER PARAGRAPH BREAK ----
		desc = gr_s1_para_break
		
		# Opinion-biased opening with random variant selection
		# Flattened: each triggered_desc combines opinion + seed in one trigger
		first_valid = {
			# --- Love (opinion >= 25) ---
			triggered_desc = {
				trigger = { var:gr_opinion >= 25 var:gr_random_seed >= 80 }
				desc = gr_s2_open_love_5
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= 25 var:gr_random_seed >= 60 }
				desc = gr_s2_open_love_4
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= 25 var:gr_random_seed >= 40 }
				desc = gr_s2_open_love_3
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= 25 var:gr_random_seed >= 20 }
				desc = gr_s2_open_love_2
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= 25 }
				desc = gr_s2_open_love_1
			}
			# --- Respect (opinion >= 0) ---
			triggered_desc = {
				trigger = { var:gr_opinion >= 0 var:gr_random_seed >= 80 }
				desc = gr_s2_open_respect_5
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= 0 var:gr_random_seed >= 60 }
				desc = gr_s2_open_respect_4
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= 0 var:gr_random_seed >= 40 }
				desc = gr_s2_open_respect_3
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= 0 var:gr_random_seed >= 20 }
				desc = gr_s2_open_respect_2
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= 0 }
				desc = gr_s2_open_respect_1
			}
			# --- Neutral (opinion >= -25) ---
			triggered_desc = {
				trigger = { var:gr_opinion >= -25 var:gr_random_seed >= 80 }
				desc = gr_s2_open_neutral_5
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= -25 var:gr_random_seed >= 60 }
				desc = gr_s2_open_neutral_4
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= -25 var:gr_random_seed >= 40 }
				desc = gr_s2_open_neutral_3
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= -25 var:gr_random_seed >= 20 }
				desc = gr_s2_open_neutral_2
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= -25 }
				desc = gr_s2_open_neutral_1
			}
			# --- Hostile (fallback) ---
			triggered_desc = {
				trigger = { var:gr_random_seed >= 80 }
				desc = gr_s2_open_hostile_5
			}
			triggered_desc = {
				trigger = { var:gr_random_seed >= 60 }
				desc = gr_s2_open_hostile_4
			}
			triggered_desc = {
				trigger = { var:gr_random_seed >= 40 }
				desc = gr_s2_open_hostile_3
			}
			triggered_desc = {
				trigger = { var:gr_random_seed >= 20 }
				desc = gr_s2_open_hostile_2
			}
			desc = gr_s2_open_hostile_1
		}
		
		# Personality fragments (same as v14.9 system)
		# GROUP 1: Appetites
		triggered_desc = {
			trigger = { has_variable = gr_trait_lustful var:gr_opinion >= 0 }
			desc = gr_frag_lustful_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_lustful var:gr_opinion < 0 }
			desc = gr_frag_lustful_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_chaste }
			desc = gr_frag_chaste
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_gluttonous var:gr_opinion >= 0 }
			desc = gr_frag_gluttonous_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_gluttonous var:gr_opinion < 0 }
			desc = gr_frag_gluttonous_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_temperate }
			desc = gr_frag_temperate
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_greedy var:gr_opinion >= 0 }
			desc = gr_frag_greedy_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_greedy var:gr_opinion < 0 }
			desc = gr_frag_greedy_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_generous }
			desc = gr_frag_generous
		}
		
		# GROUP 2: Temperament
		triggered_desc = {
			trigger = { has_variable = gr_trait_wrathful var:gr_opinion >= 0 }
			desc = gr_frag_wrathful_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_wrathful var:gr_opinion < 0 }
			desc = gr_frag_wrathful_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_calm }
			desc = gr_frag_calm
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_patient }
			desc = gr_frag_patient
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_impatient }
			desc = gr_frag_impatient
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_brave var:gr_opinion >= 0 }
			desc = gr_frag_brave_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_brave var:gr_opinion < 0 }
			desc = gr_frag_brave_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_craven var:gr_opinion >= 0 }
			desc = gr_frag_craven_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_craven var:gr_opinion < 0 }
			desc = gr_frag_craven_neg
		}
		
		# GROUP 3: Social
		triggered_desc = {
			trigger = { has_variable = gr_trait_shy }
			desc = gr_frag_shy
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_gregarious }
			desc = gr_frag_gregarious
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_arrogant var:gr_opinion >= 0 }
			desc = gr_frag_arrogant_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_arrogant var:gr_opinion < 0 }
			desc = gr_frag_arrogant_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_humble }
			desc = gr_frag_humble
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_honest }
			desc = gr_frag_honest
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_deceitful var:gr_opinion >= 0 }
			desc = gr_frag_deceitful_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_deceitful var:gr_opinion < 0 }
			desc = gr_frag_deceitful_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_stubborn }
			desc = gr_frag_stubborn
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_fickle }
			desc = gr_frag_fickle
		}
		
		# GROUP 4: Moral & Spiritual
		triggered_desc = {
			trigger = { has_variable = gr_trait_just }
			desc = gr_frag_just
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_arbitrary var:gr_opinion >= 0 }
			desc = gr_frag_arbitrary_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_arbitrary var:gr_opinion < 0 }
			desc = gr_frag_arbitrary_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_zealous }
			desc = gr_frag_zealous
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_cynical }
			desc = gr_frag_cynical
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_compassionate }
			desc = gr_frag_compassionate
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_callous }
			desc = gr_frag_callous
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_sadistic }
			desc = gr_frag_sadistic
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_forgiving }
			desc = gr_frag_forgiving
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_vengeful var:gr_opinion >= 0 }
			desc = gr_frag_vengeful_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_vengeful var:gr_opinion < 0 }
			desc = gr_frag_vengeful_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_trusting }
			desc = gr_frag_trusting
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_paranoid }
			desc = gr_frag_paranoid
		}
		
		# GROUP 5: Drive
		triggered_desc = {
			trigger = { has_variable = gr_trait_ambitious }
			desc = gr_frag_ambitious
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_content }
			desc = gr_frag_content
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_diligent }
			desc = gr_frag_diligent
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_lazy var:gr_opinion >= 0 }
			desc = gr_frag_lazy_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_trait_lazy var:gr_opinion < 0 }
			desc = gr_frag_lazy_neg
		}
		
		# Personality close
		first_valid = {
			triggered_desc = {
				trigger = { var:gr_random_seed >= 80 }
				desc = gr_s2_close_5
			}
			triggered_desc = {
				trigger = { var:gr_random_seed >= 60 }
				desc = gr_s2_close_4
			}
			triggered_desc = {
				trigger = { var:gr_random_seed >= 40 }
				desc = gr_s2_close_3
			}
			triggered_desc = {
				trigger = { var:gr_random_seed >= 20 }
				desc = gr_s2_close_2
			}
			desc = gr_s2_close_1
		}
		
		# ---- SENTENCE 3: ABILITY (Congenital + Lifestyle) ----
		# Congenital intelligence
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_intel var:gr_intel = flag:intellect_good_3 var:gr_opinion >= 0 }
				desc = gr_s3_genius
			}
			triggered_desc = {
				trigger = { has_variable = gr_intel var:gr_intel = flag:intellect_good_3 var:gr_opinion < 0 }
				desc = gr_s3_genius_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_intel var:gr_intel = flag:intellect_good_2 var:gr_opinion >= 0 }
				desc = gr_s3_intelligent
			}
			triggered_desc = {
				trigger = { has_variable = gr_intel var:gr_intel = flag:intellect_good_2 var:gr_opinion < 0 }
				desc = gr_s3_intelligent_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_intel var:gr_intel = flag:intellect_good_1 var:gr_opinion >= 0 }
				desc = gr_s3_quick
			}
			triggered_desc = {
				trigger = { has_variable = gr_intel var:gr_intel = flag:intellect_good_1 var:gr_opinion < 0 }
				desc = gr_s3_quick_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_intel var:gr_intel = flag:intellect_bad_1 var:gr_opinion >= 0 }
				desc = gr_s3_slow
			}
			triggered_desc = {
				trigger = { has_variable = gr_intel var:gr_intel = flag:intellect_bad_1 var:gr_opinion < 0 }
				desc = gr_s3_slow_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_intel var:gr_intel = flag:intellect_bad_2 var:gr_opinion >= 0 }
				desc = gr_s3_stupid
			}
			triggered_desc = {
				trigger = { has_variable = gr_intel var:gr_intel = flag:intellect_bad_2 var:gr_opinion < 0 }
				desc = gr_s3_stupid_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_intel var:gr_intel = flag:intellect_bad_3 var:gr_opinion >= 0 }
				desc = gr_s3_imbecile
			}
			triggered_desc = {
				trigger = { has_variable = gr_intel var:gr_intel = flag:intellect_bad_3 var:gr_opinion < 0 }
				desc = gr_s3_imbecile_neg
			}
			desc = gr_s3_intel_none
		}
		
		# Congenital physique
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_physique OR = { var:gr_physique = flag:physique_good_3 var:gr_physique = flag:physique_good_3 } var:gr_opinion >= 0 }
				desc = gr_s3_herculean
			}
			triggered_desc = {
				trigger = { has_variable = gr_physique OR = { var:gr_physique = flag:physique_good_3 var:gr_physique = flag:physique_good_3 } var:gr_opinion < 0 }
				desc = gr_s3_herculean_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_physique var:gr_physique = flag:physique_good_2 var:gr_opinion >= 0 }
				desc = gr_s3_robust
			}
			triggered_desc = {
				trigger = { has_variable = gr_physique var:gr_physique = flag:physique_good_2 var:gr_opinion < 0 }
				desc = gr_s3_robust_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_physique var:gr_physique = flag:physique_good_1 var:gr_opinion >= 0 }
				desc = gr_s3_hale
			}
			triggered_desc = {
				trigger = { has_variable = gr_physique var:gr_physique = flag:physique_good_1 var:gr_opinion < 0 }
				desc = gr_s3_hale_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_physique var:gr_physique = flag:physique_bad_1 var:gr_opinion >= 0 }
				desc = gr_s3_delicate
			}
			triggered_desc = {
				trigger = { has_variable = gr_physique var:gr_physique = flag:physique_bad_1 var:gr_opinion < 0 }
				desc = gr_s3_delicate_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_physique var:gr_physique = flag:physique_bad_2 var:gr_opinion >= 0 }
				desc = gr_s3_frail
			}
			triggered_desc = {
				trigger = { has_variable = gr_physique var:gr_physique = flag:physique_bad_2 var:gr_opinion < 0 }
				desc = gr_s3_frail_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_physique var:gr_physique = flag:physique_bad_3 var:gr_opinion >= 0 }
				desc = gr_s3_feeble
			}
			triggered_desc = {
				trigger = { has_variable = gr_physique var:gr_physique = flag:physique_bad_3 var:gr_opinion < 0 }
				desc = gr_s3_feeble_neg
			}
			desc = gr_s3_physique_none
		}
		
		# Lifestyle traits earned (pick most notable)
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_life_scholar var:gr_opinion >= 0 }
				desc = gr_s3_life_scholar
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_scholar var:gr_opinion < 0 }
				desc = gr_s3_life_scholar_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_strategist var:gr_opinion >= 0 }
				desc = gr_s3_life_strategist
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_strategist var:gr_opinion < 0 }
				desc = gr_s3_life_strategist_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_architect var:gr_opinion >= 0 }
				desc = gr_s3_life_architect
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_architect var:gr_opinion < 0 }
				desc = gr_s3_life_architect_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_diplomat var:gr_opinion >= 0 }
				desc = gr_s3_life_diplomat
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_diplomat var:gr_opinion < 0 }
				desc = gr_s3_life_diplomat_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_schemer var:gr_opinion >= 0 }
				desc = gr_s3_life_schemer
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_schemer var:gr_opinion < 0 }
				desc = gr_s3_life_schemer_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_gallant var:gr_opinion >= 0 }
				desc = gr_s3_life_gallant
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_gallant var:gr_opinion < 0 }
				desc = gr_s3_life_gallant_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_overseer var:gr_opinion >= 0 }
				desc = gr_s3_life_overseer
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_overseer var:gr_opinion < 0 }
				desc = gr_s3_life_overseer_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_august var:gr_opinion >= 0 }
				desc = gr_s3_life_august
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_august var:gr_opinion < 0 }
				desc = gr_s3_life_august_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_theologian var:gr_opinion >= 0 }
				desc = gr_s3_life_theologian
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_theologian var:gr_opinion < 0 }
				desc = gr_s3_life_theologian_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_administrator var:gr_opinion >= 0 }
				desc = gr_s3_life_admin
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_administrator var:gr_opinion < 0 }
				desc = gr_s3_life_admin_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_torturer var:gr_opinion >= 0 }
				desc = gr_s3_life_torturer
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_torturer var:gr_opinion < 0 }
				desc = gr_s3_life_torturer_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_seducer var:gr_opinion >= 0 }
				desc = gr_s3_life_seducer
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_seducer var:gr_opinion < 0 }
				desc = gr_s3_life_seducer_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_avaricious var:gr_opinion >= 0 }
				desc = gr_s3_life_avaricious
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_avaricious var:gr_opinion < 0 }
				desc = gr_s3_life_avaricious_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_patriarch var:gr_opinion >= 0 }
				desc = gr_s3_life_patriarch
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_patriarch var:gr_opinion < 0 }
				desc = gr_s3_life_patriarch_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_wholebody var:gr_opinion >= 0 }
				desc = gr_s3_life_wholebody
			}
			triggered_desc = {
				trigger = { has_variable = gr_life_wholebody var:gr_opinion < 0 }
				desc = gr_s3_life_wholebody_neg
			}
			desc = gr_s3_life_none
		}
		
		# Special congenital / physical marks
		triggered_desc = {
			trigger = { has_variable = gr_con_giant var:gr_opinion >= 0 }
			desc = gr_s3_giant
		}
		triggered_desc = {
			trigger = { has_variable = gr_con_giant var:gr_opinion < 0 }
			desc = gr_s3_giant_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_con_dwarf var:gr_opinion >= 0 }
			desc = gr_s3_dwarf
		}
		triggered_desc = {
			trigger = { has_variable = gr_con_dwarf var:gr_opinion < 0 }
			desc = gr_s3_dwarf_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_con_albino var:gr_opinion >= 0 }
			desc = gr_s3_albino
		}
		triggered_desc = {
			trigger = { has_variable = gr_con_albino var:gr_opinion < 0 }
			desc = gr_s3_albino_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_con_scaly var:gr_opinion >= 0 }
			desc = gr_s3_scaly
		}
		triggered_desc = {
			trigger = { has_variable = gr_con_scaly var:gr_opinion < 0 }
			desc = gr_s3_scaly_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_blind var:gr_opinion >= 0 }
			desc = gr_s3_blind
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_blind var:gr_opinion < 0 }
			desc = gr_s3_blind_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_oneeyed var:gr_opinion >= 0 }
			desc = gr_s3_oneeyed
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_oneeyed var:gr_opinion < 0 }
			desc = gr_s3_oneeyed_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_disfigured var:gr_opinion >= 0 }
			desc = gr_s3_disfigured
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_disfigured var:gr_opinion < 0 }
			desc = gr_s3_disfigured_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_leper var:gr_opinion >= 0 }
			desc = gr_s3_leper
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_leper var:gr_opinion < 0 }
			desc = gr_s3_leper_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_eunuch var:gr_opinion >= 0 }
			desc = gr_s3_eunuch
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_eunuch var:gr_opinion < 0 }
			desc = gr_s3_eunuch_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_scarred var:gr_opinion >= 0 }
			desc = gr_s3_scarred
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_scarred var:gr_opinion < 0 }
			desc = gr_s3_scarred_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_strong var:gr_opinion >= 0 }
			desc = gr_s3_strong
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_strong var:gr_opinion < 0 }
			desc = gr_s3_strong_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_athletic var:gr_opinion >= 0 }
			desc = gr_s3_athletic
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_athletic var:gr_opinion < 0 }
			desc = gr_s3_athletic_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_sickly var:gr_opinion >= 0 }
			desc = gr_s3_sickly
		}
		triggered_desc = {
			trigger = { has_variable = gr_health_sickly var:gr_opinion < 0 }
			desc = gr_s3_sickly_neg
		}
		
		# ---- SENTENCE 4: REPUTATION (Prestige + Piety + Dread + Infamy) ----
		# Prestige
		first_valid = {
			triggered_desc = {
				trigger = { var:gr_prestige_level >= 6 var:gr_opinion >= 0 }
				desc = gr_s4_prestige_legend
			}
			triggered_desc = {
				trigger = { var:gr_prestige_level >= 6 var:gr_opinion < 0 }
				desc = gr_s4_prestige_legend_neg
			}
			triggered_desc = {
				trigger = { var:gr_prestige_level >= 4 var:gr_opinion >= 0 }
				desc = gr_s4_prestige_high
			}
			triggered_desc = {
				trigger = { var:gr_prestige_level >= 4 var:gr_opinion < 0 }
				desc = gr_s4_prestige_high_neg
			}
			triggered_desc = {
				trigger = { var:gr_prestige_level >= 2 var:gr_opinion >= 0 }
				desc = gr_s4_prestige_mid
			}
			triggered_desc = {
				trigger = { var:gr_prestige_level >= 2 var:gr_opinion < 0 }
				desc = gr_s4_prestige_mid_neg
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= 0 }
				desc = gr_s4_prestige_low
			}
			desc = gr_s4_prestige_low_neg
		}
		
		# Piety
		first_valid = {
			triggered_desc = {
				trigger = { var:gr_piety_level >= 5 var:gr_opinion >= 0 }
				desc = gr_s4_piety_saint
			}
			triggered_desc = {
				trigger = { var:gr_piety_level >= 5 var:gr_opinion < 0 }
				desc = gr_s4_piety_saint_neg
			}
			triggered_desc = {
				trigger = { var:gr_piety_level >= 3 var:gr_opinion >= 0 }
				desc = gr_s4_piety_devout
			}
			triggered_desc = {
				trigger = { var:gr_piety_level >= 3 var:gr_opinion < 0 }
				desc = gr_s4_piety_devout_neg
			}
			triggered_desc = {
				trigger = { var:gr_piety_level >= 1 var:gr_opinion >= 0 }
				desc = gr_s4_piety_faithful
			}
			triggered_desc = {
				trigger = { var:gr_piety_level >= 1 var:gr_opinion < 0 }
				desc = gr_s4_piety_faithful_neg
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= 0 }
				desc = gr_s4_piety_low
			}
			desc = gr_s4_piety_low_neg
		}
		
		# Dread
		first_valid = {
			triggered_desc = {
				trigger = { var:gr_dread >= 75 var:gr_opinion >= 0 }
				desc = gr_s4_dread_terrifying
			}
			triggered_desc = {
				trigger = { var:gr_dread >= 75 var:gr_opinion < 0 }
				desc = gr_s4_dread_terrifying_neg
			}
			triggered_desc = {
				trigger = { var:gr_dread >= 40 var:gr_opinion >= 0 }
				desc = gr_s4_dread_feared
			}
			triggered_desc = {
				trigger = { var:gr_dread >= 40 var:gr_opinion < 0 }
				desc = gr_s4_dread_feared_neg
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= 0 }
				desc = gr_s4_dread_none
			}
			desc = gr_s4_dread_none_neg
		}
		
		# Infamy marks
		triggered_desc = {
			trigger = { has_variable = gr_infamy_kinslayer var:gr_opinion >= 0 }
			desc = gr_s4_kinslayer
		}
		triggered_desc = {
			trigger = { has_variable = gr_infamy_kinslayer var:gr_opinion < 0 }
			desc = gr_s4_kinslayer_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_infamy_murderer var:gr_opinion >= 0 }
			desc = gr_s4_murderer
		}
		triggered_desc = {
			trigger = { has_variable = gr_infamy_murderer var:gr_opinion < 0 }
			desc = gr_s4_murderer_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_infamy_cannibal var:gr_opinion >= 0 }
			desc = gr_s4_cannibal
		}
		triggered_desc = {
			trigger = { has_variable = gr_infamy_cannibal var:gr_opinion < 0 }
			desc = gr_s4_cannibal_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_infamy_witch var:gr_opinion >= 0 }
			desc = gr_s4_witch
		}
		triggered_desc = {
			trigger = { has_variable = gr_infamy_witch var:gr_opinion < 0 }
			desc = gr_s4_witch_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_infamy_excomm var:gr_opinion >= 0 }
			desc = gr_s4_excomm
		}
		triggered_desc = {
			trigger = { has_variable = gr_infamy_excomm var:gr_opinion < 0 }
			desc = gr_s4_excomm_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_infamy_incest var:gr_opinion >= 0 }
			desc = gr_s4_incest
		}
		triggered_desc = {
			trigger = { has_variable = gr_infamy_incest var:gr_opinion < 0 }
			desc = gr_s4_incest_neg
		}
		
		# Coping mechanisms
		triggered_desc = {
			trigger = { has_variable = gr_coping_drunkard var:gr_opinion >= 0 }
			desc = gr_s4_drunkard
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_drunkard var:gr_opinion < 0 }
			desc = gr_s4_drunkard_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_hashish var:gr_opinion >= 0 }
			desc = gr_s4_hashish
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_hashish var:gr_opinion < 0 }
			desc = gr_s4_hashish_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_recluse var:gr_opinion >= 0 }
			desc = gr_s4_recluse
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_recluse var:gr_opinion < 0 }
			desc = gr_s4_recluse_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_eater var:gr_opinion >= 0 }
			desc = gr_s4_eater
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_eater var:gr_opinion < 0 }
			desc = gr_s4_eater_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_flagellant var:gr_opinion >= 0 }
			desc = gr_s4_flagellant
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_flagellant var:gr_opinion < 0 }
			desc = gr_s4_flagellant_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_inappetetic var:gr_opinion >= 0 }
			desc = gr_s4_inappetetic
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_inappetetic var:gr_opinion < 0 }
			desc = gr_s4_inappetetic_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_journaller var:gr_opinion >= 0 }
			desc = gr_s4_journaller
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_journaller var:gr_opinion < 0 }
			desc = gr_s4_journaller_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_confider var:gr_opinion >= 0 }
			desc = gr_s4_confider
		}
		triggered_desc = {
			trigger = { has_variable = gr_coping_confider var:gr_opinion < 0 }
			desc = gr_s4_confider_neg
		}
		
		desc = gr_s4_close
		
		# ================================================
		# 7b. FAME TRAITS (lifestyle achievements)
		# ================================================
		# Blademaster
		triggered_desc = {
			trigger = { has_variable = gr_fame_blademaster var:gr_opinion >= 25 }
			desc = gr_fame_blademaster_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_blademaster var:gr_opinion >= -24 var:gr_opinion < 25 }
			desc = gr_fame_blademaster_neutral
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_blademaster var:gr_opinion < -24 }
			desc = gr_fame_blademaster_neg
		}
		# Hunter
		triggered_desc = {
			trigger = { has_variable = gr_fame_hunter var:gr_opinion >= 25 }
			desc = gr_fame_hunter_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_hunter var:gr_opinion >= -24 var:gr_opinion < 25 }
			desc = gr_fame_hunter_neutral
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_hunter var:gr_opinion < -24 }
			desc = gr_fame_hunter_neg
		}
		# Reveler
		triggered_desc = {
			trigger = { has_variable = gr_fame_reveler var:gr_opinion >= 25 }
			desc = gr_fame_reveler_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_reveler var:gr_opinion >= -24 var:gr_opinion < 25 }
			desc = gr_fame_reveler_neutral
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_reveler var:gr_opinion < -24 }
			desc = gr_fame_reveler_neg
		}
		# Mystic (Wise Man/Woman)
		triggered_desc = {
			trigger = { has_variable = gr_fame_mystic var:gr_opinion >= 25 }
			desc = gr_fame_mystic_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_mystic var:gr_opinion >= -24 var:gr_opinion < 25 }
			desc = gr_fame_mystic_neutral
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_mystic var:gr_opinion < -24 }
			desc = gr_fame_mystic_neg
		}
		# Physician (tier-aware: 3=renowned, 2=skilled, 1=novice)
		triggered_desc = {
			trigger = { has_variable = gr_fame_physician_tier var:gr_fame_physician_tier >= 3 var:gr_opinion >= 0 }
			desc = gr_fame_physician_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_physician_tier var:gr_fame_physician_tier >= 3 var:gr_opinion < 0 }
			desc = gr_fame_physician_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_physician_tier var:gr_fame_physician_tier >= 2 var:gr_opinion >= 0 }
			desc = gr_fame_physician_skilled_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_physician_tier var:gr_fame_physician_tier >= 2 var:gr_opinion < 0 }
			desc = gr_fame_physician_skilled_neg
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_physician_tier var:gr_opinion >= 0 }
			desc = gr_fame_physician_novice_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_physician_tier var:gr_opinion < 0 }
			desc = gr_fame_physician_novice_neg
		}
		# Poet
		triggered_desc = {
			trigger = { has_variable = gr_fame_poet var:gr_opinion >= 25 }
			desc = gr_fame_poet_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_poet var:gr_opinion >= -24 var:gr_opinion < 25 }
			desc = gr_fame_poet_neutral
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_poet var:gr_opinion < -24 }
			desc = gr_fame_poet_neg
		}
		# Herbalist
		triggered_desc = {
			trigger = { has_variable = gr_fame_herbalist var:gr_opinion >= 25 }
			desc = gr_fame_herbalist_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_herbalist var:gr_opinion >= -24 var:gr_opinion < 25 }
			desc = gr_fame_herbalist_neutral
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_herbalist var:gr_opinion < -24 }
			desc = gr_fame_herbalist_neg
		}
		# Pilgrim
		triggered_desc = {
			trigger = { has_variable = gr_fame_pilgrim var:gr_opinion >= 25 }
			desc = gr_fame_pilgrim_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_pilgrim var:gr_opinion >= -24 var:gr_opinion < 25 }
			desc = gr_fame_pilgrim_neutral
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_pilgrim var:gr_opinion < -24 }
			desc = gr_fame_pilgrim_neg
		}
		# Traveler
		triggered_desc = {
			trigger = { has_variable = gr_fame_traveler var:gr_opinion >= 25 }
			desc = gr_fame_traveler_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_traveler var:gr_opinion >= -24 var:gr_opinion < 25 }
			desc = gr_fame_traveler_neutral
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_traveler var:gr_opinion < -24 }
			desc = gr_fame_traveler_neg
		}
		# Wayfarer
		triggered_desc = {
			trigger = { has_variable = gr_fame_wayfarer var:gr_opinion >= 25 }
			desc = gr_fame_wayfarer_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_wayfarer var:gr_opinion >= -24 var:gr_opinion < 25 }
			desc = gr_fame_wayfarer_neutral
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_wayfarer var:gr_opinion < -24 }
			desc = gr_fame_wayfarer_neg
		}
		# Voyager
		triggered_desc = {
			trigger = { has_variable = gr_fame_voyager var:gr_opinion >= 25 }
			desc = gr_fame_voyager_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_voyager var:gr_opinion >= -24 var:gr_opinion < 25 }
			desc = gr_fame_voyager_neutral
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_voyager var:gr_opinion < -24 }
			desc = gr_fame_voyager_neg
		}
		# Surveyor
		triggered_desc = {
			trigger = { has_variable = gr_fame_surveyor var:gr_opinion >= 25 }
			desc = gr_fame_surveyor_pos
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_surveyor var:gr_opinion >= -24 var:gr_opinion < 25 }
			desc = gr_fame_surveyor_neutral
		}
		triggered_desc = {
			trigger = { has_variable = gr_fame_surveyor var:gr_opinion < -24 }
			desc = gr_fame_surveyor_neg
		}
		
		# AGOT: DRAGON SECTION
		# Fires if any dragon-related variable is set
		# ================================================
		first_valid = {
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_dragonrider
						has_variable = gr_agot_dragonless
						has_variable = gr_agot_dragonwidowed
						has_variable = gr_agot_dragonslayer
					}
					var:gr_chronicler_type = flag:maester
				}
				desc = gr_agot_dragon_intro_maester
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_dragonrider
						has_variable = gr_agot_dragonless
						has_variable = gr_agot_dragonwidowed
						has_variable = gr_agot_dragonslayer
					}
					var:gr_opinion >= 25
					var:gr_random_seed < 40
				}
				desc = gr_agot_dragon_intro_pos_1
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_dragonrider
						has_variable = gr_agot_dragonless
						has_variable = gr_agot_dragonwidowed
						has_variable = gr_agot_dragonslayer
					}
					var:gr_opinion >= 25
				}
				desc = gr_agot_dragon_intro_pos_2
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_dragonrider
						has_variable = gr_agot_dragonless
						has_variable = gr_agot_dragonwidowed
						has_variable = gr_agot_dragonslayer
					}
					var:gr_opinion >= -24
					var:gr_random_seed < 40
				}
				desc = gr_agot_dragon_intro_neutral_1
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_dragonrider
						has_variable = gr_agot_dragonless
						has_variable = gr_agot_dragonwidowed
						has_variable = gr_agot_dragonslayer
					}
					var:gr_opinion >= -24
				}
				desc = gr_agot_dragon_intro_neutral_2
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_dragonrider
						has_variable = gr_agot_dragonless
						has_variable = gr_agot_dragonwidowed
						has_variable = gr_agot_dragonslayer
					}
					var:gr_random_seed < 40
				}
				desc = gr_agot_dragon_intro_neg_1
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_dragonrider
						has_variable = gr_agot_dragonless
						has_variable = gr_agot_dragonwidowed
						has_variable = gr_agot_dragonslayer
					}
				}
				desc = gr_agot_dragon_intro_neg_2
			}
		}
		# Dragonrider
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_chronicler_type = flag:maester }
				desc = gr_agot_dragonrider_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_opinion >= 25 var:gr_random_seed < 20 }
				desc = gr_agot_dragonrider_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_opinion >= 25 var:gr_random_seed < 40 }
				desc = gr_agot_dragonrider_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_opinion >= 25 var:gr_random_seed < 60 }
				desc = gr_agot_dragonrider_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_opinion >= 25 var:gr_random_seed < 80 }
				desc = gr_agot_dragonrider_pos_4
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_opinion >= 25 }
				desc = gr_agot_dragonrider_pos_5
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_opinion >= -24 var:gr_random_seed < 20 }
				desc = gr_agot_dragonrider_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_opinion >= -24 var:gr_random_seed < 40 }
				desc = gr_agot_dragonrider_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_opinion >= -24 var:gr_random_seed < 60 }
				desc = gr_agot_dragonrider_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_opinion >= -24 var:gr_random_seed < 80 }
				desc = gr_agot_dragonrider_neutral_4
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_opinion >= -24 }
				desc = gr_agot_dragonrider_neutral_5
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_random_seed < 20 }
				desc = gr_agot_dragonrider_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_random_seed < 40 }
				desc = gr_agot_dragonrider_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_random_seed < 60 }
				desc = gr_agot_dragonrider_neg_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider var:gr_random_seed < 80 }
				desc = gr_agot_dragonrider_neg_4
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonrider }
				desc = gr_agot_dragonrider_neg_5
			}
		}
		# Dragonless (lost dragon while living)
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonless var:gr_chronicler_type = flag:maester }
				desc = gr_agot_dragonless_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonless var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_dragonless_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonless var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_dragonless_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonless var:gr_opinion >= 25 }
				desc = gr_agot_dragonless_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonless var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_dragonless_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonless var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_dragonless_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonless var:gr_opinion >= -24 }
				desc = gr_agot_dragonless_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonless var:gr_random_seed < 34 }
				desc = gr_agot_dragonless_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonless var:gr_random_seed < 67 }
				desc = gr_agot_dragonless_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonless }
				desc = gr_agot_dragonless_neg_3
			}
		}
		# Dragonwidowed (dragon died)
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonwidowed var:gr_chronicler_type = flag:maester }
				desc = gr_agot_dragonwidowed_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonwidowed var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_dragonwidowed_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonwidowed var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_dragonwidowed_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonwidowed var:gr_opinion >= 25 }
				desc = gr_agot_dragonwidowed_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonwidowed var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_dragonwidowed_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonwidowed var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_dragonwidowed_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonwidowed var:gr_opinion >= -24 }
				desc = gr_agot_dragonwidowed_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonwidowed var:gr_random_seed < 34 }
				desc = gr_agot_dragonwidowed_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonwidowed var:gr_random_seed < 67 }
				desc = gr_agot_dragonwidowed_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonwidowed }
				desc = gr_agot_dragonwidowed_neg_3
			}
		}
		# Dragonslayer
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonslayer var:gr_chronicler_type = flag:maester }
				desc = gr_agot_dragonslayer_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonslayer var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_dragonslayer_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonslayer var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_dragonslayer_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonslayer var:gr_opinion >= 25 }
				desc = gr_agot_dragonslayer_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonslayer var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_dragonslayer_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonslayer var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_dragonslayer_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonslayer var:gr_opinion >= -24 }
				desc = gr_agot_dragonslayer_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonslayer var:gr_random_seed < 34 }
				desc = gr_agot_dragonslayer_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonslayer var:gr_random_seed < 67 }
				desc = gr_agot_dragonslayer_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragonslayer }
				desc = gr_agot_dragonslayer_neg_3
			}
		}
		# Dragon section closer
		triggered_desc = {
			trigger = {
				OR = {
					has_variable = gr_agot_dragonrider
					has_variable = gr_agot_dragonless
					has_variable = gr_agot_dragonwidowed
					has_variable = gr_agot_dragonslayer
				}
			}
			desc = gr_agot_dragon_close
		}

		# ================================================
		# AGOT: WAR SECTION
		# Fires if any war variable was set during the reign
		# ================================================
		first_valid = {
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_war_reyne
						has_variable = gr_agot_war_blackfyre
						has_variable = gr_agot_war_ninepenny
						has_variable = gr_agot_war_faegon
						has_variable = gr_agot_war_daemon
						has_variable = gr_agot_war_duskendale
						has_variable = gr_agot_war_dragon
						has_variable = gr_agot_war_ranging
						has_variable = gr_agot_war_wall_reclaim
						has_variable = gr_agot_war_rebellion
						has_variable = gr_agot_war_succession
						has_variable = gr_agot_war_independence
						has_variable = gr_agot_war_pirate
						has_variable = gr_agot_war_slavery
						has_variable = gr_agot_war_eradicate
					}
					var:gr_chronicler_type = flag:maester
				}
				desc = gr_agot_war_intro_maester
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_war_reyne
						has_variable = gr_agot_war_blackfyre
						has_variable = gr_agot_war_ninepenny
						has_variable = gr_agot_war_faegon
						has_variable = gr_agot_war_daemon
						has_variable = gr_agot_war_duskendale
						has_variable = gr_agot_war_dragon
						has_variable = gr_agot_war_ranging
						has_variable = gr_agot_war_wall_reclaim
						has_variable = gr_agot_war_rebellion
						has_variable = gr_agot_war_succession
						has_variable = gr_agot_war_independence
						has_variable = gr_agot_war_pirate
						has_variable = gr_agot_war_slavery
						has_variable = gr_agot_war_eradicate
					}
					var:gr_opinion >= 25
				}
				desc = gr_agot_war_intro_pos
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_war_reyne
						has_variable = gr_agot_war_blackfyre
						has_variable = gr_agot_war_ninepenny
						has_variable = gr_agot_war_faegon
						has_variable = gr_agot_war_daemon
						has_variable = gr_agot_war_duskendale
						has_variable = gr_agot_war_dragon
						has_variable = gr_agot_war_ranging
						has_variable = gr_agot_war_wall_reclaim
						has_variable = gr_agot_war_rebellion
						has_variable = gr_agot_war_succession
						has_variable = gr_agot_war_independence
						has_variable = gr_agot_war_pirate
						has_variable = gr_agot_war_slavery
						has_variable = gr_agot_war_eradicate
					}
				}
				desc = gr_agot_war_intro_neg
			}
		}

		# --- Reyne Rebellion ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_reyne var:gr_agot_war_reyne = flag:won_att var:gr_chronicler_type = flag:maester }
				desc = gr_agot_war_reyne_won_att_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_reyne var:gr_agot_war_reyne = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_reyne_won_att_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_reyne var:gr_agot_war_reyne = flag:won_att }
				desc = gr_agot_war_reyne_won_att_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_reyne var:gr_agot_war_reyne = flag:won_def var:gr_opinion >= 25 }
				desc = gr_agot_war_reyne_won_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_reyne var:gr_agot_war_reyne = flag:won_def }
				desc = gr_agot_war_reyne_won_def_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_reyne var:gr_agot_war_reyne = flag:lost_att }
				desc = gr_agot_war_reyne_lost_att
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_reyne var:gr_agot_war_reyne = flag:survived_def var:gr_opinion >= 25 }
				desc = gr_agot_war_reyne_survived_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_reyne var:gr_agot_war_reyne = flag:survived_def }
				desc = gr_agot_war_reyne_survived_def_neg
			}
		}

		# --- Blackfyre Rebellion ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_blackfyre var:gr_agot_war_blackfyre = flag:won_att var:gr_chronicler_type = flag:maester }
				desc = gr_agot_war_blackfyre_won_att_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_blackfyre var:gr_agot_war_blackfyre = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_blackfyre_won_att_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_blackfyre var:gr_agot_war_blackfyre = flag:won_att }
				desc = gr_agot_war_blackfyre_won_att_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_blackfyre var:gr_agot_war_blackfyre = flag:won_def var:gr_opinion >= 25 }
				desc = gr_agot_war_blackfyre_won_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_blackfyre var:gr_agot_war_blackfyre = flag:won_def }
				desc = gr_agot_war_blackfyre_won_def_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_blackfyre var:gr_agot_war_blackfyre = flag:lost_att }
				desc = gr_agot_war_blackfyre_lost_att
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_blackfyre var:gr_agot_war_blackfyre = flag:survived_def var:gr_opinion >= 25 }
				desc = gr_agot_war_blackfyre_survived_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_blackfyre var:gr_agot_war_blackfyre = flag:survived_def }
				desc = gr_agot_war_blackfyre_survived_def_neg
			}
		}

		# --- Ninepenny Kings ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_ninepenny var:gr_agot_war_ninepenny = flag:won_att var:gr_chronicler_type = flag:maester }
				desc = gr_agot_war_ninepenny_won_att_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_ninepenny var:gr_agot_war_ninepenny = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_ninepenny_won_att_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_ninepenny var:gr_agot_war_ninepenny = flag:won_att }
				desc = gr_agot_war_ninepenny_won_att_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_ninepenny var:gr_agot_war_ninepenny = flag:won_def var:gr_opinion >= 25 }
				desc = gr_agot_war_ninepenny_won_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_ninepenny var:gr_agot_war_ninepenny = flag:won_def }
				desc = gr_agot_war_ninepenny_won_def_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_ninepenny var:gr_agot_war_ninepenny = flag:lost_att }
				desc = gr_agot_war_ninepenny_lost_att
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_ninepenny var:gr_agot_war_ninepenny = flag:survived_def }
				desc = gr_agot_war_ninepenny_survived_def
			}
		}

		# --- Faegon's Invasion ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_faegon var:gr_agot_war_faegon = flag:won_att var:gr_chronicler_type = flag:maester }
				desc = gr_agot_war_faegon_won_att_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_faegon var:gr_agot_war_faegon = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_faegon_won_att_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_faegon var:gr_agot_war_faegon = flag:won_att }
				desc = gr_agot_war_faegon_won_att_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_faegon var:gr_agot_war_faegon = flag:won_def var:gr_opinion >= 25 }
				desc = gr_agot_war_faegon_won_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_faegon var:gr_agot_war_faegon = flag:won_def }
				desc = gr_agot_war_faegon_won_def_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_faegon var:gr_agot_war_faegon = flag:lost_att }
				desc = gr_agot_war_faegon_lost_att
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_faegon var:gr_agot_war_faegon = flag:survived_def var:gr_opinion >= 25 }
				desc = gr_agot_war_faegon_survived_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_faegon var:gr_agot_war_faegon = flag:survived_def }
				desc = gr_agot_war_faegon_survived_def_neg
			}
		}

		# --- Daemon's Stepstones Campaign ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_daemon var:gr_agot_war_daemon = flag:won_att var:gr_chronicler_type = flag:maester }
				desc = gr_agot_war_daemon_won_att_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_daemon var:gr_agot_war_daemon = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_daemon_won_att_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_daemon var:gr_agot_war_daemon = flag:won_att }
				desc = gr_agot_war_daemon_won_att_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_daemon var:gr_agot_war_daemon = flag:won_def var:gr_opinion >= 25 }
				desc = gr_agot_war_daemon_won_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_daemon var:gr_agot_war_daemon = flag:won_def }
				desc = gr_agot_war_daemon_won_def_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_daemon var:gr_agot_war_daemon = flag:lost_att }
				desc = gr_agot_war_daemon_lost_att
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_daemon var:gr_agot_war_daemon = flag:survived_def }
				desc = gr_agot_war_daemon_survived_def
			}
		}

		# --- Defiance of Duskendale ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_duskendale var:gr_agot_war_duskendale = flag:won_att var:gr_chronicler_type = flag:maester }
				desc = gr_agot_war_duskendale_won_att_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_duskendale var:gr_agot_war_duskendale = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_duskendale_won_att_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_duskendale var:gr_agot_war_duskendale = flag:won_att }
				desc = gr_agot_war_duskendale_won_att_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_duskendale var:gr_agot_war_duskendale = flag:won_def var:gr_opinion >= 25 }
				desc = gr_agot_war_duskendale_won_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_duskendale var:gr_agot_war_duskendale = flag:won_def }
				desc = gr_agot_war_duskendale_won_def_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_duskendale var:gr_agot_war_duskendale = flag:lost_att }
				desc = gr_agot_war_duskendale_lost_att
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_duskendale var:gr_agot_war_duskendale = flag:survived_def var:gr_opinion >= 25 }
				desc = gr_agot_war_duskendale_survived_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_duskendale var:gr_agot_war_duskendale = flag:survived_def }
				desc = gr_agot_war_duskendale_survived_def_neg
			}
		}

		# --- Dragon War ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_dragon var:gr_chronicler_type = flag:maester }
				desc = gr_agot_war_dragon_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_dragon var:gr_agot_war_dragon = flag:won_att var:gr_agot_war_dragon_tier = flag:kingdom var:gr_opinion >= 25 }
				desc = gr_agot_war_dragon_won_att_kingdom_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_dragon var:gr_agot_war_dragon = flag:won_att var:gr_agot_war_dragon_tier = flag:kingdom }
				desc = gr_agot_war_dragon_won_att_kingdom_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_dragon var:gr_agot_war_dragon = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_dragon_won_att_duchy_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_dragon var:gr_agot_war_dragon = flag:won_att }
				desc = gr_agot_war_dragon_won_att_duchy_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_dragon var:gr_agot_war_dragon = flag:won_def var:gr_opinion >= 25 }
				desc = gr_agot_war_dragon_won_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_dragon var:gr_agot_war_dragon = flag:won_def }
				desc = gr_agot_war_dragon_won_def_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_dragon var:gr_agot_war_dragon = flag:lost_att }
				desc = gr_agot_war_dragon_lost_att
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_dragon var:gr_agot_war_dragon = flag:survived_def }
				desc = gr_agot_war_dragon_survived_def
			}
		}

		# --- Night's Watch Ranging ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_ranging var:gr_agot_war_ranging = flag:won_att var:gr_chronicler_type = flag:maester }
				desc = gr_agot_war_ranging_won_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_ranging var:gr_agot_war_ranging = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_ranging_won_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_ranging var:gr_agot_war_ranging = flag:won_att }
				desc = gr_agot_war_ranging_won_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_ranging var:gr_agot_war_ranging = flag:lost_att }
				desc = gr_agot_war_ranging_lost
			}
		}

		# --- Reclaim the Wall ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_wall_reclaim var:gr_agot_war_wall_reclaim = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_wall_reclaim_won_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_wall_reclaim var:gr_agot_war_wall_reclaim = flag:won_att }
				desc = gr_agot_war_wall_reclaim_won_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_wall_reclaim var:gr_agot_war_wall_reclaim = flag:lost_att }
				desc = gr_agot_war_wall_reclaim_lost
			}
		}

		# --- Generic Rebellion War ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_rebellion var:gr_agot_war_rebellion = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_rebellion_won_att_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_rebellion var:gr_agot_war_rebellion = flag:won_att }
				desc = gr_agot_war_rebellion_won_att_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_rebellion var:gr_agot_war_rebellion = flag:won_def var:gr_opinion >= 25 }
				desc = gr_agot_war_rebellion_won_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_rebellion var:gr_agot_war_rebellion = flag:won_def }
				desc = gr_agot_war_rebellion_won_def_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_rebellion var:gr_agot_war_rebellion = flag:lost_att }
				desc = gr_agot_war_rebellion_lost_att
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_rebellion var:gr_agot_war_rebellion = flag:survived_def }
				desc = gr_agot_war_rebellion_survived_def
			}
		}

		# --- Generic Succession War ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_succession var:gr_agot_war_succession = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_succession_won_att_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_succession var:gr_agot_war_succession = flag:won_att }
				desc = gr_agot_war_succession_won_att_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_succession var:gr_agot_war_succession = flag:won_def var:gr_opinion >= 25 }
				desc = gr_agot_war_succession_won_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_succession var:gr_agot_war_succession = flag:won_def }
				desc = gr_agot_war_succession_won_def_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_succession var:gr_agot_war_succession = flag:lost_att }
				desc = gr_agot_war_succession_lost_att
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_succession var:gr_agot_war_succession = flag:survived_def }
				desc = gr_agot_war_succession_survived_def
			}
		}

		# --- Generic Independence War ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_independence var:gr_agot_war_independence = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_independence_won_att_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_independence var:gr_agot_war_independence = flag:won_att }
				desc = gr_agot_war_independence_won_att_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_independence var:gr_agot_war_independence = flag:won_def var:gr_opinion >= 25 }
				desc = gr_agot_war_independence_won_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_independence var:gr_agot_war_independence = flag:won_def }
				desc = gr_agot_war_independence_won_def_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_independence var:gr_agot_war_independence = flag:lost_att }
				desc = gr_agot_war_independence_lost_att
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_independence var:gr_agot_war_independence = flag:survived_def }
				desc = gr_agot_war_independence_survived_def
			}
		}

		# --- Pirate War ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_pirate var:gr_agot_war_pirate = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_pirate_won_att_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_pirate var:gr_agot_war_pirate = flag:won_att }
				desc = gr_agot_war_pirate_won_att_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_pirate var:gr_agot_war_pirate = flag:won_def var:gr_opinion >= 25 }
				desc = gr_agot_war_pirate_won_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_pirate var:gr_agot_war_pirate = flag:won_def }
				desc = gr_agot_war_pirate_won_def_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_pirate var:gr_agot_war_pirate = flag:lost_att }
				desc = gr_agot_war_pirate_lost_att
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_pirate var:gr_agot_war_pirate = flag:survived_def }
				desc = gr_agot_war_pirate_survived_def
			}
		}

		# --- Slavery War ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_slavery var:gr_agot_war_slavery = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_slavery_won_att_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_slavery var:gr_agot_war_slavery = flag:won_att var:gr_opinion >= -24 }
				desc = gr_agot_war_slavery_won_att_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_slavery var:gr_agot_war_slavery = flag:won_att }
				desc = gr_agot_war_slavery_won_att_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_slavery var:gr_agot_war_slavery = flag:won_def var:gr_opinion >= 25 }
				desc = gr_agot_war_slavery_won_def_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_slavery var:gr_agot_war_slavery = flag:won_def }
				desc = gr_agot_war_slavery_won_def_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_slavery var:gr_agot_war_slavery = flag:lost_att }
				desc = gr_agot_war_slavery_lost_att
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_slavery var:gr_agot_war_slavery = flag:survived_def }
				desc = gr_agot_war_slavery_survived_def
			}
		}

		# --- Eradicate House ---
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_eradicate var:gr_agot_war_eradicate = flag:won_att var:gr_opinion >= 25 }
				desc = gr_agot_war_eradicate_won_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_eradicate var:gr_agot_war_eradicate = flag:won_att }
				desc = gr_agot_war_eradicate_won_neg
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_war_eradicate var:gr_agot_war_eradicate = flag:lost_att }
				desc = gr_agot_war_eradicate_lost
			}
		}

		# War section closer
		triggered_desc = {
			trigger = {
				OR = {
					has_variable = gr_agot_war_reyne
					has_variable = gr_agot_war_blackfyre
					has_variable = gr_agot_war_ninepenny
					has_variable = gr_agot_war_faegon
					has_variable = gr_agot_war_daemon
					has_variable = gr_agot_war_duskendale
					has_variable = gr_agot_war_dragon
					has_variable = gr_agot_war_ranging
					has_variable = gr_agot_war_wall_reclaim
					has_variable = gr_agot_war_rebellion
					has_variable = gr_agot_war_succession
					has_variable = gr_agot_war_independence
					has_variable = gr_agot_war_pirate
					has_variable = gr_agot_war_slavery
					has_variable = gr_agot_war_eradicate
				}
			}
			desc = gr_agot_war_close
		}

		# ================================================
		# AGOT: SWORN SERVICE SECTION
		# Kingsguard and Night's Watch
		# ================================================
		first_valid = {
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_kingsguard
						has_variable = gr_agot_nightswatch
					}
					var:gr_chronicler_type = flag:maester
				}
				desc = gr_agot_sworn_intro_maester
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_kingsguard
						has_variable = gr_agot_nightswatch
					}
					var:gr_opinion >= 25
					var:gr_random_seed < 34
				}
				desc = gr_agot_sworn_intro_pos_1
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_kingsguard
						has_variable = gr_agot_nightswatch
					}
					var:gr_opinion >= 25
					var:gr_random_seed < 67
				}
				desc = gr_agot_sworn_intro_pos_2
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_kingsguard
						has_variable = gr_agot_nightswatch
					}
					var:gr_opinion >= 25
				}
				desc = gr_agot_sworn_intro_pos_3
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_kingsguard
						has_variable = gr_agot_nightswatch
					}
					var:gr_opinion >= -24
					var:gr_random_seed < 34
				}
				desc = gr_agot_sworn_intro_neutral_1
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_kingsguard
						has_variable = gr_agot_nightswatch
					}
					var:gr_opinion >= -24
					var:gr_random_seed < 67
				}
				desc = gr_agot_sworn_intro_neutral_2
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_kingsguard
						has_variable = gr_agot_nightswatch
					}
					var:gr_opinion >= -24
				}
				desc = gr_agot_sworn_intro_neutral_3
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_kingsguard
						has_variable = gr_agot_nightswatch
					}
					var:gr_random_seed < 34
				}
				desc = gr_agot_sworn_intro_neg_1
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_kingsguard
						has_variable = gr_agot_nightswatch
					}
					var:gr_random_seed < 67
				}
				desc = gr_agot_sworn_intro_neg_2
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_kingsguard
						has_variable = gr_agot_nightswatch
					}
				}
				desc = gr_agot_sworn_intro_neg_3
			}
		}
		# Kingsguard
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_chronicler_type = flag:maester }
				desc = gr_agot_kingsguard_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_opinion >= 25 var:gr_random_seed < 20 }
				desc = gr_agot_kingsguard_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_opinion >= 25 var:gr_random_seed < 40 }
				desc = gr_agot_kingsguard_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_opinion >= 25 var:gr_random_seed < 60 }
				desc = gr_agot_kingsguard_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_opinion >= 25 var:gr_random_seed < 80 }
				desc = gr_agot_kingsguard_pos_4
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_opinion >= 25 }
				desc = gr_agot_kingsguard_pos_5
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_opinion >= -24 var:gr_random_seed < 20 }
				desc = gr_agot_kingsguard_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_opinion >= -24 var:gr_random_seed < 40 }
				desc = gr_agot_kingsguard_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_opinion >= -24 var:gr_random_seed < 60 }
				desc = gr_agot_kingsguard_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_opinion >= -24 var:gr_random_seed < 80 }
				desc = gr_agot_kingsguard_neutral_4
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_opinion >= -24 }
				desc = gr_agot_kingsguard_neutral_5
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_random_seed < 20 }
				desc = gr_agot_kingsguard_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_random_seed < 40 }
				desc = gr_agot_kingsguard_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_random_seed < 60 }
				desc = gr_agot_kingsguard_neg_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard var:gr_random_seed < 80 }
				desc = gr_agot_kingsguard_neg_4
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kingsguard }
				desc = gr_agot_kingsguard_neg_5
			}
		}
		# Night's Watch - lifestyle variants then base
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_chronicler_type = flag:maester var:gr_agot_nw_lifestyle = flag:ranger }
				desc = gr_agot_nw_ranger_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_chronicler_type = flag:maester var:gr_agot_nw_lifestyle = flag:builder }
				desc = gr_agot_nw_builder_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_chronicler_type = flag:maester var:gr_agot_nw_lifestyle = flag:steward }
				desc = gr_agot_nw_steward_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_chronicler_type = flag:maester }
				desc = gr_agot_nw_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:ranger var:gr_random_seed < 20 }
				desc = gr_agot_nw_ranger_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:ranger var:gr_random_seed < 40 }
				desc = gr_agot_nw_ranger_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:ranger var:gr_random_seed < 60 }
				desc = gr_agot_nw_ranger_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:ranger var:gr_random_seed < 80 }
				desc = gr_agot_nw_ranger_pos_4
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:ranger }
				desc = gr_agot_nw_ranger_pos_5
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:builder var:gr_random_seed < 20 }
				desc = gr_agot_nw_builder_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:builder var:gr_random_seed < 40 }
				desc = gr_agot_nw_builder_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:builder var:gr_random_seed < 60 }
				desc = gr_agot_nw_builder_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:builder var:gr_random_seed < 80 }
				desc = gr_agot_nw_builder_pos_4
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:builder }
				desc = gr_agot_nw_builder_pos_5
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:steward var:gr_random_seed < 20 }
				desc = gr_agot_nw_steward_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:steward var:gr_random_seed < 40 }
				desc = gr_agot_nw_steward_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:steward var:gr_random_seed < 60 }
				desc = gr_agot_nw_steward_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:steward var:gr_random_seed < 80 }
				desc = gr_agot_nw_steward_pos_4
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_agot_nw_lifestyle = flag:steward }
				desc = gr_agot_nw_steward_pos_5
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_random_seed < 20 }
				desc = gr_agot_nw_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_random_seed < 40 }
				desc = gr_agot_nw_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_random_seed < 60 }
				desc = gr_agot_nw_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 var:gr_random_seed < 80 }
				desc = gr_agot_nw_pos_4
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= 25 }
				desc = gr_agot_nw_pos_5
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= -24 var:gr_agot_nw_lifestyle = flag:ranger var:gr_random_seed < 34 }
				desc = gr_agot_nw_ranger_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= -24 var:gr_agot_nw_lifestyle = flag:ranger var:gr_random_seed < 67 }
				desc = gr_agot_nw_ranger_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= -24 var:gr_agot_nw_lifestyle = flag:ranger }
				desc = gr_agot_nw_ranger_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= -24 var:gr_agot_nw_lifestyle = flag:builder var:gr_random_seed < 34 }
				desc = gr_agot_nw_builder_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= -24 var:gr_agot_nw_lifestyle = flag:builder var:gr_random_seed < 67 }
				desc = gr_agot_nw_builder_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= -24 var:gr_agot_nw_lifestyle = flag:builder }
				desc = gr_agot_nw_builder_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= -24 var:gr_agot_nw_lifestyle = flag:steward var:gr_random_seed < 34 }
				desc = gr_agot_nw_steward_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= -24 var:gr_agot_nw_lifestyle = flag:steward var:gr_random_seed < 67 }
				desc = gr_agot_nw_steward_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= -24 var:gr_agot_nw_lifestyle = flag:steward }
				desc = gr_agot_nw_steward_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_nw_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_nw_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_opinion >= -24 }
				desc = gr_agot_nw_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_agot_nw_lifestyle = flag:ranger var:gr_random_seed < 34 }
				desc = gr_agot_nw_ranger_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_agot_nw_lifestyle = flag:ranger var:gr_random_seed < 67 }
				desc = gr_agot_nw_ranger_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_agot_nw_lifestyle = flag:ranger }
				desc = gr_agot_nw_ranger_neg_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_agot_nw_lifestyle = flag:builder var:gr_random_seed < 34 }
				desc = gr_agot_nw_builder_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_agot_nw_lifestyle = flag:builder var:gr_random_seed < 67 }
				desc = gr_agot_nw_builder_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_agot_nw_lifestyle = flag:builder }
				desc = gr_agot_nw_builder_neg_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_agot_nw_lifestyle = flag:steward var:gr_random_seed < 34 }
				desc = gr_agot_nw_steward_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_agot_nw_lifestyle = flag:steward var:gr_random_seed < 67 }
				desc = gr_agot_nw_steward_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_agot_nw_lifestyle = flag:steward }
				desc = gr_agot_nw_steward_neg_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_random_seed < 34 }
				desc = gr_agot_nw_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch var:gr_random_seed < 67 }
				desc = gr_agot_nw_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_nightswatch }
				desc = gr_agot_nw_neg_3
			}
		}
		# Deserter
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_deserter var:gr_chronicler_type = flag:maester }
				desc = gr_agot_deserter_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_deserter var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_deserter_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_deserter var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_deserter_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_deserter var:gr_opinion >= 25 }
				desc = gr_agot_deserter_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_deserter var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_deserter_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_deserter var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_deserter_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_deserter var:gr_opinion >= -24 }
				desc = gr_agot_deserter_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_deserter var:gr_random_seed < 34 }
				desc = gr_agot_deserter_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_deserter var:gr_random_seed < 67 }
				desc = gr_agot_deserter_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_deserter }
				desc = gr_agot_deserter_neg_3
			}
		}
		# Sworn service section closer
		triggered_desc = {
			trigger = {
				OR = {
					has_variable = gr_agot_kingsguard
					has_variable = gr_agot_nightswatch
				}
			}
			desc = gr_agot_sworn_close
		}
		
		# ================================================
		# AGOT: KNIGHTHOOD SECTION
		# ================================================
		triggered_desc = {
			trigger = {
				OR = {
					has_variable = gr_agot_knight
					has_variable = gr_agot_squire
					has_variable = gr_agot_stripped_knight
				}
			}
			desc = gr_agot_knight_intro
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_knight var:gr_chronicler_type = flag:maester }
				desc = gr_agot_knight_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_knight var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_knight_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_knight var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_knight_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_knight var:gr_opinion >= 25 }
				desc = gr_agot_knight_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_knight var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_knight_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_knight var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_knight_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_knight var:gr_opinion >= -24 }
				desc = gr_agot_knight_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_knight var:gr_random_seed < 34 }
				desc = gr_agot_knight_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_knight var:gr_random_seed < 67 }
				desc = gr_agot_knight_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_knight }
				desc = gr_agot_knight_neg_3
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_squire var:gr_chronicler_type = flag:maester }
				desc = gr_agot_squire_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_squire var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_squire_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_squire var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_squire_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_squire var:gr_opinion >= 25 }
				desc = gr_agot_squire_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_squire var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_squire_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_squire var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_squire_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_squire var:gr_opinion >= -24 }
				desc = gr_agot_squire_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_squire var:gr_random_seed < 34 }
				desc = gr_agot_squire_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_squire var:gr_random_seed < 67 }
				desc = gr_agot_squire_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_squire }
				desc = gr_agot_squire_neg_3
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_stripped_knight var:gr_chronicler_type = flag:maester }
				desc = gr_agot_stripped_knight_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_stripped_knight var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_stripped_knight_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_stripped_knight var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_stripped_knight_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_stripped_knight var:gr_opinion >= 25 }
				desc = gr_agot_stripped_knight_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_stripped_knight var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_stripped_knight_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_stripped_knight var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_stripped_knight_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_stripped_knight var:gr_opinion >= -24 }
				desc = gr_agot_stripped_knight_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_stripped_knight var:gr_random_seed < 34 }
				desc = gr_agot_stripped_knight_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_stripped_knight var:gr_random_seed < 67 }
				desc = gr_agot_stripped_knight_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_stripped_knight }
				desc = gr_agot_stripped_knight_neg_3
			}
		}
		triggered_desc = {
			trigger = {
				OR = {
					has_variable = gr_agot_knight
					has_variable = gr_agot_squire
					has_variable = gr_agot_stripped_knight
				}
			}
			desc = gr_agot_knight_close
		}
		# Knightings given (fires independently of whether char was a knight)
		first_valid = {
			triggered_desc = {
				trigger = {
					var:gr_predecessor = { count_character_memories = { type = agot_knighted_someone count >= 10 } }
					var:gr_opinion >= 25
				}
				desc = gr_agot_knightings_high_pos
			}
			triggered_desc = {
				trigger = { var:gr_predecessor = { count_character_memories = { type = agot_knighted_someone count >= 10 } } }
				desc = gr_agot_knightings_high_neg
			}
			triggered_desc = {
				trigger = {
					var:gr_predecessor = { count_character_memories = { type = agot_knighted_someone count >= 3 } }
					var:gr_opinion >= 25
				}
				desc = gr_agot_knightings_mid_pos
			}
			triggered_desc = {
				trigger = { var:gr_predecessor = { count_character_memories = { type = agot_knighted_someone count >= 3 } } }
				desc = gr_agot_knightings_mid_neg
			}
			triggered_desc = {
				trigger = {
					var:gr_predecessor = { count_character_memories = { type = agot_knighted_someone count >= 1 } }
					var:gr_opinion >= 25
				}
				desc = gr_agot_knightings_low_pos
			}
			triggered_desc = {
				trigger = { var:gr_predecessor = { count_character_memories = { type = agot_knighted_someone count >= 1 } } }
				desc = gr_agot_knightings_low_neg
			}
		}
		
		# ================================================
		# AGOT: THE CITADEL SECTION
		# ================================================
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:archmaester var:gr_chronicler_type = flag:maester }
				desc = gr_agot_archmaester_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:archmaester var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_archmaester_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:archmaester var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_archmaester_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:archmaester var:gr_opinion >= 25 }
				desc = gr_agot_archmaester_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:archmaester var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_archmaester_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:archmaester var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_archmaester_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:archmaester var:gr_opinion >= -24 }
				desc = gr_agot_archmaester_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:archmaester var:gr_random_seed < 34 }
				desc = gr_agot_archmaester_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:archmaester var:gr_random_seed < 67 }
				desc = gr_agot_archmaester_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:archmaester }
				desc = gr_agot_archmaester_neg_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:disgraced var:gr_chronicler_type = flag:maester }
				desc = gr_agot_disgraced_maester_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:disgraced var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_disgraced_maester_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:disgraced var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_disgraced_maester_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:disgraced var:gr_opinion >= 25 }
				desc = gr_agot_disgraced_maester_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:disgraced var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_disgraced_maester_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:disgraced var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_disgraced_maester_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:disgraced var:gr_opinion >= -24 }
				desc = gr_agot_disgraced_maester_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:disgraced var:gr_random_seed < 34 }
				desc = gr_agot_disgraced_maester_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:disgraced var:gr_random_seed < 67 }
				desc = gr_agot_disgraced_maester_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_agot_maester = flag:disgraced }
				desc = gr_agot_disgraced_maester_neg_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_chronicler_type = flag:maester }
				desc = gr_agot_maester_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_maester_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_maester_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_opinion >= 25 }
				desc = gr_agot_maester_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_maester_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_maester_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_opinion >= -24 }
				desc = gr_agot_maester_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_random_seed < 34 }
				desc = gr_agot_maester_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester var:gr_random_seed < 67 }
				desc = gr_agot_maester_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_maester }
				desc = gr_agot_maester_neg_3
			}
		}
		triggered_desc = {
			trigger = { has_variable = gr_agot_maester }
			desc = gr_agot_citadel_close
		}
		
		# ================================================
		# AGOT: RELIGIOUS ROLES SECTION
		# ================================================
		triggered_desc = {
			trigger = { has_variable = gr_agot_religious_role }
			desc = gr_agot_religious_intro
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:high_septon var:gr_chronicler_type = flag:maester }
				desc = gr_agot_high_septon_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:high_septon var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_high_septon_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:high_septon var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_high_septon_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:high_septon var:gr_opinion >= 25 }
				desc = gr_agot_high_septon_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:high_septon var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_high_septon_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:high_septon var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_high_septon_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:high_septon var:gr_opinion >= -24 }
				desc = gr_agot_high_septon_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:high_septon var:gr_random_seed < 34 }
				desc = gr_agot_high_septon_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:high_septon var:gr_random_seed < 67 }
				desc = gr_agot_high_septon_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:high_septon }
				desc = gr_agot_high_septon_neg_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:most_devout var:gr_chronicler_type = flag:maester }
				desc = gr_agot_most_devout_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:most_devout var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_most_devout_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:most_devout var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_most_devout_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:most_devout var:gr_opinion >= 25 }
				desc = gr_agot_most_devout_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:most_devout var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_most_devout_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:most_devout var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_most_devout_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:most_devout var:gr_opinion >= -24 }
				desc = gr_agot_most_devout_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:most_devout var:gr_random_seed < 34 }
				desc = gr_agot_most_devout_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:most_devout var:gr_random_seed < 67 }
				desc = gr_agot_most_devout_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:most_devout }
				desc = gr_agot_most_devout_neg_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:red_priest var:gr_chronicler_type = flag:maester }
				desc = gr_agot_red_priest_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:red_priest var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_red_priest_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:red_priest var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_red_priest_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:red_priest var:gr_opinion >= 25 }
				desc = gr_agot_red_priest_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:red_priest var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_red_priest_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:red_priest var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_red_priest_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:red_priest var:gr_opinion >= -24 }
				desc = gr_agot_red_priest_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:red_priest var:gr_random_seed < 34 }
				desc = gr_agot_red_priest_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:red_priest var:gr_random_seed < 67 }
				desc = gr_agot_red_priest_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:red_priest }
				desc = gr_agot_red_priest_neg_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:drowned_man var:gr_chronicler_type = flag:maester }
				desc = gr_agot_drowned_man_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:drowned_man var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_drowned_man_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:drowned_man var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_drowned_man_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:drowned_man var:gr_opinion >= 25 }
				desc = gr_agot_drowned_man_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:drowned_man var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_drowned_man_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:drowned_man var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_drowned_man_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:drowned_man var:gr_opinion >= -24 }
				desc = gr_agot_drowned_man_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:drowned_man var:gr_random_seed < 34 }
				desc = gr_agot_drowned_man_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:drowned_man var:gr_random_seed < 67 }
				desc = gr_agot_drowned_man_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:drowned_man }
				desc = gr_agot_drowned_man_neg_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:bearded_priest var:gr_chronicler_type = flag:maester }
				desc = gr_agot_bearded_priest_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:bearded_priest var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_bearded_priest_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:bearded_priest var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_bearded_priest_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:bearded_priest var:gr_opinion >= 25 }
				desc = gr_agot_bearded_priest_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:bearded_priest var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_bearded_priest_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:bearded_priest var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_bearded_priest_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:bearded_priest var:gr_opinion >= -24 }
				desc = gr_agot_bearded_priest_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:bearded_priest var:gr_random_seed < 34 }
				desc = gr_agot_bearded_priest_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:bearded_priest var:gr_random_seed < 67 }
				desc = gr_agot_bearded_priest_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:bearded_priest }
				desc = gr_agot_bearded_priest_neg_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:silent_sister var:gr_chronicler_type = flag:maester }
				desc = gr_agot_silent_sister_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:silent_sister var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_silent_sister_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:silent_sister var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_silent_sister_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:silent_sister var:gr_opinion >= 25 }
				desc = gr_agot_silent_sister_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:silent_sister var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_silent_sister_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:silent_sister var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_silent_sister_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:silent_sister var:gr_opinion >= -24 }
				desc = gr_agot_silent_sister_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:silent_sister var:gr_random_seed < 34 }
				desc = gr_agot_silent_sister_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:silent_sister var:gr_random_seed < 67 }
				desc = gr_agot_silent_sister_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_agot_religious_role = flag:silent_sister }
				desc = gr_agot_silent_sister_neg_3
			}
			# Generic septon fallback
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_chronicler_type = flag:maester }
				desc = gr_agot_septon_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_septon_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_septon_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_opinion >= 25 }
				desc = gr_agot_septon_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_septon_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_septon_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_opinion >= -24 }
				desc = gr_agot_septon_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_random_seed < 34 }
				desc = gr_agot_septon_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role var:gr_random_seed < 67 }
				desc = gr_agot_septon_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_religious_role }
				desc = gr_agot_septon_neg_3
			}
		}
		triggered_desc = {
			trigger = { has_variable = gr_agot_religious_role }
			desc = gr_agot_religious_close
		}
		
		# ================================================
		# AGOT: CONDITIONS SECTION
		# Flowing paragraph - intro fires if any condition set,
		# each condition adds its sentence, closer ends the paragraph
		# ================================================
		first_valid = {
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_greyscale
						has_variable = gr_agot_burned
						has_variable = gr_agot_one_handed
						has_variable = gr_agot_crippled
						has_variable = gr_agot_mute
						has_variable = gr_agot_half_blind
						has_variable = gr_agot_the_mark
						has_variable = gr_agot_shivers
						has_variable = gr_agot_scurvy
					}
					var:gr_chronicler_type = flag:maester
				}
				desc = gr_agot_conditions_intro_maester
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_greyscale
						has_variable = gr_agot_burned
						has_variable = gr_agot_one_handed
						has_variable = gr_agot_crippled
						has_variable = gr_agot_mute
						has_variable = gr_agot_half_blind
						has_variable = gr_agot_the_mark
						has_variable = gr_agot_shivers
						has_variable = gr_agot_scurvy
					}
					var:gr_opinion >= 25
					var:gr_random_seed < 34
				}
				desc = gr_agot_conditions_intro_pos_1
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_greyscale
						has_variable = gr_agot_burned
						has_variable = gr_agot_one_handed
						has_variable = gr_agot_crippled
						has_variable = gr_agot_mute
						has_variable = gr_agot_half_blind
						has_variable = gr_agot_the_mark
						has_variable = gr_agot_shivers
						has_variable = gr_agot_scurvy
					}
					var:gr_opinion >= 25
					var:gr_random_seed < 67
				}
				desc = gr_agot_conditions_intro_pos_2
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_greyscale
						has_variable = gr_agot_burned
						has_variable = gr_agot_one_handed
						has_variable = gr_agot_crippled
						has_variable = gr_agot_mute
						has_variable = gr_agot_half_blind
						has_variable = gr_agot_the_mark
						has_variable = gr_agot_shivers
						has_variable = gr_agot_scurvy
					}
					var:gr_opinion >= 25
				}
				desc = gr_agot_conditions_intro_pos_3
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_greyscale
						has_variable = gr_agot_burned
						has_variable = gr_agot_one_handed
						has_variable = gr_agot_crippled
						has_variable = gr_agot_mute
						has_variable = gr_agot_half_blind
						has_variable = gr_agot_the_mark
						has_variable = gr_agot_shivers
						has_variable = gr_agot_scurvy
					}
					var:gr_opinion >= -24
					var:gr_random_seed < 34
				}
				desc = gr_agot_conditions_intro_neutral_1
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_greyscale
						has_variable = gr_agot_burned
						has_variable = gr_agot_one_handed
						has_variable = gr_agot_crippled
						has_variable = gr_agot_mute
						has_variable = gr_agot_half_blind
						has_variable = gr_agot_the_mark
						has_variable = gr_agot_shivers
						has_variable = gr_agot_scurvy
					}
					var:gr_opinion >= -24
					var:gr_random_seed < 67
				}
				desc = gr_agot_conditions_intro_neutral_2
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_greyscale
						has_variable = gr_agot_burned
						has_variable = gr_agot_one_handed
						has_variable = gr_agot_crippled
						has_variable = gr_agot_mute
						has_variable = gr_agot_half_blind
						has_variable = gr_agot_the_mark
						has_variable = gr_agot_shivers
						has_variable = gr_agot_scurvy
					}
					var:gr_opinion >= -24
				}
				desc = gr_agot_conditions_intro_neutral_3
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_greyscale
						has_variable = gr_agot_burned
						has_variable = gr_agot_one_handed
						has_variable = gr_agot_crippled
						has_variable = gr_agot_mute
						has_variable = gr_agot_half_blind
						has_variable = gr_agot_the_mark
						has_variable = gr_agot_shivers
						has_variable = gr_agot_scurvy
					}
					var:gr_random_seed < 34
				}
				desc = gr_agot_conditions_intro_neg_1
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_greyscale
						has_variable = gr_agot_burned
						has_variable = gr_agot_one_handed
						has_variable = gr_agot_crippled
						has_variable = gr_agot_mute
						has_variable = gr_agot_half_blind
						has_variable = gr_agot_the_mark
						has_variable = gr_agot_shivers
						has_variable = gr_agot_scurvy
					}
					var:gr_random_seed < 67
				}
				desc = gr_agot_conditions_intro_neg_2
			}
			triggered_desc = {
				trigger = {
					OR = {
						has_variable = gr_agot_greyscale
						has_variable = gr_agot_burned
						has_variable = gr_agot_one_handed
						has_variable = gr_agot_crippled
						has_variable = gr_agot_mute
						has_variable = gr_agot_half_blind
						has_variable = gr_agot_the_mark
						has_variable = gr_agot_shivers
						has_variable = gr_agot_scurvy
					}
				}
				desc = gr_agot_conditions_intro_neg_3
			}
		}
		# Individual condition sentences - all fire independently if set
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_greyscale var:gr_chronicler_type = flag:maester }
				desc = gr_agot_greyscale_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greyscale var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_greyscale_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greyscale var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_greyscale_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greyscale var:gr_opinion >= 25 }
				desc = gr_agot_greyscale_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greyscale var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_greyscale_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greyscale var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_greyscale_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greyscale var:gr_opinion >= -24 }
				desc = gr_agot_greyscale_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greyscale var:gr_random_seed < 34 }
				desc = gr_agot_greyscale_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greyscale var:gr_random_seed < 67 }
				desc = gr_agot_greyscale_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greyscale }
				desc = gr_agot_greyscale_neg_3
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_burned var:gr_chronicler_type = flag:maester }
				desc = gr_agot_burned_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_burned var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_burned_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_burned var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_burned_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_burned var:gr_opinion >= 25 }
				desc = gr_agot_burned_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_burned var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_burned_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_burned var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_burned_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_burned var:gr_opinion >= -24 }
				desc = gr_agot_burned_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_burned var:gr_random_seed < 34 }
				desc = gr_agot_burned_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_burned var:gr_random_seed < 67 }
				desc = gr_agot_burned_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_burned }
				desc = gr_agot_burned_neg_3
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_one_handed var:gr_chronicler_type = flag:maester }
				desc = gr_agot_one_handed_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_one_handed var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_one_handed_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_one_handed var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_one_handed_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_one_handed var:gr_opinion >= 25 }
				desc = gr_agot_one_handed_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_one_handed var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_one_handed_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_one_handed var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_one_handed_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_one_handed var:gr_opinion >= -24 }
				desc = gr_agot_one_handed_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_one_handed var:gr_random_seed < 34 }
				desc = gr_agot_one_handed_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_one_handed var:gr_random_seed < 67 }
				desc = gr_agot_one_handed_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_one_handed }
				desc = gr_agot_one_handed_neg_3
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_crippled var:gr_chronicler_type = flag:maester }
				desc = gr_agot_crippled_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_crippled var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_crippled_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_crippled var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_crippled_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_crippled var:gr_opinion >= 25 }
				desc = gr_agot_crippled_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_crippled var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_crippled_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_crippled var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_crippled_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_crippled var:gr_opinion >= -24 }
				desc = gr_agot_crippled_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_crippled var:gr_random_seed < 34 }
				desc = gr_agot_crippled_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_crippled var:gr_random_seed < 67 }
				desc = gr_agot_crippled_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_crippled }
				desc = gr_agot_crippled_neg_3
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_mute var:gr_chronicler_type = flag:maester }
				desc = gr_agot_mute_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_mute var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_mute_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_mute var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_mute_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_mute var:gr_opinion >= 25 }
				desc = gr_agot_mute_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_mute var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_mute_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_mute var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_mute_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_mute var:gr_opinion >= -24 }
				desc = gr_agot_mute_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_mute var:gr_random_seed < 34 }
				desc = gr_agot_mute_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_mute var:gr_random_seed < 67 }
				desc = gr_agot_mute_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_mute }
				desc = gr_agot_mute_neg_3
			}
		}
		# Conditions closer
		triggered_desc = {
			trigger = {
				OR = {
					has_variable = gr_agot_greyscale
					has_variable = gr_agot_burned
					has_variable = gr_agot_one_handed
					has_variable = gr_agot_crippled
					has_variable = gr_agot_mute
					has_variable = gr_agot_half_blind
					has_variable = gr_agot_the_mark
					has_variable = gr_agot_shivers
					has_variable = gr_agot_scurvy
				}
			}
			desc = gr_agot_conditions_close
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_half_blind var:gr_chronicler_type = flag:maester }
				desc = gr_agot_half_blind_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_half_blind var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_half_blind_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_half_blind var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_half_blind_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_half_blind var:gr_opinion >= 25 }
				desc = gr_agot_half_blind_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_half_blind var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_half_blind_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_half_blind var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_half_blind_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_half_blind var:gr_opinion >= -24 }
				desc = gr_agot_half_blind_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_half_blind var:gr_random_seed < 34 }
				desc = gr_agot_half_blind_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_half_blind var:gr_random_seed < 67 }
				desc = gr_agot_half_blind_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_half_blind }
				desc = gr_agot_half_blind_neg_3
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_the_mark var:gr_chronicler_type = flag:maester }
				desc = gr_agot_the_mark_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_the_mark var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_the_mark_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_the_mark var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_the_mark_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_the_mark var:gr_opinion >= 25 }
				desc = gr_agot_the_mark_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_the_mark var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_the_mark_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_the_mark var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_the_mark_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_the_mark var:gr_opinion >= -24 }
				desc = gr_agot_the_mark_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_the_mark var:gr_random_seed < 34 }
				desc = gr_agot_the_mark_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_the_mark var:gr_random_seed < 67 }
				desc = gr_agot_the_mark_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_the_mark }
				desc = gr_agot_the_mark_neg_3
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_shivers var:gr_chronicler_type = flag:maester }
				desc = gr_agot_shivers_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_shivers var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_shivers_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_shivers var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_shivers_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_shivers var:gr_opinion >= 25 }
				desc = gr_agot_shivers_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_shivers var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_shivers_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_shivers var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_shivers_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_shivers var:gr_opinion >= -24 }
				desc = gr_agot_shivers_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_shivers var:gr_random_seed < 34 }
				desc = gr_agot_shivers_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_shivers var:gr_random_seed < 67 }
				desc = gr_agot_shivers_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_shivers }
				desc = gr_agot_shivers_neg_3
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_scurvy var:gr_chronicler_type = flag:maester }
				desc = gr_agot_scurvy_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_scurvy var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_scurvy_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_scurvy var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_scurvy_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_scurvy var:gr_opinion >= 25 }
				desc = gr_agot_scurvy_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_scurvy var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_scurvy_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_scurvy var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_scurvy_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_scurvy var:gr_opinion >= -24 }
				desc = gr_agot_scurvy_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_scurvy var:gr_random_seed < 34 }
				desc = gr_agot_scurvy_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_scurvy var:gr_random_seed < 67 }
				desc = gr_agot_scurvy_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_scurvy }
				desc = gr_agot_scurvy_neg_3
			}
		}
		
		# ================================================
		# AGOT: BANKING SECTION
		# ================================================
		# Defaulted - worst outcome, mention first and alone
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_bank_defaulted var:gr_chronicler_type = flag:maester }
				desc = gr_agot_bank_defaulted_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_bank_defaulted var:gr_opinion >= 25 }
				desc = gr_agot_bank_defaulted_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_bank_defaulted }
				desc = gr_agot_bank_defaulted_neg
			}
		}
		# Iron Bank shareholder
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_bank_ib_shareholder var:gr_chronicler_type = flag:maester }
				desc = gr_agot_bank_ib_shareholder_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_bank_ib_shareholder var:gr_opinion >= 25 }
				desc = gr_agot_bank_ib_shareholder_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_bank_ib_shareholder }
				desc = gr_agot_bank_ib_shareholder_neg
			}
		}
		# Founded own bank
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_bank_founder var:gr_chronicler_type = flag:maester }
				desc = gr_agot_bank_founder_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_bank_founder var:gr_opinion >= 25 }
				desc = gr_agot_bank_founder_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_bank_founder }
				desc = gr_agot_bank_founder_neg
			}
		}
		# Died in debt (only fires if not a defaulter, to avoid double-mention)
		first_valid = {
			triggered_desc = {
				trigger = {
					has_variable = gr_agot_bank_died_in_debt
					NOT = { has_variable = gr_agot_bank_defaulted }
					var:gr_chronicler_type = flag:maester
				}
				desc = gr_agot_bank_debt_death_maester
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_agot_bank_died_in_debt
					NOT = { has_variable = gr_agot_bank_defaulted }
					var:gr_opinion >= 25
				}
				desc = gr_agot_bank_debt_death_pos
			}
			triggered_desc = {
				trigger = {
					has_variable = gr_agot_bank_died_in_debt
					NOT = { has_variable = gr_agot_bank_defaulted }
				}
				desc = gr_agot_bank_debt_death_neg
			}
		}

		# ================================================
		# AGOT: MYSTICAL SECTION
		# ================================================
		triggered_desc = {
			trigger = {
				OR = {
					has_variable = gr_agot_dragon_dreams
					has_variable = gr_agot_greensight
				}
			}
			desc = gr_agot_mystical_intro
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragon_dreams var:gr_chronicler_type = flag:maester }
				desc = gr_agot_dragon_dreams_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragon_dreams var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_dragon_dreams_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragon_dreams var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_dragon_dreams_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragon_dreams var:gr_opinion >= 25 }
				desc = gr_agot_dragon_dreams_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragon_dreams var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_dragon_dreams_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragon_dreams var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_dragon_dreams_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragon_dreams var:gr_opinion >= -24 }
				desc = gr_agot_dragon_dreams_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragon_dreams var:gr_random_seed < 34 }
				desc = gr_agot_dragon_dreams_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragon_dreams var:gr_random_seed < 67 }
				desc = gr_agot_dragon_dreams_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_dragon_dreams }
				desc = gr_agot_dragon_dreams_neg_3
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_greensight var:gr_chronicler_type = flag:maester }
				desc = gr_agot_greensight_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greensight var:gr_opinion >= 25 var:gr_random_seed < 34 }
				desc = gr_agot_greensight_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greensight var:gr_opinion >= 25 var:gr_random_seed < 67 }
				desc = gr_agot_greensight_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greensight var:gr_opinion >= 25 }
				desc = gr_agot_greensight_pos_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greensight var:gr_opinion >= -24 var:gr_random_seed < 34 }
				desc = gr_agot_greensight_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greensight var:gr_opinion >= -24 var:gr_random_seed < 67 }
				desc = gr_agot_greensight_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greensight var:gr_opinion >= -24 }
				desc = gr_agot_greensight_neutral_3
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greensight var:gr_random_seed < 34 }
				desc = gr_agot_greensight_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greensight var:gr_random_seed < 67 }
				desc = gr_agot_greensight_neg_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_greensight }
				desc = gr_agot_greensight_neg_3
			}
		}
		triggered_desc = {
			trigger = {
				OR = {
					has_variable = gr_agot_dragon_dreams
					has_variable = gr_agot_greensight
				}
			}
			desc = gr_agot_mystical_close
		}
		
		# ================================================
		# AGOT: SOCIAL / REPUTATION SECTION
		# ================================================
		triggered_desc = {
			trigger = {
				OR = {
					has_variable = gr_agot_paramour
					has_variable = gr_agot_spider
					has_variable = gr_agot_kinslayer_accidental
					has_variable = gr_agot_broke_vows
					has_variable = gr_agot_fire_obsessed
					has_variable = gr_agot_authoritative
					has_variable = gr_agot_rude
					has_variable = gr_agot_inquisitive
					has_variable = gr_agot_uncouth
				}
			}
			desc = gr_agot_social_intro
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_paramour var:gr_chronicler_type = flag:maester }
				desc = gr_agot_paramour_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_paramour var:gr_opinion >= 25 var:gr_random_seed < 50 }
				desc = gr_agot_paramour_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_paramour var:gr_opinion >= 25 }
				desc = gr_agot_paramour_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_paramour var:gr_opinion >= -24 var:gr_random_seed < 50 }
				desc = gr_agot_paramour_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_paramour var:gr_opinion >= -24 }
				desc = gr_agot_paramour_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_paramour var:gr_random_seed < 50 }
				desc = gr_agot_paramour_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_paramour }
				desc = gr_agot_paramour_neg_2
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_spider var:gr_chronicler_type = flag:maester }
				desc = gr_agot_spider_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_spider var:gr_opinion >= 25 var:gr_random_seed < 50 }
				desc = gr_agot_spider_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_spider var:gr_opinion >= 25 }
				desc = gr_agot_spider_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_spider var:gr_opinion >= -24 var:gr_random_seed < 50 }
				desc = gr_agot_spider_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_spider var:gr_opinion >= -24 }
				desc = gr_agot_spider_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_spider var:gr_random_seed < 50 }
				desc = gr_agot_spider_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_spider }
				desc = gr_agot_spider_neg_2
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_kinslayer_accidental var:gr_chronicler_type = flag:maester }
				desc = gr_agot_kinslayer_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kinslayer_accidental var:gr_opinion >= 25 var:gr_random_seed < 50 }
				desc = gr_agot_kinslayer_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kinslayer_accidental var:gr_opinion >= 25 }
				desc = gr_agot_kinslayer_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kinslayer_accidental var:gr_opinion >= -24 var:gr_random_seed < 50 }
				desc = gr_agot_kinslayer_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kinslayer_accidental var:gr_opinion >= -24 }
				desc = gr_agot_kinslayer_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kinslayer_accidental var:gr_random_seed < 50 }
				desc = gr_agot_kinslayer_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_kinslayer_accidental }
				desc = gr_agot_kinslayer_neg_2
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_broke_vows var:gr_chronicler_type = flag:maester }
				desc = gr_agot_broke_vows_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_broke_vows var:gr_opinion >= 25 var:gr_random_seed < 50 }
				desc = gr_agot_broke_vows_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_broke_vows var:gr_opinion >= 25 }
				desc = gr_agot_broke_vows_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_broke_vows var:gr_opinion >= -24 var:gr_random_seed < 50 }
				desc = gr_agot_broke_vows_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_broke_vows var:gr_opinion >= -24 }
				desc = gr_agot_broke_vows_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_broke_vows var:gr_random_seed < 50 }
				desc = gr_agot_broke_vows_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_broke_vows }
				desc = gr_agot_broke_vows_neg_2
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_fire_obsessed var:gr_chronicler_type = flag:maester }
				desc = gr_agot_fire_obsessed_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_fire_obsessed var:gr_opinion >= 25 var:gr_random_seed < 50 }
				desc = gr_agot_fire_obsessed_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_fire_obsessed var:gr_opinion >= 25 }
				desc = gr_agot_fire_obsessed_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_fire_obsessed var:gr_opinion >= -24 var:gr_random_seed < 50 }
				desc = gr_agot_fire_obsessed_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_fire_obsessed var:gr_opinion >= -24 }
				desc = gr_agot_fire_obsessed_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_fire_obsessed var:gr_random_seed < 50 }
				desc = gr_agot_fire_obsessed_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_fire_obsessed }
				desc = gr_agot_fire_obsessed_neg_2
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_authoritative var:gr_chronicler_type = flag:maester }
				desc = gr_agot_authoritative_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_authoritative var:gr_opinion >= 25 var:gr_random_seed < 50 }
				desc = gr_agot_authoritative_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_authoritative var:gr_opinion >= 25 }
				desc = gr_agot_authoritative_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_authoritative var:gr_opinion >= -24 var:gr_random_seed < 50 }
				desc = gr_agot_authoritative_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_authoritative var:gr_opinion >= -24 }
				desc = gr_agot_authoritative_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_authoritative var:gr_random_seed < 50 }
				desc = gr_agot_authoritative_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_authoritative }
				desc = gr_agot_authoritative_neg_2
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_rude var:gr_chronicler_type = flag:maester }
				desc = gr_agot_rude_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_rude var:gr_opinion >= 25 var:gr_random_seed < 50 }
				desc = gr_agot_rude_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_rude var:gr_opinion >= 25 }
				desc = gr_agot_rude_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_rude var:gr_opinion >= -24 var:gr_random_seed < 50 }
				desc = gr_agot_rude_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_rude var:gr_opinion >= -24 }
				desc = gr_agot_rude_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_rude var:gr_random_seed < 50 }
				desc = gr_agot_rude_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_rude }
				desc = gr_agot_rude_neg_2
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_inquisitive var:gr_chronicler_type = flag:maester }
				desc = gr_agot_inquisitive_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_inquisitive var:gr_opinion >= 25 var:gr_random_seed < 50 }
				desc = gr_agot_inquisitive_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_inquisitive var:gr_opinion >= 25 }
				desc = gr_agot_inquisitive_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_inquisitive var:gr_opinion >= -24 var:gr_random_seed < 50 }
				desc = gr_agot_inquisitive_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_inquisitive var:gr_opinion >= -24 }
				desc = gr_agot_inquisitive_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_inquisitive var:gr_random_seed < 50 }
				desc = gr_agot_inquisitive_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_inquisitive }
				desc = gr_agot_inquisitive_neg_2
			}
		}
		first_valid = {
			triggered_desc = {
				trigger = { has_variable = gr_agot_uncouth var:gr_chronicler_type = flag:maester }
				desc = gr_agot_uncouth_maester
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_uncouth var:gr_opinion >= 25 var:gr_random_seed < 50 }
				desc = gr_agot_uncouth_pos_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_uncouth var:gr_opinion >= 25 }
				desc = gr_agot_uncouth_pos_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_uncouth var:gr_opinion >= -24 var:gr_random_seed < 50 }
				desc = gr_agot_uncouth_neutral_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_uncouth var:gr_opinion >= -24 }
				desc = gr_agot_uncouth_neutral_2
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_uncouth var:gr_random_seed < 50 }
				desc = gr_agot_uncouth_neg_1
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_uncouth }
				desc = gr_agot_uncouth_neg_2
			}
		}
		triggered_desc = {
			trigger = {
				OR = {
					has_variable = gr_agot_paramour
					has_variable = gr_agot_spider
					has_variable = gr_agot_kinslayer_accidental
					has_variable = gr_agot_broke_vows
					has_variable = gr_agot_fire_obsessed
					has_variable = gr_agot_authoritative
					has_variable = gr_agot_rude
					has_variable = gr_agot_inquisitive
					has_variable = gr_agot_uncouth
				}
			}
			desc = gr_agot_social_close
		}
		
		# ================================================
		# 9. FAITH & HERITAGE EXPANDED SECTION
		# ================================================
		# FAITH EXPANDED - pos/neutral/neg by opinion
		first_valid = {
			# ---- Faith of the Seven ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:seven var:gr_opinion >= 25 }
				desc = gr_agot_faith_seven_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:seven var:gr_opinion >= -24 }
				desc = gr_agot_faith_seven_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:seven }
				desc = gr_agot_faith_seven_neg
			}
			# ---- Old Gods ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:old_gods var:gr_opinion >= 25 }
				desc = gr_agot_faith_old_gods_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:old_gods var:gr_opinion >= -24 }
				desc = gr_agot_faith_old_gods_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:old_gods }
				desc = gr_agot_faith_old_gods_neg
			}
			# ---- Drowned God ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:drowned var:gr_opinion >= 25 }
				desc = gr_agot_faith_drowned_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:drowned var:gr_opinion >= -24 }
				desc = gr_agot_faith_drowned_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:drowned }
				desc = gr_agot_faith_drowned_neg
			}
			# ---- R'hllor ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhllor var:gr_opinion >= 25 }
				desc = gr_agot_faith_rhllor_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhllor var:gr_opinion >= -24 }
				desc = gr_agot_faith_rhllor_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhllor }
				desc = gr_agot_faith_rhllor_neg
			}
			# ---- Valyrian Flame-Faith ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:valyrian_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_valyrian_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:valyrian_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_valyrian_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:valyrian_faith }
				desc = gr_agot_faith_valyrian_faith_neg
			}
			# ---- Dothraki / Great Stallion ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:dothraki_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_dothraki_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:dothraki_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_dothraki_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:dothraki_faith }
				desc = gr_agot_faith_dothraki_faith_neg
			}
			# ---- The Harpy ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:harpy var:gr_opinion >= 25 }
				desc = gr_agot_faith_harpy_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:harpy var:gr_opinion >= -24 }
				desc = gr_agot_faith_harpy_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:harpy }
				desc = gr_agot_faith_harpy_neg
			}
			# ---- Free Cities Cults ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:free_cities_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_free_cities_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:free_cities_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_free_cities_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:free_cities_faith }
				desc = gr_agot_faith_free_cities_faith_neg
			}
			# ---- Mother Rhoyne ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhoynish_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_rhoynish_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhoynish_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_rhoynish_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:rhoynish_faith }
				desc = gr_agot_faith_rhoynish_faith_neg
			}
			# ---- Cold Gods ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:cold_gods var:gr_opinion >= 25 }
				desc = gr_agot_faith_cold_gods_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:cold_gods var:gr_opinion >= -24 }
				desc = gr_agot_faith_cold_gods_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:cold_gods }
				desc = gr_agot_faith_cold_gods_neg
			}
			# ---- Yi Ti Celestial Courts ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:yiti_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_yiti_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:yiti_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_yiti_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:yiti_faith }
				desc = gr_agot_faith_yiti_faith_neg
			}
			# ---- Sarnori Faith ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:sarnori_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_sarnori_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:sarnori_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_sarnori_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:sarnori_faith }
				desc = gr_agot_faith_sarnori_faith_neg
			}
			# ---- Essos Cult Orders ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:essos_orders var:gr_opinion >= 25 }
				desc = gr_agot_faith_essos_orders_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:essos_orders var:gr_opinion >= -24 }
				desc = gr_agot_faith_essos_orders_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:essos_orders }
				desc = gr_agot_faith_essos_orders_neg
			}
			# ---- Moon Singers ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:moon_singers var:gr_opinion >= 25 }
				desc = gr_agot_faith_moon_singers_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:moon_singers var:gr_opinion >= -24 }
				desc = gr_agot_faith_moon_singers_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:moon_singers }
				desc = gr_agot_faith_moon_singers_neg
			}
			# ---- Summer Islands Faith ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:summer_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_summer_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:summer_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_summer_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:summer_faith }
				desc = gr_agot_faith_summer_faith_neg
			}
			# ---- Qartheen Faith ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:qartheen_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_qartheen_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:qartheen_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_qartheen_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:qartheen_faith }
				desc = gr_agot_faith_qartheen_faith_neg
			}
			# ---- Shepherd Faith ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:shepherd_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_shepherd_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:shepherd_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_shepherd_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:shepherd_faith }
				desc = gr_agot_faith_shepherd_faith_neg
			}
			# ---- Basilisk Isles Faith ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:basilisk_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_basilisk_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:basilisk_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_basilisk_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:basilisk_faith }
				desc = gr_agot_faith_basilisk_faith_neg
			}
			# ---- Butterfly God of Naath ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:naathi_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_naathi_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:naathi_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_naathi_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:naathi_faith }
				desc = gr_agot_faith_naathi_faith_neg
			}
			# ---- Ancient First Gods ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:ancient_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_ancient_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:ancient_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_ancient_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:ancient_faith }
				desc = gr_agot_faith_ancient_faith_neg
			}
			# ---- Ibbenese Faith ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:ibbenese_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_ibbenese_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:ibbenese_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_ibbenese_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:ibbenese_faith }
				desc = gr_agot_faith_ibbenese_faith_neg
			}
			# ---- Eldritch Deep Gods ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:eldritch_faith var:gr_opinion >= 25 }
				desc = gr_agot_faith_eldritch_faith_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:eldritch_faith var:gr_opinion >= -24 }
				desc = gr_agot_faith_eldritch_faith_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_faith var:gr_agot_faith = flag:eldritch_faith }
				desc = gr_agot_faith_eldritch_faith_neg
			}
		}
		triggered_desc = {
			trigger = { has_variable = gr_agot_faith }
			desc = gr_agot_faith_section_close
		}
		# HERITAGE EXPANDED - pos/neutral/neg by opinion
		first_valid = {
			# ---- Andal ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:andal var:gr_opinion >= 25 }
				desc = gr_agot_heritage_andal_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:andal var:gr_opinion >= -24 }
				desc = gr_agot_heritage_andal_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:andal }
				desc = gr_agot_heritage_andal_neg
			}
			# ---- First Men ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:first_men var:gr_opinion >= 25 }
				desc = gr_agot_heritage_first_men_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:first_men var:gr_opinion >= -24 }
				desc = gr_agot_heritage_first_men_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:first_men }
				desc = gr_agot_heritage_first_men_neg
			}
			# ---- Ironborn ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:ironborn var:gr_opinion >= 25 }
				desc = gr_agot_heritage_ironborn_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:ironborn var:gr_opinion >= -24 }
				desc = gr_agot_heritage_ironborn_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:ironborn }
				desc = gr_agot_heritage_ironborn_neg
			}
			# ---- Rhoynar ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:rhoynar var:gr_opinion >= 25 }
				desc = gr_agot_heritage_rhoynar_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:rhoynar var:gr_opinion >= -24 }
				desc = gr_agot_heritage_rhoynar_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:rhoynar }
				desc = gr_agot_heritage_rhoynar_neg
			}
			# ---- Free Cities ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:free_cities_cult var:gr_opinion >= 25 }
				desc = gr_agot_heritage_free_cities_cult_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:free_cities_cult var:gr_opinion >= -24 }
				desc = gr_agot_heritage_free_cities_cult_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:free_cities_cult }
				desc = gr_agot_heritage_free_cities_cult_neg
			}
			# ---- Valyrian ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:valyrian_cult var:gr_opinion >= 25 }
				desc = gr_agot_heritage_valyrian_cult_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:valyrian_cult var:gr_opinion >= -24 }
				desc = gr_agot_heritage_valyrian_cult_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:valyrian_cult }
				desc = gr_agot_heritage_valyrian_cult_neg
			}
			# ---- Grasslands (Dothraki / Lhazareen) ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:grasslands var:gr_opinion >= 25 }
				desc = gr_agot_heritage_grasslands_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:grasslands var:gr_opinion >= -24 }
				desc = gr_agot_heritage_grasslands_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:grasslands }
				desc = gr_agot_heritage_grasslands_neg
			}
			# ---- Ghiscari ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:ghiscari var:gr_opinion >= 25 }
				desc = gr_agot_heritage_ghiscari_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:ghiscari var:gr_opinion >= -24 }
				desc = gr_agot_heritage_ghiscari_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:ghiscari }
				desc = gr_agot_heritage_ghiscari_neg
			}
			# ---- Yi Ti ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:yitish var:gr_opinion >= 25 }
				desc = gr_agot_heritage_yitish_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:yitish var:gr_opinion >= -24 }
				desc = gr_agot_heritage_yitish_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:yitish }
				desc = gr_agot_heritage_yitish_neg
			}
			# ---- Jade Islands ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:jade_islands var:gr_opinion >= 25 }
				desc = gr_agot_heritage_jade_islands_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:jade_islands var:gr_opinion >= -24 }
				desc = gr_agot_heritage_jade_islands_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:jade_islands }
				desc = gr_agot_heritage_jade_islands_neg
			}
			# ---- Free Folk / Wildling ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:wildling var:gr_opinion >= 25 }
				desc = gr_agot_heritage_wildling_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:wildling var:gr_opinion >= -24 }
				desc = gr_agot_heritage_wildling_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:wildling }
				desc = gr_agot_heritage_wildling_neg
			}
			# ---- Sarnori ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:sarnori_cult var:gr_opinion >= 25 }
				desc = gr_agot_heritage_sarnori_cult_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:sarnori_cult var:gr_opinion >= -24 }
				desc = gr_agot_heritage_sarnori_cult_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:sarnori_cult }
				desc = gr_agot_heritage_sarnori_cult_neg
			}
			# ---- Summer Islander ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:summer_cult var:gr_opinion >= 25 }
				desc = gr_agot_heritage_summer_cult_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:summer_cult var:gr_opinion >= -24 }
				desc = gr_agot_heritage_summer_cult_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:summer_cult }
				desc = gr_agot_heritage_summer_cult_neg
			}
			# ---- Ibbenese ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:ibbenese_cult var:gr_opinion >= 25 }
				desc = gr_agot_heritage_ibbenese_cult_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:ibbenese_cult var:gr_opinion >= -24 }
				desc = gr_agot_heritage_ibbenese_cult_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:ibbenese_cult }
				desc = gr_agot_heritage_ibbenese_cult_neg
			}
			# ---- Shadowlander ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:shadowlander var:gr_opinion >= 25 }
				desc = gr_agot_heritage_shadowlander_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:shadowlander var:gr_opinion >= -24 }
				desc = gr_agot_heritage_shadowlander_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:shadowlander }
				desc = gr_agot_heritage_shadowlander_neg
			}
			# ---- Elder Races ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:elder_races var:gr_opinion >= 25 }
				desc = gr_agot_heritage_elder_races_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:elder_races var:gr_opinion >= -24 }
				desc = gr_agot_heritage_elder_races_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:elder_races }
				desc = gr_agot_heritage_elder_races_neg
			}
			# ---- Hyrkoonan ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:hyrkoonan var:gr_opinion >= 25 }
				desc = gr_agot_heritage_hyrkoonan_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:hyrkoonan var:gr_opinion >= -24 }
				desc = gr_agot_heritage_hyrkoonan_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:hyrkoonan }
				desc = gr_agot_heritage_hyrkoonan_neg
			}
			# ---- Moraqi ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:moraqi var:gr_opinion >= 25 }
				desc = gr_agot_heritage_moraqi_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:moraqi var:gr_opinion >= -24 }
				desc = gr_agot_heritage_moraqi_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:moraqi }
				desc = gr_agot_heritage_moraqi_neg
			}
			# ---- Jogos Nhai ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:nghai var:gr_opinion >= 25 }
				desc = gr_agot_heritage_nghai_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:nghai var:gr_opinion >= -24 }
				desc = gr_agot_heritage_nghai_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:nghai }
				desc = gr_agot_heritage_nghai_neg
			}
			# ---- Qaathi / Qartheen ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:qaathi var:gr_opinion >= 25 }
				desc = gr_agot_heritage_qaathi_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:qaathi var:gr_opinion >= -24 }
				desc = gr_agot_heritage_qaathi_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:qaathi }
				desc = gr_agot_heritage_qaathi_neg
			}
			# ---- Sothoryosi ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:sothoryi var:gr_opinion >= 25 }
				desc = gr_agot_heritage_sothoryi_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:sothoryi var:gr_opinion >= -24 }
				desc = gr_agot_heritage_sothoryi_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:sothoryi }
				desc = gr_agot_heritage_sothoryi_neg
			}
			# ---- Men of the Night Lands ----
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:mennight var:gr_opinion >= 25 }
				desc = gr_agot_heritage_mennight_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:mennight var:gr_opinion >= -24 }
				desc = gr_agot_heritage_mennight_neutral
			}
			triggered_desc = {
				trigger = { has_variable = gr_agot_heritage var:gr_agot_heritage = flag:mennight }
				desc = gr_agot_heritage_mennight_neg
			}
		}
		triggered_desc = {
			trigger = { has_variable = gr_agot_heritage }
			desc = gr_agot_heritage_section_close
		}

		# ================================================
		# ================================================
		# 8. TREASURY
		# ================================================
		triggered_desc = {
			trigger = { var:gr_gold >= 500 var:gr_opinion >= 0 }
			desc = gr_treasury_rich
		}
		triggered_desc = {
			trigger = { var:gr_gold >= 500 var:gr_opinion < 0 }
			desc = gr_treasury_rich_neg
		}
		triggered_desc = {
			trigger = {
				var:gr_gold >= 100
				var:gr_gold < 500
				var:gr_opinion >= 0
			}
			desc = gr_treasury_modest
		}
		triggered_desc = {
			trigger = {
				var:gr_gold >= 100
				var:gr_gold < 500
				var:gr_opinion < 0
			}
			desc = gr_treasury_modest_neg
		}
		triggered_desc = {
			trigger = { var:gr_gold < 100 var:gr_opinion >= 0 }
			desc = gr_treasury_poor
		}
		triggered_desc = {
			trigger = { var:gr_gold < 100 var:gr_opinion < 0 }
			desc = gr_treasury_poor_neg
		}
		
		# ================================================
		# 9. HEIRS (moved here, just above verdict)
		# ================================================
		first_valid = {
			# === MIXED: sons + daughters ===
			# 1 son + daughters
			triggered_desc = {
				trigger = { var:gr_sons_count = 1 var:gr_daughters_count = 1 }
				desc = gr_heirs_1s_1d
			}
			triggered_desc = {
				trigger = { var:gr_sons_count = 1 var:gr_daughters_count = 2 }
				desc = gr_heirs_1s_2d
			}
			triggered_desc = {
				trigger = { var:gr_sons_count = 1 var:gr_daughters_count = 3 }
				desc = gr_heirs_1s_3d
			}
			triggered_desc = {
				trigger = { var:gr_sons_count = 1 var:gr_daughters_count = 4 }
				desc = gr_heirs_1s_4d
			}
			triggered_desc = {
				trigger = { var:gr_sons_count = 1 var:gr_daughters_count >= 5 }
				desc = gr_heirs_1s_manyd
			}
			# 2 sons + daughters
			triggered_desc = {
				trigger = { var:gr_sons_count = 2 var:gr_daughters_count = 1 }
				desc = gr_heirs_2s_1d
			}
			triggered_desc = {
				trigger = { var:gr_sons_count = 2 var:gr_daughters_count = 2 }
				desc = gr_heirs_2s_2d
			}
			triggered_desc = {
				trigger = { var:gr_sons_count = 2 var:gr_daughters_count = 3 }
				desc = gr_heirs_2s_3d
			}
			triggered_desc = {
				trigger = { var:gr_sons_count = 2 var:gr_daughters_count >= 4 }
				desc = gr_heirs_2s_manyd
			}
			# 3+ sons + daughters
			triggered_desc = {
				trigger = { var:gr_sons_count = 3 var:gr_daughters_count >= 1 }
				desc = gr_heirs_3s_d
			}
			triggered_desc = {
				trigger = { var:gr_sons_count >= 4 var:gr_daughters_count >= 1 }
				desc = gr_heirs_manys_d
			}
			# === SONS ONLY ===
			triggered_desc = {
				trigger = { var:gr_sons_count = 2 var:gr_daughters_count = 0 }
				desc = gr_heirs_2sons
			}
			triggered_desc = {
				trigger = { var:gr_sons_count = 3 var:gr_daughters_count = 0 }
				desc = gr_heirs_3sons
			}
			triggered_desc = {
				trigger = { var:gr_sons_count = 4 var:gr_daughters_count = 0 }
				desc = gr_heirs_4sons
			}
			triggered_desc = {
				trigger = { var:gr_sons_count >= 5 var:gr_daughters_count = 0 }
				desc = gr_heirs_manysons
			}
			# === ONE SON ONLY ===
			triggered_desc = {
				trigger = { var:gr_sons_count = 1 var:gr_daughters_count = 0 }
				desc = gr_heirs_one_son
			}
			# === DAUGHTERS ONLY ===
			triggered_desc = {
				trigger = { var:gr_sons_count = 0 var:gr_daughters_count = 1 }
				desc = gr_heirs_1daughter
			}
			triggered_desc = {
				trigger = { var:gr_sons_count = 0 var:gr_daughters_count = 2 }
				desc = gr_heirs_2daughters
			}
			triggered_desc = {
				trigger = { var:gr_sons_count = 0 var:gr_daughters_count = 3 }
				desc = gr_heirs_3daughters
			}
			triggered_desc = {
				trigger = { var:gr_sons_count = 0 var:gr_daughters_count >= 4 }
				desc = gr_heirs_manydaughters
			}
			# === NO DIRECT CHILDREN ===
			triggered_desc = {
				trigger = { var:gr_children_count = 0 has_variable = gr_heir_is_bloodline }
				desc = gr_heirs_none_bloodline
			}
			triggered_desc = {
				trigger = { var:gr_children_count = 0 NOT = { has_variable = gr_heir_is_bloodline } }
				desc = gr_heirs_none
			}
		}
		
		# ================================================
		# 9b. REALM SPLIT / CONSOLIDATION / SINGLE-HEIR
		# Partition types check gr_split_severity:
		#   fracture = 2+ same-tier titles, realm truly splits
		#   diminished = only lower-tier titles lost, realm intact
		# ================================================
		first_valid = {
			# Confederate Partition - FRACTURE (same-tier titles split, realm shatters)
			triggered_desc = {
				trigger = { has_variable = gr_realm_split var:gr_realm_split = flag:confederate has_variable = gr_split_severity var:gr_split_severity = flag:fracture var:gr_opinion >= 0 }
				desc = gr_realm_split_confederate_fracture_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_realm_split var:gr_realm_split = flag:confederate has_variable = gr_split_severity var:gr_split_severity = flag:fracture var:gr_opinion < 0 }
				desc = gr_realm_split_confederate_fracture_neg
			}
			# Confederate Partition - DIMINISHED (lower titles lost, realm intact)
			triggered_desc = {
				trigger = { has_variable = gr_realm_split var:gr_realm_split = flag:confederate has_variable = gr_split_severity var:gr_split_severity = flag:diminished var:gr_opinion >= 0 }
				desc = gr_realm_split_confederate_diminished_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_realm_split var:gr_realm_split = flag:confederate has_variable = gr_split_severity var:gr_split_severity = flag:diminished var:gr_opinion < 0 }
				desc = gr_realm_split_confederate_diminished_neg
			}
			# Regular Partition - FRACTURE
			triggered_desc = {
				trigger = { has_variable = gr_realm_split var:gr_realm_split = flag:partition has_variable = gr_split_severity var:gr_split_severity = flag:fracture var:gr_opinion >= 0 }
				desc = gr_realm_split_partition_fracture_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_realm_split var:gr_realm_split = flag:partition has_variable = gr_split_severity var:gr_split_severity = flag:fracture var:gr_opinion < 0 }
				desc = gr_realm_split_partition_fracture_neg
			}
			# Regular Partition - DIMINISHED
			triggered_desc = {
				trigger = { has_variable = gr_realm_split var:gr_realm_split = flag:partition has_variable = gr_split_severity var:gr_split_severity = flag:diminished var:gr_opinion >= 0 }
				desc = gr_realm_split_partition_diminished_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_realm_split var:gr_realm_split = flag:partition has_variable = gr_split_severity var:gr_split_severity = flag:diminished var:gr_opinion < 0 }
				desc = gr_realm_split_partition_diminished_neg
			}
			# High Partition - FRACTURE
			triggered_desc = {
				trigger = { has_variable = gr_realm_split var:gr_realm_split = flag:high_partition has_variable = gr_split_severity var:gr_split_severity = flag:fracture var:gr_opinion >= 0 }
				desc = gr_realm_split_high_fracture_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_realm_split var:gr_realm_split = flag:high_partition has_variable = gr_split_severity var:gr_split_severity = flag:fracture var:gr_opinion < 0 }
				desc = gr_realm_split_high_fracture_neg
			}
			# High Partition - DIMINISHED
			triggered_desc = {
				trigger = { has_variable = gr_realm_split var:gr_realm_split = flag:high_partition has_variable = gr_split_severity var:gr_split_severity = flag:diminished var:gr_opinion >= 0 }
				desc = gr_realm_split_high_diminished_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_realm_split var:gr_realm_split = flag:high_partition has_variable = gr_split_severity var:gr_split_severity = flag:diminished var:gr_opinion < 0 }
				desc = gr_realm_split_high_diminished_neg
			}
			# Single-heir: Primogeniture
			triggered_desc = {
				trigger = { has_variable = gr_realm_single_heir var:gr_realm_single_heir = flag:primogeniture var:gr_opinion >= 0 }
				desc = gr_single_heir_primo_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_realm_single_heir var:gr_realm_single_heir = flag:primogeniture var:gr_opinion < 0 }
				desc = gr_single_heir_primo_neg
			}
			# Single-heir: Ultimogeniture
			triggered_desc = {
				trigger = { has_variable = gr_realm_single_heir var:gr_realm_single_heir = flag:ultimogeniture var:gr_opinion >= 0 }
				desc = gr_single_heir_ultimo_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_realm_single_heir var:gr_realm_single_heir = flag:ultimogeniture var:gr_opinion < 0 }
				desc = gr_single_heir_ultimo_neg
			}
			# Single-heir: House Seniority
			triggered_desc = {
				trigger = { has_variable = gr_realm_single_heir var:gr_realm_single_heir = flag:house_seniority var:gr_opinion >= 0 }
				desc = gr_single_heir_seniority_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_realm_single_heir var:gr_realm_single_heir = flag:house_seniority var:gr_opinion < 0 }
				desc = gr_single_heir_seniority_neg
			}
			# Realm consolidation (heir gained higher tier)
			triggered_desc = {
				trigger = { has_variable = gr_realm_consolidated var:gr_opinion >= 0 }
				desc = gr_realm_consolidated_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_realm_consolidated var:gr_opinion < 0 }
				desc = gr_realm_consolidated_neg
			}
			desc = gr_empty
		}
		
		# ================================================
		# 9c. ELECTIVE SUCCESSION (title-level, cultural)
		# ================================================
		first_valid = {
			# Tanistry Elective (Irish/Goidelic/Brythonic)
			triggered_desc = {
				trigger = { has_variable = gr_succession_elective var:gr_succession_elective = flag:tanistry var:gr_opinion >= 0 }
				desc = gr_elective_tanistry_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_succession_elective var:gr_succession_elective = flag:tanistry var:gr_opinion < 0 }
				desc = gr_elective_tanistry_neg
			}
			# Scandinavian Elective (Norse/Ting-Meet)
			triggered_desc = {
				trigger = { has_variable = gr_succession_elective var:gr_succession_elective = flag:scandinavian var:gr_opinion >= 0 }
				desc = gr_elective_scandinavian_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_succession_elective var:gr_succession_elective = flag:scandinavian var:gr_opinion < 0 }
				desc = gr_elective_scandinavian_neg
			}
			# Feudal Elective
			triggered_desc = {
				trigger = { has_variable = gr_succession_elective var:gr_succession_elective = flag:feudal var:gr_opinion >= 0 }
				desc = gr_elective_feudal_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_succession_elective var:gr_succession_elective = flag:feudal var:gr_opinion < 0 }
				desc = gr_elective_feudal_neg
			}
			# Saxon Elective
			triggered_desc = {
				trigger = { has_variable = gr_succession_elective var:gr_succession_elective = flag:saxon var:gr_opinion >= 0 }
				desc = gr_elective_saxon_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_succession_elective var:gr_succession_elective = flag:saxon var:gr_opinion < 0 }
				desc = gr_elective_saxon_neg
			}
			# Princely Elective (HRE)
			triggered_desc = {
				trigger = { has_variable = gr_succession_elective var:gr_succession_elective = flag:princely var:gr_opinion >= 0 }
				desc = gr_elective_princely_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_succession_elective var:gr_succession_elective = flag:princely var:gr_opinion < 0 }
				desc = gr_elective_princely_neg
			}
			desc = gr_empty
		}
		
		# ================================================
		# 10. LEGACY SCORE
		# ================================================
		first_valid = {
			triggered_desc = {
				trigger = { var:gr_score_tier = flag:legendary var:gr_opinion >= 0 }
				desc = gr_score_legendary
			}
			triggered_desc = {
				trigger = { var:gr_score_tier = flag:legendary var:gr_opinion < 0 }
				desc = gr_score_legendary_neg
			}
			triggered_desc = {
				trigger = { var:gr_score_tier = flag:magnificent var:gr_opinion >= 0 }
				desc = gr_score_magnificent
			}
			triggered_desc = {
				trigger = { var:gr_score_tier = flag:magnificent var:gr_opinion < 0 }
				desc = gr_score_magnificent_neg
			}
			triggered_desc = {
				trigger = { var:gr_score_tier = flag:distinguished var:gr_opinion >= 0 }
				desc = gr_score_distinguished
			}
			triggered_desc = {
				trigger = { var:gr_score_tier = flag:distinguished var:gr_opinion < 0 }
				desc = gr_score_distinguished_neg
			}
			triggered_desc = {
				trigger = { var:gr_score_tier = flag:notable var:gr_opinion >= 0 }
				desc = gr_score_notable
			}
			triggered_desc = {
				trigger = { var:gr_score_tier = flag:notable var:gr_opinion < 0 }
				desc = gr_score_notable_neg
			}
			triggered_desc = {
				trigger = { var:gr_opinion >= 0 }
				desc = gr_score_forgettable
			}
			desc = gr_score_forgettable_neg
		}
		
		# ================================================
		# 10b. SCORE NARRATIVE (top category + second category + breakdown)
		# ================================================
		
		# Top category narrative
		first_valid = {
			triggered_desc = {
				trigger = { var:gr_score_top_cat = flag:foundation var:gr_opinion >= 0 }
				desc = gr_score_cat_foundation_pos
			}
			triggered_desc = {
				trigger = { var:gr_score_top_cat = flag:foundation var:gr_opinion < 0 }
				desc = gr_score_cat_foundation_neg
			}
			triggered_desc = {
				trigger = { var:gr_score_top_cat = flag:warfare var:gr_opinion >= 0 }
				desc = gr_score_cat_warfare_pos
			}
			triggered_desc = {
				trigger = { var:gr_score_top_cat = flag:warfare var:gr_opinion < 0 }
				desc = gr_score_cat_warfare_neg
			}
			triggered_desc = {
				trigger = { var:gr_score_top_cat = flag:stewardship var:gr_opinion >= 0 }
				desc = gr_score_cat_stewardship_pos
			}
			triggered_desc = {
				trigger = { var:gr_score_top_cat = flag:stewardship var:gr_opinion < 0 }
				desc = gr_score_cat_stewardship_neg
			}
			triggered_desc = {
				trigger = { var:gr_score_top_cat = flag:diplomacy var:gr_opinion >= 0 }
				desc = gr_score_cat_diplomacy_pos
			}
			triggered_desc = {
				trigger = { var:gr_score_top_cat = flag:diplomacy var:gr_opinion < 0 }
				desc = gr_score_cat_diplomacy_neg
			}
			triggered_desc = {
				trigger = { var:gr_score_top_cat = flag:learning var:gr_opinion >= 0 }
				desc = gr_score_cat_learning_pos
			}
			triggered_desc = {
				trigger = { var:gr_score_top_cat = flag:learning var:gr_opinion < 0 }
				desc = gr_score_cat_learning_neg
			}
			triggered_desc = {
				trigger = { var:gr_score_top_cat = flag:intrigue var:gr_opinion >= 0 }
				desc = gr_score_cat_intrigue_pos
			}
			triggered_desc = {
				trigger = { has_variable = gr_score_top_cat var:gr_score_top_cat = flag:intrigue }
				desc = gr_score_cat_intrigue_neg
			}
		}
		
		# Second category mention (only if meaningful contribution >= 50)
		first_valid = {
			triggered_desc = {
				trigger = { var:gr_score_second_cat = flag:foundation var:gr_score_second_val >= 50 }
				desc = gr_score_second_foundation
			}
			triggered_desc = {
				trigger = { var:gr_score_second_cat = flag:warfare var:gr_score_second_val >= 50 }
				desc = gr_score_second_warfare
			}
			triggered_desc = {
				trigger = { var:gr_score_second_cat = flag:stewardship var:gr_score_second_val >= 50 }
				desc = gr_score_second_stewardship
			}
			triggered_desc = {
				trigger = { var:gr_score_second_cat = flag:diplomacy var:gr_score_second_val >= 50 }
				desc = gr_score_second_diplomacy
			}
			triggered_desc = {
				trigger = { var:gr_score_second_cat = flag:learning var:gr_score_second_val >= 50 }
				desc = gr_score_second_learning
			}
			triggered_desc = {
				trigger = { var:gr_score_second_cat = flag:intrigue var:gr_score_second_val >= 50 }
				desc = gr_score_second_intrigue
			}
			desc = gr_score_second_none
		}
		
		# ================================================
		# 10c. CLOSING WITH SIGNATURE
		# ================================================
		
		# Numeric breakdown (end of chronicle, before motto and signature)
		desc = gr_score_breakdown
		
		triggered_desc = {
			trigger = { has_variable = gr_predecessor }
			desc = gr_agot_house_motto_close
		}
		
		first_valid = {
			triggered_desc = {
				trigger = { var:gr_chronicler_type = flag:maester }
				desc = gr_signature_maester
			}
			triggered_desc = {
				trigger = { var:gr_chronicler_type = flag:court_chronicler }
				desc = gr_signature_chronicler
			}
			triggered_desc = {
				trigger = { var:gr_chronicler_type = flag:spouse }
				desc = gr_signature_spouse
			}
			triggered_desc = {
				trigger = { var:gr_chronicler_type = flag:heir }
				desc = gr_signature_heir
			}
			triggered_desc = {
				trigger = { var:gr_chronicler_type = flag:regent }
				desc = gr_signature_regent
			}
			triggered_desc = {
				trigger = { var:gr_chronicler_type = flag:friend }
				desc = gr_signature_friend
			}
			triggered_desc = {
				trigger = { var:gr_chronicler_type = flag:chancellor }
				desc = gr_signature_chancellor
			}
			desc = gr_signature_anonymous
		}
	}
	
	theme = death
	
	left_portrait = {
		trigger = { exists = scope:portrait_predecessor }
		character = scope:portrait_predecessor
		animation = death
	}
	
	right_portrait = {
		trigger = { exists = scope:portrait_chronicler }
		character = scope:portrait_chronicler
		animation = writing
	}
	
	orphan = no
	
	# ================================================
	# OPTION 1: Proclaim the Dynasty (Always Available)
	# Grants renown reward + dynasty prestige modifier
	# ================================================
	option = {
		name = gr_option_proclaim
		
		dynasty = {
			add_dynasty_prestige = root.var:gr_renown_reward
		}
		
		# Dynasty prestige modifier for 15 years
		add_character_modifier = {
			modifier = gr_dynasty_legacy_proclaimed
			years = 15
		}
		
		# ================================================
		# CHRONICLE: Create or upgrade dynasty chronicle
		# Only happens on Legendary score with a chronicler
		# ================================================
		if = {
			limit = {
				var:gr_score_tier = flag:legendary
				has_variable = gr_chronicler
				exists = dynasty
			}
			
			# UPGRADE existing chronicle
			if = {
				limit = { dynasty = { has_variable = gr_has_chronicle } }
				
				dynasty = {
					change_variable = { name = gr_chronicles_recorded add = 1 }
				}
				
				# Find and destroy old chronicle artifact
				random_character_artifact = {
					limit = { has_variable = gr_is_chronicle }
					save_scope_as = old_chronicle
				}
				if = {
					limit = { exists = scope:old_chronicle }
					destroy_artifact = scope:old_chronicle
				}
				
				# Create upgraded artifact based on chronicle count
				# ILLUSTRIOUS (10+ chronicles)
				if = {
					limit = { dynasty = { var:gr_chronicles_recorded >= 10 } }
					dynasty = { set_variable = { name = gr_chronicle_tier value = 4 } }
					create_artifact = {
						name = gr_chronicle_artifact_name
						creator = var:gr_chronicler
						description = gr_chronicle_artifact_desc_illustrious
						type = book
						visuals = book
						quality = 100
						wealth = 80
						max_durability = 100
						modifier = gr_chronicle_illustrious
						save_scope_as = new_chronicle
					}
				}
				# FAMED (6+ chronicles)
				else_if = {
					limit = { dynasty = { var:gr_chronicles_recorded >= 6 } }
					dynasty = { set_variable = { name = gr_chronicle_tier value = 3 } }
					create_artifact = {
						name = gr_chronicle_artifact_name
						creator = var:gr_chronicler
						description = gr_chronicle_artifact_desc_famed
						type = book
						visuals = book
						quality = 80
						wealth = 50
						max_durability = 100
						modifier = gr_chronicle_famed
						save_scope_as = new_chronicle
					}
				}
				# MASTERWORK (3+ chronicles)
				else_if = {
					limit = { dynasty = { var:gr_chronicles_recorded >= 3 } }
					dynasty = { set_variable = { name = gr_chronicle_tier value = 2 } }
					create_artifact = {
						name = gr_chronicle_artifact_name
						creator = var:gr_chronicler
						description = gr_chronicle_artifact_desc_masterwork
						type = book
						visuals = book
						quality = 40
						wealth = 20
						max_durability = 100
						modifier = gr_chronicle_masterwork
						save_scope_as = new_chronicle
					}
				}
				# STILL COMMON (under 3 chronicles)
				else = {
					create_artifact = {
						name = gr_chronicle_artifact_name
						creator = var:gr_chronicler
						description = gr_chronicle_artifact_desc_common
						type = book
						visuals = book
						quality = 10
						max_durability = 100
						modifier = gr_chronicle_common
						save_scope_as = new_chronicle
					}
				}
				
				# Tag new artifact
				if = {
					limit = { exists = scope:new_chronicle }
					scope:new_chronicle = {
						set_variable = { name = gr_is_chronicle value = yes }
						set_variable = { name = gr_chronicle_dynasty value = root.house }
					}
				}
			}
			# CREATE new chronicle
			else = {
				create_artifact = {
					name = gr_chronicle_artifact_name
					creator = var:gr_chronicler
					description = gr_chronicle_artifact_desc_common
					type = book
					visuals = book
					quality = 10
					max_durability = 100
					modifier = gr_chronicle_common
					save_scope_as = new_chronicle
				}
				
				scope:new_chronicle = {
					set_variable = { name = gr_is_chronicle value = yes }
					set_variable = { name = gr_chronicle_dynasty value = root.house }
				}
				
				dynasty = {
					set_variable = { name = gr_has_chronicle value = yes }
					set_variable = { name = gr_chronicles_recorded value = 1 }
					set_variable = { name = gr_chronicle_tier value = 1 }
				}
			}
		}
		
		# ================================================
		# TOOLTIP: Chronicle progress information
		# ================================================
		if = {
			limit = {
				var:gr_score_tier = flag:legendary
				has_variable = gr_chronicler
				exists = dynasty
			}
			custom_tooltip = gr_tooltip_chronicle_recorded
		}
		else_if = {
			limit = {
				NOT = { var:gr_score_tier = flag:legendary }
			}
			custom_tooltip = gr_tooltip_chronicle_need_legendary
		}
		else_if = {
			limit = {
				NOT = { has_variable = gr_chronicler }
			}
			custom_tooltip = gr_tooltip_chronicle_need_chronicler
		}
	}
	
	# ================================================
	# OPTION 3: "My Time Has Come" (Ambitious/Arrogant)
	# Dismiss predecessor, seize the spotlight
	# ================================================
	option = {
		name = gr_option_forgotten
		
		trigger = {
			OR = {
				has_trait = ambitious
				has_trait = arrogant
			}
		}
		
		# Immediate prestige
		add_prestige = 2500
		
		# Monthly prestige +0.5 for 10 years
		add_character_modifier = {
			modifier = gr_my_time_has_come
			years = 10
		}
		
		# Dynasty opinion -10 for 15 years
		add_character_modifier = {
			modifier = gr_dishonored_remembrance
			years = 15
		}
		
		# Chronicler opinion -50 (permanent until death)
		if = {
			limit = { has_variable = gr_chronicler }
			var:gr_chronicler = {
				add_opinion = {
					target = root
					modifier = gr_rebuked_remembrancer
				}
			}
		}
	}
	
	# ================================================
	# OPTION 4: "Glory to the Divine" (Zealous/Humble)
	# Honor the gods above mortal achievement
	# ================================================
	option = {
		name = gr_option_divine
		
		trigger = {
			OR = {
				has_trait = zealous
				has_trait = humble
			}
		}
		
		# Immediate piety
		add_piety = 1500
		
		# Monthly piety +1.0 for 10 years
		add_character_modifier = {
			modifier = gr_glory_to_the_divine
			years = 10
		}
		
		# Clergy opinion +15 and same faith opinion +10 for 15 years
		add_character_modifier = {
			modifier = gr_divine_remembrance
			years = 15
		}
		
		# Chronicler opinion -25 (permanent until death)
		if = {
			limit = { has_variable = gr_chronicler }
			var:gr_chronicler = {
				add_opinion = {
					target = root
					modifier = gr_rebuked_remembrancer_light
				}
			}
		}
		
		# Court priest opinion +50 for 15 years
		if = {
			limit = { exists = cp:councillor_court_chaplain }
			cp:councillor_court_chaplain = {
				add_opinion = {
					target = root
					modifier = gr_pious_remembrance_chaplain
					years = 15
				}
			}
		}
	}
	
	# ================================================
	# OPTION 5: "The People's Remembrance" (Generous/Gregarious)
	# Honor ruler and common folk alike
	# ================================================
	option = {
		name = gr_option_honor_all
		
		trigger = {
			OR = {
				has_trait = generous
				has_trait = gregarious
			}
		}
		
		# Immediate prestige + piety
		add_prestige = 500
		add_piety = 500
		
		# Monthly prestige +0.25 and piety +0.5 for 10 years
		add_character_modifier = {
			modifier = gr_peoples_remembrance
			years = 10
		}
		
		# General opinion +20 for 15 years
		add_character_modifier = {
			modifier = gr_remembered_with_honor
			years = 15
		}
	}
	
	# ================================================
	# AFTER: Clean up all transferred obituary variables
	# from the heir (ROOT). Without this, variables from
	# the dead ruler's obituary persist on the heir and
	# contaminate the HEIR's own obituary when they die.
	# ================================================
	after = {
		# Memory flags (achievement tracking)
		if = { limit = { has_variable = gr_memory_great_battle } remove_variable = gr_memory_great_battle }
		if = { limit = { has_variable = gr_battle_tier } remove_variable = gr_battle_tier }
		if = { limit = { has_variable = gr_best_battle_strength } remove_variable = gr_best_battle_strength }
		if = { limit = { has_variable = gr_memory_led_troops } remove_variable = gr_memory_led_troops }
		if = { limit = { has_variable = gr_total_casualties } remove_variable = gr_total_casualties }
		if = { limit = { has_variable = gr_memory_won_war } remove_variable = gr_memory_won_war }
		if = { limit = { has_variable = gr_memory_varangian } remove_variable = gr_memory_varangian }
		if = { limit = { has_variable = gr_varangian_target } remove_variable = gr_varangian_target }
		if = { limit = { has_variable = gr_varangian_first_target } remove_variable = gr_varangian_first_target }
		if = { limit = { has_variable = gr_varangian_realm } remove_variable = gr_varangian_realm }
		if = { limit = { has_variable = gr_varangian_first_realm } remove_variable = gr_varangian_first_realm }
		if = { limit = { has_variable = gr_varangian_count } remove_variable = gr_varangian_count }
		if = { limit = { has_variable = gr_memory_adventure } remove_variable = gr_memory_adventure }
		if = { limit = { has_variable = gr_adventure_target } remove_variable = gr_adventure_target }
		if = { limit = { has_variable = gr_adventure_first_target } remove_variable = gr_adventure_first_target }
		if = { limit = { has_variable = gr_adventure_realm } remove_variable = gr_adventure_realm }
		if = { limit = { has_variable = gr_adventure_first_realm } remove_variable = gr_adventure_first_realm }
		if = { limit = { has_variable = gr_adventure_count } remove_variable = gr_adventure_count }
		if = { limit = { has_variable = gr_adventure_tier } remove_variable = gr_adventure_tier }
		if = { limit = { has_variable = gr_is_admin_govt } remove_variable = gr_is_admin_govt }
		if = { limit = { has_variable = gr_memory_created_kingdom } remove_variable = gr_memory_created_kingdom }
		if = { limit = { has_variable = gr_created_kingdom } remove_variable = gr_created_kingdom }
		if = { limit = { has_variable = gr_memory_created_duchy } remove_variable = gr_memory_created_duchy }
		if = { limit = { has_variable = gr_created_duchy } remove_variable = gr_created_duchy }
		if = { limit = { has_variable = gr_memory_created_empire } remove_variable = gr_memory_created_empire }
		if = { limit = { has_variable = gr_empire_title } remove_variable = gr_empire_title }
		if = { limit = { has_variable = gr_empire_type } remove_variable = gr_empire_type }
		if = { limit = { has_variable = gr_memory_claimed_hegemony } remove_variable = gr_memory_claimed_hegemony }
		if = { limit = { has_variable = gr_hegemony_title } remove_variable = gr_hegemony_title }
		if = { limit = { has_variable = gr_memory_usurped_empire } remove_variable = gr_memory_usurped_empire }
		if = { limit = { has_variable = gr_usurped_empire_title } remove_variable = gr_usurped_empire_title }
		if = { limit = { has_variable = gr_usurped_empire_from } remove_variable = gr_usurped_empire_from }
		if = { limit = { has_variable = gr_memory_usurped_hegemony } remove_variable = gr_memory_usurped_hegemony }
		if = { limit = { has_variable = gr_usurped_hegemony_title } remove_variable = gr_usurped_hegemony_title }
		if = { limit = { has_variable = gr_usurped_hegemony_from } remove_variable = gr_usurped_hegemony_from }
		if = { limit = { has_variable = gr_memory_conquered_realm } remove_variable = gr_memory_conquered_realm }
		if = { limit = { has_variable = gr_conquest_target_title } remove_variable = gr_conquest_target_title }
		if = { limit = { has_variable = gr_conquest_type } remove_variable = gr_conquest_type }
		# Faction demand
		if = { limit = { has_variable = gr_memory_faction_gained_title } remove_variable = gr_memory_faction_gained_title }
		if = { limit = { has_variable = gr_faction_gained_title } remove_variable = gr_faction_gained_title }
		if = { limit = { has_variable = gr_faction_gained_from } remove_variable = gr_faction_gained_from }
		if = { limit = { has_variable = gr_memory_faction_lost_title } remove_variable = gr_memory_faction_lost_title }
		if = { limit = { has_variable = gr_faction_lost_title } remove_variable = gr_faction_lost_title }
		if = { limit = { has_variable = gr_faction_lost_to } remove_variable = gr_faction_lost_to }
		
		# Obituary processing variables
		if = { limit = { has_variable = gr_predecessor } remove_variable = gr_predecessor }
		if = { limit = { has_variable = gr_chronicler } remove_variable = gr_chronicler }
		if = { limit = { has_variable = gr_chronicler_type } remove_variable = gr_chronicler_type }
		if = { limit = { has_variable = gr_score } remove_variable = gr_score }
		if = { limit = { has_variable = gr_score_tier } remove_variable = gr_score_tier }
		if = { limit = { has_variable = gr_score_foundation } remove_variable = gr_score_foundation }
		if = { limit = { has_variable = gr_score_warfare } remove_variable = gr_score_warfare }
		if = { limit = { has_variable = gr_score_stewardship } remove_variable = gr_score_stewardship }
		if = { limit = { has_variable = gr_score_diplomacy } remove_variable = gr_score_diplomacy }
		if = { limit = { has_variable = gr_score_learning } remove_variable = gr_score_learning }
		if = { limit = { has_variable = gr_score_intrigue } remove_variable = gr_score_intrigue }
		if = { limit = { has_variable = gr_score_top_cat } remove_variable = gr_score_top_cat }
		if = { limit = { has_variable = gr_score_top_val } remove_variable = gr_score_top_val }
		if = { limit = { has_variable = gr_score_second_cat } remove_variable = gr_score_second_cat }
		if = { limit = { has_variable = gr_score_second_val } remove_variable = gr_score_second_val }
		if = { limit = { has_variable = gr_tier } remove_variable = gr_tier }
		if = { limit = { has_variable = gr_reign_years } remove_variable = gr_reign_years }
		if = { limit = { has_variable = gr_death_year } remove_variable = gr_death_year }
		if = { limit = { has_variable = gr_death_age } remove_variable = gr_death_age }
		if = { limit = { has_variable = gr_death_reason } remove_variable = gr_death_reason }
		if = { limit = { has_variable = gr_father } remove_variable = gr_father }
		if = { limit = { has_variable = gr_mother } remove_variable = gr_mother }
		if = { limit = { has_variable = gr_is_starter } remove_variable = gr_is_starter }
		if = { limit = { has_variable = gr_opinion } remove_variable = gr_opinion }
		# Note: gr_regnal_number was removed - never implemented
		if = { limit = { has_variable = gr_top_stat } remove_variable = gr_top_stat }
		if = { limit = { has_variable = gr_casualties } remove_variable = gr_casualties }
		if = { limit = { has_variable = gr_holding_count } remove_variable = gr_holding_count }
		if = { limit = { has_variable = gr_holding_1 } remove_variable = gr_holding_1 }
		if = { limit = { has_variable = gr_holding_2 } remove_variable = gr_holding_2 }
		if = { limit = { has_variable = gr_holding_3 } remove_variable = gr_holding_3 }
		if = { limit = { has_variable = gr_holding_4 } remove_variable = gr_holding_4 }
		if = { limit = { has_variable = gr_holding_5 } remove_variable = gr_holding_5 }
		if = { limit = { has_variable = gr_building_count } remove_variable = gr_building_count }
		if = { limit = { has_variable = gr_temple_count } remove_variable = gr_temple_count }
		if = { limit = { has_variable = gr_university_built } remove_variable = gr_university_built }
		if = { limit = { has_variable = gr_alliance_count } remove_variable = gr_alliance_count }
		if = { limit = { has_variable = gr_ally_1 } remove_variable = gr_ally_1 }
		if = { limit = { has_variable = gr_friend_count } remove_variable = gr_friend_count }
		if = { limit = { has_variable = gr_feast_count } remove_variable = gr_feast_count }
		if = { limit = { has_variable = gr_tournament_count } remove_variable = gr_tournament_count }
		if = { limit = { has_variable = gr_hunt_count } remove_variable = gr_hunt_count }
		if = { limit = { has_variable = gr_pilgrimage_count } remove_variable = gr_pilgrimage_count }
		if = { limit = { has_variable = gr_university_attended } remove_variable = gr_university_attended }
		if = { limit = { has_variable = gr_murder_count } remove_variable = gr_murder_count }
		if = { limit = { has_variable = gr_kidnap_count } remove_variable = gr_kidnap_count }
		if = { limit = { has_variable = gr_execution_count } remove_variable = gr_execution_count }
		if = { limit = { has_variable = gr_torture_count } remove_variable = gr_torture_count }
		if = { limit = { has_variable = gr_language_count } remove_variable = gr_language_count }
		if = { limit = { has_variable = gr_monthly_income } remove_variable = gr_monthly_income }
		if = { limit = { has_variable = gr_capital_dev_growth } remove_variable = gr_capital_dev_growth }
		if = { limit = { has_variable = gr_tour_count } remove_variable = gr_tour_count }
		if = { limit = { has_variable = gr_wedding_count } remove_variable = gr_wedding_count }
		if = { limit = { has_variable = gr_debate_count } remove_variable = gr_debate_count }
		if = { limit = { has_variable = gr_coronation_count } remove_variable = gr_coronation_count }
		if = { limit = { has_variable = gr_inspection_count } remove_variable = gr_inspection_count }
		if = { limit = { has_variable = gr_expedition_count } remove_variable = gr_expedition_count }
		if = { limit = { has_variable = gr_ritual_count } remove_variable = gr_ritual_count }
		if = { limit = { has_variable = gr_hook_count } remove_variable = gr_hook_count }
		if = { limit = { has_variable = gr_blot_count } remove_variable = gr_blot_count }
		if = { limit = { has_variable = gr_festival_count } remove_variable = gr_festival_count }
		if = { limit = { has_variable = gr_hike_count } remove_variable = gr_hike_count }
		if = { limit = { has_variable = gr_chariot_count } remove_variable = gr_chariot_count }
		if = { limit = { has_variable = gr_children_count } remove_variable = gr_children_count }
		if = { limit = { has_variable = gr_sons_count } remove_variable = gr_sons_count }
		if = { limit = { has_variable = gr_daughters_count } remove_variable = gr_daughters_count }
		if = { limit = { has_variable = gr_title_count } remove_variable = gr_title_count }
		if = { limit = { has_variable = gr_lifestyle_count } remove_variable = gr_lifestyle_count }
		if = { limit = { has_variable = gr_renown_achieve } remove_variable = gr_renown_achieve }
		if = { limit = { has_variable = gr_renown_edu } remove_variable = gr_renown_edu }
		if = { limit = { has_variable = gr_renown_personality } remove_variable = gr_renown_personality }
		if = { limit = { has_variable = gr_renown_reward } remove_variable = gr_renown_reward }
		
		# Fame traits
		if = { limit = { has_variable = gr_fame_vetadventurer } remove_variable = gr_fame_vetadventurer }
		if = { limit = { has_variable = gr_fame_blademaster } remove_variable = gr_fame_blademaster }
		if = { limit = { has_variable = gr_fame_hunter } remove_variable = gr_fame_hunter }
		if = { limit = { has_variable = gr_fame_reveler } remove_variable = gr_fame_reveler }
		if = { limit = { has_variable = gr_fame_mystic } remove_variable = gr_fame_mystic }
		if = { limit = { has_variable = gr_fame_physician_tier } remove_variable = gr_fame_physician_tier }
		if = { limit = { has_variable = gr_fame_poet } remove_variable = gr_fame_poet }
		if = { limit = { has_variable = gr_fame_herbalist } remove_variable = gr_fame_herbalist }
		if = { limit = { has_variable = gr_fame_traveler } remove_variable = gr_fame_traveler }
		if = { limit = { has_variable = gr_fame_wayfarer } remove_variable = gr_fame_wayfarer }
		if = { limit = { has_variable = gr_fame_voyager } remove_variable = gr_fame_voyager }
		if = { limit = { has_variable = gr_fame_surveyor } remove_variable = gr_fame_surveyor }
		if = { limit = { has_variable = gr_fame_varangian } remove_variable = gr_fame_varangian }
		if = { limit = { has_variable = gr_fame_shieldmaiden } remove_variable = gr_fame_shieldmaiden }
		if = { limit = { has_variable = gr_fame_devoted } remove_variable = gr_fame_devoted }
		if = { limit = { has_variable = gr_fame_hajji } remove_variable = gr_fame_hajji }
		if = { limit = { has_variable = gr_fame_ordermember } remove_variable = gr_fame_ordermember }
		if = { limit = { has_variable = gr_fame_augustus } remove_variable = gr_fame_augustus }
		if = { limit = { has_variable = gr_fame_papacy_destroyed } remove_variable = gr_fame_papacy_destroyed }
		if = { limit = { has_variable = gr_fame_confucian } remove_variable = gr_fame_confucian }
		if = { limit = { has_variable = gr_fame_governor } remove_variable = gr_fame_governor }
		if = { limit = { has_variable = gr_fame_nomad } remove_variable = gr_fame_nomad }
		if = { limit = { has_variable = gr_fame_nomad_active } remove_variable = gr_fame_nomad_active }
		if = { limit = { has_variable = gr_fame_pilgrim } remove_variable = gr_fame_pilgrim }
		
		# Health/infamy/coping
		if = { limit = { has_variable = gr_health_oneeyed } remove_variable = gr_health_oneeyed }
		if = { limit = { has_variable = gr_health_onelegged } remove_variable = gr_health_onelegged }
		if = { limit = { has_variable = gr_health_disfigured } remove_variable = gr_health_disfigured }
		if = { limit = { has_variable = gr_health_blind } remove_variable = gr_health_blind }
		if = { limit = { has_variable = gr_health_maimed } remove_variable = gr_health_maimed }
		if = { limit = { has_variable = gr_health_inbred } remove_variable = gr_health_inbred }
		if = { limit = { has_variable = gr_health_leper } remove_variable = gr_health_leper }
		if = { limit = { has_variable = gr_health_eunuch } remove_variable = gr_health_eunuch }
		if = { limit = { has_variable = gr_health_scarred } remove_variable = gr_health_scarred }
		if = { limit = { has_variable = gr_health_strong } remove_variable = gr_health_strong }
		if = { limit = { has_variable = gr_health_athletic } remove_variable = gr_health_athletic }
		if = { limit = { has_variable = gr_health_sickly } remove_variable = gr_health_sickly }
		if = { limit = { has_variable = gr_infamy_kinslayer } remove_variable = gr_infamy_kinslayer }
		if = { limit = { has_variable = gr_infamy_murderer } remove_variable = gr_infamy_murderer }
		if = { limit = { has_variable = gr_infamy_cannibal } remove_variable = gr_infamy_cannibal }
		if = { limit = { has_variable = gr_infamy_witch } remove_variable = gr_infamy_witch }
		if = { limit = { has_variable = gr_infamy_excomm } remove_variable = gr_infamy_excomm }
		if = { limit = { has_variable = gr_infamy_incest } remove_variable = gr_infamy_incest }
		if = { limit = { has_variable = gr_coping_drunkard } remove_variable = gr_coping_drunkard }
		if = { limit = { has_variable = gr_coping_hashish } remove_variable = gr_coping_hashish }
		if = { limit = { has_variable = gr_coping_recluse } remove_variable = gr_coping_recluse }
		if = { limit = { has_variable = gr_coping_eater } remove_variable = gr_coping_eater }
		if = { limit = { has_variable = gr_coping_flagellant } remove_variable = gr_coping_flagellant }
		if = { limit = { has_variable = gr_coping_inappetetic } remove_variable = gr_coping_inappetetic }
		if = { limit = { has_variable = gr_coping_journaller } remove_variable = gr_coping_journaller }
		if = { limit = { has_variable = gr_coping_confider } remove_variable = gr_coping_confider }
		
		# Stats and scores
		if = { limit = { has_variable = gr_stat_diplomacy } remove_variable = gr_stat_diplomacy }
		if = { limit = { has_variable = gr_stat_martial } remove_variable = gr_stat_martial }
		if = { limit = { has_variable = gr_stat_stewardship } remove_variable = gr_stat_stewardship }
		if = { limit = { has_variable = gr_stat_intrigue } remove_variable = gr_stat_intrigue }
		if = { limit = { has_variable = gr_stat_learning } remove_variable = gr_stat_learning }
		if = { limit = { has_variable = gr_stat_prowess } remove_variable = gr_stat_prowess }
		if = { limit = { has_variable = gr_top_stat_val } remove_variable = gr_top_stat_val }
		if = { limit = { has_variable = gr_edu_tier } remove_variable = gr_edu_tier }
		if = { limit = { has_variable = gr_gold } remove_variable = gr_gold }
		if = { limit = { has_variable = gr_prestige } remove_variable = gr_prestige }
		if = { limit = { has_variable = gr_piety } remove_variable = gr_piety }
		if = { limit = { has_variable = gr_dread } remove_variable = gr_dread }
		if = { limit = { has_variable = gr_prestige_level } remove_variable = gr_prestige_level }
		if = { limit = { has_variable = gr_piety_level } remove_variable = gr_piety_level }
		if = { limit = { has_variable = gr_beauty } remove_variable = gr_beauty }
		if = { limit = { has_variable = gr_became_king_age } remove_variable = gr_became_king_age }
		if = { limit = { has_variable = gr_dynasty_total } remove_variable = gr_dynasty_total }
		if = { limit = { has_variable = gr_dynasty_bastard } remove_variable = gr_dynasty_bastard }
		if = { limit = { has_variable = gr_dynasty_legit_bastard } remove_variable = gr_dynasty_legit_bastard }
		if = { limit = { has_variable = gr_dynasty_disinherited } remove_variable = gr_dynasty_disinherited }
		if = { limit = { has_variable = gr_dynasty_twin } remove_variable = gr_dynasty_twin }
		if = { limit = { has_variable = gr_dynasty_purple } remove_variable = gr_dynasty_purple }
		if = { limit = { has_variable = gr_realm_split } remove_variable = gr_realm_split }
		if = { limit = { has_variable = gr_split_severity } remove_variable = gr_split_severity }
		if = { limit = { has_variable = gr_realm_consolidated } remove_variable = gr_realm_consolidated }
		if = { limit = { has_variable = gr_realm_single_heir } remove_variable = gr_realm_single_heir }
		if = { limit = { has_variable = gr_succession_elective } remove_variable = gr_succession_elective }
		if = { limit = { has_variable = gr_consolidated_title } remove_variable = gr_consolidated_title }
		if = { limit = { has_variable = gr_con_pureblooded } remove_variable = gr_con_pureblooded }
		if = { limit = { has_variable = gr_con_scaly } remove_variable = gr_con_scaly }
		if = { limit = { has_variable = gr_squire } remove_variable = gr_squire }
		if = { limit = { has_variable = gr_culture } remove_variable = gr_culture }
		if = { limit = { has_variable = gr_realm_name } remove_variable = gr_realm_name }
		if = { limit = { has_variable = gr_house_name } remove_variable = gr_house_name }
		if = { limit = { has_variable = gr_heir_char } remove_variable = gr_heir_char }
		if = { limit = { has_variable = gr_heir_faith } remove_variable = gr_heir_faith }
		# v18: Foundational acts
		if = { limit = { has_variable = gr_memory_govt_change } remove_variable = gr_memory_govt_change }
		if = { limit = { has_variable = gr_govt_old } remove_variable = gr_govt_old }
		if = { limit = { has_variable = gr_govt_new } remove_variable = gr_govt_new }
		if = { limit = { has_variable = gr_memory_faith_convert } remove_variable = gr_memory_faith_convert }
		if = { limit = { has_variable = gr_faith_old } remove_variable = gr_faith_old }
		if = { limit = { has_variable = gr_memory_faith_created } remove_variable = gr_memory_faith_created }
		if = { limit = { has_variable = gr_faith_created_old } remove_variable = gr_faith_created_old }
		if = { limit = { has_variable = gr_faith_created_type } remove_variable = gr_faith_created_type }
		if = { limit = { has_variable = gr_memory_culture_created } remove_variable = gr_memory_culture_created }
		if = { limit = { has_variable = gr_culture_created_type } remove_variable = gr_culture_created_type }
		if = { limit = { has_variable = gr_culture_old } remove_variable = gr_culture_old }
		if = { limit = { has_variable = gr_culture_parent } remove_variable = gr_culture_parent }
		if = { limit = { has_variable = gr_memory_capital_moved } remove_variable = gr_memory_capital_moved }
		if = { limit = { has_variable = gr_new_capital } remove_variable = gr_new_capital }
		# AGOT SUBMOD: Clean up all gr_agot_ variables
		if = { limit = { has_variable = gr_agot_dragonrider } remove_variable = gr_agot_dragonrider }
		if = { limit = { has_variable = gr_agot_dragonless } remove_variable = gr_agot_dragonless }
		if = { limit = { has_variable = gr_agot_dragonwidowed } remove_variable = gr_agot_dragonwidowed }
		if = { limit = { has_variable = gr_agot_dragonslayer } remove_variable = gr_agot_dragonslayer }
		if = { limit = { has_variable = gr_agot_kingsguard } remove_variable = gr_agot_kingsguard }
		if = { limit = { has_variable = gr_agot_nightswatch } remove_variable = gr_agot_nightswatch }
		if = { limit = { has_variable = gr_agot_nw_lifestyle } remove_variable = gr_agot_nw_lifestyle }
		if = { limit = { has_variable = gr_agot_deserter } remove_variable = gr_agot_deserter }
		if = { limit = { has_variable = gr_agot_knight } remove_variable = gr_agot_knight }
		if = { limit = { has_variable = gr_agot_squire } remove_variable = gr_agot_squire }
		if = { limit = { has_variable = gr_agot_stripped_knight } remove_variable = gr_agot_stripped_knight }
		if = { limit = { has_variable = gr_agot_maester } remove_variable = gr_agot_maester }
		if = { limit = { has_variable = gr_agot_religious_role } remove_variable = gr_agot_religious_role }
		if = { limit = { has_variable = gr_agot_greyscale } remove_variable = gr_agot_greyscale }
		if = { limit = { has_variable = gr_agot_burned } remove_variable = gr_agot_burned }
		if = { limit = { has_variable = gr_agot_one_handed } remove_variable = gr_agot_one_handed }
		if = { limit = { has_variable = gr_agot_crippled } remove_variable = gr_agot_crippled }
		if = { limit = { has_variable = gr_agot_mute } remove_variable = gr_agot_mute }
		if = { limit = { has_variable = gr_agot_dragon_dreams } remove_variable = gr_agot_dragon_dreams }
		if = { limit = { has_variable = gr_agot_greensight } remove_variable = gr_agot_greensight }
		if = { limit = { has_variable = gr_agot_authoritative } remove_variable = gr_agot_authoritative }
		if = { limit = { has_variable = gr_agot_rude } remove_variable = gr_agot_rude }
		if = { limit = { has_variable = gr_agot_inquisitive } remove_variable = gr_agot_inquisitive }
		if = { limit = { has_variable = gr_agot_uncouth } remove_variable = gr_agot_uncouth }
		if = { limit = { has_variable = gr_agot_govt_old } remove_variable = gr_agot_govt_old }
		if = { limit = { has_variable = gr_agot_govt_new } remove_variable = gr_agot_govt_new }
		if = { limit = { has_variable = gr_agot_half_blind } remove_variable = gr_agot_half_blind }
		if = { limit = { has_variable = gr_agot_the_mark } remove_variable = gr_agot_the_mark }
		if = { limit = { has_variable = gr_agot_shivers } remove_variable = gr_agot_shivers }
		if = { limit = { has_variable = gr_agot_scurvy } remove_variable = gr_agot_scurvy }
		if = { limit = { has_variable = gr_agot_paramour } remove_variable = gr_agot_paramour }
		if = { limit = { has_variable = gr_agot_spider } remove_variable = gr_agot_spider }
		if = { limit = { has_variable = gr_agot_kinslayer_accidental } remove_variable = gr_agot_kinslayer_accidental }
		if = { limit = { has_variable = gr_agot_broke_vows } remove_variable = gr_agot_broke_vows }
		if = { limit = { has_variable = gr_agot_fire_obsessed } remove_variable = gr_agot_fire_obsessed }
		if = { limit = { has_variable = gr_agot_faith } remove_variable = gr_agot_faith }
		if = { limit = { has_variable = gr_agot_heritage } remove_variable = gr_agot_heritage }
		# AGOT SUBMOD Phase 7: Clean up war variables
		if = { limit = { has_variable = gr_agot_war_reyne } remove_variable = gr_agot_war_reyne }
		if = { limit = { has_variable = gr_agot_war_blackfyre } remove_variable = gr_agot_war_blackfyre }
		if = { limit = { has_variable = gr_agot_war_ninepenny } remove_variable = gr_agot_war_ninepenny }
		if = { limit = { has_variable = gr_agot_war_faegon } remove_variable = gr_agot_war_faegon }
		if = { limit = { has_variable = gr_agot_war_daemon } remove_variable = gr_agot_war_daemon }
		if = { limit = { has_variable = gr_agot_war_duskendale } remove_variable = gr_agot_war_duskendale }
		if = { limit = { has_variable = gr_agot_war_dragon } remove_variable = gr_agot_war_dragon }
		if = { limit = { has_variable = gr_agot_war_dragon_tier } remove_variable = gr_agot_war_dragon_tier }
		if = { limit = { has_variable = gr_agot_war_ranging } remove_variable = gr_agot_war_ranging }
		if = { limit = { has_variable = gr_agot_war_wall_reclaim } remove_variable = gr_agot_war_wall_reclaim }
		if = { limit = { has_variable = gr_agot_war_rebellion } remove_variable = gr_agot_war_rebellion }
		if = { limit = { has_variable = gr_agot_war_succession } remove_variable = gr_agot_war_succession }
		if = { limit = { has_variable = gr_agot_war_independence } remove_variable = gr_agot_war_independence }
		if = { limit = { has_variable = gr_agot_war_pirate } remove_variable = gr_agot_war_pirate }
		if = { limit = { has_variable = gr_agot_war_slavery } remove_variable = gr_agot_war_slavery }
		if = { limit = { has_variable = gr_agot_war_eradicate } remove_variable = gr_agot_war_eradicate }
		if = { limit = { has_variable = gr_agot_iron_throne } remove_variable = gr_agot_iron_throne }
		if = { limit = { has_variable = gr_agot_bank_defaulted } remove_variable = gr_agot_bank_defaulted }
		if = { limit = { has_variable = gr_agot_bank_ib_shareholder } remove_variable = gr_agot_bank_ib_shareholder }
		if = { limit = { has_variable = gr_agot_bank_founder } remove_variable = gr_agot_bank_founder }
		if = { limit = { has_variable = gr_agot_bank_died_in_debt } remove_variable = gr_agot_bank_died_in_debt }
		if = { limit = { has_variable = gr_agot_sub_kingdom_count } remove_variable = gr_agot_sub_kingdom_count }
		# Superset prune (audit M15/M18): base gr_dead_ruler_prune_effect removes
		# every base tracking var; the manual base removes above stay for
		# readability but drift no longer matters. Runs on ROOT (the heir).
		gr_dead_ruler_prune_effect = yes
		# AGOT submod cleanup: the immediate block copies gr_agot_* predecessor
		# -> heir, so the heir carries them. This override (in
		# zz_gr_agot_submod_hooks.txt) removes every gr_agot_* var off the heir.
		gr_submod_prune_vars_effect = yes
	}
}
