Logo Platform
logo amplifiers simplified

Understanding Population affecting System Improovements

Reply
Copied to clipboard!
7 years ago
Jan 22, 2018, 7:24:09 PM

I had an Idea for Advanced Population Control, and I am wondering if this could be done with modding - ideally while replacing or disabling the basegame options for this.


Just finding the Relevant Basegame Mechanics was non-Trivial. They all seem to be contained in "Endless Space 2\Public\Simulation\ConstructibleElement_Industry[StarSystemImprovement].xml"


Under POPULATION, we have a number of StarSystemPopulationTransformImprovementDefinition. Those include:
StarSystemImprovementCloneMajorPopulation - Horatio Genetic Alterations Lab

StarSystemImprovementSacrificeGuardian and StarSystemImprovementSacrificeGuardian2 - Sacrificing a Guardian with or without the Faction Trait for it

StarSystemImprovementSacrificeSlave - the Cravers option of turning Slaves into Food+Happiness for a time


Seperate from these are the StarSystemImprovementDefinition ones:

StarSystemImprovementEnrollment - Chain Gang for non-Vodyani

StarSystemImprovementGrowthFromLifeforce - build pop for Vodyani

StarSystemImprovementEnrollmentVampirilis - Chain gang for Vodyani

StarSystemImprovementIndustryToManpower - Riftborn Chaingang kind-off

StarSystemImprovementCreateMajorPopulation - Riftborn 


And the one thing I noticed is that they are extremely heterogenous:

Chain Gang and build pop for Vodyani actually modify the System Growth Stock to archieve the effect of adding/loosing a Population Unit. So short of repalcing it with a full Transformation or changing how growth loss works, I doubt it is possible to modify ChainGang as I want.


However StarSystemImprovementCloneMajorPopulation, both StarSystemImprovementSacrificeGuardian, StarSystemImprovementSacrificeSlave and StarSystemImprovementCreateMajorPopulation use PopulationSource/PopulationDestination = "Minor", "AffinityGuardians", "PopulationParasited" and "Major". That looks like the Droid I am looking for.


Questions: 

But where are PopulationSources/-Destinations defined? How are the defined?

Can I add additional entries to that selection, or are they Hardcoded/Non-Modable?

Updated 7 years ago.
0Send private message
7 years ago
Jan 22, 2018, 7:53:23 PM

Okay, I found a part of the PopulationDefinitions - all the named ones, that is:

"Endless Space 2\Public\Simulation\PopulationDefinitions.xml"


It does contains all the pre-scripted Major and Minor Populations. There even is the entry for the case you pick a Random Empire. But I found no way to subfilter on specific case of Minor.


I did have a theory regarding Chain Gang however:
It has to reduce the System Growth, because otherwise the game would instantly grow a new Population. Growth decides the total count. And it is the Relation of GrowthStorage and Population using Growth that forces the spawn/removal of a pop.
Maybe it could work if I at the same time remove 300 Growth and a Specific Species pop? That way I could maybe control wich Pop vanishes (Original or non-Original).

0Send private message
7 years ago
Jan 23, 2018, 8:33:15 AM

Minors and conquered Major populations can be targeted with the option PopulationSource="Minor" in any population transforming improvement. I made a mod about this recently, if you want to check it out or get a look at the code :


Wrath of the Righteous (Workshop)


You can add population sources with tags for some of your ideas, but I don't think you can tag "already spliced" or stuff like that because it's in the hard code, but I may be wrong. To quote MonAmiral from the Discord on pop improvements :


You can set PopulationSource & PopulationDestination to : 

- Nothing: it'll ignore the addition/removal of population 

- Major: it'll select the major population 

- Minor: it'll select from all the minor populations, using the PopulationXXHeuristic you selected 

- AffinityXX: the selected affinity 

- Tags that are applied on populations: it'll select from all the populations with the provided flag


I'm afraid most of what you ask for in your idea would require coding on Amp's part, but what you can already do is make a a "gulag" system where you send all your unneeded populations and keep queuing chaing gang program, or if you have my mod, queuing "The Hunt" to remove any number of minor or captured major pop in one turn.


Hope this helps.

0Send private message
7 years ago
Jan 23, 2018, 2:55:19 PM
Kuma wrote:

Minors and conquered Major populations can be targeted with the option PopulationSource="Minor" in any population transforming improvement. I made a mod about this recently, if you want to check it out or get a look at the code :


Wrath of the Righteous (Workshop)


You can add population sources with tags for some of your ideas, but I don't think you can tag "already spliced" or stuff like that because it's in the hard code, but I may be wrong. To quote MonAmiral from the Discord on pop improvements :


You can set PopulationSource & PopulationDestination to : 

- Nothing: it'll ignore the addition/removal of population 

- Major: it'll select the major population 

- Minor: it'll select from all the minor populations, using the PopulationXXHeuristic you selected 

- AffinityXX: the selected affinity 

- Tags that are applied on populations: it'll select from all the populations with the provided flag


I'm afraid most of what you ask for in your idea would require coding on Amp's part, but what you can already do is make a a "gulag" system where you send all your unneeded populations and keep queuing chaing gang program, or if you have my mod, queuing "The Hunt" to remove any number of minor or captured major pop in one turn.


Hope this helps.

It helps a lot. Now I know what the limits are. I guess for the Splicing/Unspliced differentiation, I would have to add 1 Transform for each hardcoded species.

I need to look into the Splicing mechanic, to see if there is any way to figure out of "AffinityVenetian" has already been spliced.

0Send private message
7 years ago
Jan 23, 2018, 3:10:08 PM

The actions from Emprie Screen are definied in:

Endless Space 2\Public\Simulation\SimulationDescriptors[Population].xml

The first Entries are the boost options. And even here, they had to target each prescripted species seperately. Even that you can not GrowthBoost Riftborn and Guardians is explicitly written in there. 


The Assimilation has some interesting pieces of data:
  <!-- Cravers -->
<SimulationDescriptor Name="ClassPopulationAssimilatedEmpireAffinityCravers" Type="ClassPopulationAssimilated">
    <Modifier        TargetProperty="PopulationsAssimilated"            Operation="Addition"        Value="1"    Path="../ClassEmpire" TooltipHidden="true"/>
</SimulationDescriptor>
  <SimulationDescriptor Name="ClassPopulationAssimilatedPlanetDepletionFIDS" Type="ClassPopulationAssimilated">
      <Modifier        TargetProperty="BonusPopulationFIDSPercent"            Operation="Addition"        Value="0.05" Path="ClassPopulation"/>
      <Modifier        TargetProperty="BonusPopulationFIDSPercent"            Operation="Multiplication"    Value="$(PopulationCount)" TooltipHidden="true"/>
  </SimulationDescriptor>

Updated 7 years ago.
0Send private message
?

Click here to login

Reply
Comment

Characters : 0
No results
0Send private message