How to replace (rather than add to) Equipment Rosters with XML ?

Users who are viewing this thread

As you may see below, I made the Equipment Roster for the Mameluke Axeman include some throwing daggers ... but in-game there are two other (default) Rosters that still remain and take up space in the Roster pool. How can I get my custom Roster to be the only one available to the troop?



My current XML:
xml-example.png


The results:
sets.png





Thank you.
 
Solution
For anyone else who might come across this, here is my final xslt result to replace entire troops.
I copied my original XML file over then used regex with find&replace in VSCode to change the format from XML to XSLT.
Thank you again @order_without_power
XML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
    <xsl:output omit-xml-declaration="yes"/>
 
    <!--Identity Transform -->
    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match='NPCCharacter[@id="aserai_recruit"]' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>...
Have looked through all the available resources and tried my best. Not sure what I'm missing. Hopefully you're willing to take a quick look below at my last attempt. Thanks again.


submodule.xml
XML:
<Xmls>
        <XmlNode>
            <XmlName id="NPCCharacters" path="equipment" />
            <IncludedGameTypes>
                <GameType value="Campaign" />
                <GameType value="CampaignStoryMode" />
            </IncludedGameTypes>
        </XmlNode>
      
        <XmlNode>
            <XmlName id="NPCCharacters" path="skills" />
            <IncludedGameTypes>
                <GameType value="Campaign" />
                <GameType value="CampaignStoryMode" />
            </IncludedGameTypes>
        </XmlNode>
    </Xmls>


skills.xml
XML:
<?xml version="1.0" encoding="utf-8"?>
<NPCCharacters>
</NPCCharacters>


skills.xslt
XML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!-- <xsl:output omit-xml-declaration="yes"/> -->
    <xsl:template match='NPCCharacter[@id="aserai_recruit"]/skills' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <skill id="Athletics" value="18" />
            <skill id="Riding" value="12" />
            <skill id="OneHanded" value="30" />
            <skill id="TwoHanded" value="10" />
            <skill id="Polearm" value="30" />
            <skill id="Bow" value="10" />
            <skill id="Crossbow" value="10" />
            <skill id="Throwing" value="10" />
        </xsl:copy>
    </xsl:template>
...
...
    <xsl:template match='NPCCharacter[@id="steppe_bandits_boss"]/skills' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <skill id="Athletics" value="80" />
            <skill id="Riding" value="100" />
            <skill id="OneHanded" value="80" />
            <skill id="TwoHanded" value="40" />
            <skill id="Polearm" value="140" />
            <skill id="Bow" value="160" />
            <skill id="Crossbow" value="20" />
            <skill id="Throwing" value="60" />
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>


equipment.xml
XML:
<?xml version="1.0" encoding="utf-8"?>
<NPCCharacters>
</NPCCharacters>


equipment.xslt

XML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!-- <xsl:output omit-xml-declaration="yes"/> -->
    <xsl:template match='NPCCharacter[@id="aserai_recruit"]/Equipments' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <EquipmentRoster>
                <equipment slot="Item0" id="Item.military_fork_pike_t3" />
                <equipment slot="Head" id="Item.aserai_civil_e_hscarf" />
                <equipment slot="Body" id="Item.aserai_civil_e" />
                <equipment slot="Leg" id="Item.eastern_leather_boots" />
            </EquipmentRoster>
            <EquipmentRoster>
                <equipment slot="Item0" id="Item.peasant_pickaxe_1_t1" />
                <equipment slot="Item1" id="Item.peasant_pitchfork_1_t1" />
                <equipment slot="Head" id="Item.aserai_civil_c_head" />
                <equipment slot="Body" id="Item.aserai_civil_c" />
                <equipment slot="Leg" id="Item.eastern_leather_boots" />
            </EquipmentRoster>
            <EquipmentSet id="aserai_troop_civilian_template_t1" civilian="true" />
        </xsl:copy>
    </xsl:template>
...
...
    <xsl:template match='NPCCharacter[@id="steppe_bandits_boss"]/Equipments' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <EquipmentRoster civilian="true">
                <equipment slot="Item0" id="Item.ridged_sabre_sword_t4" />
                <equipment slot="Body" id="Item.bandit_envelope_dress_v1" />
                <equipment slot="Leg" id="Item.wrapped_shoes" />
            </EquipmentRoster>
            <EquipmentRoster>
                <equipment slot="Item0" id="Item.khuzait_polearm_1_t4" />
                <equipment slot="Item1" id="Item.composite_steppe_bow" />
                <equipment slot="Item2" id="Item.default_arrows" />
                <equipment slot="Item3" id="Item.ridged_sabre_sword_t4" />
                <equipment slot="Head" id="Item.plumed_nomad_helmet" />
                <equipment slot="Body" id="Item.eastern_stitched_leather_coat" />
                <equipment slot="Leg" id="Item.eastern_leather_boots" />
                <equipment slot="Gloves" id="Item.guarded_padded_vambrace" />
                <equipment slot="Horse" id="Item.t2_khuzait_horse" />
                <equipment slot="HorseHarness" id="Item.light_harness" />
            </EquipmentRoster>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>
 
Last edited:
Upvote 0
Have looked through all the available resources and tried my best. Not sure what I'm missing. Hopefully you're willing to take a quick look below at my last attempt. Thanks again.


submodule.xml
XML:
<Xmls>
        <XmlNode>
            <XmlName id="NPCCharacters" path="equipment" />
            <IncludedGameTypes>
                <GameType value="Campaign" />
                <GameType value="CampaignStoryMode" />
            </IncludedGameTypes>
        </XmlNode>
     
        <XmlNode>
            <XmlName id="NPCCharacters" path="skills" />
            <IncludedGameTypes>
                <GameType value="Campaign" />
                <GameType value="CampaignStoryMode" />
            </IncludedGameTypes>
        </XmlNode>
    </Xmls>


skills.xml
XML:
<?xml version="1.0" encoding="utf-8"?>
<NPCCharacters>
</NPCCharacters>


skills.xslt
XML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!-- <xsl:output omit-xml-declaration="yes"/> -->
    <xsl:template match='NPCCharacter[@id="aserai_recruit"]/skills' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <skill id="Athletics" value="18" />
            <skill id="Riding" value="12" />
            <skill id="OneHanded" value="30" />
            <skill id="TwoHanded" value="10" />
            <skill id="Polearm" value="30" />
            <skill id="Bow" value="10" />
            <skill id="Crossbow" value="10" />
            <skill id="Throwing" value="10" />
        </xsl:copy>
    </xsl:template>
...
...
    <xsl:template match='NPCCharacter[@id="steppe_bandits_boss"]/skills' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <skill id="Athletics" value="80" />
            <skill id="Riding" value="100" />
            <skill id="OneHanded" value="80" />
            <skill id="TwoHanded" value="40" />
            <skill id="Polearm" value="140" />
            <skill id="Bow" value="160" />
            <skill id="Crossbow" value="20" />
            <skill id="Throwing" value="60" />
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>


equipment.xml
XML:
<?xml version="1.0" encoding="utf-8"?>
<NPCCharacters>
</NPCCharacters>


equipment.xslt

XML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!-- <xsl:output omit-xml-declaration="yes"/> -->
    <xsl:template match='NPCCharacter[@id="aserai_recruit"]/Equipments' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <EquipmentRoster>
                <equipment slot="Item0" id="Item.military_fork_pike_t3" />
                <equipment slot="Head" id="Item.aserai_civil_e_hscarf" />
                <equipment slot="Body" id="Item.aserai_civil_e" />
                <equipment slot="Leg" id="Item.eastern_leather_boots" />
            </EquipmentRoster>
            <EquipmentRoster>
                <equipment slot="Item0" id="Item.peasant_pickaxe_1_t1" />
                <equipment slot="Item1" id="Item.peasant_pitchfork_1_t1" />
                <equipment slot="Head" id="Item.aserai_civil_c_head" />
                <equipment slot="Body" id="Item.aserai_civil_c" />
                <equipment slot="Leg" id="Item.eastern_leather_boots" />
            </EquipmentRoster>
            <EquipmentSet id="aserai_troop_civilian_template_t1" civilian="true" />
        </xsl:copy>
    </xsl:template>
...
...
    <xsl:template match='NPCCharacter[@id="steppe_bandits_boss"]/Equipments' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <EquipmentRoster civilian="true">
                <equipment slot="Item0" id="Item.ridged_sabre_sword_t4" />
                <equipment slot="Body" id="Item.bandit_envelope_dress_v1" />
                <equipment slot="Leg" id="Item.wrapped_shoes" />
            </EquipmentRoster>
            <EquipmentRoster>
                <equipment slot="Item0" id="Item.khuzait_polearm_1_t4" />
                <equipment slot="Item1" id="Item.composite_steppe_bow" />
                <equipment slot="Item2" id="Item.default_arrows" />
                <equipment slot="Item3" id="Item.ridged_sabre_sword_t4" />
                <equipment slot="Head" id="Item.plumed_nomad_helmet" />
                <equipment slot="Body" id="Item.eastern_stitched_leather_coat" />
                <equipment slot="Leg" id="Item.eastern_leather_boots" />
                <equipment slot="Gloves" id="Item.guarded_padded_vambrace" />
                <equipment slot="Horse" id="Item.t2_khuzait_horse" />
                <equipment slot="HorseHarness" id="Item.light_harness" />
            </EquipmentRoster>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>
Did you try it? Did it work?

Btw, you don't need skills.xml and equipment.xml.
 
Upvote 0
I did try it. Attempting to start a new sandbox game results in unhandled exception:
Code:
TaleWorlds.MountAndBladeLauncher.exe (7144)
Exception: "System.InvalidOperationException"
Message: "Token StartElement in state and EndRootElement would result in an invalid XML document.
          Make sure that the ConformanceLevel setting is set to ConformanceLevel.Fragment or ConformanceLevel.Auto
          if you want to write an XML fragment."

I've spent a lot of time looking for nesting errors both by eye and with regex in my 'skills.xslt' file and have found nothing. (For now trying to get only one .xslt working at a time)

I would assume this has something to do with setting up an Identity Transform? Like the guy here answered which looks similar to the one in the Bannerlord docs. Whenever I try to use some variation of it in my .xslt though it results in:
Could not load merged xml file correctly: HeroesError: Object reference not set to an instance of an object.

I have tried using two Identity Transforms:

XML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <!-- <xsl:output omit-xml-declaration="yes"/> -->

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>
 
    <xsl:template match='NPCCharacter[@id="aserai_recruit"]/skills' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <skill id="Athletics" value="18" />
            <skill id="Riding" value="12" />
            <skill id="OneHanded" value="30" />
            <skill id="TwoHanded" value="10" />
            <skill id="Polearm" value="30" />
            <skill id="Bow" value="10" />
            <skill id="Crossbow" value="10" />
            <skill id="Throwing" value="10" />
        </xsl:copy>
    </xsl:template>
    ...
    ...Other troops...
    ...

</xsl:stylesheet>

XML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <!-- <xsl:output omit-xml-declaration="yes"/> -->

    <xsl:template match="/">
        <top>
            <xsl:apply-templates/>
        </top>
    </xsl:template>

    <xsl:template match='NPCCharacter[@id="aserai_recruit"]/skills' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <skill id="Athletics" value="18" />
            <skill id="Riding" value="12" />
            <skill id="OneHanded" value="30" />
            <skill id="TwoHanded" value="10" />
            <skill id="Polearm" value="30" />
            <skill id="Bow" value="10" />
            <skill id="Crossbow" value="10" />
            <skill id="Throwing" value="10" />
        </xsl:copy>
    </xsl:template>
    ...
    ...Other troops...
    ...

</xsl:stylesheet>

I have also tried combinations of that with uncommenting <xsl:output omit-xml-declaration="yes"/>.

Could my approach to the Identity Transform be wrong? It seems like the most likely culprit, but truthfully I just don't know.
 
Last edited:
Upvote 0
I did try it. Attempting to start a new sandbox game results in unhandled exception:
Code:
TaleWorlds.MountAndBladeLauncher.exe (7144)
Exception: "System.InvalidOperationException"
Message: "Token StartElement in state and EndRootElement would result in an invalid XML document.
          Make sure that the ConformanceLevel setting is set to ConformanceLevel.Fragment or ConformanceLevel.Auto
          if you want to write an XML fragment."

I've spent a lot of time looking for nesting errors both by eye and with regex in my 'skills.xslt' file and have found nothing. (For now trying to get only one .xslt working at a time)

I would assume this has something to do with setting up an Identity Transform? Like the guy here answered which looks similar to the one in the Bannerlord docs. Whenever I try to use some variation of it in my .xslt though it results in:
Could not load merged xml file correctly: HeroesError: Object reference not set to an instance of an object.

I have tried using two Identity Transforms:

XML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <!-- <xsl:output omit-xml-declaration="yes"/> -->

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>
 
    <xsl:template match='NPCCharacter[@id="aserai_recruit"]/skills' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <skill id="Athletics" value="18" />
            <skill id="Riding" value="12" />
            <skill id="OneHanded" value="30" />
            <skill id="TwoHanded" value="10" />
            <skill id="Polearm" value="30" />
            <skill id="Bow" value="10" />
            <skill id="Crossbow" value="10" />
            <skill id="Throwing" value="10" />
        </xsl:copy>
    </xsl:template>
    ...
    ...Other troops...
    ...

</xsl:stylesheet>

XML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <!-- <xsl:output omit-xml-declaration="yes"/> -->

    <xsl:template match="/">
        <top>
            <xsl:apply-templates/>
        </top>
    </xsl:template>

    <xsl:template match='NPCCharacter[@id="aserai_recruit"]/skills' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <skill id="Athletics" value="18" />
            <skill id="Riding" value="12" />
            <skill id="OneHanded" value="30" />
            <skill id="TwoHanded" value="10" />
            <skill id="Polearm" value="30" />
            <skill id="Bow" value="10" />
            <skill id="Crossbow" value="10" />
            <skill id="Throwing" value="10" />
        </xsl:copy>
    </xsl:template>
    ...
    ...Other troops...
    ...

</xsl:stylesheet>

I have also tried combinations of that with uncommenting <xsl:output omit-xml-declaration="yes"/>.

Could my approach to the Identity Transform be wrong? It seems like the most likely culprit, but truthfully I just don't know.
Test your xslt on the vanilla xml using this.
 
Upvote 0
What a beautiful little application. That tool along with some example code from this mod really pushed me into the final click of getting my mod working. Thank you order_without_power, I appreciate the help.
 
Upvote 0
For anyone else who might come across this, here is my final xslt result to replace entire troops.
I copied my original XML file over then used regex with find&replace in VSCode to change the format from XML to XSLT.
Thank you again @order_without_power
XML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
    <xsl:output omit-xml-declaration="yes"/>
 
    <!--Identity Transform -->
    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match='NPCCharacter[@id="aserai_recruit"]' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <face>
                <face_key_template value="BodyProperty.fighter_aserai" />
            </face>
            <skills>
                <skill id="Athletics" value="18" />
                <skill id="Riding" value="12" />
                <skill id="OneHanded" value="30" />
                <skill id="TwoHanded" value="10" />
                <skill id="Polearm" value="30" />
                <skill id="Bow" value="10" />
                <skill id="Crossbow" value="10" />
                <skill id="Throwing" value="10" />
            </skills>
            <upgrade_targets>
                <upgrade_target id="NPCCharacter.aserai_tribesman" />
                <upgrade_target id="NPCCharacter.aserai_mameluke_soldier" />
            </upgrade_targets>
            <Equipments>
                <EquipmentRoster>
                    <equipment slot="Item0" id="Item.military_fork_pike_t3" />
                    <equipment slot="Head" id="Item.aserai_civil_e_hscarf" />
                    <equipment slot="Body" id="Item.aserai_civil_e" />
                    <equipment slot="Leg" id="Item.eastern_leather_boots" />
                </EquipmentRoster>
                <EquipmentRoster>
                    <equipment slot="Item0" id="Item.peasant_pickaxe_1_t1" />
                    <equipment slot="Item1" id="Item.peasant_pitchfork_1_t1" />
                    <equipment slot="Head" id="Item.aserai_civil_c_head" />
                    <equipment slot="Body" id="Item.aserai_civil_c" />
                    <equipment slot="Leg" id="Item.eastern_leather_boots" />
                </EquipmentRoster>
                <EquipmentSet id="aserai_troop_civilian_template_t1" civilian="true" />
            </Equipments>
        </xsl:copy>
    </xsl:template>
 
    <xsl:template match='NPCCharacter[@id="aserai_tribesman"]' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <face>
                <face_key_template value="BodyProperty.fighter_aserai" />
            </face>
            <skills>
                <skill id="Athletics" value="37" />
                <skill id="Riding" value="28" />
                <skill id="OneHanded" value="70" />
                <skill id="TwoHanded" value="20" />
                <skill id="Polearm" value="40" />
                <skill id="Bow" value="20" />
                <skill id="Crossbow" value="20" />
                <skill id="Throwing" value="20" />
            </skills>
            <upgrade_targets>
                <upgrade_target id="NPCCharacter.aserai_skirmisher" />
                <upgrade_target id="NPCCharacter.aserai_footman" />
            </upgrade_targets>
            <Equipments>
                <EquipmentRoster>
                    <equipment slot="Item0" id="Item.eastern_spear_1_t2" />
                    <equipment slot="Item1" id="Item.desert_round_shield" />
                    <equipment slot="Item2" id="Item.aserai_sword_1_t2" />
                    <equipment slot="Head" id="Item.desert_helmet" />
                    <equipment slot="Body" id="Item.desert_padded_cloth" />
                    <equipment slot="Leg" id="Item.eastern_leather_boots" />
                    <equipment slot="Gloves" id="Item.buttoned_leather_bracers" />
                    <equipment slot="Cape" id="Item.stitched_leather_shoulders" />
                </EquipmentRoster>
                <EquipmentRoster>
                    <equipment slot="Item0" id="Item.eastern_spear_1_t2" />
                    <equipment slot="Item1" id="Item.desert_round_shield" />
                    <equipment slot="Item2" id="Item.aserai_mace_1_t2" />
                    <equipment slot="Head" id="Item.desert_helmet" />
                    <equipment slot="Body" id="Item.desert_padded_cloth" />
                    <equipment slot="Leg" id="Item.eastern_leather_boots" />
                    <equipment slot="Gloves" id="Item.rough_tied_bracers" />
                    <equipment slot="Cape" id="Item.stitched_leather_shoulders" />
                </EquipmentRoster>
                <EquipmentSet id="aserai_troop_civilian_template_t1" civilian="true" />
            </Equipments>
        </xsl:copy>
    </xsl:template>

</xsl:stylesheet>
 
Last edited:
Upvote 0
Solution
For anyone else who might come across this, here is my final xslt result to replace entire troops.
I copied my original XML file over then used regex with find&replace in VSCode to change the format from XML to XSLT.
Thank you again @order_without_power
XML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
    <xsl:output omit-xml-declaration="yes"/>
 
    <!--Identity Transform -->
    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match='NPCCharacter[@id="aserai_recruit"]' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <face>
                <face_key_template value="BodyProperty.fighter_aserai" />
            </face>
            <skills>
                <skill id="Athletics" value="18" />
                <skill id="Riding" value="12" />
                <skill id="OneHanded" value="30" />
                <skill id="TwoHanded" value="10" />
                <skill id="Polearm" value="30" />
                <skill id="Bow" value="10" />
                <skill id="Crossbow" value="10" />
                <skill id="Throwing" value="10" />
            </skills>
            <upgrade_targets>
                <upgrade_target id="NPCCharacter.aserai_tribesman" />
                <upgrade_target id="NPCCharacter.aserai_mameluke_soldier" />
            </upgrade_targets>
            <Equipments>
                <EquipmentRoster>
                    <equipment slot="Item0" id="Item.military_fork_pike_t3" />
                    <equipment slot="Head" id="Item.aserai_civil_e_hscarf" />
                    <equipment slot="Body" id="Item.aserai_civil_e" />
                    <equipment slot="Leg" id="Item.eastern_leather_boots" />
                </EquipmentRoster>
                <EquipmentRoster>
                    <equipment slot="Item0" id="Item.peasant_pickaxe_1_t1" />
                    <equipment slot="Item1" id="Item.peasant_pitchfork_1_t1" />
                    <equipment slot="Head" id="Item.aserai_civil_c_head" />
                    <equipment slot="Body" id="Item.aserai_civil_c" />
                    <equipment slot="Leg" id="Item.eastern_leather_boots" />
                </EquipmentRoster>
                <EquipmentSet id="aserai_troop_civilian_template_t1" civilian="true" />
            </Equipments>
        </xsl:copy>
    </xsl:template>
 
    <xsl:template match='NPCCharacter[@id="aserai_tribesman"]' >
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <face>
                <face_key_template value="BodyProperty.fighter_aserai" />
            </face>
            <skills>
                <skill id="Athletics" value="37" />
                <skill id="Riding" value="28" />
                <skill id="OneHanded" value="70" />
                <skill id="TwoHanded" value="20" />
                <skill id="Polearm" value="40" />
                <skill id="Bow" value="20" />
                <skill id="Crossbow" value="20" />
                <skill id="Throwing" value="20" />
            </skills>
            <upgrade_targets>
                <upgrade_target id="NPCCharacter.aserai_skirmisher" />
                <upgrade_target id="NPCCharacter.aserai_footman" />
            </upgrade_targets>
            <Equipments>
                <EquipmentRoster>
                    <equipment slot="Item0" id="Item.eastern_spear_1_t2" />
                    <equipment slot="Item1" id="Item.desert_round_shield" />
                    <equipment slot="Item2" id="Item.aserai_sword_1_t2" />
                    <equipment slot="Head" id="Item.desert_helmet" />
                    <equipment slot="Body" id="Item.desert_padded_cloth" />
                    <equipment slot="Leg" id="Item.eastern_leather_boots" />
                    <equipment slot="Gloves" id="Item.buttoned_leather_bracers" />
                    <equipment slot="Cape" id="Item.stitched_leather_shoulders" />
                </EquipmentRoster>
                <EquipmentRoster>
                    <equipment slot="Item0" id="Item.eastern_spear_1_t2" />
                    <equipment slot="Item1" id="Item.desert_round_shield" />
                    <equipment slot="Item2" id="Item.aserai_mace_1_t2" />
                    <equipment slot="Head" id="Item.desert_helmet" />
                    <equipment slot="Body" id="Item.desert_padded_cloth" />
                    <equipment slot="Leg" id="Item.eastern_leather_boots" />
                    <equipment slot="Gloves" id="Item.rough_tied_bracers" />
                    <equipment slot="Cape" id="Item.stitched_leather_shoulders" />
                </EquipmentRoster>
                <EquipmentSet id="aserai_troop_civilian_template_t1" civilian="true" />
            </Equipments>
        </xsl:copy>
    </xsl:template>

</xsl:stylesheet>
Glad to know that it worked!
 
Upvote 0
Back
Top Bottom