Modding synthetic starting population troubles & poss silly xml limitation?

StartingColonyPopulation is initially set in factiondefs.xml, but it makes little sense for it not to be affected with a clever +2 custom race that starts with synthetic & allow setting it via AbilityDefs.xml.  Even if that synthetic race rush buys a planetary mainframe beside their colony capitol on turn 1/0. they won't be able to start building more pop for 7 rounds at which point their planetary extractor is 3 rounds away from being finished with +1 increase pop needing 24 rounds.  Granted that will be shortened somewhat after 5 rounds when their first production center comes online.  But you are still looking at +1 pop around the time nonsynthetic races are done with a shipyard & pumping out a first or second colony ship while they gain around 0.1 popor more every turn.

 

So I tried to set StartingColonyPopulation in AbilityDefs.xml, I can't get it to take effect

  <RaceTrait>
    <InternalName>SyntheticLife</InternalName>
    <DisplayName>SyntheticLife_Name</DisplayName>
    <DisplayNameShort>SyntheticLife_ShortName</DisplayNameShort>
    <Description>SyntheticLife_Desc</Description>
    <IsAbility>1</IsAbility>
    <Mod>
      <EffectType>SyntheticLife</EffectType>
      <Target>
        <TargetType>Faction</TargetType>
      </Target>
      <BonusType>Flat</BonusType>
      <Value>1</Value>
    </Mod>
    <Mod>
<StartingColonyPopulation>25</StartingColonyPopulation>
    </Mod>
  </RaceTrait>

 

With or without the <mod> around the startingcolonypopulationabove on abilitydefs.xml it still starts at 10  anyone else have some ideas?

 

8,384 views 4 replies
Reply #1 Top

Hi,

you need to put your desired starting population in the FactionDef.xml of your synthetic race.

For example;

<ShipStyleSet>YorShipStyleSet</ShipStyleSet>
    <CreditsInit>2500</CreditsInit>
    <WarEnduranceInit>100</WarEnduranceInit>
    <DefaultResistance>0.8</DefaultResistance>
    <InfluenceTallyInit>8</InfluenceTallyInit>
    <StartingColonyPopulation>25</StartingColonyPopulation>
    <AICategoryWeight>
      <Military>22</Military>
      <Growth>16</Growth>
      <Tech>20</Tech>
      <Diplomacy>8</Diplomacy>
      <Expansion>14</Expansion>
      <Wealth>18</Wealth>
      <Influence>10</Influence>
      <Fortification>12</Fortification>
      <Logistics>10</Logistics>
    </AICategoryWeight>

This should work.

Reply #2 Top

Quoting Nimrod13, reply 1

Hi,

you need to put your desired starting population in the FactionDef.xml of your synthetic race.

For example;

<ShipStyleSet>YorShipStyleSet</ShipStyleSet>
    <CreditsInit>2500</CreditsInit>
    <WarEnduranceInit>100</WarEnduranceInit>
    <DefaultResistance>0.8</DefaultResistance>
    <InfluenceTallyInit>8</InfluenceTallyInit>
    <StartingColonyPopulation>25</StartingColonyPopulation>
    <AICategoryWeight>
      <Military>22</Military>
      <Growth>16</Growth>
      <Tech>20</Tech>
      <Diplomacy>8</Diplomacy>
      <Expansion>14</Expansion>
      <Wealth>18</Wealth>
      <Influence>10</Influence>
      <Fortification>12</Fortification>
      <Logistics>10</Logistics>
    </AICategoryWeight>

This should work.

 

Yea, that's the problem.  You can't set it gobally to a different value based on if it's a synthetic race or not, you need to do it one race at a time & hard code every custom faction that might be synthetic to accomplish it :(

Reply #3 Top

Is that really accurate though? For preexisting race I can see it being the case but wouldn't that change affect all NEW synthetic races?