Need help to make wonders exclusive to 1 Civ

tonberry

Emperor
Joined
Jun 1, 2002
Messages
1,148
Location
Québec
I'm trying to make some wonders exclusive to some civilizations. For example I use this code:

<GameData>
<Civilization_BuildingClassOverrides>
<Row>
<CivilizationType>CIVILIZATION_AMERICA</CivilizationType>
<BuildingClassType>BUILDINGCLASS_STONEHENGE</BuildingClassType>
<BuildingType/>
</Row>

<Row>
<CivilizationType>CIVILIZATION_ARABIA</CivilizationType>
<BuildingClassType>BUILDINGCLASS_STONEHENGE</BuildingClassType>
<BuildingType/>
</Row>

</Civilization_BuildingClassOverrides>
</GameData>


to prevent America and Arabia to build the Stonehenge but what it do is that it only permit me to choose those two civ to start a game.

Anyone had an idea on how to prevent civilization to build a specific wonder, or even better, how to make a wonder build on by 1 civilization or only in a specific city? (Pentagon only in Washington for example)

Thanks a lot for any help.
 
I think you can make the wonders to be kind of Unique Buildings, so that only some civs can make them (or only one this would be the simple solution).

how to make a wonder build on by 1 civilization or only in a specific city? (Pentagon only in Washington for example)

In this case you can give the wonder the requirement to have a palace in the city. Of course this does not help if you want to have something only in Boston :).
 
Yeah that is what I'm trying to do. Here is the code that make the krepost a unique building for the russian:

<Row>
<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
<BuildingClassType>BUILDINGCLASS_BARRACKS</BuildingClassType>
<BuildingType>BUILDING_KREPOST</BuildingType>
</Row>

and here is the code that prevent the barbarian to build the Stonehenge:

<Row>
<CivilizationType>CIVILIZATION_BARBARIAN</CivilizationType>
<BuildingClassType>BUILDINGCLASS_STONEHENGE</BuildingClassType>
<BuildingType/>
</Row>

so I tough this code:

<Row>
<CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
<BuildingClassType>BUILDINGCLASS_STONEHENGE</BuildingClassType>
<BuildingType/>
</Row>

would prevent the russian to build the Stonehenge but no it doesn't. What it do is prevent me to play any civilization that come after the russian (Siam and Songhai).
 
First off, you're adding new rows to the table. You should be updating it instead. Try something like this:
Code:
<GameData>
     <BuildingClasses>
          <Update>
               <Where BuildingClassType="BUILDINGCLASS_STONEHENGE"/>
               <Set>
                    <DefaultBuilding/>
               </Set>
          </Update>
     </BuildingClasses>
     <Civilization_BuildingClassOverrides>
          <Row>
               <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
               <BuildingClassType>BUILDINGCLASS_STONEHENGE</BuildingClassType>
               <BuildingType>BUILDING_STONEHENGE</BuildingType>
          </Row>
     </Civilization_BuildingClassOverrides>
</GameData>

Try that, see if it works.

EDIT: Sorry, my first post was wrong. Try the edited version. Also, you'll now have to enumerate ALL civilizations that can access Stonehenge. With this code, only Russia will be able to build it.

This same procedure works for units as well, FYI.
 
Back
Top Bottom