Logo Platform
logo amplifiers simplified

Some modding questions

Reply
Copied to clipboard!
7 years ago
Aug 13, 2018, 2:37:19 AM

Hello I am new to modding and I have some questions that I would be very thankful if any answers even a not sure is useful. I am trying a "Feudal" Government mod.


Question 1: Can new "extratype" for datatypes be created? And can individual population hold data values retroactively?

  1. I am wondering since I want to create an extratype much like "major faction", "minor faction" which is used to determine which populations can vote, extratype "lord"
  2. And similary put it into \Simulation\SimulationDescriptors[Government].xml
  3. This way for the new government type Feudal, I can choose new electors while in game, which can be any population in the empire
  4. Concerning individual populations, I am wondering can a pre-existing individual population in game be given new traits i.e. 0% fids multiplier, indestructible, unmovable, "+1 population slot on planet" in addition to extratypes


Question 2: Can new population be created on a planet via the "terraforming/anomaly reduction/expedition" button?

  1. I know that Guardians can be "created"(rather uncovered) with expedition, though with exploration ship
  2. These can be tied to a trait, but are available for all once "created". In this case tied to the Feudal Government trait
  3. I am thinking that from here a long list of populations in empire appears (similar to all the terraforming options) that lets you choose the population type that will be created on the planet with the retroactively added extratypes and traits i.e. 0% fids multiplier, indestructible, unmovable "+1 population slot on planet", lord
  4. And the industry cost is replaced with an influence cost


Question 3:  Is there a way to expand interaction between star systems?

  1. I know there for outposts, starports. For within the star system ui.
  2. I honestly am rather lost here, since I want to be have star systems be "vassalized" one star system to another, with this vassalized star system no longer contributing to your colonization limit
  3. This is positive of the Feudal Government type, while the negatives are not really stated here.


Question 4: That does this file do? The file \Simulation\PopulationAspirationDefinitions.xml

  1. As far as I can tell, it doesn't appear to be used
  2. Seems kind of of a major faction affinity called "Parasite" that went unused
  3. Seems tied to a type of population and whether they are a type of planet or not and an effect takes place when it is true or false
  4. Doesn't appear to be tied to individual populations though


Thanks in advance! ALso sorry if this is rather convoluted, I am rather new to modding.

0Send private message
7 years ago
Aug 13, 2018, 8:22:14 AM

Hey AwesomeTomas!


That's a big mod you're trying to make hehe.


Question 1: Can new "extratype" for datatypes be created?

You cannot create extra types, since those are classes in the C# code, and you are not allowed to modify it.

Mods just apply a descriptor or change a property which is already used by the game, but cannot create whole new behaviours.


Making a population vote or not is something I am extremely unfamiliar with, and is very complex (you can look at ElectionProcessDefinitions.xml and ElectionProcessTaskDefinitions.xml in the game's Public/Simulation folder to catch a glimpse of it...). I don't think you can do it with a mod.


Also, GUI cannot be added via mods, so you cannot pick electors this way.


The traits thing however is feasible, but not dynamically. You just need to add references to things in the XML, but I won't describe it here since it's a lengthy process.


Question 2: Can new population be created on a planet via the "terraforming/anomaly reduction/expedition" button?

Terraformation and anomaly reduction cannot create populations, but Expeditions can!

Expeditions reveal the contents of CuriosityDefinitions, which may be linked to a CuriosityDroplist, which may contain a Population.

Take a look at CuriosityDefinitions.xml and CuriosityDroplists.xml in the game's Public/Simulation folder.


If you want to restrict a Curiosity to specific situations, you can modify its VisibilityPrerequisites to include a PathPrerequisite which will check for the Feudal government.

However the galaxy generation cannot spawn more than 3 curiosities/anomalies/deposits per planet, so you'll probably see an empty galaxy until you select the right government...

What I would suggest if you want to spawn populations on the system is to create a StarSystemPopulationTransformImprovementDefinition for each population, with a cost in Influence.


Question 3:  Is there a way to expand interaction between star systems?

I think... What you're trying to do is similar to the Hisshos improvement "StarSystemImprovementBoostHomeSystem" which you can find in "Public/Simulation/ConstructibleElement_Industry[StarSystemImprovement_DLC2].xml"

Note however that what this does is reduce the FIDS on the "vassal" system and increase it on the "best/home" system.


Question 4: That does this file do? The file \Simulation\PopulationAspirationDefinitions.xml

The Parasite aspiration is actually used in the game! It's the "slavery" thing of the Cravers, defined by the trait "FactionTraitParasite" in Public/Simulation/FactionTraits[Population].xml.

What an Aspiration does is it applies descriptors on the system-wide and planet populations when certain prerequisites are met.


In the case of the Parasite/Cravers thing, the non-major population of your empire receive an effect when they are with major populations.

The effect is a Happiness malus and FIDS bonus, and the population being shown as yellow in the system management view (but that is done with code though).


Note that the major population receives an effect when it is with a non-major which receives the other effect, but that effect does nothing.

0Send private message
7 years ago
Aug 13, 2018, 9:32:33 AM
MonAmiral wrote:

Hey AwesomeTomas!


That's a big mod you're trying to make hehe.


Question 1: Can new "extratype" for datatypes be created?

You cannot create extra types, since those are classes in the C# code, and you are not allowed to modify it.

Mods just apply a descriptor or change a property which is already used by the game, but cannot create whole new behaviours.


Making a population vote or not is something I am extremely unfamiliar with, and is very complex (you can look at ElectionProcessDefinitions.xml and ElectionProcessTaskDefinitions.xml in the game's Public/Simulation folder to catch a glimpse of it...). I don't think you can do it with a mod.


Also, GUI cannot be added via mods, so you cannot pick electors this way.


The traits thing however is feasible, but not dynamically. You just need to add references to things in the XML, but I won't describe it here since it's a lengthy process.


Question 2: Can new population be created on a planet via the "terraforming/anomaly reduction/expedition" button?

Terraformation and anomaly reduction cannot create populations, but Expeditions can!

Expeditions reveal the contents of CuriosityDefinitions, which may be linked to a CuriosityDroplist, which may contain a Population.

Take a look at CuriosityDefinitions.xml and CuriosityDroplists.xml in the game's Public/Simulation folder.


If you want to restrict a Curiosity to specific situations, you can modify its VisibilityPrerequisites to include a PathPrerequisite which will check for the Feudal government.

However the galaxy generation cannot spawn more than 3 curiosities/anomalies/deposits per planet, so you'll probably see an empty galaxy until you select the right government...

What I would suggest if you want to spawn populations on the system is to create a StarSystemPopulationTransformImprovementDefinition for each population, with a cost in Influence.


Question 3:  Is there a way to expand interaction between star systems?

I think... What you're trying to do is similar to the Hisshos improvement "StarSystemImprovementBoostHomeSystem" which you can find in "Public/Simulation/ConstructibleElement_Industry[StarSystemImprovement_DLC2].xml"

Note however that what this does is reduce the FIDS on the "vassal" system and increase it on the "best/home" system.


Question 4: That does this file do? The file \Simulation\PopulationAspirationDefinitions.xml

The Parasite aspiration is actually used in the game! It's the "slavery" thing of the Cravers, defined by the trait "FactionTraitParasite" in Public/Simulation/FactionTraits[Population].xml.

What an Aspiration does is it applies descriptors on the system-wide and planet populations when certain prerequisites are met.


In the case of the Parasite/Cravers thing, the non-major population of your empire receive an effect when they are with major populations.

The effect is a Happiness malus and FIDS bonus, and the population being shown as yellow in the system management view (but that is done with code though).


Note that the major population receives an effect when it is with a non-major which receives the other effect, but that effect does nothing.

Thanks the detailed answers, they have been very informative. 



The traits and references means it uses a pre-existing population type as a "template" to create a new population? Or updates all existing population within the empire much like Horatio gene splicing and collection effects?


Concerning using expeditions, I must admit I haven't looked at the new Supermacy files concerning the new features of pirate lair wrecks, pre-galactic civilization markers, no-man's land .etc. The StarSystemPopulationTransformImprovementDefiniton, is used for Riftborn/Horatio, I presume. Though can it target specific planets. 


 Another thing I thought of, but haven't looked into since I didn't delve into the quest making files was have an improvement that triggers a two stage event and the options available are the planets in the star system, and the different population types in the empire. Assuming there isn't a limit on scrolling. It could even be a three stage event with the first being the star systems available, then the planets in the star system available, and then the different population types in the empire. 


If attaching star system improvements as well to event outcomes is possible, then I can do the other interactions between star systems with the same method. Concerning extratype datatypes, I think if the current datatypes are not necessary exclusive i.e. can have both minor and major population type on the same population. And if these can be changed once in game. I could have the pre-requisite be population having only "major" faction extratype and exclude those that either are "minor" or "major/minor". Or alternatively I could have the voting population lack both of these extratypes and have having either one of minr or major remove the population from the ability to vote.


The Hissho improvement "StarSystemImprovementBoostHomeSystem" can't be manually redirected, correct?


The Parasite aspiration sounds very useful, by system-wide, you mean if one of the populations is on the system, it affects the entire system? I wonder if I can use this add or remove voting from affected populations.


A vastly different approach I could take, though seems just a mess code wise, is to have star systems convert into minor factions with the brainwashed trait. Or something with alliances that can't be broken. Which if possible would be a less abstract simulation of a feudal government type, though it would be vastly without what I can visualize. 


Would submitting this as an idea be better?

0Send private message
7 years ago
Aug 14, 2018, 8:18:34 AM

The traits and references means it uses a pre-existing population type as a "template" to create a new population? Or updates all existing population within the empire much like Horatio gene splicing and collection effects?

The traits and references means making something similar to a custom faction, but via XML: that way, you're not restricted by anything, and can even add new images and stuff. They won't evolve during the game, unlike horatios.


Though can it target specific planets.

The population transformation cannot target specific planets, but that should not be an issue (unless your population is unmovable like the guardians, in that case a very complex quest may be the only solution).


Assuming there isn't a limit on scrolling .

Unfortunately I think the GUI supports only 3 choices in a quest/event. Still, it may be the right direction to look into, but quests are very complex.


Concerning extratype datatypes, I think if the current datatypes are not necessary exclusive

The extra types are exclusive, that's how the game is coded, and it's not something you can change.

Maybe what you're thinking of is a SimulationDescriptor that would be applied on both major and minor populations, but not... specific ones?

At any rate, an empire considers only one population is "major" population and all the others are "non-major" and this cannot be changed.


The Hissho improvement "StarSystemImprovementBoostHomeSystem" can't be manually redirected, correct? 

It cannot be manually redirected, the "Best" system will refresh each time it is lost (through any mean) and when the home system is re-colonized (then it will automatically become the best system, even if it is the worst).


A vastly different approach I could take, though seems just a mess code wise, is to have star systems convert into minor factions with the brainwashed trait. Or something with alliances that can't be broken. Which if possible would be a less abstract simulation of a feudal government type, though it would be vastly without what I can visualize. 


Would submitting this as an idea be better?

This does not sound like something you can do without code and I'm not sure what you want, so I encourage you to be more precise/clear on what you want if you decide to submit an idea.

0Send private message
7 years ago
Aug 14, 2018, 9:28:47 AM
MonAmiral wrote:

The traits and references means it uses a pre-existing population type as a "template" to create a new population? Or updates all existing population within the empire much like Horatio gene splicing and collection effects?

The traits and references means making something similar to a custom faction, but via XML: that way, you're not restricted by anything, and can even add new images and stuff. They won't evolve during the game, unlike horatios.


Though can it target specific planets.

The population transformation cannot target specific planets, but that should not be an issue (unless your population is unmovable like the guardians, in that case a very complex quest may be the only solution).


Assuming there isn't a limit on scrolling .

Unfortunately I think the GUI supports only 3 choices in a quest/event. Still, it may be the right direction to look into, but quests are very complex.


Concerning extratype datatypes, I think if the current datatypes are not necessary exclusive

The extra types are exclusive, that's how the game is coded, and it's not something you can change.

Maybe what you're thinking of is a SimulationDescriptor that would be applied on both major and minor populations, but not... specific ones?

At any rate, an empire considers only one population is "major" population and all the others are "non-major" and this cannot be changed.


The Hissho improvement "StarSystemImprovementBoostHomeSystem" can't be manually redirected, correct? 

It cannot be manually redirected, the "Best" system will refresh each time it is lost (through any mean) and when the home system is re-colonized (then it will automatically become the best system, even if it is the worst).


A vastly different approach I could take, though seems just a mess code wise, is to have star systems convert into minor factions with the brainwashed trait. Or something with alliances that can't be broken. Which if possible would be a less abstract simulation of a feudal government type, though it would be vastly without what I can visualize. 


Would submitting this as an idea be better?

This does not sound like something you can do without code and I'm not sure what you want, so I encourage you to be more precise/clear on what you want if you decide to submit an idea.

Thanks, so the traits and refernces via XML seems the way to go, alongside quests, and a closer look at senate related files. Though since I literally did not look at a single quest related file before, I have nothing left to ask. Thanks for your answers, they are have been very helpful. 

0Send private message
?

Click here to login

Reply
Comment

Characters : 0
No results
0Send private message