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

Questions for modders

Discussion in 'FfH2 Modmods, Scenarios, and Maps' started by Ingvar, Jul 18, 2008.

  1. Ingvar

    Ingvar Chieftain

    Joined:
    Jun 15, 2008
    Messages:
    62
    This is once more based on Lutefisk_Mafia's code. I just took it a bit further and added all livestock with one spell to grab resource and five spells to drop it, plus a promotion to allow these spells.

    First CIV4PromotionInfos.xml adding Herder, Cow Herd, Deer Herd, Horse Herd, Pig Herd and Sheep Herd Promotions:
    Spoiler :

    Code:
            <PromotionInfo>
                <Type>PROMOTION_HERDER</Type>
                <Description>TXT_KEY_PROMOTION_HERDER</Description>
                <Help></Help>
                <Sound>AS2D_IF_LEVELUP</Sound>
                <LayerAnimationPath>NONE</LayerAnimationPath>
                <PromotionPrereq>NONE</PromotionPrereq>
                <PromotionPrereqOr1>NONE</PromotionPrereqOr1>
                <PromotionPrereqOr2>NONE</PromotionPrereqOr2>
                <TechPrereq>NONE</TechPrereq>
                <StateReligionPrereq>NONE</StateReligionPrereq>
                <bLeader>0</bLeader>
                <bBlitz>0</bBlitz>
                <bAmphib>0</bAmphib>
                <bRiver>0</bRiver>
                <bEnemyRoute>0</bEnemyRoute>
                <bAlwaysHeal>0</bAlwaysHeal>
                <bHillsDoubleMove>0</bHillsDoubleMove>
                <bImmuneToFirstStrikes>0</bImmuneToFirstStrikes>
                <iVisibilityChange>0</iVisibilityChange>
                <iMovesChange>0</iMovesChange>
                <iMoveDiscountChange>0</iMoveDiscountChange>
                <iAirRangeChange>0</iAirRangeChange>
                <iInterceptChange>0</iInterceptChange>
                <iEvasionChange>0</iEvasionChange>
                <iWithdrawalChange>0</iWithdrawalChange>
                <iCargoChange>0</iCargoChange>
                <iCollateralDamageChange>0</iCollateralDamageChange>
                <iBombardRateChange>0</iBombardRateChange>
                <iFirstStrikesChange>0</iFirstStrikesChange>
                <iChanceFirstStrikesChange>0</iChanceFirstStrikesChange>
                <iEnemyHealChange>0</iEnemyHealChange>
                <iNeutralHealChange>0</iNeutralHealChange>
                <iFriendlyHealChange>0</iFriendlyHealChange>
                <iSameTileHealChange>0</iSameTileHealChange>
                <iAdjacentTileHealChange>0</iAdjacentTileHealChange>
                <iCombatPercent>0</iCombatPercent>
                <iCityAttack>0</iCityAttack>
                <iCityDefense>0</iCityDefense>
                <iHillsAttack>0</iHillsAttack>
                <iHillsDefense>0</iHillsDefense>
                <iKamikazePercent>0</iKamikazePercent>
                <iRevoltProtection>0</iRevoltProtection>
                <iCollateralDamageProtection>0</iCollateralDamageProtection>
                <iPillageChange>0</iPillageChange>
                <iUpgradeDiscount>0</iUpgradeDiscount>
                <iExperiencePercent>0</iExperiencePercent>
                <TerrainAttacks>
                </TerrainAttacks>
                <TerrainDefenses>
                </TerrainDefenses>
                <FeatureAttacks>
                </FeatureAttacks>
                <FeatureDefenses>
                </FeatureDefenses>
                <UnitCombatMods>
                </UnitCombatMods>
                <DomainMods>
                </DomainMods>
                <TerrainDoubleMoves>
                </TerrainDoubleMoves>
                <FeatureDoubleMoves>
                </FeatureDoubleMoves>
                <UnitCombats>
                </UnitCombats>
                <HotKey></HotKey>
                <bAltDown>0</bAltDown>
                <bShiftDown>0</bShiftDown>
                <bCtrlDown>0</bCtrlDown>
                <bGraphicalOnly>0</bGraphicalOnly>
                <iHotKeyPriority>0</iHotKeyPriority>
                <Button>,Art/Interface/Buttons/Builds/BuildPasture.dds,Art/Interface/Buttons/Actions_Builds_LeaderHeads_Specialists_Atlas.dds,8,7</Button>
                <bBoarding>0</bBoarding>
                <bOnlyDefensive>0</bOnlyDefensive>
                <bDispellable>0</bDispellable>
                <bDoubleFortifyBonus>0</bDoubleFortifyBonus>
                <bEquipment>0</bEquipment>
                <bFear>0</bFear>
                <bFlying>0</bFlying>
                <bHiddenNationality>0</bHiddenNationality>
                <bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
                <bImmortal>0</bImmortal>
                <bImmuneToCapture>0</bImmuneToCapture>
                <bImmuneToFear>0</bImmuneToFear>
                <bImmuneToMagic>0</bImmuneToMagic>
                <bInvisible>0</bInvisible>
                <bMutation>0</bMutation>
                <bNotAlive>0</bNotAlive>
                <bPrereqAlive>0</bPrereqAlive>
                <bRace>0</bRace>
                <bRemovedByCasting>0</bRemovedByCasting>
                <bRemovedByCombat>0</bRemovedByCombat>
                <bRemovedWhenHealed>0</bRemovedWhenHealed>
                <bTargetWeakestUnit>0</bTargetWeakestUnit>
                <bTargetWeakestUnitCounter>0</bTargetWeakestUnitCounter>
                <bTwincast>0</bTwincast>
                <bValidate>0</bValidate>
                <bWaterWalking>0</bWaterWalking>
                <iAIWeight>0</iAIWeight>
                <iBetrayalChance>0</iBetrayalChance>
                <iBetterDefenderThanPercent>0</iBetterDefenderThanPercent>
                <iCasterResistModify>0</iCasterResistModify>
                <iCombatCapturePercent>0</iCombatCapturePercent>
                <iCombatHealPercent>0</iCombatHealPercent>
                <iCombatPercentDefense>0</iCombatPercentDefense>
                <iCombatPercentGlobalCounter>0</iCombatPercentGlobalCounter>
                <iCombatPercentInBorders>0</iCombatPercentInBorders>
                <iExpireChance>0</iExpireChance>
                <iExtraCombatStr>0</iExtraCombatStr>
                <iExtraCombatDefense>0</iExtraCombatDefense>
                <iFreeXPPerTurn>0</iFreeXPPerTurn>
                <iFreeXPFromCombat>0</iFreeXPFromCombat>
                <iModifyGlobalCounter>0</iModifyGlobalCounter>
                <iResistMagic>0</iResistMagic>
                <iSpellCasterXP>0</iSpellCasterXP>
                <iSpellDamageModify>0</iSpellDamageModify>
                <CaptureUnitCombat>NONE</CaptureUnitCombat>
                <PromotionCombatApply>NONE</PromotionCombatApply>
                <PromotionImmune1>NONE</PromotionImmune1>
                <PromotionImmune2>NONE</PromotionImmune2>
                <PromotionImmune3>NONE</PromotionImmune3>
                <PromotionRandomApply>NONE</PromotionRandomApply>
                <PromotionSummonPerk>NONE</PromotionSummonPerk>
                <BonusPrereq>NONE</BonusPrereq>
                <PromotionPrereqOr3>NONE</PromotionPrereqOr3>
                <PromotionPrereqOr4>NONE</PromotionPrereqOr4>
                <PromotionPrereqAnd>NONE</PromotionPrereqAnd>
                <PromotionNextLevel>NONE</PromotionNextLevel>
                <PyPerTurn></PyPerTurn>
                <iGroupSize>0</iGroupSize>
                <UnitArtStyleType>NONE</UnitArtStyleType>
                <PromotionCombatType>NONE</PromotionCombatType>
                <iPromotionCombatMod>0</iPromotionCombatMod>
                <DamageTypeCombats>
                </DamageTypeCombats>
                <BonusAffinities>
                </BonusAffinities>
                <DamageTypeResists>
                </DamageTypeResists>
    	    <iPrereqBroadAlignment>0</iPrereqBroadAlignment>
    	    <iAlignmentModifier>0</iAlignmentModifier>  
            </PromotionInfo>
            <PromotionInfo>
                <Type>PROMOTION_COW_HERD</Type>
                <Description>TXT_KEY_PROMOTION_COW_HERD</Description>
                <Help></Help>
                <Sound>AS2D_IF_LEVELUP</Sound>
                <LayerAnimationPath>NONE</LayerAnimationPath>
                <PromotionPrereq>NONE</PromotionPrereq>
                <PromotionPrereqOr1>NONE</PromotionPrereqOr1>
                <PromotionPrereqOr2>NONE</PromotionPrereqOr2>
                <TechPrereq>NONE</TechPrereq>
                <StateReligionPrereq>NONE</StateReligionPrereq>
                <bLeader>0</bLeader>
                <bBlitz>0</bBlitz>
                <bAmphib>0</bAmphib>
                <bRiver>0</bRiver>
                <bEnemyRoute>0</bEnemyRoute>
                <bAlwaysHeal>0</bAlwaysHeal>
                <bHillsDoubleMove>0</bHillsDoubleMove>
                <bImmuneToFirstStrikes>0</bImmuneToFirstStrikes>
                <iVisibilityChange>0</iVisibilityChange>
                <iMovesChange>0</iMovesChange>
                <iMoveDiscountChange>0</iMoveDiscountChange>
                <iAirRangeChange>0</iAirRangeChange>
                <iInterceptChange>0</iInterceptChange>
                <iEvasionChange>0</iEvasionChange>
                <iWithdrawalChange>0</iWithdrawalChange>
                <iCargoChange>0</iCargoChange>
                <iCollateralDamageChange>0</iCollateralDamageChange>
                <iBombardRateChange>0</iBombardRateChange>
                <iFirstStrikesChange>0</iFirstStrikesChange>
                <iChanceFirstStrikesChange>0</iChanceFirstStrikesChange>
                <iEnemyHealChange>0</iEnemyHealChange>
                <iNeutralHealChange>0</iNeutralHealChange>
                <iFriendlyHealChange>0</iFriendlyHealChange>
                <iSameTileHealChange>0</iSameTileHealChange>
                <iAdjacentTileHealChange>0</iAdjacentTileHealChange>
                <iCombatPercent>0</iCombatPercent>
                <iCityAttack>0</iCityAttack>
                <iCityDefense>0</iCityDefense>
                <iHillsAttack>0</iHillsAttack>
                <iHillsDefense>0</iHillsDefense>
                <iKamikazePercent>0</iKamikazePercent>
                <iRevoltProtection>0</iRevoltProtection>
                <iCollateralDamageProtection>0</iCollateralDamageProtection>
                <iPillageChange>0</iPillageChange>
                <iUpgradeDiscount>0</iUpgradeDiscount>
                <iExperiencePercent>0</iExperiencePercent>
                <TerrainAttacks>
                </TerrainAttacks>
                <TerrainDefenses>
                </TerrainDefenses>
                <FeatureAttacks>
                </FeatureAttacks>
                <FeatureDefenses>
                </FeatureDefenses>
                <UnitCombatMods>
                </UnitCombatMods>
                <DomainMods>
                </DomainMods>
                <TerrainDoubleMoves>
                </TerrainDoubleMoves>
                <FeatureDoubleMoves>
                </FeatureDoubleMoves>
                <UnitCombats>
                </UnitCombats>
                <HotKey></HotKey>
                <bAltDown>0</bAltDown>
                <bShiftDown>0</bShiftDown>
                <bCtrlDown>0</bCtrlDown>
                <bGraphicalOnly>0</bGraphicalOnly>
                <iHotKeyPriority>0</iHotKeyPriority>
                <Button>,Art/Interface/Buttons/WorldBuilder/Cow.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,7,12</Button>
                <bBoarding>0</bBoarding>
                <bOnlyDefensive>0</bOnlyDefensive>
                <bDispellable>0</bDispellable>
                <bDoubleFortifyBonus>0</bDoubleFortifyBonus>
                <bEquipment>0</bEquipment>
                <bFear>0</bFear>
                <bFlying>0</bFlying>
                <bHiddenNationality>0</bHiddenNationality>
                <bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
                <bImmortal>0</bImmortal>
                <bImmuneToCapture>0</bImmuneToCapture>
                <bImmuneToFear>0</bImmuneToFear>
                <bImmuneToMagic>0</bImmuneToMagic>
                <bInvisible>0</bInvisible>
                <bMutation>0</bMutation>
                <bNotAlive>0</bNotAlive>
                <bPrereqAlive>0</bPrereqAlive>
                <bRace>0</bRace>
                <bRemovedByCasting>0</bRemovedByCasting>
                <bRemovedByCombat>0</bRemovedByCombat>
                <bRemovedWhenHealed>0</bRemovedWhenHealed>
                <bTargetWeakestUnit>0</bTargetWeakestUnit>
                <bTargetWeakestUnitCounter>0</bTargetWeakestUnitCounter>
                <bTwincast>0</bTwincast>
                <bValidate>0</bValidate>
                <bWaterWalking>0</bWaterWalking>
                <iAIWeight>0</iAIWeight>
                <iBetrayalChance>0</iBetrayalChance>
                <iBetterDefenderThanPercent>0</iBetterDefenderThanPercent>
                <iCasterResistModify>0</iCasterResistModify>
                <iCombatCapturePercent>0</iCombatCapturePercent>
                <iCombatHealPercent>0</iCombatHealPercent>
                <iCombatPercentDefense>0</iCombatPercentDefense>
                <iCombatPercentGlobalCounter>0</iCombatPercentGlobalCounter>
                <iCombatPercentInBorders>0</iCombatPercentInBorders>
                <iExpireChance>0</iExpireChance>
                <iExtraCombatStr>0</iExtraCombatStr>
                <iExtraCombatDefense>0</iExtraCombatDefense>
                <iFreeXPPerTurn>0</iFreeXPPerTurn>
                <iFreeXPFromCombat>0</iFreeXPFromCombat>
                <iModifyGlobalCounter>0</iModifyGlobalCounter>
                <iResistMagic>0</iResistMagic>
                <iSpellCasterXP>0</iSpellCasterXP>
                <iSpellDamageModify>0</iSpellDamageModify>
                <CaptureUnitCombat>NONE</CaptureUnitCombat>
                <PromotionCombatApply>NONE</PromotionCombatApply>
                <PromotionImmune1>NONE</PromotionImmune1>
                <PromotionImmune2>NONE</PromotionImmune2>
                <PromotionImmune3>NONE</PromotionImmune3>
                <PromotionRandomApply>NONE</PromotionRandomApply>
                <PromotionSummonPerk>NONE</PromotionSummonPerk>
                <BonusPrereq>NONE</BonusPrereq>
                <PromotionPrereqOr3>NONE</PromotionPrereqOr3>
                <PromotionPrereqOr4>NONE</PromotionPrereqOr4>
                <PromotionPrereqAnd>NONE</PromotionPrereqAnd>
                <PromotionNextLevel>NONE</PromotionNextLevel>
                <PyPerTurn></PyPerTurn>
                <iGroupSize>0</iGroupSize>
                <UnitArtStyleType>NONE</UnitArtStyleType>
                <PromotionCombatType>NONE</PromotionCombatType>
                <iPromotionCombatMod>0</iPromotionCombatMod>
                <DamageTypeCombats>
                </DamageTypeCombats>
                <BonusAffinities>
                </BonusAffinities>
                <DamageTypeResists>
                </DamageTypeResists>
    	    <iPrereqBroadAlignment>0</iPrereqBroadAlignment>
    	    <iAlignmentModifier>0</iAlignmentModifier>  
            </PromotionInfo>
            <PromotionInfo>
                <Type>PROMOTION_DEER_HERD</Type>
                <Description>TXT_KEY_PROMOTION_DEER_HERD</Description>
                <Help></Help>
                <Sound>AS2D_IF_LEVELUP</Sound>
                <LayerAnimationPath>NONE</LayerAnimationPath>
                <PromotionPrereq>NONE</PromotionPrereq>
                <PromotionPrereqOr1>NONE</PromotionPrereqOr1>
                <PromotionPrereqOr2>NONE</PromotionPrereqOr2>
                <TechPrereq>NONE</TechPrereq>
                <StateReligionPrereq>NONE</StateReligionPrereq>
                <bLeader>0</bLeader>
                <bBlitz>0</bBlitz>
                <bAmphib>0</bAmphib>
                <bRiver>0</bRiver>
                <bEnemyRoute>0</bEnemyRoute>
                <bAlwaysHeal>0</bAlwaysHeal>
                <bHillsDoubleMove>0</bHillsDoubleMove>
                <bImmuneToFirstStrikes>0</bImmuneToFirstStrikes>
                <iVisibilityChange>0</iVisibilityChange>
                <iMovesChange>0</iMovesChange>
                <iMoveDiscountChange>0</iMoveDiscountChange>
                <iAirRangeChange>0</iAirRangeChange>
                <iInterceptChange>0</iInterceptChange>
                <iEvasionChange>0</iEvasionChange>
                <iWithdrawalChange>0</iWithdrawalChange>
                <iCargoChange>0</iCargoChange>
                <iCollateralDamageChange>0</iCollateralDamageChange>
                <iBombardRateChange>0</iBombardRateChange>
                <iFirstStrikesChange>0</iFirstStrikesChange>
                <iChanceFirstStrikesChange>0</iChanceFirstStrikesChange>
                <iEnemyHealChange>0</iEnemyHealChange>
                <iNeutralHealChange>0</iNeutralHealChange>
                <iFriendlyHealChange>0</iFriendlyHealChange>
                <iSameTileHealChange>0</iSameTileHealChange>
                <iAdjacentTileHealChange>0</iAdjacentTileHealChange>
                <iCombatPercent>0</iCombatPercent>
                <iCityAttack>0</iCityAttack>
                <iCityDefense>0</iCityDefense>
                <iHillsAttack>0</iHillsAttack>
                <iHillsDefense>0</iHillsDefense>
                <iKamikazePercent>0</iKamikazePercent>
                <iRevoltProtection>0</iRevoltProtection>
                <iCollateralDamageProtection>0</iCollateralDamageProtection>
                <iPillageChange>0</iPillageChange>
                <iUpgradeDiscount>0</iUpgradeDiscount>
                <iExperiencePercent>0</iExperiencePercent>
                <TerrainAttacks>
                </TerrainAttacks>
                <TerrainDefenses>
                </TerrainDefenses>
                <FeatureAttacks>
                </FeatureAttacks>
                <FeatureDefenses>
                </FeatureDefenses>
                <UnitCombatMods>
                </UnitCombatMods>
                <DomainMods>
                </DomainMods>
                <TerrainDoubleMoves>
                </TerrainDoubleMoves>
                <FeatureDoubleMoves>
                </FeatureDoubleMoves>
                <UnitCombats>
                </UnitCombats>
                <HotKey></HotKey>
                <bAltDown>0</bAltDown>
                <bShiftDown>0</bShiftDown>
                <bCtrlDown>0</bCtrlDown>
                <bGraphicalOnly>0</bGraphicalOnly>
                <iHotKeyPriority>0</iHotKeyPriority>
                <Button>,Art/Interface/Buttons/WorldBuilder/Deer.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,1,15</Button>
                <bBoarding>0</bBoarding>
                <bOnlyDefensive>0</bOnlyDefensive>
                <bDispellable>0</bDispellable>
                <bDoubleFortifyBonus>0</bDoubleFortifyBonus>
                <bEquipment>0</bEquipment>
                <bFear>0</bFear>
                <bFlying>0</bFlying>
                <bHiddenNationality>0</bHiddenNationality>
                <bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
                <bImmortal>0</bImmortal>
                <bImmuneToCapture>0</bImmuneToCapture>
                <bImmuneToFear>0</bImmuneToFear>
                <bImmuneToMagic>0</bImmuneToMagic>
                <bInvisible>0</bInvisible>
                <bMutation>0</bMutation>
                <bNotAlive>0</bNotAlive>
                <bPrereqAlive>0</bPrereqAlive>
                <bRace>0</bRace>
                <bRemovedByCasting>0</bRemovedByCasting>
                <bRemovedByCombat>0</bRemovedByCombat>
                <bRemovedWhenHealed>0</bRemovedWhenHealed>
                <bTargetWeakestUnit>0</bTargetWeakestUnit>
                <bTargetWeakestUnitCounter>0</bTargetWeakestUnitCounter>
                <bTwincast>0</bTwincast>
                <bValidate>0</bValidate>
                <bWaterWalking>0</bWaterWalking>
                <iAIWeight>0</iAIWeight>
                <iBetrayalChance>0</iBetrayalChance>
                <iBetterDefenderThanPercent>0</iBetterDefenderThanPercent>
                <iCasterResistModify>0</iCasterResistModify>
                <iCombatCapturePercent>0</iCombatCapturePercent>
                <iCombatHealPercent>0</iCombatHealPercent>
                <iCombatPercentDefense>0</iCombatPercentDefense>
                <iCombatPercentGlobalCounter>0</iCombatPercentGlobalCounter>
                <iCombatPercentInBorders>0</iCombatPercentInBorders>
                <iExpireChance>0</iExpireChance>
                <iExtraCombatStr>0</iExtraCombatStr>
                <iExtraCombatDefense>0</iExtraCombatDefense>
                <iFreeXPPerTurn>0</iFreeXPPerTurn>
                <iFreeXPFromCombat>0</iFreeXPFromCombat>
                <iModifyGlobalCounter>0</iModifyGlobalCounter>
                <iResistMagic>0</iResistMagic>
                <iSpellCasterXP>0</iSpellCasterXP>
                <iSpellDamageModify>0</iSpellDamageModify>
                <CaptureUnitCombat>NONE</CaptureUnitCombat>
                <PromotionCombatApply>NONE</PromotionCombatApply>
                <PromotionImmune1>NONE</PromotionImmune1>
                <PromotionImmune2>NONE</PromotionImmune2>
                <PromotionImmune3>NONE</PromotionImmune3>
                <PromotionRandomApply>NONE</PromotionRandomApply>
                <PromotionSummonPerk>NONE</PromotionSummonPerk>
                <BonusPrereq>NONE</BonusPrereq>
                <PromotionPrereqOr3>NONE</PromotionPrereqOr3>
                <PromotionPrereqOr4>NONE</PromotionPrereqOr4>
                <PromotionPrereqAnd>NONE</PromotionPrereqAnd>
                <PromotionNextLevel>NONE</PromotionNextLevel>
                <PyPerTurn></PyPerTurn>
                <iGroupSize>0</iGroupSize>
                <UnitArtStyleType>NONE</UnitArtStyleType>
                <PromotionCombatType>NONE</PromotionCombatType>
                <iPromotionCombatMod>0</iPromotionCombatMod>
                <DamageTypeCombats>
                </DamageTypeCombats>
                <BonusAffinities>
                </BonusAffinities>
                <DamageTypeResists>
                </DamageTypeResists>
    	    <iPrereqBroadAlignment>0</iPrereqBroadAlignment>
    	    <iAlignmentModifier>0</iAlignmentModifier>  
            </PromotionInfo>
    

    Continued in the next post.
     
  2. Ingvar

    Ingvar Chieftain

    Joined:
    Jun 15, 2008
    Messages:
    62
    Promotions Continued:
    Spoiler :

    Code:
     
           <PromotionInfo>
                <Type>PROMOTION_HORSE_HERD</Type>
                <Description>TXT_KEY_PROMOTION_HORSE_HERD</Description>
                <Help></Help>
                <Sound>AS2D_IF_LEVELUP</Sound>
                <LayerAnimationPath>NONE</LayerAnimationPath>
                <PromotionPrereq>NONE</PromotionPrereq>
                <PromotionPrereqOr1>NONE</PromotionPrereqOr1>
                <PromotionPrereqOr2>NONE</PromotionPrereqOr2>
                <TechPrereq>NONE</TechPrereq>
                <StateReligionPrereq>NONE</StateReligionPrereq>
                <bLeader>0</bLeader>
                <bBlitz>0</bBlitz>
                <bAmphib>0</bAmphib>
                <bRiver>0</bRiver>
                <bEnemyRoute>0</bEnemyRoute>
                <bAlwaysHeal>0</bAlwaysHeal>
                <bHillsDoubleMove>0</bHillsDoubleMove>
                <bImmuneToFirstStrikes>0</bImmuneToFirstStrikes>
                <iVisibilityChange>0</iVisibilityChange>
                <iMovesChange>0</iMovesChange>
                <iMoveDiscountChange>0</iMoveDiscountChange>
                <iAirRangeChange>0</iAirRangeChange>
                <iInterceptChange>0</iInterceptChange>
                <iEvasionChange>0</iEvasionChange>
                <iWithdrawalChange>0</iWithdrawalChange>
                <iCargoChange>0</iCargoChange>
                <iCollateralDamageChange>0</iCollateralDamageChange>
                <iBombardRateChange>0</iBombardRateChange>
                <iFirstStrikesChange>0</iFirstStrikesChange>
                <iChanceFirstStrikesChange>0</iChanceFirstStrikesChange>
                <iEnemyHealChange>0</iEnemyHealChange>
                <iNeutralHealChange>0</iNeutralHealChange>
                <iFriendlyHealChange>0</iFriendlyHealChange>
                <iSameTileHealChange>0</iSameTileHealChange>
                <iAdjacentTileHealChange>0</iAdjacentTileHealChange>
                <iCombatPercent>0</iCombatPercent>
                <iCityAttack>0</iCityAttack>
                <iCityDefense>0</iCityDefense>
                <iHillsAttack>0</iHillsAttack>
                <iHillsDefense>0</iHillsDefense>
                <iKamikazePercent>0</iKamikazePercent>
                <iRevoltProtection>0</iRevoltProtection>
                <iCollateralDamageProtection>0</iCollateralDamageProtection>
                <iPillageChange>0</iPillageChange>
                <iUpgradeDiscount>0</iUpgradeDiscount>
                <iExperiencePercent>0</iExperiencePercent>
                <TerrainAttacks>
                </TerrainAttacks>
                <TerrainDefenses>
                </TerrainDefenses>
                <FeatureAttacks>
                </FeatureAttacks>
                <FeatureDefenses>
                </FeatureDefenses>
                <UnitCombatMods>
                </UnitCombatMods>
                <DomainMods>
                </DomainMods>
                <TerrainDoubleMoves>
                </TerrainDoubleMoves>
                <FeatureDoubleMoves>
                </FeatureDoubleMoves>
                <UnitCombats>
                </UnitCombats>
                <HotKey></HotKey>
                <bAltDown>0</bAltDown>
                <bShiftDown>0</bShiftDown>
                <bCtrlDown>0</bCtrlDown>
                <bGraphicalOnly>0</bGraphicalOnly>
                <iHotKeyPriority>0</iHotKeyPriority>
                <Button>,Art/Interface/Buttons/WorldBuilder/Horse.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,4,13</Button>
                <bBoarding>0</bBoarding>
                <bOnlyDefensive>0</bOnlyDefensive>
                <bDispellable>0</bDispellable>
                <bDoubleFortifyBonus>0</bDoubleFortifyBonus>
                <bEquipment>0</bEquipment>
                <bFear>0</bFear>
                <bFlying>0</bFlying>
                <bHiddenNationality>0</bHiddenNationality>
                <bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
                <bImmortal>0</bImmortal>
                <bImmuneToCapture>0</bImmuneToCapture>
                <bImmuneToFear>0</bImmuneToFear>
                <bImmuneToMagic>0</bImmuneToMagic>
                <bInvisible>0</bInvisible>
                <bMutation>0</bMutation>
                <bNotAlive>0</bNotAlive>
                <bPrereqAlive>0</bPrereqAlive>
                <bRace>0</bRace>
                <bRemovedByCasting>0</bRemovedByCasting>
                <bRemovedByCombat>0</bRemovedByCombat>
                <bRemovedWhenHealed>0</bRemovedWhenHealed>
                <bTargetWeakestUnit>0</bTargetWeakestUnit>
                <bTargetWeakestUnitCounter>0</bTargetWeakestUnitCounter>
                <bTwincast>0</bTwincast>
                <bValidate>0</bValidate>
                <bWaterWalking>0</bWaterWalking>
                <iAIWeight>0</iAIWeight>
                <iBetrayalChance>0</iBetrayalChance>
                <iBetterDefenderThanPercent>0</iBetterDefenderThanPercent>
                <iCasterResistModify>0</iCasterResistModify>
                <iCombatCapturePercent>0</iCombatCapturePercent>
                <iCombatHealPercent>0</iCombatHealPercent>
                <iCombatPercentDefense>0</iCombatPercentDefense>
                <iCombatPercentGlobalCounter>0</iCombatPercentGlobalCounter>
                <iCombatPercentInBorders>0</iCombatPercentInBorders>
                <iExpireChance>0</iExpireChance>
                <iExtraCombatStr>0</iExtraCombatStr>
                <iExtraCombatDefense>0</iExtraCombatDefense>
                <iFreeXPPerTurn>0</iFreeXPPerTurn>
                <iFreeXPFromCombat>0</iFreeXPFromCombat>
                <iModifyGlobalCounter>0</iModifyGlobalCounter>
                <iResistMagic>0</iResistMagic>
                <iSpellCasterXP>0</iSpellCasterXP>
                <iSpellDamageModify>0</iSpellDamageModify>
                <CaptureUnitCombat>NONE</CaptureUnitCombat>
                <PromotionCombatApply>NONE</PromotionCombatApply>
                <PromotionImmune1>NONE</PromotionImmune1>
                <PromotionImmune2>NONE</PromotionImmune2>
                <PromotionImmune3>NONE</PromotionImmune3>
                <PromotionRandomApply>NONE</PromotionRandomApply>
                <PromotionSummonPerk>NONE</PromotionSummonPerk>
                <BonusPrereq>NONE</BonusPrereq>
                <PromotionPrereqOr3>NONE</PromotionPrereqOr3>
                <PromotionPrereqOr4>NONE</PromotionPrereqOr4>
                <PromotionPrereqAnd>NONE</PromotionPrereqAnd>
                <PromotionNextLevel>NONE</PromotionNextLevel>
                <PyPerTurn></PyPerTurn>
                <iGroupSize>0</iGroupSize>
                <UnitArtStyleType>NONE</UnitArtStyleType>
                <PromotionCombatType>NONE</PromotionCombatType>
                <iPromotionCombatMod>0</iPromotionCombatMod>
                <DamageTypeCombats>
                </DamageTypeCombats>
                <BonusAffinities>
                </BonusAffinities>
                <DamageTypeResists>
                </DamageTypeResists>
    	    <iPrereqBroadAlignment>0</iPrereqBroadAlignment>
    	    <iAlignmentModifier>0</iAlignmentModifier>  
            </PromotionInfo>
            <PromotionInfo>
                <Type>PROMOTION_PIG_HERD</Type>
                <Description>TXT_KEY_PROMOTION_PIG_HERD</Description>
                <Help></Help>
                <Sound>AS2D_IF_LEVELUP</Sound>
                <LayerAnimationPath>NONE</LayerAnimationPath>
                <PromotionPrereq>NONE</PromotionPrereq>
                <PromotionPrereqOr1>NONE</PromotionPrereqOr1>
                <PromotionPrereqOr2>NONE</PromotionPrereqOr2>
                <TechPrereq>NONE</TechPrereq>
                <StateReligionPrereq>NONE</StateReligionPrereq>
                <bLeader>0</bLeader>
                <bBlitz>0</bBlitz>
                <bAmphib>0</bAmphib>
                <bRiver>0</bRiver>
                <bEnemyRoute>0</bEnemyRoute>
                <bAlwaysHeal>0</bAlwaysHeal>
                <bHillsDoubleMove>0</bHillsDoubleMove>
                <bImmuneToFirstStrikes>0</bImmuneToFirstStrikes>
                <iVisibilityChange>0</iVisibilityChange>
                <iMovesChange>0</iMovesChange>
                <iMoveDiscountChange>0</iMoveDiscountChange>
                <iAirRangeChange>0</iAirRangeChange>
                <iInterceptChange>0</iInterceptChange>
                <iEvasionChange>0</iEvasionChange>
                <iWithdrawalChange>0</iWithdrawalChange>
                <iCargoChange>0</iCargoChange>
                <iCollateralDamageChange>0</iCollateralDamageChange>
                <iBombardRateChange>0</iBombardRateChange>
                <iFirstStrikesChange>0</iFirstStrikesChange>
                <iChanceFirstStrikesChange>0</iChanceFirstStrikesChange>
                <iEnemyHealChange>0</iEnemyHealChange>
                <iNeutralHealChange>0</iNeutralHealChange>
                <iFriendlyHealChange>0</iFriendlyHealChange>
                <iSameTileHealChange>0</iSameTileHealChange>
                <iAdjacentTileHealChange>0</iAdjacentTileHealChange>
                <iCombatPercent>0</iCombatPercent>
                <iCityAttack>0</iCityAttack>
                <iCityDefense>0</iCityDefense>
                <iHillsAttack>0</iHillsAttack>
                <iHillsDefense>0</iHillsDefense>
                <iKamikazePercent>0</iKamikazePercent>
                <iRevoltProtection>0</iRevoltProtection>
                <iCollateralDamageProtection>0</iCollateralDamageProtection>
                <iPillageChange>0</iPillageChange>
                <iUpgradeDiscount>0</iUpgradeDiscount>
                <iExperiencePercent>0</iExperiencePercent>
                <TerrainAttacks>
                </TerrainAttacks>
                <TerrainDefenses>
                </TerrainDefenses>
                <FeatureAttacks>
                </FeatureAttacks>
                <FeatureDefenses>
                </FeatureDefenses>
                <UnitCombatMods>
                </UnitCombatMods>
                <DomainMods>
                </DomainMods>
                <TerrainDoubleMoves>
                </TerrainDoubleMoves>
                <FeatureDoubleMoves>
                </FeatureDoubleMoves>
                <UnitCombats>
                </UnitCombats>
                <HotKey></HotKey>
                <bAltDown>0</bAltDown>
                <bShiftDown>0</bShiftDown>
                <bCtrlDown>0</bCtrlDown>
                <bGraphicalOnly>0</bGraphicalOnly>
                <iHotKeyPriority>0</iHotKeyPriority>
                <Button>,Art/Interface/Buttons/WorldBuilder/Pig.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,8,15</Button>
                <bBoarding>0</bBoarding>
                <bOnlyDefensive>0</bOnlyDefensive>
                <bDispellable>0</bDispellable>
                <bDoubleFortifyBonus>0</bDoubleFortifyBonus>
                <bEquipment>0</bEquipment>
                <bFear>0</bFear>
                <bFlying>0</bFlying>
                <bHiddenNationality>0</bHiddenNationality>
                <bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
                <bImmortal>0</bImmortal>
                <bImmuneToCapture>0</bImmuneToCapture>
                <bImmuneToFear>0</bImmuneToFear>
                <bImmuneToMagic>0</bImmuneToMagic>
                <bInvisible>0</bInvisible>
                <bMutation>0</bMutation>
                <bNotAlive>0</bNotAlive>
                <bPrereqAlive>0</bPrereqAlive>
                <bRace>0</bRace>
                <bRemovedByCasting>0</bRemovedByCasting>
                <bRemovedByCombat>0</bRemovedByCombat>
                <bRemovedWhenHealed>0</bRemovedWhenHealed>
                <bTargetWeakestUnit>0</bTargetWeakestUnit>
                <bTargetWeakestUnitCounter>0</bTargetWeakestUnitCounter>
                <bTwincast>0</bTwincast>
                <bValidate>0</bValidate>
                <bWaterWalking>0</bWaterWalking>
                <iAIWeight>0</iAIWeight>
                <iBetrayalChance>0</iBetrayalChance>
                <iBetterDefenderThanPercent>0</iBetterDefenderThanPercent>
                <iCasterResistModify>0</iCasterResistModify>
                <iCombatCapturePercent>0</iCombatCapturePercent>
                <iCombatHealPercent>0</iCombatHealPercent>
                <iCombatPercentDefense>0</iCombatPercentDefense>
                <iCombatPercentGlobalCounter>0</iCombatPercentGlobalCounter>
                <iCombatPercentInBorders>0</iCombatPercentInBorders>
                <iExpireChance>0</iExpireChance>
                <iExtraCombatStr>0</iExtraCombatStr>
                <iExtraCombatDefense>0</iExtraCombatDefense>
                <iFreeXPPerTurn>0</iFreeXPPerTurn>
                <iFreeXPFromCombat>0</iFreeXPFromCombat>
                <iModifyGlobalCounter>0</iModifyGlobalCounter>
                <iResistMagic>0</iResistMagic>
                <iSpellCasterXP>0</iSpellCasterXP>
                <iSpellDamageModify>0</iSpellDamageModify>
                <CaptureUnitCombat>NONE</CaptureUnitCombat>
                <PromotionCombatApply>NONE</PromotionCombatApply>
                <PromotionImmune1>NONE</PromotionImmune1>
                <PromotionImmune2>NONE</PromotionImmune2>
                <PromotionImmune3>NONE</PromotionImmune3>
                <PromotionRandomApply>NONE</PromotionRandomApply>
                <PromotionSummonPerk>NONE</PromotionSummonPerk>
                <BonusPrereq>NONE</BonusPrereq>
                <PromotionPrereqOr3>NONE</PromotionPrereqOr3>
                <PromotionPrereqOr4>NONE</PromotionPrereqOr4>
                <PromotionPrereqAnd>NONE</PromotionPrereqAnd>
                <PromotionNextLevel>NONE</PromotionNextLevel>
                <PyPerTurn></PyPerTurn>
                <iGroupSize>0</iGroupSize>
                <UnitArtStyleType>NONE</UnitArtStyleType>
                <PromotionCombatType>NONE</PromotionCombatType>
                <iPromotionCombatMod>0</iPromotionCombatMod>
                <DamageTypeCombats>
                </DamageTypeCombats>
                <BonusAffinities>
                </BonusAffinities>
                <DamageTypeResists>
                </DamageTypeResists>
    	    <iPrereqBroadAlignment>0</iPrereqBroadAlignment>
    	    <iAlignmentModifier>0</iAlignmentModifier>  
            </PromotionInfo>
            <PromotionInfo>
                <Type>PROMOTION_SHEEP_HERD</Type>
                <Description>TXT_KEY_PROMOTION_SHEEP_HERD</Description>
                <Help></Help>
                <Sound>AS2D_IF_LEVELUP</Sound>
                <LayerAnimationPath>NONE</LayerAnimationPath>
                <PromotionPrereq>NONE</PromotionPrereq>
                <PromotionPrereqOr1>NONE</PromotionPrereqOr1>
                <PromotionPrereqOr2>NONE</PromotionPrereqOr2>
                <TechPrereq>NONE</TechPrereq>
                <StateReligionPrereq>NONE</StateReligionPrereq>
                <bLeader>0</bLeader>
                <bBlitz>0</bBlitz>
                <bAmphib>0</bAmphib>
                <bRiver>0</bRiver>
                <bEnemyRoute>0</bEnemyRoute>
                <bAlwaysHeal>0</bAlwaysHeal>
                <bHillsDoubleMove>0</bHillsDoubleMove>
                <bImmuneToFirstStrikes>0</bImmuneToFirstStrikes>
                <iVisibilityChange>0</iVisibilityChange>
                <iMovesChange>0</iMovesChange>
                <iMoveDiscountChange>0</iMoveDiscountChange>
                <iAirRangeChange>0</iAirRangeChange>
                <iInterceptChange>0</iInterceptChange>
                <iEvasionChange>0</iEvasionChange>
                <iWithdrawalChange>0</iWithdrawalChange>
                <iCargoChange>0</iCargoChange>
                <iCollateralDamageChange>0</iCollateralDamageChange>
                <iBombardRateChange>0</iBombardRateChange>
                <iFirstStrikesChange>0</iFirstStrikesChange>
                <iChanceFirstStrikesChange>0</iChanceFirstStrikesChange>
                <iEnemyHealChange>0</iEnemyHealChange>
                <iNeutralHealChange>0</iNeutralHealChange>
                <iFriendlyHealChange>0</iFriendlyHealChange>
                <iSameTileHealChange>0</iSameTileHealChange>
                <iAdjacentTileHealChange>0</iAdjacentTileHealChange>
                <iCombatPercent>0</iCombatPercent>
                <iCityAttack>0</iCityAttack>
                <iCityDefense>0</iCityDefense>
                <iHillsAttack>0</iHillsAttack>
                <iHillsDefense>0</iHillsDefense>
                <iKamikazePercent>0</iKamikazePercent>
                <iRevoltProtection>0</iRevoltProtection>
                <iCollateralDamageProtection>0</iCollateralDamageProtection>
                <iPillageChange>0</iPillageChange>
                <iUpgradeDiscount>0</iUpgradeDiscount>
                <iExperiencePercent>0</iExperiencePercent>
                <TerrainAttacks>
                </TerrainAttacks>
                <TerrainDefenses>
                </TerrainDefenses>
                <FeatureAttacks>
                </FeatureAttacks>
                <FeatureDefenses>
                </FeatureDefenses>
                <UnitCombatMods>
                </UnitCombatMods>
                <DomainMods>
                </DomainMods>
                <TerrainDoubleMoves>
                </TerrainDoubleMoves>
                <FeatureDoubleMoves>
                </FeatureDoubleMoves>
                <UnitCombats>
                </UnitCombats>
                <HotKey></HotKey>
                <bAltDown>0</bAltDown>
                <bShiftDown>0</bShiftDown>
                <bCtrlDown>0</bCtrlDown>
                <bGraphicalOnly>0</bGraphicalOnly>
                <iHotKeyPriority>0</iHotKeyPriority>
                <Button>,Art/Interface/Buttons/WorldBuilder/Sheep.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,2,14</Button>
                <bBoarding>0</bBoarding>
                <bOnlyDefensive>0</bOnlyDefensive>
                <bDispellable>0</bDispellable>
                <bDoubleFortifyBonus>0</bDoubleFortifyBonus>
                <bEquipment>0</bEquipment>
                <bFear>0</bFear>
                <bFlying>0</bFlying>
                <bHiddenNationality>0</bHiddenNationality>
                <bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
                <bImmortal>0</bImmortal>
                <bImmuneToCapture>0</bImmuneToCapture>
                <bImmuneToFear>0</bImmuneToFear>
                <bImmuneToMagic>0</bImmuneToMagic>
                <bInvisible>0</bInvisible>
                <bMutation>0</bMutation>
                <bNotAlive>0</bNotAlive>
                <bPrereqAlive>0</bPrereqAlive>
                <bRace>0</bRace>
                <bRemovedByCasting>0</bRemovedByCasting>
                <bRemovedByCombat>0</bRemovedByCombat>
                <bRemovedWhenHealed>0</bRemovedWhenHealed>
                <bTargetWeakestUnit>0</bTargetWeakestUnit>
                <bTargetWeakestUnitCounter>0</bTargetWeakestUnitCounter>
                <bTwincast>0</bTwincast>
                <bValidate>0</bValidate>
                <bWaterWalking>0</bWaterWalking>
                <iAIWeight>0</iAIWeight>
                <iBetrayalChance>0</iBetrayalChance>
                <iBetterDefenderThanPercent>0</iBetterDefenderThanPercent>
                <iCasterResistModify>0</iCasterResistModify>
                <iCombatCapturePercent>0</iCombatCapturePercent>
                <iCombatHealPercent>0</iCombatHealPercent>
                <iCombatPercentDefense>0</iCombatPercentDefense>
                <iCombatPercentGlobalCounter>0</iCombatPercentGlobalCounter>
                <iCombatPercentInBorders>0</iCombatPercentInBorders>
                <iExpireChance>0</iExpireChance>
                <iExtraCombatStr>0</iExtraCombatStr>
                <iExtraCombatDefense>0</iExtraCombatDefense>
                <iFreeXPPerTurn>0</iFreeXPPerTurn>
                <iFreeXPFromCombat>0</iFreeXPFromCombat>
                <iModifyGlobalCounter>0</iModifyGlobalCounter>
                <iResistMagic>0</iResistMagic>
                <iSpellCasterXP>0</iSpellCasterXP>
                <iSpellDamageModify>0</iSpellDamageModify>
                <CaptureUnitCombat>NONE</CaptureUnitCombat>
                <PromotionCombatApply>NONE</PromotionCombatApply>
                <PromotionImmune1>NONE</PromotionImmune1>
                <PromotionImmune2>NONE</PromotionImmune2>
                <PromotionImmune3>NONE</PromotionImmune3>
                <PromotionRandomApply>NONE</PromotionRandomApply>
                <PromotionSummonPerk>NONE</PromotionSummonPerk>
                <BonusPrereq>NONE</BonusPrereq>
                <PromotionPrereqOr3>NONE</PromotionPrereqOr3>
                <PromotionPrereqOr4>NONE</PromotionPrereqOr4>
                <PromotionPrereqAnd>NONE</PromotionPrereqAnd>
                <PromotionNextLevel>NONE</PromotionNextLevel>
                <PyPerTurn></PyPerTurn>
                <iGroupSize>0</iGroupSize>
                <UnitArtStyleType>NONE</UnitArtStyleType>
                <PromotionCombatType>NONE</PromotionCombatType>
                <iPromotionCombatMod>0</iPromotionCombatMod>
                <DamageTypeCombats>
                </DamageTypeCombats>
                <BonusAffinities>
                </BonusAffinities>
                <DamageTypeResists>
                </DamageTypeResists>
    	    <iPrereqBroadAlignment>0</iPrereqBroadAlignment>
    	    <iAlignmentModifier>0</iAlignmentModifier>  
            </PromotionInfo>
    

    Continued in the next post.
     
  3. Ingvar

    Ingvar Chieftain

    Joined:
    Jun 15, 2008
    Messages:
    62
    Then adding spells in CIV4SpellInfos.xml - "Capture Herd", and Release Herd for each resource.
    Spoiler :

    Code:
             <SpellInfo>
                <Type>SPELL_CAPTURE_HERD</Type>
                <Description>TXT_KEY_SPELL_CAPTURE_HERD</Description>
                <Civilopedia>TXT_KEY_SPELL_PLACEHOLDER_PEDIA</Civilopedia>
                <Strategy>NONE</Strategy>
                <Help>TXT_KEY_SPELL_CAPTURE_HERD_HELP</Help>
                <PromotionPrereq1>PROMOTION_HERDER</PromotionPrereq1>
                <PromotionPrereq2>NONE</PromotionPrereq2>
                <UnitPrereq>NONE</UnitPrereq>
                <UnitClassPrereq>NONE</UnitClassPrereq>
                <UnitCombatPrereq>UNITCOMBAT_RECON</UnitCombatPrereq>
                <UnitInStackPrereq>NONE</UnitInStackPrereq>
                <CivilizationPrereq>CIVILIZATION_AMBULNATI</CivilizationPrereq>
                <ReligionPrereq>NONE</ReligionPrereq>
                <StateReligionPrereq>NONE</StateReligionPrereq>
                <TechPrereq>NONE</TechPrereq>
                <iPrereqBroadAlignment>0</iPrereqBroadAlignment>
       	    <iAlignmentModifier>0</iAlignmentModifier>
                <bAllowAI>1</bAllowAI>
                <bAdjacentToWaterOnly>0</bAdjacentToWaterOnly>
                <bCausesWar>1</bCausesWar>
                <bGlobal>0</bGlobal>
                <bInBordersOnly>0</bInBordersOnly>
                <bInCityOnly>0</bInCityOnly>
                <iAIWeight>50</iAIWeight>
                <bDisplayWhenDisabled>0</bDisplayWhenDisabled>
                <bHasCasted>1</bHasCasted>
                <bIgnoreHasCasted>0</bIgnoreHasCasted>
                <bResistable>0</bResistable>
                <iRange>0</iRange>
                <iResistModify>0</iResistModify>
                <iDamage>0</iDamage>
                <iDamageLimit>0</iDamageLimit>
                <DamageType>NONE</DamageType>
                <AddPromotionType1>NONE</AddPromotionType1>
                <AddPromotionType2>NONE</AddPromotionType2>
                <AddPromotionType3>NONE</AddPromotionType3>
                <RemovePromotionType1>NONE</RemovePromotionType1>
                <RemovePromotionType2>NONE</RemovePromotionType2>
                <RemovePromotionType3>NONE</RemovePromotionType3>
                <bBuffCasterOnly>1</bBuffCasterOnly>
                <ConvertUnitType>NONE</ConvertUnitType>
                <CreateBuildingType>NONE</CreateBuildingType>
                <CreateFeatureType>NONE</CreateFeatureType>
                <CreateImprovementType>NONE</CreateImprovementType>
                <SpreadReligion>NONE</SpreadReligion>
                <CreateUnitType>NONE</CreateUnitType>
                <iCreateUnitNum>0</iCreateUnitNum>
                <bPermanentUnitCreate>0</bPermanentUnitCreate>
                <CreateUnitPromotion>NONE</CreateUnitPromotion>
                <bImmuneTeam>0</bImmuneTeam>
                <bImmuneNeutral>0</bImmuneNeutral>
                <bImmuneEnemy>0</bImmuneEnemy>
                <bImmuneFlying>0</bImmuneFlying>
                <bImmuneNotAlive>0</bImmuneNotAlive>
                <bDispel>0</bDispel>
                <bPush>0</bPush>
                <bRemoveHasCasted>0</bRemoveHasCasted>
                <bSacrificeCaster>0</bSacrificeCaster>
                <iChangePopulation>0</iChangePopulation>
                <iCost>0</iCost>
    			<iDelay>0</iDelay>
                <iImmobileTurns>0</iImmobileTurns>
                <iMiscastChance>0</iMiscastChance>
                <PyMiscast></PyMiscast>
                <PyResult>spellCaptureHerd(pCaster)</PyResult>
                <PyRequirement>reqCaptureHerd(pCaster)</PyRequirement>
                <Effect>EFFECT_SPELL1</Effect>
                <Sound>AS3D_SPELL_TRAIN</Sound>
                <HotKey></HotKey>
                <bAltDown>0</bAltDown>
                <bShiftDown>0</bShiftDown>
                <bCtrlDown>0</bCtrlDown>
                <bGraphicalOnly>1</bGraphicalOnly>
                <iHotKeyPriority>0</iHotKeyPriority>
                <Button>,Art/Interface/Buttons/Builds/BuildPasture.dds,Art/Interface/Buttons/Actions_Builds_LeaderHeads_Specialists_Atlas.dds,8,7</Button>
            </SpellInfo>
            <SpellInfo>
                <Type>SPELL_RELEASE_HORSE_HERD</Type>
                <Description>TXT_KEY_SPELL_RELEASE_HERD</Description>
                <Civilopedia>TXT_KEY_SPELL_PLACEHOLDER_PEDIA</Civilopedia>
                <Strategy>NONE</Strategy>
                <Help>TXT_KEY_SPELL_RELEASE_HERD_HELP</Help>
                <PromotionPrereq1>PROMOTION_HORSE_HERD</PromotionPrereq1>
                <PromotionPrereq2>NONE</PromotionPrereq2>
                <UnitPrereq>NONE</UnitPrereq>
                <UnitClassPrereq>NONE</UnitClassPrereq>
                <UnitCombatPrereq>UNITCOMBAT_RECON</UnitCombatPrereq>
                <UnitInStackPrereq>NONE</UnitInStackPrereq>
                <CivilizationPrereq>CIVILIZATION_AMBULNATI</CivilizationPrereq>
                <ReligionPrereq>NONE</ReligionPrereq>
                <StateReligionPrereq>NONE</StateReligionPrereq>
                <TechPrereq>NONE</TechPrereq>
                <iPrereqBroadAlignment>0</iPrereqBroadAlignment>
       	    <iAlignmentModifier>0</iAlignmentModifier>
                <bAllowAI>1</bAllowAI>
                <bAdjacentToWaterOnly>0</bAdjacentToWaterOnly>
                <bCausesWar>0</bCausesWar>
                <bGlobal>0</bGlobal>
                <bInBordersOnly>0</bInBordersOnly>
                <bInCityOnly>0</bInCityOnly>
                <iAIWeight>50</iAIWeight>
                <bDisplayWhenDisabled>1</bDisplayWhenDisabled>
                <bHasCasted>1</bHasCasted>
                <bIgnoreHasCasted>0</bIgnoreHasCasted>
                <bResistable>0</bResistable>
                <iRange>0</iRange>
                <iResistModify>0</iResistModify>
                <iDamage>0</iDamage>
                <iDamageLimit>0</iDamageLimit>
                <DamageType>NONE</DamageType>
                <AddPromotionType1>NONE</AddPromotionType1>
                <AddPromotionType2>NONE</AddPromotionType2>
                <AddPromotionType3>NONE</AddPromotionType3>
                <RemovePromotionType1>NONE</RemovePromotionType1>
                <RemovePromotionType2>NONE</RemovePromotionType2>
                <RemovePromotionType3>NONE</RemovePromotionType3>
                <bBuffCasterOnly>1</bBuffCasterOnly>
                <ConvertUnitType>NONE</ConvertUnitType>
                <CreateBuildingType>NONE</CreateBuildingType>
                <CreateFeatureType>NONE</CreateFeatureType>
                <CreateImprovementType>NONE</CreateImprovementType>
                <SpreadReligion>NONE</SpreadReligion>
                <CreateUnitType>NONE</CreateUnitType>
                <iCreateUnitNum>0</iCreateUnitNum>
                <bPermanentUnitCreate>0</bPermanentUnitCreate>
                <CreateUnitPromotion>NONE</CreateUnitPromotion>
                <bImmuneTeam>0</bImmuneTeam>
                <bImmuneNeutral>0</bImmuneNeutral>
                <bImmuneEnemy>0</bImmuneEnemy>
                <bImmuneFlying>0</bImmuneFlying>
                <bImmuneNotAlive>0</bImmuneNotAlive>
                <bDispel>0</bDispel>
                <bPush>0</bPush>
                <bRemoveHasCasted>0</bRemoveHasCasted>
                <bSacrificeCaster>0</bSacrificeCaster>
                <iChangePopulation>0</iChangePopulation>
                <iCost>0</iCost>
    			<iDelay>0</iDelay>
    			<iImmobileTurns>0</iImmobileTurns>
                <iMiscastChance>0</iMiscastChance>
                <PyMiscast></PyMiscast>
                <PyResult>spellReleaseHorseHerd(pCaster)</PyResult>
                <PyRequirement>reqReleaseHorseHerd(pCaster)</PyRequirement>
                <Effect>EFFECT_SPELL1</Effect>
                <Sound>AS3D_SPELL_TRAIN</Sound>
                <HotKey></HotKey>
                <bAltDown>0</bAltDown>
                <bShiftDown>0</bShiftDown>
                <bCtrlDown>0</bCtrlDown>
                <bGraphicalOnly>1</bGraphicalOnly>
                <iHotKeyPriority>0</iHotKeyPriority>
                <Button>,Art/Interface/Buttons/WorldBuilder/Horse.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,4,13</Button>
            </SpellInfo>
            <SpellInfo>
                <Type>SPELL_RELEASE_PIG_HERD</Type>
                <Description>TXT_KEY_SPELL_RELEASE_HERD</Description>
                <Civilopedia>TXT_KEY_SPELL_PLACEHOLDER_PEDIA</Civilopedia>
                <Strategy>NONE</Strategy>
                <Help>TXT_KEY_SPELL_RELEASE_HERD_HELP</Help>
                <PromotionPrereq1>PROMOTION_PIG_HERD</PromotionPrereq1>
                <PromotionPrereq2>NONE</PromotionPrereq2>
                <UnitPrereq>NONE</UnitPrereq>
                <UnitClassPrereq>NONE</UnitClassPrereq>
                <UnitCombatPrereq>UNITCOMBAT_RECON</UnitCombatPrereq>
                <UnitInStackPrereq>NONE</UnitInStackPrereq>
                <CivilizationPrereq>CIVILIZATION_AMBULNATI</CivilizationPrereq>
                <ReligionPrereq>NONE</ReligionPrereq>
                <StateReligionPrereq>NONE</StateReligionPrereq>
                <TechPrereq>NONE</TechPrereq>
                <iPrereqBroadAlignment>0</iPrereqBroadAlignment>
       	    <iAlignmentModifier>0</iAlignmentModifier>
                <bAllowAI>1</bAllowAI>
                <bAdjacentToWaterOnly>0</bAdjacentToWaterOnly>
                <bCausesWar>0</bCausesWar>
                <bGlobal>0</bGlobal>
                <bInBordersOnly>0</bInBordersOnly>
                <bInCityOnly>0</bInCityOnly>
                <iAIWeight>50</iAIWeight>
                <bDisplayWhenDisabled>1</bDisplayWhenDisabled>
                <bHasCasted>1</bHasCasted>
                <bIgnoreHasCasted>0</bIgnoreHasCasted>
                <bResistable>0</bResistable>
                <iRange>0</iRange>
                <iResistModify>0</iResistModify>
                <iDamage>0</iDamage>
                <iDamageLimit>0</iDamageLimit>
                <DamageType>NONE</DamageType>
                <AddPromotionType1>NONE</AddPromotionType1>
                <AddPromotionType2>NONE</AddPromotionType2>
                <AddPromotionType3>NONE</AddPromotionType3>
                <RemovePromotionType1>NONE</RemovePromotionType1>
                <RemovePromotionType2>NONE</RemovePromotionType2>
                <RemovePromotionType3>NONE</RemovePromotionType3>
                <bBuffCasterOnly>1</bBuffCasterOnly>
                <ConvertUnitType>NONE</ConvertUnitType>
                <CreateBuildingType>NONE</CreateBuildingType>
                <CreateFeatureType>NONE</CreateFeatureType>
                <CreateImprovementType>NONE</CreateImprovementType>
                <SpreadReligion>NONE</SpreadReligion>
                <CreateUnitType>NONE</CreateUnitType>
                <iCreateUnitNum>0</iCreateUnitNum>
                <bPermanentUnitCreate>0</bPermanentUnitCreate>
                <CreateUnitPromotion>NONE</CreateUnitPromotion>
                <bImmuneTeam>0</bImmuneTeam>
                <bImmuneNeutral>0</bImmuneNeutral>
                <bImmuneEnemy>0</bImmuneEnemy>
                <bImmuneFlying>0</bImmuneFlying>
                <bImmuneNotAlive>0</bImmuneNotAlive>
                <bDispel>0</bDispel>
                <bPush>0</bPush>
                <bRemoveHasCasted>0</bRemoveHasCasted>
                <bSacrificeCaster>0</bSacrificeCaster>
                <iChangePopulation>0</iChangePopulation>
                <iCost>0</iCost>
    			<iDelay>0</iDelay>
    			<iImmobileTurns>0</iImmobileTurns>
                <iMiscastChance>0</iMiscastChance>
                <PyMiscast></PyMiscast>
                <PyResult>spellReleasePigHerd(pCaster)</PyResult>
                <PyRequirement>reqReleasePigHerd(pCaster)</PyRequirement>
                <Effect>EFFECT_SPELL1</Effect>
                <Sound>AS3D_SPELL_TRAIN</Sound>
                <HotKey></HotKey>
                <bAltDown>0</bAltDown>
                <bShiftDown>0</bShiftDown>
                <bCtrlDown>0</bCtrlDown>
                <bGraphicalOnly>1</bGraphicalOnly>
                <iHotKeyPriority>0</iHotKeyPriority>
                <Button>,Art/Interface/Buttons/WorldBuilder/Pig.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,8,15</Button>
            </SpellInfo>
            <SpellInfo>
                <Type>SPELL_RELEASE_SHEEP_HERD</Type>
                <Description>TXT_KEY_SPELL_RELEASE_HERD</Description>
                <Civilopedia>TXT_KEY_SPELL_PLACEHOLDER_PEDIA</Civilopedia>
                <Strategy>NONE</Strategy>
                <Help>TXT_KEY_SPELL_RELEASE_HERD_HELP</Help>
                <PromotionPrereq1>PROMOTION_SHEEP_HERD</PromotionPrereq1>
                <PromotionPrereq2>NONE</PromotionPrereq2>
                <UnitPrereq>NONE</UnitPrereq>
                <UnitClassPrereq>NONE</UnitClassPrereq>
                <UnitCombatPrereq>UNITCOMBAT_RECON</UnitCombatPrereq>
                <UnitInStackPrereq>NONE</UnitInStackPrereq>
                <CivilizationPrereq>CIVILIZATION_AMBULNATI</CivilizationPrereq>
                <ReligionPrereq>NONE</ReligionPrereq>
                <StateReligionPrereq>NONE</StateReligionPrereq>
                <TechPrereq>NONE</TechPrereq>
                <iPrereqBroadAlignment>0</iPrereqBroadAlignment>
       	    <iAlignmentModifier>0</iAlignmentModifier>
                <bAllowAI>1</bAllowAI>
                <bAdjacentToWaterOnly>0</bAdjacentToWaterOnly>
                <bCausesWar>0</bCausesWar>
                <bGlobal>0</bGlobal>
                <bInBordersOnly>0</bInBordersOnly>
                <bInCityOnly>0</bInCityOnly>
                <iAIWeight>50</iAIWeight>
                <bDisplayWhenDisabled>1</bDisplayWhenDisabled>
                <bHasCasted>1</bHasCasted>
    
                <bIgnoreHasCasted>0</bIgnoreHasCasted>
                <bResistable>0</bResistable>
                <iRange>0</iRange>
                <iResistModify>0</iResistModify>
                <iDamage>0</iDamage>
                <iDamageLimit>0</iDamageLimit>
                <DamageType>NONE</DamageType>
                <AddPromotionType1>NONE</AddPromotionType1>
                <AddPromotionType2>NONE</AddPromotionType2>
                <AddPromotionType3>NONE</AddPromotionType3>
                <RemovePromotionType1>NONE</RemovePromotionType1>
                <RemovePromotionType2>NONE</RemovePromotionType2>
                <RemovePromotionType3>NONE</RemovePromotionType3>
                <bBuffCasterOnly>1</bBuffCasterOnly>
                <ConvertUnitType>NONE</ConvertUnitType>
                <CreateBuildingType>NONE</CreateBuildingType>
                <CreateFeatureType>NONE</CreateFeatureType>
                <CreateImprovementType>NONE</CreateImprovementType>
                <SpreadReligion>NONE</SpreadReligion>
                <CreateUnitType>NONE</CreateUnitType>
                <iCreateUnitNum>0</iCreateUnitNum>
                <bPermanentUnitCreate>0</bPermanentUnitCreate>
                <CreateUnitPromotion>NONE</CreateUnitPromotion>
                <bImmuneTeam>0</bImmuneTeam>
                <bImmuneNeutral>0</bImmuneNeutral>
                <bImmuneEnemy>0</bImmuneEnemy>
                <bImmuneFlying>0</bImmuneFlying>
                <bImmuneNotAlive>0</bImmuneNotAlive>
                <bDispel>0</bDispel>
                <bPush>0</bPush>
                <bRemoveHasCasted>0</bRemoveHasCasted>
                <bSacrificeCaster>0</bSacrificeCaster>
                <iChangePopulation>0</iChangePopulation>
                <iCost>0</iCost>
    			<iDelay>0</iDelay>
    			<iImmobileTurns>0</iImmobileTurns>
                <iMiscastChance>0</iMiscastChance>
                <PyMiscast></PyMiscast>
                <PyResult>spellReleaseSheepHerd(pCaster)</PyResult>
                <PyRequirement>reqReleaseSheepHerd(pCaster)</PyRequirement>
                <Effect>EFFECT_SPELL1</Effect>
                <Sound>AS3D_SPELL_TRAIN</Sound>
                <HotKey></HotKey>
                <bAltDown>0</bAltDown>
                <bShiftDown>0</bShiftDown>
                <bCtrlDown>0</bCtrlDown>
                <bGraphicalOnly>1</bGraphicalOnly>
                <iHotKeyPriority>0</iHotKeyPriority>
                <Button>,Art/Interface/Buttons/WorldBuilder/Sheep.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,2,14</Button>
            </SpellInfo>
            <SpellInfo>
                <Type>SPELL_RELEASE_COW_HERD</Type>
                <Description>TXT_KEY_SPELL_RELEASE_HERD</Description>
                <Civilopedia>TXT_KEY_SPELL_PLACEHOLDER_PEDIA</Civilopedia>
                <Strategy>NONE</Strategy>
                <Help>TXT_KEY_SPELL_RELEASE_HERD_HELP</Help>
                <PromotionPrereq1>PROMOTION_COW_HERD</PromotionPrereq1>
                <PromotionPrereq2>NONE</PromotionPrereq2>
                <UnitPrereq>NONE</UnitPrereq>
                <UnitClassPrereq>NONE</UnitClassPrereq>
                <UnitCombatPrereq>UNITCOMBAT_RECON</UnitCombatPrereq>
                <UnitInStackPrereq>NONE</UnitInStackPrereq>
                <CivilizationPrereq>CIVILIZATION_AMBULNATI</CivilizationPrereq>
                <ReligionPrereq>NONE</ReligionPrereq>
                <StateReligionPrereq>NONE</StateReligionPrereq>
                <TechPrereq>NONE</TechPrereq>
                <iPrereqBroadAlignment>0</iPrereqBroadAlignment>
       	    <iAlignmentModifier>0</iAlignmentModifier>
                <bAllowAI>1</bAllowAI>
                <bAdjacentToWaterOnly>0</bAdjacentToWaterOnly>
                <bCausesWar>0</bCausesWar>
                <bGlobal>0</bGlobal>
                <bInBordersOnly>0</bInBordersOnly>
                <bInCityOnly>0</bInCityOnly>
                <iAIWeight>50</iAIWeight>
                <bDisplayWhenDisabled>1</bDisplayWhenDisabled>
                <bHasCasted>1</bHasCasted>
                <bIgnoreHasCasted>0</bIgnoreHasCasted>
                <bResistable>0</bResistable>
                <iRange>0</iRange>
                <iResistModify>0</iResistModify>
                <iDamage>0</iDamage>
                <iDamageLimit>0</iDamageLimit>
                <DamageType>NONE</DamageType>
                <AddPromotionType1>NONE</AddPromotionType1>
                <AddPromotionType2>NONE</AddPromotionType2>
                <AddPromotionType3>NONE</AddPromotionType3>
                <RemovePromotionType1>NONE</RemovePromotionType1>
                <RemovePromotionType2>NONE</RemovePromotionType2>
                <RemovePromotionType3>NONE</RemovePromotionType3>
                <bBuffCasterOnly>1</bBuffCasterOnly>
                <ConvertUnitType>NONE</ConvertUnitType>
                <CreateBuildingType>NONE</CreateBuildingType>
                <CreateFeatureType>NONE</CreateFeatureType>
                <CreateImprovementType>NONE</CreateImprovementType>
                <SpreadReligion>NONE</SpreadReligion>
                <CreateUnitType>NONE</CreateUnitType>
                <iCreateUnitNum>0</iCreateUnitNum>
                <bPermanentUnitCreate>0</bPermanentUnitCreate>
                <CreateUnitPromotion>NONE</CreateUnitPromotion>
                <bImmuneTeam>0</bImmuneTeam>
                <bImmuneNeutral>0</bImmuneNeutral>
                <bImmuneEnemy>0</bImmuneEnemy>
                <bImmuneFlying>0</bImmuneFlying>
                <bImmuneNotAlive>0</bImmuneNotAlive>
                <bDispel>0</bDispel>
                <bPush>0</bPush>
                <bRemoveHasCasted>0</bRemoveHasCasted>
                <bSacrificeCaster>0</bSacrificeCaster>
                <iChangePopulation>0</iChangePopulation>
                <iCost>0</iCost>
    			<iDelay>0</iDelay>
    			<iImmobileTurns>0</iImmobileTurns>
                <iMiscastChance>0</iMiscastChance>
                <PyMiscast></PyMiscast>
                <PyResult>spellReleaseCowHerd(pCaster)</PyResult>
                <PyRequirement>reqReleaseCowHerd(pCaster)</PyRequirement>
                <Effect>EFFECT_SPELL1</Effect>
                <Sound>AS3D_SPELL_TRAIN</Sound>
                <HotKey></HotKey>
                <bAltDown>0</bAltDown>
                <bShiftDown>0</bShiftDown>
                <bCtrlDown>0</bCtrlDown>
                <bGraphicalOnly>1</bGraphicalOnly>
                <iHotKeyPriority>0</iHotKeyPriority>
                <Button>,Art/Interface/Buttons/WorldBuilder/Cow.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,7,12</Button>
            </SpellInfo>
            <SpellInfo>
                <Type>SPELL_RELEASE_DEER_HERD</Type>
                <Description>TXT_KEY_SPELL_RELEASE_HERD</Description>
                <Civilopedia>TXT_KEY_SPELL_PLACEHOLDER_PEDIA</Civilopedia>
                <Strategy>NONE</Strategy>
                <Help>TXT_KEY_SPELL_RELEASE_HERD_HELP</Help>
                <PromotionPrereq1>PROMOTION_DEER_HERD</PromotionPrereq1>
                <PromotionPrereq2>NONE</PromotionPrereq2>
                <UnitPrereq>NONE</UnitPrereq>
                <UnitClassPrereq>NONE</UnitClassPrereq>
                <UnitCombatPrereq>UNITCOMBAT_RECON</UnitCombatPrereq>
                <UnitInStackPrereq>NONE</UnitInStackPrereq>
                <CivilizationPrereq>CIVILIZATION_AMBULNATI</CivilizationPrereq>
                <ReligionPrereq>NONE</ReligionPrereq>
                <StateReligionPrereq>NONE</StateReligionPrereq>
                <TechPrereq>NONE</TechPrereq>
                <iPrereqBroadAlignment>0</iPrereqBroadAlignment>
       	    <iAlignmentModifier>0</iAlignmentModifier>
                <bAllowAI>1</bAllowAI>
                <bAdjacentToWaterOnly>0</bAdjacentToWaterOnly>
                <bCausesWar>0</bCausesWar>
                <bGlobal>0</bGlobal>
                <bInBordersOnly>0</bInBordersOnly>
                <bInCityOnly>0</bInCityOnly>
                <iAIWeight>50</iAIWeight>
                <bDisplayWhenDisabled>1</bDisplayWhenDisabled>
                <bHasCasted>1</bHasCasted>
                <bIgnoreHasCasted>0</bIgnoreHasCasted>
                <bResistable>0</bResistable>
                <iRange>0</iRange>
                <iResistModify>0</iResistModify>
                <iDamage>0</iDamage>
                <iDamageLimit>0</iDamageLimit>
                <DamageType>NONE</DamageType>
                <AddPromotionType1>NONE</AddPromotionType1>
                <AddPromotionType2>NONE</AddPromotionType2>
                <AddPromotionType3>NONE</AddPromotionType3>
                <RemovePromotionType1>NONE</RemovePromotionType1>
                <RemovePromotionType2>NONE</RemovePromotionType2>
                <RemovePromotionType3>NONE</RemovePromotionType3>
                <bBuffCasterOnly>1</bBuffCasterOnly>
                <ConvertUnitType>NONE</ConvertUnitType>
                <CreateBuildingType>NONE</CreateBuildingType>
                <CreateFeatureType>NONE</CreateFeatureType>
                <CreateImprovementType>NONE</CreateImprovementType>
                <SpreadReligion>NONE</SpreadReligion>
                <CreateUnitType>NONE</CreateUnitType>
                <iCreateUnitNum>0</iCreateUnitNum>
                <bPermanentUnitCreate>0</bPermanentUnitCreate>
                <CreateUnitPromotion>NONE</CreateUnitPromotion>
                <bImmuneTeam>0</bImmuneTeam>
                <bImmuneNeutral>0</bImmuneNeutral>
                <bImmuneEnemy>0</bImmuneEnemy>
                <bImmuneFlying>0</bImmuneFlying>
                <bImmuneNotAlive>0</bImmuneNotAlive>
                <bDispel>0</bDispel>
                <bPush>0</bPush>
                <bRemoveHasCasted>0</bRemoveHasCasted>
                <bSacrificeCaster>0</bSacrificeCaster>
                <iChangePopulation>0</iChangePopulation>
                <iCost>0</iCost>
    			<iDelay>0</iDelay>
    			<iImmobileTurns>0</iImmobileTurns>
                <iMiscastChance>0</iMiscastChance>
                <PyMiscast></PyMiscast>
                <PyResult>spellReleaseDeerHerd(pCaster)</PyResult>
                <PyRequirement>reqReleaseDeerHerd(pCaster)</PyRequirement>
                <Effect>EFFECT_SPELL1</Effect>
                <Sound>AS3D_SPELL_TRAIN</Sound>
                <HotKey></HotKey>
                <bAltDown>0</bAltDown>
                <bShiftDown>0</bShiftDown>
                <bCtrlDown>0</bCtrlDown>
                <bGraphicalOnly>1</bGraphicalOnly>
                <iHotKeyPriority>0</iHotKeyPriority>
                <Button>,Art/Interface/Buttons/WorldBuilder/Deer.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,1,15</Button>
            </SpellInfo>
    

    And finally in entrypoints/CvSpellInterface.py adding spells and reqs to "Capture Herd" and the five Release Herd spells.
    Spoiler :

    Code:
    def reqCaptureHerd(caster):
    	pPlot = caster.plot()
    	iHorse = gc.getInfoTypeForString('BONUS_HORSE')
    	iPig = gc.getInfoTypeForString('BONUS_PIG')
    	iSheep = gc.getInfoTypeForString('BONUS_SHEEP')
    	iCow = gc.getInfoTypeForString('BONUS_COW')
    	iDeer = gc.getInfoTypeForString('BONUS_DEER')
    	iBonus = pPlot.getBonusType(-1)
    	if pPlot.getBonusType(-1) != gc.getInfoTypeForString('BONUS_HORSE'):
    		if pPlot.getBonusType(-1) != gc.getInfoTypeForString('BONUS_PIG'):
    			if pPlot.getBonusType(-1) != gc.getInfoTypeForString('BONUS_COW'):
    				if pPlot.getBonusType(-1) != gc.getInfoTypeForString('BONUS_SHEEP'):
    					if pPlot.getBonusType(-1) != gc.getInfoTypeForString('BONUS_DEER'):
    						return False
    	if (caster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_COW_HERD')) and iBonus == iCow):
    		return False
    	if (caster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_HORSE_HERD')) and iBonus == iHorse):
    		return False
    	if (caster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_PIG_HERD')) and iBonus == iPig):
    		return False
    	if (caster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_SHEEP_HERD')) and iBonus == iSheep):
    		return False
    	if (caster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_DEER_HERD')) and iBonus == iDeer):
    		return False
    	return True
    
    def spellCaptureHerd(caster):
    	pPlot = caster.plot()
    	iHorse = gc.getInfoTypeForString('BONUS_HORSE')
    	iPig = gc.getInfoTypeForString('BONUS_PIG')
    	iSheep = gc.getInfoTypeForString('BONUS_SHEEP')
    	iCow = gc.getInfoTypeForString('BONUS_COW')
    	iDeer = gc.getInfoTypeForString('BONUS_DEER')
    	if pPlot.getBonusType(-1) == iHorse:
    		caster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_HORSE_HERD'), True)
    	if pPlot.getBonusType(-1) == iPig:
    		caster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_PIG_HERD'), True)
    	if pPlot.getBonusType(-1) == iCow:
    		caster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_COW_HERD'), True)
    	if pPlot.getBonusType(-1) == iSheep:
    		caster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SHEEP_HERD'), True)
    	if pPlot.getBonusType(-1) == iDeer:
    		caster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEER_HERD'), True)	
    	pPlot.setBonusType(-1)
    	pPlot.setImprovementType(-1)
    	if pPlot.isOwned():
    		startWar(caster.getOwner(), pPlot.getOwner())
    
    def reqReleasePigHerd(caster):
    	pPlot = caster.plot()
    #	if pPlot.getOwner() != caster.getOwner():
    #		return False
    	if pPlot.isWater():
    		return false
    	if pPlot.isCity():
    		return False
    	if pPlot.getBonusType(-1) != -1:
    		return False
    	return True
    
    def spellReleasePigHerd(caster):
    	pPlot = caster.plot()
    	iBonus = gc.getInfoTypeForString('BONUS_PIG')
    	pPlot.setBonusType(iBonus)
    	caster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_PIG_HERD'), False)
    
    def reqReleaseSheepHerd(caster):
    	pPlot = caster.plot()
    #	if pPlot.getOwner() != caster.getOwner():
    #		return False
    	if pPlot.isWater():
    		return false
    	if pPlot.isCity():
    		return False
    	if pPlot.getBonusType(-1) != -1:
    		return False
    	return True
    
    def spellReleaseSheepHerd(caster):
    	pPlot = caster.plot()
    	iBonus = gc.getInfoTypeForString('BONUS_SHEEP')
    	pPlot.setBonusType(iBonus)
    	caster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SHEEP_HERD'), False)
    
    def reqReleaseCowHerd(caster):
    	pPlot = caster.plot()
    #	if pPlot.getOwner() != caster.getOwner():
    #		return False
    	if pPlot.isWater():
    		return false
    	if pPlot.isCity():
    		return False
    	if pPlot.getBonusType(-1) != -1:
    		return False
    	return True
    
    def spellReleaseCowHerd(caster):
    	pPlot = caster.plot()
    	iBonus = gc.getInfoTypeForString('BONUS_COW')
    	pPlot.setBonusType(iBonus)
    	caster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_COW_HERD'), False)
    
    def reqReleaseDeerHerd(caster):
    	pPlot = caster.plot()
    #	if pPlot.getOwner() != caster.getOwner():
    #		return False
    	if pPlot.isWater():
    		return false
    	if pPlot.isCity():
    		return False
    	if pPlot.getBonusType(-1) != -1:
    		return False
    	return True
    
    def spellReleaseDeerHerd(caster):
    	pPlot = caster.plot()
    	iBonus = gc.getInfoTypeForString('BONUS_DEER')
    	pPlot.setBonusType(iBonus)
    	caster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DEER_HERD'), False)
    
    def reqReleaseHorseHerd(caster):
    	pPlot = caster.plot()
    #	if pPlot.getOwner() != caster.getOwner():
    #		return False
    	if pPlot.isWater():
    		return false
    	if pPlot.isCity():
    		return False
    	if pPlot.getBonusType(-1) != -1:
    		return False
    	return True
    
    def spellReleaseHorseHerd(caster):
    	pPlot = caster.plot()
    	iBonus = gc.getInfoTypeForString('BONUS_HORSE')
    	pPlot.setBonusType(iBonus)
    	caster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_HORSE_HERD'), False)
    


    Here it is. Hope it's useful. And if there's a better way of doing it - please let me know!
     
  4. xienwolf

    xienwolf Deity

    Joined:
    Oct 4, 2007
    Messages:
    10,589
    Location:
    Location! Location!
    Air Promotions available to everyone: This is because you are doing it as a Module. Modules don't load anything but numbers very nicely. If you look at the first promotions listed in the XML (while in game) you'll notice that THEY now have the pre-req's which you had set for the Modular Promotions instead. Really sucks, and I am working on making it not happen anymore, but the code to change over is quite extensive.


    For the Herding: Well, the first better way to do it is to modify your Schema to make all those tags you aren't using (and have default values) not be listed at all :) Makes for easier review and posting IMO. As well as much smaller file sizes. You'll see quite a few samples of this in FF 041. Other than that... haven't looked too closely at the actual code, but if it is just what Lutefisk posted I'd bet it's pretty decent already :)
     
  5. Ingvar

    Ingvar Chieftain

    Joined:
    Jun 15, 2008
    Messages:
    62
    Any way of avoiding this? Should just add promotions to the main file?
     
  6. xienwolf

    xienwolf Deity

    Joined:
    Oct 4, 2007
    Messages:
    10,589
    Location:
    Location! Location!
    Pretty much. That or don't use anything but numbers in your modular files (so no Prereqs of any kind, among other things. Description/Civilopedia/Strategy entries are fine though. It has to do with referencing other XML that aren't loaded yet, or the current XML file)
     
  7. Ingvar

    Ingvar Chieftain

    Joined:
    Jun 15, 2008
    Messages:
    62
    Thanks - moved the promotions to the bottom of the main file and things are looking good. Do you know if the "Palace Jump" done through SDK or some other way? Is it possible to have civ without a palace?

    Edit: Taking off isCapital flag on Palace Building in XML does the trick. No more Palaces appearing all over the place. Having central government might help though... And does look in C like Capital is set with a building. Maybe if it's made a "caster" or "equipment" depending building it would only exist in city where a certain item is.
     
  8. Ingvar

    Ingvar Chieftain

    Joined:
    Jun 15, 2008
    Messages:
    62
    Does DOMAIN_IMMOBILE stop a unit from being able to be loaded as cargo?
     
  9. MagisterCultuum

    MagisterCultuum Great Sage

    Joined:
    Feb 14, 2007
    Messages:
    16,329
    Location:
    Kael's head
    I believe it would stop the unit from being able to be loaded in a ship (or hunter, or Trojan Horse), but it would not stop it from being carried as cargo in general; the unit carrying it would just need to have <DomainCargo>DOMAIN_IMMOBILE</DomainCargo>, which would mean it could carry only immobile units.
     
  10. Ingvar

    Ingvar Chieftain

    Joined:
    Jun 15, 2008
    Messages:
    62
    Are there any SDK docs? It looks like civ4wiki used to have something like it, but I can't find anything else that describes the files available and functions in them.
     
  11. xienwolf

    xienwolf Deity

    Joined:
    Oct 4, 2007
    Messages:
    10,589
    Location:
    Location! Location!
    Not too much so far. But if you have any specific requests you can pester me to update the Wikia (link in Sig). I have also linked every decent Modding help compilation I have found on the frontpage of the Wikia, there are quite a few attempts currently in the works to reconstruct the lost Civ4Wiki, but I don't know that any of them have really done SDK much so far.


    But by all means, please do request things for the Wikia. Main reason I haven't posted much there is a fear that nobody is using it, and the fact that there is simply too much needing done for me to focus on any one piece and feel it is a worthwhile use of time. But if someone requests something then I will happily fill it in.
     

Share This Page