New Promotions

Has anyone tried adding new promotions to citizens?  Just want to see if there are any known schema constraints.

19,373 views 8 replies
Reply #1 Top

Novice at this but looking at the schema i don't think so.  There are place holder (buffers) for new citizens but i see none for promotions

Reply #2 Top

I am trying to add a new Promotion and i get the following error:

...Documents\My Games\GC3Crusade\Mods\FrancoisMod\Game\UnitPromotionsColonyStatDefs.xml(169,37): error:
value 'WorkerFocus' not in enumeration

 

I have added the 'WorkerFocus' in the 3 files: UnitPromotionsColonyStatDefs, UnitPromotionsDefs, UnitPromotionsGlobalStatDefs.

I think the order is important, so i have added the entry last in the 3 files.

 

Any idea ?

Reply #3 Top

I have found that you need to mod the file: UnitGlobalTypes.xsd

But the file is in a path that don't seem to be supported for modding.

You need to modify the file directly in the game directory:

Galactic Civilizations III\data\Schema\Enums

 

Reply #4 Top

You cannot mod files in the game directory, only in your mod directory.  Schema files are kept in the game directory, and are not looked for in the mod directory.  Schema file mods are not supported.

Reply #5 Top

Thanks for the answer, i will use the unused promotions for now...

Reply #6 Top

I am pretty far along my modding of new promotions (around 15 so far), but there is one can't figure out:

The goal is to sacrifice a farmer to terraform a tile , but this code don't seems to work:

    <Triggers>
      <OnEvent>OnUnitGenerated</OnEvent>
      <Scope>Local</Scope>
      <Target>
        <TargetType>Planet</TargetType>
      </Target>     
        <Lifetime>Instant</Lifetime>
        <PerformAction>
          <Action>TerraformTilesOnPlanet</Action>
          <ValueParam>1</ValueParam>
          <ValueParam>0</ValueParam>
        </PerformAction>
      <SourceDisplayName>Promotion_Gardener_Name</SourceDisplayName>
      <DescriptionText>Promotion_Gardener_TriggerDec_0</DescriptionText>
    </Triggers>

 

Is the action TerraformTilesOnPlanet available for Promotions ?

Reply #7 Top

Another problem with the <OverrideOr>, when set to true with Units, the condition seems to always be  true !

for example

  <UnitSpecialization>
    <InternalName>Unit_Mechanic</InternalName>
    <DisplayName>Unit_Mechanic_Name</DisplayName>
    <Description>Unit_Mechanic_Dec</Description>
    <GlobalType>Mechanic</GlobalType>
    <GlobalCapAmount>5</GlobalCapAmount>
    <Icon>Citizen_Scientist.png</Icon>
    <Image>Promotion_Navigator.png</Image>
    <Background>Citizen_BG_Legion.png</Background>
    <SelectSFX>UI/CITIZENS/SCIENTIST_SELECT</SelectSFX>
    <ImprovementType>Research</ImprovementType>
    <CanTravel>true</CanTravel> 
    <Prerequ>
      <Techs>
        <Option>NeroLinking</Option>
      </Techs>     
      <RaceTrait>
        <Option>CyberneticAbility</Option>
      </RaceTrait>
      <OverrideOr>true</OverrideOr>
    </Prerequ>
  </UnitSpecialization>

 

All race start with Mechanics, but only those with CyberneticAbility should have it from the start ...

Reply #8 Top

Another thing i found with Promotions:

The <Promote citizen> button does not check for the value set by <GlobalCapAmount>

So with the actions: RecallUnit or ChangeUnitType you can exceed indefinitely the limit on the number of unit in play!