Regional Adjacency (Building) bonuses

Joined
Mar 23, 2006
Messages
800
Location
Adelaide, Australia
So what I basically want is

Factory yields +1 production for each adjacent mine (Like Stave Church except production and mines....). Provides production (whatever the above adjacency is) to any city within 6 tiles (so the regional thing as normal)

For example
Washington is within 6 tiles of Industrial zones belonging to New York and Boston, which both have factories. The factory is adjacent to 3 mines, so New York yields +3 production, the factory is adjacent to 1 mine, Bostons yield is +1 production. Washington gets the +3 production from New York.

I feel like it's not possible, but thought I'd ask just in case someone has a more creative solution than I do.....
 
I don't know about area bonuses, but I do know that there are mods that give additional adjacency bonuses, and they use how the Shipyard works as template.

EDIT: Not an expert at modding myself, maybe you should simply use the Shipyard as a template and then add RegionalRange="6"?

EDIT2: For the rest totally unrelated to modding, but if you want to do this in addition to the normal factory bonuses, I think they're going to become quite overpowered if you place the IZ right.
 
Last edited:
I don't know about area bonuses, but I do know that there are mods that give additional adjacency bonuses, and they use how the Shipyard works as template.

EDIT: Not an expert at modding myself, maybe you should simply use the Shipyard as a template and then add RegionalRange="6"?

EDIT2: For the rest totally unrelated to modding, but if you want to do this in addition to the normal factory bonuses, I think they're going to become quite overpowered if you place the IZ right.

Yeah I tried that didn't work

Also yeah, I want to take away the +4 production, but obviously need to replace it with something.....
 
The shipyard actually copies the adjacency bonus + City-state bonus of the District, so that would not work for your purposes. Seems like you need to make a modifier on the building so that it applies a modifier to the city to increase its production according to the number of adjacent Mines from that plot. I think this is doable, but it might be easier to have the city just boost the production of all mines by 1 (not quite what you want either).
 
So I came up with the following. The effect is that the first adjacent mine/quarry yields +1 production regionally, but any additional mines/quarries do not. I'm kind of stuck again.....

Code:
<GameData>
    <BuildingModifiers>
        <Row>
            <BuildingType>BUILDING_FACTORY</BuildingType>
            <ModifierId>FACTORY_PRODUCTION</ModifierId>
        </Row>
    </BuildingModifiers>
    <Modifiers>
        <Row>
            <ModifierId>FACTORY_PRODUCTION</ModifierId>
            <ModifierType>MODIFIER_PLAYER_DISTRICT_ADJUST_EXTRA_REGIONAL_YIELD</ModifierType>
            <SubjectRequirementSetId>PLOT_ADJACENT_TO_MINE_REQUIREMENTS</SubjectRequirementSetId>
            <RunOnce>false</RunOnce>
            <Permanent>false</Permanent>
        </Row>
    </Modifiers>
    <ModifierArguments>
        <Row>
            <ModifierId>FACTORY_PRODUCTION</ModifierId>
            <Name>Amount</Name>
            <Value>1</Value>
        </Row>
        <Row>
            <ModifierId>FACTORY_PRODUCTION</ModifierId>
            <Name>YieldType</Name>
            <Value>YIELD_PRODUCTION</Value>
        </Row>
    </ModifierArguments>
    <RequirementSets>
        <Row>
            <RequirementSetId>PLOT_ADJACENT_TO_MINE_REQUIREMENTS</RequirementSetId>
            <RequirementSetType>REQUIREMENTSET_TEST_ANY</RequirementSetType>
        </Row>
    </RequirementSets>
    <RequirementSetRequirements>
        <Row>
            <RequirementSetId>PLOT_ADJACENT_TO_MINE_REQUIREMENTS</RequirementSetId>
            <RequirementId>REQUIRES_PLOT_ADJACENT_TO_MINE</RequirementId>
        </Row>
        <Row>
            <RequirementSetId>PLOT_ADJACENT_TO_MINE_REQUIREMENTS</RequirementSetId>
            <RequirementId>REQUIRES_PLOT_ADJACENT_TO_QUARRY</RequirementId>
        </Row>
    </RequirementSetRequirements>
    <Requirements>
        <Row>
            <RequirementId>REQUIRES_PLOT_ADJACENT_TO_MINE</RequirementId>
            <RequirementType>REQUIREMENT_PLOT_ADJACENT_IMPROVEMENT_TYPE_MATCHES</RequirementType>
        </Row>
        <Row>
            <RequirementId>REQUIRES_PLOT_ADJACENT_TO_QUARRY</RequirementId>
            <RequirementType>REQUIREMENT_PLOT_ADJACENT_IMPROVEMENT_TYPE_MATCHES</RequirementType>
        </Row>
    </Requirements>
    <RequirementArguments>
        <Row>
            <RequirementId>REQUIRES_PLOT_ADJACENT_TO_MINE</RequirementId>
            <Name>ImprovementType</Name>
            <Value>IMPROVEMENT_MINE</Value>
        </Row>
        <Row>
            <RequirementId>REQUIRES_PLOT_ADJACENT_TO_QUARRY</RequirementId>
            <Name>ImprovementType</Name>
            <Value>IMPROVEMENT_QUARRY</Value>
        </Row>
    </RequirementArguments>
</GameData>
 
I'm not sure that modifiers can affect regional bonus at all, like you intend to do. There's a table with AdjacencyBonuses, the ones that are in vanilla game, not related to modifiers. I think they might be the ones that get 'regionalized' only.
 
Top Bottom