Indie Stone XML Conflict Finder

lemmy101

Emperor
Joined
Apr 10, 2006
Messages
1,064
Coming soon.

A quick taster of what's next from Indie Stone:

conf1.png


Also part of the tech editor but will also be released as a stand-alone tool.

The conflict finder can load up any combination of XML mod files and use them to determine if there are any conflicts from deleted table entries.

In the above example, I deleted Bronze Working with one line of XML:

Code:
<Delete Type="TECH_BRONZE_WORKING"/>

Then loaded this in the tool. It will then search the entire Civ 5 XML base, and pop up with all the issues it finds. Other objects within the database/XML that still reference the deleted item. You can choose to set the offending conflict to another of the types available which includes new types added by your mod (in this case Technologies)

conf2.png


It goes through everything. Every XML file in Civ, including all DLC.

In our example, I've deleted all things that reference Bronze Working. I finally deal with all the Bronze Working conflicts, but I've been creating new conflicts with everything I delete. So now...

conf3.png


Note the type to replace drop down now contains the relevant type to replace with this, all extracted from the language file for easy reading.

conf5.png


I keep deleting stuff that conflicts, like some mad deleting monster. I click replace a few times too. Setting anything that needed my now deleted Barracks building class to point at BUILDINGCLASS_COURTHOUSE.

conf7.png


Finally....! (note this dialog is written for the tech tree editor, the stand alone tool won't assume anything about the type of file it is ;))

Let's see what XML it's spat out:

Code:
<GameData>
  <BuildingClasses>
    <Delete Type="BUILDINGCLASS_BARRACKS" />
    <Delete Type="BUILDINGCLASS_COLOSSUS" />
  </BuildingClasses>
  <Buildings>
    <Delete Type="BUILDING_KREPOST" />
    <Delete Type="BUILDING_BARRACKS" />
    <Delete Type="BUILDING_COLOSSUS" />
  </Buildings>
  <Building_ClassesNeededInCity>
    <Delete BuildingType="BUILDING_ARMORY" BuildingClassType="BUILDINGCLASS_BARRACKS" />
    <Delete BuildingType="BUILDING_MILITARY_ACADEMY" BuildingClassType="BUILDINGCLASS_BARRACKS" />
    <Delete BuildingType="BUILDING_HEROIC_EPIC" BuildingClassType="BUILDINGCLASS_BARRACKS" />
    <Row>
      <BuildingType>BUILDING_ARMORY</BuildingType>
      <BuildingClassType>BUILDINGCLASS_COURTHOUSE</BuildingClassType>
    </Row>
    <Row>
      <BuildingType>BUILDING_MILITARY_ACADEMY</BuildingType>
      <BuildingClassType>BUILDINGCLASS_COURTHOUSE</BuildingClassType>
    </Row>
    <Row>
      <BuildingType>BUILDING_HEROIC_EPIC</BuildingType>
      <BuildingClassType>BUILDINGCLASS_COURTHOUSE</BuildingClassType>
    </Row>
  </Building_ClassesNeededInCity>
  <Building_DomainFreeExperiences>
    <Delete BuildingType="BUILDING_BARRACKS" DomainType="DOMAIN_LAND" Experience="15" />
    <Delete BuildingType="BUILDING_KREPOST" DomainType="DOMAIN_LAND" Experience="15" />
  </Building_DomainFreeExperiences>
  <Building_Flavors>
    <Delete BuildingType="BUILDING_BARRACKS" FlavorType="FLAVOR_MILITARY_TRAINING" Flavor="10" />
    <Delete BuildingType="BUILDING_KREPOST" FlavorType="FLAVOR_MILITARY_TRAINING" Flavor="20" />
    <Delete BuildingType="BUILDING_KREPOST" FlavorType="FLAVOR_EXPANSION" Flavor="20" />
    <Delete BuildingType="BUILDING_COLOSSUS" FlavorType="FLAVOR_GOLD" Flavor="15" />
    <Delete BuildingType="BUILDING_COLOSSUS" FlavorType="FLAVOR_WONDER" Flavor="20" />
  </Building_Flavors>
  <Building_PrereqBuildingClasses>
    <Delete BuildingType="BUILDING_HEROIC_EPIC" BuildingClassType="BUILDINGCLASS_BARRACKS" NumBuildingNeeded="-1" />
    <Row>
      <BuildingType>BUILDING_HEROIC_EPIC</BuildingType>
      <BuildingClassType>BUILDINGCLASS_COURTHOUSE</BuildingClassType>
      <NumBuildingNeeded>-1</NumBuildingNeeded>
    </Row>
  </Building_PrereqBuildingClasses>
  <Building_SeaPlotYieldChanges>
    <Delete BuildingType="BUILDING_COLOSSUS" YieldType="YIELD_GOLD" Yield="1" />
  </Building_SeaPlotYieldChanges>
  <Civilization_BuildingClassOverrides>
    <Delete CivilizationType="CIVILIZATION_BARBARIAN" BuildingClassType="BUILDINGCLASS_COLOSSUS" BuildingType="" />
    <Delete CivilizationType="CIVILIZATION_MINOR" BuildingClassType="BUILDINGCLASS_COLOSSUS" BuildingType="" />
    <Delete CivilizationType="CIVILIZATION_RUSSIA" BuildingClassType="BUILDINGCLASS_BARRACKS" BuildingType="BUILDING_KREPOST" />
    <Row>
      <CivilizationType>CIVILIZATION_BARBARIAN</CivilizationType>
      <BuildingClassType>BUILDINGCLASS_COURTHOUSE</BuildingClassType>
      <BuildingType>
      </BuildingType>
    </Row>
    <Row>
      <CivilizationType>CIVILIZATION_MINOR</CivilizationType>
      <BuildingClassType>BUILDINGCLASS_COURTHOUSE</BuildingClassType>
      <BuildingType>
      </BuildingType>
    </Row>
  </Civilization_BuildingClassOverrides>
  <Civilization_UnitClassOverrides>
    <Delete CivilizationType="CIVILIZATION_BARBARIAN" UnitClassType="UNITCLASS_WARRIOR" UnitType="UNIT_BARBARIAN_WARRIOR" />
    <Delete CivilizationType="CIVILIZATION_BARBARIAN" UnitClassType="UNITCLASS_SPEARMAN" UnitType="UNIT_BARBARIAN_SPEARMAN" />
    <Delete CivilizationType="CIVILIZATION_AZTEC" UnitClassType="UNITCLASS_WARRIOR" UnitType="UNIT_AZTEC_JAGUAR" />
    <Delete CivilizationType="CIVILIZATION_GREECE" UnitClassType="UNITCLASS_SPEARMAN" UnitType="UNIT_GREEK_HOPLITE" />
    <Delete CivilizationType="CIVILIZATION_PERSIA" UnitClassType="UNITCLASS_SPEARMAN" UnitType="UNIT_PERSIAN_IMMORTAL" />
  </Civilization_UnitClassOverrides>
  <Eras />
  <GoodyHuts>
    <Delete Type="GOODY_WARRIOR" />
    <Delete Type="GOODY_BARBARIANS_WEAK" />
    <Delete Type="GOODY_BARBARIANS_STRONG" />
  </GoodyHuts>
  <Technologies>
    <Delete Type="TECH_BRONZE_WORKING" />
  </Technologies>
  <Technology_Flavors>
    <Delete TechType="TECH_BRONZE_WORKING" FlavorType="FLAVOR_DEFENSE" Flavor="4" />
    <Delete TechType="TECH_BRONZE_WORKING" FlavorType="FLAVOR_MILITARY_TRAINING" Flavor="4" />
    <Delete TechType="TECH_BRONZE_WORKING" FlavorType="FLAVOR_WONDER" Flavor="2" />
  </Technology_Flavors>
  <Technology_PrereqTechs>
    <Delete TechType="TECH_BRONZE_WORKING" PrereqTech="TECH_MINING" />
    <Delete TechType="TECH_IRON_WORKING" PrereqTech="TECH_BRONZE_WORKING" />
  </Technology_PrereqTechs>
  <Builds>
    <Delete Type="BUILD_REMOVE_JUNGLE" />
  </Builds>
  <BuildFeatures>
    <Delete BuildType="BUILD_FARM" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" Remove="true" />
    <Delete BuildType="BUILD_MINE" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" Remove="true" />
    <Delete BuildType="BUILD_TRADING_POST" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" />
    <Delete BuildType="BUILD_PASTURE" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" Remove="true" />
    <Delete BuildType="BUILD_PLANTATION" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" Remove="true" />
    <Delete BuildType="BUILD_QUARRY" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" Remove="true" />
    <Delete BuildType="BUILD_FORT" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" />
    <Delete BuildType="BUILD_REMOVE_JUNGLE" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" Remove="true" />
    <Delete BuildType="BUILD_LANDMARK" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Remove="true" />
    <Delete BuildType="BUILD_ACADEMY" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Remove="true" />
    <Delete BuildType="BUILD_CUSTOMS_HOUSE" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Remove="true" />
    <Delete BuildType="BUILD_MANUFACTORY" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Remove="true" />
    <Delete BuildType="BUILD_CITADEL" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Remove="true" />
  </BuildFeatures>
  <UnitClasses>
    <Delete Type="UNITCLASS_WARRIOR" />
    <Delete Type="UNITCLASS_SPEARMAN" />
  </UnitClasses>
  <Units>
    <Delete Type="UNIT_SPEARMAN" />
    <Delete Type="UNIT_GREEK_HOPLITE" />
    <Delete Type="UNIT_PERSIAN_IMMORTAL" />
    <Delete Type="UNIT_WARRIOR" />
    <Delete Type="UNIT_AZTEC_JAGUAR" />
    <Delete Type="UNIT_BARBARIAN_WARRIOR" />
    <Delete Type="UNIT_BARBARIAN_SPEARMAN" />
  </Units>
  <Unit_AITypes>
    <Delete UnitType="UNIT_WARRIOR" UnitAIType="UNITAI_ATTACK" />
    <Delete UnitType="UNIT_WARRIOR" UnitAIType="UNITAI_DEFENSE" />
    <Delete UnitType="UNIT_WARRIOR" UnitAIType="UNITAI_EXPLORE" />
    <Delete UnitType="UNIT_AZTEC_JAGUAR" UnitAIType="UNITAI_ATTACK" />
    <Delete UnitType="UNIT_AZTEC_JAGUAR" UnitAIType="UNITAI_DEFENSE" />
    <Delete UnitType="UNIT_AZTEC_JAGUAR" UnitAIType="UNITAI_EXPLORE" />
    <Delete UnitType="UNIT_SPEARMAN" UnitAIType="UNITAI_COUNTER" />
    <Delete UnitType="UNIT_SPEARMAN" UnitAIType="UNITAI_DEFENSE" />
    <Delete UnitType="UNIT_SPEARMAN" UnitAIType="UNITAI_EXPLORE" />
    <Delete UnitType="UNIT_BARBARIAN_SPEARMAN" UnitAIType="UNITAI_COUNTER" />
    <Delete UnitType="UNIT_BARBARIAN_SPEARMAN" UnitAIType="UNITAI_DEFENSE" />
    <Delete UnitType="UNIT_BARBARIAN_SPEARMAN" UnitAIType="UNITAI_EXPLORE" />
    <Delete UnitType="UNIT_GREEK_HOPLITE" UnitAIType="UNITAI_COUNTER" />
    <Delete UnitType="UNIT_GREEK_HOPLITE" UnitAIType="UNITAI_DEFENSE" />
    <Delete UnitType="UNIT_GREEK_HOPLITE" UnitAIType="UNITAI_EXPLORE" />
    <Delete UnitType="UNIT_PERSIAN_IMMORTAL" UnitAIType="UNITAI_COUNTER" />
    <Delete UnitType="UNIT_PERSIAN_IMMORTAL" UnitAIType="UNITAI_DEFENSE" />
    <Delete UnitType="UNIT_PERSIAN_IMMORTAL" UnitAIType="UNITAI_EXPLORE" />
  </Unit_AITypes>
  <Unit_Builds>
    <Delete UnitType="UNIT_WORKER" BuildType="BUILD_REMOVE_JUNGLE" />
  </Unit_Builds>
  <Unit_ClassUpgrades>
    <Delete UnitType="UNIT_WARRIOR" UnitClassType="UNITCLASS_SWORDSMAN" />
    <Delete UnitType="UNIT_AZTEC_JAGUAR" UnitClassType="UNITCLASS_SWORDSMAN" />
    <Delete UnitType="UNIT_BARBARIAN_WARRIOR" UnitClassType="UNITCLASS_SWORDSMAN" />
    <Delete UnitType="UNIT_SPEARMAN" UnitClassType="UNITCLASS_PIKEMAN" />
    <Delete UnitType="UNIT_BARBARIAN_SPEARMAN" UnitClassType="UNITCLASS_PIKEMAN" />
    <Delete UnitType="UNIT_GREEK_HOPLITE" UnitClassType="UNITCLASS_PIKEMAN" />
    <Delete UnitType="UNIT_PERSIAN_IMMORTAL" UnitClassType="UNITCLASS_PIKEMAN" />
  </Unit_ClassUpgrades>
  <Unit_Flavors>
    <Delete UnitType="UNIT_WARRIOR" FlavorType="FLAVOR_RECON" Flavor="1" />
    <Delete UnitType="UNIT_WARRIOR" FlavorType="FLAVOR_OFFENSE" Flavor="2" />
    <Delete UnitType="UNIT_WARRIOR" FlavorType="FLAVOR_DEFENSE" Flavor="2" />
    <Delete UnitType="UNIT_AZTEC_JAGUAR" FlavorType="FLAVOR_RECON" Flavor="2" />
    <Delete UnitType="UNIT_AZTEC_JAGUAR" FlavorType="FLAVOR_OFFENSE" Flavor="4" />
    <Delete UnitType="UNIT_AZTEC_JAGUAR" FlavorType="FLAVOR_DEFENSE" Flavor="4" />
    <Delete UnitType="UNIT_SPEARMAN" FlavorType="FLAVOR_OFFENSE" Flavor="2" />
    <Delete UnitType="UNIT_SPEARMAN" FlavorType="FLAVOR_DEFENSE" Flavor="4" />
    <Delete UnitType="UNIT_BARBARIAN_SPEARMAN" FlavorType="FLAVOR_OFFENSE" Flavor="2" />
    <Delete UnitType="UNIT_BARBARIAN_SPEARMAN" FlavorType="FLAVOR_DEFENSE" Flavor="4" />
    <Delete UnitType="UNIT_GREEK_HOPLITE" FlavorType="FLAVOR_OFFENSE" Flavor="4" />
    <Delete UnitType="UNIT_GREEK_HOPLITE" FlavorType="FLAVOR_DEFENSE" Flavor="8" />
    <Delete UnitType="UNIT_PERSIAN_IMMORTAL" FlavorType="FLAVOR_OFFENSE" Flavor="4" />
    <Delete UnitType="UNIT_PERSIAN_IMMORTAL" FlavorType="FLAVOR_DEFENSE" Flavor="8" />
  </Unit_Flavors>
  <Unit_FreePromotions>
    <Delete UnitType="UNIT_AZTEC_JAGUAR" PromotionType="PROMOTION_JAGUAR" />
    <Delete UnitType="UNIT_AZTEC_JAGUAR" PromotionType="PROMOTION_PARTIAL_HEAL_IF_DESTROY_ENEMY" />
    <Delete UnitType="UNIT_SPEARMAN" PromotionType="PROMOTION_ANTI_MOUNTED_II" />
    <Delete UnitType="UNIT_BARBARIAN_SPEARMAN" PromotionType="PROMOTION_ANTI_MOUNTED_II" />
    <Delete UnitType="UNIT_GREEK_HOPLITE" PromotionType="PROMOTION_ANTI_MOUNTED_II" />
    <Delete UnitType="UNIT_PERSIAN_IMMORTAL" PromotionType="PROMOTION_ANTI_MOUNTED_II" />
    <Delete UnitType="UNIT_PERSIAN_IMMORTAL" PromotionType="PROMOTION_FASTER_HEAL" />
  </Unit_FreePromotions>
</GameData>

Wowzers! All this from deleting Bronze Working (and things that use it)

Of course I could have just reassigned everything to Iron Working instead of deleting stuff left right and centre (except the prerequisite tech for Iron Working, for obvious reasons. That I delete.)

This is the XML that's produced:

Code:
<GameData>
  <Buildings>
    <Update>
      <Set PrereqTech="TECH_IRON_WORKING" />
      <Where Type="BUILDING_KREPOST" />
    </Update>
    <Update>
      <Set PrereqTech="TECH_IRON_WORKING" />
      <Where Type="BUILDING_BARRACKS" />
    </Update>
    <Update>
      <Set PrereqTech="TECH_IRON_WORKING" />
      <Where Type="BUILDING_COLOSSUS" />
    </Update>
  </Buildings>
  <Eras />
  <Technologies>
    <Delete Type="TECH_BRONZE_WORKING" />
  </Technologies>
  <Technology_Flavors>
    <Delete TechType="TECH_BRONZE_WORKING" FlavorType="FLAVOR_DEFENSE" Flavor="4" />
    <Delete TechType="TECH_BRONZE_WORKING" FlavorType="FLAVOR_MILITARY_TRAINING" Flavor="4" />
    <Delete TechType="TECH_BRONZE_WORKING" FlavorType="FLAVOR_WONDER" Flavor="2" />
    <Row>
      <TechType>TECH_IRON_WORKING</TechType>
      <FlavorType>FLAVOR_DEFENSE</FlavorType>
      <Flavor>4</Flavor>
    </Row>
    <Row>
      <TechType>TECH_IRON_WORKING</TechType>
      <FlavorType>FLAVOR_MILITARY_TRAINING</FlavorType>
      <Flavor>4</Flavor>
    </Row>
    <Row>
      <TechType>TECH_IRON_WORKING</TechType>
      <FlavorType>FLAVOR_WONDER</FlavorType>
      <Flavor>2</Flavor>
    </Row>
  </Technology_Flavors>
  <Technology_PrereqTechs>
    <Delete TechType="TECH_BRONZE_WORKING" PrereqTech="TECH_MINING" />
    <Delete TechType="TECH_IRON_WORKING" PrereqTech="TECH_BRONZE_WORKING" />
    <Row>
      <TechType>TECH_IRON_WORKING</TechType>
      <PrereqTech>TECH_MINING</PrereqTech>
    </Row>    
  </Technology_PrereqTechs>
  <Builds>
    <Update>
      <Set PrereqTech="TECH_IRON_WORKING" />
      <Where Type="BUILD_REMOVE_JUNGLE" />
    </Update>
  </Builds>
  <BuildFeatures>
    <Delete BuildType="BUILD_FARM" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" Remove="true" />
    <Delete BuildType="BUILD_MINE" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" Remove="true" />
    <Delete BuildType="BUILD_TRADING_POST" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" />
    <Delete BuildType="BUILD_PASTURE" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" Remove="true" />
    <Delete BuildType="BUILD_PLANTATION" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" Remove="true" />
    <Delete BuildType="BUILD_QUARRY" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" Remove="true" />
    <Delete BuildType="BUILD_FORT" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" />
    <Delete BuildType="BUILD_REMOVE_JUNGLE" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Time="700" Remove="true" />
    <Delete BuildType="BUILD_LANDMARK" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Remove="true" />
    <Delete BuildType="BUILD_ACADEMY" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Remove="true" />
    <Delete BuildType="BUILD_CUSTOMS_HOUSE" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Remove="true" />
    <Delete BuildType="BUILD_MANUFACTORY" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Remove="true" />
    <Delete BuildType="BUILD_CITADEL" FeatureType="FEATURE_JUNGLE" PrereqTech="TECH_BRONZE_WORKING" Remove="true" />
    <Row>
      <BuildType>BUILD_FARM</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Time>700</Time>
      <Remove>true</Remove>
    </Row>
    <Row>
      <BuildType>BUILD_MINE</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Time>700</Time>
      <Remove>true</Remove>
    </Row>
    <Row>
      <BuildType>BUILD_TRADING_POST</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Time>700</Time>
    </Row>
    <Row>
      <BuildType>BUILD_PASTURE</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Time>700</Time>
      <Remove>true</Remove>
    </Row>
    <Row>
      <BuildType>BUILD_PLANTATION</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Time>700</Time>
      <Remove>true</Remove>
    </Row>
    <Row>
      <BuildType>BUILD_QUARRY</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Time>700</Time>
      <Remove>true</Remove>
    </Row>
    <Row>
      <BuildType>BUILD_FORT</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Time>700</Time>
    </Row>
    <Row>
      <BuildType>BUILD_REMOVE_JUNGLE</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Time>700</Time>
      <Remove>true</Remove>
    </Row>
    <Row>
      <BuildType>BUILD_LANDMARK</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Remove>true</Remove>
    </Row>
    <Row>
      <BuildType>BUILD_ACADEMY</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Remove>true</Remove>
    </Row>
    <Row>
      <BuildType>BUILD_CUSTOMS_HOUSE</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Remove>true</Remove>
    </Row>
    <Row>
      <BuildType>BUILD_MANUFACTORY</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Remove>true</Remove>
    </Row>
    <Row>
      <BuildType>BUILD_CITADEL</BuildType>
      <FeatureType>FEATURE_JUNGLE</FeatureType>
      <PrereqTech>TECH_IRON_WORKING</PrereqTech>
      <Remove>true</Remove>
    </Row>
  </BuildFeatures>
  <Units>
    <Update>
      <Set PrereqTech="TECH_IRON_WORKING" />
      <Where Type="UNIT_SPEARMAN" />
    </Update>
    <Update>
      <Set PrereqTech="TECH_IRON_WORKING" />
      <Where Type="UNIT_GREEK_HOPLITE" />
    </Update>
    <Update>
      <Set PrereqTech="TECH_IRON_WORKING" />
      <Where Type="UNIT_PERSIAN_IMMORTAL" />
    </Update>
    <Update>
      <Set PrereqTech="TECH_IRON_WORKING" />
      <Where Type="UNIT_BARBARIAN_SPEARMAN" />
    </Update>
  </Units>
</GameData>

Expect it in a day or two. :)
 
Drooling... =P~

It is a thing of beauty, kind sir.
 
Does this work for xml dependencies other than the tech tree? I have a mod where I am removing an Improvement and I would like to use this to make sure I have everything removed properly.

I used the "Mod XML to Current" command to load the XML from my mod, then when I exported it said it found no conflicts.

<Improvements>
<Delete Type="IMPROVEMENT_TRADING_POST"/>
</Improvements>
 
yeah that should work. What's the XML you loaded in? I will try here see if there's anything amiss?

EDIT: Oh also bear in mind it only does conflict checking when you export, not on import as you may intend to deal with them yourself so it gives you that opportunity, so export to just any old filename and you can see what conflicts are in it.
 
This is the xml of the file I was using.

<?xml version="1.0" encoding="utf-8"?>
<!-- Created by ModBuddy on 11/4/2010 7:13:15 PM -->
<GameData>
<Improvements>
<Delete Type="IMPROVEMENT_TRADING_POST"/>
</Improvements>
</GameData>
 
Back
Top Bottom