Creating a unique Improvement

AMS97F1

Chieftain
Joined
Aug 18, 2016
Messages
14
Hello again,

So at the moment I'm trying to make a unique improvement, essentially a replacement for the Chateau for my civ. So far I've just changed yields, the name and description of the improvement.

But for some reason, it fails to show up in the game at all. Even with all techs enabled, workers can never build it.

What have I done wrong? How can it be fixed?

Here is the XML file if you want to look for yourself.
 

Attachments

  • CivVimprovement.txt
    5.3 KB · Views: 112
Every terrain improvement requires a Build definition, and workers must be allowed to perform the Build.

See all the stuff required here:
Spoiler :
Code:
<GameData>
	<Language_en_US>
		<Row Tag="TXT_KEY_CIV5_IMPROVEMENTS_AMERICAN_TERRACE_FARM_HELP">
			<Text>Only valid on Hill tiles: +2 [ICON_FOOD], +1 [ICON_GOLD], and +1 [ICON_CULTURE]. +1 [ICON_PRODUCTION] Production for every adjacent mountain tile. Only America Can Build American Terrace Farms</Text>
		</Row>
		<Row Tag="TXT_KEY_IMPROVEMENT_AMERICAN_TERRACE_FARM">
			<Text>American Terrace Farm</Text>
		</Row>
	</Language_en_US>

	<Improvements>
		<Row>
			<Type>IMPROVEMENT_AMERICAN_TERRACE_FARM</Type>
			<Description>TXT_KEY_IMPROVEMENT_AMERICAN_TERRACE_FARM</Description>
			<Civilopedia>TXT_KEY_CIV5_IMPROVEMENTS_TERRACE_FARM_TEXT</Civilopedia>
			<Help>TXT_KEY_CIV5_IMPROVEMENTS_AMERICAN_TERRACE_FARM_HELP</Help>
			<ArtDefineTag>ART_DEF_IMPROVEMENT_TERRACE_FARM</ArtDefineTag>
			<SpecificCivRequired>true</SpecificCivRequired>
			<CivilizationType>CIVILIZATION_AMERICA</CivilizationType>
			<HillsMakesValid>true</HillsMakesValid>
			<PillageGold>18</PillageGold>
			<PortraitIndex>0</PortraitIndex>
			<IconAtlas>DLC02_TERRAIN_ATLAS</IconAtlas>
		</Row>
	</Improvements>
	<Improvement_Yields>
		<Row>
			<ImprovementType>IMPROVEMENT_AMERICAN_TERRACE_FARM</ImprovementType>
			<YieldType>YIELD_FOOD</YieldType>
			<Yield>2</Yield>
		</Row>
		<Row>
			<ImprovementType>IMPROVEMENT_AMERICAN_TERRACE_FARM</ImprovementType>
			<YieldType>YIELD_GOLD</YieldType>
			<Yield>1</Yield>
		</Row>
		<Row>
			<ImprovementType>IMPROVEMENT_AMERICAN_TERRACE_FARM</ImprovementType>
			<YieldType>YIELD_CULTURE</YieldType>
			<Yield>1</Yield>
		</Row>
	</Improvement_Yields>
	<Improvement_AdjacentMountainYieldChanges>
		<Row>
			<ImprovementType>IMPROVEMENT_AMERICAN_TERRACE_FARM</ImprovementType>
			<YieldType>YIELD_PRODUCTION</YieldType>
			<Yield>1</Yield>
		</Row>
	</Improvement_AdjacentMountainYieldChanges>
	<Improvement_TechNoFreshWaterYieldChanges>
		<Row>
			<ImprovementType>IMPROVEMENT_AMERICAN_TERRACE_FARM</ImprovementType>
			<TechType>TECH_FERTILIZER</TechType>
			<YieldType>YIELD_FOOD</YieldType>
			<Yield>1</Yield>
		</Row>
	</Improvement_TechNoFreshWaterYieldChanges>
	<Improvement_TechFreshWaterYieldChanges>
		<Row>
			<ImprovementType>IMPROVEMENT_AMERICAN_TERRACE_FARM</ImprovementType>
			<TechType>TECH_CIVIL_SERVICE</TechType>
			<YieldType>YIELD_FOOD</YieldType>
			<Yield>1</Yield>
		</Row>
	</Improvement_TechFreshWaterYieldChanges>
	<Improvement_ValidTerrains>
		<Row>
			<ImprovementType>IMPROVEMENT_AMERICAN_TERRACE_FARM</ImprovementType>
			<TerrainType>TERRAIN_HILL</TerrainType>
		</Row>
	</Improvement_ValidTerrains>
	<Unit_Builds>
		<Row>
			<UnitType>UNIT_WORKER</UnitType>
			<BuildType>BUILD_AMERICAN_TERRACE_FARM</BuildType>
		</Row>
	</Unit_Builds>
	<Builds>
		<Row>
			<Type>BUILD_AMERICAN_TERRACE_FARM</Type>
			<PrereqTech>TECH_AGRICULTURE</PrereqTech>
			<Time>600</Time>
			<ImprovementType>IMPROVEMENT_AMERICAN_TERRACE_FARM</ImprovementType>
			<Description>TXT_KEY_BUILD_TERRACE_FARM</Description>
			<Recommendation>TXT_KEY_BUILD_FOOD_REC</Recommendation>
			<EntityEvent>ENTITY_EVENT_IRRIGATE</EntityEvent>
			<HotKey>KB_E</HotKey>
			<OrderPriority>97</OrderPriority>
			<IconIndex>0</IconIndex>
			<IconAtlas>UNIT_ACTION_DLC02_ATLAS</IconAtlas>
		</Row>
	</Builds>
	<BuildFeatures>
		<Row>
			<BuildType>BUILD_AMERICAN_TERRACE_FARM</BuildType>
			<FeatureType>FEATURE_JUNGLE</FeatureType>
			<PrereqTech>TECH_BRONZE_WORKING</PrereqTech>
			<Time>400</Time>
			<Production>20</Production>
			<Remove>true</Remove>
		</Row>
		<Row>
			<BuildType>BUILD_AMERICAN_TERRACE_FARM</BuildType>
			<FeatureType>FEATURE_FOREST</FeatureType>
			<PrereqTech>TECH_MINING</PrereqTech>
			<Time>400</Time>
			<Production>20</Production>
			<Remove>true</Remove>
		</Row>
	</BuildFeatures>
</GameData>
Note that generally a new 'Build' does not provide hammers for removing Jungle as I have coded the 'BUILD_AMERICAN_TERRACE_FARM' to do.
 
Just a quick question, looking at this piece of code:

Code:
<Row>
	<Type>BUILD_PUB</Type>
	<PrereqTech>TECH_CHIVALRY</PrereqTech>
	<Time>600</Time>
	<ImprovementType>IMPROVEMENT_PUB</ImprovementType>
	<Description>TXT_KEY_BUILD_PUB</Description>
	<Recommendation>TXT_KEY_BUILD_CULTURE_REC</Recommendation>
	<EntityEvent>ENTITY_EVENT_IRRIGATE</EntityEvent>
	<HotKey>KB_E</HotKey>
	<OrderPriority>97</OrderPriority>
	<IconIndex>0</IconIndex>
	<IconAtlas>UNIT_ACTION_DLC02_ATLAS</IconAtlas>
</Row>

Where it says "EntityEvent" what would I put? Is there a list that says what each improvement use?
 
Just a quick question, looking at this piece of code:
Where it says "EntityEvent" what would I put? Is there a list that says what each improvement use?
It does not matter what you put there. The game uses ENTITY_EVENT_IRRIGATE for custom improvements.
 
Ok so, my improvement works, which is cool, but 2 things are a bit annoying.

Firstly, there is no art on the map, secondly, there is no art in the tech tree (Just a circle with a cross through)

Can anyone point me in the right direction please? Would be great!
 
Top Bottom