Fixing a workshop mod; how to add food to a tile improvement with fresh water requirement?

iammaxhailme

Emperor
Joined
Jun 4, 2015
Messages
1,999
For example, in the mod's xml for the unique improvement, it has

Code:
<Improvement_TechYieldChanges>
            <Row>
                <ImprovementType>IMPROVEMENT_APPALACHIAN_MOONSHINE</ImprovementType>
                <TechType>TECH_RAILROAD</TechType>
                <YieldType>YIELD_GOLD</YieldType>
                <Yield>2</Yield>
            </Row>
            <Row>
                <ImprovementType>IMPROVEMENT_APPALACHIAN_MOONSHINE</ImprovementType>
                <TechType>TECH_RAILROAD</TechType>
                <YieldType>YIELD_CULTURE</YieldType>
                <Yield>2</Yield>
            </Row>
        </Improvement_TechYieldChanges>

This makes the tile improvement gain 2 gold and culture when you discover railroad. The modder indicated it should also gain +1 food if next to fresh water, but there is nothing in the file and it doesn't happen ingame. I'm not sure how to add a fresh water dependancy... what is the tag for that? Would it go in Improvement_TechYieldChanges or in a different block?
 
There is a Improvement_FreshWaterYields table, but as Firaxis don't use it, it may or may not work
Code:
    <Table name="Improvement_FreshWaterYields">
        <Column name="ImprovementType" type="text" reference="Improvements(Type)"/>
        <Column name="YieldType" type="text" reference="Yields(Type)"/>
        <Column name="Yield" type="integer" default="0"/>
    </Table>

There are also Improvement_TechFreshWaterYieldChanges and Improvement_TechNoFreshWaterYieldChanges tables, both of which work (used by Farms)
Code:
    <Table name="Improvement_TechNoFreshWaterYieldChanges">
        <Column name="ImprovementType" type="text" reference="Improvements(Type)"/>
        <Column name="TechType" type="text" reference="Technologies(Type)"/>
        <Column name="YieldType" type="text" reference="Yields(Type)"/>
        <Column name="Yield" type="integer"/>
    </Table>
    <Table name="Improvement_TechFreshWaterYieldChanges">
        <Column name="ImprovementType" type="text" reference="Improvements(Type)"/>
        <Column name="TechType" type="text" reference="Technologies(Type)"/>
        <Column name="YieldType" type="text" reference="Yields(Type)"/>
        <Column name="Yield" type="integer"/>
    </Table>

So you could always use the Improvement_TechFreshWaterYieldChanges table and set the TechType to TECH_AGRICULTURE
 
There is a Improvement_FreshWaterYields table, but as Firaxis don't use it, it may or may not work
Code:
    <Table name="Improvement_FreshWaterYields">
        <Column name="ImprovementType" type="text" reference="Improvements(Type)"/>
        <Column name="YieldType" type="text" reference="Yields(Type)"/>
        <Column name="Yield" type="integer" default="0"/>
    </Table>

There are also Improvement_TechFreshWaterYieldChanges and Improvement_TechNoFreshWaterYieldChanges tables, both of which work (used by Farms)
Code:
    <Table name="Improvement_TechNoFreshWaterYieldChanges">
        <Column name="ImprovementType" type="text" reference="Improvements(Type)"/>
        <Column name="TechType" type="text" reference="Technologies(Type)"/>
        <Column name="YieldType" type="text" reference="Yields(Type)"/>
        <Column name="Yield" type="integer"/>
    </Table>
    <Table name="Improvement_TechFreshWaterYieldChanges">
        <Column name="ImprovementType" type="text" reference="Improvements(Type)"/>
        <Column name="TechType" type="text" reference="Technologies(Type)"/>
        <Column name="YieldType" type="text" reference="Yields(Type)"/>
        <Column name="Yield" type="integer"/>
    </Table>

So you could always use the Improvement_TechFreshWaterYieldChanges table and set the TechType to TECH_AGRICULTURE


Yep, Improvement_TechFreshWaterYieldChanges worked, thanks.

Interestingly it doesn't seem to take effect on a tech you already have; I tried loading my game and it still didn't work with the tech set to agriculture. But I tried again with it set to a tech I didn't already have, and then researched it, and THEN it worked.
 
Top Bottom