So, I was having difficulties with modding mpclassdivisions.xml since 1.8.0 and now I found the reason of the crash.
<ConditionalEffect> has an XML merge issue and if you have mpclassdivisions.xml with perks that haves <ConditionalEffect> </ConditionalEffect> in a different module for your mod, the game gives you this warning on loading, and the game crashes.
if you delete every <ConditionalEffect> </ConditionalEffect> in perks located in mpclassdivisions.xml. Game merges xmls correctly and you can enjoy the game without passive perks. Tough that creates balance issues and needs to be fixed. I don't want to change mpclassdivisions.xml in Native to mod multiplayer.
---
How to reproduce:
-Copy original mpclassdivisions.xml from Native ModuleData
-Paste mpclassdivisions.xml to Different multiplayer module
-add this simple xlst file to your module called mpclassdivisions.xslt
-add a reference for the mpclassdivisions.xml to the mods submodule
-Run your game. And you will see the error.
how to run your mod with modified mpclassdivisions.xml :
- delete every <ConditionalEffect> </ConditionalEffect> inside mpclassdivisions.xml
run your game and you are inside the game without issues with your modified mpclassdivisions.xml
<ConditionalEffect> has an XML merge issue and if you have mpclassdivisions.xml with perks that haves <ConditionalEffect> </ConditionalEffect> in a different module for your mod, the game gives you this warning on loading, and the game crashes.
if you delete every <ConditionalEffect> </ConditionalEffect> in perks located in mpclassdivisions.xml. Game merges xmls correctly and you can enjoy the game without passive perks. Tough that creates balance issues and needs to be fixed. I don't want to change mpclassdivisions.xml in Native to mod multiplayer.
---
How to reproduce:
-Copy original mpclassdivisions.xml from Native ModuleData
-Paste mpclassdivisions.xml to Different multiplayer module
-add this simple xlst file to your module called mpclassdivisions.xslt
Code:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="MPClassDivision"/>
</xsl:stylesheet>
-Run your game. And you will see the error.
how to run your mod with modified mpclassdivisions.xml :
- delete every <ConditionalEffect> </ConditionalEffect> inside mpclassdivisions.xml
run your game and you are inside the game without issues with your modified mpclassdivisions.xml
Last edited: