My mod won't work.

Lenin1870

Chieftain
Joined
Mar 16, 2013
Messages
50
Greetings. I'm making Soviet Domination mod and testing it. It replaces Russian Civ to Soviet Civ, and adds many buildings and units to Soviet Civ. This is what I want to do. But oddly Russian Civ isn't substituted to Soviet Civ and did not add new units and buildings. Now I use Vox Populi so it may be a problem. But considered American Domination will working well, I'll not understand this circumstance. Please help me.
Moderator Action: Moved to Community Patch Project subforum. Good luck with getting it working. leif
 

Attachments

  • Soviet Domination (v 1).zip
    3.7 MB · Views: 65
  • Logs.zip
    151 KB · Views: 79
Last edited by a moderator:
Greetings. I'm making Soviet Domination mod and testing it. It replaces Russian Civ to Soviet Civ, and adds many buildings and units to Soviet Civ. This is what I want to do. But oddly Russian Civ isn't substituted to Soviet Civ and did not add new units and buildings. Now I use Vox Populi so it may be a problem. But considered American Domination will working well, I'll not understand this circumstance. Please help me.
Moderator Action: Moved to Community Patch Project subforum. Good luck with getting it working. leif
I see tons of errors in database.log and xml.log. Maybe @pineappledan knows why.

For Vox Populi compatible civilization discussion:
https://forums.civfanatics.com/threads/vox-populi-compatibility-discussion.635371/#post-15194318
 
Last edited:
  1. No file that has this setting
    Code:
    <File md5="2D55C6541A5FE9B977D0BDDF723D560F" import="1">LUA/Soviet_Domination.lua</File>
    Should ever have this as well
    Code:
      <EntryPoints>
        <EntryPoint type="InGameUIAddin" file="LUA/Soviet_Domination.lua">
          <Name>Soviet_Domination.lua</Name>
          <Description>Soviet_Domination.lua</Description>
        </EntryPoint>
      </EntryPoints>
    It is one or the other, but never both. See whoward69's what ModBuddy setting for what file types tutorial
  2. I have yet to see where you have defined this Building-Class
    Code:
    <BuildingClass>BUILDINGCLASS_CONGRESS_CPSU</BuildingClass>
    The game will instant CTD for this once you have corrected the fatal syntax errors within the file "SD_CogressCPSU.xml"
  3. There is no such <ArtDefineTag> as "THE_CONGRESS_CPSU"
  4. These are fatal syntax errors and are causing the game to completely ignore anything within the file
    Code:
    	<Civilization_BuildingClassOverrides>
    		<Row>
    			<CivilizationType>CIVILIZATION_BARBARIAN</CivilizationType>
    			<BuildingClassType>BUILDINGCLASS_CONGRESS_CPSU</BuildingClassType>
    			<BuildingType>BUILDING_CONGRESS_CPSU</BuildingType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_MINOR</CivilizationType>
    			<BuildingClassType>BUILDINGCLASS_CONGRESS_CPSU</BuildingClassType>
    			<BuildingType>BUILDING_CONGRESS_CPSU</BuildingType>
    		</Row>
    	<Language_en_US>
    • You are not closing table <Civilization_BuildingClassOverrides> before you open table <Language_en_US>
    • While not a fatal syntax error in and of itself you are stating that Barbarians and Minor Civilizations (ie, City-States) can construct the building
  5. You need to re-visit how you are using table <Building_SpecialistYieldChanges>
    Spoiler because this is how the table works :

    The "<Building_SpecialistYieldChanges>" table is used to change the yields that CITIZEN-SPECIALISTS normally Yield. These are the "specialists" that fit into the "specialist slots" for buildings such as the Workshop and the University.

    This table is a global effects table. Any entry in this table will affect Specialists throughout a player's empire, and should be limited to National and World wonders.


    "BuildingType"
    Specifies the building that will affect CITIZEN-SPECIALIST yields​
    "SpecialistType"
    Specifies the type of CITIZEN-SPECIALIST that will be affected.​
    "YieldType"
    Specifies the Type of Yield to be added to what a citizen-specialist generates.​
    "Yield"
    Specifies the amount of the yield change that will occur.​
    You must pick ONLY ONE of the following TYPES of SPECIALISTS for each entry in the table:
    SPECIALIST_CITIZEN *
    SPECIALIST_SCIENTIST
    SPECIALIST_MERCHANT
    SPECIALIST_ENGINEER
    SPECIALIST_WRITER
    SPECIALIST_ARTIST
    SPECIALIST_MUSICIAN
    • "SPECIALIST_CITIZEN" is the XML designation for unemployed citizens. No yield-changes from this table affect unemployed citizens. They are hard-coded in the game's dll/exe code to only ever give +1 Production to the city.
    Yield Types that work with this table are:
    YIELD_GOLD
    YIELD_PRODUCTION
    YIELD_SCIENCE
    YIELD_FOOD​
    Yield Types that DO NOT work with this table are:
    YIELD_CULTURE
    YIELD_FAITH

    It may appear that Culture and Faith work with this table. Mousing over a specialist-type that has been enhanced with Culture or Faith under this table will show the change in yields. However, neither the city yields box nor the empire-level "yields" reflect any change to Specialist Culture or Faith yields. In order for a yield to have any effect on the game, the changes in yields must "make it" to the city yields box.​
  6. The correct designation is
    Code:
    <ArtDefineTag>COLESSEUM</ArtDefineTag>
    not
    Code:
    <ArtDefineTag>COLOSSEUM</ArtDefineTag>
    Firaxis has had this mis-spelling in the game art defines since day one.
  7. This designates 1% of one yield per population in the city
    Code:
      <Building_YieldChangesPerPop>
    	  <Row>
    		  <BuildingType>BUILDING_SOVIET_COLOSSEUM</BuildingType>
    		  <YieldType>YIELD_PRODUCTION</YieldType>
    		  <Yield>1</Yield>
    	  </Row>
      </Building_YieldChangesPerPop>
    So a city with 10 population would get an increase of 0.1 Production per turn.
  8. In your palace definition this will probably be a problem
    Code:
    <GreatWorkCount>2</GreatWorkCount>
    Unless you are also using the Dynamic Culture View mod, the game's Culture View panel is hardcoded to a crazy degree and only expects a Palace-class builsding to have one work of art slot. What this usually results in is that the game will auto-place a work in one or both of these slots but you will never then be aable to shift them anywhere else.
  9. This does not belong in the file where you define your custom version of the Palace
    Code:
    	<Building_TechAndPrereqs>
    		<Row>
    			<BuildingType>BUILDING_SOVIET_FACTORY</BuildingType>
    			<TechType>TECH_STEEL</TechType>
    		</Row>
    	</Building_TechAndPrereqs>
  10. This
    Code:
    <IconAtlas>SOVIET_COLOR_ATLAS</IconAtlas>
    <PortraitIndex>6</PortraitIndex>
    Does not match to this
    Code:
    <Atlas>SOVIET_PALACE_ICON_ATLAS</Atlas>
    Although the referenced atlas is defined within file "SovietIconAtlas.xml"

    There is however a larger problem in that these files are not part of your mod
    Code:
    	<IconTextureAtlases>
    		<Row>
    			<Atlas>SOVIET_PALACE_ICON_ATLAS</Atlas>
    			<IconSize>256</IconSize>
    			<Filename>ART/TheWhiteHouse256.dds</Filename>
    			<IconsPerRow>1</IconsPerRow>
    			<IconsPerColumn>1</IconsPerColumn>
    		</Row>
    		<Row>
    			<Atlas>SOVIET_PALACE_ICON_ATLAS</Atlas>
    			<IconSize>128</IconSize>
    			<Filename>ART/TheWhiteHouse128.dds</Filename>
    			<IconsPerRow>1</IconsPerRow>
    			<IconsPerColumn>1</IconsPerColumn>
    		</Row>
    		<Row>
    			<Atlas>SOVIET_PALACE_ICON_ATLAS</Atlas>
    			<IconSize>64</IconSize>
    			<Filename>ART/TheWhiteHouse64.dds</Filename>
    			<IconsPerRow>1</IconsPerRow>
    			<IconsPerColumn>1</IconsPerColumn>
    		</Row>
    		<Row>
    			<Atlas>SOVIET_PALACE_ICON_ATLAS</Atlas>
    			<IconSize>45</IconSize>
    			<Filename>ART/TheWhiteHouse45.dds</Filename>
    			<IconsPerRow>1</IconsPerRow>
    			<IconsPerColumn>1</IconsPerColumn>
    		</Row>
    	</IconTextureAtlases>
  11. Table Language_en_US will almost certainly not display cyrillic characters correctly if at all
  12. You do realize will make the building give a direct +50 Science and Production, right ?
    Code:
      <Building_YieldChanges>
    	<Row>
    	  <BuildingType>BUILDING_SOVIET_UNIVERSITY</BuildingType>
    	  <YieldType>YIELD_SCIENCE</YieldType>
    	  <Yield>50</Yield>
    	</Row>
        <Row>
    	  <BuildingType>BUILDING_SOVIET_UNIVERSITY</BuildingType>
    	  <YieldType>YIELD_PRODUCTION</YieldType>
    	  <Yield>50</Yield>
    	</Row>
      </Building_YieldChanges>
    Erm, well, I guess since all the other buildings have this sort of number attached to them take this item as a moot point.
  13. File "SD_RedSquare" has no extension to it. The game will not do anything with this file other than perhaps CTD whwen attempting to use for an UpdateDatabase type of action. Since you aren't doing anything with this file in the modinfo file this should not cause a problem but you may get an undefined building reference error in database.log
  14. Don't see this anywhere within the code of your Barracks building
    Give a promotion 'Armed Force' for all units.
    This isn't really a coding issue as much as a text issue and having that in the description will not affect successful running of the mod one way or the other.
  15. These are not valid for table "Building_YieldModifiers". The game will simply ignore them
    Code:
    		<Row>
    			<BuildingType>BUILDING_SOVIET_STATUE</BuildingType>
    			<YieldType>YIELD_CULTURE</YieldType>
    			<Yield>750</Yield>
    		</Row>
    		<Row>
    			<BuildingType>BUILDING_SOVIET_STATUE</BuildingType>
    			<YieldType>YIELD_FAITH</YieldType>
    			<Yield>750</Yield>
    		</Row>
    CP mod or Willaim Howard's VMC DLL mod would be required.
  16. This is already included in the game's base files
    Code:
      <Civilization_FreeBuildingClasses>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <BuildingClassType>BUILDINGCLASS_PALACE</BuildingClassType>
        </Row>
      </Civilization_FreeBuildingClasses>
    You can eliminate this entire bit of code.
  17. This will cause issues because you are adding a second Barracks-Class building as a "Unique" for the same civilization:
    Code:
      <Civilization_BuildingClassOverrides>
          <Row>
              <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
              <BuildingClassType>BUILDINGCLASS_BARRACKS</BuildingClassType>
              <BuildingType>BUILDING_SOVIET_BARRACKS</BuildingType>
          </Row>
          .....
  18. Similar issues with this
    Code:
      <Civilization_FreeTechs>
    		<Row>
    			<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
    			<TechType>TECH_AGRICULTURE</TechType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
    			<TechType>TECH_POTTERY</TechType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
    			<TechType>TECH_ANIMAL_HUSBANDRY</TechType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
    			<TechType>TECH_ARCHERY</TechType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
    			<TechType>TECH_MINING</TechType>
    		</Row>
      </Civilization_FreeTechs>
    You should alter to
    Code:
      <Civilization_FreeTechs>
    	  <Delete CivilizationType="CIVILIZATION_RUSSIA"/>
    		<Row>
    			<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
    			<TechType>TECH_AGRICULTURE</TechType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
    			<TechType>TECH_POTTERY</TechType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
    			<TechType>TECH_ANIMAL_HUSBANDRY</TechType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
    			<TechType>TECH_ARCHERY</TechType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
    			<TechType>TECH_MINING</TechType>
    		</Row>
      </Civilization_FreeTechs>
  19. As also here you will have issues
    Code:
      <Civilization_Religions>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <ReligionType>RELIGION_ORTHODOXY</ReligionType>
        </Row>
      </Civilization_Religions>
    The game already has this data so you can eliminate this bit of code.
  20. Again, the game already has this data, so you can eliminate it from your mod
    Code:
      <Civilization_SpyNames>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_0</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_1</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_2</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_3</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_4</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_5</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_6</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_7</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_8</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_9</SpyName>
        </Row>
      </Civilization_SpyNames>
  21. And you don't need this entry in this table
    Code:
      <Civilization_UnitClassOverrides>
          <Row>
              <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
              <UnitClassType>UNITCLASS_CAVALRY</UnitClassType>
              <UnitType>UNIT_RUSSIAN_COSSACK</UnitType>
          </Row>
  22. Pulled from the base game files:
    Code:
    	<Civilization_Start_Region_Priority>
    		<Row>
    			<CivilizationType>CIVILIZATION_ARABIA</CivilizationType>
    			<RegionType>REGION_DESERT</RegionType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_AZTEC</CivilizationType>
    			<RegionType>REGION_JUNGLE</RegionType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_INDIA</CivilizationType>
    			<RegionType>REGION_GRASS</RegionType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_IROQUOIS</CivilizationType>
    			<RegionType>REGION_FOREST</RegionType>
    		</Row>
    		<Row>
    			<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
    			<RegionType>REGION_TUNDRA</RegionType>
    		</Row>
    	</Civilization_Start_Region_Priority>
    So you do not need
    Code:
      <Civilization_Start_Region_Priority>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <RegionType>REGION_TUNDRA</RegionType>
        </Row>
      </Civilization_Start_Region_Priority>
  23. These will also probably cause problems because the game already probably has all or most of these Text Keys defined (I did not check)
    Code:
      <Language_en_US>
        <Row Tag="TXT_KEY_CIV_RUSSIA_DESC">
          <Text>Union of Soviet Socialist Republics</Text>
        </Row>
        <Row Tag="TXT_KEY_CIV5_RUSSIA_FACTOID_HEADING">
          <Text>Soviet Factoid</Text>
        </Row>
        <Row Tag="TXT_KEY_CIV5_RUSSIA_FACTOID_TEXT">
        .......
    Repeats of something the game has like this cause the game to reject the entire contents of the XML file where the repeat occurs. This is not really a Civ5 thing, it is a behavior of all SQL databases: they reject as a general rule data they already have.
  24. You definitely need to either eliminate entirely or use Update instead of Row syntax for all these attempts to make entries into table <Language_en_US> for the entire contents of the <Language_en_US> table within file "SD_Civilization.xml" anywhere where the game will already have that TXT_KEY defined.
  25. You may have troubles with this as well but I cannot remember whether the game uses these same exact designations for color-types
    Code:
      <PlayerColors>
        <Row>
          <Type>PLAYERCOLOR_RUSSIA</Type>
          <PrimaryColor>COLOR_PLAYER_RUSSIA_ICON</PrimaryColor>
          <SecondaryColor>COLOR_PLAYER_RUSSIA_BACKGROUND</SecondaryColor>
          <TextColor>COLOR_PLAYER_WHITE_TEXT</TextColor>
        </Row>
      </PlayerColors>
      <Colors>
        <Row>
          <Type>COLOR_PLAYER_RUSSIA_ICON</Type>
          <Red>0.0</Red>
          <Green>0.0</Green>
          <Blue>0.0</Blue>
          <Alpha>1.0</Alpha>
        </Row>
      </Colors>
      <Colors>
        <Row>
          <Type>COLOR_PLAYER_RUSSIA_BACKGROUND</Type>
          <Red>0.737</Red>
          <Green>0.0</Green>
          <Blue>0.0</Blue>
          <Alpha>1.0</Alpha>
        </Row>
      </Colors>
  26. You have fatal syntax here
    Code:
      <Traits>
        <Row>
    	  <Update>
    		  <Set Description="TXT_KEY_TRAIT_FOR_THE_SOVIET_POWER"/>
    		  <Where Type="TRAIT_STRATEGIC_RICHES"/>
    	  </Update>
    	  <Update>
    		  <Set ShortDescription="TXT_KEY_TRAIT_FOR_THE_SOVIET_POWER_SHORT"/>
    		  <Where Type="TRAIT_STRATEGIC_RICHES"/>
    	  </Update>
    	  <Update>
    		  <Set GoldenAgeCombatModifier="75"/>
    		  <Where Type="TRAIT_STRATEGIC_RICHES"/>
    	  </Update>
    	  <Update>
    		  <Set ExtraFoundedCityTerritoryClaimRange="16"/>
    		  <Where Type="TRAIT_STRATEGIC_RICHES"/>
    	  </Update>
      </Traits>
    "<Row>" in this case is just dangling and empty, which will cause the game to reject the entire contents of the file. The syntax error can be fixed and the code can be simplified as follows:
    Code:
      <Traits>
    	  <Update>
    		  <Where Type="TRAIT_STRATEGIC_RICHES"/>
    		  <Set Description="TXT_KEY_TRAIT_FOR_THE_SOVIET_POWER" ShortDescription="TXT_KEY_TRAIT_FOR_THE_SOVIET_POWER_SHORT" GoldenAgeCombatModifier="75" ExtraFoundedCityTerritoryClaimRange="16"/>
    	  </Update>
      </Traits>
  27. This already exists
    Code:
    	<Trait_YieldChangesStrategicResources>
    		<Row>
    			<TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
    			<YieldType>YIELD_PRODUCTION</YieldType>
    			<Yield>1</Yield>
    		</Row>
    	</Trait_YieldChangesStrategicResources>
    So the game will not properly implement a second statement of the same TraitType and YieldType
  28. Similar issues because these also already exist
    Code:
    	<Trait_ResourceQuantityModifiers>
    		<Row>
    			<TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
    			<ResourceType>RESOURCE_HORSE</ResourceType>
    			<ResourceQuantityModifier>100</ResourceQuantityModifier>
    		</Row>
    		<Row>
    			<TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
    			<ResourceType>RESOURCE_IRON</ResourceType>
    			<ResourceQuantityModifier>100</ResourceQuantityModifier>
    		</Row>
    		<Row>
    			<TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
    			<ResourceType>RESOURCE_URANIUM</ResourceType>
    			<ResourceQuantityModifier>100</ResourceQuantityModifier>
    		</Row>
    		<Row>
    			<TraitType>TRAIT_LAND_TRADE_GOLD</TraitType>
    			<ResourceType>RESOURCE_OIL</ResourceType>
    			<ResourceQuantityModifier>100</ResourceQuantityModifier>
    		</Row>
    	</Trait_ResourceQuantityModifiers>
  29. In both of the last two cases you need to either use Updates or else you need to do a "Delete" for TraitType="TRAIT_STRATEGIC_RICHES" before you give your desired values.
  30. "TXT_KEY_CITY_NAME_RUSSIA_0" will be registered within the game as belonging to CIVILIZATION_RUSSIA but along with all the others you are adding will be appended to the bottom of the list of Russian city-names.
I did not look into any of your unit files.
 
  1. No file that has this setting
    Code:
    <File md5="2D55C6541A5FE9B977D0BDDF723D560F" import="1">LUA/Soviet_Domination.lua</File>
    Should ever have this as well
    Code:
      <EntryPoints>
        <EntryPoint type="InGameUIAddin" file="LUA/Soviet_Domination.lua">
          <Name>Soviet_Domination.lua</Name>
          <Description>Soviet_Domination.lua</Description>
        </EntryPoint>
      </EntryPoints>
    It is one or the other, but never both. See whoward69's what ModBuddy setting for what file types tutorial
  2. I have yet to see where you have defined this Building-Class
    Code:
    <BuildingClass>BUILDINGCLASS_CONGRESS_CPSU</BuildingClass>
    The game will instant CTD for this once you have corrected the fatal syntax errors within the file "SD_CogressCPSU.xml"
  3. There is no such <ArtDefineTag> as "THE_CONGRESS_CPSU"
  4. These are fatal syntax errors and are causing the game to completely ignore anything within the file
    Code:
        <Civilization_BuildingClassOverrides>
            <Row>
                <CivilizationType>CIVILIZATION_BARBARIAN</CivilizationType>
                <BuildingClassType>BUILDINGCLASS_CONGRESS_CPSU</BuildingClassType>
                <BuildingType>BUILDING_CONGRESS_CPSU</BuildingType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_MINOR</CivilizationType>
                <BuildingClassType>BUILDINGCLASS_CONGRESS_CPSU</BuildingClassType>
                <BuildingType>BUILDING_CONGRESS_CPSU</BuildingType>
            </Row>
        <Language_en_US>
    • You are not closing table <Civilization_BuildingClassOverrides> before you open table <Language_en_US>
    • While not a fatal syntax error in and of itself you are stating that Barbarians and Minor Civilizations (ie, City-States) can construct the building
  5. You need to re-visit how you are using table <Building_SpecialistYieldChanges>
    Spoiler because this is how the table works :

    The "<Building_SpecialistYieldChanges>" table is used to change the yields that CITIZEN-SPECIALISTS normally Yield. These are the "specialists" that fit into the "specialist slots" for buildings such as the Workshop and the University.

    This table is a global effects table. Any entry in this table will affect Specialists throughout a player's empire, and should be limited to National and World wonders.


    "BuildingType"
    Specifies the building that will affect CITIZEN-SPECIALIST yields​
    "SpecialistType"
    Specifies the type of CITIZEN-SPECIALIST that will be affected.​
    "YieldType"
    Specifies the Type of Yield to be added to what a citizen-specialist generates.​
    "Yield"
    Specifies the amount of the yield change that will occur.​
    You must pick ONLY ONE of the following TYPES of SPECIALISTS for each entry in the table:
    SPECIALIST_CITIZEN *
    SPECIALIST_SCIENTIST
    SPECIALIST_MERCHANT
    SPECIALIST_ENGINEER
    SPECIALIST_WRITER
    SPECIALIST_ARTIST
    SPECIALIST_MUSICIAN
    • "SPECIALIST_CITIZEN" is the XML designation for unemployed citizens. No yield-changes from this table affect unemployed citizens. They are hard-coded in the game's dll/exe code to only ever give +1 Production to the city.
    Yield Types that work with this table are:
    YIELD_GOLD
    YIELD_PRODUCTION
    YIELD_SCIENCE
    YIELD_FOOD​
    Yield Types that DO NOT work with this table are:
    YIELD_CULTURE
    YIELD_FAITH

    It may appear that Culture and Faith work with this table. Mousing over a specialist-type that has been enhanced with Culture or Faith under this table will show the change in yields. However, neither the city yields box nor the empire-level "yields" reflect any change to Specialist Culture or Faith yields. In order for a yield to have any effect on the game, the changes in yields must "make it" to the city yields box.​
  6. The correct designation is
    Code:
    <ArtDefineTag>COLESSEUM</ArtDefineTag>
    not
    Code:
    <ArtDefineTag>COLOSSEUM</ArtDefineTag>
    Firaxis has had this mis-spelling in the game art defines since day one.
  7. This designates 1% of one yield per population in the city
    Code:
      <Building_YieldChangesPerPop>
          <Row>
              <BuildingType>BUILDING_SOVIET_COLOSSEUM</BuildingType>
              <YieldType>YIELD_PRODUCTION</YieldType>
              <Yield>1</Yield>
          </Row>
      </Building_YieldChangesPerPop>
    So a city with 10 population would get an increase of 0.1 Production per turn.
  8. In your palace definition this will probably be a problem
    Code:
    <GreatWorkCount>2</GreatWorkCount>
    Unless you are also using the Dynamic Culture View mod, the game's Culture View panel is hardcoded to a crazy degree and only expects a Palace-class builsding to have one work of art slot. What this usually results in is that the game will auto-place a work in one or both of these slots but you will never then be aable to shift them anywhere else.
  9. This does not belong in the file where you define your custom version of the Palace
    Code:
        <Building_TechAndPrereqs>
            <Row>
                <BuildingType>BUILDING_SOVIET_FACTORY</BuildingType>
                <TechType>TECH_STEEL</TechType>
            </Row>
        </Building_TechAndPrereqs>
  10. This
    Code:
    <IconAtlas>SOVIET_COLOR_ATLAS</IconAtlas>
    <PortraitIndex>6</PortraitIndex>
    Does not match to this
    Code:
    <Atlas>SOVIET_PALACE_ICON_ATLAS</Atlas>
    Although the referenced atlas is defined within file "SovietIconAtlas.xml"

    There is however a larger problem in that these files are not part of your mod
    Code:
        <IconTextureAtlases>
            <Row>
                <Atlas>SOVIET_PALACE_ICON_ATLAS</Atlas>
                <IconSize>256</IconSize>
                <Filename>ART/TheWhiteHouse256.dds</Filename>
                <IconsPerRow>1</IconsPerRow>
                <IconsPerColumn>1</IconsPerColumn>
            </Row>
            <Row>
                <Atlas>SOVIET_PALACE_ICON_ATLAS</Atlas>
                <IconSize>128</IconSize>
                <Filename>ART/TheWhiteHouse128.dds</Filename>
                <IconsPerRow>1</IconsPerRow>
                <IconsPerColumn>1</IconsPerColumn>
            </Row>
            <Row>
                <Atlas>SOVIET_PALACE_ICON_ATLAS</Atlas>
                <IconSize>64</IconSize>
                <Filename>ART/TheWhiteHouse64.dds</Filename>
                <IconsPerRow>1</IconsPerRow>
                <IconsPerColumn>1</IconsPerColumn>
            </Row>
            <Row>
                <Atlas>SOVIET_PALACE_ICON_ATLAS</Atlas>
                <IconSize>45</IconSize>
                <Filename>ART/TheWhiteHouse45.dds</Filename>
                <IconsPerRow>1</IconsPerRow>
                <IconsPerColumn>1</IconsPerColumn>
            </Row>
        </IconTextureAtlases>
  11. Table Language_en_US will almost certainly not display cyrillic characters correctly if at all
  12. You do realize will make the building give a direct +50 Science and Production, right ?
    Code:
      <Building_YieldChanges>
        <Row>
          <BuildingType>BUILDING_SOVIET_UNIVERSITY</BuildingType>
          <YieldType>YIELD_SCIENCE</YieldType>
          <Yield>50</Yield>
        </Row>
        <Row>
          <BuildingType>BUILDING_SOVIET_UNIVERSITY</BuildingType>
          <YieldType>YIELD_PRODUCTION</YieldType>
          <Yield>50</Yield>
        </Row>
      </Building_YieldChanges>
    Erm, well, I guess since all the other buildings have this sort of number attached to them take this item as a moot point.
  13. File "SD_RedSquare" has no extension to it. The game will not do anything with this file other than perhaps CTD whwen attempting to use for an UpdateDatabase type of action. Since you aren't doing anything with this file in the modinfo file this should not cause a problem but you may get an undefined building reference error in database.log
  14. Don't see this anywhere within the code of your Barracks buildingThis isn't really a coding issue as much as a text issue and having that in the description will not affect successful running of the mod one way or the other.
  15. These are not valid for table "Building_YieldModifiers". The game will simply ignore them
    Code:
            <Row>
                <BuildingType>BUILDING_SOVIET_STATUE</BuildingType>
                <YieldType>YIELD_CULTURE</YieldType>
                <Yield>750</Yield>
            </Row>
            <Row>
                <BuildingType>BUILDING_SOVIET_STATUE</BuildingType>
                <YieldType>YIELD_FAITH</YieldType>
                <Yield>750</Yield>
            </Row>
    CP mod or Willaim Howard's VMC DLL mod would be required.
  16. This is already included in the game's base files
    Code:
      <Civilization_FreeBuildingClasses>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <BuildingClassType>BUILDINGCLASS_PALACE</BuildingClassType>
        </Row>
      </Civilization_FreeBuildingClasses>
    You can eliminate this entire bit of code.
  17. This will cause issues because you are adding a second Barracks-Class building as a "Unique" for the same civilization:
    Code:
      <Civilization_BuildingClassOverrides>
          <Row>
              <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
              <BuildingClassType>BUILDINGCLASS_BARRACKS</BuildingClassType>
              <BuildingType>BUILDING_SOVIET_BARRACKS</BuildingType>
          </Row>
          .....
  18. Similar issues with this
    Code:
      <Civilization_FreeTechs>
            <Row>
                <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
                <TechType>TECH_AGRICULTURE</TechType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
                <TechType>TECH_POTTERY</TechType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
                <TechType>TECH_ANIMAL_HUSBANDRY</TechType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
                <TechType>TECH_ARCHERY</TechType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
                <TechType>TECH_MINING</TechType>
            </Row>
      </Civilization_FreeTechs>
    You should alter to
    Code:
      <Civilization_FreeTechs>
          <Delete CivilizationType="CIVILIZATION_RUSSIA"/>
            <Row>
                <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
                <TechType>TECH_AGRICULTURE</TechType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
                <TechType>TECH_POTTERY</TechType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
                <TechType>TECH_ANIMAL_HUSBANDRY</TechType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
                <TechType>TECH_ARCHERY</TechType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
                <TechType>TECH_MINING</TechType>
            </Row>
      </Civilization_FreeTechs>
  19. As also here you will have issues
    Code:
      <Civilization_Religions>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <ReligionType>RELIGION_ORTHODOXY</ReligionType>
        </Row>
      </Civilization_Religions>
    The game already has this data so you can eliminate this bit of code.
  20. Again, the game already has this data, so you can eliminate it from your mod
    Code:
      <Civilization_SpyNames>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_0</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_1</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_2</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_3</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_4</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_5</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_6</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_7</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_8</SpyName>
        </Row>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <SpyName>TXT_KEY_SPY_NAME_RUSSIA_9</SpyName>
        </Row>
      </Civilization_SpyNames>
  21. And you don't need this entry in this table
    Code:
      <Civilization_UnitClassOverrides>
          <Row>
              <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
              <UnitClassType>UNITCLASS_CAVALRY</UnitClassType>
              <UnitType>UNIT_RUSSIAN_COSSACK</UnitType>
          </Row>
  22. Pulled from the base game files:
    Code:
        <Civilization_Start_Region_Priority>
            <Row>
                <CivilizationType>CIVILIZATION_ARABIA</CivilizationType>
                <RegionType>REGION_DESERT</RegionType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_AZTEC</CivilizationType>
                <RegionType>REGION_JUNGLE</RegionType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_INDIA</CivilizationType>
                <RegionType>REGION_GRASS</RegionType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_IROQUOIS</CivilizationType>
                <RegionType>REGION_FOREST</RegionType>
            </Row>
            <Row>
                <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
                <RegionType>REGION_TUNDRA</RegionType>
            </Row>
        </Civilization_Start_Region_Priority>
    So you do not need
    Code:
      <Civilization_Start_Region_Priority>
        <Row>
          <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
          <RegionType>REGION_TUNDRA</RegionType>
        </Row>
      </Civilization_Start_Region_Priority>
  23. These will also probably cause problems because the game already probably has all or most of these Text Keys defined (I did not check)
    Code:
      <Language_en_US>
        <Row Tag="TXT_KEY_CIV_RUSSIA_DESC">
          <Text>Union of Soviet Socialist Republics</Text>
        </Row>
        <Row Tag="TXT_KEY_CIV5_RUSSIA_FACTOID_HEADING">
          <Text>Soviet Factoid</Text>
        </Row>
        <Row Tag="TXT_KEY_CIV5_RUSSIA_FACTOID_TEXT">
        .......
    Repeats of something the game has like this cause the game to reject the entire contents of the XML file where the repeat occurs. This is not really a Civ5 thing, it is a behavior of all SQL databases: they reject as a general rule data they already have.
  24. You definitely need to either eliminate entirely or use Update instead of Row syntax for all these attempts to make entries into table <Language_en_US> for the entire contents of the <Language_en_US> table within file "SD_Civilization.xml" anywhere where the game will already have that TXT_KEY defined.
  25. You may have troubles with this as well but I cannot remember whether the game uses these same exact designations for color-types
    Code:
      <PlayerColors>
        <Row>
          <Type>PLAYERCOLOR_RUSSIA</Type>
          <PrimaryColor>COLOR_PLAYER_RUSSIA_ICON</PrimaryColor>
          <SecondaryColor>COLOR_PLAYER_RUSSIA_BACKGROUND</SecondaryColor>
          <TextColor>COLOR_PLAYER_WHITE_TEXT</TextColor>
        </Row>
      </PlayerColors>
      <Colors>
        <Row>
          <Type>COLOR_PLAYER_RUSSIA_ICON</Type>
          <Red>0.0</Red>
          <Green>0.0</Green>
          <Blue>0.0</Blue>
          <Alpha>1.0</Alpha>
        </Row>
      </Colors>
      <Colors>
        <Row>
          <Type>COLOR_PLAYER_RUSSIA_BACKGROUND</Type>
          <Red>0.737</Red>
          <Green>0.0</Green>
          <Blue>0.0</Blue>
          <Alpha>1.0</Alpha>
        </Row>
      </Colors>
  26. You have fatal syntax here
    Code:
      <Traits>
        <Row>
          <Update>
              <Set Description="TXT_KEY_TRAIT_FOR_THE_SOVIET_POWER"/>
              <Where Type="TRAIT_STRATEGIC_RICHES"/>
          </Update>
          <Update>
              <Set ShortDescription="TXT_KEY_TRAIT_FOR_THE_SOVIET_POWER_SHORT"/>
              <Where Type="TRAIT_STRATEGIC_RICHES"/>
          </Update>
          <Update>
              <Set GoldenAgeCombatModifier="75"/>
              <Where Type="TRAIT_STRATEGIC_RICHES"/>
          </Update>
          <Update>
              <Set ExtraFoundedCityTerritoryClaimRange="16"/>
              <Where Type="TRAIT_STRATEGIC_RICHES"/>
          </Update>
      </Traits>
    "<Row>" in this case is just dangling and empty, which will cause the game to reject the entire contents of the file. The syntax error can be fixed and the code can be simplified as follows:
    Code:
      <Traits>
          <Update>
              <Where Type="TRAIT_STRATEGIC_RICHES"/>
              <Set Description="TXT_KEY_TRAIT_FOR_THE_SOVIET_POWER" ShortDescription="TXT_KEY_TRAIT_FOR_THE_SOVIET_POWER_SHORT" GoldenAgeCombatModifier="75" ExtraFoundedCityTerritoryClaimRange="16"/>
          </Update>
      </Traits>
  27. This already exists
    Code:
        <Trait_YieldChangesStrategicResources>
            <Row>
                <TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
                <YieldType>YIELD_PRODUCTION</YieldType>
                <Yield>1</Yield>
            </Row>
        </Trait_YieldChangesStrategicResources>
    So the game will not properly implement a second statement of the same TraitType and YieldType
  28. Similar issues because these also already exist
    Code:
        <Trait_ResourceQuantityModifiers>
            <Row>
                <TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
                <ResourceType>RESOURCE_HORSE</ResourceType>
                <ResourceQuantityModifier>100</ResourceQuantityModifier>
            </Row>
            <Row>
                <TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
                <ResourceType>RESOURCE_IRON</ResourceType>
                <ResourceQuantityModifier>100</ResourceQuantityModifier>
            </Row>
            <Row>
                <TraitType>TRAIT_STRATEGIC_RICHES</TraitType>
                <ResourceType>RESOURCE_URANIUM</ResourceType>
                <ResourceQuantityModifier>100</ResourceQuantityModifier>
            </Row>
            <Row>
                <TraitType>TRAIT_LAND_TRADE_GOLD</TraitType>
                <ResourceType>RESOURCE_OIL</ResourceType>
                <ResourceQuantityModifier>100</ResourceQuantityModifier>
            </Row>
        </Trait_ResourceQuantityModifiers>
  29. In both of the last two cases you need to either use Updates or else you need to do a "Delete" for TraitType="TRAIT_STRATEGIC_RICHES" before you give your desired values.
  30. "TXT_KEY_CITY_NAME_RUSSIA_0" will be registered within the game as belonging to CIVILIZATION_RUSSIA but along with all the others you are adding will be appended to the bottom of the list of Russian city-names.
I did not look into any of your unit files.

Thank you for your detailed answers! I almost fixed my mod issues because of you. But the mod has still a issue, so I have a question. Flag icon and alpha print out Russian double-headed eagle and I want to replace it with Hammer and Sickle. It generates when I set DawnOfManAudio is null. Something is wrong clearly. Could you possibly help me with this issue?
 

Attachments

  • Soviet Domination (v 1).zip
    5.4 MB · Views: 87
  • Soviet Domination (v 1).zip
    5.4 MB · Views: 75
  • Logs.zip
    142.4 KB · Views: 69
Top Bottom