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>