Editing Traits for Eleanor of France

darkwolf218

Chieftain
Joined
Jun 15, 2020
Messages
11
I'm trying to edit Eleanor of France's Court of Love trait, but I just cannot find it. I've found her leader reference, but nowhere can I find her ability. I'm also trying to edit the Ambassador Governor's Embassy Ability, but that also would not change in-game, no matter how I edited it.
 
TRAIT_LEADER_ELEANOR_LOYALTY, you probably have to see it in DLC folders.

Check out this search if you don't find something in files: https://forums.civfanatics.com/resources/civ-6-database-search-vanilla-r-f-and-gs.26678/

That's the one I edited, but it didn't affect the game in any way. I tried loading my current game and starting a new one, and it didn't do anything.

Also, a lot of the files that that search brings up don't exist in my game files. Mine names them as expansion 1 and expansion 2, not RaF and GS.
 
Last edited:
Probably depends how you are editing it. Expansion 1 = RaF and expansion 2 = GS.
I get that, but I ran a string search in my files; the string "Eleanor_LOYALTY" only appears in 6 files, three of which are solely text. Only once does a number appear with that tag, and I've changed it and seen nothing occur.
 
Are you getting any errors in Database.log ?

I just finished wrestling with a value that refused to change only to realize that I had botched some code earlier in the night. Everything seemed to be loading fine, but the error caused everything after it in my code to be ignored. Consulting Database.log alerted me to my problem.
 
Are you getting any errors in Database.log ?

I just finished wrestling with a value that refused to change only to realize that I had botched some code earlier in the night. Everything seemed to be loading fine, but the error caused everything after it in my code to be ignored. Consulting Database.log alerted me to my problem.
I haven't touched any of the other code. Literally the only thing that has been changed is the number attached to IDENTITY GREAT_WORKS. I changed the description in the config file, and that updated without issue.

I checked database.log and it says database is up to date.

Is there another place where I'm missing a number that I need to change? My string search says no, but something is still wrong.
 
Last edited:
Looking at Elanor's loyalty trait, there are two abilities attached: SKIP_FREE_CITY and IDENTITY_NEARBY_GREATWORKS. What change are you trying to make exactly?
 
Looking at Elanor's loyalty trait, there are two abilities attached: SKIP_FREE_CITY and IDENTITY_NEARBY_GREATWORKS. What change are you trying to make exactly?
The one labeled SKIP_FREE_CITY is just a true false as to whether or not those cities skip that stage.

The IDENTITY GREAT_WORKS is, so far as I can tell, the one that controls how much loyalty is lost per turn due to her great works. I am trying to increase that number from 1 to 5, so that each city loses 5 loyalty per turn per Great Work, as opposed to 1. I've changed it, but it didn't change in game.
 
What method are you using to make your edits? Using SQL, the following should do the trick.

Code:
UPDATE ModifierArguments SET Value = 5 WHERE ModifierID = 'IDENTITY_NEARBY_GREATWORKS' AND Name = 'Amount';
 
What method are you using to make your edits? Using SQL, the following should do the trick.

Code:
UPDATE ModifierArguments SET Value = 5 WHERE ModifierID = 'IDENTITY_NEARBY_GREATWORKS' AND Name = 'Amount';
It's an XML file, but still similar.


<ModifierId>IDENTITY_NEARBY_GREATWORKS</ModifierId>
<Name>Amount</Name>
<Value>5</Value>
That should work but doesn't, and I have no idea why.
 
This works to alter the code in the ModifierArguments table (as verified by looking at the contents of the actual game database)
Code:
<GameData>
	<ModifierArguments>
		<Update>
			<Where ModifierId="IDENTITY_NEARBY_GREATWORKS" Name="Amount" />
			<Set Value="5"/>
		</Update>
	</ModifierArguments>
</GameData>
However this does not mean the effect will be seen when loading a saved game. This is because generally once a modifier has been attached to an Object (and Eleanor of France is an Object in these terms), alterations to the argument data are not implemented. Also, there is no guarantee that Firaxis did not actually code the EffectType used to act as a Boolean, even though an "Amount" argument is being used in the ModifierArguments table.

Nor will the InGame text that is displayed be affected either unless the description tag that explains the effect of the modifier is directly-altered to show the new values. Even if the text tag is altered this does not mean the game is actually implementing the new code effect. Text is just that -- hard-coded text (for the most part) that has actually nothing to do with the thing that is being described. You could change Eleanor of France and Eleanor of England's text to read entirely
Code:
Cheeseburgers! Cheeseburgers! Cheeseburgers! Cheeseburgers for all!

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

It's an XML file, but still similar.

That should work but doesn't, and I have no idea why.
If your code looks something like this
Code:
<GameData>
	<ModifierArguments>
		<Row>
			<ModifierId>IDENTITY_NEARBY_GREATWORKS</ModifierId>
			<Name>Amount</Name>
			<Value>5</Value></Update>
		</Row>
	</ModifierArguments>
</GameData>
or this
Code:
<GameData>
	<ModifierArguments>
		<Update>
			<ModifierId>IDENTITY_NEARBY_GREATWORKS</ModifierId>
			<Name>Amount</Name>
			<Value>5</Value></Update>
		</Update>
	</ModifierArguments>
</GameData>
You have a fatal syntax error in either case which Database.log will be reporting if your XML file is in fact being loaded into the game's database.

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

In order to help you fix whatever exactly it is you are doing wrong it is necessary to see exactly what it is you are doing in its entirety.
 
Last edited:
This works to alter the code in the ModifierArguments table (as verified by looking at the contents of the actual game database)
Code:
<GameData>
    <ModifierArguments>
        <Update>
            <Where ModifierId="IDENTITY_NEARBY_GREATWORKS" Name="Amount" />
            <Set Value="5"/>
        </Update>
    </ModifierArguments>
</GameData>
However this does not mean the effect will be seen when loading a saved game. This is because generally once a modifier has been attached to an Object (and Eleanor of France is an Object in these terms), alterations to the argument data are not implemented. Also, there is no guarantee that Firaxis did not actually code the EffectType used to act as a Boolean, even though an "Amount" argument is being used in the ModifierArguments table.

Nor will the InGame text that is displayed be affected either unless the description tag that explains the effect of the modifier is directly-altered to show the new values. Even if the text tag is altered this does not mean the game is actually implementing the new code effect. Text is just that -- hard-coded text (for the most part) that has actually nothing to do with the thing that is being described. You could change Eleanor of France and Eleanor of England's text to read entirely
Code:
Cheeseburgers! Cheeseburgers! Cheeseburgers! Cheeseburgers for all!

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

If your code looks something like this
Code:
<GameData>
    <ModifierArguments>
        <Row>
            <ModifierId>IDENTITY_NEARBY_GREATWORKS</ModifierId>
            <Name>Amount</Name>
            <Value>5</Value></Update>
        </Row>
    </ModifierArguments>
</GameData>
or this
Code:
<GameData>
    <ModifierArguments>
        <Update>
            <ModifierId>IDENTITY_NEARBY_GREATWORKS</ModifierId>
            <Name>Amount</Name>
            <Value>5</Value></Update>
        </Update>
    </ModifierArguments>
</GameData>
You have a fatal syntax error in either case which Database.log will be reporting if your XML file is in fact being loaded into the game's database.

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

In order to help you fix whatever exactly it is you are doing wrong it is necessary to see exactly what it is you are doing in its entirety.
The ingame text was changed- it changed as soon as I updated it in the Config file. The value itself, ingame, did not change even in a totally new game.
 
What LoadOrder setting are your using ?

Again, cannot really advise you as to what you might be doing wrong if I cannot see what it is that you are actually doing. If you are doing this through a mod, then you need to zip the mod and attach to a post.
 
It's not a mod; it's me just modifying the data in the file to get it to change. I've done it in the past with several other leaders, including Tomyris, Gandhi, and Pericles. This is the first one to fail to change.

I've attached the file that I modified to the post.
 

Attachments

Also curious if anyone knows: I was at war with Hungary, then, out of nowhere, they became a free city, and all of Sparta joined my empire. No war, not even an attack on Sparta; they just joined me. Gorgo said "You would make a good Spartan. Strong, Resilient, Brave," but never gave the "Ares has abandoned us. Sparta is defeated" speech.
 
Using the method you are using I can see the alteration in the game's DebugGameplay.sqlite Database file once the game has loaded. If the effects are not being altered when using an entirely new game then EFFECT_ADJUST_IDENTITY_PER_TURN_FROM_NEARBY_GREAT_WORKS is either (a) actually implemented as a Boolean or annoyingly hard-coded in the game engine DLL or some other non-obvious issue is being encountered, or (b) the distance for "nearby" isn't being met when you check to see if the effects are being altered.
 
Using the method you are using I can see the alteration in the game's DebugGameplay.sqlite Database file once the game has loaded. If the effects are not being altered when using an entirely new game then EFFECT_ADJUST_IDENTITY_PER_TURN_FROM_NEARBY_GREAT_WORKS is either (a) actually implemented as a Boolean or annoyingly hard-coded in the game engine DLL or some other non-obvious issue is being encountered, or (b) the distance for "nearby" isn't being met when you check to see if the effects are being altered.
So if it's a Boolean then I'd have to open up the game code to change it, which would be annoyingly time-consuming, and if its the other thing, then it's just being annoying about what "nearby" is. At least I know now that it's not worth wasting time over anymore.

Any clue about the "Hungary randomly going free city then immediately joining me, along with all of Sparta and one Spanish city" thing?
 
The Hungary & Sparta thing you mention has me confused as does you, to be honest.

"Nearby" is described as being within 9 tiles of the plot where the great work is located.

So far as the possibility of hardcoding or actual coding as a Boolean at the DLL level, if this is true (and it is only a guess on my part at this time given what you have encountered) there's no way to change it since we have no access to the game's DLL sourcecode.

We would all like access to the DLL sourcecode, if for no other reason than we as a modding community could verify what is and is not coded within the controlling DLL code, but Firaxis has stated they have no plans at the moment to release the DLL source code. This decision is likely not one made by anyone at Firaxis and has probably been made at the 2K or higher corporate levels.
 
The Hungary & Sparta thing you mention has me confused as does you, to be honest.

"Nearby" is described as being within 9 tiles of the plot where the great work is located.

So far as the possibility of hardcoding or actual coding as a Boolean at the DLL level, if this is true (and it is only a guess on my part at this time given what you have encountered) there's no way to change it since we have no access to the game's DLL sourcecode.

We would all like access to the DLL sourcecode, if for no other reason than we as a modding community could verify what is and is not coded within the controlling DLL code, but Firaxis has stated they have no plans at the moment to release the DLL source code. This decision is likely not one made by anyone at Firaxis and has probably been made at the 2K or higher corporate levels.
It happened again with Spain and Scotland, same game, same thing. I declared war, attacked, ended the turn, and Spain and Scotland, over the course of 1 turn, went free city, then to me. Loyalty was showing as -200 per turn when they went free. Phillip II gave his defeat speech; Robert the Bruce did not. No grivenaces for conquering the nations, but credit towards a domination victory. Same thing with Canada and Incas.
 
Back
Top Bottom