Advertisement
Guest User

Civ 6 tables

a guest
Nov 27th, 2017
1,324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 256.36 KB | None | 0 0
  1. -- Version 1
  2. PRAGMA schema_version = 1000;
  3.  
  4. -- This meta-table contains information about additional relations between one table and another.
  5. -- It is used by C++ and Lua exposures to create more user-friendly references.
  6. -- The data in this table is auto-generated but could later be modified by modders.
  7. -- Query Requirements:
  8. --      Query must only return 1 column (a rowid from the target table).
  9. --      Query must only accept 1 argument (a rowid from the source table).
  10. --      If "IsCollection" is non-zero, property is assumed to point to a collection.
  11. CREATE TABLE NavigationProperties("BaseTable" TEXT NOT NULL, "PropertyName" TEXT NOT NULL, "TargetTable" TEXT NOT NULL, IsCollection INTEGER DEFAULT 0, "Query" TEXT NOT NULL, PRIMARY KEY("BaseTable", "PropertyName", "TargetTable"));
  12. CREATE TABLE "Adjacency_YieldChanges" (
  13.         "ID" TEXT NOT NULL,
  14.         "Description" TEXT NOT NULL,
  15.         "YieldType" TEXT NOT NULL,
  16.         "YieldChange" INTEGER NOT NULL DEFAULT 0,
  17.         "TilesRequired" INTEGER NOT NULL DEFAULT 1,
  18.         "OtherDistrictAdjacent" BOOLEAN NOT NULL CHECK (OtherDistrictAdjacent IN (0,1)) DEFAULT 0,
  19.         "AdjacentSeaResource" BOOLEAN NOT NULL CHECK (AdjacentSeaResource IN (0,1)) DEFAULT 0,
  20.         "AdjacentTerrain" TEXT,
  21.         "AdjacentFeature" TEXT,
  22.         "AdjacentRiver" BOOLEAN NOT NULL CHECK (AdjacentRiver IN (0,1)) DEFAULT 0,
  23.         "AdjacentWonder" BOOLEAN NOT NULL CHECK (AdjacentWonder IN (0,1)) DEFAULT 0,
  24.         "AdjacentNaturalWonder" BOOLEAN NOT NULL CHECK (AdjacentNaturalWonder IN (0,1)) DEFAULT 0,
  25.         "AdjacentImprovement" TEXT,
  26.         "AdjacentDistrict" TEXT,
  27.         "PrereqCivic" TEXT,
  28.         "PrereqTech" TEXT,
  29.         "ObsoleteCivic" TEXT,
  30.         "ObsoleteTech" TEXT,
  31.         "AdjacentResource" BOOLEAN NOT NULL CHECK (AdjacentResource IN (0,1)) DEFAULT 0,
  32.         "AdjacentResourceClass" TEXT NOT NULL DEFAULT "NO_RESOURCECLASS",
  33.         PRIMARY KEY(ID),
  34.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE,
  35.         FOREIGN KEY (AdjacentTerrain) REFERENCES Terrains(TerrainType) ON DELETE CASCADE ON UPDATE CASCADE,
  36.         FOREIGN KEY (AdjacentFeature) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE,
  37.         FOREIGN KEY (AdjacentImprovement) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE,
  38.         FOREIGN KEY (AdjacentDistrict) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE,
  39.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE SET NULL ON UPDATE CASCADE,
  40.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE SET NULL ON UPDATE CASCADE,
  41.         FOREIGN KEY (ObsoleteCivic) REFERENCES Civics(CivicType) ON DELETE SET NULL ON UPDATE CASCADE,
  42.         FOREIGN KEY (ObsoleteTech) REFERENCES Technologies(TechnologyType) ON DELETE SET NULL ON UPDATE CASCADE);
  43.  
  44. CREATE TABLE "Agendas" (
  45.         "AgendaType" TEXT NOT NULL UNIQUE,
  46.         "OperationList" TEXT,
  47.         "Name" TEXT NOT NULL,
  48.         "Description" TEXT NOT NULL,
  49.         PRIMARY KEY(AgendaType),
  50.         FOREIGN KEY (OperationList) REFERENCES AiOperationLists(ListType) ON DELETE CASCADE ON UPDATE CASCADE);
  51.  
  52. CREATE TABLE "AgendaPreferredLeaders" (
  53.         "AgendaType" TEXT NOT NULL,
  54.         "LeaderType" TEXT NOT NULL,
  55.         PRIMARY KEY(AgendaType, LeaderType),
  56.         FOREIGN KEY (AgendaType) REFERENCES RandomAgendas(AgendaType) ON DELETE CASCADE ON UPDATE CASCADE,
  57.         FOREIGN KEY (LeaderType) REFERENCES Leaders(LeaderType) ON DELETE CASCADE ON UPDATE CASCADE);
  58.  
  59. CREATE TABLE "AgendaTraits" (
  60.         "AgendaType" TEXT NOT NULL,
  61.         "TraitType" TEXT NOT NULL,
  62.         PRIMARY KEY(AgendaType, TraitType),
  63.         FOREIGN KEY (AgendaType) REFERENCES Agendas(AgendaType) ON DELETE CASCADE ON UPDATE CASCADE,
  64.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE CASCADE ON UPDATE CASCADE);
  65.  
  66. CREATE TABLE "AiBuildSpecializations" (
  67.         "SpecializationType" TEXT NOT NULL,
  68.         "BuildingYield" TEXT,
  69.         "IncludePopulation" BOOLEAN NOT NULL CHECK (IncludePopulation IN (0,1)) DEFAULT 0,
  70.         "IncludeDefense" BOOLEAN NOT NULL CHECK (IncludeDefense IN (0,1)) DEFAULT 0,
  71.         "IncludeMilitaryUnits" BOOLEAN NOT NULL CHECK (IncludeMilitaryUnits IN (0,1)) DEFAULT 0,
  72.         "IncludeTradeUnits" BOOLEAN NOT NULL CHECK (IncludeTradeUnits IN (0,1)) DEFAULT 0,
  73.         "PrioritizationYield" TEXT NOT NULL,
  74.         "PriorityOffset" INTEGER NOT NULL DEFAULT 0,
  75.         PRIMARY KEY(SpecializationType, PrioritizationYield),
  76.         FOREIGN KEY (BuildingYield) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE,
  77.         FOREIGN KEY (PrioritizationYield) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  78.  
  79. -- Special events sent by the AI
  80. CREATE TABLE "AiEvents" (
  81.         "EventType" TEXT NOT NULL,
  82.         PRIMARY KEY(EventType));
  83.  
  84. CREATE TABLE "AiFavoredItems" (
  85.         "ListType" TEXT,
  86.         "Item" TEXT NOT NULL,
  87.         "Favored" BOOLEAN NOT NULL CHECK (Favored IN (0,1)) DEFAULT 1,
  88.         "Value" INTEGER NOT NULL DEFAULT 0,
  89.         "StringVal" TEXT,
  90.         "MinDifficulty" TEXT,
  91.         "MaxDifficulty" TEXT,
  92.         PRIMARY KEY(ListType, Item, Favored, Value, StringVal),
  93.         FOREIGN KEY (MinDifficulty) REFERENCES Difficulties(DifficultyType) ON DELETE CASCADE ON UPDATE CASCADE,
  94.         FOREIGN KEY (MaxDifficulty) REFERENCES Difficulties(DifficultyType) ON DELETE CASCADE ON UPDATE CASCADE,
  95.         FOREIGN KEY (ListType) REFERENCES AiListTypes(ListType) ON DELETE CASCADE ON UPDATE CASCADE);
  96.  
  97. CREATE TABLE "AiLists" (
  98.         "ListType" TEXT NOT NULL,
  99.         "LeaderType" TEXT,
  100.         "AgendaType" TEXT,
  101.         "System" TEXT NOT NULL,
  102.         "MinDifficulty" TEXT,
  103.         "MaxDifficulty" TEXT,
  104.         PRIMARY KEY(ListType, LeaderType, AgendaType),
  105.         FOREIGN KEY (MaxDifficulty) REFERENCES Difficulties(DifficultyType) ON DELETE CASCADE ON UPDATE CASCADE,
  106.         FOREIGN KEY (MinDifficulty) REFERENCES Difficulties(DifficultyType) ON DELETE CASCADE ON UPDATE CASCADE,
  107.         FOREIGN KEY (ListType) REFERENCES AiListTypes(ListType) ON DELETE CASCADE ON UPDATE CASCADE);
  108.  
  109. CREATE TABLE "AiListTypes" (
  110.         "ListType" TEXT,
  111.         PRIMARY KEY(ListType));
  112.  
  113. CREATE TABLE "AiOperationDefs" (
  114.         "OperationName" TEXT NOT NULL,
  115.         "TargetType" TEXT NOT NULL,
  116.         "TargetParameter" INTEGER NOT NULL DEFAULT 0,
  117.         "EnemyType" TEXT NOT NULL DEFAULT "NONE",
  118.         "BehaviorTree" TEXT,
  119.         "Priority" INTEGER NOT NULL DEFAULT 3,
  120.         "MaxTargetDistInRegion" INTEGER NOT NULL DEFAULT 10,
  121.         "MaxTargetDistInArea" INTEGER NOT NULL DEFAULT 5,
  122.         "MaxTargetDistInWorld" INTEGER NOT NULL DEFAULT 0,
  123.         "MaxTargetStrength" INTEGER NOT NULL DEFAULT -1,
  124.         "MaxTargetDefense" INTEGER NOT NULL DEFAULT -1,
  125.         "MinOddsOfSuccess" REAL NOT NULL DEFAULT 0,
  126.         "SelfStart" BOOLEAN NOT NULL CHECK (SelfStart IN (0,1)) DEFAULT 0,
  127.         "MustBeAtWar" BOOLEAN NOT NULL CHECK (MustBeAtWar IN (0,1)) DEFAULT 0,
  128.         "MustHaveNukes" BOOLEAN NOT NULL CHECK (MustHaveNukes IN (0,1)) DEFAULT 0,
  129.         "MustHaveUnits" INTEGER NOT NULL DEFAULT -1,
  130.         "OperationType" TEXT,
  131.         "AllowTargetUpdate" BOOLEAN NOT NULL CHECK (AllowTargetUpdate IN (0,1)) DEFAULT 1,
  132.         PRIMARY KEY(OperationName),
  133.         FOREIGN KEY (BehaviorTree) REFERENCES BehaviorTrees(TreeName) ON DELETE CASCADE ON UPDATE CASCADE,
  134.         FOREIGN KEY (TargetType) REFERENCES TargetTypes(TargetType) ON DELETE CASCADE ON UPDATE CASCADE,
  135.         FOREIGN KEY (OperationType) REFERENCES AiOperationTypes(OperationType) ON DELETE CASCADE ON UPDATE CASCADE);
  136.  
  137. CREATE TABLE "AiOperationLimits" (
  138.         "ListType" TEXT NOT NULL,
  139.         "OperationType" TEXT NOT NULL,
  140.         "BaseValue" INTEGER,
  141.         "DeltaValue" INTEGER,
  142.         PRIMARY KEY(ListType, OperationType),
  143.         FOREIGN KEY (ListType) REFERENCES AiOperationLists(ListType) ON DELETE CASCADE ON UPDATE CASCADE,
  144.         FOREIGN KEY (OperationType) REFERENCES AiOperationTypes(OperationType) ON DELETE CASCADE ON UPDATE CASCADE);
  145.  
  146. CREATE TABLE "AiOperationLists" (
  147.         "ListType" TEXT NOT NULL,
  148.         "BaseList" TEXT,
  149.         PRIMARY KEY(ListType),
  150.         FOREIGN KEY (BaseList) REFERENCES AiOperationLists(ListType) ON DELETE CASCADE ON UPDATE CASCADE);
  151.  
  152. CREATE TABLE "AiOperationTeams" (
  153.         "TeamName" TEXT NOT NULL,
  154.         "OperationName" TEXT NOT NULL,
  155.         "MinUnits" INTEGER NOT NULL DEFAULT 1,
  156.         "MaxUnits" INTEGER NOT NULL DEFAULT -1,
  157.         "InitialStrengthAdvantage" REAL NOT NULL DEFAULT 0,
  158.         "OngoingStrengthAdvantage" REAL NOT NULL DEFAULT 0,
  159.         "SafeRallyPoint" BOOLEAN NOT NULL CHECK (SafeRallyPoint IN (0,1)) DEFAULT 0,
  160.         "Condition" TEXT,
  161.         PRIMARY KEY(TeamName, OperationName),
  162.         FOREIGN KEY (OperationName) REFERENCES AiOperationDefs(OperationName) ON DELETE CASCADE ON UPDATE CASCADE,
  163.         FOREIGN KEY (TeamName) REFERENCES AiTeams(TeamName) ON DELETE CASCADE ON UPDATE CASCADE);
  164.  
  165. CREATE TABLE "AiOperationTypes" (
  166.         "OperationType" TEXT NOT NULL,
  167.         "Value" INTEGER NOT NULL,
  168.         PRIMARY KEY(OperationType));
  169.  
  170. CREATE TABLE "AiScoutUses" (
  171.         "ScoutUseType" TEXT NOT NULL UNIQUE,
  172.         PRIMARY KEY(ScoutUseType));
  173.  
  174. CREATE TABLE "AiTeams" (
  175.         "TeamName" TEXT,
  176.         PRIMARY KEY(TeamName));
  177.  
  178. CREATE TABLE "AllowedMoves" (
  179.         "AllowedMoveType" TEXT NOT NULL UNIQUE,
  180.         "Value" INTEGER NOT NULL,
  181.         "IsHomeland" BOOLEAN NOT NULL CHECK (IsHomeland IN (0,1)) DEFAULT 0,
  182.         "IsTactical" BOOLEAN NOT NULL CHECK (IsTactical IN (0,1)) DEFAULT 0,
  183.         PRIMARY KEY(AllowedMoveType));
  184.  
  185. CREATE TABLE "AllowedOperations" (
  186.         "ListType" TEXT NOT NULL,
  187.         "OperationDef" TEXT NOT NULL,
  188.         "RemoveRef" BOOLEAN NOT NULL CHECK (RemoveRef IN (0,1)) DEFAULT 0,
  189.         PRIMARY KEY(ListType, OperationDef),
  190.         FOREIGN KEY (ListType) REFERENCES AiOperationLists(ListType) ON DELETE CASCADE ON UPDATE CASCADE,
  191.         FOREIGN KEY (OperationDef) REFERENCES AiOperationDefs(OperationName) ON DELETE CASCADE ON UPDATE CASCADE);
  192.  
  193. CREATE TABLE "AppealHousingChanges" (
  194.         "DistrictType" TEXT NOT NULL,
  195.         "MinimumValue" INTEGER NOT NULL,
  196.         "AppealChange" INTEGER NOT NULL,
  197.         "Description" TEXT NOT NULL UNIQUE,
  198.         PRIMARY KEY(DistrictType, MinimumValue),
  199.         FOREIGN KEY (DistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE);
  200.  
  201. CREATE TABLE "BarbarianAttackForces" (
  202.         "AttackForceType" TEXT NOT NULL,
  203.         "MinTargetDifficulty" TEXT,
  204.         "MaxTargetDifficulty" TEXT,
  205.         "SpawnRate" INTEGER NOT NULL DEFAULT 2,
  206.         "MeleeTag" TEXT,
  207.         "NumMeleeUnits" INTEGER NOT NULL DEFAULT 0,
  208.         "RangeTag" TEXT,
  209.         "NumRangeUnits" INTEGER NOT NULL DEFAULT 0,
  210.         "SiegeTag" TEXT,
  211.         "NumSiegeUnits" INTEGER NOT NULL DEFAULT 0,
  212.         "SupportTag" TEXT,
  213.         "NumSupportUnits" INTEGER NOT NULL DEFAULT 0,
  214.         "RaidingForce" BOOLEAN NOT NULL CHECK (RaidingForce IN (0,1)) DEFAULT 0,
  215.         PRIMARY KEY(AttackForceType),
  216.         FOREIGN KEY (MinTargetDifficulty) REFERENCES Difficulties(DifficultyType) ON DELETE CASCADE ON UPDATE CASCADE,
  217.         FOREIGN KEY (MaxTargetDifficulty) REFERENCES Difficulties(DifficultyType) ON DELETE CASCADE ON UPDATE CASCADE);
  218.  
  219. CREATE TABLE "BarbarianTribes" (
  220.         "TribeType" TEXT NOT NULL UNIQUE,
  221.         "IsCoastal" BOOLEAN NOT NULL CHECK (IsCoastal IN (0,1)) DEFAULT 0,
  222.         "RequiredResource" TEXT,
  223.         "ResourceRange" INTEGER NOT NULL DEFAULT 0,
  224.         "PercentRangedUnits" INTEGER NOT NULL DEFAULT 0,
  225.         "TurnsToWarriorSpawn" INTEGER NOT NULL DEFAULT 15,
  226.         "ScoutTag" TEXT NOT NULL,
  227.         "MeleeTag" TEXT NOT NULL,
  228.         "RangedTag" TEXT NOT NULL,
  229.         "SiegeTag" TEXT NOT NULL,
  230.         "DefenderTag" TEXT NOT NULL,
  231.         "SupportTag" TEXT,
  232.         "ScoutingBehaviorTree" TEXT NOT NULL,
  233.         "RaidingBehaviorTree" TEXT NOT NULL,
  234.         "RaidingBoldness" INTEGER NOT NULL DEFAULT 20,
  235.         "CityAttackOperation" TEXT NOT NULL,
  236.         "CityAttackBoldness" INTEGER NOT NULL DEFAULT 25,
  237.         PRIMARY KEY(TribeType),
  238.         FOREIGN KEY (RequiredResource) REFERENCES Resources(ResourceType) ON DELETE CASCADE ON UPDATE CASCADE);
  239.  
  240. CREATE TABLE "BarbarianTribeForces" (
  241.         "AttackForceType" TEXT NOT NULL,
  242.         "TribeType" TEXT,
  243.         "SpecificTribeType" TEXT,
  244.         PRIMARY KEY(AttackForceType, TribeType, SpecificTribeType),
  245.         FOREIGN KEY (AttackForceType) REFERENCES BarbarianAttackForces(AttackForceType) ON DELETE CASCADE ON UPDATE CASCADE,
  246.         FOREIGN KEY (TribeType) REFERENCES BarbarianTribes(TribeType) ON DELETE CASCADE ON UPDATE CASCADE,
  247.         FOREIGN KEY (SpecificTribeType) REFERENCES BarbarianTribeNames(TribeNameType) ON DELETE CASCADE ON UPDATE CASCADE);
  248.  
  249. CREATE TABLE "BarbarianTribeNames" (
  250.         "TribeNameType" TEXT NOT NULL,
  251.         "TribeType" TEXT NOT NULL,
  252.         "NumMilitary" INTEGER DEFAULT 5,
  253.         "NumScouts" INTEGER,
  254.         "PercentRangedUnits" INTEGER,
  255.         "TurnsToWarriorSpawn" INTEGER,
  256.         "TribeDisplayName" TEXT NOT NULL,
  257.         "ScoutingBehaviorTree" TEXT,
  258.         "RaidingBehaviorTree" TEXT,
  259.         "RaidingBoldness" INTEGER,
  260.         PRIMARY KEY(TribeNameType),
  261.         FOREIGN KEY (TribeType) REFERENCES BarbarianTribes(TribeType) ON DELETE CASCADE ON UPDATE CASCADE);
  262.  
  263. CREATE TABLE "BehaviorTrees" (
  264.         "TreeName" TEXT NOT NULL,
  265.         PRIMARY KEY(TreeName));
  266.  
  267. CREATE TABLE "BehaviorTreeNodes" (
  268.         "TreeName" TEXT NOT NULL,
  269.         "NodeId" INTEGER NOT NULL,
  270.         "JumpTo" INTEGER NOT NULL DEFAULT 0,
  271.         "NodeType" TEXT NOT NULL,
  272.         "PrimaryKey" INTEGER NOT NULL,
  273.         PRIMARY KEY(PrimaryKey),
  274.         FOREIGN KEY (TreeName) REFERENCES BehaviorTrees(TreeName) ON DELETE CASCADE ON UPDATE CASCADE,
  275.         FOREIGN KEY (NodeType) REFERENCES NodeDefinitions(NodeType) ON DELETE CASCADE ON UPDATE CASCADE);
  276.  
  277. CREATE TABLE "Beliefs" (
  278.         "BeliefType" TEXT NOT NULL,
  279.         "Name" TEXT NOT NULL,
  280.         "Description" TEXT NOT NULL,
  281.         "BeliefClassType" TEXT NOT NULL,
  282.         PRIMARY KEY(BeliefType),
  283.         FOREIGN KEY (BeliefClassType) REFERENCES BeliefClasses(BeliefClassType) ON DELETE CASCADE ON UPDATE CASCADE,
  284.         FOREIGN KEY (BeliefType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  285.  
  286. CREATE TABLE "BeliefClasses" (
  287.         "BeliefClassType" TEXT NOT NULL UNIQUE,
  288.         "Name" TEXT NOT NULL,
  289.         "MaxInReligion" INTEGER NOT NULL DEFAULT 1,
  290.         "AdoptionOrder" INTEGER NOT NULL DEFAULT 1,
  291.         PRIMARY KEY(BeliefClassType));
  292.  
  293. CREATE TABLE "BeliefModifiers" (
  294.         "BeliefType" TEXT NOT NULL,
  295.         "ModifierID" TEXT NOT NULL,
  296.         PRIMARY KEY(BeliefType, ModifierID),
  297.         FOREIGN KEY (BeliefType) REFERENCES Beliefs(BeliefType) ON DELETE CASCADE ON UPDATE CASCADE);
  298.  
  299. CREATE TABLE "BonusMinorStartingUnits" (
  300.         "Unit" TEXT NOT NULL,
  301.         "Era" TEXT NOT NULL,
  302.         "Quantity" INTEGER NOT NULL DEFAULT 1,
  303.         "OnDistrictCreated" BOOLEAN NOT NULL CHECK (OnDistrictCreated IN (0,1)) DEFAULT 0,
  304.         "District" TEXT NOT NULL DEFAULT "DISTRICT_CITY_CENTER",
  305.         PRIMARY KEY(Unit, Era),
  306.         FOREIGN KEY (Era) REFERENCES Eras(EraType) ON DELETE CASCADE ON UPDATE CASCADE,
  307.         FOREIGN KEY (Unit) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE);
  308.  
  309. CREATE TABLE "Boosts" (
  310.         "BoostID" INTEGER NOT NULL,
  311.         "TechnologyType" TEXT,
  312.         "CivicType" TEXT,
  313.         "Boost" INTEGER NOT NULL,
  314.         "TriggerId" INTEGER NOT NULL DEFAULT 0,
  315.         "TriggerDescription" TEXT NOT NULL,
  316.         "TriggerLongDescription" TEXT NOT NULL,
  317.         "Unit1Type" TEXT,
  318.         "BoostClass" TEXT NOT NULL,
  319.         "Unit2Type" TEXT,
  320.         "BuildingType" TEXT,
  321.         "ImprovementType" TEXT,
  322.         "BoostingTechType" TEXT,
  323.         "ResourceType" TEXT,
  324.         "NumItems" INTEGER NOT NULL DEFAULT 0,
  325.         "DistrictType" TEXT,
  326.         "RequiresResource" BOOLEAN NOT NULL CHECK (RequiresResource IN (0,1)) DEFAULT 0,
  327.         "RequirementSetId" TEXT,
  328.         "GovernmentSlotType" TEXT,
  329.         "BoostingCivicType" TEXT,
  330.         PRIMARY KEY(BoostID),
  331.         FOREIGN KEY (TechnologyType) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE,
  332.         FOREIGN KEY (Unit1Type) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE,
  333.         FOREIGN KEY (Unit2Type) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE,
  334.         FOREIGN KEY (BoostClass) REFERENCES BoostNames(BoostType) ON DELETE CASCADE ON UPDATE CASCADE,
  335.         FOREIGN KEY (BuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  336.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE,
  337.         FOREIGN KEY (DistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE,
  338.         FOREIGN KEY (ResourceType) REFERENCES Resources(ResourceType) ON DELETE CASCADE ON UPDATE CASCADE,
  339.         FOREIGN KEY (BoostingTechType) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE,
  340.         FOREIGN KEY (CivicType) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE,
  341.         FOREIGN KEY (BoostingCivicType) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE,
  342.         FOREIGN KEY (GovernmentSlotType) REFERENCES GovernmentSlots(GovernmentSlotType) ON DELETE CASCADE ON UPDATE CASCADE);
  343.  
  344. CREATE TABLE "BoostHandlers" (
  345.         "HandlerId" TEXT,
  346.         "TechBoostType" TEXT NOT NULL,
  347.         "BehaviorTree" TEXT,
  348.         "OperationName" TEXT,
  349.         "LuaScript" TEXT,
  350.         "UniquenessTag" TEXT,
  351.         "WinnowFunction" TEXT,
  352.         PRIMARY KEY(HandlerId),
  353.         FOREIGN KEY (BehaviorTree) REFERENCES BehaviorTrees(TreeName) ON DELETE CASCADE ON UPDATE CASCADE,
  354.         FOREIGN KEY (TechBoostType) REFERENCES BoostNames(BoostType) ON DELETE CASCADE ON UPDATE CASCADE,
  355.         FOREIGN KEY (OperationName) REFERENCES AiOperationDefs(OperationName) ON DELETE CASCADE ON UPDATE CASCADE);
  356.  
  357. CREATE TABLE "BoostNames" (
  358.         "BoostType" TEXT NOT NULL,
  359.         "BoostValue" INTEGER NOT NULL UNIQUE,
  360.         PRIMARY KEY(BoostType));
  361.  
  362. CREATE TABLE "Buildings" (
  363.         "BuildingType" TEXT NOT NULL,
  364.         "Name" TEXT NOT NULL,
  365.         "PrereqTech" TEXT,
  366.         "PrereqCivic" TEXT,
  367.         "Cost" INTEGER NOT NULL,
  368.         "MaxPlayerInstances" INTEGER NOT NULL DEFAULT -1,
  369.         "MaxWorldInstances" INTEGER NOT NULL DEFAULT -1,
  370.         "Capital" BOOLEAN NOT NULL CHECK (Capital IN (0,1)) DEFAULT 0,
  371.         "PrereqDistrict" TEXT,
  372.         "AdjacentDistrict" TEXT,
  373.         "Description" TEXT,
  374.         "RequiresPlacement" BOOLEAN NOT NULL CHECK (RequiresPlacement IN (0,1)) DEFAULT 0,
  375.         "RequiresRiver" BOOLEAN NOT NULL CHECK (RequiresRiver IN (0,1)) DEFAULT 0,
  376.         "OuterDefenseHitPoints" INTEGER,
  377.         "Housing" INTEGER NOT NULL DEFAULT 0,
  378.         "Entertainment" INTEGER NOT NULL DEFAULT 0,
  379.         "AdjacentResource" TEXT,
  380.         "Coast" BOOLEAN CHECK (Coast IN (0,1)),
  381.         "EnabledByReligion" BOOLEAN NOT NULL CHECK (EnabledByReligion IN (0,1)) DEFAULT 0,
  382.         "AllowsHolyCity" BOOLEAN NOT NULL CHECK (AllowsHolyCity IN (0,1)) DEFAULT 0,
  383.         "PurchaseYield" TEXT,
  384.         "MustPurchase" BOOLEAN NOT NULL CHECK (MustPurchase IN (0,1)) DEFAULT 0,
  385.         "Maintenance" INTEGER NOT NULL DEFAULT 0,
  386.         "IsWonder" BOOLEAN NOT NULL CHECK (IsWonder IN (0,1)) DEFAULT 0,
  387.         "TraitType" TEXT,
  388.         "OuterDefenseStrength" INTEGER NOT NULL DEFAULT 0,
  389.         "CitizenSlots" INTEGER,
  390.         "MustBeLake" BOOLEAN NOT NULL CHECK (MustBeLake IN (0,1)) DEFAULT 0,
  391.         "MustNotBeLake" BOOLEAN NOT NULL CHECK (MustNotBeLake IN (0,1)) DEFAULT 0,
  392.         "RegionalRange" INTEGER NOT NULL DEFAULT 0,
  393.         "AdjacentToMountain" BOOLEAN NOT NULL CHECK (AdjacentToMountain IN (0,1)) DEFAULT 0,
  394.         "ObsoleteEra" TEXT NOT NULL DEFAULT "NO_ERA",
  395.         "RequiresReligion" BOOLEAN NOT NULL CHECK (RequiresReligion IN (0,1)) DEFAULT 0,
  396.         "GrantFortification" INTEGER NOT NULL DEFAULT 0,
  397.         "DefenseModifier" INTEGER NOT NULL DEFAULT 0,
  398.         "InternalOnly" BOOLEAN NOT NULL CHECK (InternalOnly IN (0,1)) DEFAULT 0,
  399.         "RequiresAdjacentRiver" BOOLEAN NOT NULL CHECK (RequiresAdjacentRiver IN (0,1)) DEFAULT 0,
  400.         "Quote" TEXT,
  401.         "QuoteAudio" TEXT,
  402.         "MustBeAdjacentLand" BOOLEAN NOT NULL CHECK (MustBeAdjacentLand IN (0,1)) DEFAULT 0,
  403.         "AdvisorType" TEXT,
  404.         "AdjacentCapital" BOOLEAN NOT NULL CHECK (AdjacentCapital IN (0,1)) DEFAULT 0,
  405.         "AdjacentImprovement" TEXT,
  406.         "CityAdjacentTerrain" TEXT,
  407.         "UnlocksGovernmentPolicy" BOOLEAN CHECK (UnlocksGovernmentPolicy IN (0,1)) DEFAULT 0,
  408.         "GovernmentTierRequirement" TEXT,
  409.         PRIMARY KEY(BuildingType),
  410.         FOREIGN KEY (AdjacentDistrict) REFERENCES Districts(DistrictType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  411.         FOREIGN KEY (PrereqDistrict) REFERENCES Districts(DistrictType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  412.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  413.         FOREIGN KEY (AdjacentResource) REFERENCES Resources(ResourceType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  414.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  415.         FOREIGN KEY (PurchaseYield) REFERENCES Yields(YieldType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  416.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  417.         FOREIGN KEY (BuildingType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE,
  418.         FOREIGN KEY (AdjacentImprovement) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE,
  419.         FOREIGN KEY (CityAdjacentTerrain) REFERENCES Terrains(TerrainType) ON DELETE CASCADE ON UPDATE CASCADE);
  420.  
  421. CREATE TABLE "Building_GreatPersonPoints" (
  422.         "BuildingType" TEXT NOT NULL,
  423.         "GreatPersonClassType" TEXT NOT NULL,
  424.         "PointsPerTurn" INTEGER NOT NULL DEFAULT 0,
  425.         PRIMARY KEY(BuildingType, GreatPersonClassType),
  426.         FOREIGN KEY (BuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  427.         FOREIGN KEY (GreatPersonClassType) REFERENCES GreatPersonClasses(GreatPersonClassType) ON DELETE CASCADE ON UPDATE CASCADE);
  428.  
  429. CREATE TABLE "Building_GreatWorks" (
  430.         "BuildingType" TEXT NOT NULL,
  431.         "GreatWorkSlotType" TEXT NOT NULL,
  432.         "NumSlots" INTEGER NOT NULL DEFAULT 1,
  433.         "ThemingUniquePerson" BOOLEAN NOT NULL CHECK (ThemingUniquePerson IN (0,1)) DEFAULT 0,
  434.         "ThemingSameObjectType" BOOLEAN NOT NULL CHECK (ThemingSameObjectType IN (0,1)) DEFAULT 0,
  435.         "ThemingUniqueCivs" BOOLEAN NOT NULL CHECK (ThemingUniqueCivs IN (0,1)) DEFAULT 0,
  436.         "ThemingSameEras" BOOLEAN NOT NULL CHECK (ThemingSameEras IN (0,1)) DEFAULT 0,
  437.         "ThemingYieldMultiplier" INTEGER NOT NULL DEFAULT 0,
  438.         "ThemingTourismMultiplier" INTEGER NOT NULL DEFAULT 0,
  439.         "NonUniquePersonYield" INTEGER NOT NULL DEFAULT 0,
  440.         "NonUniquePersonTourism" INTEGER NOT NULL DEFAULT 0,
  441.         "ThemingBonusDescription" TEXT,
  442.         PRIMARY KEY(BuildingType, GreatWorkSlotType),
  443.         FOREIGN KEY (BuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  444.         FOREIGN KEY (GreatWorkSlotType) REFERENCES GreatWorkSlotTypes(GreatWorkSlotType) ON DELETE CASCADE ON UPDATE CASCADE);
  445.  
  446. CREATE TABLE "Building_RequiredFeatures" (
  447.         "BuildingType" TEXT NOT NULL,
  448.         "FeatureType" TEXT NOT NULL,
  449.         PRIMARY KEY(BuildingType, FeatureType),
  450.         FOREIGN KEY (BuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  451.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE);
  452.  
  453. CREATE TABLE "Building_ValidFeatures" (
  454.         "BuildingType" TEXT NOT NULL,
  455.         "FeatureType" TEXT NOT NULL,
  456.         PRIMARY KEY(BuildingType, FeatureType),
  457.         FOREIGN KEY (BuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  458.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE);
  459.  
  460. CREATE TABLE "Building_ValidTerrains" (
  461.         "BuildingType" TEXT NOT NULL,
  462.         "TerrainType" TEXT NOT NULL,
  463.         PRIMARY KEY(BuildingType, TerrainType),
  464.         FOREIGN KEY (BuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  465.         FOREIGN KEY (TerrainType) REFERENCES Terrains(TerrainType) ON DELETE CASCADE ON UPDATE CASCADE);
  466.  
  467. CREATE TABLE "Building_YieldChanges" (
  468.         "BuildingType" TEXT NOT NULL,
  469.         "YieldType" TEXT NOT NULL,
  470.         "YieldChange" INTEGER NOT NULL,
  471.         PRIMARY KEY(BuildingType, YieldType),
  472.         FOREIGN KEY (BuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  473.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  474.  
  475. CREATE TABLE "Building_YieldDistrictCopies" (
  476.         "BuildingType" TEXT NOT NULL,
  477.         "OldYieldType" TEXT NOT NULL DEFAULT "NO_YIELD",
  478.         "NewYieldType" TEXT NOT NULL DEFAULT "NO_YIELD",
  479.         PRIMARY KEY(BuildingType, OldYieldType, NewYieldType),
  480.         FOREIGN KEY (BuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  481.         FOREIGN KEY (OldYieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE,
  482.         FOREIGN KEY (NewYieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  483.  
  484. CREATE TABLE "Building_YieldsPerEra" (
  485.         "BuildingType" TEXT NOT NULL,
  486.         "YieldType" TEXT NOT NULL DEFAULT "NO_YIELD",
  487.         "YieldChange" INTEGER NOT NULL DEFAULT 0,
  488.         PRIMARY KEY(BuildingType, YieldType),
  489.         FOREIGN KEY (BuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  490.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  491.  
  492. CREATE TABLE "BuildingModifiers" (
  493.         "BuildingType" TEXT NOT NULL,
  494.         "ModifierId" TEXT NOT NULL,
  495.         PRIMARY KEY(BuildingType, ModifierId),
  496.         FOREIGN KEY (BuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE);
  497.  
  498. CREATE TABLE "BuildingPrereqs" (
  499.         "Building" TEXT NOT NULL,
  500.         "PrereqBuilding" TEXT NOT NULL,
  501.         PRIMARY KEY(Building, PrereqBuilding),
  502.         FOREIGN KEY (Building) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  503.         FOREIGN KEY (PrereqBuilding) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE);
  504.  
  505. CREATE TABLE "BuildingReplaces" (
  506.         "CivUniqueBuildingType" TEXT NOT NULL,
  507.         "ReplacesBuildingType" TEXT NOT NULL,
  508.         PRIMARY KEY(CivUniqueBuildingType),
  509.         FOREIGN KEY (CivUniqueBuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  510.         FOREIGN KEY (ReplacesBuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE);
  511.  
  512. -- Calendar types
  513. CREATE TABLE "Calendars" (
  514.         "CalendarType" TEXT NOT NULL,
  515.         "Description" TEXT,
  516.         PRIMARY KEY(CalendarType));
  517.  
  518. CREATE TABLE "CityEvents" (
  519.         "EventType" TEXT NOT NULL,
  520.         PRIMARY KEY(EventType));
  521.  
  522. CREATE TABLE "CityNames" (
  523.         "ID" INTEGER,
  524.         "CivilizationType" TEXT,
  525.         "LeaderType" TEXT,
  526.         "ContinentType" TEXT,
  527.         "CityName" TEXT NOT NULL,
  528.         "SortIndex" INTEGER NOT NULL DEFAULT 0,
  529.         PRIMARY KEY(ID),
  530.         FOREIGN KEY (CivilizationType) REFERENCES Civilizations(CivilizationType) ON DELETE CASCADE ON UPDATE CASCADE,
  531.         FOREIGN KEY (LeaderType) REFERENCES Leaders(LeaderType) ON DELETE CASCADE ON UPDATE CASCADE,
  532.         FOREIGN KEY (ContinentType) REFERENCES Continents(ContinentType) ON DELETE CASCADE ON UPDATE CASCADE);
  533.  
  534. CREATE TABLE "Civics" (
  535.         "CivicType" TEXT NOT NULL,
  536.         "Name" TEXT NOT NULL,
  537.         "Cost" INTEGER NOT NULL,
  538.         "Repeatable" BOOLEAN NOT NULL CHECK (Repeatable IN (0,1)) DEFAULT 0,
  539.         "Description" TEXT,
  540.         "EraType" TEXT NOT NULL,
  541.         "BarbarianFree" BOOLEAN NOT NULL CHECK (BarbarianFree IN (0,1)) DEFAULT 0,
  542.         "UITreeRow" INTEGER DEFAULT 0,
  543.         "AdvisorType" TEXT,
  544.         "EmbarkAll" BOOLEAN NOT NULL CHECK (EmbarkAll IN (0,1)) DEFAULT 0,
  545.         "EmbarkUnitType" TEXT,
  546.         PRIMARY KEY(CivicType),
  547.         FOREIGN KEY (EraType) REFERENCES Eras(EraType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  548.         FOREIGN KEY (CivicType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  549.  
  550. CREATE TABLE "CivicModifiers" (
  551.         "CivicType" TEXT NOT NULL,
  552.         "ModifierId" TEXT NOT NULL,
  553.         PRIMARY KEY(CivicType, ModifierId),
  554.         FOREIGN KEY (CivicType) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE);
  555.  
  556. CREATE TABLE "CivicPrereqs" (
  557.         "Civic" TEXT NOT NULL,
  558.         "PrereqCivic" TEXT NOT NULL,
  559.         PRIMARY KEY(Civic, PrereqCivic),
  560.         FOREIGN KEY (Civic) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE,
  561.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE);
  562.  
  563. CREATE TABLE "CivicQuotes" (
  564.         "CivicType" TEXT NOT NULL,
  565.         "Quote" TEXT NOT NULL,
  566.         "QuoteAudio" TEXT,
  567.         PRIMARY KEY(CivicType, Quote),
  568.         FOREIGN KEY (CivicType) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE);
  569.  
  570. CREATE TABLE "Civilizations" (
  571.         "CivilizationType" TEXT NOT NULL,
  572.         "Name" LocalizedText NOT NULL,
  573.         "Description" TEXT UNIQUE,
  574.         "Adjective" TEXT NOT NULL,
  575.         "RandomCityNameDepth" INTEGER NOT NULL DEFAULT 1,
  576.         "StartingCivilizationLevelType" TEXT NOT NULL,
  577.         "Ethnicity" TEXT,
  578.         PRIMARY KEY(CivilizationType),
  579.         FOREIGN KEY (StartingCivilizationLevelType) REFERENCES CivilizationLevels(CivilizationLevelType) ON DELETE SET DEFAULT ON UPDATE CASCADE,
  580.         FOREIGN KEY (CivilizationType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  581.  
  582. CREATE TABLE "CivilizationCitizenNames" (
  583.         "CivilizationType" TEXT NOT NULL,
  584.         "CitizenName" TEXT NOT NULL,
  585.         "Female" BOOLEAN NOT NULL CHECK (Female IN (0,1)) DEFAULT 0,
  586.         "Modern" BOOLEAN NOT NULL CHECK (Modern IN (0,1)) DEFAULT 0,
  587.         PRIMARY KEY(CivilizationType, CitizenName),
  588.         FOREIGN KEY (CivilizationType) REFERENCES Civilizations(CivilizationType) ON DELETE CASCADE ON UPDATE CASCADE);
  589.  
  590. -- Random bits of information about the Civilization
  591. CREATE TABLE "CivilizationInfo" (
  592.         "CivilizationType" TEXT NOT NULL,
  593.         "Header" TEXT NOT NULL,
  594.         "Caption" TEXT NOT NULL,
  595.         "SortIndex" INTEGER NOT NULL DEFAULT 100,
  596.         PRIMARY KEY(CivilizationType, Header),
  597.         FOREIGN KEY (CivilizationType) REFERENCES Civilizations(CivilizationType) ON DELETE CASCADE ON UPDATE CASCADE);
  598.  
  599. CREATE TABLE "CivilizationLeaders" (
  600.         "LeaderType" TEXT NOT NULL,
  601.         "CivilizationType" TEXT NOT NULL,
  602.         "CapitalName" TEXT NOT NULL,
  603.         PRIMARY KEY(LeaderType),
  604.         FOREIGN KEY (LeaderType) REFERENCES Leaders(LeaderType) ON DELETE CASCADE ON UPDATE CASCADE,
  605.         FOREIGN KEY (CivilizationType) REFERENCES Civilizations(CivilizationType) ON DELETE CASCADE ON UPDATE CASCADE);
  606.  
  607. CREATE TABLE "CivilizationLevels" (
  608.         "CivilizationLevelType" TEXT NOT NULL,
  609.         "CanFoundCities" BOOLEAN NOT NULL CHECK (CanFoundCities IN (0,1)),
  610.         "CanAnnexTilesWithCulture" BOOLEAN NOT NULL CHECK (CanAnnexTilesWithCulture IN (0,1)),
  611.         "CanAnnexTilesWithGold" BOOLEAN NOT NULL CHECK (CanAnnexTilesWithGold IN (0,1)),
  612.         "CanAnnexTilesWithReceivedInfluence" BOOLEAN NOT NULL CHECK (CanAnnexTilesWithReceivedInfluence IN (0,1)),
  613.         "CanEarnGreatPeople" BOOLEAN NOT NULL CHECK (CanEarnGreatPeople IN (0,1)),
  614.         "CanGiveInfluence" BOOLEAN NOT NULL CHECK (CanGiveInfluence IN (0,1)),
  615.         "CanReceiveInfluence" BOOLEAN NOT NULL CHECK (CanReceiveInfluence IN (0,1)),
  616.         "StartingTilesForCity" INTEGER NOT NULL,
  617.         "CanBuildWonders" BOOLEAN NOT NULL CHECK (CanBuildWonders IN (0,1)),
  618.         "IgnoresUnitStrategicResourceRequirements" BOOLEAN NOT NULL CHECK (IgnoresUnitStrategicResourceRequirements IN (0,1)) DEFAULT 0,
  619.         PRIMARY KEY(CivilizationLevelType));
  620.  
  621. CREATE TABLE "CivilizationTraits" (
  622.         "CivilizationType" TEXT NOT NULL,
  623.         "TraitType" TEXT NOT NULL,
  624.         PRIMARY KEY(CivilizationType, TraitType),
  625.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE CASCADE ON UPDATE CASCADE,
  626.         FOREIGN KEY (CivilizationType) REFERENCES Civilizations(CivilizationType) ON DELETE CASCADE ON UPDATE CASCADE);
  627.  
  628. CREATE TABLE "CivilopediaPages" (
  629.         "SectionId" TEXT NOT NULL,
  630.         "PageId" TEXT NOT NULL,
  631.         "PageGroupId" TEXT,
  632.         "PageLayoutId" TEXT NOT NULL,
  633.         "Name" TEXT NOT NULL,
  634.         "Tooltip" TEXT,
  635.         "SortIndex" INTEGER NOT NULL DEFAULT 0,
  636.         PRIMARY KEY(SectionId, PageId));
  637.  
  638. CREATE TABLE "CivilopediaPageChapterHeaders" (
  639.         "SectionId" TEXT NOT NULL,
  640.         "PageId" TEXT NOT NULL,
  641.         "ChapterId" TEXT NOT NULL,
  642.         "Header" LocalizedText NOT NULL,
  643.         PRIMARY KEY(SectionId, PageId, ChapterId));
  644.  
  645. CREATE TABLE "CivilopediaPageChapterParagraphs" (
  646.         "SectionId" TEXT NOT NULL,
  647.         "PageId" TEXT NOT NULL,
  648.         "ChapterId" TEXT NOT NULL,
  649.         "Paragraph" LocalizedText NOT NULL,
  650.         "SortIndex" INTEGER NOT NULL DEFAULT 0,
  651.         PRIMARY KEY(SectionId, PageId, ChapterId));
  652.  
  653. -- This table specifies pages that should be hidden from the civilopedia.
  654. CREATE TABLE "CivilopediaPageExcludes" (
  655.         "SectionId" TEXT NOT NULL,
  656.         "PageId" TEXT NOT NULL,
  657.         PRIMARY KEY(SectionId, PageId));
  658.  
  659. CREATE TABLE "CivilopediaPageGroups" (
  660.         "SectionId" TEXT NOT NULL,
  661.         "PageGroupId" TEXT NOT NULL,
  662.         "Name" TEXT NOT NULL,
  663.         "Tooltip" TEXT,
  664.         "VisibleIfEmpty" BOOLEAN NOT NULL CHECK (VisibleIfEmpty IN (0,1)) DEFAULT 0,
  665.         "SortIndex" INTEGER NOT NULL DEFAULT 0,
  666.         PRIMARY KEY(SectionId, PageGroupId));
  667.  
  668. CREATE TABLE "CivilopediaPageGroupExcludes" (
  669.         "SectionId" TEXT NOT NULL,
  670.         "PageGroupId" TEXT NOT NULL,
  671.         PRIMARY KEY(SectionId, PageGroupId));
  672.  
  673. CREATE TABLE "CivilopediaPageGroupQueries" (
  674.         "RowId" INTEGER NOT NULL,
  675.         "SectionId" TEXT NOT NULL,
  676.         "SQL" TEXT NOT NULL,
  677.         "PageGroupIdColumn" TEXT NOT NULL DEFAULT "PageGroupId",
  678.         "NameColumn" TEXT NOT NULL DEFAULT "Name",
  679.         "TooltipColumn" TEXT,
  680.         "VisibleIfEmptyColumn" TEXT,
  681.         "SortIndexColumn" TEXT,
  682.         "SortIndex" INTEGER NOT NULL DEFAULT 0,
  683.         PRIMARY KEY(RowId));
  684.  
  685. CREATE TABLE "CivilopediaPageLayouts" (
  686.         "PageLayoutId" TEXT NOT NULL,
  687.         "ScriptTemplate" TEXT NOT NULL,
  688.         PRIMARY KEY(PageLayoutId, ScriptTemplate));
  689.  
  690. CREATE TABLE "CivilopediaPageLayoutChapters" (
  691.         "PageLayoutId" TEXT NOT NULL,
  692.         "ChapterId" TEXT NOT NULL,
  693.         "SortIndex" INTEGER NOT NULL DEFAULT 0,
  694.         PRIMARY KEY(PageLayoutId, ChapterId));
  695.  
  696. CREATE TABLE "CivilopediaPageQueries" (
  697.         "RowId" INTEGER NOT NULL,
  698.         "SectionId" TEXT NOT NULL,
  699.         "SQL" TEXT NOT NULL,
  700.         "PageIdColumn" TEXT NOT NULL DEFAULT "PageId",
  701.         "PageGroupIdColumn" TEXT,
  702.         "PageLayoutIdColumn" TEXT NOT NULL DEFAULT "PageLayoutId",
  703.         "NameColumn" TEXT NOT NULL DEFAULT "Name",
  704.         "TooltipColumn" TEXT,
  705.         "SortIndexColumn" TEXT,
  706.         "SortIndex" INTEGER NOT NULL DEFAULT 0,
  707.         PRIMARY KEY(RowId));
  708.  
  709. -- Additional single word terms that can be used when searching the pedia.
  710. CREATE TABLE "CivilopediaPageSearchTerms" (
  711.         "SectionId" TEXT NOT NULL,
  712.         "PageId" TEXT NOT NULL,
  713.         "Term" LocalizedText NOT NULL,
  714.         PRIMARY KEY(SectionId, PageId, Term));
  715.  
  716. CREATE TABLE "CivilopediaSections" (
  717.         "SectionId" TEXT NOT NULL,
  718.         "Name" TEXT NOT NULL,
  719.         "Icon" TEXT,
  720.         "SortIndex" INTEGER NOT NULL DEFAULT 0,
  721.         PRIMARY KEY(SectionId));
  722.  
  723. CREATE TABLE "CivilopediaSectionExcludes" (
  724.         "SectionId" TEXT NOT NULL,
  725.         PRIMARY KEY(SectionId));
  726.  
  727. CREATE TABLE "Continents" (
  728.         "ContinentType" TEXT NOT NULL,
  729.         "Description" TEXT,
  730.         PRIMARY KEY(ContinentType));
  731.  
  732. CREATE TABLE "DataTypes" (
  733.         "TypeName" TEXT NOT NULL UNIQUE,
  734.         "DataId" INTEGER NOT NULL UNIQUE,
  735.         PRIMARY KEY(DataId));
  736.  
  737. CREATE TABLE "DealItems" (
  738.         "DealItemType" TEXT NOT NULL,
  739.         "Name" TEXT NOT NULL,
  740.         "Description" TEXT NOT NULL,
  741.         "AllowDurationTrade" BOOLEAN NOT NULL CHECK (AllowDurationTrade IN (0,1)) DEFAULT 1,
  742.         PRIMARY KEY(DealItemType));
  743.  
  744. CREATE TABLE "Defeats" (
  745.         "DefeatType" TEXT NOT NULL,
  746.         "Name" TEXT NOT NULL,
  747.         "Blurb" TEXT NOT NULL,
  748.         "RequirementSetId" TEXT NOT NULL,
  749.         "EnabledByDefault" BOOLEAN NOT NULL CHECK (EnabledByDefault IN (0,1)) DEFAULT 1,
  750.         "OneMoreTurn" BOOLEAN CHECK (OneMoreTurn IN (0,1)) DEFAULT 0,
  751.         PRIMARY KEY(DefeatType),
  752.         FOREIGN KEY (DefeatType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  753.  
  754. -- Difficulties available. The game will assume there are at least 8 members of this table. Do not have less.
  755. CREATE TABLE "Difficulties" (
  756.         "DifficultyType" TEXT NOT NULL,
  757.         "Name" TEXT NOT NULL,
  758.         "DefaultDifficulty" BOOLEAN NOT NULL CHECK (DefaultDifficulty IN (0,1)) DEFAULT 1,
  759.         PRIMARY KEY(DifficultyType));
  760.  
  761. CREATE TABLE "DifficultyTraits" (
  762.         "DifficultyType" TEXT NOT NULL,
  763.         "TraitType" TEXT NOT NULL,
  764.         PRIMARY KEY(DifficultyType, TraitType),
  765.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE CASCADE ON UPDATE CASCADE,
  766.         FOREIGN KEY (DifficultyType) REFERENCES Difficulties(DifficultyType) ON DELETE CASCADE ON UPDATE CASCADE);
  767.  
  768. -- Allows us to change the background and leader images on the diplomacy screen.
  769. CREATE TABLE "DiplomacyInfo" (
  770.         "Type" TEXT NOT NULL,
  771.         "BackgroundImage" TEXT,
  772.         PRIMARY KEY(Type));
  773.  
  774. CREATE TABLE "DiplomaticActions" (
  775.         "DiplomaticActionType" TEXT NOT NULL,
  776.         "Name" TEXT,
  777.         "Description" TEXT,
  778.         "CivilopediaKey" TEXT,
  779.         "InitiatorPrereqCivic" TEXT,
  780.         "InitiatorPrereqTech" TEXT,
  781.         "TargetPrereqCivic" TEXT,
  782.         "TargetPrereqTech" TEXT,
  783.         "InitiatorObsoleteCivic" TEXT,
  784.         "Cost" INTEGER NOT NULL DEFAULT 0,
  785.         "RequiresCapitalPath" BOOLEAN NOT NULL CHECK (RequiresCapitalPath IN (0,1)) DEFAULT 0,
  786.         "RequiresConvertedCity" BOOLEAN NOT NULL CHECK (RequiresConvertedCity IN (0,1)) DEFAULT 0,
  787.         "RequiresOccupiedCity" BOOLEAN NOT NULL CHECK (RequiresOccupiedCity IN (0,1)) DEFAULT 0,
  788.         "RequiresOccupiedFriendlyCity" BOOLEAN NOT NULL CHECK (RequiresOccupiedFriendlyCity IN (0,1)) DEFAULT 0,
  789.         "RequiresWarOnAlliedCityState" BOOLEAN NOT NULL CHECK (RequiresWarOnAlliedCityState IN (0,1)) DEFAULT 0,
  790.         "RequiresLeadXEras" INTEGER NOT NULL DEFAULT 0,
  791.         "RequiresArchaeologyIntrusion" BOOLEAN NOT NULL CHECK (RequiresArchaeologyIntrusion IN (0,1)) DEFAULT 0,
  792.         "RequiresAdjacentEmpires" BOOLEAN NOT NULL CHECK (RequiresAdjacentEmpires IN (0,1)) DEFAULT 0,
  793.         "RequiresEspionageIntrusion" BOOLEAN NOT NULL CHECK (RequiresEspionageIntrusion IN (0,1)) DEFAULT 0,
  794.         "NoCurrentDelegation" BOOLEAN NOT NULL CHECK (NoCurrentDelegation IN (0,1)) DEFAULT 0,
  795.         "NoCurrentEmbassy" BOOLEAN NOT NULL CHECK (NoCurrentEmbassy IN (0,1)) DEFAULT 0,
  796.         "NoCurrentOpenBorders" BOOLEAN NOT NULL CHECK (NoCurrentOpenBorders IN (0,1)) DEFAULT 0,
  797.         "NoCurrentDenunciation" BOOLEAN NOT NULL CHECK (NoCurrentDenunciation IN (0,1)) DEFAULT 0,
  798.         "NoCurrentDOF" BOOLEAN NOT NULL CHECK (NoCurrentDOF IN (0,1)) DEFAULT 0,
  799.         "NoCurrentResearchAgreement" BOOLEAN NOT NULL CHECK (NoCurrentResearchAgreement IN (0,1)) DEFAULT 0,
  800.         "NoCurrentDefensivePact" BOOLEAN NOT NULL CHECK (NoCurrentDefensivePact IN (0,1)) DEFAULT 0,
  801.         "Agreement" BOOLEAN NOT NULL CHECK (Agreement IN (0,1)) DEFAULT 0,
  802.         "Duration" INTEGER NOT NULL DEFAULT 0,
  803.         "WarmongerPercent" INTEGER NOT NULL DEFAULT 0,
  804.         "UIGroup" TEXT,
  805.         "DenouncementTurnsRequired" INTEGER NOT NULL DEFAULT -1,
  806.         "RequiresAlliance" BOOLEAN NOT NULL CHECK (RequiresAlliance IN (0,1)) DEFAULT 0,
  807.         "RequiresTeamMembership" BOOLEAN NOT NULL CHECK (RequiresTeamMembership IN (0,1)) DEFAULT 0,
  808.         PRIMARY KEY(DiplomaticActionType),
  809.         FOREIGN KEY (InitiatorPrereqCivic) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE,
  810.         FOREIGN KEY (TargetPrereqCivic) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE,
  811.         FOREIGN KEY (InitiatorObsoleteCivic) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE,
  812.         FOREIGN KEY (InitiatorPrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE,
  813.         FOREIGN KEY (TargetPrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE,
  814.         FOREIGN KEY (DiplomaticActionType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  815.  
  816. CREATE TABLE "DiplomaticStartStates" (
  817.         "PlayerCivLevel" TEXT NOT NULL,
  818.         "OpponentCivLevel" TEXT NOT NULL,
  819.         "DiplomaticStateType" TEXT NOT NULL,
  820.         PRIMARY KEY(PlayerCivLevel, OpponentCivLevel),
  821.         FOREIGN KEY (PlayerCivLevel) REFERENCES CivilizationLevels(CivilizationLevelType) ON DELETE CASCADE ON UPDATE CASCADE,
  822.         FOREIGN KEY (OpponentCivLevel) REFERENCES CivilizationLevels(CivilizationLevelType) ON DELETE CASCADE ON UPDATE CASCADE,
  823.         FOREIGN KEY (DiplomaticStateType) REFERENCES DiplomaticStates(StateType) ON DELETE CASCADE ON UPDATE CASCADE);
  824.  
  825. CREATE TABLE "DiplomaticStates" (
  826.         "StateType" TEXT NOT NULL,
  827.         "Name" TEXT NOT NULL,
  828.         "DiplomaticYieldBonus" INTEGER NOT NULL DEFAULT 0,
  829.         "RelationshipLevel" INTEGER NOT NULL DEFAULT 0,
  830.         PRIMARY KEY(StateType));
  831.  
  832. CREATE TABLE "DiplomaticStateActions" (
  833.         "StateType" INTEGER NOT NULL,
  834.         "DiplomaticActionType" INTEGER NOT NULL,
  835.         "AiAllowed" BOOLEAN NOT NULL CHECK (AiAllowed IN (0,1)) DEFAULT 1,
  836.         "Worth" INTEGER NOT NULL DEFAULT 0,
  837.         "Cost" INTEGER NOT NULL DEFAULT 0,
  838.         "TransitionToState" TEXT,
  839.         PRIMARY KEY(StateType, DiplomaticActionType),
  840.         FOREIGN KEY (StateType) REFERENCES DiplomaticStates(StateType) ON DELETE CASCADE ON UPDATE CASCADE,
  841.         FOREIGN KEY (DiplomaticActionType) REFERENCES DiplomaticActions(DiplomaticActionType) ON DELETE CASCADE ON UPDATE CASCADE,
  842.         FOREIGN KEY (TransitionToState) REFERENCES DiplomaticStates(StateType) ON DELETE CASCADE ON UPDATE CASCADE);
  843.  
  844. CREATE TABLE "DiplomaticStateTransitions" (
  845.         "BaseState" TEXT NOT NULL,
  846.         "TransitionState" TEXT NOT NULL,
  847.         "RequireTransitionMax" INTEGER,
  848.         "ThrottleTurns" INTEGER NOT NULL DEFAULT 0,
  849.         "AllowTransitionMin" INTEGER,
  850.         "RequireTransitionMin" INTEGER,
  851.         "AllowTransitionMax" INTEGER,
  852.         "AllowTransitionCheck" TEXT,
  853.         "OnTransitionAction" TEXT,
  854.         PRIMARY KEY(BaseState, TransitionState, AllowTransitionCheck),
  855.         FOREIGN KEY (TransitionState) REFERENCES DiplomaticStates(StateType) ON DELETE CASCADE ON UPDATE CASCADE,
  856.         FOREIGN KEY (BaseState) REFERENCES DiplomaticStates(StateType) ON DELETE CASCADE ON UPDATE CASCADE);
  857.  
  858. CREATE TABLE "DiplomaticTriggers" (
  859.         "TriggerType" TEXT NOT NULL,
  860.         PRIMARY KEY(TriggerType));
  861.  
  862. CREATE TABLE "DiplomaticTriggeredTransitions" (
  863.         "TriggerType" TEXT NOT NULL,
  864.         "CivilizationLevel" TEXT NOT NULL,
  865.         "OpponentCivilizationLevel" TEXT NOT NULL,
  866.         "TransitionState" TEXT NOT NULL,
  867.         PRIMARY KEY(TriggerType, CivilizationLevel, OpponentCivilizationLevel),
  868.         FOREIGN KEY (TransitionState) REFERENCES DiplomaticStates(StateType) ON DELETE CASCADE ON UPDATE CASCADE,
  869.         FOREIGN KEY (TriggerType) REFERENCES DiplomaticTriggers(TriggerType) ON DELETE CASCADE ON UPDATE CASCADE,
  870.         FOREIGN KEY (CivilizationLevel) REFERENCES CivilizationLevels(CivilizationLevelType) ON DELETE CASCADE ON UPDATE CASCADE,
  871.         FOREIGN KEY (OpponentCivilizationLevel) REFERENCES CivilizationLevels(CivilizationLevelType) ON DELETE CASCADE ON UPDATE CASCADE);
  872.  
  873. CREATE TABLE "DiplomaticTriggers_RequiredStates" (
  874.         "TriggerType" TEXT NOT NULL,
  875.         "RequiredState" TEXT NOT NULL,
  876.         PRIMARY KEY(TriggerType, RequiredState),
  877.         FOREIGN KEY (TriggerType) REFERENCES DiplomaticTriggers(TriggerType) ON DELETE CASCADE ON UPDATE CASCADE,
  878.         FOREIGN KEY (RequiredState) REFERENCES DiplomaticStates(StateType) ON DELETE CASCADE ON UPDATE CASCADE);
  879.  
  880. CREATE TABLE "DiplomaticVisibilitySources" (
  881.         "VisibilitySourceType" TEXT NOT NULL,
  882.         "Description" TEXT NOT NULL,
  883.         "ActionDescription" TEXT NOT NULL,
  884.         "GossipString" TEXT NOT NULL,
  885.         "Trader" BOOLEAN NOT NULL CHECK (Trader IN (0,1)) DEFAULT 0,
  886.         "Delegate" BOOLEAN NOT NULL CHECK (Delegate IN (0,1)) DEFAULT 0,
  887.         "Ally" BOOLEAN NOT NULL CHECK (Ally IN (0,1)) DEFAULT 0,
  888.         "Spy" BOOLEAN NOT NULL CHECK (Spy IN (0,1)) DEFAULT 0,
  889.         "PrereqTech" TEXT,
  890.         "TraitType" TEXT,
  891.         "GreatPersonIndividualType" TEXT,
  892.         "FromCitizen" BOOLEAN NOT NULL CHECK (FromCitizen IN (0,1)) DEFAULT 0,
  893.         PRIMARY KEY(VisibilitySourceType),
  894.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE,
  895.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE CASCADE ON UPDATE CASCADE,
  896.         FOREIGN KEY (GreatPersonIndividualType) REFERENCES GreatPersonIndividuals(GreatPersonIndividualType) ON DELETE CASCADE ON UPDATE CASCADE);
  897.  
  898. CREATE TABLE "Districts" (
  899.         "DistrictType" TEXT NOT NULL,
  900.         "Name" TEXT NOT NULL,
  901.         "PrereqTech" TEXT,
  902.         "PrereqCivic" TEXT,
  903.         "Coast" BOOLEAN NOT NULL CHECK (Coast IN (0,1)) DEFAULT 0,
  904.         "Description" TEXT,
  905.         "Cost" INTEGER NOT NULL DEFAULT 0,
  906.         "RequiresPlacement" BOOLEAN NOT NULL CHECK (RequiresPlacement IN (0,1)),
  907.         "RequiresPopulation" BOOLEAN NOT NULL CHECK (RequiresPopulation IN (0,1)) DEFAULT 1,
  908.         "NoAdjacentCity" BOOLEAN NOT NULL CHECK (NoAdjacentCity IN (0,1)),
  909.         "CityCenter" BOOLEAN NOT NULL CHECK (CityCenter IN (0,1)) DEFAULT 0,
  910.         "Aqueduct" BOOLEAN NOT NULL CHECK (Aqueduct IN (0,1)),
  911.         "InternalOnly" BOOLEAN NOT NULL CHECK (InternalOnly IN (0,1)),
  912.         "ZOC" BOOLEAN CHECK (ZOC IN (0,1)) DEFAULT 0,
  913.         "FreeEmbark" BOOLEAN NOT NULL CHECK (FreeEmbark IN (0,1)) DEFAULT 0,
  914.         "HitPoints" INTEGER DEFAULT 0,
  915.         "CaptureRemovesBuildings" BOOLEAN NOT NULL CHECK (CaptureRemovesBuildings IN (0,1)),
  916.         "CaptureRemovesCityDefenses" BOOLEAN NOT NULL CHECK (CaptureRemovesCityDefenses IN (0,1)),
  917.         "PlunderType" TEXT NOT NULL,
  918.         "PlunderAmount" INTEGER NOT NULL DEFAULT 0,
  919.         "TradeEmbark" BOOLEAN NOT NULL CHECK (TradeEmbark IN (0,1)) DEFAULT 0,
  920.         "MilitaryDomain" TEXT NOT NULL,
  921.         "CostProgressionModel" TEXT NOT NULL DEFAULT "NO_COST_PROGRESSION",
  922.         "CostProgressionParam1" INTEGER NOT NULL DEFAULT 0,
  923.         "TraitType" TEXT,
  924.         "Appeal" INTEGER NOT NULL DEFAULT 0,
  925.         "Housing" INTEGER NOT NULL DEFAULT 0,
  926.         "Entertainment" INTEGER NOT NULL DEFAULT 0,
  927.         "OnePerCity" BOOLEAN NOT NULL CHECK (OnePerCity IN (0,1)) DEFAULT 1,
  928.         "AllowsHolyCity" BOOLEAN NOT NULL CHECK (AllowsHolyCity IN (0,1)) DEFAULT 0,
  929.         "Maintenance" INTEGER NOT NULL DEFAULT 0,
  930.         "AirSlots" INTEGER NOT NULL DEFAULT 0,
  931.         "CitizenSlots" INTEGER,
  932.         "TravelTime" INTEGER NOT NULL DEFAULT -1,
  933.         "CityStrengthModifier" INTEGER NOT NULL DEFAULT 0,
  934.         "AdjacentToLand" BOOLEAN NOT NULL CHECK (AdjacentToLand IN (0,1)) DEFAULT 0,
  935.         "CanAttack" BOOLEAN NOT NULL CHECK (CanAttack IN (0,1)) DEFAULT 0,
  936.         "AdvisorType" TEXT,
  937.         "CaptureRemovesDistrict" BOOLEAN NOT NULL CHECK (CaptureRemovesDistrict IN (0,1)) DEFAULT 0,
  938.         PRIMARY KEY(DistrictType),
  939.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  940.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  941.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  942.         FOREIGN KEY (DistrictType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  943.  
  944. CREATE TABLE "District_Adjacencies" (
  945.         "DistrictType" TEXT NOT NULL,
  946.         "YieldChangeId" TEXT NOT NULL,
  947.         PRIMARY KEY(DistrictType, YieldChangeId),
  948.         FOREIGN KEY (YieldChangeId) REFERENCES Adjacency_YieldChanges(ID) ON DELETE CASCADE ON UPDATE CASCADE,
  949.         FOREIGN KEY (DistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE);
  950.  
  951. CREATE TABLE "District_CitizenGreatPersonPoints" (
  952.         "DistrictType" TEXT NOT NULL,
  953.         "GreatPersonClassType" TEXT NOT NULL,
  954.         "PointsPerTurn" INTEGER NOT NULL DEFAULT 0,
  955.         PRIMARY KEY(DistrictType, GreatPersonClassType),
  956.         FOREIGN KEY (DistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE,
  957.         FOREIGN KEY (GreatPersonClassType) REFERENCES GreatPersonClasses(GreatPersonClassType) ON DELETE CASCADE ON UPDATE CASCADE);
  958.  
  959. CREATE TABLE "District_CitizenYieldChanges" (
  960.         "DistrictType" TEXT NOT NULL,
  961.         "YieldType" TEXT NOT NULL,
  962.         "YieldChange" INTEGER NOT NULL DEFAULT 0,
  963.         PRIMARY KEY(DistrictType, YieldType),
  964.         FOREIGN KEY (DistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE,
  965.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  966.  
  967. CREATE TABLE "District_GreatPersonPoints" (
  968.         "DistrictType" TEXT NOT NULL,
  969.         "GreatPersonClassType" TEXT NOT NULL,
  970.         "PointsPerTurn" INTEGER NOT NULL DEFAULT 0,
  971.         PRIMARY KEY(DistrictType, GreatPersonClassType),
  972.         FOREIGN KEY (DistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE,
  973.         FOREIGN KEY (GreatPersonClassType) REFERENCES GreatPersonClasses(GreatPersonClassType) ON DELETE CASCADE ON UPDATE CASCADE);
  974.  
  975. CREATE TABLE "District_RequiredFeatures" (
  976.         "DistrictType" TEXT NOT NULL,
  977.         "FeatureType" TEXT NOT NULL,
  978.         PRIMARY KEY(DistrictType, FeatureType),
  979.         FOREIGN KEY (DistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE,
  980.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE);
  981.  
  982. CREATE TABLE "District_TradeRouteYields" (
  983.         "DistrictType" TEXT NOT NULL,
  984.         "YieldType" TEXT NOT NULL,
  985.         "YieldChangeAsOrigin" REAL NOT NULL DEFAULT 0,
  986.         "YieldChangeAsDomesticDestination" REAL NOT NULL DEFAULT 0,
  987.         "YieldChangeAsInternationalDestination" REAL NOT NULL DEFAULT 0,
  988.         PRIMARY KEY(DistrictType, YieldType),
  989.         FOREIGN KEY (DistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE,
  990.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  991.  
  992. CREATE TABLE "District_ValidTerrains" (
  993.         "DistrictType" TEXT NOT NULL,
  994.         "TerrainType" TEXT NOT NULL,
  995.         PRIMARY KEY(DistrictType, TerrainType),
  996.         FOREIGN KEY (TerrainType) REFERENCES Terrains(TerrainType) ON DELETE CASCADE ON UPDATE CASCADE,
  997.         FOREIGN KEY (DistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE);
  998.  
  999. CREATE TABLE "DistrictModifiers" (
  1000.         "DistrictType" TEXT NOT NULL,
  1001.         "ModifierId" TEXT NOT NULL,
  1002.         PRIMARY KEY(DistrictType, ModifierId),
  1003.         FOREIGN KEY (DistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE);
  1004.  
  1005. CREATE TABLE "DistrictReplaces" (
  1006.         "CivUniqueDistrictType" TEXT NOT NULL,
  1007.         "ReplacesDistrictType" TEXT NOT NULL,
  1008.         PRIMARY KEY(CivUniqueDistrictType),
  1009.         FOREIGN KEY (CivUniqueDistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE,
  1010.         FOREIGN KEY (ReplacesDistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE);
  1011.  
  1012. CREATE TABLE "DynamicModifiers" (
  1013.         "ModifierType" TEXT NOT NULL,
  1014.         "CollectionType" TEXT NOT NULL,
  1015.         "EffectType" TEXT NOT NULL,
  1016.         PRIMARY KEY(ModifierType),
  1017.         FOREIGN KEY (CollectionType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE,
  1018.         FOREIGN KEY (ModifierType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE,
  1019.         FOREIGN KEY (EffectType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1020.  
  1021. CREATE TABLE "Eras" (
  1022.         "EraType" TEXT NOT NULL,
  1023.         "Name" TEXT NOT NULL,
  1024.         "Description" TEXT,
  1025.         "ChronologyIndex" INTEGER NOT NULL UNIQUE,
  1026.         "WarmongerPoints" INTEGER NOT NULL DEFAULT 0,
  1027.         "GreatPersonBaseCost" INTEGER NOT NULL,
  1028.         "EraTechBackgroundTexture" TEXT,
  1029.         "EraCivicBackgroundTexture" TEXT,
  1030.         "WarmongerLevelDescription" TEXT,
  1031.         "EmbarkedUnitStrength" INTEGER NOT NULL,
  1032.         "EraTechBackgroundTextureOffsetX" INTEGER NOT NULL DEFAULT 0,
  1033.         "EraCivicBackgroundTextureOffsetX" INTEGER NOT NULL DEFAULT 0,
  1034.         PRIMARY KEY(EraType),
  1035.         FOREIGN KEY (EraType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1036.  
  1037. CREATE TABLE "EventPopupData" (
  1038.         "Type" TEXT NOT NULL UNIQUE,
  1039.         "Title" TEXT NOT NULL,
  1040.         "Description" TEXT,
  1041.         "BackgroundImage" TEXT,
  1042.         "ForegroundImage" TEXT,
  1043.         "Effects" TEXT,
  1044.         "ImageText" TEXT,
  1045.         "FilterCondition" TEXT,
  1046.         "EffectType" TEXT,
  1047.         PRIMARY KEY(Type));
  1048.  
  1049. CREATE TABLE "ExcludedAdjacencies" (
  1050.         "TraitType" TEXT NOT NULL,
  1051.         "YieldChangeId" TEXT NOT NULL,
  1052.         PRIMARY KEY(TraitType, YieldChangeId),
  1053.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE CASCADE ON UPDATE CASCADE,
  1054.         FOREIGN KEY (YieldChangeId) REFERENCES Adjacency_YieldChanges(ID) ON DELETE CASCADE ON UPDATE CASCADE);
  1055.  
  1056. CREATE TABLE "ExcludedDistricts" (
  1057.         "DistrictType" TEXT NOT NULL,
  1058.         "TraitType" TEXT NOT NULL,
  1059.         PRIMARY KEY(DistrictType, TraitType),
  1060.         FOREIGN KEY (DistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE,
  1061.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE CASCADE ON UPDATE CASCADE);
  1062.  
  1063. CREATE TABLE "ExcludedGreatPersonClasses" (
  1064.         "GreatPersonClassType" TEXT NOT NULL,
  1065.         "TraitType" TEXT NOT NULL,
  1066.         PRIMARY KEY(GreatPersonClassType, TraitType),
  1067.         FOREIGN KEY (GreatPersonClassType) REFERENCES GreatPersonClasses(GreatPersonClassType) ON DELETE CASCADE ON UPDATE CASCADE,
  1068.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE CASCADE ON UPDATE CASCADE);
  1069.  
  1070. -- Combinations of agenda that cannot appear on the same AI. These are symmetric
  1071. CREATE TABLE "ExclusiveAgendas" (
  1072.         "AgendaOne" TEXT NOT NULL,
  1073.         "AgendaTwo" TEXT NOT NULL,
  1074.         PRIMARY KEY(AgendaOne, AgendaTwo),
  1075.         FOREIGN KEY (AgendaOne) REFERENCES Agendas(AgendaType) ON DELETE CASCADE ON UPDATE CASCADE,
  1076.         FOREIGN KEY (AgendaTwo) REFERENCES Agendas(AgendaType) ON DELETE CASCADE ON UPDATE CASCADE);
  1077.  
  1078. -- Table of suggested religions. Will try to match leader first, then civ, then random pick
  1079. CREATE TABLE "FavoredReligions" (
  1080.         "LeaderType" TEXT,
  1081.         "CivilizationType" TEXT,
  1082.         "ReligionType" TEXT NOT NULL,
  1083.         PRIMARY KEY(LeaderType, CivilizationType, ReligionType),
  1084.         FOREIGN KEY (ReligionType) REFERENCES Religions(ReligionType) ON DELETE CASCADE ON UPDATE CASCADE,
  1085.         FOREIGN KEY (LeaderType) REFERENCES Leaders(LeaderType) ON DELETE CASCADE ON UPDATE CASCADE,
  1086.         FOREIGN KEY (CivilizationType) REFERENCES Civilizations(CivilizationType) ON DELETE CASCADE ON UPDATE CASCADE);
  1087.  
  1088. CREATE TABLE "Features" (
  1089.         "FeatureType" TEXT NOT NULL,
  1090.         "Name" TEXT NOT NULL,
  1091.         "Description" TEXT UNIQUE,
  1092.         "Quote" TEXT UNIQUE,
  1093.         "Coast" BOOLEAN NOT NULL CHECK (Coast IN (0,1)) DEFAULT 0,
  1094.         "NoCoast" BOOLEAN NOT NULL CHECK (NoCoast IN (0,1)) DEFAULT 0,
  1095.         "NoRiver" BOOLEAN NOT NULL CHECK (NoRiver IN (0,1)) DEFAULT 0,
  1096.         "NoAdjacentFeatures" BOOLEAN NOT NULL CHECK (NoAdjacentFeatures IN (0,1)) DEFAULT 0,
  1097.         "RequiresRiver" BOOLEAN NOT NULL CHECK (RequiresRiver IN (0,1)) DEFAULT 0,
  1098.         "MovementChange" INTEGER NOT NULL DEFAULT 0,
  1099.         "SightThroughModifier" INTEGER NOT NULL DEFAULT 0,
  1100.         "Impassable" BOOLEAN NOT NULL CHECK (Impassable IN (0,1)) DEFAULT 0,
  1101.         "NaturalWonder" BOOLEAN NOT NULL CHECK (NaturalWonder IN (0,1)) DEFAULT 0,
  1102.         "RemoveTech" TEXT,
  1103.         "Removable" BOOLEAN NOT NULL CHECK (Removable IN (0,1)) DEFAULT 0,
  1104.         "AddCivic" TEXT,
  1105.         "DefenseModifier" INTEGER NOT NULL DEFAULT 0,
  1106.         "AddsFreshWater" BOOLEAN NOT NULL CHECK (AddsFreshWater IN (0,1)) DEFAULT 0,
  1107.         "Appeal" INTEGER NOT NULL DEFAULT 0,
  1108.         "MinDistanceLand" INTEGER NOT NULL DEFAULT 0,
  1109.         "MaxDistanceLand" INTEGER NOT NULL DEFAULT 0,
  1110.         "NotNearFeature" BOOLEAN NOT NULL CHECK (NotNearFeature IN (0,1)) DEFAULT 0,
  1111.         "Lake" BOOLEAN NOT NULL CHECK (Lake IN (0,1)) DEFAULT 0,
  1112.         "Tiles" INTEGER NOT NULL DEFAULT 1,
  1113.         "Adjacent" BOOLEAN NOT NULL CHECK (Adjacent IN (0,1)) DEFAULT 1,
  1114.         "NoResource" BOOLEAN NOT NULL CHECK (NoResource IN (0,1)) DEFAULT 0,
  1115.         "DoubleAdjacentTerrainYield" BOOLEAN NOT NULL CHECK (DoubleAdjacentTerrainYield IN (0,1)) DEFAULT 0,
  1116.         "NotCliff" BOOLEAN NOT NULL CHECK (NotCliff IN (0,1)) DEFAULT 0,
  1117.         "MinDistanceNW" INTEGER NOT NULL DEFAULT -1,
  1118.         "CustomPlacement" TEXT,
  1119.         "Forest" BOOLEAN NOT NULL CHECK (Forest IN (0,1)) DEFAULT 0,
  1120.         "AntiquityPriority" INTEGER NOT NULL DEFAULT 0,
  1121.         "QuoteAudio" TEXT,
  1122.         "Settlement" BOOLEAN NOT NULL CHECK (Settlement IN (0,1)) DEFAULT 1,
  1123.         "FollowRulesInWB" BOOLEAN NOT NULL CHECK (FollowRulesInWB IN (0,1)) DEFAULT 1,
  1124.         PRIMARY KEY(FeatureType),
  1125.         FOREIGN KEY (RemoveTech) REFERENCES Technologies(TechnologyType) ON DELETE SET NULL ON UPDATE CASCADE,
  1126.         FOREIGN KEY (AddCivic) REFERENCES Civics(CivicType) ON DELETE SET NULL ON UPDATE CASCADE,
  1127.         FOREIGN KEY (FeatureType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1128.  
  1129. CREATE TABLE "Feature_AdjacentFeatures" (
  1130.         "FeatureType" TEXT NOT NULL,
  1131.         "FeatureTypeAdjacent" TEXT NOT NULL,
  1132.         PRIMARY KEY(FeatureType, FeatureTypeAdjacent),
  1133.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE,
  1134.         FOREIGN KEY (FeatureTypeAdjacent) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE);
  1135.  
  1136. CREATE TABLE "Feature_AdjacentTerrains" (
  1137.         "FeatureType" TEXT NOT NULL,
  1138.         "TerrainType" TEXT NOT NULL,
  1139.         PRIMARY KEY(FeatureType, TerrainType),
  1140.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE,
  1141.         FOREIGN KEY (TerrainType) REFERENCES Terrains(TerrainType) ON DELETE CASCADE ON UPDATE CASCADE);
  1142.  
  1143. CREATE TABLE "Feature_AdjacentYields" (
  1144.         "FeatureType" TEXT NOT NULL,
  1145.         "YieldType" TEXT NOT NULL,
  1146.         "YieldChange" INTEGER NOT NULL,
  1147.         PRIMARY KEY(FeatureType, YieldType),
  1148.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE,
  1149.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  1150.  
  1151. CREATE TABLE "Feature_NotAdjacentTerrains" (
  1152.         "FeatureType" TEXT NOT NULL,
  1153.         "TerrainType" TEXT NOT NULL,
  1154.         PRIMARY KEY(FeatureType, TerrainType),
  1155.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE,
  1156.         FOREIGN KEY (TerrainType) REFERENCES Terrains(TerrainType) ON DELETE CASCADE ON UPDATE CASCADE);
  1157.  
  1158. CREATE TABLE "Feature_NotNearFeatures" (
  1159.         "FeatureType" TEXT NOT NULL,
  1160.         "FeatureTypeAvoid" TEXT NOT NULL,
  1161.         PRIMARY KEY(FeatureType, FeatureTypeAvoid),
  1162.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE,
  1163.         FOREIGN KEY (FeatureTypeAvoid) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE);
  1164.  
  1165. CREATE TABLE "Feature_Removes" (
  1166.         "FeatureType" TEXT NOT NULL,
  1167.         "YieldType" TEXT NOT NULL,
  1168.         "Yield" INTEGER NOT NULL DEFAULT 0,
  1169.         PRIMARY KEY(FeatureType, YieldType),
  1170.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE,
  1171.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  1172.  
  1173. CREATE TABLE "Feature_ValidTerrains" (
  1174.         "FeatureType" TEXT NOT NULL,
  1175.         "TerrainType" TEXT NOT NULL,
  1176.         PRIMARY KEY(FeatureType, TerrainType),
  1177.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE,
  1178.         FOREIGN KEY (TerrainType) REFERENCES Terrains(TerrainType) ON DELETE CASCADE ON UPDATE CASCADE);
  1179.  
  1180. CREATE TABLE "Feature_YieldChanges" (
  1181.         "FeatureType" TEXT NOT NULL,
  1182.         "YieldType" TEXT NOT NULL,
  1183.         "YieldChange" INTEGER NOT NULL,
  1184.         PRIMARY KEY(FeatureType, YieldType),
  1185.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE,
  1186.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  1187.  
  1188. CREATE TABLE "Flavors" (
  1189.         "FlavorType" TEXT NOT NULL UNIQUE,
  1190.         PRIMARY KEY(FlavorType));
  1191.  
  1192. CREATE TABLE "GameCapabilities" (
  1193.         "GameCapability" TEXT,
  1194.         PRIMARY KEY(GameCapability),
  1195.         FOREIGN KEY (GameCapability) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1196.  
  1197. CREATE TABLE "GameCapabilityDependencies" (
  1198.         "ID" INTEGER,
  1199.         "GameCapability" INTEGER,
  1200.         "DependsOnCapability" TEXT,
  1201.         PRIMARY KEY(ID),
  1202.         FOREIGN KEY (GameCapability) REFERENCES GameCapabilities(GameCapability) ON DELETE CASCADE ON UPDATE CASCADE,
  1203.         FOREIGN KEY (DependsOnCapability) REFERENCES GameCapabilities(GameCapability) ON DELETE CASCADE ON UPDATE CASCADE);
  1204.  
  1205. CREATE TABLE "GameEffects" (
  1206.         "Type" TEXT,
  1207.         "CommonName" TEXT,
  1208.         "Description" TEXT,
  1209.         "Tags" TEXT,
  1210.         "GameCapabilities" TEXT,
  1211.         "ContextInterfaces" TEXT,
  1212.         "SubjectInterfaces" TEXT,
  1213.         "SupportsRemove" BOOLEAN CHECK (SupportsRemove IN (0,1)),
  1214.         PRIMARY KEY(Type),
  1215.         FOREIGN KEY (Type) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1216.  
  1217. CREATE TABLE "GameEffectArguments" (
  1218.         "Type" TEXT,
  1219.         "Name" TEXT NOT NULL,
  1220.         "CommonName" TEXT,
  1221.         "Description" TEXT,
  1222.         "ArgumentType" TEXT,
  1223.         "DefaultValue" TEXT,
  1224.         "Required" BOOLEAN NOT NULL CHECK (Required IN (0,1)) DEFAULT 0,
  1225.         "MinValue" TEXT,
  1226.         "MaxValue" TEXT,
  1227.         "DatabaseKind" TEXT,
  1228.         PRIMARY KEY(Type, Name),
  1229.         FOREIGN KEY (Type) REFERENCES GameEffects(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1230.  
  1231. -- A Set of modifiers that are attached to the game upon start-up.
  1232. CREATE TABLE "GameModifiers" (
  1233.         "ModifierId" TEXT NOT NULL,
  1234.         PRIMARY KEY(ModifierId));
  1235.  
  1236. CREATE TABLE "GameSpeeds" (
  1237.         "GameSpeedType" TEXT NOT NULL,
  1238.         "Name" TEXT,
  1239.         "Description" TEXT,
  1240.         "CostMultiplier" INTEGER NOT NULL DEFAULT 100,
  1241.         "CivicUnlockMaxCost" INTEGER NOT NULL,
  1242.         "CivicUnlockPerTurnDrop" INTEGER NOT NULL,
  1243.         "CivicUnlockMinCost" INTEGER NOT NULL,
  1244.         PRIMARY KEY(GameSpeedType));
  1245.  
  1246. CREATE TABLE "GameSpeed_Turns" (
  1247.         "GameSpeedType" TEXT NOT NULL,
  1248.         "MonthIncrement" INTEGER NOT NULL,
  1249.         "TurnsPerIncrement" INTEGER NOT NULL,
  1250.         PRIMARY KEY(GameSpeedType, MonthIncrement, TurnsPerIncrement),
  1251.         FOREIGN KEY (GameSpeedType) REFERENCES GameSpeeds(GameSpeedType) ON DELETE CASCADE ON UPDATE CASCADE);
  1252.  
  1253. CREATE TABLE "GlobalParameters" (
  1254.         "Name" TEXT NOT NULL,
  1255.         "Value" TEXT NOT NULL,
  1256.         PRIMARY KEY(Name));
  1257.  
  1258. CREATE TABLE "GoodyHuts" (
  1259.         "GoodyHutType" TEXT NOT NULL,
  1260.         "ImprovementType" TEXT NOT NULL DEFAULT "IMPROVEMENT_GOODY_HUT",
  1261.         "Weight" INTEGER NOT NULL,
  1262.         PRIMARY KEY(GoodyHutType),
  1263.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE);
  1264.  
  1265. CREATE TABLE "GoodyHutSubTypes" (
  1266.         "GoodyHut" TEXT NOT NULL,
  1267.         "SubTypeGoodyHut" TEXT NOT NULL UNIQUE,
  1268.         "Description" TEXT,
  1269.         "Weight" INTEGER NOT NULL,
  1270.         "ModifierID" TEXT NOT NULL,
  1271.         "UpgradeUnit" BOOLEAN NOT NULL CHECK (UpgradeUnit IN (0,1)) DEFAULT 0,
  1272.         "Turn" INTEGER NOT NULL DEFAULT 0,
  1273.         "Experience" BOOLEAN NOT NULL CHECK (Experience IN (0,1)) DEFAULT 0,
  1274.         "Heal" INTEGER NOT NULL DEFAULT 0,
  1275.         "Relic" BOOLEAN NOT NULL CHECK (Relic IN (0,1)) DEFAULT 0,
  1276.         "Trader" BOOLEAN NOT NULL CHECK (Trader IN (0,1)) DEFAULT 0,
  1277.         "MinOneCity" BOOLEAN NOT NULL CHECK (MinOneCity IN (0,1)) DEFAULT 0,
  1278.         "RequiresUnit" BOOLEAN NOT NULL CHECK (RequiresUnit IN (0,1)) DEFAULT 0,
  1279.         PRIMARY KEY(SubTypeGoodyHut),
  1280.         FOREIGN KEY (GoodyHut) REFERENCES GoodyHuts(GoodyHutType) ON DELETE CASCADE ON UPDATE CASCADE);
  1281.  
  1282. CREATE TABLE "Gossips" (
  1283.         "GossipType" TEXT NOT NULL UNIQUE,
  1284.         "VisibilityLevel" INTEGER NOT NULL DEFAULT 0,
  1285.         "Description" TEXT,
  1286.         "Message" TEXT NOT NULL,
  1287.         "Filter" BOOLEAN NOT NULL CHECK (Filter IN (0,1)) DEFAULT 1,
  1288.         "ErasUntilObsolete" INTEGER NOT NULL DEFAULT 0,
  1289.         "LevelRequired" INTEGER NOT NULL DEFAULT 0,
  1290.         PRIMARY KEY(GossipType),
  1291.         FOREIGN KEY (GossipType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1292.  
  1293. CREATE TABLE "Governments" (
  1294.         "GovernmentType" TEXT NOT NULL,
  1295.         "Name" TEXT NOT NULL,
  1296.         "PrereqCivic" TEXT,
  1297.         "InherentBonusDesc" TEXT NOT NULL,
  1298.         "AccumulatedBonusShortDesc" TEXT NOT NULL,
  1299.         "AccumulatedBonusDesc" TEXT NOT NULL,
  1300.         "OtherGovernmentIntolerance" INTEGER NOT NULL DEFAULT 0,
  1301.         "InfluencePointsPerTurn" INTEGER NOT NULL,
  1302.         "InfluencePointsThreshold" INTEGER NOT NULL,
  1303.         "InfluenceTokensPerThreshold" INTEGER NOT NULL,
  1304.         "BonusType" TEXT NOT NULL,
  1305.         "PolicyToUnlock" TEXT,
  1306.         "Tier" TEXT,
  1307.         PRIMARY KEY(GovernmentType),
  1308.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1309.         FOREIGN KEY (BonusType) REFERENCES GovernmentBonusNames(GovernmentBonusType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1310.         FOREIGN KEY (GovernmentType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE,
  1311.         FOREIGN KEY (PolicyToUnlock) REFERENCES Policies(PolicyType) ON DELETE CASCADE ON UPDATE CASCADE,
  1312.         FOREIGN KEY (Tier) REFERENCES GovTiers(TierType) ON DELETE CASCADE ON UPDATE CASCADE);
  1313.  
  1314. CREATE TABLE "Government_SlotCounts" (
  1315.         "GovernmentType" TEXT NOT NULL,
  1316.         "GovernmentSlotType" TEXT NOT NULL,
  1317.         "NumSlots" INTEGER NOT NULL,
  1318.         PRIMARY KEY(GovernmentType, GovernmentSlotType),
  1319.         FOREIGN KEY (GovernmentType) REFERENCES Governments(GovernmentType) ON DELETE CASCADE ON UPDATE CASCADE,
  1320.         FOREIGN KEY (GovernmentSlotType) REFERENCES GovernmentSlots(GovernmentSlotType) ON DELETE CASCADE ON UPDATE CASCADE);
  1321.  
  1322. CREATE TABLE "GovernmentBonusNames" (
  1323.         "GovernmentBonusType" TEXT NOT NULL,
  1324.         PRIMARY KEY(GovernmentBonusType));
  1325.  
  1326. CREATE TABLE "GovernmentModifiers" (
  1327.         "GovernmentType" TEXT NOT NULL,
  1328.         "ModifierId" TEXT NOT NULL,
  1329.         PRIMARY KEY(GovernmentType, ModifierId),
  1330.         FOREIGN KEY (GovernmentType) REFERENCES Governments(GovernmentType) ON DELETE CASCADE ON UPDATE CASCADE);
  1331.  
  1332. CREATE TABLE "GovernmentSlots" (
  1333.         "GovernmentSlotType" TEXT NOT NULL,
  1334.         "Name" TEXT NOT NULL,
  1335.         "AllowsAnyPolicy" BOOLEAN NOT NULL CHECK (AllowsAnyPolicy IN (0,1)),
  1336.         PRIMARY KEY(GovernmentSlotType));
  1337.  
  1338. CREATE TABLE "GovTiers" (
  1339.         "TierType" TEXT NOT NULL,
  1340.         "Sorting" INTEGER NOT NULL,
  1341.         PRIMARY KEY(TierType));
  1342.  
  1343. CREATE TABLE "GreatPersonClasses" (
  1344.         "GreatPersonClassType" TEXT NOT NULL,
  1345.         "Name" TEXT NOT NULL,
  1346.         "UnitType" TEXT NOT NULL,
  1347.         "DistrictType" TEXT NOT NULL,
  1348.         "MaxPlayerInstances" INTEGER,
  1349.         "PseudoYieldType" TEXT,
  1350.         "IconString" TEXT NOT NULL,
  1351.         "ActionIcon" TEXT NOT NULL,
  1352.         PRIMARY KEY(GreatPersonClassType),
  1353.         FOREIGN KEY (UnitType) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE,
  1354.         FOREIGN KEY (DistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE,
  1355.         FOREIGN KEY (PseudoYieldType) REFERENCES PseudoYields(PseudoYieldType) ON DELETE CASCADE ON UPDATE CASCADE,
  1356.         FOREIGN KEY (GreatPersonClassType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1357.  
  1358. CREATE TABLE "GreatPersonIndividuals" (
  1359.         "GreatPersonIndividualType" TEXT NOT NULL,
  1360.         "Name" TEXT NOT NULL,
  1361.         "GreatPersonClassType" TEXT NOT NULL,
  1362.         "EraType" TEXT NOT NULL,
  1363.         "ActionCharges" INTEGER NOT NULL,
  1364.         "ActionRequiresOwnedTile" BOOLEAN NOT NULL CHECK (ActionRequiresOwnedTile IN (0,1)) DEFAULT 1,
  1365.         "ActionRequiresUnownedTile" BOOLEAN NOT NULL CHECK (ActionRequiresUnownedTile IN (0,1)) DEFAULT 0,
  1366.         "ActionRequiresAdjacentMountain" BOOLEAN NOT NULL CHECK (ActionRequiresAdjacentMountain IN (0,1)) DEFAULT 0,
  1367.         "ActionRequiresAdjacentOwnedTile" BOOLEAN NOT NULL CHECK (ActionRequiresAdjacentOwnedTile IN (0,1)) DEFAULT 0,
  1368.         "ActionRequiresAdjacentBarbarianUnit" BOOLEAN NOT NULL CHECK (ActionRequiresAdjacentBarbarianUnit IN (0,1)) DEFAULT 0,
  1369.         "ActionRequiresOnOrAdjacentNaturalWonder" BOOLEAN NOT NULL CHECK (ActionRequiresOnOrAdjacentNaturalWonder IN (0,1)) DEFAULT 0,
  1370.         "ActionRequiresOnOrAdjacentFeatureType" TEXT,
  1371.         "ActionRequiresIncompleteWonder" BOOLEAN NOT NULL CHECK (ActionRequiresIncompleteWonder IN (0,1)) DEFAULT 0,
  1372.         "ActionRequiresIncompleteSpaceRaceProject" BOOLEAN NOT NULL CHECK (ActionRequiresIncompleteSpaceRaceProject IN (0,1)) DEFAULT 0,
  1373.         "ActionRequiresVisibleLuxury" BOOLEAN NOT NULL CHECK (ActionRequiresVisibleLuxury IN (0,1)) DEFAULT 0,
  1374.         "ActionRequiresNoMilitaryUnit" BOOLEAN NOT NULL CHECK (ActionRequiresNoMilitaryUnit IN (0,1)) DEFAULT 0,
  1375.         "ActionRequiresPlayerRelicSlot" BOOLEAN NOT NULL CHECK (ActionRequiresPlayerRelicSlot IN (0,1)) DEFAULT 0,
  1376.         "ActionRequiresMilitaryUnitDomain" TEXT,
  1377.         "ActionRequiresUnitMilitaryFormation" TEXT,
  1378.         "ActionRequiresCityGreatWorkObjectType" TEXT,
  1379.         "ActionRequiresCompletedDistrictType" TEXT,
  1380.         "ActionRequiresMissingBuildingType" TEXT,
  1381.         "ActionRequiresGoldCost" INTEGER,
  1382.         "ActionNameTextOverride" TEXT,
  1383.         "ActionEffectTextOverride" TEXT,
  1384.         "ActionEffectTileHighlighting" BOOLEAN NOT NULL CHECK (ActionEffectTileHighlighting IN (0,1)) DEFAULT 1,
  1385.         "BirthNameTextOverride" TEXT,
  1386.         "BirthEffectTextOverride" TEXT,
  1387.         "AreaHighlightRadius" INTEGER,
  1388.         "Gender" TEXT NOT NULL,
  1389.         PRIMARY KEY(GreatPersonIndividualType),
  1390.         FOREIGN KEY (GreatPersonClassType) REFERENCES GreatPersonClasses(GreatPersonClassType) ON DELETE CASCADE ON UPDATE CASCADE,
  1391.         FOREIGN KEY (EraType) REFERENCES Eras(EraType) ON DELETE CASCADE ON UPDATE CASCADE,
  1392.         FOREIGN KEY (ActionRequiresCompletedDistrictType) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE,
  1393.         FOREIGN KEY (ActionRequiresOnOrAdjacentFeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE,
  1394.         FOREIGN KEY (ActionRequiresCityGreatWorkObjectType) REFERENCES GreatWorkObjectTypes(GreatWorkObjectType) ON DELETE CASCADE ON UPDATE CASCADE,
  1395.         FOREIGN KEY (ActionRequiresMissingBuildingType) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  1396.         FOREIGN KEY (GreatPersonIndividualType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1397.  
  1398. CREATE TABLE "GreatPersonIndividualActionModifiers" (
  1399.         "GreatPersonIndividualType" TEXT NOT NULL,
  1400.         "ModifierId" TEXT NOT NULL,
  1401.         "AttachmentTargetType" TEXT NOT NULL DEFAULT "GREAT_PERSON_ACTION_ATTACHMENT_TARGET_PLAYER",
  1402.         PRIMARY KEY(GreatPersonIndividualType, ModifierId),
  1403.         FOREIGN KEY (GreatPersonIndividualType) REFERENCES GreatPersonIndividuals(GreatPersonIndividualType) ON DELETE CASCADE ON UPDATE CASCADE);
  1404.  
  1405. CREATE TABLE "GreatPersonIndividualBirthModifiers" (
  1406.         "GreatPersonIndividualType" TEXT NOT NULL,
  1407.         "ModifierId" TEXT NOT NULL,
  1408.         PRIMARY KEY(GreatPersonIndividualType, ModifierId),
  1409.         FOREIGN KEY (GreatPersonIndividualType) REFERENCES GreatPersonIndividuals(GreatPersonIndividualType) ON DELETE CASCADE ON UPDATE CASCADE);
  1410.  
  1411. CREATE TABLE "GreatPersonIndividualIconModifiers" (
  1412.         "GreatPersonIndividualType" TEXT NOT NULL UNIQUE,
  1413.         "OverrideUnitIcon" TEXT NOT NULL,
  1414.         PRIMARY KEY(GreatPersonIndividualType));
  1415.  
  1416. CREATE TABLE "GreatWorks" (
  1417.         "GreatWorkType" TEXT NOT NULL,
  1418.         "GreatWorkObjectType" TEXT NOT NULL,
  1419.         "GreatPersonIndividualType" TEXT,
  1420.         "Name" TEXT NOT NULL,
  1421.         "Audio" TEXT,
  1422.         "Image" TEXT,
  1423.         "Quote" TEXT,
  1424.         "Tourism" INTEGER NOT NULL DEFAULT 1,
  1425.         "EraType" TEXT,
  1426.         PRIMARY KEY(GreatWorkType),
  1427.         FOREIGN KEY (EraType) REFERENCES Eras(EraType) ON DELETE CASCADE ON UPDATE CASCADE,
  1428.         FOREIGN KEY (GreatPersonIndividualType) REFERENCES GreatPersonIndividuals(GreatPersonIndividualType) ON DELETE CASCADE ON UPDATE CASCADE,
  1429.         FOREIGN KEY (GreatWorkObjectType) REFERENCES GreatWorkObjectTypes(GreatWorkObjectType) ON DELETE RESTRICT ON UPDATE CASCADE);
  1430.  
  1431. CREATE TABLE "GreatWork_ValidSubTypes" (
  1432.         "GreatWorkSlotType" TEXT NOT NULL,
  1433.         "GreatWorkObjectType" TEXT NOT NULL,
  1434.         PRIMARY KEY(GreatWorkSlotType, GreatWorkObjectType),
  1435.         FOREIGN KEY (GreatWorkObjectType) REFERENCES GreatWorkObjectTypes(GreatWorkObjectType) ON DELETE CASCADE ON UPDATE CASCADE,
  1436.         FOREIGN KEY (GreatWorkSlotType) REFERENCES GreatWorkSlotTypes(GreatWorkSlotType) ON DELETE CASCADE ON UPDATE CASCADE);
  1437.  
  1438. CREATE TABLE "GreatWork_YieldChanges" (
  1439.         "GreatWorkType" TEXT NOT NULL,
  1440.         "YieldType" TEXT NOT NULL,
  1441.         "YieldChange" INTEGER NOT NULL,
  1442.         PRIMARY KEY(GreatWorkType, YieldType),
  1443.         FOREIGN KEY (GreatWorkType) REFERENCES GreatWorks(GreatWorkType) ON DELETE CASCADE ON UPDATE CASCADE,
  1444.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  1445.  
  1446. CREATE TABLE "GreatWorkObjectTypes" (
  1447.         "GreatWorkObjectType" TEXT NOT NULL,
  1448.         "Value" INTEGER NOT NULL UNIQUE,
  1449.         "PseudoYieldType" TEXT NOT NULL,
  1450.         "Name" TEXT NOT NULL,
  1451.         "IconString" TEXT NOT NULL,
  1452.         PRIMARY KEY(GreatWorkObjectType),
  1453.         FOREIGN KEY (PseudoYieldType) REFERENCES PseudoYields(PseudoYieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  1454.  
  1455. CREATE TABLE "GreatWorkSlotTypes" (
  1456.         "GreatWorkSlotType" TEXT NOT NULL,
  1457.         PRIMARY KEY(GreatWorkSlotType));
  1458.  
  1459. CREATE TABLE "Happinesses" (
  1460.         "HappinessType" TEXT NOT NULL,
  1461.         "Name" TEXT NOT NULL,
  1462.         "MinimumAmenityScore" INTEGER,
  1463.         "MaximumAmenityScore" INTEGER,
  1464.         "GrowthModifier" REAL DEFAULT 1,
  1465.         "NonFoodYieldModifier" REAL DEFAULT 1,
  1466.         "RebellionPoints" INTEGER NOT NULL DEFAULT 0,
  1467.         PRIMARY KEY(HappinessType));
  1468.  
  1469. CREATE TABLE "HistoricalAgendas" (
  1470.         "LeaderType" TEXT NOT NULL,
  1471.         "AgendaType" TEXT NOT NULL,
  1472.         PRIMARY KEY(LeaderType, AgendaType),
  1473.         FOREIGN KEY (AgendaType) REFERENCES Agendas(AgendaType) ON DELETE CASCADE ON UPDATE CASCADE,
  1474.         FOREIGN KEY (LeaderType) REFERENCES Leaders(LeaderType) ON DELETE CASCADE ON UPDATE CASCADE);
  1475.  
  1476. CREATE TABLE "HistoricRankings" (
  1477.         "HistoricLeader" TEXT,
  1478.         "Quote" TEXT,
  1479.         "Score" INTEGER NOT NULL DEFAULT 0,
  1480.         PRIMARY KEY(HistoricLeader));
  1481.  
  1482. CREATE TABLE "Improvements" (
  1483.         "ImprovementType" TEXT NOT NULL,
  1484.         "Name" TEXT NOT NULL,
  1485.         "BarbarianCamp" BOOLEAN NOT NULL CHECK (BarbarianCamp IN (0,1)) DEFAULT 0,
  1486.         "PrereqTech" TEXT,
  1487.         "PrereqCivic" TEXT,
  1488.         "Buildable" BOOLEAN NOT NULL CHECK (Buildable IN (0,1)) DEFAULT 0,
  1489.         "Description" TEXT,
  1490.         "RemoveOnEntry" BOOLEAN NOT NULL CHECK (RemoveOnEntry IN (0,1)) DEFAULT 0,
  1491.         "DispersalGold" INTEGER NOT NULL DEFAULT 0,
  1492.         "PlunderType" TEXT NOT NULL,
  1493.         "PlunderAmount" INTEGER NOT NULL DEFAULT 0,
  1494.         "Goody" BOOLEAN NOT NULL CHECK (Goody IN (0,1)) DEFAULT 0,
  1495.         "TilesPerGoody" INTEGER,
  1496.         "GoodyRange" INTEGER,
  1497.         "Icon" TEXT NOT NULL,
  1498.         "TraitType" TEXT,
  1499.         "Housing" INTEGER NOT NULL DEFAULT 0,
  1500.         "TilesRequired" INTEGER NOT NULL DEFAULT 1,
  1501.         "SameAdjacentValid" BOOLEAN NOT NULL CHECK (SameAdjacentValid IN (0,1)) DEFAULT 1,
  1502.         "RequiresRiver" INTEGER NOT NULL DEFAULT 0,
  1503.         "EnforceTerrain" BOOLEAN NOT NULL CHECK (EnforceTerrain IN (0,1)) DEFAULT 0,
  1504.         "BuildInLine" BOOLEAN NOT NULL CHECK (BuildInLine IN (0,1)) DEFAULT 0,
  1505.         "CanBuildOutsideTerritory" BOOLEAN NOT NULL CHECK (CanBuildOutsideTerritory IN (0,1)) DEFAULT 0,
  1506.         "BuildOnFrontier" BOOLEAN NOT NULL CHECK (BuildOnFrontier IN (0,1)) DEFAULT 0,
  1507.         "AirSlots" INTEGER NOT NULL DEFAULT 0,
  1508.         "DefenseModifier" INTEGER NOT NULL DEFAULT 0,
  1509.         "GrantFortification" INTEGER NOT NULL DEFAULT 0,
  1510.         "MinimumAppeal" INTEGER,
  1511.         "Coast" BOOLEAN NOT NULL CHECK (Coast IN (0,1)) DEFAULT 0,
  1512.         "YieldFromAppeal" TEXT,
  1513.         "WeaponSlots" INTEGER NOT NULL DEFAULT 0,
  1514.         "ReligiousUnitHealRate" INTEGER NOT NULL DEFAULT 0,
  1515.         "Appeal" INTEGER NOT NULL DEFAULT 0,
  1516.         "OnePerCity" BOOLEAN NOT NULL CHECK (OnePerCity IN (0,1)) DEFAULT 0,
  1517.         "YieldFromAppealPercent" INTEGER NOT NULL DEFAULT 100,
  1518.         "ValidAdjacentTerrainAmount" INTEGER NOT NULL DEFAULT 0,
  1519.         "Domain" TEXT NOT NULL DEFAULT "DOMAIN_LAND",
  1520.         "AdjacentSeaResource" BOOLEAN NOT NULL CHECK (AdjacentSeaResource IN (0,1)) DEFAULT 0,
  1521.         PRIMARY KEY(ImprovementType),
  1522.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1523.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1524.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1525.         FOREIGN KEY (YieldFromAppeal) REFERENCES Yields(YieldType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1526.         FOREIGN KEY (ImprovementType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1527.  
  1528. CREATE TABLE "Improvement_Adjacencies" (
  1529.         "ImprovementType" TEXT NOT NULL,
  1530.         "YieldChangeId" TEXT NOT NULL,
  1531.         PRIMARY KEY(ImprovementType, YieldChangeId),
  1532.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE,
  1533.         FOREIGN KEY (YieldChangeId) REFERENCES Adjacency_YieldChanges(ID) ON DELETE CASCADE ON UPDATE CASCADE);
  1534.  
  1535. CREATE TABLE "Improvement_BonusYieldChanges" (
  1536.         "Id" INTEGER NOT NULL DEFAULT 0,
  1537.         "ImprovementType" TEXT NOT NULL,
  1538.         "YieldType" TEXT NOT NULL,
  1539.         "BonusYieldChange" INTEGER NOT NULL,
  1540.         "PrereqTech" TEXT,
  1541.         "PrereqCivic" TEXT,
  1542.         PRIMARY KEY(Id, ImprovementType, YieldType),
  1543.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE,
  1544.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE,
  1545.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE,
  1546.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  1547.  
  1548. CREATE TABLE "Improvement_Tourism" (
  1549.         "ImprovementType" TEXT NOT NULL,
  1550.         "TourismSource" TEXT NOT NULL DEFAULT "NO_TOURISMSOURCE",
  1551.         "PrereqCivic" TEXT,
  1552.         "PrereqTech" TEXT,
  1553.         "ScalingFactor" INTEGER NOT NULL DEFAULT 100,
  1554.         PRIMARY KEY(ImprovementType),
  1555.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE,
  1556.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE,
  1557.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE);
  1558.  
  1559. CREATE TABLE "Improvement_ValidAdjacentResources" (
  1560.         "ImprovementType" TEXT NOT NULL,
  1561.         "ResourceType" TEXT NOT NULL,
  1562.         PRIMARY KEY(ImprovementType, ResourceType),
  1563.         FOREIGN KEY (ResourceType) REFERENCES Resources(ResourceType) ON DELETE CASCADE ON UPDATE CASCADE,
  1564.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE);
  1565.  
  1566. CREATE TABLE "Improvement_ValidAdjacentTerrains" (
  1567.         "ImprovementType" TEXT NOT NULL,
  1568.         "TerrainType" TEXT NOT NULL,
  1569.         PRIMARY KEY(ImprovementType, TerrainType),
  1570.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE,
  1571.         FOREIGN KEY (TerrainType) REFERENCES Terrains(TerrainType) ON DELETE CASCADE ON UPDATE CASCADE);
  1572.  
  1573. CREATE TABLE "Improvement_ValidBuildUnits" (
  1574.         "ImprovementType" TEXT NOT NULL,
  1575.         "UnitType" TEXT NOT NULL,
  1576.         PRIMARY KEY(ImprovementType, UnitType),
  1577.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE,
  1578.         FOREIGN KEY (UnitType) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE);
  1579.  
  1580. CREATE TABLE "Improvement_ValidFeatures" (
  1581.         "ImprovementType" TEXT NOT NULL,
  1582.         "FeatureType" TEXT NOT NULL,
  1583.         PRIMARY KEY(ImprovementType, FeatureType),
  1584.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE,
  1585.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE);
  1586.  
  1587. CREATE TABLE "Improvement_ValidResources" (
  1588.         "ImprovementType" TEXT NOT NULL,
  1589.         "ResourceType" TEXT NOT NULL,
  1590.         "MustRemoveFeature" BOOLEAN NOT NULL CHECK (MustRemoveFeature IN (0,1)) DEFAULT 1,
  1591.         PRIMARY KEY(ImprovementType, ResourceType),
  1592.         FOREIGN KEY (ResourceType) REFERENCES Resources(ResourceType) ON DELETE CASCADE ON UPDATE CASCADE,
  1593.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE);
  1594.  
  1595. CREATE TABLE "Improvement_ValidTerrains" (
  1596.         "ImprovementType" TEXT NOT NULL,
  1597.         "TerrainType" TEXT NOT NULL,
  1598.         "PrereqTech" TEXT,
  1599.         "PrereqCivic" TEXT,
  1600.         PRIMARY KEY(ImprovementType, TerrainType),
  1601.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE,
  1602.         FOREIGN KEY (TerrainType) REFERENCES Terrains(TerrainType) ON DELETE CASCADE ON UPDATE CASCADE,
  1603.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE,
  1604.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE);
  1605.  
  1606. CREATE TABLE "Improvement_YieldChanges" (
  1607.         "ImprovementType" TEXT NOT NULL,
  1608.         "YieldType" TEXT NOT NULL,
  1609.         "YieldChange" INTEGER NOT NULL,
  1610.         PRIMARY KEY(ImprovementType, YieldType),
  1611.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE,
  1612.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  1613.  
  1614. CREATE TABLE "ImprovementModifiers" (
  1615.         "ImprovementType" TEXT NOT NULL,
  1616.         "ModifierID" TEXT NOT NULL,
  1617.         PRIMARY KEY(ImprovementType, ModifierID),
  1618.         FOREIGN KEY (ImprovementType) REFERENCES Improvements(ImprovementType) ON DELETE CASCADE ON UPDATE CASCADE);
  1619.  
  1620. CREATE TABLE "InterfaceModes" (
  1621.         "ModeType" TEXT NOT NULL,
  1622.         "Description" TEXT NOT NULL,
  1623.         "Help" TEXT,
  1624.         "DisabledHelp" TEXT,
  1625.         "Icon" TEXT NOT NULL,
  1626.         "VisibleInUI" BOOLEAN NOT NULL CHECK (VisibleInUI IN (0,1)),
  1627.         "CursorType" TEXT NOT NULL,
  1628.         PRIMARY KEY(ModeType));
  1629.  
  1630. CREATE TABLE "Kinds" (
  1631.         "Kind" TEXT NOT NULL,
  1632.         "Hash" INTEGER NOT NULL UNIQUE DEFAULT 0,
  1633.         PRIMARY KEY(Kind));
  1634.  
  1635. CREATE TABLE "Leaders" (
  1636.         "LeaderType" TEXT NOT NULL,
  1637.         "Name" TEXT NOT NULL,
  1638.         "OperationList" TEXT,
  1639.         "IsBarbarianLeader" BOOLEAN NOT NULL CHECK (IsBarbarianLeader IN (0,1)) DEFAULT 0,
  1640.         "InheritFrom" TEXT,
  1641.         "SceneLayers" INTEGER NOT NULL DEFAULT 0,
  1642.         PRIMARY KEY(LeaderType),
  1643.         FOREIGN KEY (OperationList) REFERENCES AiOperationLists(ListType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1644.         FOREIGN KEY (InheritFrom) REFERENCES Leaders(LeaderType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1645.         FOREIGN KEY (LeaderType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1646.  
  1647. -- Random bits of information about the leader.
  1648. CREATE TABLE "LeaderInfo" (
  1649.         "LeaderType" TEXT NOT NULL,
  1650.         "Header" TEXT NOT NULL,
  1651.         "Caption" TEXT NOT NULL,
  1652.         "SortIndex" INTEGER NOT NULL DEFAULT 100,
  1653.         PRIMARY KEY(LeaderType, Header),
  1654.         FOREIGN KEY (LeaderType) REFERENCES Leaders(LeaderType) ON DELETE CASCADE ON UPDATE CASCADE);
  1655.  
  1656. CREATE TABLE "LeaderQuotes" (
  1657.         "LeaderType" TEXT NOT NULL,
  1658.         "Quote" TEXT NOT NULL,
  1659.         "QuoteAudio" TEXT,
  1660.         PRIMARY KEY(LeaderType, Quote),
  1661.         FOREIGN KEY (LeaderType) REFERENCES Leaders(LeaderType) ON DELETE CASCADE ON UPDATE CASCADE);
  1662.  
  1663. CREATE TABLE "LeaderTraits" (
  1664.         "LeaderType" TEXT NOT NULL,
  1665.         "TraitType" TEXT NOT NULL,
  1666.         PRIMARY KEY(LeaderType, TraitType),
  1667.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE CASCADE ON UPDATE CASCADE,
  1668.         FOREIGN KEY (LeaderType) REFERENCES Leaders(LeaderType) ON DELETE CASCADE ON UPDATE CASCADE);
  1669.  
  1670. -- Allows us to change the background in the loading screen based on which leader the player selected.
  1671. CREATE TABLE "LoadingInfo" (
  1672.         "LeaderType" TEXT NOT NULL,
  1673.         "ForegroundImage" TEXT,
  1674.         "BackgroundImage" TEXT,
  1675.         "EraText" TEXT,
  1676.         "LeaderText" TEXT,
  1677.         "PlayDawnOfManAudio" BOOLEAN NOT NULL CHECK (PlayDawnOfManAudio IN (0,1)) DEFAULT 1,
  1678.         PRIMARY KEY(LeaderType),
  1679.         FOREIGN KEY (LeaderType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1680.  
  1681. CREATE TABLE "MajorStartingUnits" (
  1682.         "Unit" TEXT NOT NULL,
  1683.         "Era" TEXT NOT NULL,
  1684.         "District" TEXT NOT NULL DEFAULT "DISTRICT_CITY_CENTER",
  1685.         "Quantity" INTEGER NOT NULL DEFAULT 1,
  1686.         "NotStartTile" BOOLEAN NOT NULL CHECK (NotStartTile IN (0,1)) DEFAULT 0,
  1687.         "OnDistrictCreated" BOOLEAN NOT NULL CHECK (OnDistrictCreated IN (0,1)) DEFAULT 0,
  1688.         "AiOnly" BOOLEAN NOT NULL CHECK (AiOnly IN (0,1)) DEFAULT 0,
  1689.         "MinDifficulty" TEXT,
  1690.         "DifficultyDelta" REAL NOT NULL DEFAULT 0,
  1691.         PRIMARY KEY(Unit, Era, District, MinDifficulty),
  1692.         FOREIGN KEY (Era) REFERENCES Eras(EraType) ON DELETE CASCADE ON UPDATE CASCADE,
  1693.         FOREIGN KEY (Unit) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE,
  1694.         FOREIGN KEY (MinDifficulty) REFERENCES Difficulties(DifficultyType) ON DELETE CASCADE ON UPDATE CASCADE,
  1695.         FOREIGN KEY (District) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE);
  1696.  
  1697. CREATE TABLE "Maps" (
  1698.         "MapSizeType" TEXT NOT NULL,
  1699.         "Name" TEXT NOT NULL,
  1700.         "Description" TEXT,
  1701.         "DefaultPlayers" INTEGER NOT NULL DEFAULT 0,
  1702.         "FogTilesPerBarbarianCamp" INTEGER NOT NULL DEFAULT 0,
  1703.         "NumNaturalWonders" INTEGER NOT NULL DEFAULT 0,
  1704.         "UnitNameModifier" INTEGER NOT NULL DEFAULT 0,
  1705.         "TargetNumCities" INTEGER NOT NULL DEFAULT 0,
  1706.         "GridWidth" INTEGER NOT NULL DEFAULT 0,
  1707.         "GridHeight" INTEGER NOT NULL DEFAULT 0,
  1708.         "TerrainGrainChange" INTEGER NOT NULL DEFAULT 0,
  1709.         "FeatureGrainChange" INTEGER NOT NULL DEFAULT 0,
  1710.         "ResearchPercent" INTEGER NOT NULL DEFAULT 0,
  1711.         "NumCitiesUnhealthPercent" INTEGER NOT NULL DEFAULT 0,
  1712.         "NumCitiesPolicyCostMod" INTEGER NOT NULL DEFAULT 0,
  1713.         "NumCitiesTechCostMod" INTEGER NOT NULL DEFAULT 0,
  1714.         "EstimatedNumCities" INTEGER NOT NULL DEFAULT 0,
  1715.         "PlateValue" INTEGER NOT NULL DEFAULT 4,
  1716.         "Continents" INTEGER NOT NULL DEFAULT 1,
  1717.         PRIMARY KEY(MapSizeType));
  1718.  
  1719. CREATE TABLE "Map_GreatPersonClasses" (
  1720.         "MapSizeType" TEXT NOT NULL,
  1721.         "GreatPersonClassType" TEXT NOT NULL,
  1722.         "MaxWorldInstances" INTEGER,
  1723.         PRIMARY KEY(MapSizeType, GreatPersonClassType),
  1724.         FOREIGN KEY (MapSizeType) REFERENCES Maps(MapSizeType) ON DELETE CASCADE ON UPDATE CASCADE,
  1725.         FOREIGN KEY (GreatPersonClassType) REFERENCES GreatPersonClasses(GreatPersonClassType) ON DELETE CASCADE ON UPDATE CASCADE);
  1726.  
  1727. CREATE TABLE "Modifiers" (
  1728.         "ModifierId" TEXT NOT NULL,
  1729.         "ModifierType" TEXT NOT NULL,
  1730.         "RunOnce" BOOLEAN NOT NULL CHECK (RunOnce IN (0,1)) DEFAULT 0,
  1731.         "NewOnly" BOOLEAN NOT NULL CHECK (NewOnly IN (0,1)) DEFAULT 0,
  1732.         "Permanent" BOOLEAN NOT NULL CHECK (Permanent IN (0,1)) DEFAULT 0,
  1733.         "OwnerRequirementSetId" TEXT,
  1734.         "SubjectRequirementSetId" TEXT,
  1735.         "OwnerStackLimit" INTEGER,
  1736.         "SubjectStackLimit" INTEGER,
  1737.         PRIMARY KEY(ModifierId),
  1738.         FOREIGN KEY (OwnerRequirementSetId) REFERENCES RequirementSets(RequirementSetId) ON DELETE CASCADE ON UPDATE CASCADE,
  1739.         FOREIGN KEY (SubjectRequirementSetId) REFERENCES RequirementSets(RequirementSetId) ON DELETE CASCADE ON UPDATE CASCADE);
  1740.  
  1741. CREATE TABLE "ModifierArguments" (
  1742.         "ModifierId" TEXT NOT NULL,
  1743.         "Name" TEXT NOT NULL,
  1744.         "Type" TEXT NOT NULL DEFAULT "ARGTYPE_IDENTITY",
  1745.         "Value" TEXT NOT NULL,
  1746.         "Extra" TEXT,
  1747.         "SecondExtra" TEXT,
  1748.         PRIMARY KEY(ModifierId, Name),
  1749.         FOREIGN KEY (ModifierId) REFERENCES Modifiers(ModifierId) ON DELETE CASCADE ON UPDATE CASCADE);
  1750.  
  1751. CREATE TABLE "ModifierStrings" (
  1752.         "ModifierId" TEXT NOT NULL,
  1753.         "Context" TEXT NOT NULL,
  1754.         "Text" TEXT NOT NULL,
  1755.         PRIMARY KEY(ModifierId, Context),
  1756.         FOREIGN KEY (ModifierId) REFERENCES Modifiers(ModifierId) ON DELETE CASCADE ON UPDATE CASCADE);
  1757.  
  1758. CREATE TABLE "Months" (
  1759.         "MonthType" TEXT NOT NULL,
  1760.         "Description" TEXT NOT NULL,
  1761.         PRIMARY KEY(MonthType));
  1762.  
  1763. CREATE TABLE "MutuallyExclusiveBuildings" (
  1764.         "Building" TEXT NOT NULL,
  1765.         "MutuallyExclusiveBuilding" TEXT NOT NULL,
  1766.         PRIMARY KEY(Building, MutuallyExclusiveBuilding),
  1767.         FOREIGN KEY (Building) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  1768.         FOREIGN KEY (MutuallyExclusiveBuilding) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE);
  1769.  
  1770. CREATE TABLE "NodeDataDefinitions" (
  1771.         "DataName" TEXT NOT NULL,
  1772.         "DefnId" INTEGER NOT NULL,
  1773.         "DataType" TEXT NOT NULL,
  1774.         "NodeType" TEXT NOT NULL,
  1775.         "Required" BOOLEAN NOT NULL CHECK (Required IN (0,1)) DEFAULT 0,
  1776.         "RequiredGroup" BOOLEAN NOT NULL CHECK (RequiredGroup IN (0,1)) DEFAULT 0,
  1777.         "Output" BOOLEAN NOT NULL CHECK (Output IN (0,1)) DEFAULT 0,
  1778.         "Modified" BOOLEAN NOT NULL CHECK (Modified IN (0,1)) DEFAULT 0,
  1779.         "UserData" BOOLEAN NOT NULL CHECK (UserData IN (0,1)) DEFAULT 0,
  1780.         "Automatic" BOOLEAN NOT NULL CHECK (Automatic IN (0,1)) DEFAULT 0,
  1781.         "Tagged" BOOLEAN NOT NULL CHECK (Tagged IN (0,1)) DEFAULT 0,
  1782.         "EnumList" TEXT,
  1783.         "UniqueId" INTEGER NOT NULL,
  1784.         PRIMARY KEY(UniqueId),
  1785.         FOREIGN KEY (DataType) REFERENCES DataTypes(TypeName) ON DELETE CASCADE ON UPDATE CASCADE,
  1786.         FOREIGN KEY (NodeType) REFERENCES NodeDefinitions(NodeType) ON DELETE CASCADE ON UPDATE CASCADE);
  1787.  
  1788. CREATE TABLE "NodeDefinitions" (
  1789.         "NodeType" TEXT NOT NULL,
  1790.         "NodeId" INTEGER NOT NULL UNIQUE,
  1791.         "ShapeId" INTEGER NOT NULL,
  1792.         "Description" TEXT NOT NULL,
  1793.         PRIMARY KEY(NodeType),
  1794.         FOREIGN KEY (ShapeId) REFERENCES ShapeDefinitions(ShapeId) ON DELETE CASCADE ON UPDATE CASCADE);
  1795.  
  1796. CREATE TABLE "Notifications" (
  1797.         "NotificationType" TEXT NOT NULL UNIQUE,
  1798.         "Message" TEXT,
  1799.         "Summary" TEXT,
  1800.         "SeverityType" TEXT,
  1801.         "ExpiresEndOfTurn" BOOLEAN NOT NULL CHECK (ExpiresEndOfTurn IN (0,1)) DEFAULT 1,
  1802.         "ExpiresEndOfNextTurn" BOOLEAN NOT NULL CHECK (ExpiresEndOfNextTurn IN (0,1)) DEFAULT 0,
  1803.         "SubType" TEXT,
  1804.         "AutoNotify" BOOLEAN NOT NULL CHECK (AutoNotify IN (0,1)) DEFAULT 0,
  1805.         "GroupType" TEXT,
  1806.         "Icon" TEXT,
  1807.         "AutoActivate" BOOLEAN NOT NULL CHECK (AutoActivate IN (0,1)) DEFAULT 0,
  1808.         "VisibleInUI" BOOLEAN NOT NULL CHECK (VisibleInUI IN (0,1)) DEFAULT 1,
  1809.         PRIMARY KEY(NotificationType));
  1810.  
  1811. CREATE TABLE "ObsoletePolicies" (
  1812.         "PolicyType" TEXT NOT NULL,
  1813.         "ObsoletePolicy" TEXT,
  1814.         "RequiresAvailableGreatPersonClass" TEXT,
  1815.         PRIMARY KEY(PolicyType, ObsoletePolicy),
  1816.         FOREIGN KEY (PolicyType) REFERENCES Policies(PolicyType) ON DELETE CASCADE ON UPDATE CASCADE,
  1817.         FOREIGN KEY (ObsoletePolicy) REFERENCES Policies(PolicyType) ON DELETE CASCADE ON UPDATE CASCADE,
  1818.         FOREIGN KEY (RequiresAvailableGreatPersonClass) REFERENCES GreatPersonClasses(GreatPersonClassType) ON DELETE CASCADE ON UPDATE CASCADE);
  1819.  
  1820. CREATE TABLE "OpTeamRequirements" (
  1821.         "TeamName" TEXT NOT NULL,
  1822.         "AiType" TEXT NOT NULL,
  1823.         "MinNumber" INTEGER,
  1824.         "MaxNumber" INTEGER,
  1825.         "MinPercentage" REAL NOT NULL DEFAULT 0,
  1826.         "MaxPercentage" REAL NOT NULL DEFAULT 1,
  1827.         "ReconsiderWhilePreparing" BOOLEAN NOT NULL CHECK (ReconsiderWhilePreparing IN (0,1)) DEFAULT 0,
  1828.         PRIMARY KEY(TeamName, AiType),
  1829.         FOREIGN KEY (AiType) REFERENCES UnitAiTypes(AiType) ON DELETE CASCADE ON UPDATE CASCADE,
  1830.         FOREIGN KEY (TeamName) REFERENCES AiTeams(TeamName) ON DELETE CASCADE ON UPDATE CASCADE);
  1831.  
  1832. CREATE TABLE "PlotEvalConditions" (
  1833.         "ConditionType" TEXT NOT NULL,
  1834.         "Value" INTEGER NOT NULL,
  1835.         PRIMARY KEY(ConditionType));
  1836.  
  1837. CREATE TABLE "Policies" (
  1838.         "PolicyType" TEXT NOT NULL,
  1839.         "Description" TEXT,
  1840.         "PrereqCivic" TEXT,
  1841.         "PrereqTech" TEXT,
  1842.         "Name" TEXT NOT NULL,
  1843.         "GovernmentSlotType" TEXT NOT NULL,
  1844.         "RequiresGovernmentUnlock" BOOLEAN CHECK (RequiresGovernmentUnlock IN (0,1)),
  1845.         PRIMARY KEY(PolicyType),
  1846.         FOREIGN KEY (GovernmentSlotType) REFERENCES GovernmentSlots(GovernmentSlotType) ON DELETE CASCADE ON UPDATE CASCADE,
  1847.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1848.         FOREIGN KEY (PolicyType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE,
  1849.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE);
  1850.  
  1851. CREATE TABLE "PolicyModifiers" (
  1852.         "PolicyType" TEXT NOT NULL,
  1853.         "ModifierId" TEXT NOT NULL,
  1854.         PRIMARY KEY(PolicyType, ModifierId),
  1855.         FOREIGN KEY (PolicyType) REFERENCES Policies(PolicyType) ON DELETE CASCADE ON UPDATE CASCADE);
  1856.  
  1857. CREATE TABLE "Projects" (
  1858.         "ProjectType" TEXT NOT NULL,
  1859.         "Name" TEXT NOT NULL,
  1860.         "ShortName" TEXT NOT NULL,
  1861.         "Description" TEXT,
  1862.         "PopupText" TEXT,
  1863.         "Cost" INTEGER NOT NULL,
  1864.         "CostProgressionModel" TEXT NOT NULL DEFAULT "NO_PROGRESSION_MODEL",
  1865.         "CostProgressionParam1" INTEGER NOT NULL DEFAULT 0,
  1866.         "PrereqTech" TEXT,
  1867.         "PrereqCivic" TEXT,
  1868.         "PrereqDistrict" TEXT,
  1869.         "VisualBuildingType" TEXT,
  1870.         "SpaceRace" BOOLEAN NOT NULL CHECK (SpaceRace IN (0,1)) DEFAULT 0,
  1871.         "OuterDefenseRepair" BOOLEAN NOT NULL CHECK (OuterDefenseRepair IN (0,1)) DEFAULT 0,
  1872.         "MaxPlayerInstances" INTEGER,
  1873.         "AmenitiesWhileActive" INTEGER,
  1874.         "PrereqResource" TEXT,
  1875.         "AdvisorType" TEXT,
  1876.         PRIMARY KEY(ProjectType),
  1877.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1878.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1879.         FOREIGN KEY (PrereqDistrict) REFERENCES Districts(DistrictType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1880.         FOREIGN KEY (VisualBuildingType) REFERENCES Buildings(BuildingType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1881.         FOREIGN KEY (PrereqResource) REFERENCES Resources(ResourceType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  1882.         FOREIGN KEY (ProjectType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1883.  
  1884. CREATE TABLE "Project_GreatPersonPoints" (
  1885.         "ProjectType" TEXT NOT NULL,
  1886.         "GreatPersonClassType" TEXT NOT NULL,
  1887.         "Points" INTEGER NOT NULL DEFAULT 0,
  1888.         "PointProgressionModel" TEXT NOT NULL DEFAULT "NO_PROGRESSION_MODEL",
  1889.         "PointProgressionParam1" INTEGER NOT NULL DEFAULT 0,
  1890.         PRIMARY KEY(ProjectType, GreatPersonClassType),
  1891.         FOREIGN KEY (ProjectType) REFERENCES Projects(ProjectType) ON DELETE CASCADE ON UPDATE CASCADE,
  1892.         FOREIGN KEY (GreatPersonClassType) REFERENCES GreatPersonClasses(GreatPersonClassType) ON DELETE CASCADE ON UPDATE CASCADE);
  1893.  
  1894. CREATE TABLE "Project_YieldConversions" (
  1895.         "ProjectType" TEXT NOT NULL,
  1896.         "YieldType" TEXT NOT NULL,
  1897.         "PercentOfProductionRate" INTEGER NOT NULL DEFAULT 0,
  1898.         PRIMARY KEY(ProjectType, YieldType),
  1899.         FOREIGN KEY (ProjectType) REFERENCES Projects(ProjectType) ON DELETE CASCADE ON UPDATE CASCADE,
  1900.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  1901.  
  1902. CREATE TABLE "ProjectCompletionModifiers" (
  1903.         "ProjectType" TEXT NOT NULL,
  1904.         "ModifierId" TEXT NOT NULL,
  1905.         PRIMARY KEY(ProjectType, ModifierId),
  1906.         FOREIGN KEY (ProjectType) REFERENCES Projects(ProjectType) ON DELETE CASCADE ON UPDATE CASCADE);
  1907.  
  1908. CREATE TABLE "ProjectPrereqs" (
  1909.         "ProjectType" TEXT NOT NULL,
  1910.         "PrereqProjectType" TEXT NOT NULL,
  1911.         "MinimumPlayerInstances" INTEGER NOT NULL,
  1912.         PRIMARY KEY(ProjectType, PrereqProjectType),
  1913.         FOREIGN KEY (ProjectType) REFERENCES Projects(ProjectType) ON DELETE CASCADE ON UPDATE CASCADE,
  1914.         FOREIGN KEY (PrereqProjectType) REFERENCES Projects(ProjectType) ON DELETE CASCADE ON UPDATE CASCADE);
  1915.  
  1916. -- Things that are kind of like yields, but can't be placed on plots. Mostly for AI use
  1917. CREATE TABLE "PseudoYields" (
  1918.         "PseudoYieldType" TEXT NOT NULL,
  1919.         "DefaultValue" REAL NOT NULL DEFAULT 1,
  1920.         PRIMARY KEY(PseudoYieldType));
  1921.  
  1922. CREATE TABLE "Quests" (
  1923.         "QuestType" TEXT NOT NULL UNIQUE,
  1924.         "Name" TEXT NOT NULL,
  1925.         "InstanceName" TEXT,
  1926.         "Description" TEXT NOT NULL,
  1927.         "InstanceDescription" TEXT,
  1928.         "Reward" TEXT NOT NULL,
  1929.         "InstanceReward" TEXT,
  1930.         "IconString" TEXT NOT NULL,
  1931.         PRIMARY KEY(QuestType),
  1932.         FOREIGN KEY (QuestType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1933.  
  1934. CREATE TABLE "RandomAgendas" (
  1935.         "AgendaType" TEXT NOT NULL UNIQUE,
  1936.         "GameLimit" INTEGER NOT NULL DEFAULT -1,
  1937.         PRIMARY KEY(AgendaType),
  1938.         FOREIGN KEY (AgendaType) REFERENCES Agendas(AgendaType) ON DELETE CASCADE ON UPDATE CASCADE);
  1939.  
  1940. CREATE TABLE "Religions" (
  1941.         "ReligionType" TEXT NOT NULL UNIQUE,
  1942.         "Name" TEXT NOT NULL,
  1943.         "IconString" TEXT NOT NULL,
  1944.         "Pantheon" BOOLEAN NOT NULL CHECK (Pantheon IN (0,1)) DEFAULT 0,
  1945.         "RequiresCustomName" BOOLEAN NOT NULL CHECK (RequiresCustomName IN (0,1)) DEFAULT 0,
  1946.         "Color" TEXT NOT NULL,
  1947.         PRIMARY KEY(ReligionType),
  1948.         FOREIGN KEY (ReligionType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  1949.  
  1950. CREATE TABLE "Requirements" (
  1951.         "RequirementId" TEXT NOT NULL,
  1952.         "RequirementType" TEXT NOT NULL,
  1953.         "Likeliness" INTEGER NOT NULL DEFAULT 0,
  1954.         "Impact" INTEGER NOT NULL DEFAULT 0,
  1955.         "Inverse" BOOLEAN NOT NULL CHECK (Inverse IN (0,1)) DEFAULT 0,
  1956.         "Reverse" BOOLEAN NOT NULL CHECK (Reverse IN (0,1)) DEFAULT 0,
  1957.         "Persistent" BOOLEAN NOT NULL CHECK (Persistent IN (0,1)) DEFAULT 0,
  1958.         "ProgressWeight" INTEGER NOT NULL DEFAULT 1,
  1959.         "Triggered" BOOLEAN NOT NULL CHECK (Triggered IN (0,1)) DEFAULT 0,
  1960.         PRIMARY KEY(RequirementId));
  1961.  
  1962. CREATE TABLE "RequirementArguments" (
  1963.         "RequirementId" TEXT NOT NULL,
  1964.         "Name" TEXT NOT NULL,
  1965.         "Type" TEXT NOT NULL DEFAULT "ARGTYPE_IDENTITY",
  1966.         "Value" TEXT NOT NULL,
  1967.         "Extra" TEXT,
  1968.         "SecondExtra" TEXT,
  1969.         PRIMARY KEY(RequirementId, Name),
  1970.         FOREIGN KEY (RequirementId) REFERENCES Requirements(RequirementId) ON DELETE CASCADE ON UPDATE CASCADE);
  1971.  
  1972. CREATE TABLE "RequirementSetRequirements" (
  1973.         "RequirementSetId" TEXT NOT NULL,
  1974.         "RequirementId" TEXT NOT NULL,
  1975.         PRIMARY KEY(RequirementSetId, RequirementId),
  1976.         FOREIGN KEY (RequirementId) REFERENCES Requirements(RequirementId) ON DELETE CASCADE ON UPDATE CASCADE,
  1977.         FOREIGN KEY (RequirementSetId) REFERENCES RequirementSets(RequirementSetId) ON DELETE CASCADE ON UPDATE CASCADE);
  1978.  
  1979. CREATE TABLE "RequirementSets" (
  1980.         "RequirementSetId" TEXT NOT NULL,
  1981.         "RequirementSetType" TEXT NOT NULL,
  1982.         PRIMARY KEY(RequirementSetId));
  1983.  
  1984. CREATE TABLE "RequirementStrings" (
  1985.         "RequirementId" TEXT NOT NULL,
  1986.         "Context" TEXT NOT NULL,
  1987.         "Text" TEXT NOT NULL,
  1988.         PRIMARY KEY(RequirementId, Context),
  1989.         FOREIGN KEY (RequirementId) REFERENCES Requirements(RequirementId) ON DELETE CASCADE ON UPDATE CASCADE);
  1990.  
  1991. CREATE TABLE "Resources" (
  1992.         "ResourceType" TEXT NOT NULL,
  1993.         "Name" TEXT NOT NULL,
  1994.         "ResourceClassType" TEXT NOT NULL,
  1995.         "Happiness" INTEGER NOT NULL DEFAULT 0,
  1996.         "NoRiver" BOOLEAN NOT NULL CHECK (NoRiver IN (0,1)) DEFAULT 0,
  1997.         "RequiresRiver" BOOLEAN NOT NULL CHECK (RequiresRiver IN (0,1)) DEFAULT 0,
  1998.         "Frequency" INTEGER NOT NULL DEFAULT 0,
  1999.         "Clumped" BOOLEAN NOT NULL CHECK (Clumped IN (0,1)) DEFAULT 0,
  2000.         "PrereqTech" TEXT,
  2001.         "PrereqCivic" TEXT,
  2002.         "PeakEra" TEXT NOT NULL DEFAULT "NO_ERA",
  2003.         "RevealedEra" INTEGER NOT NULL DEFAULT 1,
  2004.         "LakeEligible" BOOLEAN NOT NULL CHECK (LakeEligible IN (0,1)) DEFAULT 1,
  2005.         "AdjacentToLand" BOOLEAN NOT NULL CHECK (AdjacentToLand IN (0,1)) DEFAULT 0,
  2006.         "SeaFrequency" INTEGER NOT NULL DEFAULT 0,
  2007.         PRIMARY KEY(ResourceType),
  2008.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE SET NULL ON UPDATE CASCADE,
  2009.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE SET NULL ON UPDATE CASCADE,
  2010.         FOREIGN KEY (ResourceType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  2011.  
  2012. CREATE TABLE "Resource_Distribution" (
  2013.         "Continents" INTEGER NOT NULL,
  2014.         "Scarce" INTEGER NOT NULL,
  2015.         "Average" INTEGER NOT NULL,
  2016.         "Plentiful" INTEGER NOT NULL,
  2017.         "PercentAdjusted" INTEGER NOT NULL,
  2018.         PRIMARY KEY(Continents));
  2019.  
  2020. CREATE TABLE "Resource_Harvests" (
  2021.         "ResourceType" TEXT NOT NULL,
  2022.         "YieldType" TEXT NOT NULL,
  2023.         "Amount" INTEGER NOT NULL,
  2024.         "PrereqTech" TEXT,
  2025.         PRIMARY KEY(ResourceType, YieldType),
  2026.         FOREIGN KEY (ResourceType) REFERENCES Resources(ResourceType) ON DELETE CASCADE ON UPDATE CASCADE,
  2027.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE SET NULL ON UPDATE CASCADE,
  2028.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  2029.  
  2030. CREATE TABLE "Resource_SeaLuxuries" (
  2031.         "MapArgument" INTEGER NOT NULL DEFAULT 1,
  2032.         "Duel" INTEGER NOT NULL DEFAULT 0,
  2033.         "Tiny" INTEGER DEFAULT 0,
  2034.         "Small" INTEGER DEFAULT 0,
  2035.         "Standard" INTEGER DEFAULT 0,
  2036.         "Large" INTEGER DEFAULT 0,
  2037.         "Huge" INTEGER DEFAULT 0,
  2038.         PRIMARY KEY(MapArgument));
  2039.  
  2040. CREATE TABLE "Resource_SeaStrategics" (
  2041.         "MapArgument" INTEGER NOT NULL DEFAULT 1,
  2042.         "Duel" INTEGER NOT NULL DEFAULT 0,
  2043.         "Tiny" INTEGER DEFAULT 0,
  2044.         "Small" INTEGER DEFAULT 0,
  2045.         "Standard" INTEGER DEFAULT 0,
  2046.         "Large" INTEGER DEFAULT 0,
  2047.         "Huge" INTEGER DEFAULT 0,
  2048.         PRIMARY KEY(MapArgument));
  2049.  
  2050. CREATE TABLE "Resource_TradeRouteYields" (
  2051.         "ResourceType" TEXT NOT NULL,
  2052.         "YieldType" TEXT NOT NULL,
  2053.         "YieldChange" INTEGER NOT NULL,
  2054.         PRIMARY KEY(ResourceType, YieldType),
  2055.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE,
  2056.         FOREIGN KEY (ResourceType) REFERENCES Resources(ResourceType) ON DELETE CASCADE ON UPDATE CASCADE);
  2057.  
  2058. CREATE TABLE "Resource_ValidFeatures" (
  2059.         "ResourceType" TEXT NOT NULL,
  2060.         "FeatureType" TEXT NOT NULL,
  2061.         PRIMARY KEY(ResourceType, FeatureType),
  2062.         FOREIGN KEY (ResourceType) REFERENCES Resources(ResourceType) ON DELETE CASCADE ON UPDATE CASCADE,
  2063.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE);
  2064.  
  2065. CREATE TABLE "Resource_ValidTerrains" (
  2066.         "ResourceType" TEXT NOT NULL,
  2067.         "TerrainType" TEXT NOT NULL,
  2068.         PRIMARY KEY(ResourceType, TerrainType),
  2069.         FOREIGN KEY (TerrainType) REFERENCES Terrains(TerrainType) ON DELETE CASCADE ON UPDATE CASCADE,
  2070.         FOREIGN KEY (ResourceType) REFERENCES Resources(ResourceType) ON DELETE CASCADE ON UPDATE CASCADE);
  2071.  
  2072. CREATE TABLE "Resource_YieldChanges" (
  2073.         "ResourceType" TEXT NOT NULL,
  2074.         "YieldType" TEXT NOT NULL,
  2075.         "YieldChange" INTEGER NOT NULL,
  2076.         PRIMARY KEY(ResourceType, YieldType),
  2077.         FOREIGN KEY (ResourceType) REFERENCES Resources(ResourceType) ON DELETE CASCADE ON UPDATE CASCADE,
  2078.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  2079.  
  2080. CREATE TABLE "Routes" (
  2081.         "RouteType" TEXT NOT NULL,
  2082.         "Name" TEXT NOT NULL,
  2083.         "Description" TEXT NOT NULL,
  2084.         "MovementCost" REAL NOT NULL,
  2085.         "SupportsBridges" BOOLEAN NOT NULL CHECK (SupportsBridges IN (0,1)),
  2086.         "PlacementValue" INTEGER NOT NULL UNIQUE,
  2087.         "PlacementRequiresRoutePresent" BOOLEAN NOT NULL CHECK (PlacementRequiresRoutePresent IN (0,1)),
  2088.         "PlacementRequiresOwnedTile" BOOLEAN NOT NULL CHECK (PlacementRequiresOwnedTile IN (0,1)),
  2089.         "PrereqEra" TEXT,
  2090.         PRIMARY KEY(RouteType),
  2091.         FOREIGN KEY (PrereqEra) REFERENCES Eras(EraType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2092.         FOREIGN KEY (RouteType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  2093.  
  2094. CREATE TABLE "Route_ValidBuildUnits" (
  2095.         "RouteType" TEXT NOT NULL,
  2096.         "UnitType" TEXT NOT NULL,
  2097.         PRIMARY KEY(RouteType, UnitType),
  2098.         FOREIGN KEY (RouteType) REFERENCES Routes(RouteType) ON DELETE CASCADE ON UPDATE CASCADE,
  2099.         FOREIGN KEY (UnitType) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE);
  2100.  
  2101. CREATE TABLE "SavingTypes" (
  2102.         "SavingType" TEXT NOT NULL,
  2103.         PRIMARY KEY(SavingType));
  2104.  
  2105. CREATE TABLE "ScoringCategories" (
  2106.         "CategoryType" TEXT NOT NULL,
  2107.         "Name" TEXT NOT NULL,
  2108.         "Multiplier" REAL NOT NULL DEFAULT 1,
  2109.         PRIMARY KEY(CategoryType));
  2110.  
  2111. CREATE TABLE "ScoringLineItems" (
  2112.         "LineItemType" TEXT NOT NULL,
  2113.         "Name" TEXT NOT NULL,
  2114.         "Category" TEXT NOT NULL,
  2115.         "Multiplier" REAL NOT NULL DEFAULT 1,
  2116.         "ScaleByCost" BOOLEAN NOT NULL CHECK (ScaleByCost IN (0,1)) DEFAULT 0,
  2117.         "Civics" BOOLEAN NOT NULL CHECK (Civics IN (0,1)) DEFAULT 0,
  2118.         "Cities" BOOLEAN NOT NULL CHECK (Cities IN (0,1)) DEFAULT 0,
  2119.         "Districts" BOOLEAN NOT NULL CHECK (Districts IN (0,1)) DEFAULT 0,
  2120.         "Population" BOOLEAN NOT NULL CHECK (Population IN (0,1)) DEFAULT 0,
  2121.         "GreatPeople" BOOLEAN NOT NULL CHECK (GreatPeople IN (0,1)) DEFAULT 0,
  2122.         "Techs" BOOLEAN NOT NULL CHECK (Techs IN (0,1)) DEFAULT 0,
  2123.         "Wonders" BOOLEAN NOT NULL CHECK (Wonders IN (0,1)) DEFAULT 0,
  2124.         "Religion" BOOLEAN NOT NULL CHECK (Religion IN (0,1)) DEFAULT 0,
  2125.         "Pillage" BOOLEAN NOT NULL CHECK (Pillage IN (0,1)) DEFAULT 0,
  2126.         "Trade" BOOLEAN NOT NULL CHECK (Trade IN (0,1)) DEFAULT 0,
  2127.         "GoldPerTurn" BOOLEAN NOT NULL CHECK (GoldPerTurn IN (0,1)) DEFAULT 0,
  2128.         "TieBreakerPriority" INTEGER NOT NULL,
  2129.         "ScoringScenario1" BOOLEAN NOT NULL CHECK (ScoringScenario1 IN (0,1)) DEFAULT 0,
  2130.         "ScoringScenario2" BOOLEAN NOT NULL CHECK (ScoringScenario2 IN (0,1)) DEFAULT 0,
  2131.         "ScoringScenario3" BOOLEAN NOT NULL CHECK (ScoringScenario3 IN (0,1)) DEFAULT 0,
  2132.         PRIMARY KEY(LineItemType),
  2133.         FOREIGN KEY (Category) REFERENCES ScoringCategories(CategoryType) ON DELETE CASCADE ON UPDATE CASCADE);
  2134.  
  2135. CREATE TABLE "Seasons" (
  2136.         "SeasonType" TEXT NOT NULL,
  2137.         "Description" TEXT NOT NULL,
  2138.         PRIMARY KEY(SeasonType));
  2139.  
  2140. CREATE TABLE "SettlementPreferences" (
  2141.         "PreferenceType" TEXT,
  2142.         PRIMARY KEY(PreferenceType));
  2143.  
  2144. CREATE TABLE "ShapeDefinitions" (
  2145.         "ShapeName" TEXT NOT NULL UNIQUE,
  2146.         "ShapeId" INTEGER NOT NULL UNIQUE,
  2147.         "MinChildren" INTEGER NOT NULL DEFAULT 0,
  2148.         "MaxChildren" INTEGER NOT NULL DEFAULT 0,
  2149.         "Description" TEXT NOT NULL,
  2150.         PRIMARY KEY(ShapeId));
  2151.  
  2152. CREATE TABLE "StartBiasFeatures" (
  2153.         "CivilizationType" TEXT NOT NULL,
  2154.         "FeatureType" TEXT NOT NULL,
  2155.         "Tier" INTEGER NOT NULL DEFAULT -1,
  2156.         PRIMARY KEY(CivilizationType, FeatureType),
  2157.         FOREIGN KEY (CivilizationType) REFERENCES Civilizations(CivilizationType) ON DELETE CASCADE ON UPDATE CASCADE,
  2158.         FOREIGN KEY (FeatureType) REFERENCES Features(FeatureType) ON DELETE CASCADE ON UPDATE CASCADE);
  2159.  
  2160. CREATE TABLE "StartBiasResources" (
  2161.         "CivilizationType" TEXT NOT NULL,
  2162.         "ResourceType" TEXT NOT NULL,
  2163.         "Tier" INTEGER NOT NULL DEFAULT -1,
  2164.         PRIMARY KEY(CivilizationType, ResourceType),
  2165.         FOREIGN KEY (CivilizationType) REFERENCES Civilizations(CivilizationType) ON DELETE CASCADE ON UPDATE CASCADE,
  2166.         FOREIGN KEY (ResourceType) REFERENCES Resources(ResourceType) ON DELETE CASCADE ON UPDATE CASCADE);
  2167.  
  2168. CREATE TABLE "StartBiasRivers" (
  2169.         "CivilizationType" TEXT NOT NULL,
  2170.         "Tier" INTEGER NOT NULL DEFAULT -1,
  2171.         PRIMARY KEY(CivilizationType),
  2172.         FOREIGN KEY (CivilizationType) REFERENCES Civilizations(CivilizationType) ON DELETE CASCADE ON UPDATE CASCADE);
  2173.  
  2174. CREATE TABLE "StartBiasTerrains" (
  2175.         "CivilizationType" TEXT NOT NULL,
  2176.         "TerrainType" TEXT NOT NULL,
  2177.         "Tier" INTEGER NOT NULL DEFAULT -1,
  2178.         PRIMARY KEY(CivilizationType, TerrainType),
  2179.         FOREIGN KEY (CivilizationType) REFERENCES Civilizations(CivilizationType) ON DELETE CASCADE ON UPDATE CASCADE,
  2180.         FOREIGN KEY (TerrainType) REFERENCES Terrains(TerrainType) ON DELETE CASCADE ON UPDATE CASCADE);
  2181.  
  2182. CREATE TABLE "StartEras" (
  2183.         "EraType" TEXT NOT NULL,
  2184.         "Gold" INTEGER NOT NULL DEFAULT 0,
  2185.         "Faith" INTEGER NOT NULL DEFAULT 0,
  2186.         "FirstTurnCivicChange" BOOLEAN NOT NULL CHECK (FirstTurnCivicChange IN (0,1)) DEFAULT 0,
  2187.         "StartingPopulationCapital" INTEGER NOT NULL DEFAULT 1,
  2188.         "StartingPopulationOtherCities" INTEGER NOT NULL DEFAULT 1,
  2189.         "GrowthRate" INTEGER NOT NULL DEFAULT 0,
  2190.         "ProductionRate" INTEGER NOT NULL DEFAULT 0,
  2191.         "DistrictProductionRate" INTEGER NOT NULL DEFAULT 0,
  2192.         "StartingMeleeStrengthMajor" INTEGER NOT NULL DEFAULT 0,
  2193.         "StartingMeleeStrengthMinor" INTEGER NOT NULL DEFAULT 0,
  2194.         "ObsoleteReligion" BOOLEAN NOT NULL CHECK (ObsoleteReligion IN (0,1)) DEFAULT 0,
  2195.         "Tiles" INTEGER NOT NULL DEFAULT 0,
  2196.         "Year" INTEGER NOT NULL,
  2197.         "IgnoreGoodyHutTurn" BOOLEAN NOT NULL CHECK (IgnoreGoodyHutTurn IN (0,1)) DEFAULT 0,
  2198.         "StartingRangedStrengthMajor" INTEGER NOT NULL DEFAULT 0,
  2199.         "StartingRangedStrengthMinor" INTEGER NOT NULL DEFAULT 0,
  2200.         "StartingAmenitiesCapital" INTEGER NOT NULL DEFAULT 0,
  2201.         "StartingHousingCapital" INTEGER NOT NULL DEFAULT 0,
  2202.         "StartingAmenitiesOtherCities" INTEGER NOT NULL DEFAULT 0,
  2203.         "StartingHousingOtherCities" INTEGER NOT NULL DEFAULT 0,
  2204.         PRIMARY KEY(EraType),
  2205.         FOREIGN KEY (EraType) REFERENCES Eras(EraType) ON DELETE CASCADE ON UPDATE CASCADE);
  2206.  
  2207. CREATE TABLE "StartingBoostedCivics" (
  2208.         "Civic" TEXT NOT NULL DEFAULT "NO_CIVIC",
  2209.         "Era" TEXT NOT NULL,
  2210.         PRIMARY KEY(Civic, Era),
  2211.         FOREIGN KEY (Era) REFERENCES Eras(EraType) ON DELETE CASCADE ON UPDATE CASCADE,
  2212.         FOREIGN KEY (Civic) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE);
  2213.  
  2214. CREATE TABLE "StartingBoostedTechnologies" (
  2215.         "Technology" TEXT NOT NULL DEFAULT "NO_TECHNOLOGY",
  2216.         "Era" TEXT NOT NULL,
  2217.         PRIMARY KEY(Technology, Era),
  2218.         FOREIGN KEY (Era) REFERENCES Eras(EraType) ON DELETE CASCADE ON UPDATE CASCADE,
  2219.         FOREIGN KEY (Technology) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE);
  2220.  
  2221. CREATE TABLE "StartingBuildings" (
  2222.         "Building" TEXT NOT NULL,
  2223.         "Era" TEXT NOT NULL,
  2224.         "District" TEXT,
  2225.         PRIMARY KEY(Building, Era, District),
  2226.         FOREIGN KEY (Era) REFERENCES Eras(EraType) ON DELETE CASCADE ON UPDATE CASCADE,
  2227.         FOREIGN KEY (Building) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE,
  2228.         FOREIGN KEY (District) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE);
  2229.  
  2230. CREATE TABLE "StartingCivics" (
  2231.         "Civic" TEXT NOT NULL DEFAULT "NO_CIVIC",
  2232.         "Era" TEXT NOT NULL,
  2233.         PRIMARY KEY(Civic, Era),
  2234.         FOREIGN KEY (Era) REFERENCES Eras(EraType) ON DELETE CASCADE ON UPDATE CASCADE,
  2235.         FOREIGN KEY (Civic) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE);
  2236.  
  2237. CREATE TABLE "StartingGovernments" (
  2238.         "Government" TEXT NOT NULL DEFAULT "NO_GOVERNMENT",
  2239.         "Era" TEXT NOT NULL,
  2240.         "Change" BOOLEAN NOT NULL CHECK (Change IN (0,1)) DEFAULT 0,
  2241.         PRIMARY KEY(Government, Era),
  2242.         FOREIGN KEY (Era) REFERENCES Eras(EraType) ON DELETE CASCADE ON UPDATE CASCADE,
  2243.         FOREIGN KEY (Government) REFERENCES Governments(GovernmentType) ON DELETE CASCADE ON UPDATE CASCADE);
  2244.  
  2245. CREATE TABLE "Strategies" (
  2246.         "StrategyType" TEXT NOT NULL,
  2247.         "VictoryType" TEXT,
  2248.         "NumConditionsNeeded" INTEGER NOT NULL DEFAULT 1,
  2249.         PRIMARY KEY(StrategyType),
  2250.         FOREIGN KEY (VictoryType) REFERENCES Victories(VictoryType) ON DELETE CASCADE ON UPDATE CASCADE);
  2251.  
  2252. CREATE TABLE "Strategy_Priorities" (
  2253.         "StrategyType" TEXT NOT NULL,
  2254.         "ListType" TEXT NOT NULL,
  2255.         PRIMARY KEY(StrategyType, ListType),
  2256.         FOREIGN KEY (StrategyType) REFERENCES Strategies(StrategyType) ON DELETE CASCADE ON UPDATE CASCADE,
  2257.         FOREIGN KEY (ListType) REFERENCES AiListTypes(ListType) ON DELETE CASCADE ON UPDATE CASCADE);
  2258.  
  2259. CREATE TABLE "Strategy_YieldPriorities" (
  2260.         "StrategyType" TEXT,
  2261.         "YieldType" TEXT,
  2262.         "PseudoYieldType" TEXT,
  2263.         "PercentageDelta" INTEGER NOT NULL DEFAULT 0,
  2264.         PRIMARY KEY(StrategyType, YieldType, PseudoYieldType),
  2265.         FOREIGN KEY (StrategyType) REFERENCES Strategies(StrategyType) ON DELETE CASCADE ON UPDATE CASCADE,
  2266.         FOREIGN KEY (YieldType) REFERENCES Yields(YieldType) ON DELETE CASCADE ON UPDATE CASCADE,
  2267.         FOREIGN KEY (PseudoYieldType) REFERENCES PseudoYields(PseudoYieldType) ON DELETE CASCADE ON UPDATE CASCADE);
  2268.  
  2269. -- These are conditions the AI must satisfy to TRY to achieve this victory
  2270. CREATE TABLE "StrategyConditions" (
  2271.         "StrategyType" TEXT,
  2272.         "ConditionFunction" TEXT,
  2273.         "StringValue" TEXT,
  2274.         "ThresholdValue" INTEGER NOT NULL DEFAULT 0,
  2275.         "Forbidden" BOOLEAN NOT NULL CHECK (Forbidden IN (0,1)) DEFAULT 0,
  2276.         "Disqualifier" BOOLEAN NOT NULL CHECK (Disqualifier IN (0,1)) DEFAULT 0,
  2277.         "Exclusive" BOOLEAN NOT NULL CHECK (Exclusive IN (0,1)) DEFAULT 0,
  2278.         PRIMARY KEY(StrategyType, ConditionFunction, Exclusive),
  2279.         FOREIGN KEY (StrategyType) REFERENCES Strategies(StrategyType) ON DELETE CASCADE ON UPDATE CASCADE);
  2280.  
  2281. CREATE TABLE "Tags" (
  2282.         "Tag" TEXT NOT NULL,
  2283.         "Vocabulary" TEXT NOT NULL,
  2284.         PRIMARY KEY(Tag),
  2285.         FOREIGN KEY (Vocabulary) REFERENCES Vocabularies(Vocabulary) ON DELETE CASCADE ON UPDATE CASCADE);
  2286.  
  2287. CREATE TABLE "TargetTypes" (
  2288.         "TargetType" TEXT NOT NULL,
  2289.         PRIMARY KEY(TargetType));
  2290.  
  2291. CREATE TABLE "Technologies" (
  2292.         "TechnologyType" TEXT NOT NULL,
  2293.         "Name" TEXT NOT NULL,
  2294.         "Cost" INTEGER NOT NULL,
  2295.         "Repeatable" BOOLEAN NOT NULL CHECK (Repeatable IN (0,1)) DEFAULT 0,
  2296.         "EmbarkUnitType" TEXT,
  2297.         "EmbarkAll" BOOLEAN NOT NULL CHECK (EmbarkAll IN (0,1)) DEFAULT 0,
  2298.         "Description" TEXT,
  2299.         "EraType" TEXT NOT NULL,
  2300.         "Critical" BOOLEAN NOT NULL CHECK (Critical IN (0,1)) DEFAULT 0,
  2301.         "BarbarianFree" BOOLEAN NOT NULL CHECK (BarbarianFree IN (0,1)) DEFAULT 0,
  2302.         "UITreeRow" INTEGER DEFAULT 0,
  2303.         "AdvisorType" TEXT,
  2304.         PRIMARY KEY(TechnologyType),
  2305.         FOREIGN KEY (EraType) REFERENCES Eras(EraType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2306.         FOREIGN KEY (EmbarkUnitType) REFERENCES Units(UnitType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2307.         FOREIGN KEY (TechnologyType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  2308.  
  2309. CREATE TABLE "TechnologyModifiers" (
  2310.         "TechnologyType" TEXT NOT NULL,
  2311.         "ModifierId" TEXT NOT NULL,
  2312.         PRIMARY KEY(TechnologyType, ModifierId),
  2313.         FOREIGN KEY (TechnologyType) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE);
  2314.  
  2315. CREATE TABLE "TechnologyPrereqs" (
  2316.         "Technology" TEXT NOT NULL,
  2317.         "PrereqTech" TEXT NOT NULL,
  2318.         PRIMARY KEY(Technology, PrereqTech),
  2319.         FOREIGN KEY (Technology) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE,
  2320.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE);
  2321.  
  2322. CREATE TABLE "TechnologyQuotes" (
  2323.         "TechnologyType" TEXT NOT NULL,
  2324.         "Quote" TEXT NOT NULL,
  2325.         "QuoteAudio" TEXT,
  2326.         PRIMARY KEY(TechnologyType, Quote),
  2327.         FOREIGN KEY (TechnologyType) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE);
  2328.  
  2329. CREATE TABLE "Terrains" (
  2330.         "TerrainType" TEXT NOT NULL,
  2331.         "Name" TEXT NOT NULL,
  2332.         "Mountain" BOOLEAN NOT NULL CHECK (Mountain IN (0,1)) DEFAULT 0,
  2333.         "Hills" BOOLEAN NOT NULL CHECK (Hills IN (0,1)) DEFAULT 0,
  2334.         "Water" BOOLEAN NOT NULL CHECK (Water IN (0,1)) DEFAULT 0,
  2335.         "InfluenceCost" INTEGER NOT NULL,
  2336.         "MovementCost" INTEGER NOT NULL,
  2337.         "ShallowWater" BOOLEAN NOT NULL CHECK (ShallowWater IN (0,1)) DEFAULT 0,
  2338.         "SightModifier" INTEGER NOT NULL DEFAULT 0,
  2339.         "SightThroughModifier" INTEGER NOT NULL DEFAULT 0,
  2340.         "Impassable" BOOLEAN NOT NULL CHECK (Impassable IN (0,1)) DEFAULT 0,
  2341.         "DefenseModifier" INTEGER NOT NULL DEFAULT 0,
  2342.         "Appeal" INTEGER NOT NULL DEFAULT 0,
  2343.         "AntiquityPriority" INTEGER NOT NULL DEFAULT 0,
  2344.         PRIMARY KEY(TerrainType));
  2345.  
  2346. CREATE TABLE "Terrain_YieldChanges" (
  2347.         "TerrainType" TEXT NOT NULL,
  2348.         "YieldType" TEXT NOT NULL,
  2349.         "YieldChange" INTEGER NOT NULL,
  2350.         PRIMARY KEY(TerrainType, YieldType),
  2351.         FOREIGN KEY (TerrainType) REFERENCES Terrains(TerrainType) ON DELETE CASCADE ON UPDATE CASCADE);
  2352.  
  2353. CREATE TABLE "Traits" (
  2354.         "TraitType" TEXT NOT NULL,
  2355.         "Name" LocalizedText NOT NULL,
  2356.         "Description" LocalizedText,
  2357.         "InternalOnly" BOOLEAN NOT NULL CHECK (InternalOnly IN (0,1)) DEFAULT 0,
  2358.         PRIMARY KEY(TraitType),
  2359.         FOREIGN KEY (TraitType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  2360.  
  2361. CREATE TABLE "TraitModifiers" (
  2362.         "TraitType" TEXT NOT NULL,
  2363.         "ModifierId" TEXT NOT NULL,
  2364.         PRIMARY KEY(TraitType, ModifierId),
  2365.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE CASCADE ON UPDATE CASCADE);
  2366.  
  2367. CREATE TABLE "TreeData" (
  2368.         "DefnId" INTEGER NOT NULL,
  2369.         "NodeId" INTEGER NOT NULL,
  2370.         "TreeName" TEXT NOT NULL,
  2371.         "Tag" TEXT,
  2372.         "DefaultData" TEXT,
  2373.         "ParentTag" TEXT,
  2374.         "UniqueId" INTEGER NOT NULL,
  2375.         PRIMARY KEY(UniqueId),
  2376.         FOREIGN KEY (TreeName) REFERENCES BehaviorTrees(TreeName) ON DELETE CASCADE ON UPDATE CASCADE);
  2377.  
  2378. -- A list of behavior trees (or operations) that can be triggered by specific AI Events
  2379. CREATE TABLE "TriggeredBehaviorTrees" (
  2380.         "TriggerType" TEXT NOT NULL,
  2381.         "TreeName" TEXT NOT NULL,
  2382.         "OperationName" TEXT,
  2383.         "AIEvent" TEXT NOT NULL,
  2384.         "Priority" INTEGER NOT NULL DEFAULT 0,
  2385.         PRIMARY KEY(TriggerType),
  2386.         FOREIGN KEY (TreeName) REFERENCES BehaviorTrees(TreeName) ON DELETE CASCADE ON UPDATE CASCADE,
  2387.         FOREIGN KEY (AIEvent) REFERENCES AiEvents(EventType) ON DELETE CASCADE ON UPDATE CASCADE);
  2388.  
  2389. CREATE TABLE "TurnPhases" (
  2390.         "ID" INTEGER,
  2391.         "TurnPhaseType" TEXT NOT NULL,
  2392.         "PhaseOrder" INTEGER NOT NULL,
  2393.         "TurnMode" TEXT NOT NULL,
  2394.         "ActiveSegmentType" TEXT NOT NULL,
  2395.         "InactiveSegmentType" TEXT,
  2396.         PRIMARY KEY(ID),
  2397.         FOREIGN KEY (ActiveSegmentType) REFERENCES TurnSegments(TurnSegmentType) ON DELETE CASCADE ON UPDATE CASCADE,
  2398.         FOREIGN KEY (InactiveSegmentType) REFERENCES TurnSegments(TurnSegmentType) ON DELETE CASCADE ON UPDATE CASCADE);
  2399.  
  2400. CREATE TABLE "TurnSegments" (
  2401.         "TurnSegmentType" TEXT NOT NULL,
  2402.         "DisplayName" TEXT,
  2403.         "Sound" TEXT,
  2404.         "AllowStrategicCommands" BOOLEAN NOT NULL CHECK (AllowStrategicCommands IN (0,1)) DEFAULT 0,
  2405.         "AllowTacticalCommands" BOOLEAN NOT NULL CHECK (AllowTacticalCommands IN (0,1)) DEFAULT 0,
  2406.         "TimeLimit_Base" INTEGER NOT NULL DEFAULT 0,
  2407.         "TimeLimit_PerCity" INTEGER NOT NULL DEFAULT 0,
  2408.         "TimeLimit_PerUnit" INTEGER NOT NULL DEFAULT 0,
  2409.         PRIMARY KEY(TurnSegmentType));
  2410.  
  2411. CREATE TABLE "TurnTimers" (
  2412.         "TurnTimerType" TEXT NOT NULL,
  2413.         "Name" TEXT NOT NULL,
  2414.         "Description" TEXT NOT NULL,
  2415.         PRIMARY KEY(TurnTimerType));
  2416.  
  2417. CREATE TABLE "Types" (
  2418.         "Type" TEXT NOT NULL,
  2419.         "Hash" INTEGER NOT NULL UNIQUE DEFAULT 0,
  2420.         "Kind" TEXT NOT NULL,
  2421.         PRIMARY KEY(Type),
  2422.         FOREIGN KEY (Kind) REFERENCES Kinds(Kind) ON DELETE CASCADE ON UPDATE CASCADE);
  2423.  
  2424. CREATE TABLE "TypeProperties" (
  2425.         "Type" TEXT NOT NULL,
  2426.         "Name" TEXT NOT NULL,
  2427.         "Value" TEXT NOT NULL,
  2428.         "PropertyType" TEXT NOT NULL DEFAULT "PROPERTYTYPE_IDENTITY",
  2429.         PRIMARY KEY(Type, Name),
  2430.         FOREIGN KEY (Type) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  2431.  
  2432. CREATE TABLE "TypeTags" (
  2433.         "Type" TEXT NOT NULL,
  2434.         "Tag" TEXT NOT NULL,
  2435.         PRIMARY KEY(Type, Tag),
  2436.         FOREIGN KEY (Type) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE,
  2437.         FOREIGN KEY (Tag) REFERENCES Tags(Tag) ON DELETE CASCADE ON UPDATE CASCADE);
  2438.  
  2439. CREATE TABLE "Units" (
  2440.         "UnitType" TEXT NOT NULL,
  2441.         "Name" TEXT NOT NULL,
  2442.         "BaseSightRange" INTEGER NOT NULL,
  2443.         "BaseMoves" INTEGER NOT NULL,
  2444.         "Combat" INTEGER NOT NULL DEFAULT 0,
  2445.         "RangedCombat" INTEGER NOT NULL DEFAULT 0,
  2446.         "Range" INTEGER NOT NULL DEFAULT 0,
  2447.         "Bombard" INTEGER NOT NULL DEFAULT 0,
  2448.         "Domain" TEXT NOT NULL,
  2449.         "FormationClass" TEXT NOT NULL,
  2450.         "Cost" INTEGER NOT NULL,
  2451.         "PopulationCost" INTEGER,
  2452.         "FoundCity" BOOLEAN NOT NULL CHECK (FoundCity IN (0,1)) DEFAULT 0,
  2453.         "FoundReligion" BOOLEAN NOT NULL CHECK (FoundReligion IN (0,1)) DEFAULT 0,
  2454.         "MakeTradeRoute" BOOLEAN NOT NULL CHECK (MakeTradeRoute IN (0,1)) DEFAULT 0,
  2455.         "EvangelizeBelief" BOOLEAN NOT NULL CHECK (EvangelizeBelief IN (0,1)) DEFAULT 0,
  2456.         "LaunchInquisition" BOOLEAN NOT NULL CHECK (LaunchInquisition IN (0,1)) DEFAULT 0,
  2457.         "RequiresInquisition" BOOLEAN NOT NULL CHECK (RequiresInquisition IN (0,1)) DEFAULT 0,
  2458.         "BuildCharges" INTEGER NOT NULL DEFAULT 0,
  2459.         "ReligiousStrength" INTEGER NOT NULL DEFAULT 0,
  2460.         "ReligionEvictPercent" INTEGER NOT NULL DEFAULT 0,
  2461.         "SpreadCharges" INTEGER NOT NULL DEFAULT 0,
  2462.         "ReligiousHealCharges" INTEGER NOT NULL DEFAULT 0,
  2463.         "ExtractsArtifacts" BOOLEAN NOT NULL CHECK (ExtractsArtifacts IN (0,1)) DEFAULT 0,
  2464.         "Description" TEXT,
  2465.         "Flavor" TEXT,
  2466.         "CanCapture" BOOLEAN NOT NULL CHECK (CanCapture IN (0,1)) DEFAULT 1,
  2467.         "CanRetreatWhenCaptured" BOOLEAN NOT NULL CHECK (CanRetreatWhenCaptured IN (0,1)) DEFAULT 0,
  2468.         "TraitType" TEXT,
  2469.         "AllowBarbarians" BOOLEAN NOT NULL CHECK (AllowBarbarians IN (0,1)) DEFAULT 0,
  2470.         "CostProgressionModel" TEXT NOT NULL DEFAULT "NO_COST_PROGRESSION",
  2471.         "CostProgressionParam1" INTEGER NOT NULL DEFAULT 0,
  2472.         "PromotionClass" TEXT,
  2473.         "InitialLevel" INTEGER NOT NULL DEFAULT 1,
  2474.         "NumRandomChoices" INTEGER NOT NULL DEFAULT 0,
  2475.         "PrereqTech" TEXT,
  2476.         "PrereqCivic" TEXT,
  2477.         "PrereqDistrict" TEXT,
  2478.         "PrereqPopulation" INTEGER,
  2479.         "LeaderType" TEXT,
  2480.         "CanTrain" BOOLEAN NOT NULL CHECK (CanTrain IN (0,1)) DEFAULT 1,
  2481.         "StrategicResource" TEXT,
  2482.         "PurchaseYield" TEXT,
  2483.         "MustPurchase" BOOLEAN NOT NULL CHECK (MustPurchase IN (0,1)) DEFAULT 0,
  2484.         "Maintenance" INTEGER NOT NULL DEFAULT 0,
  2485.         "Stackable" BOOLEAN NOT NULL CHECK (Stackable IN (0,1)) DEFAULT 0,
  2486.         "AirSlots" INTEGER NOT NULL DEFAULT 0,
  2487.         "CanTargetAir" BOOLEAN NOT NULL CHECK (CanTargetAir IN (0,1)) DEFAULT 0,
  2488.         "PseudoYieldType" TEXT,
  2489.         "ZoneOfControl" BOOLEAN NOT NULL CHECK (ZoneOfControl IN (0,1)) DEFAULT 0,
  2490.         "AntiAirCombat" INTEGER NOT NULL DEFAULT 0,
  2491.         "Spy" BOOLEAN NOT NULL CHECK (Spy IN (0,1)) DEFAULT 0,
  2492.         "WMDCapable" BOOLEAN NOT NULL CHECK (WMDCapable IN (0,1)) DEFAULT 0,
  2493.         "ParkCharges" INTEGER NOT NULL DEFAULT 0,
  2494.         "IgnoreMoves" BOOLEAN NOT NULL CHECK (IgnoreMoves IN (0,1)) DEFAULT 0,
  2495.         "TeamVisibility" BOOLEAN NOT NULL CHECK (TeamVisibility IN (0,1)) DEFAULT 0,
  2496.         "ObsoleteTech" TEXT,
  2497.         "ObsoleteCivic" TEXT,
  2498.         "MandatoryObsoleteTech" TEXT,
  2499.         "MandatoryObsoleteCivic" TEXT,
  2500.         "AdvisorType" TEXT,
  2501.         "EnabledByReligion" BOOLEAN NOT NULL CHECK (EnabledByReligion IN (0,1)) DEFAULT 0,
  2502.         "TrackReligion" BOOLEAN NOT NULL CHECK (TrackReligion IN (0,1)) DEFAULT 0,
  2503.         PRIMARY KEY(UnitType),
  2504.         FOREIGN KEY (Flavor) REFERENCES Flavors(FlavorType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2505.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2506.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2507.         FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2508.         FOREIGN KEY (StrategicResource) REFERENCES Resources(ResourceType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2509.         FOREIGN KEY (PurchaseYield) REFERENCES Yields(YieldType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2510.         FOREIGN KEY (PrereqDistrict) REFERENCES Districts(DistrictType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2511.         FOREIGN KEY (PromotionClass) REFERENCES UnitPromotionClasses(PromotionClassType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2512.         FOREIGN KEY (PseudoYieldType) REFERENCES PseudoYields(PseudoYieldType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2513.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2514.         FOREIGN KEY (UnitType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE,
  2515.         FOREIGN KEY (PurchaseYield) REFERENCES Yields(YieldType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2516.         FOREIGN KEY (ObsoleteCivic) REFERENCES Civics(CivicType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2517.         FOREIGN KEY (MandatoryObsoleteCivic) REFERENCES Civics(CivicType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2518.         FOREIGN KEY (MandatoryObsoleteTech) REFERENCES Technologies(TechnologyType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
  2519.         FOREIGN KEY (ObsoleteTech) REFERENCES Technologies(TechnologyType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT);
  2520.  
  2521. CREATE TABLE "Unit_BuildingPrereqs" (
  2522.         "Unit" TEXT NOT NULL,
  2523.         "PrereqBuilding" TEXT NOT NULL,
  2524.         "NumSupported" INTEGER NOT NULL DEFAULT -1,
  2525.         PRIMARY KEY(Unit, PrereqBuilding),
  2526.         FOREIGN KEY (Unit) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE,
  2527.         FOREIGN KEY (PrereqBuilding) REFERENCES Buildings(BuildingType) ON DELETE CASCADE ON UPDATE CASCADE);
  2528.  
  2529. CREATE TABLE "Unit_RebellionTags" (
  2530.         "Tag" TEXT NOT NULL,
  2531.         "RebellionLevel" INTEGER NOT NULL,
  2532.         "NumCreated" INTEGER NOT NULL DEFAULT 1,
  2533.         "ForbiddenTag" TEXT,
  2534.         PRIMARY KEY(Tag, RebellionLevel));
  2535.  
  2536. CREATE TABLE "UnitAbilities" (
  2537.         "UnitAbilityType" TEXT NOT NULL,
  2538.         "Name" TEXT NOT NULL,
  2539.         "Description" TEXT NOT NULL,
  2540.         "Inactive" BOOLEAN NOT NULL CHECK (Inactive IN (0,1)) DEFAULT 0,
  2541.         "ShowFloatTextWhenEarned" BOOLEAN NOT NULL CHECK (ShowFloatTextWhenEarned IN (0,1)) DEFAULT 0,
  2542.         PRIMARY KEY(UnitAbilityType));
  2543.  
  2544. CREATE TABLE "UnitAbilityModifiers" (
  2545.         "UnitAbilityType" TEXT NOT NULL,
  2546.         "ModifierId" TEXT NOT NULL,
  2547.         PRIMARY KEY(UnitAbilityType, ModifierId),
  2548.         FOREIGN KEY (UnitAbilityType) REFERENCES UnitAbilities(UnitAbilityType) ON DELETE CASCADE ON UPDATE CASCADE,
  2549.         FOREIGN KEY (ModifierId) REFERENCES Modifiers(ModifierId) ON DELETE CASCADE ON UPDATE CASCADE);
  2550.  
  2551. CREATE TABLE "UnitAiInfos" (
  2552.         "UnitType" TEXT NOT NULL,
  2553.         "AiType" TEXT NOT NULL,
  2554.         PRIMARY KEY(UnitType, AiType),
  2555.         FOREIGN KEY (UnitType) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE,
  2556.         FOREIGN KEY (AiType) REFERENCES UnitAiTypes(AiType) ON DELETE CASCADE ON UPDATE CASCADE);
  2557.  
  2558. CREATE TABLE "UnitAiTypes" (
  2559.         "AiType" TEXT NOT NULL,
  2560.         "TypeValue" INTEGER,
  2561.         PRIMARY KEY(AiType));
  2562.  
  2563. CREATE TABLE "UnitCaptures" (
  2564.         "CapturedUnitType" TEXT NOT NULL,
  2565.         "BecomesUnitType" TEXT NOT NULL,
  2566.         PRIMARY KEY(CapturedUnitType, BecomesUnitType),
  2567.         FOREIGN KEY (CapturedUnitType) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE,
  2568.         FOREIGN KEY (BecomesUnitType) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE);
  2569.  
  2570. CREATE TABLE "UnitCommands" (
  2571.         "CommandType" TEXT NOT NULL,
  2572.         "Description" TEXT NOT NULL,
  2573.         "Help" TEXT,
  2574.         "DisabledHelp" TEXT,
  2575.         "Icon" TEXT NOT NULL,
  2576.         "Sound" TEXT,
  2577.         "VisibleInUI" BOOLEAN NOT NULL CHECK (VisibleInUI IN (0,1)),
  2578.         "HoldCycling" BOOLEAN NOT NULL CHECK (HoldCycling IN (0,1)) DEFAULT 0,
  2579.         "CategoryInUI" TEXT,
  2580.         "InterfaceMode" TEXT,
  2581.         "PrereqTech" TEXT,
  2582.         "PrereqCivic" TEXT,
  2583.         "MaxEra" INTEGER NOT NULL DEFAULT -1,
  2584.         "HotkeyId" TEXT,
  2585.         PRIMARY KEY(CommandType),
  2586.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE,
  2587.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE);
  2588.  
  2589. CREATE TABLE "UnitFormationClasses" (
  2590.         "FormationClassType" TEXT NOT NULL,
  2591.         "Name" TEXT NOT NULL,
  2592.         PRIMARY KEY(FormationClassType));
  2593.  
  2594. CREATE TABLE "UnitNames" (
  2595.         "ID" INTEGER NOT NULL,
  2596.         "NameType" TEXT NOT NULL,
  2597.         "TextKey" TEXT NOT NULL,
  2598.         PRIMARY KEY(ID));
  2599.  
  2600. CREATE TABLE "UnitOperations" (
  2601.         "OperationType" TEXT NOT NULL,
  2602.         "Description" TEXT NOT NULL,
  2603.         "Help" TEXT,
  2604.         "DisabledHelp" TEXT,
  2605.         "Icon" TEXT NOT NULL,
  2606.         "Sound" TEXT,
  2607.         "VisibleInUI" BOOLEAN NOT NULL CHECK (VisibleInUI IN (0,1)),
  2608.         "HoldCycling" BOOLEAN NOT NULL CHECK (HoldCycling IN (0,1)) DEFAULT 0,
  2609.         "CategoryInUI" TEXT,
  2610.         "InterfaceMode" TEXT,
  2611.         "PrereqTech" TEXT,
  2612.         "PrereqCivic" TEXT,
  2613.         "Turns" INTEGER NOT NULL DEFAULT 0,
  2614.         "BaseProbability" INTEGER NOT NULL DEFAULT 0,
  2615.         "LevelProbChange" INTEGER NOT NULL DEFAULT 0,
  2616.         "EnemyProbChange" INTEGER NOT NULL DEFAULT 0,
  2617.         "EnemyLevelProbChange" INTEGER NOT NULL DEFAULT 0,
  2618.         "TargetDistrict" TEXT,
  2619.         "HotkeyId" TEXT,
  2620.         PRIMARY KEY(OperationType),
  2621.         FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE CASCADE ON UPDATE CASCADE,
  2622.         FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE CASCADE ON UPDATE CASCADE,
  2623.         FOREIGN KEY (TargetDistrict) REFERENCES Districts(DistrictType) ON DELETE CASCADE ON UPDATE CASCADE);
  2624.  
  2625. CREATE TABLE "UnitPromotions" (
  2626.         "UnitPromotionType" TEXT NOT NULL,
  2627.         "Name" LocalizedText NOT NULL,
  2628.         "Description" LocalizedText NOT NULL,
  2629.         "Level" INTEGER NOT NULL,
  2630.         "Specialization" TEXT,
  2631.         "PromotionClass" TEXT,
  2632.         "Column" INTEGER NOT NULL DEFAULT 0,
  2633.         PRIMARY KEY(UnitPromotionType),
  2634.         FOREIGN KEY (PromotionClass) REFERENCES UnitPromotionClasses(PromotionClassType) ON DELETE CASCADE ON UPDATE CASCADE,
  2635.         FOREIGN KEY (UnitPromotionType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  2636.  
  2637. CREATE TABLE "UnitPromotionClasses" (
  2638.         "PromotionClassType" TEXT NOT NULL,
  2639.         "Name" INTEGER NOT NULL,
  2640.         PRIMARY KEY(PromotionClassType),
  2641.         FOREIGN KEY (PromotionClassType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  2642.  
  2643. CREATE TABLE "UnitPromotionModifiers" (
  2644.         "UnitPromotionType" INTEGER NOT NULL,
  2645.         "ModifierId" TEXT NOT NULL,
  2646.         PRIMARY KEY(UnitPromotionType, ModifierId),
  2647.         FOREIGN KEY (UnitPromotionType) REFERENCES UnitPromotions(UnitPromotionType) ON DELETE CASCADE ON UPDATE CASCADE);
  2648.  
  2649. CREATE TABLE "UnitPromotionPrereqs" (
  2650.         "UnitPromotion" TEXT NOT NULL,
  2651.         "PrereqUnitPromotion" TEXT NOT NULL,
  2652.         PRIMARY KEY(UnitPromotion, PrereqUnitPromotion),
  2653.         FOREIGN KEY (PrereqUnitPromotion) REFERENCES UnitPromotions(UnitPromotionType) ON DELETE CASCADE ON UPDATE CASCADE,
  2654.         FOREIGN KEY (UnitPromotion) REFERENCES UnitPromotions(UnitPromotionType) ON DELETE CASCADE ON UPDATE CASCADE);
  2655.  
  2656. CREATE TABLE "UnitReplaces" (
  2657.         "CivUniqueUnitType" TEXT NOT NULL,
  2658.         "ReplacesUnitType" TEXT NOT NULL,
  2659.         PRIMARY KEY(CivUniqueUnitType),
  2660.         FOREIGN KEY (ReplacesUnitType) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE,
  2661.         FOREIGN KEY (CivUniqueUnitType) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE);
  2662.  
  2663. CREATE TABLE "UnitUpgrades" (
  2664.         "Unit" TEXT NOT NULL UNIQUE,
  2665.         "UpgradeUnit" TEXT NOT NULL,
  2666.         PRIMARY KEY(Unit),
  2667.         FOREIGN KEY (UpgradeUnit) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE,
  2668.         FOREIGN KEY (Unit) REFERENCES Units(UnitType) ON DELETE CASCADE ON UPDATE CASCADE);
  2669.  
  2670. CREATE TABLE "Victories" (
  2671.         "VictoryType" TEXT NOT NULL,
  2672.         "Name" TEXT NOT NULL,
  2673.         "Blurb" TEXT NOT NULL,
  2674.         "RequirementSetId" TEXT NOT NULL,
  2675.         "EnabledByDefault" BOOLEAN NOT NULL CHECK (EnabledByDefault IN (0,1)) DEFAULT 1,
  2676.         "Description" TEXT,
  2677.         "Icon" TEXT,
  2678.         "OneMoreTurn" BOOLEAN CHECK (OneMoreTurn IN (0,1)) DEFAULT 1,
  2679.         "CriticalPercentage" INTEGER NOT NULL DEFAULT 90,
  2680.         PRIMARY KEY(VictoryType),
  2681.         FOREIGN KEY (VictoryType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);
  2682.  
  2683. CREATE TABLE "Visibilities" (
  2684.         "VisibilityType" TEXT NOT NULL,
  2685.         "Name" TEXT NOT NULL,
  2686.         "RevealAgendas" BOOLEAN NOT NULL CHECK (RevealAgendas IN (0,1)) DEFAULT 0,
  2687.         PRIMARY KEY(VisibilityType));
  2688.  
  2689. CREATE TABLE "Vocabularies" (
  2690.         "Vocabulary" TEXT NOT NULL,
  2691.         PRIMARY KEY(Vocabulary));
  2692.  
  2693. CREATE TABLE "WMDs" (
  2694.         "WeaponType" TEXT NOT NULL,
  2695.         "Name" TEXT NOT NULL,
  2696.         "BlastRadius" INTEGER NOT NULL DEFAULT 1,
  2697.         "FalloutDuration" INTEGER NOT NULL DEFAULT 0,
  2698.         "AffectPopulation" BOOLEAN NOT NULL CHECK (AffectPopulation IN (0,1)) DEFAULT 0,
  2699.         "AffectImprovements" BOOLEAN NOT NULL CHECK (AffectImprovements IN (0,1)) DEFAULT 0,
  2700.         "AffectBuildings" BOOLEAN NOT NULL CHECK (AffectBuildings IN (0,1)) DEFAULT 0,
  2701.         "AffectUnits" BOOLEAN NOT NULL CHECK (AffectUnits IN (0,1)) DEFAULT 0,
  2702.         "AffectResources" BOOLEAN NOT NULL CHECK (AffectResources IN (0,1)) DEFAULT 0,
  2703.         "AffectRoutes" BOOLEAN NOT NULL CHECK (AffectRoutes IN (0,1)) DEFAULT 0,
  2704.         "ICBMStrikeRange" INTEGER NOT NULL DEFAULT 0,
  2705.         "Maintenance" INTEGER NOT NULL DEFAULT 0,
  2706.         PRIMARY KEY(WeaponType));
  2707.  
  2708. CREATE TABLE "Yields" (
  2709.         "YieldType" TEXT NOT NULL,
  2710.         "Name" TEXT NOT NULL,
  2711.         "IconString" TEXT NOT NULL,
  2712.         "OccupiedCityChange" REAL NOT NULL DEFAULT 0,
  2713.         "DefaultValue" REAL NOT NULL DEFAULT 1,
  2714.         PRIMARY KEY(YieldType));
  2715.  
  2716.  
  2717. -- Navigation Properties (if any)
  2718. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Adjacency_YieldChanges", "DistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join Adjacency_YieldChanges as T2 on T2.AdjacentDistrict = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2719. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Adjacency_YieldChanges", "FeatureReference", "Features", 0,"SELECT T1.rowid from Features as T1 inner join Adjacency_YieldChanges as T2 on T2.AdjacentFeature = T1.FeatureType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2720. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Adjacency_YieldChanges", "ImprovementReference", "Improvements", 0,"SELECT T1.rowid from Improvements as T1 inner join Adjacency_YieldChanges as T2 on T2.AdjacentImprovement = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2721. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Adjacency_YieldChanges", "ObsoleteCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Adjacency_YieldChanges as T2 on T2.ObsoleteCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2722. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Adjacency_YieldChanges", "ObsoleteTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Adjacency_YieldChanges as T2 on T2.ObsoleteTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2723. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Adjacency_YieldChanges", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Adjacency_YieldChanges as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2724. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Adjacency_YieldChanges", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Adjacency_YieldChanges as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2725. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Adjacency_YieldChanges", "TerrainReference", "Terrains", 0,"SELECT T1.rowid from Terrains as T1 inner join Adjacency_YieldChanges as T2 on T2.AdjacentTerrain = T1.TerrainType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2726. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Adjacency_YieldChanges", "YieldTypeReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Adjacency_YieldChanges as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2727. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Agendas", "FirstExclusions", "Agendas", 1,"SELECT T1.rowid from Agendas as T1 inner join ExclusiveAgendas as T2 on T2.AgendaTwo = T1.AgendaType inner join Agendas as T3 on T3.AgendaType = T2.AgendaOne where T3.rowid = ? ORDER BY T1.rowid ASC");
  2728. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Agendas", "SecondExclusions", "Agendas", 1,"SELECT T1.rowid from Agendas as T1 inner join ExclusiveAgendas as T2 on T2.AgendaOne = T1.AgendaType inner join Agendas as T3 on T3.AgendaType = T2.AgendaTwo where T3.rowid = ? ORDER BY T1.rowid ASC");
  2729. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Agendas", "TraitCollection", "AgendaTraits", 1,"SELECT T1.rowid from AgendaTraits as T1 inner join Agendas as T2 on T2.AgendaType = T1.AgendaType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2730. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("AgendaPreferredLeaders", "LeaderReference", "Leaders", 0,"SELECT T1.rowid from Leaders as T1 inner join AgendaPreferredLeaders as T2 on T2.LeaderType = T1.LeaderType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2731. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("AgendaPreferredLeaders", "RandomAgendaReference", "RandomAgendas", 0,"SELECT T1.rowid from RandomAgendas as T1 inner join AgendaPreferredLeaders as T2 on T2.AgendaType = T1.AgendaType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2732. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("AiBuildSpecializations", "PriorityReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join AiBuildSpecializations as T2 on T2.PrioritizationYield = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2733. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("AiBuildSpecializations", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join AiBuildSpecializations as T2 on T2.BuildingYield = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2734. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("AiFavoredItems", "MaxDifficultyReference", "Difficulties", 0,"SELECT T1.rowid from Difficulties as T1 inner join AiFavoredItems as T2 on T2.MaxDifficulty = T1.DifficultyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2735. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("AiFavoredItems", "MinDifficultyReference", "Difficulties", 0,"SELECT T1.rowid from Difficulties as T1 inner join AiFavoredItems as T2 on T2.MinDifficulty = T1.DifficultyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2736. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("AiLists", "MaxDifficultyReference", "Difficulties", 0,"SELECT T1.rowid from Difficulties as T1 inner join AiLists as T2 on T2.MaxDifficulty = T1.DifficultyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2737. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("AiLists", "MinDifficultyReference", "Difficulties", 0,"SELECT T1.rowid from Difficulties as T1 inner join AiLists as T2 on T2.MinDifficulty = T1.DifficultyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2738. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BarbarianAttackForces", "MaxDifficultyReference", "Difficulties", 0,"SELECT T1.rowid from Difficulties as T1 inner join BarbarianAttackForces as T2 on T2.MaxTargetDifficulty = T1.DifficultyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2739. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BarbarianAttackForces", "MinDifficultyReference", "Difficulties", 0,"SELECT T1.rowid from Difficulties as T1 inner join BarbarianAttackForces as T2 on T2.MinTargetDifficulty = T1.DifficultyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2740. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BarbarianTribes", "AttackCollection", "BarbarianAttackForces", 1,"SELECT T1.rowid from BarbarianAttackForces as T1 inner join BarbarianTribeForces as T2 on T2.AttackForceType = T1.AttackForceType inner join BarbarianTribes as T3 on T3.TribeType = T2.TribeType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2741. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BarbarianTribes", "RequiredResourceReference", "Resources", 0,"SELECT T1.rowid from Resources as T1 inner join BarbarianTribes as T2 on T2.RequiredResource = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2742. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BarbarianTribes", "TribeNames", "BarbarianTribeNames", 1,"SELECT T1.rowid from BarbarianTribeNames as T1 inner join BarbarianTribes as T2 on T2.TribeType = T1.TribeType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2743. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BarbarianTribeNames", "AttackCollection", "BarbarianAttackForces", 1,"SELECT T1.rowid from BarbarianAttackForces as T1 inner join BarbarianTribeForces as T2 on T2.AttackForceType = T1.AttackForceType inner join BarbarianTribeNames as T3 on T3.TribeNameType = T2.SpecificTribeType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2744. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BarbarianTribeNames", "TribeTypeReference", "BarbarianTribes", 0,"SELECT T1.rowid from BarbarianTribes as T1 inner join BarbarianTribeNames as T2 on T2.TribeType = T1.TribeType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2745. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BehaviorTrees", "TriggerCollection", "TriggeredBehaviorTrees", 1,"SELECT T1.rowid from TriggeredBehaviorTrees as T1 inner join BehaviorTrees as T2 on T2.TreeName = T1.TreeName where T2.rowid = ? ORDER BY T1.rowid ASC");
  2746. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Beliefs", "BeliefClassTypeReference", "BeliefClasses", 0,"SELECT T1.rowid from BeliefClasses as T1 inner join Beliefs as T2 on T2.BeliefClassType = T1.BeliefClassType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2747. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BonusMinorStartingUnits", "EraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join BonusMinorStartingUnits as T2 on T2.Era = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2748. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BonusMinorStartingUnits", "UnitReference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join BonusMinorStartingUnits as T2 on T2.Unit = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2749. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Boosts", "BoostingCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Boosts as T2 on T2.BoostingCivicType = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2750. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Boosts", "BoostingTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Boosts as T2 on T2.BoostingTechType = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2751. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Boosts", "BoostReference", "BoostNames", 0,"SELECT T1.rowid from BoostNames as T1 inner join Boosts as T2 on T2.BoostClass = T1.BoostType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2752. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Boosts", "BuildingReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join Boosts as T2 on T2.BuildingType = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2753. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Boosts", "CivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Boosts as T2 on T2.CivicType = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2754. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Boosts", "DistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join Boosts as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2755. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Boosts", "ImprovementReference", "Improvements", 0,"SELECT T1.rowid from Improvements as T1 inner join Boosts as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2756. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Boosts", "ResourceReference", "Resources", 0,"SELECT T1.rowid from Resources as T1 inner join Boosts as T2 on T2.ResourceType = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2757. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Boosts", "TechnologyReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Boosts as T2 on T2.TechnologyType = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2758. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Boosts", "Unit1Reference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join Boosts as T2 on T2.Unit1Type = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2759. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Boosts", "Unit2Reference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join Boosts as T2 on T2.Unit2Type = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2760. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BoostHandlers", "BoostTypeReference", "BoostNames", 0,"SELECT T1.rowid from BoostNames as T1 inner join BoostHandlers as T2 on T2.TechBoostType = T1.BoostType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2761. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "AdjacentDistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join Buildings as T2 on T2.AdjacentDistrict = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2762. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "AdjacentImprovementReference", "Improvements", 0,"SELECT T1.rowid from Improvements as T1 inner join Buildings as T2 on T2.AdjacentImprovement = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2763. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "AdjacentResourceReference", "Resources", 0,"SELECT T1.rowid from Resources as T1 inner join Buildings as T2 on T2.AdjacentResource = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2764. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "CityAdjacentTerrainReference", "Terrains", 0,"SELECT T1.rowid from Terrains as T1 inner join Buildings as T2 on T2.CityAdjacentTerrain = T1.TerrainType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2765. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "DependentBuildingCollection", "Buildings", 1,"SELECT T1.rowid from Buildings as T1 inner join BuildingPrereqs as T2 on T2.Building = T1.BuildingType inner join Buildings as T3 on T3.BuildingType = T2.PrereqBuilding where T3.rowid = ? ORDER BY T1.rowid ASC");
  2766. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "GreatPersonPointsReference", "Building_GreatPersonPoints", 1,"SELECT T1.rowid from Building_GreatPersonPoints as T1 inner join Buildings as T2 on T2.BuildingType = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2767. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "GreatWorkCollection", "Building_GreatWorks", 1,"SELECT T1.rowid from Building_GreatWorks as T1 inner join Buildings as T2 on T2.BuildingType = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2768. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "MutuallyExclusiveBuildingReference", "MutuallyExclusiveBuildings", 1,"SELECT T1.rowid from MutuallyExclusiveBuildings as T1 inner join Buildings as T2 on T2.BuildingType = T1.Building where T2.rowid = ? ORDER BY T1.rowid ASC");
  2769. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "PrereqBuildingCollection", "Buildings", 1,"SELECT T1.rowid from Buildings as T1 inner join BuildingPrereqs as T2 on T2.PrereqBuilding = T1.BuildingType inner join Buildings as T3 on T3.BuildingType = T2.Building where T3.rowid = ? ORDER BY T1.rowid ASC");
  2770. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Buildings as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2771. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "PrereqDistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join Buildings as T2 on T2.PrereqDistrict = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2772. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Buildings as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2773. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "PurchaseYieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Buildings as T2 on T2.PurchaseYield = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2774. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "ReplacedByCollection", "BuildingReplaces", 1,"SELECT T1.rowid from BuildingReplaces as T1 inner join Buildings as T2 on T2.BuildingType = T1.ReplacesBuildingType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2775. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "ReplacesCollection", "BuildingReplaces", 1,"SELECT T1.rowid from BuildingReplaces as T1 inner join Buildings as T2 on T2.BuildingType = T1.CivUniqueBuildingType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2776. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "RequiredFeatures", "Features", 1,"SELECT T1.rowid from Features as T1 inner join Building_RequiredFeatures as T2 on T2.FeatureType = T1.FeatureType inner join Buildings as T3 on T3.BuildingType = T2.BuildingType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2777. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "StartingBuildingCollection", "StartingBuildings", 1,"SELECT T1.rowid from StartingBuildings as T1 inner join Buildings as T2 on T2.BuildingType = T1.Building where T2.rowid = ? ORDER BY T1.rowid ASC");
  2778. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "TraitReference", "Traits", 0,"SELECT T1.rowid from Traits as T1 inner join Buildings as T2 on T2.TraitType = T1.TraitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2779. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "UnitsPermittedCollection", "Units", 1,"SELECT T1.rowid from Units as T1 inner join Unit_BuildingPrereqs as T2 on T2.Unit = T1.UnitType inner join Buildings as T3 on T3.BuildingType = T2.PrereqBuilding where T3.rowid = ? ORDER BY T1.rowid ASC");
  2780. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "ValidFeatures", "Features", 1,"SELECT T1.rowid from Features as T1 inner join Building_ValidFeatures as T2 on T2.FeatureType = T1.FeatureType inner join Buildings as T3 on T3.BuildingType = T2.BuildingType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2781. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "ValidTerrains", "Terrains", 1,"SELECT T1.rowid from Terrains as T1 inner join Building_ValidTerrains as T2 on T2.TerrainType = T1.TerrainType inner join Buildings as T3 on T3.BuildingType = T2.BuildingType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2782. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "YieldChanges", "Building_YieldChanges", 1,"SELECT T1.rowid from Building_YieldChanges as T1 inner join Buildings as T2 on T2.BuildingType = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2783. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "YieldDistrictCopyReference", "Building_YieldDistrictCopies", 1,"SELECT T1.rowid from Building_YieldDistrictCopies as T1 inner join Buildings as T2 on T2.BuildingType = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2784. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Buildings", "YieldsPerEra", "Building_YieldsPerEra", 1,"SELECT T1.rowid from Building_YieldsPerEra as T1 inner join Buildings as T2 on T2.BuildingType = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2785. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Building_GreatPersonPoints", "BuildingReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join Building_GreatPersonPoints as T2 on T2.BuildingType = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2786. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Building_GreatPersonPoints", "GreatPersonClassReference", "GreatPersonClasses", 0,"SELECT T1.rowid from GreatPersonClasses as T1 inner join Building_GreatPersonPoints as T2 on T2.GreatPersonClassType = T1.GreatPersonClassType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2787. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Building_GreatWorks", "ValidObjectTypes", "GreatWorkObjectTypes", 1,"SELECT T1.rowid from GreatWorkObjectTypes as T1 inner join GreatWork_ValidSubTypes as T2 on T2.GreatWorkObjectType = T1.GreatWorkObjectType inner join GreatWorkSlotTypes as T3 on T3.GreatWorkSlotType = T2.GreatWorkSlotType inner join Building_GreatWorks as T4 on T4.GreatWorkSlotType = T3.GreatWorkSlotType where T4.rowid = ? ORDER BY T1.rowid ASC");
  2788. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Building_YieldChanges", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Building_YieldChanges as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2789. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Building_YieldDistrictCopies", "BuildingReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join Building_YieldDistrictCopies as T2 on T2.BuildingType = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2790. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Building_YieldDistrictCopies", "NewYieldTypeReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Building_YieldDistrictCopies as T2 on T2.NewYieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2791. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Building_YieldDistrictCopies", "OldYieldTypeReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Building_YieldDistrictCopies as T2 on T2.OldYieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2792. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BuildingPrereqs", "BuildingReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join BuildingPrereqs as T2 on T2.Building = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2793. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BuildingPrereqs", "PrereqBuildingReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join BuildingPrereqs as T2 on T2.PrereqBuilding = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2794. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BuildingReplaces", "BaseBuildingReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join BuildingReplaces as T2 on T2.ReplacesBuildingType = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2795. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("BuildingReplaces", "ReplacementBuildingReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join BuildingReplaces as T2 on T2.CivUniqueBuildingType = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2796. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civics", "BoostCollectionRef", "Boosts", 1,"SELECT T1.rowid from Boosts as T1 inner join Civics as T2 on T2.CivicType = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2797. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civics", "BuildingCollectionReference", "Buildings", 1,"SELECT T1.rowid from Buildings as T1 inner join Civics as T2 on T2.CivicType = T1.PrereqCivic where T2.rowid = ? ORDER BY T1.rowid ASC");
  2798. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civics", "DistrictCollectionReference", "Districts", 1,"SELECT T1.rowid from Districts as T1 inner join Civics as T2 on T2.CivicType = T1.PrereqCivic where T2.rowid = ? ORDER BY T1.rowid ASC");
  2799. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civics", "EraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join Civics as T2 on T2.EraType = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2800. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civics", "GovernmentCollection", "Governments", 1,"SELECT T1.rowid from Governments as T1 inner join Civics as T2 on T2.CivicType = T1.PrereqCivic where T2.rowid = ? ORDER BY T1.rowid ASC");
  2801. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civics", "ImprovementTourismCollection", "Improvement_Tourism", 1,"SELECT T1.rowid from Improvement_Tourism as T1 inner join Civics as T2 on T2.CivicType = T1.PrereqCivic where T2.rowid = ? ORDER BY T1.rowid ASC");
  2802. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civics", "MandatoryObsoleteCivicCollection", "Units", 1,"SELECT T1.rowid from Units as T1 inner join Civics as T2 on T2.CivicType = T1.MandatoryObsoleteCivic where T2.rowid = ? ORDER BY T1.rowid ASC");
  2803. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civics", "ObsoleteCivicCollection", "Units", 1,"SELECT T1.rowid from Units as T1 inner join Civics as T2 on T2.CivicType = T1.ObsoleteCivic where T2.rowid = ? ORDER BY T1.rowid ASC");
  2804. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civics", "PolicyCollection", "Policies", 1,"SELECT T1.rowid from Policies as T1 inner join Civics as T2 on T2.CivicType = T1.PrereqCivic where T2.rowid = ? ORDER BY T1.rowid ASC");
  2805. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civics", "PrereqCivicCollection", "CivicPrereqs", 1,"SELECT T1.rowid from CivicPrereqs as T1 inner join Civics as T2 on T2.CivicType = T1.Civic where T2.rowid = ? ORDER BY T1.rowid ASC");
  2806. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civics", "StartingCivicCollection", "StartingCivics", 1,"SELECT T1.rowid from StartingCivics as T1 inner join Civics as T2 on T2.CivicType = T1.Civic where T2.rowid = ? ORDER BY T1.rowid ASC");
  2807. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civics", "UnitCollection", "Units", 1,"SELECT T1.rowid from Units as T1 inner join Civics as T2 on T2.CivicType = T1.PrereqCivic where T2.rowid = ? ORDER BY T1.rowid ASC");
  2808. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("CivicPrereqs", "CivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join CivicPrereqs as T2 on T2.Civic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2809. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("CivicPrereqs", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join CivicPrereqs as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2810. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civilizations", "CitizenNameCollection", "CivilizationCitizenNames", 1,"SELECT T1.rowid from CivilizationCitizenNames as T1 inner join Civilizations as T2 on T2.CivilizationType = T1.CivilizationType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2811. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civilizations", "CityNameCollection", "CityNames", 1,"SELECT T1.rowid from CityNames as T1 inner join Civilizations as T2 on T2.CivilizationType = T1.CivilizationType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2812. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civilizations", "ReligionCollection", "Religions", 1,"SELECT T1.rowid from Religions as T1 inner join FavoredReligions as T2 on T2.ReligionType = T1.ReligionType inner join Civilizations as T3 on T3.CivilizationType = T2.CivilizationType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2813. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civilizations", "StartBiasFeatureCollection", "StartBiasFeatures", 1,"SELECT T1.rowid from StartBiasFeatures as T1 inner join Civilizations as T2 on T2.CivilizationType = T1.CivilizationType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2814. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civilizations", "StartBiasResourceCollection", "StartBiasResources", 1,"SELECT T1.rowid from StartBiasResources as T1 inner join Civilizations as T2 on T2.CivilizationType = T1.CivilizationType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2815. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civilizations", "StartBiasRiverCollection", "StartBiasRivers", 1,"SELECT T1.rowid from StartBiasRivers as T1 inner join Civilizations as T2 on T2.CivilizationType = T1.CivilizationType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2816. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civilizations", "StartBiasTerrainCollection", "StartBiasTerrains", 1,"SELECT T1.rowid from StartBiasTerrains as T1 inner join Civilizations as T2 on T2.CivilizationType = T1.CivilizationType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2817. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Civilizations", "TraitCollection", "Traits", 1,"SELECT T1.rowid from Traits as T1 inner join CivilizationTraits as T2 on T2.TraitType = T1.TraitType inner join Civilizations as T3 on T3.CivilizationType = T2.CivilizationType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2818. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("CivilizationLevels", "DiplomaticStartCollection", "DiplomaticStartStates", 1,"SELECT T1.rowid from DiplomaticStartStates as T1 inner join CivilizationLevels as T2 on T2.CivilizationLevelType = T1.PlayerCivLevel where T2.rowid = ? ORDER BY T1.rowid ASC");
  2819. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Difficulties", "TraitCollection", "Traits", 1,"SELECT T1.rowid from Traits as T1 inner join DifficultyTraits as T2 on T2.TraitType = T1.TraitType inner join Difficulties as T3 on T3.DifficultyType = T2.DifficultyType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2820. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticActions", "InitiatorObsoleteCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join DiplomaticActions as T2 on T2.InitiatorObsoleteCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2821. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticActions", "InitiatorPrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join DiplomaticActions as T2 on T2.InitiatorPrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2822. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticActions", "InitiatorPrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join DiplomaticActions as T2 on T2.InitiatorPrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2823. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticActions", "TargetPrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join DiplomaticActions as T2 on T2.TargetPrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2824. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticActions", "TargetPrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join DiplomaticActions as T2 on T2.TargetPrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2825. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticActions", "ValidStates", "DiplomaticStates", 1,"SELECT T1.rowid from DiplomaticStates as T1 inner join DiplomaticStateActions as T2 on T2.StateType = T1.StateType inner join DiplomaticActions as T3 on T3.DiplomaticActionType = T2.DiplomaticActionType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2826. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticStartStates", "DiplomaticStateReference", "DiplomaticStates", 0,"SELECT T1.rowid from DiplomaticStates as T1 inner join DiplomaticStartStates as T2 on T2.DiplomaticStateType = T1.StateType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2827. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticStartStates", "OpponentCivLevelReference", "CivilizationLevels", 0,"SELECT T1.rowid from CivilizationLevels as T1 inner join DiplomaticStartStates as T2 on T2.OpponentCivLevel = T1.CivilizationLevelType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2828. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticStartStates", "PlayerCivLevelReference", "CivilizationLevels", 0,"SELECT T1.rowid from CivilizationLevels as T1 inner join DiplomaticStartStates as T2 on T2.PlayerCivLevel = T1.CivilizationLevelType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2829. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticStates", "TransitionActionCollection", "DiplomaticStateActions", 1,"SELECT T1.rowid from DiplomaticStateActions as T1 inner join DiplomaticStates as T2 on T2.StateType = T1.TransitionToState where T2.rowid = ? ORDER BY T1.rowid ASC");
  2830. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticStates", "TransitionsOut", "DiplomaticStateTransitions", 1,"SELECT T1.rowid from DiplomaticStateTransitions as T1 inner join DiplomaticStates as T2 on T2.StateType = T1.BaseState where T2.rowid = ? ORDER BY T1.rowid ASC");
  2831. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticStates", "ValidActions", "DiplomaticStateActions", 1,"SELECT T1.rowid from DiplomaticStateActions as T1 inner join DiplomaticStates as T2 on T2.StateType = T1.StateType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2832. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticStateActions", "DiplomaticActionReference", "DiplomaticActions", 0,"SELECT T1.rowid from DiplomaticActions as T1 inner join DiplomaticStateActions as T2 on T2.DiplomaticActionType = T1.DiplomaticActionType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2833. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticStateActions", "TransitionStateReference", "DiplomaticStates", 0,"SELECT T1.rowid from DiplomaticStates as T1 inner join DiplomaticStateActions as T2 on T2.TransitionToState = T1.StateType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2834. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticStateTransitions", "BaseStateReference", "DiplomaticStates", 0,"SELECT T1.rowid from DiplomaticStates as T1 inner join DiplomaticStateTransitions as T2 on T2.BaseState = T1.StateType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2835. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticStateTransitions", "TransitionStateReference", "DiplomaticStates", 0,"SELECT T1.rowid from DiplomaticStates as T1 inner join DiplomaticStateTransitions as T2 on T2.TransitionState = T1.StateType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2836. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticTriggers", "RequiredStateCollection", "DiplomaticStates", 1,"SELECT T1.rowid from DiplomaticStates as T1 inner join DiplomaticTriggers_RequiredStates as T2 on T2.RequiredState = T1.StateType inner join DiplomaticTriggers as T3 on T3.TriggerType = T2.TriggerType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2837. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticTriggeredTransitions", "CivLevelReference", "CivilizationLevels", 0,"SELECT T1.rowid from CivilizationLevels as T1 inner join DiplomaticTriggeredTransitions as T2 on T2.CivilizationLevel = T1.CivilizationLevelType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2838. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticTriggeredTransitions", "OpponentCivLevelReference", "CivilizationLevels", 0,"SELECT T1.rowid from CivilizationLevels as T1 inner join DiplomaticTriggeredTransitions as T2 on T2.OpponentCivilizationLevel = T1.CivilizationLevelType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2839. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticTriggeredTransitions", "TransitionStateReference", "DiplomaticStates", 0,"SELECT T1.rowid from DiplomaticStates as T1 inner join DiplomaticTriggeredTransitions as T2 on T2.TransitionState = T1.StateType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2840. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticTriggeredTransitions", "TriggerReference", "DiplomaticTriggers", 0,"SELECT T1.rowid from DiplomaticTriggers as T1 inner join DiplomaticTriggeredTransitions as T2 on T2.TriggerType = T1.TriggerType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2841. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticTriggers_RequiredStates", "StateReference", "DiplomaticStates", 0,"SELECT T1.rowid from DiplomaticStates as T1 inner join DiplomaticTriggers_RequiredStates as T2 on T2.RequiredState = T1.StateType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2842. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticVisibilitySources", "GreatPersonIndividualReference", "GreatPersonIndividuals", 0,"SELECT T1.rowid from GreatPersonIndividuals as T1 inner join DiplomaticVisibilitySources as T2 on T2.GreatPersonIndividualType = T1.GreatPersonIndividualType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2843. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticVisibilitySources", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join DiplomaticVisibilitySources as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2844. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DiplomaticVisibilitySources", "TraitReference", "Traits", 0,"SELECT T1.rowid from Traits as T1 inner join DiplomaticVisibilitySources as T2 on T2.TraitType = T1.TraitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2845. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "AdjacencyYieldChanges", "District_Adjacencies", 1,"SELECT T1.rowid from District_Adjacencies as T1 inner join Districts as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2846. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "AppealHousingChangeReference", "AppealHousingChanges", 1,"SELECT T1.rowid from AppealHousingChanges as T1 inner join Districts as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2847. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "BuildingCollectionReference", "Buildings", 1,"SELECT T1.rowid from Buildings as T1 inner join Districts as T2 on T2.DistrictType = T1.PrereqDistrict where T2.rowid = ? ORDER BY T1.rowid ASC");
  2848. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "CitizenGreatPersonPointsReference", "District_CitizenGreatPersonPoints", 1,"SELECT T1.rowid from District_CitizenGreatPersonPoints as T1 inner join Districts as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2849. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "CitizenYieldChangesReference", "District_CitizenYieldChanges", 1,"SELECT T1.rowid from District_CitizenYieldChanges as T1 inner join Districts as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2850. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "ExclusionReference", "ExcludedDistricts", 1,"SELECT T1.rowid from ExcludedDistricts as T1 inner join Districts as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2851. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "GreatPersonPointsReference", "District_GreatPersonPoints", 1,"SELECT T1.rowid from District_GreatPersonPoints as T1 inner join Districts as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2852. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Districts as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2853. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Districts as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2854. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "ProjectCollection", "Projects", 1,"SELECT T1.rowid from Projects as T1 inner join Districts as T2 on T2.DistrictType = T1.PrereqDistrict where T2.rowid = ? ORDER BY T1.rowid ASC");
  2855. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "ReplacedByCollection", "DistrictReplaces", 1,"SELECT T1.rowid from DistrictReplaces as T1 inner join Districts as T2 on T2.DistrictType = T1.ReplacesDistrictType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2856. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "ReplacesCollection", "DistrictReplaces", 1,"SELECT T1.rowid from DistrictReplaces as T1 inner join Districts as T2 on T2.DistrictType = T1.CivUniqueDistrictType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2857. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "RequiredFeatures", "Features", 1,"SELECT T1.rowid from Features as T1 inner join District_RequiredFeatures as T2 on T2.FeatureType = T1.FeatureType inner join Districts as T3 on T3.DistrictType = T2.DistrictType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2858. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "StartingBuildingCollection", "StartingBuildings", 1,"SELECT T1.rowid from StartingBuildings as T1 inner join Districts as T2 on T2.DistrictType = T1.District where T2.rowid = ? ORDER BY T1.rowid ASC");
  2859. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "TradeRouteYieldChanges", "District_TradeRouteYields", 1,"SELECT T1.rowid from District_TradeRouteYields as T1 inner join Districts as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2860. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "TraitReference", "Traits", 0,"SELECT T1.rowid from Traits as T1 inner join Districts as T2 on T2.TraitType = T1.TraitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2861. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Districts", "ValidTerrains", "Terrains", 1,"SELECT T1.rowid from Terrains as T1 inner join District_ValidTerrains as T2 on T2.TerrainType = T1.TerrainType inner join Districts as T3 on T3.DistrictType = T2.DistrictType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2862. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("District_Adjacencies", "YieldChangeReference", "Adjacency_YieldChanges", 0,"SELECT T1.rowid from Adjacency_YieldChanges as T1 inner join District_Adjacencies as T2 on T2.YieldChangeId = T1.ID where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2863. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("District_CitizenGreatPersonPoints", "DistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join District_CitizenGreatPersonPoints as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2864. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("District_CitizenGreatPersonPoints", "GreatPersonClassReference", "GreatPersonClasses", 0,"SELECT T1.rowid from GreatPersonClasses as T1 inner join District_CitizenGreatPersonPoints as T2 on T2.GreatPersonClassType = T1.GreatPersonClassType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2865. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("District_CitizenYieldChanges", "DistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join District_CitizenYieldChanges as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2866. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("District_CitizenYieldChanges", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join District_CitizenYieldChanges as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2867. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("District_GreatPersonPoints", "DistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join District_GreatPersonPoints as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2868. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("District_GreatPersonPoints", "GreatPersonClassReference", "GreatPersonClasses", 0,"SELECT T1.rowid from GreatPersonClasses as T1 inner join District_GreatPersonPoints as T2 on T2.GreatPersonClassType = T1.GreatPersonClassType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2869. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("District_TradeRouteYields", "DistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join District_TradeRouteYields as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2870. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("District_TradeRouteYields", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join District_TradeRouteYields as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2871. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DistrictReplaces", "BaseDistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join DistrictReplaces as T2 on T2.ReplacesDistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2872. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("DistrictReplaces", "ReplacementDistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join DistrictReplaces as T2 on T2.CivUniqueDistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2873. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Eras", "BonusMinorStartingUnitCollection", "BonusMinorStartingUnits", 1,"SELECT T1.rowid from BonusMinorStartingUnits as T1 inner join Eras as T2 on T2.EraType = T1.Era where T2.rowid = ? ORDER BY T1.rowid ASC");
  2874. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Eras", "CivicCollectionReference", "Civics", 1,"SELECT T1.rowid from Civics as T1 inner join Eras as T2 on T2.EraType = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2875. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Eras", "MajorStartingUnitCollection", "MajorStartingUnits", 1,"SELECT T1.rowid from MajorStartingUnits as T1 inner join Eras as T2 on T2.EraType = T1.Era where T2.rowid = ? ORDER BY T1.rowid ASC");
  2876. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Eras", "StartingBuildingCollection", "StartingBuildings", 1,"SELECT T1.rowid from StartingBuildings as T1 inner join Eras as T2 on T2.EraType = T1.Era where T2.rowid = ? ORDER BY T1.rowid ASC");
  2877. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Eras", "StartingCivicBoostedCollection", "StartingBoostedCivics", 1,"SELECT T1.rowid from StartingBoostedCivics as T1 inner join Eras as T2 on T2.EraType = T1.Era where T2.rowid = ? ORDER BY T1.rowid ASC");
  2878. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Eras", "StartingCivicCollection", "StartingCivics", 1,"SELECT T1.rowid from StartingCivics as T1 inner join Eras as T2 on T2.EraType = T1.Era where T2.rowid = ? ORDER BY T1.rowid ASC");
  2879. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Eras", "StartingEraCollection", "StartEras", 1,"SELECT T1.rowid from StartEras as T1 inner join Eras as T2 on T2.EraType = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2880. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Eras", "StartingGovernmentCollection", "StartingGovernments", 1,"SELECT T1.rowid from StartingGovernments as T1 inner join Eras as T2 on T2.EraType = T1.Era where T2.rowid = ? ORDER BY T1.rowid ASC");
  2881. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Eras", "StartingTechnologyBoostedCollection", "StartingBoostedTechnologies", 1,"SELECT T1.rowid from StartingBoostedTechnologies as T1 inner join Eras as T2 on T2.EraType = T1.Era where T2.rowid = ? ORDER BY T1.rowid ASC");
  2882. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Eras", "TechCollectionReference", "Technologies", 1,"SELECT T1.rowid from Technologies as T1 inner join Eras as T2 on T2.EraType = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2883. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("ExcludedAdjacencies", "TraitReference", "Traits", 0,"SELECT T1.rowid from Traits as T1 inner join ExcludedAdjacencies as T2 on T2.TraitType = T1.TraitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2884. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("ExcludedDistricts", "TraitReference", "Traits", 0,"SELECT T1.rowid from Traits as T1 inner join ExcludedDistricts as T2 on T2.TraitType = T1.TraitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2885. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("ExcludedGreatPersonClasses", "TraitReference", "Traits", 0,"SELECT T1.rowid from Traits as T1 inner join ExcludedGreatPersonClasses as T2 on T2.TraitType = T1.TraitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2886. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("ExclusiveAgendas", "AgendaOneReference", "Agendas", 0,"SELECT T1.rowid from Agendas as T1 inner join ExclusiveAgendas as T2 on T2.AgendaOne = T1.AgendaType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2887. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("ExclusiveAgendas", "AgendaTwoReference", "Agendas", 0,"SELECT T1.rowid from Agendas as T1 inner join ExclusiveAgendas as T2 on T2.AgendaTwo = T1.AgendaType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2888. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Features", "AddCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Features as T2 on T2.AddCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2889. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Features", "AdjacentFeatures", "Features", 1,"SELECT T1.rowid from Features as T1 inner join Feature_AdjacentFeatures as T2 on T2.FeatureTypeAdjacent = T1.FeatureType inner join Features as T3 on T3.FeatureType = T2.FeatureType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2890. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Features", "AdjacentTerrains", "Terrains", 1,"SELECT T1.rowid from Terrains as T1 inner join Feature_AdjacentTerrains as T2 on T2.TerrainType = T1.TerrainType inner join Features as T3 on T3.FeatureType = T2.FeatureType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2891. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Features", "AdjacentYields", "Feature_AdjacentYields", 1,"SELECT T1.rowid from Feature_AdjacentYields as T1 inner join Features as T2 on T2.FeatureType = T1.FeatureType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2892. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Features", "FeatureRemoveCollection", "Feature_Removes", 1,"SELECT T1.rowid from Feature_Removes as T1 inner join Features as T2 on T2.FeatureType = T1.FeatureType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2893. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Features", "NotAdjacentTerrains", "Terrains", 1,"SELECT T1.rowid from Terrains as T1 inner join Feature_NotAdjacentTerrains as T2 on T2.TerrainType = T1.TerrainType inner join Features as T3 on T3.FeatureType = T2.FeatureType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2894. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Features", "NotNearFeatures", "Features", 1,"SELECT T1.rowid from Features as T1 inner join Feature_NotNearFeatures as T2 on T2.FeatureTypeAvoid = T1.FeatureType inner join Features as T3 on T3.FeatureType = T2.FeatureType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2895. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Features", "RemoveTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Features as T2 on T2.RemoveTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2896. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Features", "StartBiasFeatureCollection", "StartBiasFeatures", 1,"SELECT T1.rowid from StartBiasFeatures as T1 inner join Features as T2 on T2.FeatureType = T1.FeatureType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2897. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Features", "ValidTerrains", "Terrains", 1,"SELECT T1.rowid from Terrains as T1 inner join Feature_ValidTerrains as T2 on T2.TerrainType = T1.TerrainType inner join Features as T3 on T3.FeatureType = T2.FeatureType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2898. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Features", "YieldChanges", "Feature_YieldChanges", 1,"SELECT T1.rowid from Feature_YieldChanges as T1 inner join Features as T2 on T2.FeatureType = T1.FeatureType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2899. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Feature_AdjacentYields", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Feature_AdjacentYields as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2900. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Feature_Removes", "FeatureReference", "Features", 0,"SELECT T1.rowid from Features as T1 inner join Feature_Removes as T2 on T2.FeatureType = T1.FeatureType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2901. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Feature_Removes", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Feature_Removes as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2902. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Feature_YieldChanges", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Feature_YieldChanges as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2903. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GameSpeeds", "GameSpeedTurnCollection", "GameSpeed_Turns", 1,"SELECT T1.rowid from GameSpeed_Turns as T1 inner join GameSpeeds as T2 on T2.GameSpeedType = T1.GameSpeedType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2904. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GameSpeed_Turns", "GameSpeedReference", "GameSpeeds", 0,"SELECT T1.rowid from GameSpeeds as T1 inner join GameSpeed_Turns as T2 on T2.GameSpeedType = T1.GameSpeedType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2905. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GoodyHuts", "ImprovementReference", "Improvements", 0,"SELECT T1.rowid from Improvements as T1 inner join GoodyHuts as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2906. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GoodyHuts", "SubTypeGoodyHutCollection", "GoodyHutSubTypes", 1,"SELECT T1.rowid from GoodyHutSubTypes as T1 inner join GoodyHuts as T2 on T2.GoodyHutType = T1.GoodyHut where T2.rowid = ? ORDER BY T1.rowid ASC");
  2907. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Governments", "GovernmentSlotsReference", "Government_SlotCounts", 1,"SELECT T1.rowid from Government_SlotCounts as T1 inner join Governments as T2 on T2.GovernmentType = T1.GovernmentType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2908. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Governments", "PolicyToUnlockReference", "Policies", 0,"SELECT T1.rowid from Policies as T1 inner join Governments as T2 on T2.PolicyToUnlock = T1.PolicyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2909. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Governments", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Governments as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2910. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Governments", "StartingGovernmentCollection", "StartingGovernments", 1,"SELECT T1.rowid from StartingGovernments as T1 inner join Governments as T2 on T2.GovernmentType = T1.Government where T2.rowid = ? ORDER BY T1.rowid ASC");
  2911. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Government_SlotCounts", "GovernmentReference", "Governments", 0,"SELECT T1.rowid from Governments as T1 inner join Government_SlotCounts as T2 on T2.GovernmentType = T1.GovernmentType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2912. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Government_SlotCounts", "SlotReference", "GovernmentSlots", 0,"SELECT T1.rowid from GovernmentSlots as T1 inner join Government_SlotCounts as T2 on T2.GovernmentSlotType = T1.GovernmentSlotType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2913. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GovTiers", "GovernmentsOfTier", "Governments", 1,"SELECT T1.rowid from Governments as T1 inner join GovTiers as T2 on T2.TierType = T1.Tier where T2.rowid = ? ORDER BY T1.rowid ASC");
  2914. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatPersonClasses", "DistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join GreatPersonClasses as T2 on T2.DistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2915. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatPersonClasses", "ExclusionReference", "ExcludedGreatPersonClasses", 1,"SELECT T1.rowid from ExcludedGreatPersonClasses as T1 inner join GreatPersonClasses as T2 on T2.GreatPersonClassType = T1.GreatPersonClassType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2916. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatPersonClasses", "PseudoYieldReference", "PseudoYields", 0,"SELECT T1.rowid from PseudoYields as T1 inner join GreatPersonClasses as T2 on T2.PseudoYieldType = T1.PseudoYieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2917. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatPersonClasses", "UnitReference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join GreatPersonClasses as T2 on T2.UnitType = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2918. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatPersonIndividuals", "ActionRequiresCityGreatWorkObjectTypeReference", "GreatWorkObjectTypes", 0,"SELECT T1.rowid from GreatWorkObjectTypes as T1 inner join GreatPersonIndividuals as T2 on T2.ActionRequiresCityGreatWorkObjectType = T1.GreatWorkObjectType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2919. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatPersonIndividuals", "ActionRequiresCompletedDistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join GreatPersonIndividuals as T2 on T2.ActionRequiresCompletedDistrictType = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2920. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatPersonIndividuals", "ActionRequiresMissingBuildingTypeReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join GreatPersonIndividuals as T2 on T2.ActionRequiresMissingBuildingType = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2921. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatPersonIndividuals", "ActionRequiresOnOrAdjacentFeatureTypeReference", "Features", 0,"SELECT T1.rowid from Features as T1 inner join GreatPersonIndividuals as T2 on T2.ActionRequiresOnOrAdjacentFeatureType = T1.FeatureType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2922. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatPersonIndividuals", "EraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join GreatPersonIndividuals as T2 on T2.EraType = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2923. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatPersonIndividuals", "GreatPersonClassReference", "GreatPersonClasses", 0,"SELECT T1.rowid from GreatPersonClasses as T1 inner join GreatPersonIndividuals as T2 on T2.GreatPersonClassType = T1.GreatPersonClassType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2924. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatPersonIndividuals", "GreatWorkCollection", "GreatWorks", 1,"SELECT T1.rowid from GreatWorks as T1 inner join GreatPersonIndividuals as T2 on T2.GreatPersonIndividualType = T1.GreatPersonIndividualType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2925. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatWorks", "BuildingCollection", "Buildings", 1,"SELECT T1.rowid from Buildings as T1 inner join Building_GreatWorks as T2 on T2.BuildingType = T1.BuildingType inner join GreatWorkSlotTypes as T3 on T3.GreatWorkSlotType = T2.GreatWorkSlotType inner join GreatWork_ValidSubTypes as T4 on T4.GreatWorkSlotType = T3.GreatWorkSlotType inner join GreatWorkObjectTypes as T5 on T5.GreatWorkObjectType = T4.GreatWorkObjectType inner join GreatWorks as T6 on T6.GreatWorkObjectType = T5.GreatWorkObjectType where T6.rowid = ? ORDER BY T1.rowid ASC");
  2926. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatWorks", "EraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join GreatWorks as T2 on T2.EraType = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2927. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatWorks", "GreatPersonReference", "GreatPersonIndividuals", 0,"SELECT T1.rowid from GreatPersonIndividuals as T1 inner join GreatWorks as T2 on T2.GreatPersonIndividualType = T1.GreatPersonIndividualType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2928. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatWorks", "GreatWorkObjectReference", "GreatWorkObjectTypes", 0,"SELECT T1.rowid from GreatWorkObjectTypes as T1 inner join GreatWorks as T2 on T2.GreatWorkObjectType = T1.GreatWorkObjectType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2929. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatWorks", "YieldChanges", "GreatWork_YieldChanges", 1,"SELECT T1.rowid from GreatWork_YieldChanges as T1 inner join GreatWorks as T2 on T2.GreatWorkType = T1.GreatWorkType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2930. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatWork_ValidSubTypes", "ObjectReference", "GreatWorkObjectTypes", 0,"SELECT T1.rowid from GreatWorkObjectTypes as T1 inner join GreatWork_ValidSubTypes as T2 on T2.GreatWorkObjectType = T1.GreatWorkObjectType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2931. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatWork_ValidSubTypes", "SlotReference", "GreatWorkSlotTypes", 0,"SELECT T1.rowid from GreatWorkSlotTypes as T1 inner join GreatWork_ValidSubTypes as T2 on T2.GreatWorkSlotType = T1.GreatWorkSlotType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2932. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatWork_YieldChanges", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join GreatWork_YieldChanges as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2933. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatWorkObjectTypes", "BuildingCollection", "Buildings", 1,"SELECT T1.rowid from Buildings as T1 inner join Building_GreatWorks as T2 on T2.BuildingType = T1.BuildingType inner join GreatWorkSlotTypes as T3 on T3.GreatWorkSlotType = T2.GreatWorkSlotType inner join GreatWork_ValidSubTypes as T4 on T4.GreatWorkSlotType = T3.GreatWorkSlotType inner join GreatWorkObjectTypes as T5 on T5.GreatWorkObjectType = T4.GreatWorkObjectType where T5.rowid = ? ORDER BY T1.rowid ASC");
  2934. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("GreatWorkObjectTypes", "PseudoYieldReference", "PseudoYields", 0,"SELECT T1.rowid from PseudoYields as T1 inner join GreatWorkObjectTypes as T2 on T2.PseudoYieldType = T1.PseudoYieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2935. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "AdjacencyYieldChanges", "Improvement_Adjacencies", 1,"SELECT T1.rowid from Improvement_Adjacencies as T1 inner join Improvements as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2936. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "BonusYieldChanges", "Improvement_BonusYieldChanges", 1,"SELECT T1.rowid from Improvement_BonusYieldChanges as T1 inner join Improvements as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2937. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Improvements as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2938. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Improvements as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2939. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "TourismCollection", "Improvement_Tourism", 1,"SELECT T1.rowid from Improvement_Tourism as T1 inner join Improvements as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2940. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "TraitReference", "Traits", 0,"SELECT T1.rowid from Traits as T1 inner join Improvements as T2 on T2.TraitType = T1.TraitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2941. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "ValidAdjacentResources", "Improvement_ValidAdjacentResources", 1,"SELECT T1.rowid from Improvement_ValidAdjacentResources as T1 inner join Improvements as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2942. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "ValidAdjacentTerrains", "Improvement_ValidAdjacentTerrains", 1,"SELECT T1.rowid from Improvement_ValidAdjacentTerrains as T1 inner join Improvements as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2943. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "ValidBuildUnits", "Improvement_ValidBuildUnits", 1,"SELECT T1.rowid from Improvement_ValidBuildUnits as T1 inner join Improvements as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2944. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "ValidFeatures", "Features", 1,"SELECT T1.rowid from Features as T1 inner join Improvement_ValidFeatures as T2 on T2.FeatureType = T1.FeatureType inner join Improvements as T3 on T3.ImprovementType = T2.ImprovementType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2945. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "ValidResources", "Improvement_ValidResources", 1,"SELECT T1.rowid from Improvement_ValidResources as T1 inner join Improvements as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2946. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "ValidTerrains", "Terrains", 1,"SELECT T1.rowid from Terrains as T1 inner join Improvement_ValidTerrains as T2 on T2.TerrainType = T1.TerrainType inner join Improvements as T3 on T3.ImprovementType = T2.ImprovementType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2947. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "YieldChanges", "Improvement_YieldChanges", 1,"SELECT T1.rowid from Improvement_YieldChanges as T1 inner join Improvements as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2948. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvements", "YieldFromAppealReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Improvements as T2 on T2.YieldFromAppeal = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2949. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_Adjacencies", "YieldChangeReference", "Adjacency_YieldChanges", 0,"SELECT T1.rowid from Adjacency_YieldChanges as T1 inner join Improvement_Adjacencies as T2 on T2.YieldChangeId = T1.ID where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2950. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_BonusYieldChanges", "ImprovementReference", "Improvements", 0,"SELECT T1.rowid from Improvements as T1 inner join Improvement_BonusYieldChanges as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2951. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_BonusYieldChanges", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Improvement_BonusYieldChanges as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2952. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_BonusYieldChanges", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Improvement_BonusYieldChanges as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2953. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_BonusYieldChanges", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Improvement_BonusYieldChanges as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2954. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_Tourism", "ImprovementReference", "Improvements", 0,"SELECT T1.rowid from Improvements as T1 inner join Improvement_Tourism as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2955. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_Tourism", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Improvement_Tourism as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2956. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_Tourism", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Improvement_Tourism as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2957. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_ValidAdjacentResources", "ImprovementReference", "Improvements", 0,"SELECT T1.rowid from Improvements as T1 inner join Improvement_ValidAdjacentResources as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2958. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_ValidAdjacentResources", "ResourceReference", "Resources", 0,"SELECT T1.rowid from Resources as T1 inner join Improvement_ValidAdjacentResources as T2 on T2.ResourceType = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2959. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_ValidAdjacentTerrains", "ImprovementReference", "Improvements", 0,"SELECT T1.rowid from Improvements as T1 inner join Improvement_ValidAdjacentTerrains as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2960. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_ValidAdjacentTerrains", "TerrainReference", "Terrains", 0,"SELECT T1.rowid from Terrains as T1 inner join Improvement_ValidAdjacentTerrains as T2 on T2.TerrainType = T1.TerrainType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2961. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_ValidBuildUnits", "UnitReference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join Improvement_ValidBuildUnits as T2 on T2.UnitType = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2962. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_ValidFeatures", "FeatureReference", "Features", 0,"SELECT T1.rowid from Features as T1 inner join Improvement_ValidFeatures as T2 on T2.FeatureType = T1.FeatureType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2963. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_ValidResources", "ImprovementReference", "Improvements", 0,"SELECT T1.rowid from Improvements as T1 inner join Improvement_ValidResources as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2964. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_ValidResources", "ResourceReference", "Resources", 0,"SELECT T1.rowid from Resources as T1 inner join Improvement_ValidResources as T2 on T2.ResourceType = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2965. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_ValidTerrains", "ImprovementReference", "Improvements", 0,"SELECT T1.rowid from Improvements as T1 inner join Improvement_ValidTerrains as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2966. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_ValidTerrains", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Improvement_ValidTerrains as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2967. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_ValidTerrains", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Improvement_ValidTerrains as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2968. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_ValidTerrains", "TerrainReference", "Terrains", 0,"SELECT T1.rowid from Terrains as T1 inner join Improvement_ValidTerrains as T2 on T2.TerrainType = T1.TerrainType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2969. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_YieldChanges", "ImprovementReference", "Improvements", 0,"SELECT T1.rowid from Improvements as T1 inner join Improvement_YieldChanges as T2 on T2.ImprovementType = T1.ImprovementType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2970. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Improvement_YieldChanges", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Improvement_YieldChanges as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2971. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Leaders", "CivilizationCollection", "Civilizations", 1,"SELECT T1.rowid from Civilizations as T1 inner join CivilizationLeaders as T2 on T2.CivilizationType = T1.CivilizationType inner join Leaders as T3 on T3.LeaderType = T2.LeaderType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2972. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Leaders", "InheritLeaderReference", "Leaders", 0,"SELECT T1.rowid from Leaders as T1 inner join Leaders as T2 on T2.InheritFrom = T1.LeaderType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2973. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Leaders", "PreferredAgendaCollection", "RandomAgendas", 1,"SELECT T1.rowid from RandomAgendas as T1 inner join AgendaPreferredLeaders as T2 on T2.AgendaType = T1.AgendaType inner join Leaders as T3 on T3.LeaderType = T2.LeaderType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2974. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Leaders", "ReligionCollection", "Religions", 1,"SELECT T1.rowid from Religions as T1 inner join FavoredReligions as T2 on T2.ReligionType = T1.ReligionType inner join Leaders as T3 on T3.LeaderType = T2.LeaderType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2975. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Leaders", "TraitCollection", "Traits", 1,"SELECT T1.rowid from Traits as T1 inner join LeaderTraits as T2 on T2.TraitType = T1.TraitType inner join Leaders as T3 on T3.LeaderType = T2.LeaderType where T3.rowid = ? ORDER BY T1.rowid ASC");
  2976. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("MajorStartingUnits", "DifficultyReference", "Difficulties", 0,"SELECT T1.rowid from Difficulties as T1 inner join MajorStartingUnits as T2 on T2.MinDifficulty = T1.DifficultyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2977. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("MajorStartingUnits", "EraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join MajorStartingUnits as T2 on T2.Era = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2978. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("MajorStartingUnits", "UnitReference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join MajorStartingUnits as T2 on T2.Unit = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2979. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Maps", "GreatPersonClassesReference", "Map_GreatPersonClasses", 1,"SELECT T1.rowid from Map_GreatPersonClasses as T1 inner join Maps as T2 on T2.MapSizeType = T1.MapSizeType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2980. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Map_GreatPersonClasses", "GreatPersonClassReference", "GreatPersonClasses", 0,"SELECT T1.rowid from GreatPersonClasses as T1 inner join Map_GreatPersonClasses as T2 on T2.GreatPersonClassType = T1.GreatPersonClassType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2981. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Map_GreatPersonClasses", "MapSizeReference", "Maps", 0,"SELECT T1.rowid from Maps as T1 inner join Map_GreatPersonClasses as T2 on T2.MapSizeType = T1.MapSizeType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2982. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("MutuallyExclusiveBuildings", "BuildingReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join MutuallyExclusiveBuildings as T2 on T2.Building = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2983. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("MutuallyExclusiveBuildings", "MutuallyExclusiveBuildingReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join MutuallyExclusiveBuildings as T2 on T2.MutuallyExclusiveBuilding = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2984. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("ObsoletePolicies", "ObsoletePolicyReference", "Policies", 0,"SELECT T1.rowid from Policies as T1 inner join ObsoletePolicies as T2 on T2.ObsoletePolicy = T1.PolicyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2985. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("ObsoletePolicies", "PolicyReference", "Policies", 0,"SELECT T1.rowid from Policies as T1 inner join ObsoletePolicies as T2 on T2.PolicyType = T1.PolicyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2986. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("ObsoletePolicies", "RequiresAvailableGreatPersonClassReference", "GreatPersonClasses", 0,"SELECT T1.rowid from GreatPersonClasses as T1 inner join ObsoletePolicies as T2 on T2.RequiresAvailableGreatPersonClass = T1.GreatPersonClassType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2987. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Policies", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Policies as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2988. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Policies", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Policies as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2989. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Policies", "SlotReference", "GovernmentSlots", 0,"SELECT T1.rowid from GovernmentSlots as T1 inner join Policies as T2 on T2.GovernmentSlotType = T1.GovernmentSlotType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2990. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Projects", "AntecedantProjectCollectionReference", "ProjectPrereqs", 1,"SELECT T1.rowid from ProjectPrereqs as T1 inner join Projects as T2 on T2.ProjectType = T1.PrereqProjectType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2991. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Projects", "GreatPersonPointsReference", "Project_GreatPersonPoints", 1,"SELECT T1.rowid from Project_GreatPersonPoints as T1 inner join Projects as T2 on T2.ProjectType = T1.ProjectType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2992. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Projects", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Projects as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2993. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Projects", "PrereqDistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join Projects as T2 on T2.PrereqDistrict = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2994. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Projects", "PrereqProjectCollectionReference", "ProjectPrereqs", 1,"SELECT T1.rowid from ProjectPrereqs as T1 inner join Projects as T2 on T2.ProjectType = T1.ProjectType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2995. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Projects", "PrereqResourceReference", "Resources", 0,"SELECT T1.rowid from Resources as T1 inner join Projects as T2 on T2.PrereqResource = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2996. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Projects", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Projects as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2997. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Projects", "VisualBuildingReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join Projects as T2 on T2.VisualBuildingType = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  2998. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Projects", "YieldConversionsCollectionReference", "Project_YieldConversions", 1,"SELECT T1.rowid from Project_YieldConversions as T1 inner join Projects as T2 on T2.ProjectType = T1.ProjectType where T2.rowid = ? ORDER BY T1.rowid ASC");
  2999. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Project_GreatPersonPoints", "GreatPersonClassReference", "GreatPersonClasses", 0,"SELECT T1.rowid from GreatPersonClasses as T1 inner join Project_GreatPersonPoints as T2 on T2.GreatPersonClassType = T1.GreatPersonClassType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3000. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Project_GreatPersonPoints", "ProjectReference", "Projects", 0,"SELECT T1.rowid from Projects as T1 inner join Project_GreatPersonPoints as T2 on T2.ProjectType = T1.ProjectType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3001. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Project_YieldConversions", "ProjectReference", "Projects", 0,"SELECT T1.rowid from Projects as T1 inner join Project_YieldConversions as T2 on T2.ProjectType = T1.ProjectType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3002. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Project_YieldConversions", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Project_YieldConversions as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3003. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("ProjectPrereqs", "PrereqProjectReference", "Projects", 0,"SELECT T1.rowid from Projects as T1 inner join ProjectPrereqs as T2 on T2.PrereqProjectType = T1.ProjectType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3004. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("ProjectPrereqs", "ProjectReference", "Projects", 0,"SELECT T1.rowid from Projects as T1 inner join ProjectPrereqs as T2 on T2.ProjectType = T1.ProjectType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3005. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("RandomAgendas", "AgendaReference", "Agendas", 0,"SELECT T1.rowid from Agendas as T1 inner join RandomAgendas as T2 on T2.AgendaType = T1.AgendaType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3006. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("RandomAgendas", "LeaderCollection", "Leaders", 1,"SELECT T1.rowid from Leaders as T1 inner join AgendaPreferredLeaders as T2 on T2.LeaderType = T1.LeaderType inner join RandomAgendas as T3 on T3.AgendaType = T2.AgendaType where T3.rowid = ? ORDER BY T1.rowid ASC");
  3007. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resources", "Harvests", "Resource_Harvests", 1,"SELECT T1.rowid from Resource_Harvests as T1 inner join Resources as T2 on T2.ResourceType = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3008. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resources", "ImprovementAdjacentResourceCollection", "Improvement_ValidAdjacentResources", 1,"SELECT T1.rowid from Improvement_ValidAdjacentResources as T1 inner join Resources as T2 on T2.ResourceType = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3009. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resources", "ImprovementCollection", "Improvement_ValidResources", 1,"SELECT T1.rowid from Improvement_ValidResources as T1 inner join Resources as T2 on T2.ResourceType = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3010. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resources", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Resources as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3011. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resources", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Resources as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3012. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resources", "ResourceProjectCollection", "Projects", 1,"SELECT T1.rowid from Projects as T1 inner join Resources as T2 on T2.ResourceType = T1.PrereqResource where T2.rowid = ? ORDER BY T1.rowid ASC");
  3013. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resources", "StartBiasResourceCollection", "StartBiasResources", 1,"SELECT T1.rowid from StartBiasResources as T1 inner join Resources as T2 on T2.ResourceType = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3014. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resources", "StrategicUnitCollection", "Units", 1,"SELECT T1.rowid from Units as T1 inner join Resources as T2 on T2.ResourceType = T1.StrategicResource where T2.rowid = ? ORDER BY T1.rowid ASC");
  3015. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resources", "TradeRouteYieldChanges", "Resource_TradeRouteYields", 1,"SELECT T1.rowid from Resource_TradeRouteYields as T1 inner join Resources as T2 on T2.ResourceType = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3016. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resources", "ValidTerrains", "Terrains", 1,"SELECT T1.rowid from Terrains as T1 inner join Resource_ValidTerrains as T2 on T2.TerrainType = T1.TerrainType inner join Resources as T3 on T3.ResourceType = T2.ResourceType where T3.rowid = ? ORDER BY T1.rowid ASC");
  3017. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resources", "YieldChangeCollection", "Resource_YieldChanges", 1,"SELECT T1.rowid from Resource_YieldChanges as T1 inner join Resources as T2 on T2.ResourceType = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3018. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resource_Harvests", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Resource_Harvests as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3019. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resource_Harvests", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Resource_Harvests as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3020. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resource_TradeRouteYields", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Resource_TradeRouteYields as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3021. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Resource_YieldChanges", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Resource_YieldChanges as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3022. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Routes", "PrereqEraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join Routes as T2 on T2.PrereqEra = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3023. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Routes", "ValidBuildUnits", "Route_ValidBuildUnits", 1,"SELECT T1.rowid from Route_ValidBuildUnits as T1 inner join Routes as T2 on T2.RouteType = T1.RouteType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3024. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Route_ValidBuildUnits", "RouteReference", "Routes", 0,"SELECT T1.rowid from Routes as T1 inner join Route_ValidBuildUnits as T2 on T2.RouteType = T1.RouteType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3025. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Route_ValidBuildUnits", "UnitReference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join Route_ValidBuildUnits as T2 on T2.UnitType = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3026. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("ScoringCategories", "ScoringLineItemCollection", "ScoringLineItems", 1,"SELECT T1.rowid from ScoringLineItems as T1 inner join ScoringCategories as T2 on T2.CategoryType = T1.Category where T2.rowid = ? ORDER BY T1.rowid ASC");
  3027. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("ScoringLineItems", "CategoryReference", "ScoringCategories", 0,"SELECT T1.rowid from ScoringCategories as T1 inner join ScoringLineItems as T2 on T2.Category = T1.CategoryType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3028. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartBiasFeatures", "CivilizationReference", "Civilizations", 0,"SELECT T1.rowid from Civilizations as T1 inner join StartBiasFeatures as T2 on T2.CivilizationType = T1.CivilizationType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3029. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartBiasFeatures", "FeatureReference", "Features", 0,"SELECT T1.rowid from Features as T1 inner join StartBiasFeatures as T2 on T2.FeatureType = T1.FeatureType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3030. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartBiasResources", "CivilizationReference", "Civilizations", 0,"SELECT T1.rowid from Civilizations as T1 inner join StartBiasResources as T2 on T2.CivilizationType = T1.CivilizationType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3031. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartBiasResources", "ResourceReference", "Resources", 0,"SELECT T1.rowid from Resources as T1 inner join StartBiasResources as T2 on T2.ResourceType = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3032. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartBiasRivers", "CivilizationReference", "Civilizations", 0,"SELECT T1.rowid from Civilizations as T1 inner join StartBiasRivers as T2 on T2.CivilizationType = T1.CivilizationType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3033. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartBiasTerrains", "CivilizationReference", "Civilizations", 0,"SELECT T1.rowid from Civilizations as T1 inner join StartBiasTerrains as T2 on T2.CivilizationType = T1.CivilizationType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3034. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartBiasTerrains", "TerrainReference", "Terrains", 0,"SELECT T1.rowid from Terrains as T1 inner join StartBiasTerrains as T2 on T2.TerrainType = T1.TerrainType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3035. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartEras", "EraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join StartEras as T2 on T2.EraType = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3036. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartingBoostedCivics", "CivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join StartingBoostedCivics as T2 on T2.Civic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3037. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartingBoostedCivics", "EraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join StartingBoostedCivics as T2 on T2.Era = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3038. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartingBoostedTechnologies", "EraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join StartingBoostedTechnologies as T2 on T2.Era = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3039. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartingBoostedTechnologies", "TechnologyReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join StartingBoostedTechnologies as T2 on T2.Technology = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3040. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartingBuildings", "BuildingReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join StartingBuildings as T2 on T2.Building = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3041. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartingBuildings", "DistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join StartingBuildings as T2 on T2.District = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3042. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartingBuildings", "EraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join StartingBuildings as T2 on T2.Era = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3043. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartingCivics", "CivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join StartingCivics as T2 on T2.Civic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3044. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartingCivics", "EraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join StartingCivics as T2 on T2.Era = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3045. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartingGovernments", "EraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join StartingGovernments as T2 on T2.Era = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3046. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StartingGovernments", "GovernmentReference", "Governments", 0,"SELECT T1.rowid from Governments as T1 inner join StartingGovernments as T2 on T2.Government = T1.GovernmentType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3047. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Strategies", "ConditionCollection", "StrategyConditions", 1,"SELECT T1.rowid from StrategyConditions as T1 inner join Strategies as T2 on T2.StrategyType = T1.StrategyType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3048. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Strategies", "PriorityCollection", "Strategy_Priorities", 1,"SELECT T1.rowid from Strategy_Priorities as T1 inner join Strategies as T2 on T2.StrategyType = T1.StrategyType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3049. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Strategies", "VictoryReference", "Victories", 0,"SELECT T1.rowid from Victories as T1 inner join Strategies as T2 on T2.VictoryType = T1.VictoryType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3050. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Strategies", "YieldCollection", "Strategy_YieldPriorities", 1,"SELECT T1.rowid from Strategy_YieldPriorities as T1 inner join Strategies as T2 on T2.StrategyType = T1.StrategyType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3051. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Strategy_YieldPriorities", "PseudoYieldReference", "PseudoYields", 0,"SELECT T1.rowid from PseudoYields as T1 inner join Strategy_YieldPriorities as T2 on T2.PseudoYieldType = T1.PseudoYieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3052. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Strategy_YieldPriorities", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Strategy_YieldPriorities as T2 on T2.YieldType = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3053. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("StrategyConditions", "StrategyReference", "Strategies", 0,"SELECT T1.rowid from Strategies as T1 inner join StrategyConditions as T2 on T2.StrategyType = T1.StrategyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3054. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "BoostCollectionReference", "Boosts", 1,"SELECT T1.rowid from Boosts as T1 inner join Technologies as T2 on T2.TechnologyType = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3055. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "BuildingCollectionReference", "Buildings", 1,"SELECT T1.rowid from Buildings as T1 inner join Technologies as T2 on T2.TechnologyType = T1.PrereqTech where T2.rowid = ? ORDER BY T1.rowid ASC");
  3056. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "DistrictCollectionReference", "Districts", 1,"SELECT T1.rowid from Districts as T1 inner join Technologies as T2 on T2.TechnologyType = T1.PrereqTech where T2.rowid = ? ORDER BY T1.rowid ASC");
  3057. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "EmbarkUnitReference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join Technologies as T2 on T2.EmbarkUnitType = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3058. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "EraReference", "Eras", 0,"SELECT T1.rowid from Eras as T1 inner join Technologies as T2 on T2.EraType = T1.EraType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3059. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "ImprovementCollection", "Improvements", 1,"SELECT T1.rowid from Improvements as T1 inner join Technologies as T2 on T2.TechnologyType = T1.PrereqTech where T2.rowid = ? ORDER BY T1.rowid ASC");
  3060. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "ImprovementTourismCollection", "Improvement_Tourism", 1,"SELECT T1.rowid from Improvement_Tourism as T1 inner join Technologies as T2 on T2.TechnologyType = T1.PrereqTech where T2.rowid = ? ORDER BY T1.rowid ASC");
  3061. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "MandatoryObsoleteTechCollection", "Units", 1,"SELECT T1.rowid from Units as T1 inner join Technologies as T2 on T2.TechnologyType = T1.MandatoryObsoleteTech where T2.rowid = ? ORDER BY T1.rowid ASC");
  3062. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "ObsoleteTechCollection", "Units", 1,"SELECT T1.rowid from Units as T1 inner join Technologies as T2 on T2.TechnologyType = T1.ObsoleteTech where T2.rowid = ? ORDER BY T1.rowid ASC");
  3063. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "PolicyCollection", "Policies", 1,"SELECT T1.rowid from Policies as T1 inner join Technologies as T2 on T2.TechnologyType = T1.PrereqTech where T2.rowid = ? ORDER BY T1.rowid ASC");
  3064. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "PrereqTechCollection", "TechnologyPrereqs", 1,"SELECT T1.rowid from TechnologyPrereqs as T1 inner join Technologies as T2 on T2.TechnologyType = T1.Technology where T2.rowid = ? ORDER BY T1.rowid ASC");
  3065. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "ProjectCollection", "Projects", 1,"SELECT T1.rowid from Projects as T1 inner join Technologies as T2 on T2.TechnologyType = T1.PrereqTech where T2.rowid = ? ORDER BY T1.rowid ASC");
  3066. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Technologies", "UnitCollection", "Units", 1,"SELECT T1.rowid from Units as T1 inner join Technologies as T2 on T2.TechnologyType = T1.PrereqTech where T2.rowid = ? ORDER BY T1.rowid ASC");
  3067. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("TechnologyPrereqs", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join TechnologyPrereqs as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3068. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("TechnologyPrereqs", "TechnologyReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join TechnologyPrereqs as T2 on T2.Technology = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3069. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Terrains", "ImprovementAdjacentTerrainCollection", "Improvement_ValidAdjacentTerrains", 1,"SELECT T1.rowid from Improvement_ValidAdjacentTerrains as T1 inner join Terrains as T2 on T2.TerrainType = T1.TerrainType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3070. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Terrains", "ImprovementCollection", "Improvement_ValidTerrains", 1,"SELECT T1.rowid from Improvement_ValidTerrains as T1 inner join Terrains as T2 on T2.TerrainType = T1.TerrainType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3071. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Terrains", "StartBiasTerrainCollection", "StartBiasTerrains", 1,"SELECT T1.rowid from StartBiasTerrains as T1 inner join Terrains as T2 on T2.TerrainType = T1.TerrainType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3072. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Terrains", "ValidResources", "Resources", 1,"SELECT T1.rowid from Resources as T1 inner join Resource_ValidTerrains as T2 on T2.ResourceType = T1.ResourceType inner join Terrains as T3 on T3.TerrainType = T2.TerrainType where T3.rowid = ? ORDER BY T1.rowid ASC");
  3073. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("TriggeredBehaviorTrees", "EventReference", "AiEvents", 0,"SELECT T1.rowid from AiEvents as T1 inner join TriggeredBehaviorTrees as T2 on T2.AIEvent = T1.EventType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3074. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("TriggeredBehaviorTrees", "TreeReference", "BehaviorTrees", 0,"SELECT T1.rowid from BehaviorTrees as T1 inner join TriggeredBehaviorTrees as T2 on T2.TreeName = T1.TreeName where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3075. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("TurnPhases", "ActiveSegment", "TurnSegments", 0,"SELECT T1.rowid from TurnSegments as T1 inner join TurnPhases as T2 on T2.ActiveSegmentType = T1.TurnSegmentType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3076. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("TurnPhases", "InactiveSegment", "TurnSegments", 0,"SELECT T1.rowid from TurnSegments as T1 inner join TurnPhases as T2 on T2.InactiveSegmentType = T1.TurnSegmentType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3077. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "AiInfoCollection", "UnitAiInfos", 1,"SELECT T1.rowid from UnitAiInfos as T1 inner join Units as T2 on T2.UnitType = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3078. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "BaseUnitCollection", "UnitUpgrades", 1,"SELECT T1.rowid from UnitUpgrades as T1 inner join Units as T2 on T2.UnitType = T1.UpgradeUnit where T2.rowid = ? ORDER BY T1.rowid ASC");
  3079. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "BonusMinorStartingUnitCollection", "BonusMinorStartingUnits", 1,"SELECT T1.rowid from BonusMinorStartingUnits as T1 inner join Units as T2 on T2.UnitType = T1.Unit where T2.rowid = ? ORDER BY T1.rowid ASC");
  3080. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "CaptureCollection", "UnitCaptures", 1,"SELECT T1.rowid from UnitCaptures as T1 inner join Units as T2 on T2.UnitType = T1.CapturedUnitType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3081. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "MajorStartingUnitCollection", "MajorStartingUnits", 1,"SELECT T1.rowid from MajorStartingUnits as T1 inner join Units as T2 on T2.UnitType = T1.Unit where T2.rowid = ? ORDER BY T1.rowid ASC");
  3082. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "MandatoryObsoleteCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Units as T2 on T2.MandatoryObsoleteCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3083. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "MandatoryObsoleteTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Units as T2 on T2.MandatoryObsoleteTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3084. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "ObsoleteCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Units as T2 on T2.ObsoleteCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3085. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "ObsoleteTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Units as T2 on T2.ObsoleteTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3086. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "PrereqBuildingCollection", "Buildings", 1,"SELECT T1.rowid from Buildings as T1 inner join Unit_BuildingPrereqs as T2 on T2.PrereqBuilding = T1.BuildingType inner join Units as T3 on T3.UnitType = T2.Unit where T3.rowid = ? ORDER BY T1.rowid ASC");
  3087. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join Units as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3088. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "PrereqDistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join Units as T2 on T2.PrereqDistrict = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3089. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join Units as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3090. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "PromotionClassReference", "UnitPromotionClasses", 0,"SELECT T1.rowid from UnitPromotionClasses as T1 inner join Units as T2 on T2.PromotionClass = T1.PromotionClassType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3091. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "PseudoYieldReference", "PseudoYields", 0,"SELECT T1.rowid from PseudoYields as T1 inner join Units as T2 on T2.PseudoYieldType = T1.PseudoYieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3092. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "ReplacedByCollection", "UnitReplaces", 1,"SELECT T1.rowid from UnitReplaces as T1 inner join Units as T2 on T2.UnitType = T1.ReplacesUnitType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3093. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "ReplacesCollection", "UnitReplaces", 1,"SELECT T1.rowid from UnitReplaces as T1 inner join Units as T2 on T2.UnitType = T1.CivUniqueUnitType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3094. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "StrategicResourceReference", "Resources", 0,"SELECT T1.rowid from Resources as T1 inner join Units as T2 on T2.StrategicResource = T1.ResourceType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3095. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "TraitReference", "Traits", 0,"SELECT T1.rowid from Traits as T1 inner join Units as T2 on T2.TraitType = T1.TraitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3096. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "UpgradeUnitCollection", "UnitUpgrades", 1,"SELECT T1.rowid from UnitUpgrades as T1 inner join Units as T2 on T2.UnitType = T1.Unit where T2.rowid = ? ORDER BY T1.rowid ASC");
  3097. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Units", "YieldReference", "Yields", 0,"SELECT T1.rowid from Yields as T1 inner join Units as T2 on T2.PurchaseYield = T1.YieldType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3098. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Unit_BuildingPrereqs", "PrereqBuildingReference", "Buildings", 0,"SELECT T1.rowid from Buildings as T1 inner join Unit_BuildingPrereqs as T2 on T2.PrereqBuilding = T1.BuildingType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3099. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("Unit_BuildingPrereqs", "UnitReference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join Unit_BuildingPrereqs as T2 on T2.Unit = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3100. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitAbilities", "UnitAbilityModifierCollection", "UnitAbilityModifiers", 1,"SELECT T1.rowid from UnitAbilityModifiers as T1 inner join UnitAbilities as T2 on T2.UnitAbilityType = T1.UnitAbilityType where T2.rowid = ? ORDER BY T1.rowid ASC");
  3101. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitAiInfos", "UnitAiTypeReference", "UnitAiTypes", 0,"SELECT T1.rowid from UnitAiTypes as T1 inner join UnitAiInfos as T2 on T2.AiType = T1.AiType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3102. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitCaptures", "BecomeUnitReference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join UnitCaptures as T2 on T2.BecomesUnitType = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3103. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitCommands", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join UnitCommands as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3104. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitCommands", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join UnitCommands as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3105. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitOperations", "PrereqCivicReference", "Civics", 0,"SELECT T1.rowid from Civics as T1 inner join UnitOperations as T2 on T2.PrereqCivic = T1.CivicType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3106. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitOperations", "PrereqTechReference", "Technologies", 0,"SELECT T1.rowid from Technologies as T1 inner join UnitOperations as T2 on T2.PrereqTech = T1.TechnologyType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3107. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitOperations", "TargetDistrictReference", "Districts", 0,"SELECT T1.rowid from Districts as T1 inner join UnitOperations as T2 on T2.TargetDistrict = T1.DistrictType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3108. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitPromotions", "PrereqUnitPromotionCollection", "UnitPromotionPrereqs", 1,"SELECT T1.rowid from UnitPromotionPrereqs as T1 inner join UnitPromotions as T2 on T2.UnitPromotionType = T1.UnitPromotion where T2.rowid = ? ORDER BY T1.rowid ASC");
  3109. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitPromotions", "PromotionClassReference", "UnitPromotionClasses", 0,"SELECT T1.rowid from UnitPromotionClasses as T1 inner join UnitPromotions as T2 on T2.PromotionClass = T1.PromotionClassType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3110. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitPromotionClasses", "PromotionCollection", "UnitPromotions", 1,"SELECT T1.rowid from UnitPromotions as T1 inner join UnitPromotionClasses as T2 on T2.PromotionClassType = T1.PromotionClass where T2.rowid = ? ORDER BY T1.rowid ASC");
  3111. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitPromotionClasses", "UnitCollection", "Units", 1,"SELECT T1.rowid from Units as T1 inner join UnitPromotionClasses as T2 on T2.PromotionClassType = T1.PromotionClass where T2.rowid = ? ORDER BY T1.rowid ASC");
  3112. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitPromotionPrereqs", "PrereqUnitPromotionReference", "UnitPromotions", 0,"SELECT T1.rowid from UnitPromotions as T1 inner join UnitPromotionPrereqs as T2 on T2.PrereqUnitPromotion = T1.UnitPromotionType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3113. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitPromotionPrereqs", "UnitPromotionReference", "UnitPromotions", 0,"SELECT T1.rowid from UnitPromotions as T1 inner join UnitPromotionPrereqs as T2 on T2.UnitPromotion = T1.UnitPromotionType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3114. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitReplaces", "BaseUnitReference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join UnitReplaces as T2 on T2.ReplacesUnitType = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3115. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitReplaces", "ReplacementUnitReference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join UnitReplaces as T2 on T2.CivUniqueUnitType = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3116. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitUpgrades", "UnitReference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join UnitUpgrades as T2 on T2.Unit = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
  3117. INSERT INTO NavigationProperties("BaseTable", "PropertyName", "TargetTable", "IsCollection", "Query") VALUES("UnitUpgrades", "UpgradeUnitReference", "Units", 0,"SELECT T1.rowid from Units as T1 inner join UnitUpgrades as T2 on T2.UpgradeUnit = T1.UnitType where T2.rowid = ? ORDER BY T1.rowid ASC LIMIT 1");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement