Additive string mods can´t edit dialogue portraits

:arrow_forward: GAME INFORMATION

  • GAME BUILD #: 100.14.7908.0
  • GAME PLATFORM: Steam
  • OPERATING SYSTEM: Windows 10

:arrow_forward: ISSUE EXPERIENCED

Using additive mod files (stringmods.xml) has no effect on dialogue portraits or names. The only way to make a change have an effect is by using the whole stringtabley.xml file.

:arrow_forward: FREQUENCY OF ISSUE

  • 100% of the time / matches I play (ALWAYS)

:arrow_forward: REPRODUCTION STEPS

Here’s the steps to reproduce the issue:

  1. First, I made a test to make the dialogue icons match the flashing units during in Story Mode. The ones in the current version are mostly inaccurate, with Skirmisher and Crossbowman icons being used for the vast majority of Soldier dialogue.

As this was a test, I only put 3 modified instances of dialogue in stringmods.xml:

<stringmods>
   <stringTable>
      <Language name="English">
	     <string _locid="27219" gamecharacter="Sailor" soundfilename="GENR5030" portraitfilename="resources\art\units\infantry_ranged\crossbow\crossbow_portrait.png">Thanks to that pirate, we'll need some new ships.</string>
         <string _locid="26854" gamecharacter="Second Sailor" soundfilename="GENR0005" portraitfilename="resources\art\units\mercenaries\highlander\highlander_portrait.png">A ship! Filled to the gunwales with explosives. It came out of nowhere.</string>
		 <string _locid="35395" gamecharacter="Soldier" soundfilename="GENR2005" portraitfilename="resources\art\units\mercenaries\swiss_pikeman\swiss_pikeman_portrait.png">Sir, we are under attack from the east! We can't hold out much longer.</string>
      </Language>
   </stringTable>
</stringmods>

This is the result.


The icon remains as that of a Crossbowman, even though a Swiss Pikeman unit is flashing as it plays. No change from the original.

  1. Next, I tried making the same change in another language’s folder without translating it, to see if the mod had any effect at all. This time I tried it in Spanish, so that any text that appeared in English would be shown as coming from the additive file.
stringmods>
   <stringTable>
      <Language name="Spanish">
	     <string _locid="27219" gamecharacter="Sailor" soundfilename="GENR5030" portraitfilename="resources\art\units\infantry_ranged\crossbow\crossbow_portrait.png">Thanks to that pirate, we'll need some new ships.</string>
         <string _locid="26854" gamecharacter="Second Sailor" soundfilename="GENR0005" portraitfilename="resources\art\units\mercenaries\highlander\highlander_portrait.png">A ship! Filled to the gunwales with explosives. It came out of nowhere.</string>
		 <string _locid="35395" gamecharacter="Soldier" soundfilename="GENR2005" portraitfilename="resources\art\units\mercenaries\swiss_pikeman\swiss_pikeman_portrait.png">Sir, we are under attack from the east! We can't hold out much longer.</string>
      </Language>
   </stringTable>
</stringmods>

This is the result:

Only the message appears to have been changed at all.
This leads me to believe that gamecharacter and portraitfilename are not affected by the additive modding. I’m not sure about soundfilename since I haven’t tested it yet but I expect it to also be the case.

  1. Finally, I tried doing it the old fashioned way by making a copy of stringtabley.xml, doing the previously shown changes there, and putting it in my mod folder instead of stringmods.xml.

I finally obtained the expected result (see below)

:arrow_forward: EXPECTED RESULT


The Play Dialogue trigger indicates that a Swiss Pikeman is flashing during the dialogue, so that’s what the portrait should reflect.

There are two ways this issue can be dealt with:

  1. Review the ingame dialogue in stringtalbey.xml so that it reflects the contents in the scenario’s triggers. As it currently stands, only named characters have semi-accurate portraits assigned to their dialogue (there are still instances where they don’t). This would require playtesting almost every Story Mode scenario.

  2. Increase the additive string mods’ capabilities.

Ideally, both approaches should be carried out.

2 Likes

Hey, I’m necroing your post because you made a well detailed explanation of the current issue and I can add some information.

I’m trying to add new dialogues for a scenario and the only proper way to do it is to create a string mod.

I can get the dialogue to work, but I get no unit portrait even when recycling the code from a dialogue from the campaign (that works when its stringid is imputed) and only changing the subtitles

The code I’m using is:

<string _locid="500000" gamecharacter="Bolivar" soundfilename="BOLI0005" portraitfilename="resources\art\units\spc\bolivar\bolivar_igc_icon.png">The Royalists will have to divert some of their forces to engage you and release the pressure of the main collumn.</string>