﻿######################################
# Standard actions for random events #
######################################

martial_lifestyle_progress_pulse = { # Fires 4 times per year
	trigger = {
		OR = {
			is_ai = no
			is_adult = yes
			has_lifestyle = martial_lifestyle
		}
		is_landed = yes # Lifestyle events inherently assume you have one. Non-landed rulers shouldn't get lifestyle events, even if they still have a lifestyle.
		exists = capital_province # Because in rare situations landed AI rulers can end up without a capital.
		trigger_if = {
			limit = {
				is_ai = no
			}
			has_had_focus_for_days > 30
		}
		NOR = {
			has_character_flag = had_recent_lifestyle_ongoing_event
			# Must not currently be in a martial event chain.
			has_character_flag = is_in_martial_special_event
		}
	}

	first_valid_on_action = {
		martial_lifestyle_ongoing_events # General event pool
		martial_lifestyle_unavailable_events # Special event pool for unavailable characters (imprisoned, commanding an army, infirm, etc.)
	}
}

#Ongoing events and story cycles
martial_lifestyle_ongoing_events = {
	trigger = {
		is_available = yes
	}

	random_on_action = {
		chance_to_happen = 10 # Roughly one event every 18 months

		80 = martial_lifestyle_common_events
		15 = martial_lifestyle_uncommon_events
		5 = martial_lifestyle_rare_events		
	}
}

# Characters get a Common event roughly once every 24 months (2 years). Most lifestyle events should be Common events.
martial_lifestyle_common_events = {
	random_events = {
		#STRATEGY
		100 = martial_strategy.1051 # Courtiers gossip about your skill in battle.
		100 = martial_strategy.2000 # Reading about old battles (Learning Challenge)
		100 = martial_strategy.2020 # Practicing unfair/unsporting battle tactics (Intrigue Challenge)
		100 = martial_strategy.3010 # Strategy meeting with two prominent vassals.
		100 = martial_strategy.2030 # Ensuring that your troops have the provisions they need (Stewardship Challenge)
		75 = martial_strategy.4000 # Stocking your stores or feeding your servants.
		100 = martial_strategy.4010 # Rebuilding the walls of a lesser domain county, or letting them crumble.

		#AUTHORITY
		100 = martial_authority.1031 # Mercenaries are being assholes at an inn
		100 = martial_authority.2040 # Resolving a dispute between some soldiers (Diplomacy Challenge)
		100 = martial_authority.2050 # An Extra Hand: Find a right-hand (wo)man
		100 = martial_authority_special.1100 # Soldier and Officer Fighting
		100 = martial_authority_special.1501 # Deal with Deserters
		100 = martial_authority.5000 # You visit some baronies or go partying with an important vassal.
		100 = martial_authority_special.3000 # Impress someone with your leadership

		#CHIVALRY
		100 = martial_chivalry.0001 # A peasant tries to fight you at practice
		100 = martial_chivalry.0002 # Horse Riding Accident - Hope you love horses!
		100 = martial_chivalry.0010 # Train with your signature weapon
		100 = martial_chivalry.1011 # Find an old castle
		100 = martial_chivalry.1021 # Stress triggers bad battle practice
		100 = martial_chivalry.2010 # Getting challenged to a practice duel (Prowess Challenge)
		100 = martial_chivalry.3000 # Teaching a terrible general how to train troops.


		#Learning Commander Traits
		25 = learn_commander_trait.0002 #aggressive_attacker, unyielding_defender, or flexible_leader
		25 = learn_commander_trait.0003 #Logistician, Military Engineer, forder
		25 = learn_commander_trait.0004 #Reckless or Reaver
		25 = learn_commander_trait.0006 #Holy Warrior
		25 = learn_commander_trait.0007 #Desert Warrior
		25 = learn_commander_trait.0008 #Jungle Stalker
		100 = learn_commander_trait.1000 #Start learning chain (completely separate from the above events)

		#Alternate learning events inspired by historical battles.
		100 = historical_commander_trait.0001 #Cannae(Hannibal)	- aggressive_attacker, logistician, or flexible_leader
		100 = historical_commander_trait.0002 #Alesia(Caesar) 	- military_engineer, unyielding_defender, or reckless
		100 = historical_commander_trait.0003 #Tyre(Alexander)	- forder, military_engineer, or reaver
		100 = historical_commander_trait.0004 #Milvian(Constantine) holy_warrior, forder, or flexible_leader
		100 = historical_commander_trait.0005 #Mu'tha(Khalid)		- holy_warrior, unyielding_defender, or logistician
	}
}

# Characters get an Uncommon event roughly once every 120 months (10 years). Longer event chains and lucrative opporunities should be Uncommon events.
martial_lifestyle_uncommon_events = {
	random_events = {
		100 = martial_strategy_special.1301 # Storm Your Own Castle
		100 = martial_strategy_special.1401 # March gone awry
		100 = martial_chivalry_special.1201 # Mounted Warrior Practice
		50 = martial_chivalry_special.1601 # Train a warhorse
	}
	fallback = martial_lifestyle_common_events
}

# Characters get a Rare event roughly once every 360 months (30 years). Character-defining events and easter egg events should be Rare events.
martial_lifestyle_rare_events = {
	random_events = {
		50 = lifestyle_nicknames.0005 # Martial nickname for someone who's arrogant
		50 = lifestyle_nicknames.0006 # Martial nickname when the character is humble
	}
	fallback = martial_lifestyle_uncommon_events
}

# Special event pool for unavailable characters (imprisoned, commanding an army, infirm, etc.)
martial_lifestyle_unavailable_events = {
	trigger = {
		is_available = no
	}

	random_events = {
 		# WARNING: All events in this pool *MUST* have custom is_available triggers defined.
 		# Otherwise we can wind up with weird things like imprisoned characters having a strategy discussion with their army commanders out on the campaign trail.
 		chance_to_happen = 10

		100 = martial_authority.2040 # Resolving a dispute between some soldiers (Diplomacy Challenge)
 		100 = martial_strategy.3010 # Strategy meeting with two prominent vassals.
	}
}


###############################
# ONGOING EVENT ON_ACTIONS
###############################

#Hands out the correct event for when you have a horse riding accident
horse_riding_accident_outcome = {
	events = {
		martial_chivalry.0007 #Die
		martial_chivalry.0006 #Become Near Death
		martial_chivalry.0005 #Become Severely Injured
		martial_chivalry.0004 #Become Wounded
	}
}


#Event cycle for searching for your troops (starting from warfare_progress.1401)
search_for_troops_event_selection = {
	random_events = {
		100 = martial_strategy_special.1402 #Soldiers at a local tavern
		100 = martial_strategy_special.1403 #Soldiers camping by a body of water
		100 = martial_strategy_special.1404 #Soldiers still being trained by a sergeant
		100 = martial_strategy_special.1405 #Soldiers starting to serve a preacher
		50 = martial_strategy_special.1498 #Success!
	}
}


###############################
# On actions handling the learning commander trait chain
###############################

#Select the correct event for a character to approach you with an offer to learn a trait
learn_commander_trait_offer = {
	random_events = {
		100 = learn_commander_trait.1101 #logistician
		100 = learn_commander_trait.1102 #military_engineer
		100 = learn_commander_trait.1103 #aggressive_attacker
		100 = learn_commander_trait.1104 #unyielding_defender
		100 = learn_commander_trait.1105 #forder
		100 = learn_commander_trait.1106 #flexible_leader
		100 = learn_commander_trait.1107 #desert_warrior
		100 = learn_commander_trait.1108 #jungle_stalker
		100 = learn_commander_trait.1110 #reaver
		100 = learn_commander_trait.1112 #reckless
		100 = learn_commander_trait.1113 #holy_warrior
	}
}

#Final test for correct trait
learn_commander_trait_test = {
	first_valid = {
		learn_commander_trait.1291 #Teacher is no longer with you
		learn_commander_trait.1201 #logistician
		learn_commander_trait.1202 #military_engineer
		learn_commander_trait.1203 #aggressive_attacker
		learn_commander_trait.1204 #unyielding_defender
		learn_commander_trait.1205 #forder
		learn_commander_trait.1206 #flexible_leader
		learn_commander_trait.1207 #desert_warrior
		learn_commander_trait.1208 #jungle_stalker
		learn_commander_trait.1210 #reaver
		learn_commander_trait.1212 #reckless
		learn_commander_trait.1213 #holy_warrior
	}
}

#Success for correct trait
learn_commander_trait_success = {
	first_valid = {
		learn_commander_trait.1391 #Teacher is no longer with you
		learn_commander_trait.1301 #logistician
		learn_commander_trait.1302 #military_engineer
		learn_commander_trait.1303 #aggressive_attacker
		learn_commander_trait.1304 #unyielding_defender
		learn_commander_trait.1305 #forder
		learn_commander_trait.1306 #flexible_leader
		learn_commander_trait.1307 #desert_warrior
		learn_commander_trait.1308 #jungle_stalker
		learn_commander_trait.1310 #reaver
		learn_commander_trait.1312 #reckless
		learn_commander_trait.1313 #holy_warrior
	}
}

#Failure for correct trait
learn_commander_trait_failure = {
	first_valid = {
		learn_commander_trait.1491 #Teacher is no longer with you
		learn_commander_trait.1401 #logistician
		learn_commander_trait.1402 #military_engineer
		learn_commander_trait.1403 #aggressive_attacker
		learn_commander_trait.1404 #unyielding_defender
		learn_commander_trait.1405 #forder
		learn_commander_trait.1406 #flexible_leader
		learn_commander_trait.1407 #desert_warrior
		learn_commander_trait.1408 #jungle_stalker
		learn_commander_trait.1410 #reaver
		learn_commander_trait.1412 #reckless
		learn_commander_trait.1413 #holy_warrior
	}
}
