[All Games] Fixing conversation boxes for characters not in the herostat

Started by Enchlore, April 06, 2020, 06:23PM

Previous topic - Next topic
You know how in certain points in XML2 and MUA1 you run into NPCs that are also playable characters, but when you replace them in the herostat the dialogue box gets buggy? Like for example, if you take Spider-Man out of your roster his dialogue box in Stark Tower will just have %SPIDERMAN%: in front of his dialogue without displaying his name at the top or his HUD head. There's a simple (you'll see how this is a pun) solution for that.

First check your npcstat to see what's the NPC equivalent to the character you don't have around in your herostat. If it's a hub NPC, chances are it will be named [character]Simple (i.e. BlackPantherSimple, DeadpoolSimple etc), but some, like Nick Fury in MUA1 and Deadpool in XML2 (as a boss in New York) have different names (Nick Fury is NickFury_NPC and Deadpool is DeadPool_Boss for example).

Go to the conversation files featuring these characters. A quick look in the scripts folder is useful to check on the filenames so you don't need to go through the conversations one by one. When you have the conversation open in XMLBcui, replace every instance of the character's name with their NPC name.

Example:
This is an excerpt from a Daredevil conversation at the Sanctum Sanctorum.
      participant {
      name = default ;
         line {
         notalkanim = true ;
         soundtoplay = voice/daredevil/2_strange2_060_010_dd ;
         text = %DAREDEVIL%: Hello. How are you? ;
            response {
            tagjump = autogen_tag_1 ;
            text = %BLANK% ;
            }

See how it says %DAREDEVIL% in there? That makes the game load data from the herostat. But if Daredevil's not in your herostat, the game will just show the text as purely "%DAREDEVIL%: Hello. How are you?" without a proper name in the header or a portrait. The name and HUD are still in the level package though, as part of the DaredevilSimple NPC, so if you replace every instance of %DAREDEVIL% with %DAREDEVILSIMPLE% in the conversation, the dialogue box will have the name Daredevil properly displayed like in every character and his HUD head.
I'm a modder from Brazil. Check out my mods!

Thanks a lot for the tip, Enchlore!
I'll definitely have to do this with a few offical characters I've replaced.
My released mods: http://bit.ly/39aogu6
My released skins: https://bit.ly/3i4Tdoy
My released huds and loading screens: http://bit.ly/2LPMnWi
My ongoing projects: http://bit.ly/3anXT3s