[BNW] I was hoping for some help with trying to create a religion mod

FussyBadger

Chieftain
Joined
Dec 5, 2019
Messages
6
After playing numerous large games and wanting more of out religions I decided to try my hand at making a mod myself. I've been lurking through here trying to figure out how to do this. Searching for modding tutorials, tips, tricks..etc but I just can't seem to get it to work. Is there a tutorial for making religious beliefs? I had a bunch of ideas but none of it was working so I decided to just try making a single pantheon belief. I still have yet to see it pop up. I was hoping someone could help me out and tell me where I went wrong. I've enabled logging so I have an idea but I don't know enough to see it.


Spoiler Database log with only IGE active :

[517538.750] columns StrategicViewType, TileType are not unique
[517538.750] While executing - 'INSERT INTO ArtDefine_StrategicView(StrategicViewType, TileType, Asset) VALUES(?,?,?)'
[517542.234] no such table: ContentPackage.LocalizedText
[517542.234] no such table: ContentPackage.LocalizedText
[517542.234] no such table: ContentPackage.LocalizedText
[517543.843] no such table: ContentPackage.LocalizedText
[517546.046] columns StrategicViewType, TileType are not unique
[517546.046] While executing - 'INSERT INTO ArtDefine_StrategicView(StrategicViewType, TileType, Asset) VALUES(?,?,?)'
[517547.265] no such table: ContentPackage.LocalizedText
[517547.265] no such table: ContentPackage.LocalizedText
[517547.265] no such table: ContentPackage.LocalizedText
[517553.953] Validating Foreign Key Constraints...
[517553.953] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517553.953] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517553.953] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517553.953] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517553.953] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517553.953] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517553.953] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517553.953] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517553.953] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517558.000] Failed Validation.
[517558.750]
-- SQLite Memory Statistics --
Memory Usage:
[Cur] [Max]
Malloc: 6342008 75904376
PageCache: 6 12
LookAside: 0 0
Scratch: 0 1
Static Buffer Overflows:
[TooLarge] [NoSpace]
PageCache: 5927040 62999496
Scratch: 0 0
Largest Allocations:
Malloc: 262144
PageCache: 1172
Scratch: 6640
Prepared Statements:
Current: 6
------------------------------
[517558.796] Validating Foreign Key Constraints...
[517558.812] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517558.812] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517558.812] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517558.812] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517558.812] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517558.812] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517558.812] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517558.812] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517558.812] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517562.781] Failed Validation.
[517563.578]
-- SQLite Memory Statistics --
Memory Usage:
[Cur] [Max]
Malloc: 6343184 75904376
PageCache: 6 12
LookAside: 0 0
Scratch: 0 1
Static Buffer Overflows:
[TooLarge] [NoSpace]
PageCache: 5928216 62999496
Scratch: 0 0
Largest Allocations:
Malloc: 262144
PageCache: 1172
Scratch: 6640
Prepared Statements:
Current: 6
------------------------------
[517616.843] no such table: Language_zh_CN
[517616.843] In Query - insert into Language_zh_CN('Tag', 'Text') values (?, ?);
[517616.843] In XMLSerializer while updating table Language_zh_CN from file Localization/IGE_ZH_CN.xml.
[517618.296] Validating Foreign Key Constraints...
[517618.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517618.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517618.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517618.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517618.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517618.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517618.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517618.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517618.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[517622.078] Failed Validation.
[517622.812]
-- SQLite Memory Statistics --
Memory Usage:
[Cur] [Max]
Malloc: 7312728 75904376
PageCache: 7 13
LookAside: 0 0
Scratch: 0 1
Static Buffer Overflows:
[TooLarge] [NoSpace]
PageCache: 6890184 62999496
Scratch: 0 0
Largest Allocations:
Malloc: 262144
PageCache: 1172
Scratch: 6640
Prepared Statements:
Current: 8
------------------------------
[517633.640] no such column: Type
[517633.640] In Query - select * from Natural_Wonder_Placement where Type = ? LIMIT 1



Spoiler Database with pantheon mod active :

[86056.140] columns StrategicViewType, TileType are not unique
[86056.140] While executing - 'INSERT INTO ArtDefine_StrategicView(StrategicViewType, TileType, Asset) VALUES(?,?,?)'
[86068.140] no such table: ContentPackage.LocalizedText
[86068.140] no such table: ContentPackage.LocalizedText
[86068.156] no such table: ContentPackage.LocalizedText
[86070.156] no such table: ContentPackage.LocalizedText
[86072.234] columns StrategicViewType, TileType are not unique
[86072.234] While executing - 'INSERT INTO ArtDefine_StrategicView(StrategicViewType, TileType, Asset) VALUES(?,?,?)'
[86073.406] no such table: ContentPackage.LocalizedText
[86073.406] no such table: ContentPackage.LocalizedText
[86073.406] no such table: ContentPackage.LocalizedText
[86083.296] Validating Foreign Key Constraints...
[86083.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86083.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86083.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86083.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86083.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86083.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86083.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86083.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86083.296] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86087.328] Failed Validation.
[86088.015]
-- SQLite Memory Statistics --
Memory Usage:
[Cur] [Max]
Malloc: 6331424 75893792
PageCache: 6 12
LookAside: 0 0
Scratch: 0 1
Static Buffer Overflows:
[TooLarge] [NoSpace]
PageCache: 5916456 62988912
Scratch: 0 0
Largest Allocations:
Malloc: 262144
PageCache: 1172
Scratch: 6640
Prepared Statements:
Current: 6
------------------------------
[86088.093] Validating Foreign Key Constraints...
[86088.093] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86088.093] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86088.093] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86088.093] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86088.093] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86088.093] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86088.093] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86088.093] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86088.093] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86091.875] Failed Validation.
[86092.562]
-- SQLite Memory Statistics --
Memory Usage:
[Cur] [Max]
Malloc: 6332600 75893792
PageCache: 6 12
LookAside: 0 0
Scratch: 0 1
Static Buffer Overflows:
[TooLarge] [NoSpace]
PageCache: 5917632 62988912
Scratch: 0 0
Largest Allocations:
Malloc: 262144
PageCache: 1172
Scratch: 6640
Prepared Statements:
Current: 6
------------------------------
[86135.546] no such table: Language_zh_CN
[86135.546] In Query - insert into Language_zh_CN('Tag', 'Text') values (?, ?);
[86135.546] In XMLSerializer while updating table Language_zh_CN from file Localization/IGE_ZH_CN.xml.
[86135.812] no such table: Belief
[86135.812] In Query - insert into Belief('Type', 'Description', 'ShortDescription', 'Pantheon') values (?, ?, ?, ?);
[86135.812] In XMLSerializer while updating table Belief from file HorseNomadPantheon.xml.
[86137.062] Validating Foreign Key Constraints...
[86137.062] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86137.062] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86137.062] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86137.062] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86137.062] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86137.062] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86137.062] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86137.062] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86137.062] Invalid Reference on ArtDefine_Landmarks.LayoutHandler - "SPECIAL" does not exist in ArtDefine_LandmarkTypes
[86141.078] Failed Validation.
[86141.796]
-- SQLite Memory Statistics --
Memory Usage:
[Cur] [Max]
Malloc: 7332656 75893792
PageCache: 7 13
LookAside: 0 0
Scratch: 0 1
Static Buffer Overflows:
[TooLarge] [NoSpace]
PageCache: 6883128 62988912
Scratch: 0 0
Largest Allocations:
Malloc: 262144
PageCache: 1172
Scratch: 6640
Prepared Statements:
Current: 12
------------------------------
[86150.781] no such column: Type
[86150.781] In Query - select * from Natural_Wonder_Placement where Type = ? LIMIT 1




Judging by what I've read this is where the error is?

Spoiler Error?? :

[86135.812] no such table: Belief
[86135.812] In Query - insert into Belief('Type', 'Description', 'ShortDescription', 'Pantheon') values (?, ?, ?, ?);
[86135.812] In XMLSerializer while updating table Belief from file HorseNomadPantheon.xml.
[86137.062] Validating Foreign Key Constraints...


I've looked at code of other mods I know work to try and see what's different from my own but I don't know enough to understand. The only thing I can guess from this is I input something wrong in the xml and it's not reading it as it should?


And this is the mod itself

Spoiler Code :

Code:
<?xml version="1.0" encoding="utf-8"?>
<!-- Created by ModBuddy on 12/3/2019 10:30:04 PM -->
<GameData>
    <Language_en_US>
        <Row Tag="TXT_KEY_BELIEF_HORSE_NOMADS">
            <Text>Horse provides +2 [ICON_CULTURE] Culture and +1 [ICON_PEACE] Faith</Text>
        </Row>
        <Row Tag="TXT_KEY_BELIEF_HORSE_NOMADS_SHORT">
            <Text>Horse Nomads</Text>
        </Row>
        <Row Tag="TXT_KEY_BELIEF_HORSE_NOMADS_PEDIA">
            <Text>Following horses becomes a way of life.</Text>
        </Row>
    </Language_en_US>
    <Belief>
        <Row>
            <Type>BELIEF_HORSE_NOMADS</Type>
            <Description>TXT_KEY_BELIEF_HORSE_NOMADS</Description>
            <ShortDescription>TXT_KEY_BELIEF_HORSE_NOMADS_SHORT</ShortDescription>
            <Pantheon>true</Pantheon>
        </Row>       
    </Belief>
    <Belief_ResourceYieldChange>
        <Row>
            <BeliefType>BELIEF_HORSE_NOMADS</BeliefType>
            <ResourceType>RESOURCE_HORSE</ResourceType>
            <YieldType>YIELD_CULTURE</YieldType>
            <Yield>2</Yield>
        </Row>
        <Row>
            <BeliefType>BELIEF_HORSE_NOMADS</BeliefType>
            <ResourceType>RESOURCE_HORSE</ResourceType>
            <YieldType>YIELD_FAITH</YieldType>
            <Yield>1</Yield>
        </Row>
    </Belief_ResourceYieldChange>
</GameData>



Any help is appreciated
 
There is no game-table called Belief. Which is what your database.log message is telling you. SQL databases are literal. The correct name of the game-table is Beliefs. The "s" at the end is required. The game's SQL database will not see a table-name called "Belief" and just assume you meant "Beliefs" and correct the mistake -- it will reject the unknown table-name, and the entire contents of the XML file where this error occurs.

There is also no game-table called Belief_ResourceYieldChange. Same mistake. The correct name of the game-table is Belief_ResourceYieldChanges
 
There is no game-table called Belief. Which is what your database.log message is telling you. SQL databases are literal. The correct name of the game-table is Beliefs. The "s" at the end is required. The game's SQL database will not see a table-name called "Belief" and just assume you meant "Beliefs" and correct the mistake -- it will reject the unknown table-name, and the entire contents of the XML file where this error occurs.

There is also no game-table called Belief_ResourceYieldChange. Same mistake. The correct name of the game-table is Belief_ResourceYieldChanges


Are the tables generally plural when creating them?

Thank you for helping me out. I appreciate it.
 
Many are but many are not. You have to look at the game's base xml files to see the definitions of the game-tables or else you have to download an SQL database viewer program so you can open up the Civ5DebugDatabase.db file located at
Code:
~~\Documents\My Games\Sid Meier's Civilization 5\cache
In order to inspect the contents of the game's database and to see the correct spellings of the game-tables and all their respective columns.

For Beliefs in BNW, the definitions of the related game-tables is at the top of file "CIV5Beliefs.xml" in location
Code:
C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization V\Assets\DLC\Expansion2\Gameplay\XML\Religions
These are the definitions of the game-tables related to Beliefs:
Spoiler :
Code:
	<!-- Table definition -->
	<Table name="Beliefs">
		<Column name="ID" type="integer" primarykey="true" autoincrement="true"/>
		<Column name="Type" type="text" notnull="true" unique="true"/>
		<Column name="Description" type="text"/>
		<Column name="ShortDescription" type="text"/>
		<Column name="Pantheon" type="boolean" default="false"/>
		<Column name="Founder" type="boolean" default="false"/>
		<Column name="Follower" type="boolean" default="false"/>
		<Column name="Enhancer" type="boolean" default="false"/>
		<Column name="Reformation" type="boolean" default="false"/>
		<Column name="RequiresPeace" type="boolean" default="false"/>
		<Column name="ConvertsBarbarians" type="boolean" default="false"/>
		<Column name="FaithPurchaseAllGreatPeople" type="boolean" default="false"/>
		<Column name="MinPopulation" type="integer" default="0"/>
		<Column name="MinFollowers" type="integer" default="0"/>
		<Column name="MaxDistance" type="integer" default="0"/>
		<Column name="CityGrowthModifier" type="integer" default="0"/>
		<Column name="FaithFromKills" type="integer" default="0"/>
		<Column name="FaithFromDyingUnits" type="integer" default="0"/>
		<Column name="RiverHappiness" type="integer" default="0"/>
		<Column name="HappinessPerCity" type="integer" default="0"/>
		<Column name="HappinessPerFollowingCity" type="float" default="0.0"/>
		<Column name="HappinessPerXPeacefulForeignFollowers" type="integer" default="0"/>
		<Column name="PlotCultureCostModifier" type="integer" default="0"/>
		<Column name="CityRangeStrikeModifier" type="integer" default="0"/>
		<Column name="CombatModifierEnemyCities" type="integer" default="0"/>
		<Column name="CombatModifierFriendlyCities" type="integer" default="0"/>
		<Column name="FriendlyHealChange" type="integer" default="0"/>
		<Column name="CityStateFriendshipModifier" type="integer" default="0"/>
		<Column name="LandBarbarianConversionPercent" type="integer" default="0"/>
		<Column name="WonderProductionModifier" type="integer" default="0"/>
		<Column name="PlayerHappiness" type="integer" default="0"/>
		<Column name="PlayerCultureModifier" type="integer" default="0"/>
		<Column name="GoldPerFollowingCity" type="integer" default="0"/>
		<Column name="GoldPerXFollowers" type="integer" default="0"/>
		<Column name="GoldPerFirstCityConversion" type="integer" default="0"/>
		<Column name="SciencePerOtherReligionFollower" type="integer" default="0"/>
		<Column name="SpreadDistanceModifier" type="integer" default="0"/>
		<Column name="SpreadStrengthModifier" type="integer" default="0"/>
		<Column name="ProphetStrengthModifier" type="integer" default="0"/>
		<Column name="ProphetCostModifier" type="integer" default="0"/>
		<Column name="MissionaryStrengthModifier" type="integer" default="0"/>
		<Column name="MissionaryCostModifier" type="integer" default="0"/>
		<Column name="FriendlyCityStateSpreadModifier" type="integer" default="0"/>
		<Column name="GreatPersonExpendedFaith" type="integer" default="0"/>
		<Column name="CityStateMinimumInfluence" type="integer" default="0"/>
		<Column name="CityStateInfluenceModifier" type="integer" default="0"/>
		<Column name="OtherReligionPressureErosion" type="integer" default="0"/>
		<Column name="SpyPressure" type="integer" default="0"/>
		<Column name="InquisitorPressureRetention" type="integer" default="0"/>
		<Column name="FaithBuildingTourism" type="integer" default="0"/>
		<Column name="ObsoleteEra" type="text" reference="Eras(Type)" default="NULL"/>
		<Column name="ResourceRevealed" type="text" reference="Resources(Type)" default="NULL"/>
		<Column name="SpreadModifierDoublingTech" type="text" reference="Technologies(Type)" default="NULL"/>
	</Table>
	<Table name="Belief_BuildingClassYieldChanges">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="BuildingClassType" type="text" reference="BuildingClasses(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="YieldChange" type="integer" default="0"/>
	</Table>
	<Table name="Belief_BuildingClassHappiness">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="BuildingClassType" type="text" reference="BuildingClasses(Type)"/>
		<Column name="Happiness" type="integer"/>
	</Table>
	<Table name="Belief_BuildingClassTourism">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="BuildingClassType" type="text" reference="BuildingClasses(Type)"/>
		<Column name="Tourism" type="integer" default="0"/>
	</Table>
	<Table name="Belief_BuildingClassFaithPurchase">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="BuildingClassType" type="text" reference="BuildingClasses(Type)"/>
	</Table>
	<Table name="Belief_CityYieldChanges">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Yield" type="integer" default="0"/>
	</Table>
	<Table name="Belief_HolyCityYieldChanges">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Yield" type="integer" default="0"/>
	</Table>
	<Table name="Belief_EraFaithUnitPurchase">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="EraType" type="text" reference="Eras(Type)"/>
	</Table>
	<Table name="Belief_FeatureYieldChanges">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="FeatureType" type="text" reference="Features(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Yield" type="integer" default="0"/>
	</Table>
	<Table name="Belief_ImprovementYieldChanges">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="ImprovementType" type="text" reference="Improvements(Type)"/>
		<Column name="YieldType" type="text" reference="Yields(Type)"/>
		<Column name="Yield" type="integer"/>
	</Table>
	<Table name="Belief_MaxYieldModifierPerFollower">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Max" type="integer" default="0"/>
	</Table>
	<Table name="Belief_ResourceQuantityModifiers">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="ResourceType" type="text" reference="Resources(Type)"/>
		<Column name="ResourceQuantityModifier" type="integer" default="0"/>
	</Table>
	<Table name="Belief_ResourceHappiness">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="ResourceType" type="text" reference="Resources(Type)"/>
		<Column name="HappinessChange" type="integer" default="0"/>
	</Table>
	<Table name="Belief_ResourceYieldChanges">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="ResourceType" type="text" reference="Resources(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Yield" type="integer" default="0"/>
	</Table>
	<Table name="Belief_TerrainYieldChanges">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="TerrainType" type="text" reference="Terrains(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Yield" type="integer" default="0"/>
	</Table>
	<Table name="Belief_YieldChangeAnySpecialist">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Yield" type="integer" default="0"/>
	</Table>
	<Table name="Belief_YieldChangePerForeignCity">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Yield" type="integer" default="0"/>
	</Table>
	<Table name="Belief_YieldChangePerXForeignFollowers">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="ForeignFollowers" type="integer" default="0"/>
	</Table>
	<Table name="Belief_YieldChangeTradeRoute">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Yield" type="integer" default="0"/>
	</Table>
	<Table name="Belief_YieldChangeNaturalWonder">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Yield" type="integer" default="0"/>
	</Table>
	<Table name="Belief_YieldChangeWorldWonder">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Yield" type="integer" default="0"/>
	</Table>
	<Table name="Belief_YieldModifierNaturalWonder">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Yield" type="integer" default="0"/>
	</Table>
The definition of table "Belief_ResourceYieldChanges" within this chunk of code:
Code:
	<Table name="Belief_ResourceYieldChanges">
		<Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
		<Column name="ResourceType" type="text" reference="Resources(Type)"/>
		<Column name="YieldType" type="integer" reference="Yields(Type)"/>
		<Column name="Yield" type="integer" default="0"/>
	</Table>
  • This tells us the name of the table with its correct spelling
    Code:
    <Table name="Belief_ResourceYieldChanges">
  • This tells us there is a column within this table called "BeliefType" and that all data provided for this column must specify a valid entry for a "Type" registered within table "Beliefs"
    Code:
    <Column name="BeliefType" type="text" reference="Beliefs(Type)"/>
  • This tells us there is a column within this table called "ResourceType" and that all data provided for this column must specify a valid entry for a "Type" registered within table "Resources"
    Code:
    <Column name="ResourceType" type="text" reference="Resources(Type)"/>
  • This tells us there is a column within this table called "YieldType" and that all data provided for this column must specify a valid entry for a "Type" registered within table "Yields"
    Code:
    <Column name="YieldType" type="integer" reference="Yields(Type)"/>
    • type="integer" in this column-definition is actually a whoops by Firaxis because the way the game actually works is that this must be text rather than an integer (ie, YIELD_FOOD, YIELD_PRODUCTION, etc.)
  • This tells us there is a column within this table called "Yield" and that all data provided for this column must be an integer value. It also specifies that when nothing is provided for this column when a new Row is added to the table that a default value of "0" will automatically be entered into the game's database for that Row in the table.
    Code:
    <Column name="Yield" type="integer" default="0""/>
----------------------------------------------------------------------------

Firaxis could just as well have defined the same table as
Code:
	<Table name="Cheeseburger_ToppingsYieldMaking">
		<Column name="CheeseburgerType" type="text" reference="Beliefs(Type)"/>
		<Column name="ToppingsType" type="text" reference="Resources(Type)"/>
		<Column name="YieldMakingType" type="integer" reference="Yields(Type)"/>
		<Column name="Making" type="integer" default="0"/>
	</Table>
But that would not have made any sense to anyone attempting to make a mod, let alone people within the Firaxis organization trying later on to make sense of the game's xml files. The actual column-names and table-names are only important in that we have to use what Firaxis defined when they created the game, and in order to know this we must either inspect the actual game-files or the contents of the Debug Database file I referred you to up-comment.
 
Top Bottom