CEEventsModal.xsd - BannerlordCE/TutorialCE GitHub Wiki

CEEventsModal (Version 1025)

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

	<xs:element name="CEEvents">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="CEEvent"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="CEEvent">
		<xs:complexType>
			<xs:sequence>
				<xs:choice maxOccurs="unbounded" minOccurs="1">
					<xs:element ref="Name" />
					<xs:element ref="Text" />
					<xs:element ref="BackgroundName" minOccurs="0" maxOccurs="1" />
					<xs:element ref="NotificationName" minOccurs="0" maxOccurs="1" />
					<xs:element ref="SoundName" minOccurs="0" maxOccurs="1" />
					<!-- Animations -->
					<xs:element ref="BackgroundAnimation" minOccurs="0" maxOccurs="1" />
					<xs:element ref="BackgroundAnimationSpeed" minOccurs="0" maxOccurs="1" />
					<!-- Conditional Backgrounds -->
					<xs:element ref="Backgrounds" minOccurs="0" maxOccurs="1" />
					<!-- Custom Flags -->
					<xs:element ref="MultipleListOfCustomFlags" minOccurs="0" />
					<xs:element ref="MultipleRestrictedListOfFlags" />
					<xs:element ref="Options" minOccurs="0" />
					<xs:element ref="ProgressEvent" minOccurs="0" />
					<!-- <UNIMPLEMENTED> Leave it as true -->
					<xs:element ref="ReqCustomCode" />
					<!-- </UNIMPLEMENTED> -->
					<xs:element ref="CanOnlyHappenNrOfTimes" minOccurs="0" />
					<!-- </UNIMPLEMENTED> -->
					<xs:element ref="SexualContent" />
					<xs:element ref="PregnancyRiskModifier" minOccurs="0" />
					<xs:element ref="EscapeChance" minOccurs="0" />
					<!-- How many multitudes higher chance it will have of occuring, an event with weight 5 will have five times greater chance of happening then an event with weight 1, please do not use negative numbers.  -->
					<xs:element ref="WeightedChanceOfOccuring" minOccurs="0" />
					<xs:element ref="ReqHeroMinAge" minOccurs="0" />
					<xs:element ref="ReqHeroMaxAge" minOccurs="0" />
					<!-- BETA: finds given item by stringid in itemroster of captive (HeroParty) or captor (CaptorParty) -->
					<xs:element ref="ReqHeroPartyHaveItem" minOccurs="0" />
					<xs:element ref="ReqCaptorPartyHaveItem" minOccurs="0" />
					<!-- Required Levels -->
					<xs:element ref="ReqHeroHealthBelowPercentage" minOccurs="0" />
					<xs:element ref="ReqHeroHealthAbovePercentage" minOccurs="0" />
					<xs:element ref="ReqHeroCaptorRelationAbove" minOccurs="0" />
					<xs:element ref="ReqHeroCaptorRelationBelow" minOccurs="0" />
					<xs:element ref="ReqHeroProstituteLevelAbove" minOccurs="0" />
					<xs:element ref="ReqHeroProstituteLevelBelow" minOccurs="0" />
					<xs:element ref="ReqHeroSlaveLevelAbove" minOccurs="0" />
					<xs:element ref="ReqHeroSlaveLevelBelow" minOccurs="0" />
					<!-- Couple it with ReqCaptorTrait/ReqHeroTrait for Captive and Captor -->
					<xs:element ref="ReqHeroTraitLevelAbove" minOccurs="0" />
					<xs:element ref="ReqHeroTraitLevelBelow" minOccurs="0" />
					<xs:element ref="ReqCaptorTraitLevelAbove" minOccurs="0" />
					<xs:element ref="ReqCaptorTraitLevelBelow" minOccurs="0" />
					<!-- Couple it with ReqCaptorSkill/ReqHeroSkill for Captive and Captor -->
					<xs:element ref="ReqHeroSkillLevelAbove" minOccurs="0" />
					<xs:element ref="ReqHeroSkillLevelBelow" minOccurs="0" />
					<xs:element ref="ReqCaptorSkillLevelAbove" minOccurs="0" />
					<xs:element ref="ReqCaptorSkillLevelBelow" minOccurs="0" />
					<!-- ReqTroops && ReqCaptives -->
					<xs:element ref="ReqTroopsAbove" minOccurs="0" />
					<xs:element ref="ReqTroopsBelow" minOccurs="0" />
					<xs:element ref="ReqCaptivesAbove" minOccurs="0" />
					<xs:element ref="ReqCaptivesBelow" minOccurs="0" />
					<xs:element ref="ReqFemaleTroopsAbove" minOccurs="0" />
					<xs:element ref="ReqFemaleTroopsBelow" minOccurs="0" />
					<xs:element ref="ReqFemaleCaptivesAbove" minOccurs="0" />
					<xs:element ref="ReqFemaleCaptivesBelow" minOccurs="0" />
					<xs:element ref="ReqMaleTroopsAbove" minOccurs="0" />
					<xs:element ref="ReqMaleTroopsBelow" minOccurs="0" />
					<xs:element ref="ReqMaleCaptivesAbove" minOccurs="0" />
					<xs:element ref="ReqMaleCaptivesBelow" minOccurs="0" />
					<!-- ReqHeroTroops && ReqHeroCaptives -->
					<xs:element ref="ReqHeroTroopsAbove" minOccurs="0" />
					<xs:element ref="ReqHeroTroopsBelow" minOccurs="0" />
					<xs:element ref="ReqHeroCaptivesAbove" minOccurs="0" />
					<xs:element ref="ReqHeroCaptivesBelow" minOccurs="0" />
					<xs:element ref="ReqHeroFemaleTroopsAbove" minOccurs="0" />
					<xs:element ref="ReqHeroFemaleTroopsBelow" minOccurs="0" />
					<xs:element ref="ReqHeroFemaleCaptivesAbove" minOccurs="0" />
					<xs:element ref="ReqHeroFemaleCaptivesBelow" minOccurs="0" />
					<xs:element ref="ReqHeroMaleTroopsAbove" minOccurs="0" />
					<xs:element ref="ReqHeroMaleTroopsBelow" minOccurs="0" />
					<xs:element ref="ReqHeroMaleCaptivesAbove" minOccurs="0" />
					<xs:element ref="ReqHeroMaleCaptivesBelow" minOccurs="0" />
					<!-- Morale -->
					<xs:element ref="ReqMoraleBelow" minOccurs="0" />
					<xs:element ref="ReqMoraleAbove" minOccurs="0" />
					<!-- ReqGold only for main hero -->
					<xs:element ref="ReqGoldAbove" minOccurs="0" />
					<xs:element ref="ReqGoldBelow" minOccurs="0" />
					<!-- Gold Specification Couple it with ChangeGold/ChangeCaptorGold -->
					<xs:element ref="GoldTotal" minOccurs="0" />
					<xs:element ref="CaptorGoldTotal" minOccurs="0" />
					<!-- Number to decrease or increase based on flag -->
					<xs:element ref="RelationTotal" minOccurs="0" />
					<xs:element ref="MoraleTotal" minOccurs="0" />
					<xs:element ref="HealthTotal" minOccurs="0" />
					<xs:element ref="RenownTotal" minOccurs="0" />
					<xs:element ref="ProstitutionTotal" minOccurs="0" />
					<xs:element ref="SlaveryTotal" minOccurs="0" />
					<xs:element ref="TraitTotal" minOccurs="0" />
					<xs:element ref="SkillTotal" minOccurs="0" />
					<!-- XP Totals -->
					<xs:element ref="TraitXPTotal" minOccurs="0" />
					<xs:element ref="SkillXPTotal" minOccurs="0" />
					<!-- Skills -->
					<xs:element ref="SkillToLevel" minOccurs="0" />
					<xs:element ref="ReqCaptorSkill" minOccurs="0" />
					<xs:element ref="ReqHeroSkill" minOccurs="0" />
					<!-- Traits -->
					<xs:element ref="TraitToLevel" minOccurs="0" />
					<xs:element ref="ReqCaptorTrait" minOccurs="0" />
					<xs:element ref="ReqHeroTrait" minOccurs="0" />
					<!-- Referencing Multiple To Level -->
					<xs:element ref="SkillsToLevel" minOccurs="0" />
					<xs:element ref="TraitsToLevel" minOccurs="0" />
					<!-- Requirements -->
					<xs:element ref="SkillsRequired" minOccurs="0" />
					<xs:element ref="TraitsRequired" minOccurs="0" />
					<!-- New: Companions -->
					<xs:element ref="Companions" minOccurs="0" />
					<!-- Terrain Requirements -->
					<xs:element ref="TerrainTypesRequirements" minOccurs="0" />
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- Required elements of each event -->
	<xs:element name="Name" type="xs:string" />
	<xs:element name="Text" type="xs:string" />
	<xs:element name="Flag" type="xs:string" />

	<!-- Optional Elements -->
	<xs:element name="BackgroundName" type="xs:string" />
	<xs:element name="NotificationName" type="xs:string" />
	<xs:element name="SoundName" type="xs:string" />

	<xs:complexType name="BackgroundNames">
		<xs:sequence>
			<xs:choice maxOccurs="unbounded" minOccurs="0">
				<xs:element name="BackgroundName" type="xs:string" />
			</xs:choice>
		</xs:sequence>
	</xs:complexType>

	<xs:element name="BackgroundAnimation" type="BackgroundNames" />
	<xs:element name="BackgroundAnimationSpeed" type="xs:string" />

	<!-- Custom Flags -->
	<xs:complexType name="CustomFlags">
		<xs:sequence maxOccurs="unbounded" minOccurs="0">
			<xs:element name="CustomFlag" type="xs:string" />
		</xs:sequence>
	</xs:complexType>

	<xs:element name="MultipleListOfCustomFlags" type="CustomFlags" />

	<!-- Type and Location have been replaced with Flags examples are Common, MULTIPLE FLAGS  -->
	<xs:simpleType name='Flags'>
		<xs:list itemType='xs:string'/>
	</xs:simpleType>

	<xs:element name="RestrictedListOfFlags">
		<xs:simpleType>
			<xs:restriction base="Flags">
				<xs:enumeration value="CanOnlyBeTriggeredByOtherEvent"/>
				<!-- Required Categories -->				<!-- Random Events events that happen randomly while not captive and do not require prisoners -->
				<xs:enumeration value="Random"/>
				<!-- Captor Events events that happen at random while not captive and require prisoners -->
				<xs:enumeration value="Captor"/>
				<!-- Captive Events events that happen at random while captive -->
				<xs:enumeration value="Captive"/>
				<!-- Events that are Overwritable DO NOT USE (ONLY MADE FOR REQUIRED AND DEFAULT EVENTS)-->
				<xs:enumeration value="Overwriteable"/>
				<!-- Types / Kinks -->
				<xs:enumeration value="Common"/>
				<xs:enumeration value="Femdom"/>
				<xs:enumeration value="Bestiality"/>
				<xs:enumeration value="Prostitution"/>
				<xs:enumeration value="Romance"/>
				<xs:enumeration value="Slavery"/>
				<xs:enumeration value="Straight"/>
				<xs:enumeration value="Lesbian"/>
				<xs:enumeration value="Gay"/>
				<!-- Events in Locations must have a proper location flag Bundled -->
				<xs:enumeration value="VisitedByCaravan"/>
				<xs:enumeration value="VisitedByLord"/>
				<xs:enumeration value="DuringSiege"/>
				<!-- DuringRaid -->
				<xs:enumeration value="DuringRaid"/>
				<!-- Locations -->
				<xs:enumeration value="LocationTravellingParty"/>
				<xs:enumeration value="LocationPartyInTown"/>
				<xs:enumeration value="LocationPartyInCastle"/>
				<xs:enumeration value="LocationPartyInVillage"/>
				<xs:enumeration value="LocationDungeon"/>
				<xs:enumeration value="LocationVillage"/>
				<xs:enumeration value="LocationCity"/>
				<xs:enumeration value="LocationCastle"/>
				<xs:enumeration value="LocationHideout"/>
				<xs:enumeration value="LocationTavern"/>
				<!-- PlayerIsNotBusy Flag -->
				<xs:enumeration value="PlayerIsNotBusy"/>
				<!-- Companion Flag has space for another companion check -->
				<xs:enumeration value="PlayerAllowedCompanion"/>
				<!-- Has strip settings -->
				<xs:enumeration value="StripEnabled"/>
				<xs:enumeration value="StripDisabled"/>
				<!-- CaptivesOutNumber -->
				<xs:enumeration value="CaptivesOutNumber"/>
				<!-- Time -->
				<xs:enumeration value="TimeNight"/>
				<xs:enumeration value="TimeDay"/>
				<!-- Season -->
				<xs:enumeration value="SeasonWinter"/>
				<xs:enumeration value="SeasonSpring"/>
				<xs:enumeration value="SeasonSummer"/>
				<xs:enumeration value="SeasonFall"/>
				<!-- New: NPC Captor Flags -->
				<xs:enumeration value="CaptorIsHero"/>
				<xs:enumeration value="CaptorIsNonHero"/>
				<xs:enumeration value="CaptorGenderIsFemale"/>
				<xs:enumeration value="CaptorGenderIsMale"/>
				<xs:enumeration value="CaptorHaveOffspring"/>
				<xs:enumeration value="CaptorNotHaveOffspring"/>
				<xs:enumeration value="CaptorHaveSpouse"/>
				<xs:enumeration value="CaptorNotHaveSpouse"/>
				<xs:enumeration value="CaptorOwnsCurrentSettlement"/>
				<xs:enumeration value="CaptorOwnsNotCurrentSettlement"/>
				<xs:enumeration value="CaptorFactionOwnsSettlement"/>
				<xs:enumeration value="CaptorNeutralFactionOwnsSettlement"/>
				<xs:enumeration value="CaptorEnemyFactionOwnsSettlement"/>
				<!-- Captive Hero Flags -->
				<xs:enumeration value="CaptiveIsHero"/>
				<xs:enumeration value="CaptiveIsNonHero"/>
				<!-- New: Hero Flags are actually Captive Flags when Hero is Captor -->
				<xs:enumeration value="HeroGenderIsFemale"/>
				<xs:enumeration value="HeroGenderIsMale"/>
				<xs:enumeration value="HeroHaveOffspring"/>
				<xs:enumeration value="HeroNotHaveOffspring"/>
				<xs:enumeration value="HeroHaveSpouse"/>
				<xs:enumeration value="HeroNotHaveSpouse"/>
				<xs:enumeration value="HeroIsPregnant"/>
				<xs:enumeration value="HeroIsNotPregnant"/>
				<xs:enumeration value="HeroOwnsFief"/>
				<xs:enumeration value="HeroOwnsNoFief"/>
				<xs:enumeration value="HeroIsClanLeader"/>
				<xs:enumeration value="HeroIsNotClanLeader"/>
				<xs:enumeration value="HeroIsFactionLeader"/>
				<xs:enumeration value="HeroIsNotFactionLeader"/>
				<!-- New: Hero Ownership Flags -->
				<xs:enumeration value="HeroOwnsCurrentParty"/>
				<xs:enumeration value="HeroOwnsNotCurrentParty"/>
				<xs:enumeration value="HeroFactionOwnsParty"/>
				<xs:enumeration value="HeroNeutralFactionOwnsParty"/>
				<xs:enumeration value="HeroEnemyFactionOwnsParty"/>
				<xs:enumeration value="HeroOwnsCurrentSettlement"/>
				<xs:enumeration value="HeroOwnsNotCurrentSettlement"/>
				<xs:enumeration value="HeroFactionOwnsSettlement"/>
				<xs:enumeration value="HeroNeutralFactionOwnsSettlement"/>
				<xs:enumeration value="HeroEnemyFactionOwnsSettlement"/>
				<!-- Player/Captive Only Flags -->
				<xs:enumeration value="HeroOwnedByNotable"/>
				<xs:enumeration value="HeroNotOwnedByNotable"/>
				<xs:enumeration value="HeroIsProstitute"/>
				<xs:enumeration value="HeroIsNotProstitute"/>
				<xs:enumeration value="HeroIsSlave"/>
				<xs:enumeration value="HeroIsNotSlave"/>
				<!-- Player Only Flags -->
				<xs:enumeration value="PlayerOwnsBrothelInSettlement"/>
				<xs:enumeration value="PlayerOwnsNotBrothelInSettlement"/>
				<!-- Ignores all other events if this event is valid and is on call -->
				<xs:enumeration value="IgnoreAllOther" />
				<!-- Options for triggering events, if someone wants to mod things to happen for example instead of a planned and agreed upon wedding .. -->
				<!-- <UNIMPLEMENTED> -->
				<xs:enumeration value="DeathAlternative"/>
				<xs:enumeration value="DesertionAlternative"/>
				<xs:enumeration value="MarriageAlternative"/>
				<!-- </UNIMPLEMENTED> -->
				<!-- Waiting Menu -->
				<xs:enumeration value="WaitingMenu" />
				<!-- Progress Menu -->
				<xs:enumeration value="ProgressMenu" />
			</xs:restriction>
		</xs:simpleType>
	</xs:element>

	<xs:element name="MultipleRestrictedListOfFlags">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="RestrictedListOfFlags"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="StringContent" type="xs:string" />

	<xs:simpleType name='Consequence'>
		<xs:list itemType='xs:string'/>
	</xs:simpleType>

	<xs:element name="RestrictedListOfConsequences">
		<xs:simpleType>
			<xs:restriction base="Consequence">
				<!-- Gives XP and Gives Gold -->
				<xs:enumeration value="GiveXP"/>
				<xs:enumeration value="GiveGold"/>
				<xs:enumeration value="GiveCaptorGold"/>
				<!-- Increases and Decreases Core Skills -->
				<xs:enumeration value="ChangeProstitutionLevel"/>
				<xs:enumeration value="ChangeSlaveryLevel"/>
				<!-- Flags -->
				<xs:enumeration value="AddProstitutionFlag"/>
				<xs:enumeration value="RemoveProstitutionFlag"/>
				<xs:enumeration value="AddSlaveryFlag"/>
				<xs:enumeration value="RemoveSlaveryFlag"/>
				<!-- Increases and Decreases Extra Functionality -->
				<xs:enumeration value="ChangeMorale"/>
				<xs:enumeration value="ChangeRenown"/>
				<xs:enumeration value="ChangeCaptorRenown"/>
				<xs:enumeration value="ChangeHealth"/>
				<xs:enumeration value="ChangeRelation"/>
				<!-- Trait Level Management -->
				<xs:enumeration value="ChangeTrait"/>
				<xs:enumeration value="ChangeCaptorTrait"/>
				<!-- Skill Level Management -->
				<xs:enumeration value="ChangeSkill"/>
				<xs:enumeration value="ChangeCaptorSkill"/>
				<!-- Random Impregnation -->
				<xs:enumeration value="ImpregnationRisk"/>
				<!-- Captor Leader Impregnantion -->
				<xs:enumeration value="ImpregnationHero"/>
				<!-- New: Player Impregnantion-->
				<xs:enumeration value="ImpregnationByPlayer"/>
				<!-- Flags -->
				<xs:enumeration value="CaptorLeaveSpouse"/>
				<xs:enumeration value="CaptiveLeaveSpouse"/>
				<xs:enumeration value="CaptiveMarryCaptor"/>
				<!-- Changes Player gold make sure to couple it with GoldTotal flag -->
				<xs:enumeration value="ChangeGold" />
				<!-- Changes Captors gold make sure to couple it with CaptorGoldTotal flag -->
				<xs:enumeration value="ChangeCaptorGold" />
				<!-- Menu Leave Options Logos and Some Extra Functionality -->
				<xs:enumeration value="AttemptEscape"/>
				<xs:enumeration value="Escape"/>
				<xs:enumeration value="Leave"/>
				<xs:enumeration value="Continue"/>
				<xs:enumeration value="EmptyIcon" />
				<xs:enumeration value="Wait" />
				<xs:enumeration value="BribeAndEscape" />
				<xs:enumeration value="Submenu" />
				<xs:enumeration value="RansomAndBribe" />
				<xs:enumeration value="Trade" />
				<!-- Moves Player to Caravan make sure to couple it with VisitedByCaravan flag -->
				<xs:enumeration value="SoldToCaravan"/>
				<!-- Moves Player to Settlement make sure to couple it with any settlement town type flag -->
				<xs:enumeration value="SoldToSettlement"/>
				<!-- Moves Player to Lord make sure to couple it with VisitedByLord flag -->
				<xs:enumeration value="SoldToLordParty"/>
				<!-- Moves Player to Settlement make sure to couple it with any settlement town type flag (work in progress) -->
				<xs:enumeration value="SoldToNotable"/>
				<!-- Flags Prisoners -->
				<xs:enumeration value="GainRandomPrisoners"/>
				<!-- Make sure to couple it with PlayerIsNotBusy -->
				<xs:enumeration value="RebelPrisoners"/>
				<xs:enumeration value="HuntPrisoners"/>
				<!-- Release -->
				<xs:enumeration value="ReleaseRandomPrisoners"/>
				<xs:enumeration value="ReleaseAllPrisoners"/>
				<!-- Kill -->
				<xs:enumeration value="KillRandomPrisoners"/>
				<xs:enumeration value="KillAllPrisoners"/>
				<xs:enumeration value="KillPrisoner"/>
				<xs:enumeration value="KillCaptor"/>
				<!-- Wound -->
				<xs:enumeration value="WoundRandomPrisoners"/>
				<xs:enumeration value="WoundAllPrisoners"/>
				<xs:enumeration value="WoundPrisoner"/>
				<xs:enumeration value="WoundCaptor"/>
				<!-- Join Captor (doesn't work when player is captive) -->
				<xs:enumeration value="JoinCaptor"/>
				<!-- Make Hero Companion (doesn't work when player is captive) requires captive to be a hero -->
				<xs:enumeration value="MakeHeroCompanion" />
				<!-- Strips to default robe or random better default items (chance) for player or default robe for AI as captive -->
				<xs:enumeration value="Strip"/>
				<!-- Allows player to customize what AI is wearing -->
				<xs:enumeration value="StripHero"/>
				<!-- StripPlayer Strips the player -->
				<xs:enumeration value="StripPlayer"/>
				<!-- Makes sure Player isn't in an encounter -->
				<xs:enumeration value="PlayerIsNotBusy"/>
				<!-- Companion Flag has space for another companion check -->
				<xs:enumeration value="PlayerAllowedCompanion"/>
				<!-- Hides Banner Message -->
				<xs:enumeration value="InformationMessage"/>
				<!-- Hides All Messages -->
				<xs:enumeration value="NoMessages"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>

	<xs:element name="MultipleRestrictedListOfConsequences">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="RestrictedListOfConsequences"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- Spawn Settings for Troop/Prisoner Option -->
	<xs:element name="SpawnTroop">
		<xs:complexType>
			<xs:attribute name="Ref" type="xs:string"/>
			<xs:attribute name="Id" type="xs:string"/>
			<xs:attribute name="Number" type="xs:string"/>
			<xs:attribute name="WoundedNumber" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="SpawnTroops">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="SpawnTroop"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- Spawn Settings for new Hero as Troop/Prisoner -->
	<xs:element name="SpawnHero">
		<xs:complexType>
			<xs:sequence>
				<!-- Skills to level -->
				<xs:element ref="SkillsToLevel" minOccurs="0" />
			</xs:sequence>
			<xs:attribute name="Ref" type="xs:string"/>
			<xs:attribute name="Culture" type="xs:string"/>
			<xs:attribute name="Gender" type="xs:string"/>
			<!-- Player/Captor/Random -->
			<xs:attribute name="Clan" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="SpawnHeroes">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="SpawnHero"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- Strip Settings for Strip Option of Player -->
	<xs:element name="StripSettings">
		<xs:complexType>
			<xs:sequence>
				<xs:choice maxOccurs="unbounded" minOccurs="1">
					<!-- 
						Captive Clothing.

						"Default" use default settings (roll based on user settings)
						"Advanced" use an upgraded clothing
						"Basic" use basic clothing 
						"Nude" use no clothing
						"Slave" custom integration
						"####" uses custom clothing (WORK IN PROGRESS)
					-->
					<xs:element name="Clothing" minOccurs="0" maxOccurs="1" type="xs:string" />
					<!-- 
						Captive Mount.

						"Default" use default settings (roll based on user settings)
						"Basic" give player a mount
						"None" don't give player a mount
						"####" uses a custom mount (WORK IN PROGRESS)
					-->
					<xs:element name="Mount" minOccurs="0" maxOccurs="1" type="xs:string" />
					<!-- 
						Captive Melee 

						"Default" use default settings (roll based on user settings)
						"Advanced" use an upgrade on weapons
						"Basic" use basic weapons
						"None" uses no weapons
						"####" uses custom weapons (WORK IN PROGRESS)
					-->
					<xs:element name="Melee" minOccurs="0" maxOccurs="1" type="xs:string" />
					<!-- 
						Captive Ranged

						"Default" use default settings (roll based on user settings)
						"Advanced" use an upgrade on ranged weapons
						"Basic" use basic ranged weapons
						"None" uses no ranged weapons
						"####" uses custom ranged weapons (WORK IN PROGRESS)
					-->
					<xs:element name="Ranged" minOccurs="0" maxOccurs="1" type="xs:string" />
				</xs:choice>
			</xs:sequence>
			<!-- Based on Settings if False, Dangerous to use if player doesn't want their gear lost, BE CAREFUL -->
			<xs:attribute name="Forced" type="xs:boolean" />
			<!-- Quest Enabled for Player (Uses User settings for the chance) -->
			<xs:attribute name="QuestEnabled" type="xs:boolean" />
		</xs:complexType>
	</xs:element>

	<!-- WorldMapRequired -->
	<xs:simpleType name='Terrian'>
		<xs:list itemType='xs:string'/>
	</xs:simpleType>
	<xs:element name="TerrainType">
		<xs:simpleType>
			<xs:restriction base="Terrian">
				<xs:enumeration value="Water"/>
				<xs:enumeration value="Mountain"/>
				<xs:enumeration value="Snow"/>
				<xs:enumeration value="Steppe"/>
				<xs:enumeration value="Plain"/>
				<xs:enumeration value="Desert"/>
				<xs:enumeration value="Swamp"/>
				<xs:enumeration value="Dune"/>
				<xs:enumeration value="Bridge"/>
				<xs:enumeration value="River"/>
				<xs:enumeration value="Forest"/>
				<xs:enumeration value="ShallowRiver"/>
				<xs:enumeration value="Lake"/>
				<xs:enumeration value="Canyon"/>
				<xs:enumeration value="RuralArea"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>

	<xs:element name="TerrainTypes">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="TerrainType" minOccurs="1" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="TerrainTypesRequirements">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="TerrainTypes" minOccurs="1" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- TraitsRequired -->
	<xs:element name="TraitRequired">
		<xs:complexType>
			<xs:attribute name="Id" type="xs:string"/>
			<xs:attribute name="Max" type="xs:string"/>
			<xs:attribute name="Min" type="xs:string"/>
			<!-- 
				Captor or Hero.

				"Hero" refers to Captive (In Captor/Captive Events) / Hero (In Random Events)
				"Captor" refers Captor
			-->
			<xs:attribute name="Ref" type="xs:string" />
		</xs:complexType>
	</xs:element>

	<xs:element name="TraitsRequired">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="TraitRequired"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- SkillsRequired -->
	<xs:element name="SkillRequired">
		<xs:complexType>
			<xs:attribute name="Id" type="xs:string"/>
			<xs:attribute name="Max" type="xs:string"/>
			<xs:attribute name="Min" type="xs:string"/>
			<!-- 
				Captor or Hero.

				"Hero" refers to Captive (In Captor/Captive Events) / Hero (In Random Events)
				"Captor" refers Captor
			-->
			<xs:attribute name="Ref" type="xs:string" />
		</xs:complexType>
	</xs:element>

	<xs:element name="SkillsRequired">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="SkillRequired"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- TraitsToLevel -->
	<xs:element name="Trait">
		<xs:complexType>
			<xs:attribute name="Id" type="xs:string"/>
			<xs:attribute name="ByLevel" type="xs:string"/>
			<xs:attribute name="ByXP" type="xs:string"/>
			<!-- 
				Captor or Hero.

				"Hero" refers to Captive (In Captor/Captive Events) / Hero (In Random Events)
				"Captor" refers Captor
			-->
			<xs:attribute name="Ref" type="xs:string" />
			<!--
				Default Gray

				List
				Gray
				Black
				White
				Yellow
				Magenta
				Red
				Green
				Cyan
			-->
			<xs:attribute name="Color" type="xs:string" />
			<xs:attribute name="HideNotification" type="xs:boolean" />
		</xs:complexType>
	</xs:element>

	<xs:element name="TraitsToLevel">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="Trait"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- SkillsToLevel -->
	<xs:element name="Skill">
		<xs:complexType>
			<xs:attribute name="Id" type="xs:string"/>
			<xs:attribute name="ByLevel" type="xs:string"/>
			<xs:attribute name="ByXP" type="xs:string"/>
			<!-- 
				Captor or Hero.

				"Hero" refers to Captive (In Captor/Captive Events) / Hero (In Random Events)
				"Captor" refers Captor
			-->
			<xs:attribute name="Ref" type="xs:string" />
			<!--
				Default Gray

				List
				Gray
				Black
				White
				Yellow
				Magenta
				Red
				Green
				Cyan
			-->
			<xs:attribute name="Color" type="xs:string" />
			<xs:attribute name="HideNotification" type="xs:boolean" />
		</xs:complexType>
	</xs:element>

	<xs:element name="SkillsToLevel">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="Skill"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- TriggerEvents -->
	<xs:element name="TriggerEvent">
		<xs:complexType>
			<xs:sequence>
				<xs:choice maxOccurs="unbounded" minOccurs="1">
					<xs:element name="EventName" minOccurs="1" maxOccurs="1" type="xs:string" />
					<!-- Overwrites the event's WeightedChanceOfOccuring if not provided uses that -->
					<xs:element name="EventWeight" minOccurs="0" maxOccurs="1" type="xs:string" />
					<!-- 
						Use the event conditions of events before deciding to add it to the randomized list.

						"True" to enable all conditions on the event.
						"False" or missing to disable condition checkers.

						Work in progress
					-->
					<xs:element name="EventUseConditions" minOccurs="0" maxOccurs="1" type="xs:string" />
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="TriggerEvents">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="TriggerEvent"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- KingdomOptions -->
	<xs:element name="KingdomOption">
		<xs:complexType>			<!-- 
				Captor or Hero Reference

				"Hero" refers to Captive (In Captor/Captive Events) / Hero (In Random Events)
				"Captor" refers Captor
			-->
			<xs:attribute name="Ref" type="xs:string" />
			<!--
				"Leave" ref leaves their kingdom
				"Join" ref join a kingdom as a noble
				"JoinAsMercenary" ref joins a kingdom as mercenary
			-->
			<xs:attribute name="Action" type="xs:string" />
			<!--
				"Random" - Random Kingdom
				"Hero" - Hero's Kingdom
				"Captor" - Captor's Kingdom
				"Settlement" - Current Settlement's Kingdom
			-->
			<xs:attribute name="Kingdom" type="xs:string" />
			<xs:attribute name="HideNotification" type="xs:boolean" />
		</xs:complexType>
	</xs:element>

	<xs:element name="KingdomOptions">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="KingdomOption"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- ClanOptions -->
	<xs:element name="ClanOption">
		<xs:complexType>			<!-- 
				Captor or Hero Reference.

				"Hero" refers to Captive (In Captor/Captive Events) / Hero (In Random Events)
				"Captor" refers Captor
			-->
			<xs:attribute name="Ref" type="xs:string" />
			<!--
				"Join" ref join a Clan
				"JoinAsLeader" ref join a Clan as Leader
				"Adopted" ref join a Clan with Mother/Father as Leader
				"AdoptedAsLeader" ref join a Clan as Leader with Mother/Father as previous Leader

			-->
			<xs:attribute name="Action" type="xs:string" />
			<!--
				"Random" - Random Clan
				"New" - New Clan
				"Hero" - Hero's Clan
				"Captor" - Captor's Clan
				"Settlement" - Current Settlement's Clan
			-->
			<xs:attribute name="Clan" type="xs:string" />
			<xs:attribute name="HideNotification" type="xs:boolean" />
		</xs:complexType>
	</xs:element>

	<xs:element name="ClanOptions">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="ClanOption"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- Progress Event Settings for Progress Event Option of Player -->
	<xs:element name="ProgressEvent">
		<xs:complexType>
			<xs:sequence>
				<xs:choice maxOccurs="unbounded" minOccurs="1">					<!-- If the Party should stop Moving -->
					<xs:element name="ShouldStopMoving" minOccurs="0" maxOccurs="1" type="xs:boolean" />
					<!-- 
						Display Mode 
						0 - Show Only Progress
						1 - Show Progress And Hours
						2 - Hide Progress And Hours
					-->
					<xs:element name="DisplayProgressMode" minOccurs="0" maxOccurs="1" type="xs:string" />
					<!-- Time in Hours it should take to complete event -->
					<xs:element name="TimeToTake" minOccurs="0" maxOccurs="1" type="xs:string" />
					<!-- Trigger Event After -->
					<xs:element name="TriggerEventName" minOccurs="0" type="xs:string" />
					<!-- Randomized Events List -->
					<xs:element ref="TriggerEvents" minOccurs="0"/>
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!--Randomized Background -->
	<xs:element name="Background">
		<xs:complexType>
			<xs:attribute name="Name" type="xs:string" />
			<!-- 
				Overwrites the backgrounds's WeightedChanceOfOccuring if not provided uses that
			-->
			<xs:attribute name="Weight" type="xs:string" />
			<!-- 
				Use the event conditions of events before deciding to add it to the randomized list.

				"Name of Conditional Event" to reference conditions.
				"False" or missing to disable condition checkers.

				Work in progress
			-->
			<xs:attribute name="UseConditions" type="xs:string" />
		</xs:complexType>
	</xs:element>

	<xs:element name="Backgrounds">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="Background"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- Companions  -->
	<xs:element name="Companion">
		<xs:complexType>
			<!-- 
				Apply Consquences If used in an Option
			-->
			<xs:sequence>
				<xs:choice maxOccurs="unbounded" minOccurs="0">
					<xs:element ref="MultipleRestrictedListOfConsequences" />
					<!-- moved to options overrides the one in events if one exists .. -->
					<xs:element ref="PregnancyRiskModifier" minOccurs="0" />
					<xs:element ref="EscapeChance" minOccurs="0" />
					<!-- Gold Specification Couple it with ChangeGold/ChangeCaptorGold -->
					<xs:element ref="GoldTotal" minOccurs="0" />
					<xs:element ref="CaptorGoldTotal" minOccurs="0" />
					<!-- Number to decrease or increase based on flag -->
					<xs:element ref="RelationTotal" minOccurs="0" />
					<xs:element ref="MoraleTotal" minOccurs="0" />
					<xs:element ref="HealthTotal" minOccurs="0" />
					<xs:element ref="RenownTotal" minOccurs="0" />
					<!-- Referencing Multiple To Level -->
					<xs:element ref="SkillsToLevel" minOccurs="0" />
					<xs:element ref="TraitsToLevel" minOccurs="0" />
					<!-- Kingdom Options -->
					<xs:element ref="KingdomOptions" minOccurs="0" />
					<xs:element ref="ClanOptions" minOccurs="0" />
				</xs:choice>
			</xs:sequence>
			<!-- 
				Custom ID
			-->
			<xs:attribute name="Id" type="xs:string" />
			<!-- 
				Captor or Hero.

				"Hero" refers to Captive (In Captor/Captive Events) / Hero (In Random Events)
				"Captor" refers Captor
			-->
			<xs:attribute name="Ref" type="xs:string" />
			<!-- 
				Will check if Ref has a spouse and a Companion
				Indicates Type of Companion
				"Spouse" - Ref's Spouse
				"Companion" - Ref's Companion (Will loop through Ref's Companions if Use Conditions is found)
				"Both" - Ref's Both Spouse and Companions
			-->
			<xs:attribute name="Type" type="xs:string" />
			<!-- 
				Will check if Ref has a spouse and a Companion
				Indicates Type of Companion
				"Prisoner" - Prisoner in another party
				"Party" - In their own Party
				"Settlement" - In Settlement
				"Any" - Any Locations (Default)
				"Current Prisoner" - Prisoner in current party
				"Current" - Ref's Party
			-->
			<xs:attribute name="Location" type="xs:string" />
			<!-- 
				Use the event conditions of events before deciding to add it to the randomized list.

				"Name of Conditional Event" to reference conditions.
				"False" or missing to disable condition checkers.

				Work in progress
			-->
			<xs:attribute name="UseOtherConditions" type="xs:string" />
		</xs:complexType>
	</xs:element>

	<xs:element name="Companions">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="Companion"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="Option">
		<xs:complexType>
			<xs:sequence>
				<xs:choice maxOccurs="unbounded" minOccurs="1">
					<xs:element name="Order" type="xs:string" />
					<!-- The code effect, use RestrictedListOfConsequences  -->
					<xs:element ref="MultipleRestrictedListOfConsequences" />
					<!-- The text result show to user .. -->
					<xs:element name="OptionText" type="xs:string" />
					<!-- Triggers another event that matches this name, make sure it catches exceptions gracefully and finishes quietly to log .. -->
					<xs:element name="TriggerEventName" minOccurs="0" type="xs:string" />
					<!-- Sound To Play -->
					<xs:element ref="SoundName" minOccurs="0" maxOccurs="1" />
					<!-- moved to options overrides the one in events if one exists .. -->
					<xs:element ref="PregnancyRiskModifier" minOccurs="0" />
					<xs:element ref="EscapeChance" minOccurs="0" />
					<!-- BETA: finds given item by stringid in itemroster of captive (HeroParty) or captor (CaptorParty) -->
					<xs:element ref="ReqHeroPartyHaveItem" minOccurs="0" />
					<xs:element ref="ReqCaptorPartyHaveItem" minOccurs="0" />
					<!-- Required Levels -->
					<xs:element ref="ReqHeroHealthBelowPercentage" minOccurs="0" />
					<xs:element ref="ReqHeroHealthAbovePercentage" minOccurs="0" />
					<xs:element ref="ReqHeroCaptorRelationAbove" minOccurs="0" />
					<xs:element ref="ReqHeroCaptorRelationBelow" minOccurs="0" />
					<xs:element ref="ReqHeroProstituteLevelAbove" minOccurs="0" />
					<xs:element ref="ReqHeroProstituteLevelBelow" minOccurs="0" />
					<xs:element ref="ReqHeroSlaveLevelAbove" minOccurs="0" />
					<xs:element ref="ReqHeroSlaveLevelBelow" minOccurs="0" />
					<!-- Couple it with ReqCaptorTrait/ReqHeroTrait for Captive and Captor -->
					<xs:element ref="ReqHeroTraitLevelAbove" minOccurs="0" />
					<xs:element ref="ReqHeroTraitLevelBelow" minOccurs="0" />
					<xs:element ref="ReqCaptorTraitLevelAbove" minOccurs="0" />
					<xs:element ref="ReqCaptorTraitLevelBelow" minOccurs="0" />
					<!-- Couple it with ReqCaptorSkill/ReqHeroSkill for Captive and Captor -->
					<xs:element ref="ReqHeroSkillLevelAbove" minOccurs="0" />
					<xs:element ref="ReqHeroSkillLevelBelow" minOccurs="0" />
					<xs:element ref="ReqCaptorSkillLevelAbove" minOccurs="0" />
					<xs:element ref="ReqCaptorSkillLevelBelow" minOccurs="0" />
					<!-- ReqTroops && ReqCaptives -->
					<xs:element ref="ReqTroopsAbove" minOccurs="0" />
					<xs:element ref="ReqTroopsBelow" minOccurs="0" />
					<xs:element ref="ReqCaptivesAbove" minOccurs="0" />
					<xs:element ref="ReqCaptivesBelow" minOccurs="0" />
					<xs:element ref="ReqFemaleTroopsAbove" minOccurs="0" />
					<xs:element ref="ReqFemaleTroopsBelow" minOccurs="0" />
					<xs:element ref="ReqFemaleCaptivesAbove" minOccurs="0" />
					<xs:element ref="ReqFemaleCaptivesBelow" minOccurs="0" />
					<xs:element ref="ReqMaleTroopsAbove" minOccurs="0" />
					<xs:element ref="ReqMaleTroopsBelow" minOccurs="0" />
					<xs:element ref="ReqMaleCaptivesAbove" minOccurs="0" />
					<xs:element ref="ReqMaleCaptivesBelow" minOccurs="0" />
					<!-- ReqHeroTroops && ReqHeroCaptives -->
					<xs:element ref="ReqHeroTroopsAbove" minOccurs="0" />
					<xs:element ref="ReqHeroTroopsBelow" minOccurs="0" />
					<xs:element ref="ReqHeroCaptivesAbove" minOccurs="0" />
					<xs:element ref="ReqHeroCaptivesBelow" minOccurs="0" />
					<xs:element ref="ReqHeroFemaleTroopsAbove" minOccurs="0" />
					<xs:element ref="ReqHeroFemaleTroopsBelow" minOccurs="0" />
					<xs:element ref="ReqHeroFemaleCaptivesAbove" minOccurs="0" />
					<xs:element ref="ReqHeroFemaleCaptivesBelow" minOccurs="0" />
					<xs:element ref="ReqHeroMaleTroopsAbove" minOccurs="0" />
					<xs:element ref="ReqHeroMaleTroopsBelow" minOccurs="0" />
					<xs:element ref="ReqHeroMaleCaptivesAbove" minOccurs="0" />
					<xs:element ref="ReqHeroMaleCaptivesBelow" minOccurs="0" />
					<!-- Morale -->
					<xs:element ref="ReqMoraleBelow" minOccurs="0" />
					<xs:element ref="ReqMoraleAbove" minOccurs="0" />
					<!-- ReqGold only for main hero -->
					<xs:element ref="ReqGoldAbove" minOccurs="0" />
					<xs:element ref="ReqGoldBelow" minOccurs="0" />
					<!-- Gold Specification Couple it with ChangeGold/ChangeCaptorGold -->
					<xs:element ref="GoldTotal" minOccurs="0" />
					<xs:element ref="CaptorGoldTotal" minOccurs="0" />
					<!-- Number to decrease or increase based on flag -->
					<xs:element ref="RelationTotal" minOccurs="0" />
					<xs:element ref="MoraleTotal" minOccurs="0" />
					<xs:element ref="HealthTotal" minOccurs="0" />
					<xs:element ref="RenownTotal" minOccurs="0" />
					<xs:element ref="ProstitutionTotal" minOccurs="0" />
					<xs:element ref="SlaveryTotal" minOccurs="0" />
					<xs:element ref="TraitTotal" minOccurs="0" />
					<xs:element ref="SkillTotal" minOccurs="0" />
					<!-- XP Totals -->
					<xs:element ref="TraitXPTotal" minOccurs="0" />
					<xs:element ref="SkillXPTotal" minOccurs="0" />
					<!-- Skills -->
					<xs:element ref="SkillToLevel" minOccurs="0" />
					<xs:element ref="ReqCaptorSkill" minOccurs="0" />
					<xs:element ref="ReqHeroSkill" minOccurs="0" />
					<!-- Traits -->
					<xs:element ref="TraitToLevel" minOccurs="0" />
					<xs:element ref="ReqCaptorTrait" minOccurs="0" />
					<xs:element ref="ReqHeroTrait" minOccurs="0" />
					<!-- Randomized Events List -->
					<xs:element ref="TriggerEvents" minOccurs="0"/>
					<!-- Referencing Multiple To Level -->
					<xs:element ref="SkillsToLevel" minOccurs="0" />
					<xs:element ref="TraitsToLevel" minOccurs="0" />
					<!-- Requirements -->
					<xs:element ref="SkillsRequired" minOccurs="0" />
					<xs:element ref="TraitsRequired" minOccurs="0" />
					<!-- New: Companions -->
					<xs:element ref="Companions" minOccurs="0" />
					<!-- New: StripSettings -->
					<xs:element ref="StripSettings" minOccurs="0" />
					<!-- Kingdom Options -->
					<xs:element ref="KingdomOptions" minOccurs="0" />
					<xs:element ref="ClanOptions" minOccurs="0" />
					<!-- Spawn Options -->
					<xs:element ref="SpawnTroops" minOccurs="0" />
					<xs:element ref="SpawnHeroes" minOccurs="0" />
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="Options">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="Option"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<!-- <UNIMPLEMENTED> -->
	<!-- This being false means its a 'fastgamemenu' that requires no delegate function calls -->
	<xs:element name="ReqCustomCode" type="xs:boolean" />
	<xs:element name="CanOnlyHappenNrOfTimes" type="xs:string" />
	<!-- </UNIMPLEMENTED> -->

	<!-- Aka is it adult content or not -->
	<xs:element name="SexualContent" type="xs:boolean" />

	<!-- <UNIMPLEMENTED> -->
	<!-- If ReqCustomCode is false and the event is a 'fastgamemenu', then these are all needed to generate the event -->
	<!-- Should be short-->
	<xs:element name="AgreeText" type="xs:string" />
	<!-- If player can choose to avoid resulttext, triggers cancel text -->
	<xs:element name="IsCancelOptional" type="xs:boolean" />
	<!-- Should be short-->
	<xs:element name="CancelText" type="xs:string" />
	<!-- Can be longer -->
	<xs:element name="AgreeResultText" type="xs:string" />
	<!-- </UNIMPLEMENTED> -->


	<!-- Optional elements of each event NOTE that some of these flags might be irrelevant if the ReqCustomCode is false and the event is a simple aka 'fastgamemenu' event -->
	<xs:element name="PregnancyRiskModifier" type="xs:string" />
	<xs:element name="EscapeChance" type="xs:string" />
	<xs:element name="WeightedChanceOfOccuring" type="xs:string" />

	<!-- Many requirement element have been made into flags  -->
	<xs:element name="ReqHeroMinAge" type="xs:string" />
	<xs:element name="ReqHeroMaxAge" type="xs:string" />

	<!-- Beta: Minor Issues -->
	<xs:element name="ReqCaptorPartyHaveItem" type="xs:string" />
	<xs:element name="ReqHeroPartyHaveItem" type="xs:string" />

	<!-- Regular Requirements -->
	<xs:element name="ReqHeroHealthBelowPercentage" type="xs:string" />
	<xs:element name="ReqHeroHealthAbovePercentage" type="xs:string" />
	<xs:element name="ReqHeroCaptorRelationAbove" type="xs:string" />
	<xs:element name="ReqHeroCaptorRelationBelow" type="xs:string" />
	<xs:element name="ReqHeroProstituteLevelAbove" type="xs:string" />
	<xs:element name="ReqHeroProstituteLevelBelow" type="xs:string" />
	<xs:element name="ReqHeroSlaveLevelAbove" type="xs:string" />
	<xs:element name="ReqHeroSlaveLevelBelow" type="xs:string" />
	<xs:element name="ReqHeroTraitLevelAbove" type="xs:string" />
	<xs:element name="ReqHeroTraitLevelBelow" type="xs:string" />
	<xs:element name="ReqCaptorTraitLevelAbove" type="xs:string" />
	<xs:element name="ReqCaptorTraitLevelBelow" type="xs:string" />
	<xs:element name="ReqHeroSkillLevelAbove" type="xs:string" />
	<xs:element name="ReqHeroSkillLevelBelow" type="xs:string" />
	<xs:element name="ReqCaptorSkillLevelAbove" type="xs:string" />
	<xs:element name="ReqCaptorSkillLevelBelow" type="xs:string" />

	<!-- ReqTroops && ReqCaptives -->
	<xs:element name="ReqTroopsAbove" type="xs:string" />
	<xs:element name="ReqTroopsBelow" type="xs:string" />
	<xs:element name="ReqCaptivesAbove" type="xs:string" />
	<xs:element name="ReqCaptivesBelow" type="xs:string" />
	<xs:element name="ReqFemaleTroopsAbove" type="xs:string" />
	<xs:element name="ReqFemaleTroopsBelow" type="xs:string" />
	<xs:element name="ReqFemaleCaptivesAbove" type="xs:string" />
	<xs:element name="ReqFemaleCaptivesBelow" type="xs:string" />
	<xs:element name="ReqMaleTroopsAbove" type="xs:string" />
	<xs:element name="ReqMaleTroopsBelow" type="xs:string" />
	<xs:element name="ReqMaleCaptivesAbove" type="xs:string" />
	<xs:element name="ReqMaleCaptivesBelow" type="xs:string" />

	<!-- ReqHeroTroops && ReqHeroCaptives -->
	<xs:element name="ReqHeroTroopsAbove" type="xs:string" />
	<xs:element name="ReqHeroTroopsBelow" type="xs:string" />
	<xs:element name="ReqHeroCaptivesAbove" type="xs:string" />
	<xs:element name="ReqHeroCaptivesBelow" type="xs:string" />
	<xs:element name="ReqHeroFemaleTroopsAbove" type="xs:string" />
	<xs:element name="ReqHeroFemaleTroopsBelow" type="xs:string" />
	<xs:element name="ReqHeroFemaleCaptivesAbove" type="xs:string" />
	<xs:element name="ReqHeroFemaleCaptivesBelow" type="xs:string" />
	<xs:element name="ReqHeroMaleTroopsAbove" type="xs:string" />
	<xs:element name="ReqHeroMaleTroopsBelow" type="xs:string" />
	<xs:element name="ReqHeroMaleCaptivesAbove" type="xs:string" />
	<xs:element name="ReqHeroMaleCaptivesBelow" type="xs:string" />

	<!-- Gold Required -->
	<xs:element name="ReqGoldAbove" type="xs:string" />
	<xs:element name="ReqGoldBelow" type="xs:string" />
	<xs:element name="ReqMoraleAbove" type="xs:string" />
	<xs:element name="ReqMoraleBelow" type="xs:string" />
	<!-- 
		RANDOMIZE 
		<GoldTotal>R 0 10</GoldTotal> to randomize between 0 and 10
		<SkillTotal>R -10 40</SkillTotal> to randomize between -10 and 40
	-->
	<xs:element name="GoldTotal" type="xs:string" />
	<xs:element name="CaptorGoldTotal" type="xs:string" />
	<xs:element name="RelationTotal" type="xs:string" />
	<xs:element name="MoraleTotal" type="xs:string" />
	<xs:element name="HealthTotal" type="xs:string" />
	<xs:element name="RenownTotal" type="xs:string" />
	<xs:element name="ProstitutionTotal" type="xs:string" />
	<xs:element name="SlaveryTotal" type="xs:string" />
	<xs:element name="TraitTotal" type="xs:string" />
	<xs:element name="SkillTotal" type="xs:string" />

	<!-- XP Totals -->
	<xs:element name="TraitXPTotal" type="xs:string" />
	<xs:element name="SkillXPTotal" type="xs:string" />

	<!-- Skills -->
	<xs:element name="SkillToLevel" type="xs:string" />
	<xs:element name="ReqCaptorSkill" type="xs:string" />
	<xs:element name="ReqHeroSkill" type="xs:string" />
	<!-- Valid list of skills -->	<!--
		One Handed
		Two Handed
		Polearm
		Bow
		Crossbow
		Throwing
		Riding
		Athletics
		Scouting
		Tactics
		Smithing
		Roguery
		Charm
		Leadership
		Trade
		Steward
		Medicine
		Engineering
	-->

	<xs:element name="TraitToLevel" type="xs:string" />
	<xs:element name="ReqCaptorTrait" type="xs:string" />
	<xs:element name="ReqHeroTrait" type="xs:string" />
	<!-- Valid list of traits -->	<!-- 
		{Main}
		{Personality}
		Honor
		Mercy
		Calculating
		Valor
		Generosity

		{Extra}
		{SkillCategories}
		Commander
		BalancedFightingSkills
		Politician
		Manager

		{All}
		HeavyBuild
		MuscularBuild
		OutOfShapeBuild
		LightBuild

		{Personality Companion}
		curt
		ironic
		earnest
		softspoken

		{Hair Style}
		RomanHair
		CelticHair
		ArabianHair
		RusHair
		FrankishHair
		SteppeHair

		{Extra Skills of Companions}
		Surgeon
		Tracking
		SergeantCommandSkills
		RogueSkills
		EngineerSkills
		DesertScoutSkills
		WoodsScoutSkills

		{Fighting Skill Types}
		KnightFightingSkills
		CavalryFightingSkills
		HorseArcherFightingSkills
		HuscarlFightingSkills
		HopliteFightingSkills
		ArcherFIghtingSkills
		CrossbowmanStyle
		PeltastFightingSkills
		BossFightingSkills


		{Gangmember types}
		Thug
		Thief
		Gambler
		Smuggler

		{Unknown Extras}
		Frequency

		Blacksmith
		HillScoutSkills
		MarshesLore
		SteppeScoutSkills
		Scarred
		OneEyed

		Mercenary
		Egalitarian
		Oligarchic
		Authoritarian

		IsEquipmentTemplate
		WandererEquipment
		GentryEquipment

  	-->
</xs:schema>
⚠️ **GitHub.com Fallback** ⚠️