(SOLVED) How to Add more than one UA To A CIV

Dtony

Chieftain
Joined
Aug 23, 2021
Messages
43
I want assyria to have the wonder modifier egypt gets, natural wonder modifier spain gets, free social policy poland gets and a bonus religious belief. I added CIV5Traits_Expansion2.xml to my solution, went to action and updated databse, and changed these lines in the code here

<Row>
<Type>TRAIT_SLAYER_OF_TIAMAT</Type>
<Description>TXT_KEY_TRAIT_SLAYER_OF_TIAMAT</Description>
<ShortDescription>TXT_KEY_TRAIT_SLAYER_OF_TIAMAT_SHORT</ShortDescription>
<TechFromCityConquer>true</TechFromCityConquer>
<WonderProductionModifier>20</WonderProductionModifier>
<FreeSocialPoliciesPerEra>1</FreeSocialPoliciesPerEra>
<BonusReligiousBelief>true</BonusReligiousBelief>
<NaturalWonderFirstFinderGold>500</NaturalWonderFirstFinderGold>
<NaturalWonderSubsequentFinderGold>100</NaturalWonderSubsequentFinderGold>
<NaturalWonderYieldModifier>100</NaturalWonderYieldModifier>
<NaturalWonderHappinessModifier>100</NaturalWonderHappinessModifier>
</Row>

I left the rest of the code untouched. I then click build and save all. then placed the folder in the proper directory and It shows up in game just fine. However, when I test it out in game and see If i get double resources from a natural wonder at the start of a game it doesn't work. I use the mod in game editor to place a natural wonder in my territory but I dont get double yields from it
 
All you need or want is this within an XML file that is part of your mod
Code:
<GameData>
	<Traits>
		<Update>
			<Where Type="TRAIT_SLAYER_OF_TIAMAT" />
			<Set>
				<TechFromCityConquer>true</TechFromCityConquer>
				<WonderProductionModifier>20</WonderProductionModifier>
				<FreeSocialPoliciesPerEra>1</FreeSocialPoliciesPerEra>
				<BonusReligiousBelief>true</BonusReligiousBelief>
				<NaturalWonderFirstFinderGold>500</NaturalWonderFirstFinderGold>
				<NaturalWonderSubsequentFinderGold>100</NaturalWonderSubsequentFinderGold>
				<NaturalWonderYieldModifier>100</NaturalWonderYieldModifier>
				<NaturalWonderHappinessModifier>100</NaturalWonderHappinessModifier>
			</Set>
		</Update>
	</Traits>
</GameData>
The game's modding system does not work on a principle of replacing entire XML files with altered versions of the original. It works on the principle of altering the contents of the game database directly, regardless of the file from which the original data was supplied.

By copying an entire game XML file and attempting to load the contents of that file into the game's database you created a fatal coding error and the game rejected the entire contents of your altered version of the file.

Within a mod it also does not matter what you name an XML file that will be loaded via an Update Database type of action. You can name the file "LettuceSandwich.xml" if you want to. The game only cares about the contents of such files, not the name of the file.

------------------------------

Also, when using Modbuddy, the "Build" action will send an executable copy of the mod directly to the game's Mods folder (assuming you have not incorrectly redirected where the output from Modbuddy should go) so there should be no need to copy the files from within the solution into the game's Mods folder. There should already be a functional version of the mod in the game's pre-provided Mods folder as soon as you execute the "Build" function within Modbuddy.
 
Last edited:
All you need or want is this within an XML file that is part of your mod
Code:
<GameData>
    <Traits>
        <Update>
            <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
            <Set>
                <TechFromCityConquer>true</TechFromCityConquer>
                <WonderProductionModifier>20</WonderProductionModifier>
                <FreeSocialPoliciesPerEra>1</FreeSocialPoliciesPerEra>
                <BonusReligiousBelief>true</BonusReligiousBelief>
                <NaturalWonderFirstFinderGold>500</NaturalWonderFirstFinderGold>
                <NaturalWonderSubsequentFinderGold>100</NaturalWonderSubsequentFinderGold>
                <NaturalWonderYieldModifier>100</NaturalWonderYieldModifier>
                <NaturalWonderHappinessModifier>100</NaturalWonderHappinessModifier>
            </Set>
        </Update>
    </Traits>
</GameData>
The game's modding system does not work on a principle of replacing entire XML files with altered versions of the original. It works on the principle of altering the contents of the game database directly, regardless of the file from which the original data was supplied.

By copying an entire game XML file and attempting to load the contents of that file into the game's database you created a fatal coding error and the game rejected the entire contents of your altered version of the file.

Within a mod it also does not matter what you name an XML file that will be loaded via an Update Database type of action. You can name the file "LettuceSandwich.xml" if you want to. The game only cares about the contents of such files, not the name of the file.

------------------------------

Also, when using Modbuddy, the "Build" action will send an executable copy of the mod directly to the game's Mods folder (assuming you have not incorrectly redirected where the output from Modbuddy should go) so there should be no need to copy the files from within the solution into the game's Mods folder. There should already be a functional version of the mod in the game's pre-provided Mods folder as soon as you execute the "Build" function within Modbuddy.

thank you so much
 
Last edited:
All you need or want is this within an XML file that is part of your mod
Code:
<GameData>
    <Traits>
        <Update>
            <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
            <Set>
                <TechFromCityConquer>true</TechFromCityConquer>
                <WonderProductionModifier>20</WonderProductionModifier>
                <FreeSocialPoliciesPerEra>1</FreeSocialPoliciesPerEra>
                <BonusReligiousBelief>true</BonusReligiousBelief>
                <NaturalWonderFirstFinderGold>500</NaturalWonderFirstFinderGold>
                <NaturalWonderSubsequentFinderGold>100</NaturalWonderSubsequentFinderGold>
                <NaturalWonderYieldModifier>100</NaturalWonderYieldModifier>
                <NaturalWonderHappinessModifier>100</NaturalWonderHappinessModifier>
            </Set>
        </Update>
    </Traits>
</GameData>
The game's modding system does not work on a principle of replacing entire XML files with altered versions of the original. It works on the principle of altering the contents of the game database directly, regardless of the file from which the original data was supplied.

By copying an entire game XML file and attempting to load the contents of that file into the game's database you created a fatal coding error and the game rejected the entire contents of your altered version of the file.

Within a mod it also does not matter what you name an XML file that will be loaded via an Update Database type of action. You can name the file "LettuceSandwich.xml" if you want to. The game only cares about the contents of such files, not the name of the file.

------------------------------

Also, when using Modbuddy, the "Build" action will send an executable copy of the mod directly to the game's Mods folder (assuming you have not incorrectly redirected where the output from Modbuddy should go) so there should be no need to copy the files from within the solution into the game's Mods folder. There should already be a functional version of the mod in the game's pre-provided Mods folder as soon as you execute the "Build" function within Modbuddy.

does this look right? I'm still having trouble getting it to work

upload_2021-8-25_22-53-38.png
 
All you need or want is this within an XML file that is part of your mod
Code:
<GameData>
    <Traits>
        <Update>
            <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
            <Set>
                <TechFromCityConquer>true</TechFromCityConquer>
                <WonderProductionModifier>20</WonderProductionModifier>
                <FreeSocialPoliciesPerEra>1</FreeSocialPoliciesPerEra>
                <BonusReligiousBelief>true</BonusReligiousBelief>
                <NaturalWonderFirstFinderGold>500</NaturalWonderFirstFinderGold>
                <NaturalWonderSubsequentFinderGold>100</NaturalWonderSubsequentFinderGold>
                <NaturalWonderYieldModifier>100</NaturalWonderYieldModifier>
                <NaturalWonderHappinessModifier>100</NaturalWonderHappinessModifier>
            </Set>
        </Update>
    </Traits>
</GameData>
The game's modding system does not work on a principle of replacing entire XML files with altered versions of the original. It works on the principle of altering the contents of the game database directly, regardless of the file from which the original data was supplied.

By copying an entire game XML file and attempting to load the contents of that file into the game's database you created a fatal coding error and the game rejected the entire contents of your altered version of the file.

Within a mod it also does not matter what you name an XML file that will be loaded via an Update Database type of action. You can name the file "LettuceSandwich.xml" if you want to. The game only cares about the contents of such files, not the name of the file.

------------------------------

Also, when using Modbuddy, the "Build" action will send an executable copy of the mod directly to the game's Mods folder (assuming you have not incorrectly redirected where the output from Modbuddy should go) so there should be no need to copy the files from within the solution into the game's Mods folder. There should already be a functional version of the mod in the game's pre-provided Mods folder as soon as you execute the "Build" function within Modbuddy.


upload_2021-8-25_22-55-29.png
 
The changes are being applied to the database for me.

Are you starting a new game? Leader Trait alterations generally require a fresh game in order to be properly implemented in-game.

You won't see anything reflected in the civilopedia, dawn of man image, or the leader selection screens because the text that shows up in these places is not dynamic -- it is directly entered as text and does not change just because an alteration in how the Leader Trait works is made in the gameplay database.
 
Also, you don't need nor want a reference to the IGE mod. Adding the reference to your mod won't actually accomplish anything.

It must be I keep loading it from a saved game and not starting a new one. you can confirm you get double tile yield from natural wonders when playing as assyria?
 
Also, you don't need nor want a reference to the IGE mod. Adding the reference to your mod won't actually accomplish anything.

your right it works! THANK YOU SO MUCH I LOVE YOU I WANT TO KISS YOU!
 
All you need or want is this within an XML file that is part of your mod
Code:
<GameData>
    <Traits>
        <Update>
            <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
            <Set>
                <TechFromCityConquer>true</TechFromCityConquer>
                <WonderProductionModifier>20</WonderProductionModifier>
                <FreeSocialPoliciesPerEra>1</FreeSocialPoliciesPerEra>
                <BonusReligiousBelief>true</BonusReligiousBelief>
                <NaturalWonderFirstFinderGold>500</NaturalWonderFirstFinderGold>
                <NaturalWonderSubsequentFinderGold>100</NaturalWonderSubsequentFinderGold>
                <NaturalWonderYieldModifier>100</NaturalWonderYieldModifier>
                <NaturalWonderHappinessModifier>100</NaturalWonderHappinessModifier>
            </Set>
        </Update>
    </Traits>
</GameData>
The game's modding system does not work on a principle of replacing entire XML files with altered versions of the original. It works on the principle of altering the contents of the game database directly, regardless of the file from which the original data was supplied.

By copying an entire game XML file and attempting to load the contents of that file into the game's database you created a fatal coding error and the game rejected the entire contents of your altered version of the file.

Within a mod it also does not matter what you name an XML file that will be loaded via an Update Database type of action. You can name the file "LettuceSandwich.xml" if you want to. The game only cares about the contents of such files, not the name of the file.

------------------------------

Also, when using Modbuddy, the "Build" action will send an executable copy of the mod directly to the game's Mods folder (assuming you have not incorrectly redirected where the output from Modbuddy should go) so there should be no need to copy the files from within the solution into the game's Mods folder. There should already be a functional version of the mod in the game's pre-provided Mods folder as soon as you execute the "Build" function within Modbuddy.

does this look right?

Code:
<GameData>
        <Traits>
            <Update>
                <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
                <Set>
                    <TechFromCityConquer>true</TechFromCityConquer>
                    <WonderProductionModifier>20</WonderProductionModifier>
                    <FreeSocialPoliciesPerEra>1</FreeSocialPoliciesPerEra>
                    <BonusReligiousBelief>true</BonusReligiousBelief>
                    <NaturalWonderFirstFinderGold>500</NaturalWonderFirstFinderGold>
                    <NaturalWonderSubsequentFinderGold>100</NaturalWonderSubsequentFinderGold>
                    <NaturalWonderYieldModifier>100</NaturalWonderYieldModifier>
                    <NaturalWonderHappinessModifier>100</NaturalWonderHappinessModifier>
                    <GreatPeopleRateModifier>100</GreatPeopleRateModifier>
                    <GreatScientistRateModifier>50</GreatScientistRateModifier>
                    <FreeUnit>UNITCLASS_SCIENTIST</FreeUnit>
                    <FreeUnitPrereqTech>TECH_WRITING</FreeUnitPrereqTech>
                    <CapitalBuildingModifier>25</CapitalBuildingModifier>
                    <GoldenAgeDurationModifier>50</GoldenAgeDurationModifier>
                    <GoldenAgeMoveChange>1</GoldenAgeMoveChange>
                    <GoldenAgeCombatModifier>10</GoldenAgeCombatModifier>
                    <CityStateFriendshipModifier>100</CityStateFriendshipModifier>
                    <MayaCalendarBonuses>true</MayaCalendarBonuses>
                    <PrereqTech>TECH_THEOLOGY</PrereqTech>
                </Set>
            </Update>
        </Traits>
   <Trait_ExtraYieldThresholds>
        <Update>
            <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
            <Set>
                <Row>
                    <YieldType>YIELD_PRODUCTION</YieldType>
                    <Yield>1</Yield>
                </Row>
            </Set>
        </Update>
  </Trait_ExtraYieldThresholds>
      <Trait_ResourceQuantityModifiers>
        <Update>
            <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
               <Set>
                    <Row>
                         <ResourceType>RESOURCE_HORSE</ResourceType>
                         <ResourceQuantityModifier>100</ResourceQuantityModifier>
                   </Row>
              </Set>
      </Update>
</Trait_ResourceQuantityModifiers>
</GameData>
 
Syntax errors here
Code:
   <Trait_ExtraYieldThresholds>
        <Update>
            <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
            <Set>
                <Row>
                    <YieldType>YIELD_PRODUCTION</YieldType>
                    <Yield>1</Yield>
                </Row>
            </Set>
        </Update>
  </Trait_ExtraYieldThresholds>
      <Trait_ResourceQuantityModifiers>
        <Update>
            <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
               <Set>
                    <Row>
                         <ResourceType>RESOURCE_HORSE</ResourceType>
                         <ResourceQuantityModifier>100</ResourceQuantityModifier>
                   </Row>
              </Set>
      </Update>
</Trait_ResourceQuantityModifiers>
<Update>, <Replace>, <Delete> and <Row> are for lack of a better definition "synonyms" for each other. You cannot have <Update> within <Row> wrappers, or vice versa.

So you would want an <Update> to an existing row within a given table to be formatted as
Code:
<Trait_ExtraYieldThresholds>
	<Update>
		<Where Type="TRAIT_SLAYER_OF_TIAMAT" />
		<Set>
			<YieldType>YIELD_PRODUCTION</YieldType>
			<Yield>1</Yield>
		</Set>
	</Update>
</Trait_ExtraYieldThresholds>
<Trait_ResourceQuantityModifiers>
	<Update>
		<Where Type="TRAIT_SLAYER_OF_TIAMAT" />
		<Set>
			<ResourceType>RESOURCE_HORSE</ResourceType>
			<ResourceQuantityModifier>100</ResourceQuantityModifier>
		</Set>
	</Update>
</Trait_ResourceQuantityModifiers>
However, if there is not already a row within a given table that will match-up to the <Where> condition, the <Update> command will not do anything because there is literally nothing in such a table for the <Update> to apply the alteration. So in such cases you want <Row> rather than <Update>.

There is another problem, however. Tables <Trait_ExtraYieldThresholds> and <Trait_ResourceQuantityModifiers> do not use column "Type", they use column "TraitType". This is because they are both "child" tables to the primary "Traits" table. So you need to add an entiraly new row to these tables like this:
Code:
<Trait_ExtraYieldThresholds>
	<Row>
		<TraitType>TRAIT_SLAYER_OF_TIAMAT</TraitType>
		<YieldType>YIELD_PRODUCTION</YieldType>
		<Yield>1</Yield>
	</Row>
</Trait_ExtraYieldThresholds>
<Trait_ResourceQuantityModifiers>
	<Row>
		<TraitType>TRAIT_SLAYER_OF_TIAMAT</TraitType>
		<ResourceType>RESOURCE_HORSE</ResourceType>
		<ResourceQuantityModifier>100</ResourceQuantityModifier>
	</Row>
</Trait_ResourceQuantityModifiers>
There is yet another possible complication when doing <Update> alterations to "child" tables -- the child table can have more than one row existing within it that has for example the same designation for TraitType. The simplest method for dealing with this sort of thing, like what the game has for Russia
Code:
	<Trait_ResourceQuantityModifiers>
		<Row>
			<TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
			<ResourceType>RESOURCE_HORSE</ResourceType>
			<ResourceQuantityModifier>100</ResourceQuantityModifier>
		</Row>
		<Row>
			<TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
			<ResourceType>RESOURCE_IRON</ResourceType>
			<ResourceQuantityModifier>100</ResourceQuantityModifier>
		</Row>
		<Row>
			<TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
			<ResourceType>RESOURCE_URANIUM</ResourceType>
			<ResourceQuantityModifier>100</ResourceQuantityModifier>
		</Row>
		<Row>
			<TraitType>TRAIT_LAND_TRADE_GOLD</TraitType>
			<ResourceType>RESOURCE_OIL</ResourceType>
			<ResourceQuantityModifier>100</ResourceQuantityModifier>
		</Row>
	</Trait_ResourceQuantityModifiers>
Is to do this
Code:
	<Trait_ResourceQuantityModifiers>
		<Delete TraitType="TRAIT_STRATEGIC_RICHES" />
		<Row>
			<TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
			<ResourceType>RESOURCE_HORSE</ResourceType>
			<ResourceQuantityModifier>200</ResourceQuantityModifier>
		</Row>
		<Row>
			<TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
			<ResourceType>RESOURCE_IRON</ResourceType>
			<ResourceQuantityModifier>200</ResourceQuantityModifier>
		</Row>
	</Trait_ResourceQuantityModifiers>
The Delete command gets rid of anything within the table that matches to
Code:
TraitType="TRAIT_STRATEGIC_RICHES"
and leaves everything else. And then you can safely add new rows back into the table.

If you examine what I did there I effectively doubled the effect for Russia (Catherine) for Horses and Iron but eliminated the effect for Uranium. And I left intact the Oil effect for the Morocco (?) trait. Can't remember at the moment whether TRAIT_LAND_TRADE_GOLD is Morocco's leader trait.
 
Syntax errors here
Code:
   <Trait_ExtraYieldThresholds>
        <Update>
            <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
            <Set>
                <Row>
                    <YieldType>YIELD_PRODUCTION</YieldType>
                    <Yield>1</Yield>
                </Row>
            </Set>
        </Update>
  </Trait_ExtraYieldThresholds>
      <Trait_ResourceQuantityModifiers>
        <Update>
            <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
               <Set>
                    <Row>
                         <ResourceType>RESOURCE_HORSE</ResourceType>
                         <ResourceQuantityModifier>100</ResourceQuantityModifier>
                   </Row>
              </Set>
      </Update>
</Trait_ResourceQuantityModifiers>
<Update>, <Replace>, <Delete> and <Row> are for lack of a better definition "synonyms" for each other. You cannot have <Update> within <Row> wrappers, or vice versa.

So you would want an <Update> to an existing row within a given table to be formatted as
Code:
<Trait_ExtraYieldThresholds>
    <Update>
        <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
        <Set>
            <YieldType>YIELD_PRODUCTION</YieldType>
            <Yield>1</Yield>
        </Set>
    </Update>
</Trait_ExtraYieldThresholds>
<Trait_ResourceQuantityModifiers>
    <Update>
        <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
        <Set>
            <ResourceType>RESOURCE_HORSE</ResourceType>
            <ResourceQuantityModifier>100</ResourceQuantityModifier>
        </Set>
    </Update>
</Trait_ResourceQuantityModifiers>
However, if there is not already a row within a given table that will match-up to the <Where> condition, the <Update> command will not do anything because there is literally nothing in such a table for the <Update> to apply the alteration. So in such cases you want <Row> rather than <Update>.

There is another problem, however. Tables <Trait_ExtraYieldThresholds> and <Trait_ResourceQuantityModifiers> do not use column "Type", they use column "TraitType". This is because they are both "child" tables to the primary "Traits" table. So you need to add an entiraly new row to these tables like this:
Code:
<Trait_ExtraYieldThresholds>
    <Row>
        <TraitType>TRAIT_SLAYER_OF_TIAMAT</TraitType>
        <YieldType>YIELD_PRODUCTION</YieldType>
        <Yield>1</Yield>
    </Row>
</Trait_ExtraYieldThresholds>
<Trait_ResourceQuantityModifiers>
    <Row>
        <TraitType>TRAIT_SLAYER_OF_TIAMAT</TraitType>
        <ResourceType>RESOURCE_HORSE</ResourceType>
        <ResourceQuantityModifier>100</ResourceQuantityModifier>
    </Row>
</Trait_ResourceQuantityModifiers>
There is yet another possible complication when doing <Update> alterations to "child" tables -- the child table can have more than one row existing within it that has for example the same designation for TraitType. The simplest method for dealing with this sort of thing, like what the game has for Russia
Code:
    <Trait_ResourceQuantityModifiers>
        <Row>
            <TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
            <ResourceType>RESOURCE_HORSE</ResourceType>
            <ResourceQuantityModifier>100</ResourceQuantityModifier>
        </Row>
        <Row>
            <TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
            <ResourceType>RESOURCE_IRON</ResourceType>
            <ResourceQuantityModifier>100</ResourceQuantityModifier>
        </Row>
        <Row>
            <TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
            <ResourceType>RESOURCE_URANIUM</ResourceType>
            <ResourceQuantityModifier>100</ResourceQuantityModifier>
        </Row>
        <Row>
            <TraitType>TRAIT_LAND_TRADE_GOLD</TraitType>
            <ResourceType>RESOURCE_OIL</ResourceType>
            <ResourceQuantityModifier>100</ResourceQuantityModifier>
        </Row>
    </Trait_ResourceQuantityModifiers>
Is to do this
Code:
    <Trait_ResourceQuantityModifiers>
        <Delete TraitType="TRAIT_STRATEGIC_RICHES" />
        <Row>
            <TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
            <ResourceType>RESOURCE_HORSE</ResourceType>
            <ResourceQuantityModifier>200</ResourceQuantityModifier>
        </Row>
        <Row>
            <TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
            <ResourceType>RESOURCE_IRON</ResourceType>
            <ResourceQuantityModifier>200</ResourceQuantityModifier>
        </Row>
    </Trait_ResourceQuantityModifiers>
The Delete command gets rid of anything within the table that matches to
Code:
TraitType="TRAIT_STRATEGIC_RICHES"
and leaves everything else. And then you can safely add new rows back into the table.

If you examine what I did there I effectively doubled the effect for Russia (Catherine) for Horses and Iron but eliminated the effect for Uranium. And I left intact the Oil effect for the Morocco (?) trait. Can't remember at the moment whether TRAIT_LAND_TRADE_GOLD is Morocco's leader trait.
Thanks

How about instead of editing one leader trait to have many unique abilities, is it possible to have many traits for one leader instead? say I want ashurbanipal to have slayer of tiamat, strategich riches, and seven cities. to clarify, I'm asking if you can add mire than one leader trait when editing leaders in xml
 
Yes, a leader can have more than one trait, the game core just merges them together. You can also use the ObsoleteTech and PrereqTech columns in the Traits table to have trait effects come and go as the game progresses
 
I added a few things and the code no longer seems to be working. I started a new game
Code:
<GameData>
        <Traits>
            <Update>
                <Where Type="TRAIT_SLAYER_OF_TIAMAT" />
                <Set>
                    <TechFromCityConquer>true</TechFromCityConquer>
                    <WonderProductionModifier>20</WonderProductionModifier>
                    <FreeSocialPoliciesPerEra>1</FreeSocialPoliciesPerEra>
                    <BonusReligiousBelief>true</BonusReligiousBelief>
                    <NaturalWonderFirstFinderGold>500</NaturalWonderFirstFinderGold>
                    <NaturalWonderSubsequentFinderGold>100</NaturalWonderSubsequentFinderGold>
                    <NaturalWonderYieldModifier>100</NaturalWonderYieldModifier>
                    <NaturalWonderHappinessModifier>100</NaturalWonderHappinessModifier>
                    <GreatPeopleRateModifier>100</GreatPeopleRateModifier>
                    <GreatScientistRateModifier>50</GreatScientistRateModifier>
                    <FreeUnit>UNITCLASS_SCIENTIST</FreeUnit>
                    <FreeUnitPrereqTech>TECH_WRITING</FreeUnitPrereqTech>
                    <FreeUnit>UNITCLASS_MERCHANT</FreeUnit>
                    <FreeUnitPrereqTech>TECH_OPTICS</FreeUnitPrereqTech>
                    <MayaCalendarBonuses>true</MayaCalendarBonuses>
                    <PrereqTech>TECH_THEOLOGY</PrereqTech>
                    <CapitalBuildingModifier>25</CapitalBuildingModifier>
                    <GoldenAgeDurationModifier>50</GoldenAgeDurationModifier>
                    <GoldenAgeMoveChange>1</GoldenAgeMoveChange>
                    <GoldenAgeCombatModifier>10</GoldenAgeCombatModifier>
                    <CityStateBonusModifier>50</CityStateBonusModifier>
                    <CityStateFriendshipModifier>100</CityStateFriendshipModifier>
                    <MaxGlobalBuildingProductionModifier>50</MaxGlobalBuildingProductionModifier>
                    <MaxTeamBuildingProductionModifier>50</MaxTeamBuildingProductionModifier>
                    <MaxPlayerBuildingProductionModifier>50</MaxPlayerBuildingProductionModifier>
                    <PlotBuyCostModifier>-50</PlotBuyCostModifier>
                    <LuxuryHappinessRetention>50</LuxuryHappinessRetention>
                    <ExtraFoundedCityTerritoryClaimRange>8</ExtraFoundedCityTerritoryClaimRange>
                    <FightWellDamaged>true</FightWellDamaged>
                    <CultureFromKills>100</CultureFromKills>
                    <CityCultureBonus>2</CityCultureBonus>
                    <FreeBuilding>BUILDING_HARBOR</FreeBuilding>
                </Set>
            </Update>
        </Traits>
    <Trait_ExtraYieldThresholds>
        <Row>
            <TraitType>TRAIT_SLAYER_OF_TIAMAT</TraitType>
            <YieldType>YIELD_PRODUCTION</YieldType>
            <Yield>1</Yield>
        </Row>
        <Row>
            <TraitType>TRAIT_SLAYER_OF_TIAMAT</TraitType>
            <YieldType>YIELD_FOOD</YieldType>
            <Yield>2</Yield>
        </Row>
    </Trait_ExtraYieldThresholds>
    <Trait_YieldChanges>
        <Row>
            <TraitType>TRAIT_SLAYER_OF_TIAMAT</TraitType>
            <YieldType>YIELD_GOLD</YieldType>
            <Yield>2</Yield>
        </Row>
    </Trait_YieldChanges>
    <Trait_ImprovementYieldChanges>
    <Row>
        <TraitType>TRAIT_SLAYER_OF_TIAMAT</TraitType>
        <ImprovementType>IMPROVEMENT_PASTURE</ImprovementType>
        <YieldType>YIELD_PRODUCTION</YieldType>
        <Yield>1</Yield>
    </Row>
    </Trait_ImprovementYieldChanges>
    <Trait_ResourceQuantityModifiers>
        <Row>
            <TraitType>TRAIT_SLAYER_OF_TIAMAT</TraitType>
            <ResourceType>RESOURCE_HORSE</ResourceType>
            <ResourceQuantityModifier>100</ResourceQuantityModifier>
        </Row>
        <Row>
            <TraitType>TRAIT_SLAYER_OF_TIAMAT</TraitType>
            <ResourceType>RESOURCE_IRON</ResourceType>
            <ResourceQuantityModifier>100</ResourceQuantityModifier>
        </Row>
        <Row>
            <TraitType>TRAIT_SLAYER_OF_TIAMAT</TraitType>
            <ResourceType>RESOURCE_URANIUM</ResourceType>
            <ResourceQuantityModifier>100</ResourceQuantityModifier>
        </Row>
    </Trait_ResourceQuantityModifiers>
</GameData>
 
Code:
<FreeUnit>UNITCLASS_SCIENTIST</FreeUnit>
                    <FreeUnitPrereqTech>TECH_WRITING</FreeUnitPrereqTech>
                    <FreeUnit>UNITCLASS_MERCHANT</FreeUnit>
No single row within a table can give data for the same column more than once. You have FreeUnit twice here, which causes the game to reject the entire contents of the file.

Even without the fatal syntax error there is a limit to how much stuff you can pile onto a single leader before the game will not add any more Trait Stuff to that leader regardless of whether the Trait Stuff is given all within a single Trait or is from assigning multiple Traits to the same leader.
 
here is the mod
 

Attachments

  • Edit Unique Ability (v 1).7z
    1.5 KB · Views: 28
Code:
<FreeUnit>UNITCLASS_SCIENTIST</FreeUnit>
                    <FreeUnitPrereqTech>TECH_WRITING</FreeUnitPrereqTech>
                    <FreeUnit>UNITCLASS_MERCHANT</FreeUnit>
No single row within a table can give data for the same column more than once. You have FreeUnit twice here, which causes the game to reject the entire contents of the file.

Even without the fatal syntax error there is a limit to how much stuff you can pile onto a single leader before the game will not add any more Trait Stuff to that leader regardless of whether the Trait Stuff is given all within a single Trait or is from assigning multiple Traits to the same leader.


do you know how much that limit is?
 
Last edited:
Top Bottom