I'm trying to make a custom Andorra civilization, but am getting errors that I don't know how to fix.
I am able to play as my mod, but the leader and civilization abilities aren't working. In the Database log it says "unique constraint error" and "no such table: Types" or something like that. The unique constraint error apparently is in the ModifierArguments section?
I don't know how to fix these errors. I thought unique constraint errors were from the same code being in multiple places, but I don't see where that happens. I also thought the "no such table: Types" would be from forgetting to have a Types table or forgetting to put something in said table, but I don't see any mistakes with that either, so I'm at a loss.
Unfortunately, I can't attach the mod file, because this website says the file is too large. So, I will copy the code in the files where the errors seem to be occurring. Hopefully this will be enough for someone to diagnose the problem.
<?xml version="1.0" encoding="utf-8"?>
<GameInfo>
<Types>
<Row Type="BUILDING_CW_CASA" Kind="KIND_BUILDING"/>
</Types>
<Buildings>
<Row BuildingType="BUILDING_CW_CASA" Name="LOC_BUILDING_CW_CASA_NAME" Description="LOC_BUILDING_CW_CASA_DESCRIPTION" PrereqTech="TECH_CASTLES" PrereqDistrict="DISTRICT_CITY_CENTER" PurchaseYield="YIELD_GOLD" Cost="200" AdvisorType="ADVISOR_GENERIC" Maintenance="0" Housing="2" TraitType="TRAIT_CIVILIZATION_BUILDING_CW_CASA"/>
</Buildings>
<Building_YieldChanges>
<Row BuildingType="BUILDING_CW_CASA" YieldType="YIELD_CULTURE" YieldChange="1"/>
</Building_YieldChanges>
<Building_GreatPersonPoints>
<Row BuildingType="BUILDING_CW_CASA" GreatPersonClassType="GREAT_PERSON_CLASS_WRITER" PointsPerTurn="1"/>
</Building_GreatPersonPoints>
<Building_GreatWorks>
<Row BuildingType="BUILDING_CW_CASA" GreatWorkSlotType="GREATWORKSLOT_WRITING" NumSlots="1"/>
</Building_GreatWorks>
</GameInfo>
This next spoiler contains the section of the GameDefines code involving custom leader traits and civilization traits. I suspect there is a problem coming from here too. I wish I could upload the entire mod file but it just isn't letting me because the file is apparently too large.
--==========================================================================================================================
-- LEADERS: TRAITS
--==========================================================================================================================
-- Types
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Types
(Type, Kind)
VALUES ('TRAIT_LEADER_CW_ROGER_BERNARD_PAREAGE', 'KIND_TRAIT');
--------------------------------------------------------------------------------------------------------------------------
-- Traits
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Traits
(TraitType, Name, Description)
VALUES ('TRAIT_LEADER_CW_ROGER_BERNARD_PAREAGE', 'LOC_TRAIT_LEADER_CW_ROGER_BERNARD_PAREAGE_NAME', 'LOC_TRAIT_LEADER_CW_ROGER_BERNARD_PAREAGE_DESCRIPTION');
--------------------------------------------------------------------------------------------------------------------------
-- TraitModifiers
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO TraitModifiers
(TraitType, ModifierId)
VALUES ('TRAIT_LEADER_CW_ROGER_BERNARD_PAREAGE', 'CW_ROGER_BERNARD_PAREAGE_CULTURE');
--------------------------------------------------------------------------------------------------------------------------
-- Modifiers
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Modifiers
(ModifierId, ModifierType)
VALUES ('CW_ROGER_BERNARD_PAREAGE_CULTURE', 'MODIFIER_PLAYER_ADJUST_YIELD_CHANGE_PER_USED_INFLUENCE_TOKEN');
--------------------------------------------------------------------------------------------------------------------------
-- ModifierArguments
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO ModifierArguments
(ModifierId, Name, Value)
VALUES ('CW_ROGER_BERNARD_PAREAGE_CULTURE', 'YieldType', 'YIELD_CULTURE'),
('CW_ROGER_BERNARD_PAREAGE_CULTURE', 'Amount', '1');
--==========================================================================================================================
-- CIVILIZATIONS: TRAITS
--==========================================================================================================================
-- Types
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Types
(Type, Kind)
VALUES ('TRAIT_CIVILIZATION_BUILDING_CW_CASA', 'KIND_TRAIT'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'KIND_TRAIT'),
('MODIFIER_CW_PLAYER_CITIES_TERRAIN_ADJACENCY', 'KIND_MODIFIER');
--------------------------------------------------------------------------------------------------------------------------
-- Traits
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Traits
(TraitType, Name, Description)
VALUES ('TRAIT_CIVILIZATION_BUILDING_CW_CASA', 'LOC_TRAIT_CIVILIZATION_BUILDING_CW_CASA_NAME', 'LOC_TRAIT_CIVILIZATION_BUILDING_CW_CASA_DESCRIPTION'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'LOC_TRAIT_CIVILIZATION_CW_PYRENEES_NAME', 'LOC_TRAIT_CIVILIZATION_CW_PYRENEES_DESCRIPTION');
--------------------------------------------------------------------------------------------------------------------------
-- TraitModifiers
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO TraitModifiers
(TraitType, ModifierId)
VALUES ('TRAIT_CIVILIZATION_CW_PYRENEES', 'CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'CW_TRAIT_PYRENEES_GRASS_MOUNTAIN'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'CW_TRAIT_PYRENEES_DESERT_MOUNTAIN'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'CW_TRAIT_PYRENEES_SNOW_MOUNTAIN'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'CW_TRAIT_PYRENEES_PALACE_SLOTS');
--------------------------------------------------------------------------------------------------------------------------
-- DynamicModifiers
--------------------------------------------------------------------------------------------------------------------------
INSERT OR REPLACE INTO DynamicModifiers
(ModifierType, CollectionType, EffectType)
VALUES ('MODIFIER_CW_PLAYER_CITIES_TERRAIN_ADJACENCY', 'COLLECTION_PLAYER_CITIES', 'EFFECT_TERRAIN_ADJACENCY');
--------------------------------------------------------------------------------------------------------------------------
-- Modifiers
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Modifiers
(ModifierId, ModifierType)
VALUES ('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'MODIFIER_CW_PLAYER_CITIES_DISTRICT_ADJACENCY'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'MODIFIER_CW_PLAYER_CITIES_DISTRICT_ADJACENCY'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'MODIFIER_CW_PLAYER_CITIES_DISTRICT_ADJACENCY'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'MODIFIER_CW_PLAYER_CITIES_DISTRICT_ADJACENCY'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'MODIFIER_CW_PLAYER_CITIES_DISTRICT_ADJACENCY'),
('CW_TRAIT_PYRENEES_PALACE_SLOTS', 'MODIFIER_PLAYER_CITIES_ADJUST_EXTRA_GREAT_WORK_SLOTS');
--------------------------------------------------------------------------------------------------------------------------
-- ModifierArguments
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO ModifierArguments
(ModifierId, Name, Value)
VALUES ('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'TerrainType', 'TERRAIN_PLAINS_MOUNTAIN'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'YieldType', 'YIELD_CULTURE'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'TerrainType', 'TERRAIN_PLAINS_MOUNTAIN'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'YieldType', 'YIELD_GOLD'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'TerrainType', 'TERRAIN_PLAINS_MOUNTAIN'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'YieldType', 'YIELD_PRODUCTION'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'TerrainType', 'TERRAIN_GRASS_MOUNTAIN'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'YieldType', 'YIELD_CULTURE'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'TerrainType', 'TERRAIN_GRASS_MOUNTAIN'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'YieldType', 'YIELD_GOLD'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'TerrainType', 'TERRAIN_GRASS_MOUNTAIN'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'YieldType', 'YIELD_PRODUCTION'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'TerrainType', 'TERRAIN_DESERT_MOUNTAIN'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'YieldType', 'YIELD_CULTURE'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'TerrainType', 'TERRAIN_DESERT_MOUNTAIN'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'YieldType', 'YIELD_GOLD'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'TerrainType', 'TERRAIN_DESERT_MOUNTAIN'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'YieldType', 'YIELD_PRODUCTION'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'TerrainType', 'TERRAIN_TUNDRA_MOUNTAIN'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'YieldType', 'YIELD_CULTURE'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'TerrainType', 'TERRAIN_TUNDRA_MOUNTAIN'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'YieldType', 'YIELD_GOLD'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'TerrainType', 'TERRAIN_TUNDRA_MOUNTAIN'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'YieldType', 'YIELD_PRODUCTION'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'TerrainType', 'TERRAIN_SNOW_MOUNTAIN'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'YieldType', 'YIELD_CULTURE'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'TerrainType', 'TERRAIN_SNOW_MOUNTAIN'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'YieldType', 'YIELD_GOLD'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'TerrainType', 'TERRAIN_SNOW_MOUNTAIN'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'YieldType', 'YIELD_PRODUCTION'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_PALACE_SLOTS', 'BuildingType', 'BUILDING_PALACE'),
('CW_TRAIT_PYRENEES_PALACE_SLOTS', 'GreatWorkSlotType', 'GREATWORKSLOT_PALACE'),
('CW_TRAIT_PYRENEES_PALACE_SLOTS', 'Amount', '2');
--------------------------------------------------------------------------------------------------------------------------
-- Types
--------------------------------------------------------------------------------------------------------------------------
INSERT OR REPLACE INTO Types
(Type, Kind)
VALUES ('MODIFIER_CW_PLAYER_CITIES_TERRAIN_ADJACENCY', 'KIND_MODIFIER');
--------------------------------------------------------------------------------------------------------------------------
-- LeaderTraits
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO LeaderTraits
(LeaderType, TraitType)
VALUES ('LEADER_CW_ROGER_BERNARD', 'TRAIT_LEADER_CW_ROGER_BERNARD_PAREAGE');
----------------------------------------------------------------------------------------------------------------------------
-- CivilizationTraits
----------------------------------------------------------------------------------------------------------------------------
INSERT INTO CivilizationTraits
(TraitType, CivilizationType)
VALUES ('TRAIT_CIVILIZATION_BUILDING_CW_CASA', 'CIVILIZATION_CW_ANDORRA'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'CIVILIZATION_CW_ANDORRA');
As you can probably tell from that code, I am trying to give my civ a Culture, Gold, and Production bonus in cities settled adjacent to Mountain tiles. I posted another thread on this asking how this can be done, and I received responses saying it probably wasn't possible.
HOWEVER, I found an Ethiopia mod that gives Faith bonuses in cities settled adjacent to Mountains (or Hills). So, using that as a guideline, I went ahead and wrote my own code that should work the same way as the Ethiopia mod's code, but with different bonuses. If the Ethiopia mod works, mine should too, right? I must've done something wrong.
If necessary for diagnosing the problem, ask for another part of the code and I will provide it. As I said before, this website simply isn't letting me upload the entire mod file and that's why I'm just copying and pasting parts of code onto this thread.
To recap, the problem is that I am getting unique constraint errors (probably in ModifierArguments in problem file #2?) and "no such table: Types" (in the Building file, which is problem file #1).
If someone can help me out and find the problem, it'd be greatly appreciated. I really want to learn how to mod without needing help every time I try, but at least I am [kind of] learning. Hopefully in the future I'll have my own set of custom civilizations and leaders that actually WORK lol
Thanks in advance
I am able to play as my mod, but the leader and civilization abilities aren't working. In the Database log it says "unique constraint error" and "no such table: Types" or something like that. The unique constraint error apparently is in the ModifierArguments section?
I don't know how to fix these errors. I thought unique constraint errors were from the same code being in multiple places, but I don't see where that happens. I also thought the "no such table: Types" would be from forgetting to have a Types table or forgetting to put something in said table, but I don't see any mistakes with that either, so I'm at a loss.
Unfortunately, I can't attach the mod file, because this website says the file is too large. So, I will copy the code in the files where the errors seem to be occurring. Hopefully this will be enough for someone to diagnose the problem.
Spoiler Problem File #1: Unique Building :
<?xml version="1.0" encoding="utf-8"?>
<GameInfo>
<Types>
<Row Type="BUILDING_CW_CASA" Kind="KIND_BUILDING"/>
</Types>
<Buildings>
<Row BuildingType="BUILDING_CW_CASA" Name="LOC_BUILDING_CW_CASA_NAME" Description="LOC_BUILDING_CW_CASA_DESCRIPTION" PrereqTech="TECH_CASTLES" PrereqDistrict="DISTRICT_CITY_CENTER" PurchaseYield="YIELD_GOLD" Cost="200" AdvisorType="ADVISOR_GENERIC" Maintenance="0" Housing="2" TraitType="TRAIT_CIVILIZATION_BUILDING_CW_CASA"/>
</Buildings>
<Building_YieldChanges>
<Row BuildingType="BUILDING_CW_CASA" YieldType="YIELD_CULTURE" YieldChange="1"/>
</Building_YieldChanges>
<Building_GreatPersonPoints>
<Row BuildingType="BUILDING_CW_CASA" GreatPersonClassType="GREAT_PERSON_CLASS_WRITER" PointsPerTurn="1"/>
</Building_GreatPersonPoints>
<Building_GreatWorks>
<Row BuildingType="BUILDING_CW_CASA" GreatWorkSlotType="GREATWORKSLOT_WRITING" NumSlots="1"/>
</Building_GreatWorks>
</GameInfo>
This next spoiler contains the section of the GameDefines code involving custom leader traits and civilization traits. I suspect there is a problem coming from here too. I wish I could upload the entire mod file but it just isn't letting me because the file is apparently too large.
Spoiler Section of Problem File #2: Unique Civ/Leader Traits :
--==========================================================================================================================
-- LEADERS: TRAITS
--==========================================================================================================================
-- Types
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Types
(Type, Kind)
VALUES ('TRAIT_LEADER_CW_ROGER_BERNARD_PAREAGE', 'KIND_TRAIT');
--------------------------------------------------------------------------------------------------------------------------
-- Traits
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Traits
(TraitType, Name, Description)
VALUES ('TRAIT_LEADER_CW_ROGER_BERNARD_PAREAGE', 'LOC_TRAIT_LEADER_CW_ROGER_BERNARD_PAREAGE_NAME', 'LOC_TRAIT_LEADER_CW_ROGER_BERNARD_PAREAGE_DESCRIPTION');
--------------------------------------------------------------------------------------------------------------------------
-- TraitModifiers
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO TraitModifiers
(TraitType, ModifierId)
VALUES ('TRAIT_LEADER_CW_ROGER_BERNARD_PAREAGE', 'CW_ROGER_BERNARD_PAREAGE_CULTURE');
--------------------------------------------------------------------------------------------------------------------------
-- Modifiers
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Modifiers
(ModifierId, ModifierType)
VALUES ('CW_ROGER_BERNARD_PAREAGE_CULTURE', 'MODIFIER_PLAYER_ADJUST_YIELD_CHANGE_PER_USED_INFLUENCE_TOKEN');
--------------------------------------------------------------------------------------------------------------------------
-- ModifierArguments
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO ModifierArguments
(ModifierId, Name, Value)
VALUES ('CW_ROGER_BERNARD_PAREAGE_CULTURE', 'YieldType', 'YIELD_CULTURE'),
('CW_ROGER_BERNARD_PAREAGE_CULTURE', 'Amount', '1');
--==========================================================================================================================
-- CIVILIZATIONS: TRAITS
--==========================================================================================================================
-- Types
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Types
(Type, Kind)
VALUES ('TRAIT_CIVILIZATION_BUILDING_CW_CASA', 'KIND_TRAIT'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'KIND_TRAIT'),
('MODIFIER_CW_PLAYER_CITIES_TERRAIN_ADJACENCY', 'KIND_MODIFIER');
--------------------------------------------------------------------------------------------------------------------------
-- Traits
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Traits
(TraitType, Name, Description)
VALUES ('TRAIT_CIVILIZATION_BUILDING_CW_CASA', 'LOC_TRAIT_CIVILIZATION_BUILDING_CW_CASA_NAME', 'LOC_TRAIT_CIVILIZATION_BUILDING_CW_CASA_DESCRIPTION'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'LOC_TRAIT_CIVILIZATION_CW_PYRENEES_NAME', 'LOC_TRAIT_CIVILIZATION_CW_PYRENEES_DESCRIPTION');
--------------------------------------------------------------------------------------------------------------------------
-- TraitModifiers
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO TraitModifiers
(TraitType, ModifierId)
VALUES ('TRAIT_CIVILIZATION_CW_PYRENEES', 'CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'CW_TRAIT_PYRENEES_GRASS_MOUNTAIN'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'CW_TRAIT_PYRENEES_DESERT_MOUNTAIN'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'CW_TRAIT_PYRENEES_SNOW_MOUNTAIN'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'CW_TRAIT_PYRENEES_PALACE_SLOTS');
--------------------------------------------------------------------------------------------------------------------------
-- DynamicModifiers
--------------------------------------------------------------------------------------------------------------------------
INSERT OR REPLACE INTO DynamicModifiers
(ModifierType, CollectionType, EffectType)
VALUES ('MODIFIER_CW_PLAYER_CITIES_TERRAIN_ADJACENCY', 'COLLECTION_PLAYER_CITIES', 'EFFECT_TERRAIN_ADJACENCY');
--------------------------------------------------------------------------------------------------------------------------
-- Modifiers
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO Modifiers
(ModifierId, ModifierType)
VALUES ('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'MODIFIER_CW_PLAYER_CITIES_DISTRICT_ADJACENCY'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'MODIFIER_CW_PLAYER_CITIES_DISTRICT_ADJACENCY'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'MODIFIER_CW_PLAYER_CITIES_DISTRICT_ADJACENCY'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'MODIFIER_CW_PLAYER_CITIES_DISTRICT_ADJACENCY'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'MODIFIER_CW_PLAYER_CITIES_DISTRICT_ADJACENCY'),
('CW_TRAIT_PYRENEES_PALACE_SLOTS', 'MODIFIER_PLAYER_CITIES_ADJUST_EXTRA_GREAT_WORK_SLOTS');
--------------------------------------------------------------------------------------------------------------------------
-- ModifierArguments
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO ModifierArguments
(ModifierId, Name, Value)
VALUES ('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'TerrainType', 'TERRAIN_PLAINS_MOUNTAIN'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'YieldType', 'YIELD_CULTURE'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'TerrainType', 'TERRAIN_PLAINS_MOUNTAIN'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'YieldType', 'YIELD_GOLD'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'TerrainType', 'TERRAIN_PLAINS_MOUNTAIN'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'YieldType', 'YIELD_PRODUCTION'),
('CW_TRAIT_PYRENEES_PLAINS_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'TerrainType', 'TERRAIN_GRASS_MOUNTAIN'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'YieldType', 'YIELD_CULTURE'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'TerrainType', 'TERRAIN_GRASS_MOUNTAIN'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'YieldType', 'YIELD_GOLD'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'TerrainType', 'TERRAIN_GRASS_MOUNTAIN'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'YieldType', 'YIELD_PRODUCTION'),
('CW_TRAIT_PYRENEES_GRASS_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'TerrainType', 'TERRAIN_DESERT_MOUNTAIN'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'YieldType', 'YIELD_CULTURE'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'TerrainType', 'TERRAIN_DESERT_MOUNTAIN'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'YieldType', 'YIELD_GOLD'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'TerrainType', 'TERRAIN_DESERT_MOUNTAIN'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'YieldType', 'YIELD_PRODUCTION'),
('CW_TRAIT_PYRENEES_DESERT_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'TerrainType', 'TERRAIN_TUNDRA_MOUNTAIN'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'YieldType', 'YIELD_CULTURE'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'TerrainType', 'TERRAIN_TUNDRA_MOUNTAIN'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'YieldType', 'YIELD_GOLD'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'TerrainType', 'TERRAIN_TUNDRA_MOUNTAIN'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'YieldType', 'YIELD_PRODUCTION'),
('CW_TRAIT_PYRENEES_TUNDRA_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'TerrainType', 'TERRAIN_SNOW_MOUNTAIN'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'YieldType', 'YIELD_CULTURE'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'TerrainType', 'TERRAIN_SNOW_MOUNTAIN'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'YieldType', 'YIELD_GOLD'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'DistrictType', 'DISTRICT_CITY_CENTER'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'TerrainType', 'TERRAIN_SNOW_MOUNTAIN'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'YieldType', 'YIELD_PRODUCTION'),
('CW_TRAIT_PYRENEES_SNOW_MOUNTAIN', 'Amount', '2'),
('CW_TRAIT_PYRENEES_PALACE_SLOTS', 'BuildingType', 'BUILDING_PALACE'),
('CW_TRAIT_PYRENEES_PALACE_SLOTS', 'GreatWorkSlotType', 'GREATWORKSLOT_PALACE'),
('CW_TRAIT_PYRENEES_PALACE_SLOTS', 'Amount', '2');
--------------------------------------------------------------------------------------------------------------------------
-- Types
--------------------------------------------------------------------------------------------------------------------------
INSERT OR REPLACE INTO Types
(Type, Kind)
VALUES ('MODIFIER_CW_PLAYER_CITIES_TERRAIN_ADJACENCY', 'KIND_MODIFIER');
--------------------------------------------------------------------------------------------------------------------------
-- LeaderTraits
--------------------------------------------------------------------------------------------------------------------------
INSERT INTO LeaderTraits
(LeaderType, TraitType)
VALUES ('LEADER_CW_ROGER_BERNARD', 'TRAIT_LEADER_CW_ROGER_BERNARD_PAREAGE');
----------------------------------------------------------------------------------------------------------------------------
-- CivilizationTraits
----------------------------------------------------------------------------------------------------------------------------
INSERT INTO CivilizationTraits
(TraitType, CivilizationType)
VALUES ('TRAIT_CIVILIZATION_BUILDING_CW_CASA', 'CIVILIZATION_CW_ANDORRA'),
('TRAIT_CIVILIZATION_CW_PYRENEES', 'CIVILIZATION_CW_ANDORRA');
As you can probably tell from that code, I am trying to give my civ a Culture, Gold, and Production bonus in cities settled adjacent to Mountain tiles. I posted another thread on this asking how this can be done, and I received responses saying it probably wasn't possible.
HOWEVER, I found an Ethiopia mod that gives Faith bonuses in cities settled adjacent to Mountains (or Hills). So, using that as a guideline, I went ahead and wrote my own code that should work the same way as the Ethiopia mod's code, but with different bonuses. If the Ethiopia mod works, mine should too, right? I must've done something wrong.
If necessary for diagnosing the problem, ask for another part of the code and I will provide it. As I said before, this website simply isn't letting me upload the entire mod file and that's why I'm just copying and pasting parts of code onto this thread.
To recap, the problem is that I am getting unique constraint errors (probably in ModifierArguments in problem file #2?) and "no such table: Types" (in the Building file, which is problem file #1).
If someone can help me out and find the problem, it'd be greatly appreciated. I really want to learn how to mod without needing help every time I try, but at least I am [kind of] learning. Hopefully in the future I'll have my own set of custom civilizations and leaders that actually WORK lol
Thanks in advance