1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Indie Stone XML Conflict Finder

Discussion in 'Civ5 - Utility Programs' started by lemmy101, Nov 3, 2010.

  1. lemmy101

    lemmy101 Emperor

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

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



    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)



    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...



    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.



    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.



    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. :)
     
  2. Whys

    Whys Between the Lines

    Joined:
    Oct 20, 2007
    Messages:
    456
    Drooling... =P~

    It is a thing of beauty, kind sir.
     
  3. lemmy101

    lemmy101 Emperor

    Joined:
    Apr 10, 2006
    Messages:
    1,064
  4. Mannu

    Mannu Warlord

    Joined:
    Sep 23, 2005
    Messages:
    230
    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>
     
  5. lemmy101

    lemmy101 Emperor

    Joined:
    Apr 10, 2006
    Messages:
    1,064
    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.
     
  6. Mannu

    Mannu Warlord

    Joined:
    Sep 23, 2005
    Messages:
    230
    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>
     
  7. lemmy101

    lemmy101 Emperor

    Joined:
    Apr 10, 2006
    Messages:
    1,064
    So you don't get anything when you export? How do you know it didn't 'do anything'?

    I deleted it in mine and it picked up the conflicts fine, I got a conflict in Improvement_Yields, Improvement_ValidTerrains and Improvement_YieldChanges when I tried to export.
     
  8. Mannu

    Mannu Warlord

    Joined:
    Sep 23, 2005
    Messages:
    230
    I'll try again tonight, sounds like the PEBKAC to me. :blush:
     

Share This Page