Hiram
XML Plebian
What it says on the tin. I'm thinking of creating a UB for one of my civs which replaces the Artist's guild.
In short... yes, it's possible. BUILDING_ARTISTS_GUILD is a building like any other, and SPECIALIST_ARTIST is a specialist like any other.
Of course, whatever you want to do to make it unique may or may not be possible [or easy]...
Excellent. I was also wondering, where is the amount that you can build in your empire defined? I was thinking of replacing the guild with slightly weaker version which you can build a total of 5 of in your empire.
Edit: Found it. Looks like I'll have to create a dummy building class for the UB though. Is there a way to make the original artist's guild unavailable for one civ?
<Civilization_BuildingClassOverrides>
<Row>
<CivilizationType>CIVILIZATION_SONGHAI</CivilizationType>
<BuildingClassType>BUILDINGCLASS_TEMPLE</BuildingClassType>
<BuildingType>BUILDING_MUD_PYRAMID_MOSQUE</BuildingType>
</Row>
</Civilization_BuildingClassOverrides>
Sure, but don't you still want at least a fake UB in its place, for purposes of the Civilopedia and loading screen, etc.? You could make it unbuildable, or just use it for the first guild, and another dummy building for subsequent guilds.
I assume he's still going to need a UB, since his new BuildingClass will be accessible to every civ. So he's going to have to make the default building of this new BuildingClass unbuildable, and then make a buildable UB version of it for his civ.
I don't think so. According to the way I'm reading the table definitions, the game would then go looking for a building called 'NONE' instead of interpretting it as a null value.He could just put 'NONE' in the default building, right?
<Table name="BuildingClasses">
<Column name="ID" type="integer" primarykey="true" autoincrement="true"/>
<Column name="Type" type="text" notnull="true" unique="true"/>
<Column name="Description" type="text"/>
<Column name="DefaultBuilding" type="text"/>
<Column name="MaxGlobalInstances" type="integer" default="-1"/>
<Column name="MaxTeamInstances" type="integer" default="-1"/>
<Column name="MaxPlayerInstances" type="integer" default="-1"/>
<Column name="ExtraPlayerInstances" type="integer" default="0"/>
<Column name="NoLimit" type="boolean" default="false"/>
<Column name="Monument" type="boolean" default="false"/>
</Table>
<Row>
<Type>UNITCLASS_GALLEY</Type>
<Description>TXT_KEY_UNIT_GALLEY</Description>
<DefaultUnit>NONE</DefaultUnit>
</Row>
<Table name="UnitClasses">
<Column name="ID" type="integer" primarykey="true" autoincrement="true"/>
<Column name="Type" type="text" notnull="true" unique="true"/>
<Column name="Description" type="text"/>
<Column name="MaxGlobalInstances" type="integer" default="-1"/>
<Column name="MaxTeamInstances" type="integer" default="-1"/>
<Column name="MaxPlayerInstances" type="integer" default="-1"/>
<Column name="InstanceCostModifier" type="integer" default="0"/>
<Column name="DefaultUnit" type="text"/>
</Table>
Tested it with buildings and it does seem to work. The civilopedia page for the building doesn't quite show as usual. The fields for which civ the building is unique to didn't show even though I had assigned it to Rome. IGE was using it properly, though. When I switched from Rome to Brazil in IGE, the name of the building was grayed-out in the 'Edit City' dialog, like it usually does with buildings that aren't correct for an individual civilization.It works with units.
<GameData>
<BuildingClasses>
<Row>
<Type>BUILDINGCLASS_ARCHER</Type>
<DefaultBuilding>NONE</DefaultBuilding>
<Description>TXT_KEY_BUILDING_ARCHER</Description>
</Row>
</BuildingClasses>
<Civilization_BuildingClassOverrides>
<Row>
<CivilizationType>CIVILIZATION_ROME</CivilizationType>
<BuildingClassType>BUILDINGCLASS_ARCHER</BuildingClassType>
<BuildingType>BUILDING_ARCHER</BuildingType>
</Row>
</Civilization_BuildingClassOverrides>
<Buildings>
<Row>
<Type>BUILDING_ARCHER</Type>
<BuildingClass>BUILDINGCLASS_ARCHER</BuildingClass>
<FreeStartEra>ERA_INDUSTRIAL</FreeStartEra>
<Cost>40</Cost>
<GoldMaintenance>1</GoldMaintenance>
<!--<PrereqTech>TECH_ARCHERY</PrereqTech>-->
<Help>TXT_KEY_BUILDING_ARCHER_HELP</Help>
<Description>TXT_KEY_BUILDING_ARCHER</Description>
<Civilopedia>TXT_KEY_CIV5_BUILDINGS_ARCHER_TEXT</Civilopedia>
<Strategy>TXT_KEY_BUILDING_ARCHER_STRATEGY</Strategy>
<ArtDefineTag>ART_DEF_BUILDING_BARRACKS</ArtDefineTag>
<TrainedFreePromotion>PROMOTION_ACCURACY_1</TrainedFreePromotion>
<MinAreaSize>-1</MinAreaSize>
<HurryCostModifier>25</HurryCostModifier>
<NeverCapture>true</NeverCapture>
<IconAtlas>UNIT_ATLAS_1</IconAtlas>
<PortraitIndex>6</PortraitIndex>
</Row>
</Buildings>
<Building_UnitCombatFreeExperiences>
<Row>
<BuildingType>BUILDING_ARCHER</BuildingType>
<UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType>
<Experience>10</Experience>
</Row>
</Building_UnitCombatFreeExperiences>
<Building_UnitCombatProductionModifiers>
<Row>
<BuildingType>BUILDING_ARCHER</BuildingType>
<UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType>
<Modifier>10</Modifier>
</Row>
</Building_UnitCombatProductionModifiers>
<Building_Flavors>
<Row>
<BuildingType>BUILDING_ARCHER</BuildingType>
<FlavorType>FLAVOR_MILITARY_TRAINING</FlavorType>
<Flavor>20</Flavor>
</Row>
<Row>
<BuildingType>BUILDING_ARCHER</BuildingType>
<FlavorType>FLAVOR_OFFENSE</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<BuildingType>BUILDING_ARCHER</BuildingType>
<FlavorType>FLAVOR_DEFENSE</FlavorType>
<Flavor>10</Flavor>
</Row>
<Row>
<BuildingType>BUILDING_ARCHER</BuildingType>
<FlavorType>FLAVOR_PRODUCTION</FlavorType>
<Flavor>5</Flavor>
</Row>
</Building_Flavors>
<Language_en_US>
<Row Tag="TXT_KEY_BUILDING_ARCHER_HELP">
<Text>+10 [ICON_WAR] XP's and +10% [ICON_PRODUCTION] Production for all Archery Units.[NEWLINE]Grants the [COLOR_POSITIVE_TEXT]Accuracy 1[ENDCOLOR] promotion to Archery units trained in the City.</Text>
</Row>
<Row Tag="TXT_KEY_BUILDING_ARCHER">
<Text>Practice Range</Text>
</Row>
<Row Tag="TXT_KEY_CIV5_BUILDINGS_ARCHER_TEXT">
<Text>Practice Ranges provide basic archery training for early-game ranged units.</Text>
</Row>
<Row Tag="TXT_KEY_BUILDING_ARCHER_STRATEGY">
<Text>Practice Ranges provide experience for archery units constructed in the city. This experience can be used to give the units Promotions, making them more effective in battle.</Text>
</Row>
</Language_en_US>
</GameData>