ENDLESS™ Space 2

ENDLESS™ Space 2

Explore the secrets of the Endless Universe
Discover the world of modding in Endless Space 2. Download an asset from this workshop (map, gameplay addition, etc.)
Only 1 Modded Hero?
The mod editor tool I found on Steam seems decent at creating modded heroes with a template, and while it has no "Open" feature to tweak those already created, the main problem is that I made 2 separate ones, and both mods load correctly. Both were keyed in for the same faction, and while the first one will reliably spawn at turn 1 (the very beginning of a new game), the second modded hero is nowhere to be found!

Is that a bug or a game-balancing feature? And in either case, how do I overcome that limitation?
< >
Showing 1-15 of 16 comments
When it generates the quest that spawns them it gives them the same id/name, so when it loads them it will overwrite them with the most recently-loaded one. Just give the quest a different ID, and make sure that anything within the same file that references that ID is given a new name to match.
Good start, and thank you for helping me learn Modding 101. But the answer leaves me with more questions:

What quest? Where do I find the Hero or Quest ID? Is it something in the Hero files? What specific file directory do I need to look under? (Because ESP Hero Designer has no "open" feature and is relatively barebones, the rest of the work I have to use Notepad++ for, for lack of better tools.)

(It's also interesting there's a variable that reads Custom="true" which may have something to do with freezing achievements...and that's fair, since I am aware starting with additional hero(es) gives an unfair advantage.)

And maybe this is not relevant, but is there a way for a hero to use a bigger ship? Doesn't have to be a Juggernaut (but that would be super sweet), just something aside from the default "small" classes.
Last edited by The Golden Knight; 29 May @ 12:22am
There should be a file with QuestDefinitions.xml in the name, find that. In that file, you'll see a line that contains something along the lines of:
<QuestDefinition Name="blah blah blah" ....>

The quest definition's name is the ID you're looking for.

Freezing achievements is done based off of the plugin's the mod uses, as far as I can tell. Plugins used to load quests will disable achievements when used, if you want mods to not disable achievements, I made a mod that lets you do that.

https://github.com/captaincobbs/ES2-Achievement-Enabler

Every hero has a definition in a herodefinitions.xml file, from there they reference a ship id, you can change that ID to anything you want, if you want an example of how to do this then look at the arkon mods on the workshop.
I've found "QuestDefinitions" under Steam's "common" folder, but all the different xml files are organized by faction. And the one I know for certain to always spawn is Dmitri Lenko, which the Wiki identifies as "HeroTerrans04" (neither Dmitri nor HeroTerrans04 show up in QuestDefinitions[UE] so it must be called elsewhere - plus it's not found in QuestDefinitions.xsd either). Why is Dmitri so important? Frame-of-reference, so I can compare what he and the first custom hero have in common for why they can be safely summoned but not any others.

So, where in these files are the two of them?

QuestDefinitions[UE].xml looks to be concerned with the main faction-specific story, and no correlation on how to spawn the hero on Turn 1 (or Turn 0). There's a "Prequel", "Chapter 0", and "Wait" quest mentioned. But I still feel like I'm looking in the wrong place for where the initial hero summoning occurs.

As far as changing the ship goes, looking into the HeroDefinitions.xml file for the mod-added hero, I see a line that says
<ShipDesign Name="ShipDesignHeroSmall01Attacker" />
Indicating I need to learn whatever that ShipDesign name is of, for example, a Zolya/Patrol vessel or Zelevas/Carrier ship.
Last edited by The Golden Knight; 29 May @ 7:25am
Sorry, I meant QuestDefinitions when referring to the mod. To find the mod files, go to the mod page, in the url there will be a number, that number is the mod's ID. Look under Steam/steammapps/workshop/content/392110
My workshop folder is empty, unless you mean to upload-then-download what I created just to see how it works.
ahh okay, then whereever you put your locally installed mods.
I tried the publishing on Workshop, and the downloaded folder has exactly the same contents as the local version (which is under Documents/Endless Space 2/Community/). There is no QuestDefinition file inside that mod folder.

And I even uploaded my "placeholder" so you can take a look:
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3489708762

So now I know what the mod's id is: 3489708762
So where is QuestDefinitions.xml?
And where is 3489708762 referenced?
It'll be the name of the folder in Steam/steammapps/workshop/content/392110, I assume your mod has a QuestDefinition to award the hero, if not, you could make it a faction trait.
Originally posted by Captain Cobbs:
It'll be the name of the folder in Steam/steammapps/workshop/content/392110, I assume your mod has a QuestDefinition to award the hero, if not, you could make it a faction trait.

Negative, no QuestDefinition appearing after Ctrl-F across Steam/steammapps/workshop/content/392110

Maybe that's a problem with the "ES2 Hero Designer" I found at
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1648645386
https://github.com/CallyyllaC/ES2-Hero-Designer/tree/master

All I got to work with aside from that is Notepad++ and a relatively elementary understanding of computer science. :xerxes:

So does this mean I need to create the QuestDefinition file from scratch? I mean that could explain why only one gets loaded up, since they all share the same [null] value of identification. :P

Faction trait sounds like a whole other offshoot to this modding project...very cool, I really enjoy the traits, and I can see having some 70 point busted "team of heroes" mod trait to add where the player faction does start with extra heroes.
Last edited by The Golden Knight; 29 May @ 7:52am
Just checked the mod, I see the issue. Instead of using a quest to award the hero, it's having a similar issue but instead adding it as an effect to the UE gameplay affinity. If you go to Simulation/FactionTraits.xml, you'll see a line that says:
<Command Name="RecruitHero" Arguments="HeroTerrans04"/>

Duplicate that line as many times as you want, but replace HeroTerrans04 with the ID of whatever hero you want to start with.

Awarding it via an invisible quest would probably be easier and prevent conflicts, but that's.. complicated and time consuming lol.
Last edited by Captain Cobbs; 29 May @ 8:00am
:O

In all seriousness, "HeroTerrans04" was the name of Dmitri, the guy who is guaranteed to always spawn at Turn 1. The mod hero does not interrupt Dmitri from spawning, so because they are both addressed as "HeroTerrans04", I don't get it. (But that sounds like the mod piggybacks off of the spawning of Dmitri and for some reason we can't do the same with more than one custom hero. I can see the aim: there's already an implemented solution for guaranteed turn-1 spawning, so just replicate that.) The faction affinity was because the hero was meant specifically to spawn as Terrans (or United Empire as it's called in-game, but to dispel the confusion of file naming, both terms are synonyms: Terran = UE).

This leads me to a more interesting question: sounds like all of this could be solved by creating a list of custom hero names ( something like <Command Name="RecruitHero" Arguments="HeroCustom01"/> ), so where and how do I get the game to acknowledge that?

How do I change the name or ID of the custom hero?

And aside from in this mod, where else is <CommandName="RecruitHero" Arguments="HeroTerrans04"> called upon?

"Complicated and time consuming" is not what I want to hear, but I believe you. Would be even cooler to have a more "visible" quest (like the Photobomber), but I do not have the chops or the friends to even attempt something so sweet. Otherwise, I have no shortage of ideas I can mastermind in my noggin! :cta_emo7:
in HeroDefinitions, change the name of the HeroDefinition.xml, there will also be a gui element with the same name you need to have matching names with the hero definitions
I FIGURED IT OUT!

I got the mods intertwined. I updated them to give you an example of their synergy (so it may crash if you download one without the other, I don't know what would happen).

https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3489708762
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3489780227
(Link deleted, see next comment)

Creating them both in the designer/edit tool, and under the 2 mods FactionTraits.xml file
<Command Name="RecruitHero" Arguments="EmpressScarlet" /><Command Name="RecruitHero" Arguments="HeroTeam" /><Command Name="RecruitHero" Arguments="HeroTerrans04" />

<Command Name="RecruitHero" Arguments="HeroTeam" /><Command Name="RecruitHero" Arguments="EmpressScarlet" /><Command Name="RecruitHero" Arguments="HeroTerrans04" />

Meaning, we can chain these commands up with as many crazy awesome heroes as I please! I only wish this could've been spelled out to me a couple days ago.

As a bonus "beside the point", the game crashes if under the custom hero's HeroDefinition.xml you make the ship:
<ShipDesign Name="HullLarge00Terrans" /> )
(Still not sure if other Terran designs or generic designs would make the game crash, more testing required - part of the fun of modding is figuring out how all this stuff works).

Trouble is, it's not clearly labeled within the files which skills work as admiral, which work as governor, and which work as senate. That mystery can be brute-forced with good old-fashioned trial-and-error.
Last edited by The Golden Knight; 29 May @ 3:21pm
I spent an unreasonable amount of time improving Empress Scarlet! I really want her to be "the perfect human", and since the upload button in-game doesn't update the version I already pushed live, I created a whole separate link and deleted the old one. Here's the new and improved Empress Scarlet!

https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3489934865
< >
Showing 1-15 of 16 comments
Per page: 1530 50