The order they appear is handled by the GovernorPromotions table - the relevant columns are Level, Column and BaseAbility. Presumably, you don't just want to change their position, but also the pre-reqs, for which you need to look at the GovernorPromotionPrereqs table.
[451246.862] [Gameplay] ERROR: UNIQUE constraint failed: Modifiers.ModifierId
[451246.862] [Gameplay]: While executing - 'insert into Modifiers('ModifierId', 'ModifierType', 'SubjectRequirementSetId', 'Permanent') values (?, ?, ?, ?);'
[451246.862] [Gameplay]: In XMLSerializer while inserting row into table insert into Modifiers('ModifierId', 'ModifierType', 'SubjectRequirementSetId', 'Permanent') with values (AtlasGoverning_Surveyor_Guildmaster_Increased_Builder_Movement, MODIFIER_SINGLE_CITY_GRANT_ABILITY_FOR_TRAINED_UNITS, UNIT_IS_MILITARY_ENGINEER, 1, ).
[451246.862] [Gameplay]: In XMLSerializer while updating table Modifiers from file SurveyorInfrastructure.xml.
[451246.862] [Gameplay] ERROR: UNIQUE constraint failed: Modifiers.ModifierId
In case you're able to figure it out quicker than me, I'm seeing this in database.log
Code:[451246.862] [Gameplay] ERROR: UNIQUE constraint failed: Modifiers.ModifierId [451246.862] [Gameplay]: While executing - 'insert into Modifiers('ModifierId', 'ModifierType', 'SubjectRequirementSetId', 'Permanent') values (?, ?, ?, ?);' [451246.862] [Gameplay]: In XMLSerializer while inserting row into table insert into Modifiers('ModifierId', 'ModifierType', 'SubjectRequirementSetId', 'Permanent') with values (AtlasGoverning_Surveyor_Guildmaster_Increased_Builder_Movement, MODIFIER_SINGLE_CITY_GRANT_ABILITY_FOR_TRAINED_UNITS, UNIT_IS_MILITARY_ENGINEER, 1, ). [451246.862] [Gameplay]: In XMLSerializer while updating table Modifiers from file SurveyorInfrastructure.xml. [451246.862] [Gameplay] ERROR: UNIQUE constraint failed: Modifiers.ModifierId
Edit: removed "correct" code as I'm no longer sure it is.
[592700.989] [Gameplay] ERROR: UNIQUE constraint failed: Modifiers.ModifierId
[592700.989] [Gameplay]: While executing - 'insert into Modifiers('ModifierId', 'ModifierType', 'SubjectRequirementSetId', 'Permanent') values (?, ?, ?, ?);'
[592700.989] [Gameplay]: In XMLSerializer while inserting row into table insert into Modifiers('ModifierId', 'ModifierType', 'SubjectRequirementSetId', 'Permanent') with values (AtlasGoverning_Surveyor_Guildmaster_Increased_Builder_Movement, MODIFIER_SINGLE_CITY_GRANT_ABILITY_FOR_TRAINED_UNITS, UNIT_IS_MILITARY_ENGINEER, 1, ).
[592700.989] [Gameplay]: In XMLSerializer while updating table Modifiers from file SurveyorInfrastructure.xml.
[592700.989] [Gameplay] ERROR: UNIQUE constraint failed: Modifiers.ModifierId
<Row>
<ModifierId>AtlasGoverning_Surveyor_Guildmaster_Increased_Builder_Movement</ModifierId>
<Name>AbilityType</Name>
<Value>AtlasGoverning_Surveyor_Engineer_Increased_Movement</Value>
</Row>
<Row>
<ModifierId>AtlasGoverning_Surveyor_Guildmaster_Increased_Engineer_Movement</ModifierId>
<Name>AbilityType</Name>
<Value>AtlasGoverning_Surveyor_Engineer_Increased_Movement</Value>
</Row>
Have you had any luck fixing this? Using the latest file you provided, I'm getting these errors in modding.log:
Code:[592700.989] [Gameplay] ERROR: UNIQUE constraint failed: Modifiers.ModifierId [592700.989] [Gameplay]: While executing - 'insert into Modifiers('ModifierId', 'ModifierType', 'SubjectRequirementSetId', 'Permanent') values (?, ?, ?, ?);' [592700.989] [Gameplay]: In XMLSerializer while inserting row into table insert into Modifiers('ModifierId', 'ModifierType', 'SubjectRequirementSetId', 'Permanent') with values (AtlasGoverning_Surveyor_Guildmaster_Increased_Builder_Movement, MODIFIER_SINGLE_CITY_GRANT_ABILITY_FOR_TRAINED_UNITS, UNIT_IS_MILITARY_ENGINEER, 1, ). [592700.989] [Gameplay]: In XMLSerializer while updating table Modifiers from file SurveyorInfrastructure.xml. [592700.989] [Gameplay] ERROR: UNIQUE constraint failed: Modifiers.ModifierId
Modifiers give me headaches, but I'll keep poking around trying to figure it out unless someone else posts the answer.
Edit: Is it me, or are you not actually giving +1 movement to builders and engineers in that file? The modifier arguments has +1 charges added, but on movement just has this:
Code:<Row> <ModifierId>AtlasGoverning_Surveyor_Guildmaster_Increased_Builder_Movement</ModifierId> <Name>AbilityType</Name> <Value>AtlasGoverning_Surveyor_Engineer_Increased_Movement</Value> </Row> <Row> <ModifierId>AtlasGoverning_Surveyor_Guildmaster_Increased_Engineer_Movement</ModifierId> <Name>AbilityType</Name> <Value>AtlasGoverning_Surveyor_Engineer_Increased_Movement</Value> </Row>
[592700.989] [Gameplay] ERROR: UNIQUE constraint failed: Modifiers.ModifierId
[592700.989] [Gameplay]: While executing - 'insert into Modifiers('ModifierId', 'ModifierType', 'SubjectRequirementSetId', 'Permanent') values (?, ?, ?, ?);'
[592700.989] [Gameplay]: In XMLSerializer while inserting row into table insert into Modifiers('ModifierId', 'ModifierType', 'SubjectRequirementSetId', 'Permanent') with values (AtlasGoverning_Surveyor_Guildmaster_Increased_Builder_Movement, MODIFIER_SINGLE_CITY_GRANT_ABILITY_FOR_TRAINED_UNITS, UNIT_IS_MILITARY_ENGINEER, 1, ).
[592700.989] [Gameplay]: In XMLSerializer while updating table Modifiers from file SurveyorInfrastructure.xml.
[592700.989] [Gameplay] ERROR: UNIQUE constraint failed: Modifiers.ModifierId
[592700.989] [Gameplay] ERROR: UNIQUE constraint failed: Modifiers.ModifierId
CREATE TABLE "Modifiers" (
"ModifierId" TEXT NOT NULL,
"ModifierType" TEXT NOT NULL,
"RunOnce" BOOLEAN NOT NULL CHECK (RunOnce IN (0,1)) DEFAULT 0,
"NewOnly" BOOLEAN NOT NULL CHECK (NewOnly IN (0,1)) DEFAULT 0,
"Permanent" BOOLEAN NOT NULL CHECK (Permanent IN (0,1)) DEFAULT 0,
"OwnerRequirementSetId" TEXT,
"SubjectRequirementSetId" TEXT,
"OwnerStackLimit" INTEGER,
"SubjectStackLimit" INTEGER,
PRIMARY KEY(ModifierId),
FOREIGN KEY (OwnerRequirementSetId) REFERENCES RequirementSets(RequirementSetId) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (SubjectRequirementSetId) REFERENCES RequirementSets(RequirementSetId) ON DELETE CASCADE ON UPDATE CASCADE);
<?xml version="1.0" encoding="utf-8"?>
<Mod id="299a1e6e-cff6-41ab-b57c-2e4d24a484dd" version="1">
<Properties>
<Name>Atlas' More Interesting Governing - Gathering Storm</Name>
<Description>This mod is part of a series of mods with the goal to make choices in the game more interesting by both balancing them and adding more interesting mechanics. The goal of this mod in particular is to make Loyalty more dynamic, and also to make the Governors more powerful and interesting to use.</Description>
<Teaser>More interesting and powerful Governors</Teaser>
<Authors>Atlas</Authors>
<CompatibleVersions>1.2,2.0</CompatibleVersions>
</Properties>
<Dependencies>
<Mod id="4873eb62-8ccc-4574-b784-dda455e74e68" title="Expansion: Gathering Storm" />
<Mod id="1B28771A-C749-434B-9053-D1380C553DE9" title="Expansion: Rise and Fall" />
<Mod id="2F6E858A-28EF-46B3-BEAC-B985E52E9BC1" title="DLC: Vikings Content" />
</Dependencies>
<InGameActions>
<UpdateDatabase id="AtlasGoverning_Gameplay">
<Properties>
<LoadOrder>151</LoadOrder>
</Properties>
<File>Loyalty/Improvements.xml</File>
<File>Loyalty/Parameters.xml</File>
<File>Governors/CardinalReligious.xml</File>
<File>Governors/SurveyorInfrastructure.xml</File>
</UpdateDatabase>
<UpdateText id="AtlasGoverning_Text">
<Properties>
<LoadOrder>151</LoadOrder>
</Properties>
<File>Loyalty/LoyaltyDescriptions.xml</File>
<File>Governors/CardinalDescriptions.xml</File>
<File>Governors/SurveyorDescriptions.xml</File>
</UpdateText>
</InGameActions>
<Files>
<File>Governors/CardinalDescriptions.xml</File>
<File>Governors/CardinalReligious.xml</File>
<File>Governors/EducatorResearch.xml</File>
<File>Governors/SurveyorDescriptions.xml</File>
<File>Governors/SurveyorInfrastructure.xml</File>
<File>Loyalty/Improvements.xml</File>
<File>Loyalty/LoyaltyDescriptions.xml</File>
<File>Loyalty/Parameters.xml</File>
</Files>
</Mod>