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.)
Kierk 1 16 Sep, 2019 @ 2:05am
Various tweaks
Just wanted to share some of the tweaks I often use in my games. I regrouped them by file order. Happy modding!

Note that editing the game files directly instead of going through mods will prevent you from playing in multiplayer until you re-download the original files ("Verify integrity of game files" in Steam).

---

I- No population rewards from curiosities
II- Maximum cost to pirate diplomatic actions
III- Disable minor factions' assimilate action
IV- Cheaper ships/improvements buyout/retrofit
V- No infinite improvements
VI- Increase over-colonization threshold
VII- Disable hacking (untested)
VIII- Slower research
IX- Balanced automation
X- Force unique planets/minor factions into the game
XIII- Usable/editable pirate and named ships

XI- Change starting hero's affinities/skills/flagship and government
XII- Adding heroes as quest rewards

---

I- No population rewards from curiosities

Simply removes all minor factions pops you can found when searching curiosities. Good when roleplaying a xenophobic empire.

In "Public\Simulation\CuriosityDroplists.xml", delete all "Population Affinity" lines, like those ones:
<!-- POPULATION : 20 --> <Population Affinity="AffinityNiris" Amount="1" Weight="5"/> <!--Weak--> <Population Affinity="AffinityHaroshems" Amount="1" Weight="5"/> <!--Weak--> <Population Affinity="AffinityAmoeba" Amount="1" Weight="5"/> <!--Regular--> <Population Affinity="AffinityTikanans" Amount="1" Weight="5"/> <!--Regular-->
// 20% chance to find pop on curiosity (5% Niris, 5% Haroshems, 5% Amoeba and 5% Tikanans).

II- Maximum cost to pirate diplomatic actions

Add a maximum amount of Dust needed to deal with pirates like buying marks or just supporting them.

In "Public\Simulation\EntityActions[Pirate].xml", change all four "Custom Cost" lines to:
<!-- Support Pirates --> <CustomCost ResourceName="EmpireMoney" Instant="true">Min(750,(100 * (1 + (0.1 * Property(PirateEmpire,@'ClassEmpire,EmpireTypePirate',SupportPirateActionCount))) * Property(StockLocation,@ClassEmpire,DiplomacyCostReduction) * Property(StockLocation,@ClassEmpire,PirateDiplomacyCostMultiplier)))</CustomCost> ... <!-- Sabotage Reinforcements --> <CustomCost ResourceName="EmpireEmpirePoint" Instant="true">Min(750,((100 * (1 + (0.2 * Property(PirateEmpire,@'ClassEmpire,EmpireTypePirate',SabotagePirateActionCount)))* Property(StockLocation,@ClassEmpire,DiplomacyCostReduction) * Property(StockLocation,@ClassEmpire,PirateDiplomacyCostMultiplier))))</CustomCost> ... <!-- Buy Mark --> <CustomCost ResourceName="EmpireMoney" Instant="true">Min(1500,((250 * (1 + (0.3 * Property(PirateEmpire,@'ClassEmpire,EmpireTypePirate',BuyMarkPirateActionCount)))) * Property(StockLocation,@ClassEmpire,DustInflation) * Property(StockLocation,@ClassEmpire,PirateDiplomacyCostMultiplier)))</CustomCost> ... <!-- Non Aggression Pact --> <CustomCost ResourceName="EmpireEmpirePoint" Instant="true">Min(1500,(200 + (100*Property(Context,@'ClassEmpire,EmpireTypeMajor',SystemCount))* Property(StockLocation,@ClassEmpire,DiplomacyCostReduction) * Property(StockLocation,@ClassEmpire,PirateDiplomacyCostMultiplier)))</CustomCost>
// buying support now cost 750 Dust maximum / buying a mark on a random enemy system cost a maximum of 1500 Dust (MIN function choose lowest value between 1500 and whatever the cost was supposed to be originally.

III- Disable minor factions' assimilate action

Because the AI tends to assimilate all minor factions as soon as possible and rarely bother declaring war, leaving you with new neighbors before you can say "assimilation".

In "Public\Simulation\EntityActions[Minor].xml", you can change that by adding a fake tech prerequisite to any action you don't want the AI/player to use:
<!-- Assimilate --> <AssimilateEmpireAction Name="AssimilateEmpireAction"> <CustomCost ResourceName="EmpireEmpirePoint" Instant="true">Property(StockLocation,@ClassEmpire,DiplomacyCostReduction) * 100 * Property(StockLocation,@ClassEmpire,PeacefulTreatyCostReduction) * Max(Property(StockLocation,@ClassEmpire,SystemCount), 1)</CustomCost> ... <TechnologyPrerequisite Flags="Technology" UnlockHidden="true">false</TechnologyPrerequisite> ... </AssimilateEmpireAction>
// fake tech prerequisite to remove the possibility to assimilate with Influence. The AI/player will have to find another way, either by force or by asking for a quest.

IV- Cheaper ships/improvements buyout/retrofit

Self-explanatory. Buying improvements is only cheap late in the game when Dust has barely any value.

In "Public\Simulation\ResourceConverterDefinitions.xml" you can edit the formula used to calculate the cost to buyout or repair ships/improvements with Dust:
<ResourceConverterDefinition ResourceName="SystemProduction"> <ToConverter To="Buyout"> <!-- (x -> money) ^ 1.2 --> <InterpreterModifier>($(Input))/2</InterpreterModifier> </ToConverter> <ToConverter To="Retrofit"> <InterpreterModifier>(($(Input)) * Property(StockLocation,@../ClassEmpire, GameSpeedMultiplier) * Property(StockLocation, @../ClassEmpire, DustInflation))/2</InterpreterModifier> </ToConverter>
// halved the buyout/retrofit cost by simply adding "(...)/2" to the whole formula.

You can also do this any of the other formulas but that's the two most important ones (couldn't find the formula used for the repair cost).

V- No infinite improvements

Converting your Industry to Dust/Science is cool and all, but the AI abuse this by doing it in all his systems at once to get gazillions of Dust/Science without any effort whatsoever.

In "Public\Simulation\ConstructibleElement_Industry[StarSystemImprovement].xml", you can find the most important ones (Science/Dust). Search for "IndustryConverter" and change the tech prerequisite to "false":
<!--INFINITE --> <StarSystemImprovementDefinition Name="StarSystemImprovementIndustryToScience" SubCategory="SubCategoryInfiniteScience" > <AIGain RessourceName="ResourceConverter"> <Tag>IndustryConverter</Tag> </AIGain> <AIGain RessourceName="ScienceGain"/> <SupervisorGain Name="Science" /> <Tags>NoBuyout</Tags> ... <TechnologyPrerequisite Flags="Prerequisite,Discard,Technology">false</TechnologyPrerequisite> <SimulationDescriptorReference Name="StarSystemImprovementIndustryToScience"/> <NextUpgradeName>StarSystemImprovementIndustryToScience2</NextUpgradeName> </StarSystemImprovementDefinition>
// fake tech prerequisite; the improvement can't be added to the building queue without that tech and since it doesn't exist...

VI- Increase over-colonization threshold

Self-explanatory. In "Public\Simulation\SimulationDescriptors[Empire].xml", you can change the over-colonization threshold base value:
<Property Name="OverColonizationThreshold" BaseValue="5" RoundingFunction="Floor"/> <Property Name="OverColonizationThresholdHissho" BaseValue="5" RoundingFunction="Floor"/>
// base value is 5 instead of 0, meaning you can colonize five more systems before reaching the limit. The Hissho have a separate value so make sure to change both.

The threshold can be changed for each galaxy size independently by changing the OverColonizationThreshold under "Galaxy info" instead. By default, the bigger the galaxy is, the more systems you can hold.

VII- Disable hacking (untested)

Haven't the occasion to play the latest dlc yet, but I already know how having to deal with hacked systems and cloaked units would be annoying. A simple way to disable it indirectly is to remove all the bandwidth of the AI and player alike.

In "Public\Simulation\SimulationDescriptors[GameDifficulty].xml", you can find all the AI/player modifiers on each difficulty. By default, the AI gets +40 Bandwidth (called Processing Power) on Endless. Simply change/add this modifier to the difficulty you usually play at:
<Modifier TargetProperty="MaximumEmpireProcessingPowerStock" Operation="Multiplication" Value="0" Path="ClassEmpire" Priority="100"/>
// by multiplying by 0, the Max Bandwidth will always be equal to 0 (basic maths).

Do this with both the AI ("GameDifficultyAI...") and player ("GameDifficultyHuman..."). I'm not sure if minor factions and pirates can hack you too but you can also add the new modifier to them to be sure.

If you don't want the Umbral Choir to be affected by this and want them to be the only faction with any hacking ability, you can change the path to:
"Path="ClassEmpire,!AffinityUmbralChoir"
// affects all empires EXCEPT(!) Umbral Choir (both major and custom Umbral).

VIII- Slower research

Oddly enough, the game speed doesn't affect research that much and it always feels like you reach the last tier tech way too fast.

This can easily be changed in "Public\Simulation\SimulationDescriptors[Research].xml":
<Property Name="TechnologyCostStage1Multiplier" BaseValue="1.5"/> <Property Name="TechnologyCostStage2Multiplier" BaseValue="2.4"/> <Property Name="TechnologyCostStage3Multiplier" BaseValue="9"/> <Property Name="TechnologyCostStage4Multiplier" BaseValue="24"/> <Property Name="TechnologyCostStage5Multiplier" BaseValue="60"/> <Property Name="TechnologyCostStage6Multiplier" BaseValue="60"/>
// each tier requires about 20% more tech points than normal. More than that and research will be too slow to reach last tier by the end of the game (unless you change the victory conditions too).

IX- Balanced automation

By default, the AI can only be asked to build a certain type of improvements while the other AI factions have no problem making all types of improvements.

In "Public\Simulation\SystemSupervisorDefinitions.xml", you can for example edit the Influence automation into a more balanced one so the AI can build all types of improvements and in the desired order:
<!-- INFLUENCE --> <SystemSupervisorDefinition Name="SystemSupervisorInfluence"> <Policy CanQueueConstructions="true" CanMovePopulations="true"/> <Gains> <Gain Name="Food" Weight="0.6"/> <Gain Name="Approval" Weight="0.1"/> <Gain Name="Industry" Weight="0.7"/> <Gain Name="Dust" Weight="0.5"/> <Gain Name="Science" Weight="0.5"/> <Gain Name="Prestige" Weight="0.4"/> <Gain Name="Military" Weight="0.2"/> <Gain Name="Planetary" Weight="-10000"/> </Gains> </SystemSupervisorDefinition>
// Influence automation now allows to build any type of improvements, giving priority to Food and Industry improvements (higher weight). Planetary improvements use strategic resources so they are not built (might not work correctly).

X- Force unique planets/minor factions into the game

You can do that in "GalaxyGenerator\WeightTableDefinitions.xml" by increasing the odds of finding one or more planets/minor factions:
<GalaxyGeneratorWeightTable Name="UniquePlanetList"> <Entry Tag="UniquePlanetTor" Weight="1"/> <Entry Tag="UniquePlanetKyros" Weight="1"/> <Entry Tag="UniquePlanetAuriga" Weight="0"/> <Entry Tag="UniquePlanetBilgeli" Weight="1"/> <Entry Tag="UniquePlanetSahar" Weight="1"/> <Entry Tag="UniquePlanetSykagoja" Weight="10"/> <Entry Tag="UniquePlanetVeil" Weight="1"/> <Entry Tag="UniquePlanetTeonha" Weight="1"/> </GalaxyGeneratorWeightTable>
// Auriga won't appear with 0 weight (%chance of spawning), while Sykagoja will always appear (10x more chance than the others should be enough)

You can do the same with minor factions you absolutely want in your game, like the newly added Xirmsala:
<GalaxyGeneratorWeightTable Name="MinorFactions"> ... <Entry Tag="MinorFactionOraculars" Weight="10"/> </GalaxyGeneratorWeightTable>
// gives the Xirmsala 10x more chance to spawn than other minor factions.
Last edited by Kierk; 16 Sep, 2019 @ 3:08am
< >
Showing 1-5 of 5 comments
Kierk 1 16 Sep, 2019 @ 2:21am 
XI- Change starting hero's affinities/skills/flagship and government

By far my favorite tweak, you can basically play the exact hero/faction you want to roleplay as, like for example starting with Koros Apogee (Cravers Prime) as a Religious fanatic aboard a powerful Obliterator (instead of being an Industrialist with a stupidly small and weak ship)

In "Public\Simulation\FactionTraits[AffinityMapping].xml" and "Public\Simulation\HeroDefinitions.xml", search for the faction you will playing as, e.g the Cravers, then the hero you want to start with, e.g. Koros Apogee, and replace the hero you start with and what skills:ships he should have:

1. Change the starting hero(es):

In "Public\Simulation\FactionTraits[AffinityMapping].xml", search for the faction you will playing as, e.g the Cravers, then replace the RecruitHero line with the hero of your choice, e.g. Koros Apogee:
<!-- Cravers --> <FactionAffinityMapping Name="AffinityMappingCravers" SubCategory="MajorFactionAffinityMapping" Hidden="false" Custom="true" Cost="5"> <Command Name="RecruitHero" Arguments="HeroCraversPrime"/>
// recruit Koros Apogee (Cravers Prime) instead of good old Kren Solutus.

You can add as many heroes as you want (e.g. HeroCravers01-04), some factions get special heroes during their main quest, others were added in quite a few dlcs, including:

DLC Heroes :
Digital Deluxe Edition: Brunem Berto-Lancellum (Lumeris hero) HeroVenetians05 Kinete Muldaur (Terran hero) HeroTerrans05 Uthassum Rhamoezz (Sophon hero) HeroSophons05 Stellar Prisoner: Tiaych Zhilleaq (Virtual Endless hero) ["Invisible Chains" quest] QuestHeroEndless02 Koros Apogee (Cravers Prime hero) HeroCraversPrime Target Locked: Jennifer Rach (Pirate mercenary) HeroPirate01 Little Grin Man: Rhync aka The Photobomber (Amblyr hero) ["Thousand Faces" quest] HeroGreenman01/02 Endless Day Event: Esseb Veltaros (Haunt hero) ["Stranger at the Door" quest] HeroArchivist01 Vaulters: Justicar Jyde Parcha (Sister of Mercy hero) HeroSistersOfMercy01 Fluffpetal Gurk'Zvar (Pirate leader) HeroPirateLeader01 Burra Techseeker (Plocynos hero) HeroBurraTechseeker01 Glia Lak.Admstr7B2 (Amoeba hero) ["Empire Development" deed] HeroAmoeba02 Guardians & the Galaxy: Karv Jezet (Haroshem hero) HeroHaroshems02 Untold Tales: G0d3I Builder.v87 (Sower hero) HeroSowers01 En Pas Leba (Kal’Tik’Ma hero) HeroKalTikMas01 Ooblart Essacius (Sefaloros hero) HeroSefaloros01 Chancellor Alazne Matul (Galvran hero) HeroGalvrans01 Harmonic Memories: FES2 Reflects (Harmony hero) HeroHarmony01 Supremacy: Tlikkit Goktok (Illo hero) HeroIllo01 Muck & Mackers: Fore Sagazh Jabble (Basryxo hero) HeroBasryxo01 Awakening: Abayanoryd (Xirmsala hero) HeroOraculars01

Main Quests (spoiler-ish)
Reyaryn Cious (Necrophage hero) QuestHeroEndless01 Petra Mandzukic (Terran hero / Mezari path) HeroTerransQuest01 Lena Zelevas (Terran hero / Imperial path) HeroTerransQuest02 Hadri Lenko (Terran hero / Sheredyn path) HeroTerransQuest03 Five (Horatio hero) HeroQuestHoratio04 Anax-Jink 2077 (Virus hero / Riftborn quest) HeroQuestVirus01 Opbot DV8 (Vaulters hero) HeroOpbot01 Imane Kryv (Umbral Choir hero) HeroUmbralChoir05

Note: All minor factions also have one hero except the Haroshem and Amoeba who both have two. Their names are pretty straightforward, e.g. HeroEyders01 for the Eyders, etc... Only exception is the Yuusho hero who was part the Hissho clan before and so is simply called "HeroHisshos01".

----

2. Change your hero affinities, skills and ship:

In "Public\Simulation\HeroDefinitions.xml", search for the hero you want to edit, for example here with Koros Apogee (HeroCraversPrime):
<HeroDefinition Name="HeroCraversPrime"> <Skill Name="HeroSkill01CraversPrime"/> <Skill Name="HeroSkill02CraversPrime"/> <Affinity Name="HeroAffinityCravers"/> <Class Name="HeroClassAdmiral"/> <Politics Name="HeroPolitics05"/> <ShipDesign Name="Juggernauts_Obliterator"/> <SkillTree Name="HeroSkillTreeGeneric"/> <SkillTree Name="HeroSkillTreeCravers"/> <SkillTree Name="HeroSkillTreeAdmiral"/> <LevelUpRuleReference Name="HeroLevelUpRule"/> </HeroDefinition>
// Koros Apogee's (Cravers Prime hero) modified skills and ship.

Each hero have, in order:
- two special skills,
- a racial affinity,
- a class (see below),
- a political affinity (see below),
- a ship type, by default based on his class,
- and a skill tree with generic (common to all heroes), race, and class skills.

Some have special skills unique to them, you can find them all in HeroDefinitions.xml, while ship designs are unique to each faction (except hero ships and behemoths) and are found in FactionTraits[AffinityMapping].xml. As for the class and political affinities, they are less straightforward and are as follows:

Admiral: Guardian
Adventurer: Seeker
Corporate: Counselor
Administrator: Overseer

01: Industrialists
02: Scientists
03: Pacifists
04: Ecologists
05: Religious
06: Militarists

You now have all the info you need to make your own hero(es) and conquer the whole galaxy with him(them) !

A few notes though, changing the hero ship to a normal one make them a bit buggy. First, the ship design will be unlocked from the start but you won't be able to be upgraded in the "Ship Design" menu, only in the "Hero" menu. Also, they won't be wounded when defeated like they do normally. Lastly and not least, normal ships are super expensive to repair, you can easily spend 100k+ Dust to fully repair them. And reassigning them don't magically repair their ship either...

----

3. Change the starting government (optional):

In "Public\Simulation\Factions[Major].xml", you can change any of the major faction traits and starting political affinity. To change their affinity, simply use the table above to known what politics you want and add it by increasing its weight. Example with the United Empire starting as Pacifists/Scientists:
<!-- Terrans --> <TraitStartingSenate Priority="1"> <Government Name="GovernmentEmpire"/> <PoliticsWeight Politics="Politics01" Weight="0"/> <PoliticsWeight Politics="Politics02" Weight="7"/> <PoliticsWeight Politics="Politics03" Weight="3"/> <PoliticsWeight Politics="Politics04" Weight="0"/> <PoliticsWeight Politics="Politics05" Weight="0"/> <PoliticsWeight Politics="Politics06" Weight="0"/> </TraitStartingSenate>
// UE government is now 7/10(70%) Scientists, 3/10 (30%) Pacifists right from the start.

XII- Add heroes as quest rewards

Same thing as above except you add the hero to one of the many quest reward droplists in "Public\Quests\Droplists\...". Example with the Cravers' main quest in "Droplists[Reward].xml" (l.2250):
<!--#######################################--> <!--## CRAVERS Lore Quest Droplist ##--> <!--#######################################--> ... <!--CHAPTER 2 - CRAVERS - Industry C1 --> <Droplist Name="DroplistCraversReward03" Fallback="DroplistLuxuries"> <Module Name="TechnologyDefinitionQuestCravers05" ModuleName="QuestModuleDefenseShieldEra2Strategic2" Constrained="false"/> </Droplist> <Droplist Name="DroplistCraversQuestHero01" Selector="Weighted"> <Hero Name="HeroCraversPrime"/> </Droplist>
The Cravers already get Reyaryn Cious the Necrophage ("QuestHeroEndless01") from their main quest, but you can easily change it to anyone, like Koros Apogee our favorite Cravers Prime hero called "HeroCraversPrime".

You can do that with any quest you want, the hardest part is to know which quest reward you're changing.

XIII- Usable/editable pirate and named ships

Four types of pirate ships exist in the game and can sometimes be found in curiosities. They are not editable by default, but you can change that in "Public\Simulation\Battles\ShipDesignDefinitions[MinorFactions].xml":
<!-- **SCAVENGERS PIRATES** --> <!--SMALL Weak--> <ShipDesignDefinition Name="MFPiratesSmallAttackWeak" Editable="true">
Just change all Editable="false" to true in the whole file and you'll also be able to edit minor faction ships.

You can then give those ships to any heroes, for ex. Tiaych Zhilleaq the Virtual hero with a powerful futurist(Advanced) ship. The different types are as follows:
MFInsectoidSmallAttackStrong: Jurh-class MFInsectoidMediumAttackStrong: Kharkhara-class MFPrimitiveSmallAttackStrong: Pioneer-class MFPrimitiveMediumAttackStrong: Orbiter-class MFPiratesSmallAttackStrong: Raider-class MFPiratesMediumAttackStrong: Pillager-class MFAdvancedSmallAttackStrong: Stilio-class MFAdvancedMediumAttackStrong: Scorpio-class
// all four different types (Insectoid/Primitive/Pirates/Advanced) have two different ship designs (Small/Medium), but no Carrier-type (Large). "Strong" defines the level of weaponry, "Avg" and Weak" also work if you want weaker ships.

Awakening dlc also added four named ships given by the Academy, they can be found in "Public\Simulation\Battles\ShipDesignDefinitions[DLC4].xml":
NameShipVaultKeeper: Instrument of the Will NameShipMasterOfDust: The Sum of All Pains NameShipLibrarian: Warden of Knowledge NameShipGrandAdmiral: The Colorless Fist
Last edited by Kierk; 16 Sep, 2019 @ 3:04am
Saadiya 26 Apr, 2021 @ 8:58am 
What would I change if I wanted to make research faster? Not instant, maybe 5 or 6 rounds.
Originally posted by Saadiya:
What would I change if I wanted to make research faster? Not instant, maybe 5 or 6 rounds.
If nothing else, you could try buffing the output of the science improvements. I believe that's in:

Public/Simulation/SimulationDescriptors[StarSystemImprovement].xml

You can just open it with regular old notepad. Search for "SystemResearch", adjusting the value of each entry as much as you feel appropriate. Remember to make a backup of the file first, though, in case you screw something up or want to play multiplayer sometime.
Saadiya 27 Apr, 2021 @ 7:54am 
I found a make research slower mod and reverse-engineered it... it's in the SimulationDescriptors[Research] file. :)
I'll remember that for the future. Thanks.
< >
Showing 1-5 of 5 comments
Per page: 1530 50