Modder's Guide to A New Dawn

Looking into CIV4TechnologiesSchema.xml tells me that it's not possible to do what you want.

So you have to be tricky:
Create a building that does what you want regarding specialists.
Solution A:
Make it cheap.
Set <FreeBuilding> to give this building. So once you build it, it is present everywhere.
Solution B:
With <FreeStartEra> you can make it free with an era and can set its cost to -1. I know this doesn't help if you wanted to improve a specific tech in the middle of an era :rolleyes:
 
so then on a semi related note...
<BuildingInfo>
<BuildingClass>BUILDINGCLASS_LINEAR_ACCELERATOR</BuildingClass>
<Type>BUILDING_LINEAR_ACCELERATOR</Type>
<SpecialBuildingType>NONE</SpecialBuildingType>
<Description>Linear Accelerator</Description>
<Civilopedia>TXT_KEY_BUILDING_LINEAR_ACCELERATOR_PEDIA</Civilopedia>
<Strategy>TXT_KEY_BUILDING_ACCELERATOR_STRATEGY</Strategy>
<Advisor>ADVISOR_SCIENCE</Advisor>
<ArtDefineTag>ART_DEF_BUILDING_ACCELERATOR</ArtDefineTag>
<MovieDefineTag>NONE</MovieDefineTag>
<HolyCity>NONE</HolyCity>
<ReligionType>NONE</ReligionType>
<StateReligion>NONE</StateReligion>
<bStateReligion>0</bStateReligion>
<PrereqReligion>NONE</PrereqReligion>
<PrereqCorporation>NONE</PrereqCorporation>
<FoundsCorporation>NONE</FoundsCorporation>
<GlobalReligionCommerce>NONE</GlobalReligionCommerce>
<GlobalCorporationCommerce>NONE</GlobalCorporationCommerce>
<VictoryPrereq>NONE</VictoryPrereq>
<FreeStartEra>NONE</FreeStartEra>
<MaxStartEra>NONE</MaxStartEra>
<ObsoleteTech>NONE</ObsoleteTech>
<PrereqTech>TECH_UNIVERSAL_RESEARCH</PrereqTech>
<TechTypes/>
<Bonus>NONE</Bonus>
<PrereqBonuses/>
<ProductionTraits>
<ProductionTrait>
<ProductionTraitType>TRAIT_SCIENTIFIC</ProductionTraitType>
<iProductionTrait>100</iProductionTrait>
</ProductionTrait>
</ProductionTraits>
<HappinessTraits/>
<NoBonus>NONE</NoBonus>
<PowerBonus>NONE</PowerBonus>
<FreeBonus>NONE</FreeBonus>
<iNumFreeBonuses>0</iNumFreeBonuses>
<FreeBuilding>NONE</FreeBuilding>
<FreePromotion>NONE</FreePromotion>
<CivicOption>NONE</CivicOption>
<GreatPeopleUnitClass>NONE</GreatPeopleUnitClass>
<iGreatPeopleRateChange>0</iGreatPeopleRateChange>
<iHurryAngerModifier>0</iHurryAngerModifier>
<bBorderObstacle>0</bBorderObstacle>
<bTeamShare>0</bTeamShare>
<bWater>0</bWater>
<bRiver>0</bRiver>
<bPower>0</bPower>
<bDirtyPower>0</bDirtyPower>
<bAreaCleanPower>0</bAreaCleanPower>
<DiploVoteType>NONE</DiploVoteType>
<bForceTeamVoteEligible>0</bForceTeamVoteEligible>
<bCapital>0</bCapital>
<bGovernmentCenter>0</bGovernmentCenter>
<bGoldenAge>0</bGoldenAge>
<bAllowsNukes>0</bAllowsNukes>
<bMapCentering>0</bMapCentering>
<bNoUnhappiness>0</bNoUnhappiness>
<bNoUnhealthyPopulation>0</bNoUnhealthyPopulation>
<bBuildingOnlyHealthy>0</bBuildingOnlyHealthy>
<bNeverCapture>0</bNeverCapture>
<bNukeImmune>0</bNukeImmune>
<bPrereqReligion>0</bPrereqReligion>
<bFreeFromStateReligion>0</bFreeFromStateReligion>
<bCenterInCity>0</bCenterInCity>
<iAIWeight>0</iAIWeight>
<iCost>700</iCost>
<iHurryCostModifier>0</iHurryCostModifier>
<iAdvancedStartCost>100</iAdvancedStartCost>
<iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
<iMinAreaSize>-1</iMinAreaSize>
<iConquestProb>75</iConquestProb>
<iCitiesPrereq>0</iCitiesPrereq>
<iTeamsPrereq>0</iTeamsPrereq>
<iLevelPrereq>0</iLevelPrereq>
<iMinLatitude>0</iMinLatitude>
<iMaxLatitude>90</iMaxLatitude>
<iGreatPeopleRateModifier>0</iGreatPeopleRateModifier>
<iGreatGeneralRateModifier>0</iGreatGeneralRateModifier>
<iDomesticGreatGeneralRateModifier>0</iDomesticGreatGeneralRateModifier>
<iGlobalGreatPeopleRateModifier>0</iGlobalGreatPeopleRateModifier>
<iAnarchyModifier>0</iAnarchyModifier>
<iGoldenAgeModifier>0</iGoldenAgeModifier>
<iGlobalHurryModifier>0</iGlobalHurryModifier>
<iExperience>0</iExperience>
<iGlobalExperience>0</iGlobalExperience>
<iFoodKept>0</iFoodKept>
<iAirlift>0</iAirlift>
<iAirModifier>0</iAirModifier>
<iAirUnitCapacity>0</iAirUnitCapacity>
<iNukeModifier>0</iNukeModifier>
<iNukeExplosionRand>0</iNukeExplosionRand>
<iFreeSpecialist>0</iFreeSpecialist>
<iAreaFreeSpecialist>0</iAreaFreeSpecialist>
<iGlobalFreeSpecialist>0</iGlobalFreeSpecialist>
<iMaintenanceModifier>0</iMaintenanceModifier>
<iWarWearinessModifier>0</iWarWearinessModifier>
<iGlobalWarWearinessModifier>0</iGlobalWarWearinessModifier>
<iEnemyWarWearinessModifier>0</iEnemyWarWearinessModifier>
<iHealRateChange>0</iHealRateChange>
<iHealth>0</iHealth>
<iAreaHealth>0</iAreaHealth>
<iGlobalHealth>0</iGlobalHealth>
<iHappiness>0</iHappiness>
<iAreaHappiness>0</iAreaHappiness>
<iGlobalHappiness>0</iGlobalHappiness>
<iStateReligionHappiness>0</iStateReligionHappiness>
<iWorkerSpeedModifier>0</iWorkerSpeedModifier>
<iMilitaryProductionModifier>0</iMilitaryProductionModifier>
<iSpaceProductionModifier>5</iSpaceProductionModifier>
<iGlobalSpaceProductionModifier>0</iGlobalSpaceProductionModifier>
<iTradeRoutes>0</iTradeRoutes>
<iCoastalTradeRoutes>0</iCoastalTradeRoutes>
<iGlobalTradeRoutes>0</iGlobalTradeRoutes>
<iTradeRouteModifier>0</iTradeRouteModifier>
<iForeignTradeRouteModifier>0</iForeignTradeRouteModifier>
<iGlobalPopulationChange>0</iGlobalPopulationChange>
<iFreeTechs>0</iFreeTechs>
<iDefense>0</iDefense>
<iBombardDefense>0</iBombardDefense>
<iAllCityDefense>0</iAllCityDefense>
<iEspionageDefense>0</iEspionageDefense>
<iAsset>6</iAsset>
<iPower>0</iPower>
<bPrereqPower>1</bPrereqPower>
<fVisibilityPriority>1.0</fVisibilityPriority>
<SeaPlotYieldChanges/>
<RiverPlotYieldChanges/>
<GlobalSeaPlotYieldChanges/>
<YieldChanges/>
<YieldModifiers>
<iYield>0</iYield>
<iYield>0</iYield>
<iYield>5</iYield>
</YieldModifiers>
<PowerYieldModifiers/>
<CommerceChanges/>
<ObsoleteSafeCommerceChanges/>
<CommerceChangeDoubleTimes/>
<CommerceModifiers>
<iCommerce>0</iCommerce>
<iCommerce>20</iCommerce>
</CommerceModifiers>
<GlobalCommerceModifiers/>
<SpecialistExtraCommerces/>
<StateReligionCommerces/>
<CommerceHappinesses/>
<ReligionChanges/>
<SpecialistCounts>
<SpecialistCount>
<SpecialistType>SPECIALIST_SCIENTIST</SpecialistType>
<iSpecialistCount>20</iSpecialistCount>
</SpecialistCount>
</SpecialistCounts>
<FreeSpecialistCounts/>
<CommerceFlexibles/>
<CommerceChangeOriginalOwners/>
<ConstructSound>AS2D_BUILD_ACCELERATOR</ConstructSound>
<BonusHealthChanges/>
<BonusHappinessChanges/>
<BonusProductionModifiers/>
<UnitCombatFreeExperiences/>
<DomainFreeExperiences/>
<DomainProductionModifiers/>
<BuildingHappinessChanges/>
<PrereqBuildingClasses/>
<BuildingClassNeededs>
<BuildingClassNeeded>
<BuildingClassType>BUILDINGCLASS_ACCELERATOR</BuildingClassType>
<bNeededInCity>1</bNeededInCity>
</BuildingClassNeeded>
</BuildingClassNeededs>
<SpecialistYieldChanges/>
<BonusYieldModifiers/>
<ImprovementFreeSpecialists/>
<Flavors>
<Flavor>
<FlavorType>FLAVOR_SCIENCE</FlavorType>
<iFlavor>10</iFlavor>
</Flavor>
</Flavors>
<HotKey/>
<bAltDown>0</bAltDown>
<bShiftDown>0</bShiftDown>
<bCtrlDown>0</bCtrlDown>
<iHotKeyPriority>0</iHotKeyPriority>
<iDCMAirbombMission>2</iDCMAirbombMission>
</BuildingInfo>

this newly created building seems to want to REPLACE the accelerator, as well as require it, I just want to make it require the accelerator, any thoughts, and keep in mind I havent even tried it in game so idk how it will turn out, just know the game boots with no error and the cililopedia says replaces AND requires.
 
Looking into CIV4TechnologiesSchema.xml tells me that it's not possible to do what you want.

So you have to be tricky:
Create a building that does what you want regarding specialists.
Solution A:
Make it cheap.
Set <FreeBuilding> to give this building. So once you build it, it is present everywhere.
Solution B:
With <FreeStartEra> you can make it free with an era and can set its cost to -1. I know this doesn't help if you wanted to improve a specific tech in the middle of an era :rolleyes:

There is another solution that could also work. There is an unused tag <TechSpecialistChange> for buildings that allows you to increase the specialist slots on a building with a given tech. You could give a cheap building that should already be built an additional specialist slot when you need it.

<FreeSpecialistCounts> does allow only direct free specialists, not specialist slots. I think it was added for the now-removed Derivatives tech (1 free Merchant per city).
 
so then on a semi related note...
this newly created building seems to want to REPLACE the accelerator, as well as require it, I just want to make it require the accelerator, any thoughts, and keep in mind I havent even tried it in game so idk how it will turn out, just know the game boots with no error and the cililopedia says replaces AND requires.

Did you define the building class in CIV4BuildingClassInfos.xml as well? Odd replacements show up when you don't define the class correctly.
 
There's something I don't understand about bonus placement mechanism:
What's the difference between TerrainBooleans, FeatureBooleans and FeatureTerrainBooleans? :confused:
Is there an "AND" or an "OR" relation here?
The modiki doesn't explain it :sad:

Example: Rice
PHP:
			<TerrainBooleans>
				<TerrainBoolean>
					<TerrainType>TERRAIN_GRASS</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
				<TerrainBoolean>
					<TerrainType>TERRAIN_MARSH</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
			</TerrainBooleans>
			<FeatureBooleans>
				<FeatureBoolean>
					<FeatureType>FEATURE_SWAMP</FeatureType>
					<bFeature>1</bFeature>
				</FeatureBoolean>
			</FeatureBooleans>
			<FeatureTerrainBooleans>
				<FeatureTerrainBoolean>
					<TerrainType>TERRAIN_MARSH</TerrainType>
					<bFeatureTerrain>1</bFeatureTerrain>
				</FeatureTerrainBoolean>
			</FeatureTerrainBooleans>
 
Empty Grass or Marsh plot can have it.
Marsh plot with Swamp feature can have it too.
 
Empty Grass or Marsh plot can have it.
Marsh plot with Swamp feature can have it too.

THX!

So it is
<TerrainBooleans> OR ( <FeatureBooleans> AND <FeatureTerrainBooleans> )

Wheat:
PHP:
<TerrainBooleans>
				<TerrainBoolean>
					<TerrainType>TERRAIN_PLAINS</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
			</TerrainBooleans>
			<FeatureBooleans>
				<FeatureBoolean>
					<FeatureType>FEATURE_FLOOD_PLAINS</FeatureType>
					<bFeature>1</bFeature>
				</FeatureBoolean>
			</FeatureBooleans>
			<FeatureTerrainBooleans>
				<FeatureTerrainBoolean>
					<TerrainType>TERRAIN_DESERT</TerrainType>
					<bFeatureTerrain>1</bFeatureTerrain>
				</FeatureTerrainBoolean>
				<FeatureTerrainBoolean>
					<TerrainType>TERRAIN_PLAINS</TerrainType>
					<bFeatureTerrain>1</bFeatureTerrain>
				</FeatureTerrainBoolean>
			</FeatureTerrainBooleans>

(empty Plain) OR (Flood Plain on (Dessert or Plain)) Right? :)
 
Yeah, just start a game, go WB and verify.
 
Did you define the building class in CIV4BuildingClassInfos.xml as well? Odd replacements show up when you don't define the class correctly.

yeah im pretty sure i did, its possible i messed up a part of that though, is there a third part of the associations that are necessary, like something in the civilopedia line of the buildinginfos.xml

oh, im new so maybe im doing it wrong altogether, not a lot of programming experience. When I try it again, If it still doesn't work I will attach both files and maybe you can see if I made a weird mistake.
 
yeah im pretty sure i did, its possible i messed up a part of that though, is there a third part of the associations that are necessary, like something in the civilopedia line of the buildinginfos.xml

oh, im new so maybe im doing it wrong altogether, not a lot of programming experience. When I try it again, If it still doesn't work I will attach both files and maybe you can see if I made a weird mistake.

You should only have to edit those two files to get a basic building to work. It gets more complicated if you want to use custom text or art definitions.

Feel free to post your files and we can take a look.
 
There is another solution that could also work. There is an unused tag <TechSpecialistChange> for buildings that allows you to increase the specialist slots on a building with a given tech. You could give a cheap building that should already be built an additional specialist slot when you need it.


does anyone know where I should insert this tag, I was thinking right around the specialist count. Also would I use the format...<TechSpecialistChange>1</TechSpecialistChange> or what?
 
There is another solution that could also work. There is an unused tag <TechSpecialistChange> for buildings that allows you to increase the specialist slots on a building with a given tech. You could give a cheap building that should already be built an additional specialist slot when you need it.


does anyone know where I should insert this tag, I was thinking right around the specialist count. Also would I use the format...<TechSpecialistChange>1</TechSpecialistChange> or what?

You can insert XML tags anywhere in the building description and they will work - it's in the building XML, not the tech. The XML is not that specific as to placement.

However, the syntax to get this tag to work is another matter. This is what you have to insert in order to get 1 specialist of one type at 1 particular tech. (This example gives 1 Merchant specialist to a building with Gunpowder tech.)

Code:
<TechSpecialistChanges>
	<TechSpecialistChange>
		<PrereqTech>TECH_GUNPOWDER</PrereqTech>
		<SpecialistCounts>
			<SpecialistCount>
				<SpecialistType>SPECIALIST_MERCHANT</SpecialistType>
				<iSpecialistCount>1</iSpecialistCount>
			</SpecialistCount>
		</SpecialistCounts>	
	</TechSpecialistChange>	
</TechSpecialistChanges>

You need one set of <TechSpecialistChanges> open/close tags per building; one set of <TechSpecialistChange> (no s) tags, one set of <PrereqTech> tags, and one set of <SpecialistCounts> tags per tech that boosts the building; and one set of <SpecialistCount> tags, <SpecialistType> tags, and <iSpecialistCount> tags per specialist type to get additional slots. You need to use extra sets of <SpecialistCount> to have a building get more than 1 additional type of specialist at a tech and you need to use extra sets of <TechSpecialistChange> and everything in between to have one building get additional specialist slots from more than one tech.
 
You can insert XML tags anywhere in the building description and they will work - it's in the building XML, not the tech. The XML is not that specific as to placement.

However, the syntax to get this tag to work is another matter. This is what you have to insert in order to get 1 specialist of one type at 1 particular tech. (This example gives 1 Merchant specialist to a building with Gunpowder tech.)

Code:
<TechSpecialistChanges>
	<TechSpecialistChange>
		<PrereqTech>TECH_GUNPOWDER</PrereqTech>
		<SpecialistCounts>
			<SpecialistCount>
				<SpecialistType>SPECIALIST_MERCHANT</SpecialistType>
				<iSpecialistCount>1</iSpecialistCount>
			</SpecialistCount>
		</SpecialistCounts>	
	</TechSpecialistChange>	
</TechSpecialistChanges>

You need one set of <TechSpecialistChanges> open/close tags per building; one set of <TechSpecialistChange> (no s) tags, one set of <PrereqTech> tags, and one set of <SpecialistCounts> tags per tech that boosts the building; and one set of <SpecialistCount> tags, <SpecialistType> tags, and <iSpecialistCount> tags per specialist type to get additional slots. You need to use extra sets of <SpecialistCount> to have a building get more than 1 additional type of specialist at a tech and you need to use extra sets of <TechSpecialistChange> and everything in between to have one building get additional specialist slots from more than one tech.

thnx i will give this a try :)
 
So I keep working on my Chronicles modmod and my newest module provides a very strange bug that I cannot solve so I'm asking for help from the more experienced "bug-catchers".

Jewels of the Land adds some new terrain features and some modifications regarding improvements and resources. A pic from the game:
Civ4ScreenShot0387.JPG
I have copied Bamboo and Kelp from C2C, the rest from RI.
Here is a DOWNLOAD LINK (it replaces only the 2 gamefont.tga files, everything else is modular).

THE BUG

I can create new game without any trouble (though it does not work with every mapscript) and play the game for a good while without any issue.
The problem comes with loading save games. After some time they become unloadable: the game loads to 99.9% and just before showing the world CTD.
This bug doesn't appear immediately. In a game I reached the medieval era on a huge/giant map on on marathon speed. Last night it happened in the early ancient era.

THINGS I TRIED

  • If I turn off this module the game loads fine though the new features disappear.
  • I thought it may be related to the art files so I tried loading the game by deleting the FPK file, but that didn't help.
  • I tried out taging all features and then re-enabling them one-by-one, and found that the following ones are "guilty":
FEATURE_SCRUB
FEATURE_HOTSPRINGS
FEATURE_SAVANNA
FEATURE_REEF

The others (FEATURE_ISLAND, FEATURE_ISLAND_NORTH, FEATURE_BAMBOO, FEATURE_KELP) left the game going.

But here I am stuck. If someone can help it is most appreciated. Thank you.

Saves and logs packed
The earlier saves loaded but the later ones didn't.
 
<BuildingInfo>
<BuildingClass>BUILDINGCLASS_SECONDFIREPIT</BuildingClass>
<Type>BUILDING_SECONDFIREPIT</Type>
<SpecialBuildingType>NONE</SpecialBuildingType>
<Description>Second Firepit</Description>
<Civilopedia>TXT_KEY_BUILDING_FIREPIT_PEDIA</Civilopedia>
<Strategy>TXT_KEY_BUILDING_FIREPIT_STRATEGY</Strategy>
<Advisor>ADVISOR_CULTURE</Advisor>
<ArtDefineTag>ART_DEF_BUILDING_FIREPIT</ArtDefineTag>
<MovieDefineTag>NONE</MovieDefineTag>
<HolyCity>NONE</HolyCity>
<ReligionType>NONE</ReligionType>
<StateReligion>NONE</StateReligion>
<bStateReligion>0</bStateReligion>
<PrereqReligion>NONE</PrereqReligion>
<PrereqCorporation>NONE</PrereqCorporation>
<FoundsCorporation>NONE</FoundsCorporation>
<GlobalReligionCommerce>NONE</GlobalReligionCommerce>
<GlobalCorporationCommerce>NONE</GlobalCorporationCommerce>
<VictoryPrereq>NONE</VictoryPrereq>
<FreeStartEra>NONE</FreeStartEra>
<MaxStartEra>NONE</MaxStartEra>
<ObsoleteTech>TECH_MONOTHEISM</ObsoleteTech>
<PrereqTech>NONE</PrereqTech>
<TechTypes/>
<Bonus>NONE</Bonus>
<PrereqBonuses/>
<ProductionTraits/>
<HappinessTraits/>
<NoBonus>NONE</NoBonus>
<PowerBonus>NONE</PowerBonus>
<FreeBonus>NONE</FreeBonus>
<iNumFreeBonuses>0</iNumFreeBonuses>
<FreeBuilding>NONE</FreeBuilding>
<FreePromotion>NONE</FreePromotion>
<CivicOption>NONE</CivicOption>
<GreatPeopleUnitClass>NONE</GreatPeopleUnitClass>
<iGreatPeopleRateChange>0</iGreatPeopleRateChange>
<iHurryAngerModifier>0</iHurryAngerModifier>
<bBorderObstacle>0</bBorderObstacle>
<bTeamShare>0</bTeamShare>
<bWater>0</bWater>
<bRiver>0</bRiver>
<bPower>0</bPower>
<bDirtyPower>0</bDirtyPower>
<bAreaCleanPower>0</bAreaCleanPower>
<DiploVoteType>NONE</DiploVoteType>
<bForceTeamVoteEligible>0</bForceTeamVoteEligible>
<bCapital>0</bCapital>
<bGovernmentCenter>0</bGovernmentCenter>
<bGoldenAge>0</bGoldenAge>
<bAllowsNukes>0</bAllowsNukes>
<bMapCentering>0</bMapCentering>
<bNoUnhappiness>0</bNoUnhappiness>
<bNoUnhealthyPopulation>0</bNoUnhealthyPopulation>
<bBuildingOnlyHealthy>0</bBuildingOnlyHealthy>
<bNeverCapture>0</bNeverCapture>
<bNukeImmune>0</bNukeImmune>
<bPrereqReligion>0</bPrereqReligion>
<bFreeFromStateReligion>0</bFreeFromStateReligion>
<bCenterInCity>0</bCenterInCity>
<iAIWeight>0</iAIWeight>
<iCost>16</iCost>
<iHurryCostModifier>0</iHurryCostModifier>
<iAdvancedStartCost>100</iAdvancedStartCost>
<iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
<iMinAreaSize>-1</iMinAreaSize>
<iConquestProb>100</iConquestProb>
<iCitiesPrereq>0</iCitiesPrereq>
<iTeamsPrereq>0</iTeamsPrereq>
<iLevelPrereq>0</iLevelPrereq>
<iMinLatitude>0</iMinLatitude>
<iMaxLatitude>90</iMaxLatitude>
<iGreatPeopleRateModifier>0</iGreatPeopleRateModifier>
<iGreatGeneralRateModifier>0</iGreatGeneralRateModifier>
<iDomesticGreatGeneralRateModifier>0</iDomesticGreatGeneralRateModifier>
<iGlobalGreatPeopleRateModifier>0</iGlobalGreatPeopleRateModifier>
<iAnarchyModifier>0</iAnarchyModifier>
<iGoldenAgeModifier>0</iGoldenAgeModifier>
<iGlobalHurryModifier>0</iGlobalHurryModifier>
<iExperience>0</iExperience>
<iGlobalExperience>0</iGlobalExperience>
<iFoodKept>0</iFoodKept>
<iAirlift>0</iAirlift>
<iAirModifier>0</iAirModifier>
<iAirUnitCapacity>0</iAirUnitCapacity>
<iNukeModifier>0</iNukeModifier>
<iNukeExplosionRand>0</iNukeExplosionRand>
<iFreeSpecialist>0</iFreeSpecialist>
<iAreaFreeSpecialist>0</iAreaFreeSpecialist>
<iGlobalFreeSpecialist>0</iGlobalFreeSpecialist>
<iMaintenanceModifier>0</iMaintenanceModifier>
<iWarWearinessModifier>0</iWarWearinessModifier>
<iGlobalWarWearinessModifier>0</iGlobalWarWearinessModifier>
<iEnemyWarWearinessModifier>0</iEnemyWarWearinessModifier>
<iHealRateChange>0</iHealRateChange>
<iHealth>0</iHealth>
<iAreaHealth>0</iAreaHealth>
<iGlobalHealth>0</iGlobalHealth>
<iHappiness>0</iHappiness>
<iAreaHappiness>0</iAreaHappiness>
<iGlobalHappiness>0</iGlobalHappiness>
<iStateReligionHappiness>0</iStateReligionHappiness>
<iWorkerSpeedModifier>0</iWorkerSpeedModifier>
<iMilitaryProductionModifier>0</iMilitaryProductionModifier>
<iSpaceProductionModifier>0</iSpaceProductionModifier>
<iGlobalSpaceProductionModifier>0</iGlobalSpaceProductionModifier>
<iTradeRoutes>0</iTradeRoutes>
<iCoastalTradeRoutes>0</iCoastalTradeRoutes>
<iGlobalTradeRoutes>0</iGlobalTradeRoutes>
<iTradeRouteModifier>0</iTradeRouteModifier>
<iForeignTradeRouteModifier>0</iForeignTradeRouteModifier>
<iGlobalPopulationChange>0</iGlobalPopulationChange>
<iFreeTechs>0</iFreeTechs>
<iDefense>0</iDefense>
<iBombardDefense>0</iBombardDefense>
<iAllCityDefense>0</iAllCityDefense>
<iEspionageDefense>0</iEspionageDefense>
<iAsset>0</iAsset>
<iPower>0</iPower>
<fVisibilityPriority>1.0</fVisibilityPriority>
<SeaPlotYieldChanges/>
<RiverPlotYieldChanges/>
<GlobalSeaPlotYieldChanges/>
<YieldChanges/>
<YieldModifiers/>
<ObsoleteSafeCommerceChanges/>
<CommerceChangeDoubleTimes/>
<CommerceChanges>
<iCommerce>0</iCommerce>
<iCommerce>0</iCommerce>
<iCommerce>2</iCommerce>
</CommerceChanges>
<GlobalCommerceModifiers/>
<SpecialistExtraCommerces/>
<StateReligionCommerces/>
<CommerceHappinesses/>
<ReligionChanges/>
<SpecialistCounts/>
<FreeSpecialistCounts/>
<CommerceFlexibles/>
<CommerceChangeOriginalOwners/>
<ConstructSound>AS2D_BUILD_TOTEM</ConstructSound>
<BonusHealthChanges/>
<BonusHappinessChanges/>
<BonusProductionModifiers/>
<UnitCombatFreeExperiences/>
<DomainFreeExperiences/>
<DomainProductionModifiers/>
<BuildingHappinessChanges/>
<PrereqBuildingClasses/>
<BuildingClassNeededs/>
<SpecialistYieldChanges/>
<BonusYieldModifiers/>
<ImprovementFreeSpecialists/>
<Flavors>
<Flavor>
<FlavorType>FLAVOR_CULTURE</FlavorType>
<iFlavor>10</iFlavor>
</Flavor>
</Flavors>
<HotKey/>
<bAltDown>0</bAltDown>
<bShiftDown>0</bShiftDown>
<bCtrlDown>0</bCtrlDown>
<iHotKeyPriority>0</iHotKeyPriority>
<PrereqGameOption>GAMEOPTION_EARLY_BUILDINGS</PrereqGameOption>
<ReplaceBuildings>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_SACRIFICIAL_ALTAR</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_JEWISH_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_JEWISH_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_CHRISTIAN_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_ISLAMIC_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_HINDU_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_BUDDHIST_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_CONFUCIAN_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_TAOIST_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_HELLENIC_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_ZOROASTRIAN_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_EGYPT_MYTH_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_MESOAMERICAN_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_ASATRU_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
<ReplaceBuilding>
<BuildingClassType>BUILDINGCLASS_SHINTO_TEMPLE</BuildingClassType>
<bReplace>1</bReplace>
</ReplaceBuilding>
</ReplaceBuildings>
</BuildingInfo>

and

<BuildingClassInfo>
<Type>BUILDINGCLASS_SECONDFIREPIT</Type>
<Description>Second Firepit</Description>
<iMaxGlobalInstances>-1</iMaxGlobalInstances>
<iMaxTeamInstances>-1</iMaxTeamInstances>
<iMaxPlayerInstances>-1</iMaxPlayerInstances>
<iExtraPlayerInstances>0</iExtraPlayerInstances>
<bNoLimit>0</bNoLimit>
<bMonument>0</bMonument>
<DefaultBuilding>BUILDING_FIREPIT</DefaultBuilding>
<VictoryThresholds/>
</BuildingClassInfo>

still cant get a new building to work, I dont see what the prob is, the game wants to replace the building, but also, the darn thing doesnt come up in game except in the opening screen civilopedia. And once again sorry about the huge post, it says the open office format was invalid.
 
Download Notepad++. That should do the trick admirably.
 
The problem is in your BuildingClass code. <DefaultBuilding> needs to be BUILDING_SECONDFIREPIT, not BUILDING_FIREPIT. The <DefaultBuilding> is always the non-UB building that this class calls. Changing it will prevent the second pit from replacing the first.

If you are going to post a large block of code, I recommend using the spoiler tags. That means those of us who want to look at your code can do so by opening the spoiler, while those who don't can skip past it.
 
So I'm still stuck with my terrain features module.
Does anyone see something wrong with these codes?

Jewels_of_the_Land_CIV4FeatureInfos.xml
Spoiler :
PHP:
		<FeatureInfo>
			<Type>FEATURE_SCRUB</Type>
			<Description>TXT_KEY_FEATURE_SCRUB</Description>
			<Civilopedia>TXT_KEY_FEATURE_SCRUB_PEDIA</Civilopedia>
			<ArtDefineTag>ART_DEF_FEATURE_SCRUB</ArtDefineTag>
			<YieldChanges>
				<iYieldChange>0</iYieldChange>
				<iYieldChange>1</iYieldChange>
				<iYieldChange>0</iYieldChange>
			</YieldChanges>
			<RiverYieldChange>
				<iYield>1</iYield>
				<iYield>0</iYield>
				<iYield>1</iYield>
			</RiverYieldChange>
			<HillsYieldChange/>
			<iMovement>2</iMovement>
			<iSeeThrough>0</iSeeThrough>
			<iHealthPercent>0</iHealthPercent>
			<iDefense>10</iDefense>
			<iAppearance>1000</iAppearance>
			<iDisappearance>0</iDisappearance>
			<iGrowth>5</iGrowth>
			<iTurnDamage>0</iTurnDamage>
			<iWarmingDefense>0</iWarmingDefense>
			<iMinLatitude>0</iMinLatitude>
			<iMaxLatitude>90</iMaxLatitude>
			<bNoCoast>0</bNoCoast>
			<bNoRiver>0</bNoRiver>
			<bNoAdjacent>0</bNoAdjacent>
			<bRequiresFlatlands>1</bRequiresFlatlands>
			<bRequiresRiver>0</bRequiresRiver>
			<bAddsFreshWater>0</bAddsFreshWater>
			<bImpassable>0</bImpassable>
			<bNoCity>0</bNoCity>
			<bNoImprovement>0</bNoImprovement>
			<bVisibleAlways>0</bVisibleAlways>
			<bNukeImmune>0</bNukeImmune>
			<OnUnitChangeTo/>
			<TerrainBooleans>
				<TerrainBoolean>
					<TerrainType>TERRAIN_DESERT</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
			</TerrainBooleans>
			<FootstepSounds>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_MUD</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_LOW_MUD</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_MUD</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_LOW_MUD</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HORSE</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
			</FootstepSounds>
			<EffectType>NONE</EffectType>
			<iEffectProbability>0</iEffectProbability>
			<iAdvancedStartRemoveCost>0</iAdvancedStartRemoveCost>
		</FeatureInfo>
		<FeatureInfo>
			<Type>FEATURE_HOTSPRINGS</Type>
			<Description>TXT_KEY_FEATURE_HOTSPRINGS</Description>
			<Civilopedia>TXT_KEY_FEATURE_HOTSPRINGS_PEDIA</Civilopedia>
			<ArtDefineTag>ART_DEF_FEATURE_HOTSPRINGS</ArtDefineTag>
			<YieldChanges>
				<iYieldChange>0</iYieldChange>
				<iYieldChange>0</iYieldChange>
				<iYieldChange>1</iYieldChange>
			</YieldChanges>
			<RiverYieldChange/>
			<HillsYieldChange/>
			<iMovement>1</iMovement>
			<iSeeThrough>1</iSeeThrough>
			<iHealthPercent>0</iHealthPercent>
			<iDefense>10</iDefense>
			<iAppearance>100</iAppearance>
			<iDisappearance>0</iDisappearance>
			<iGrowth>0</iGrowth>
			<iTurnDamage>0</iTurnDamage>
			<iWarmingDefense>0</iWarmingDefense>
			<iMinLatitude>0</iMinLatitude>
			<iMaxLatitude>90</iMaxLatitude>
			<bNoCoast>0</bNoCoast>
			<bNoRiver>0</bNoRiver>
			<bNoAdjacent>1</bNoAdjacent>
			<bRequiresFlatlands>0</bRequiresFlatlands>
			<bRequiresRiver>0</bRequiresRiver>
			<bAddsFreshWater>0</bAddsFreshWater>
			<bImpassable>0</bImpassable>
			<bNoCity>0</bNoCity>
			<bNoImprovement>0</bNoImprovement>
			<bVisibleAlways>0</bVisibleAlways>
			<bNukeImmune>0</bNukeImmune>
			<OnUnitChangeTo/>
			<TerrainBooleans>
				<TerrainBoolean>
					<TerrainType>TERRAIN_TUNDRA</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
				<TerrainBoolean>
					<TerrainType>TERRAIN_PLAINS</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
				<TerrainBoolean>
					<TerrainType>TERRAIN_GRASS</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
				<TerrainBoolean>
					<TerrainType>TERRAIN_DESERT</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
				<TerrainBoolean>
					<TerrainType>TERRAIN_TUNDRA</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
				<TerrainBoolean>
					<TerrainType>TERRAIN_SNOW</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
				<TerrainBoolean>
					<TerrainType>TERRAIN_MARSH</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
			</TerrainBooleans>
			<FootstepSounds>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_MUD</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_LOW_MUD</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_MUD</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_LOW_MUD</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HORSE</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
			</FootstepSounds>
			<EffectType>NONE</EffectType>
			<iEffectProbability>0</iEffectProbability>
			<iAdvancedStartRemoveCost>0</iAdvancedStartRemoveCost>
		</FeatureInfo>
		<FeatureInfo>
			<Type>FEATURE_SAVANNA</Type>
			<Description>TXT_KEY_FEATURE_SAVANNA</Description>
			<Civilopedia>TXT_KEY_FEATURE_SAVANNA_PEDIA</Civilopedia>
			<ArtDefineTag>ART_DEF_FEATURE_SAVANNA</ArtDefineTag>
			<YieldChanges>
				<iYieldChange>0</iYieldChange>
				<iYieldChange>1</iYieldChange>
				<iYieldChange>0</iYieldChange>
			</YieldChanges>
			<RiverYieldChange/>
			<HillsYieldChange/>
			<iMovement>1</iMovement>
			<iSeeThrough>0</iSeeThrough>
			<iHealthPercent>25</iHealthPercent>
			<iDefense>10</iDefense>
			<iAppearance>2000</iAppearance>
			<iDisappearance>0</iDisappearance>
			<iGrowth>20</iGrowth>
			<iTurnDamage>0</iTurnDamage>
			<iWarmingDefense>0</iWarmingDefense>
			<iMinLatitude>0</iMinLatitude>
			<iMaxLatitude>60</iMaxLatitude>
			<bNoCoast>0</bNoCoast>
			<bNoRiver>0</bNoRiver>
			<bNoAdjacent>0</bNoAdjacent>
			<bRequiresFlatlands>0</bRequiresFlatlands>
			<bRequiresRiver>0</bRequiresRiver>
			<bAddsFreshWater>0</bAddsFreshWater>
			<bImpassable>0</bImpassable>
			<bNoCity>0</bNoCity>
			<bNoImprovement>0</bNoImprovement>
			<bVisibleAlways>0</bVisibleAlways>
			<bNukeImmune>0</bNukeImmune>
			<OnUnitChangeTo/>
			<TerrainBooleans>
				<TerrainBoolean>
					<TerrainType>TERRAIN_PLAINS</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
			</TerrainBooleans>
			<FootstepSounds>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN_LOW</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL_LOW</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HORSE</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
			</FootstepSounds>
			<WorldSoundscapeAudioScript>ASSS_FOREST_SELECT_AMB</WorldSoundscapeAudioScript>
			<EffectType>EFFECT_BIRDSCATTER</EffectType>
			<iEffectProbability>15</iEffectProbability>
			<iAdvancedStartRemoveCost>0</iAdvancedStartRemoveCost>
		</FeatureInfo>
		<FeatureInfo>
			<Type>FEATURE_REEF</Type>
			<Description>TXT_KEY_FEATURE_REEF</Description>
			<Civilopedia>TXT_KEY_FEATURE_REEF_PEDIA</Civilopedia>
			<ArtDefineTag>ART_DEF_FEATURE_REEF</ArtDefineTag>
			<YieldChanges>
				<iYieldChange>0</iYieldChange>
				<iYieldChange>0</iYieldChange>
				<iYieldChange>1</iYieldChange>
			</YieldChanges>
			<RiverYieldChange/>
			<HillsYieldChange/>
			<iMovement>4</iMovement>
			<iSeeThrough>0</iSeeThrough>
			<iHealthPercent>0</iHealthPercent>
			<iDefense>-20</iDefense>
			<iAppearance>200</iAppearance>
			<iDisappearance>0</iDisappearance>
			<iGrowth>0</iGrowth>
			<iTurnDamage>25</iTurnDamage>
			<iWarmingDefense>0</iWarmingDefense>
			<iMinLatitude>0</iMinLatitude>
			<iMaxLatitude>90</iMaxLatitude>
			<bNoCoast>0</bNoCoast>
			<bNoRiver>0</bNoRiver>
			<bNoAdjacent>0</bNoAdjacent>
			<bRequiresFlatlands>0</bRequiresFlatlands>
			<bRequiresRiver>0</bRequiresRiver>
			<bAddsFreshWater>0</bAddsFreshWater>
			<bImpassable>0</bImpassable>
			<bNoCity>0</bNoCity>
			<bNoImprovement>0</bNoImprovement>
			<bVisibleAlways>0</bVisibleAlways>
			<bNukeImmune>0</bNukeImmune>
			<OnUnitChangeTo/>
			<TerrainBooleans>
				<TerrainBoolean>
					<TerrainType>TERRAIN_COAST</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
			</TerrainBooleans>
			<FootstepSounds>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_SNOW</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_LOW_SNOW</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_SNOW</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_LOW_SNOW</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HORSE</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
			</FootstepSounds>
			<EffectType>EFFECT_BIRDSCATTER</EffectType>
			<iEffectProbability>80</iEffectProbability>
			<iAdvancedStartRemoveCost>0</iAdvancedStartRemoveCost>
		</FeatureInfo>

Jewels_of_the_Land_CIV4ArtDefines_Feature.xml
Spoiler :
PHP:
		<FeatureArtInfo>
			<Type>ART_DEF_FEATURE_SCRUB</Type>
			<bAnimated>0</bAnimated>
			<bRiverArt>0</bRiverArt>
			<TileArtType>TILE_ART_TYPE_PLOT_TILING</TileArtType>
			<LightType>LIGHT_TYPE_SUN</LightType>
			<fScale>1.0</fScale>
			<fInterfaceScale>1.0</fInterfaceScale>
			<Button>Art/Interface/Buttons/TerrainFeatures/scrub.dds</Button>
			<FeatureVariety>
				<!-- Note from Josh (2010-03-16): Do we need to add Art Pieces? -->
				<FeatureArtPieces>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/scrub/scrub15_01.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/scrub/scrub15_02.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/scrub/scrub15_03.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/scrub/scrub15_04.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/scrub/scrub15_05.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/scrub/scrub15_06.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/scrub/scrub15_07.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/scrub/scrub15_08.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/scrub/scrub15_09.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/scrub/scrub15_10.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/scrub/scrub15_11.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/scrub/scrub15_12.nif</ModelFile>
						<Connections></Connections>
					</FeatureArtPiece>
				</FeatureArtPieces>
				<FeatureDummyNodes/>
				<bGenerateRotations>0</bGenerateRotations>
				<VarietyButton>Art/Interface/Buttons/TerrainFeatures/scrub.dds</VarietyButton>
			</FeatureVariety>
		</FeatureArtInfo>
		<FeatureArtInfo>
			<Type>ART_DEF_FEATURE_HOTSPRINGS</Type>
			<bAnimated>1</bAnimated>
			<bRiverArt>0</bRiverArt>
			<TileArtType>TILE_ART_TYPE_NONE</TileArtType>
			<LightType>LIGHT_TYPE_SUN</LightType>
			<fScale>0.5</fScale>
			<fInterfaceScale>1.0</fInterfaceScale>
			<Button>Art/Interface/Buttons/TerrainFeatures/hot_springs_bt.dds</Button>
			<FeatureVariety>
				<!-- Note from Josh (2010-03-16): Do we need to add Art Pieces? -->
				<FeatureArtPieces>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Hot springs/thermal.nif</ModelFile>
						<Connections></Connections>
					</FeatureArtPiece>
				</FeatureArtPieces>
				<FeatureDummyNodes/>
				<bGenerateRotations>0</bGenerateRotations>
				<VarietyButton>Art/Interface/Buttons/TerrainFeatures/hot_springs_bt.dds</VarietyButton>
			</FeatureVariety>
		</FeatureArtInfo>
		<FeatureArtInfo>
			<Type>ART_DEF_FEATURE_SAVANNA</Type>
			<bAnimated>0</bAnimated>
			<bRiverArt>0</bRiverArt>
			<TileArtType>TILE_ART_TYPE_TREES</TileArtType>
			<LightType>LIGHT_TYPE_SUN</LightType>
			<fScale>1.0</fScale>
			<fInterfaceScale>1.0</fInterfaceScale>
			<Button>Art/Interface/Buttons/TerrainFeatures/button_savanna.dds</Button>
			<FeatureVariety>
				<FeatureArtPieces>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms01_01.nif</ModelFile>
						<Connections>NW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms02_01.nif</ModelFile>
						<Connections>NE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms03_01.nif</ModelFile>
						<Connections>NW NE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms04_01.nif</ModelFile>
						<Connections>SE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms05_01.nif</ModelFile>
						<Connections>NW SE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms06_01.nif</ModelFile>
						<Connections>NE SE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms07_01.nif</ModelFile>
						<Connections>NW NE SE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms08_01.nif</ModelFile>
						<Connections>SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms09_01.nif</ModelFile>
						<Connections>NW SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms10_01.nif</ModelFile>
						<Connections>NE SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms11_01.nif</ModelFile>
						<Connections>NW NE SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms12_01.nif</ModelFile>
						<Connections>SE SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms13_01.nif</ModelFile>
						<Connections>NW SE SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms14_01.nif</ModelFile>
						<Connections>NE SE SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Savanna/Palms15_01.nif</ModelFile>
					<Connections>NW NE SE SW</Connections>
					</FeatureArtPiece>
				</FeatureArtPieces>
				<FeatureDummyNodes/>
				<bGenerateRotations>0</bGenerateRotations>
				<VarietyButton>Art/Interface/Buttons/TerrainFeatures/button_savanna.dds</VarietyButton>
			</FeatureVariety>
		</FeatureArtInfo>
		<FeatureArtInfo>
			<Type>ART_DEF_FEATURE_REEF</Type>
			<bAnimated>1</bAnimated>
			<bRiverArt>0</bRiverArt>
			<TileArtType>TILE_ART_TYPE_HALF_TILING</TileArtType>
			<LightType>LIGHT_TYPE_SUN</LightType>
			<fScale>0.4</fScale>
			<fInterfaceScale>1.0</fInterfaceScale>
			<Button>Art/Interface/Buttons/TerrainFeatures/reefs.dds</Button>
			<FeatureVariety>
				<FeatureArtPieces>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Reef/stone_nw.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/Reef/stone_nw2.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/Reef/stone_nw3.nif</ModelFile>
						<Connections>NW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Reef/stone_ne.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/Reef/stone_ne2.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/Reef/stone_ne3.nif</ModelFile>
						<Connections>NE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Reef/stone_sw.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/Reef/stone_sw2.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/Reef/stone_sw3.nif</ModelFile>
						<Connections>SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/Features/Reef/stone_se.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/Reef/stone_se2.nif</ModelFile>
						<ModelFile>Art/Terrain/Features/Reef/stone_se3.nif</ModelFile>
						<Connections>SE</Connections>
					</FeatureArtPiece>
				</FeatureArtPieces>
				<FeatureDummyNodes/>
				<bGenerateRotations>0</bGenerateRotations>
				<VarietyButton>Art/Interface/Buttons/TerrainFeatures/reefs.dds</VarietyButton>
			</FeatureVariety>
		</FeatureArtInfo>
 
If I want to add new specialists to the city screen what do I need to do to make them visible?
Haven't tried it yet but I guess that the area will not auto-adjust to make them all visible as I recall from some bug reports.
So is it controlled by some python files or is it DLL work?
 
Top Bottom