Mod-Modders Guide to Fall Further

I thryed to make a very basic Mod for testing but sadly Civ gives me a error that it couldend load he mod at FF start up :(

Maybe someone can point me to where I made a Mistake.

For Writing this I used the Notepad from Windows.

I upladed what I did as RAR.
 
You are trying to do this as a filter in the new pedia you mean?

First off, hate your variable name. x doesn't tell anyone what it is and they have to go hunting for where it was defined. Goes against the "Civ Credo" of being readable code ;) But for filters and sorts your variable is already selected for you anyway (unless you add to the system obviously)

As a filter, you would use
"Value to Check" : 'eBonus.getBonusClassType()'
"Desired Result" : 'gc.getInfoTypeForString("BONUSCLASS_MANA")'


Note that in the Desired Result you use double quotes " inside the single quotes ' to avoid premature cancelation.

Sigh. I did that exact filter... Aside from the double quotes. :lol: Will have to remember that if I use any other strings.

As for the variable, I dislike it too. Hadn't gotten around to changing it yet though, as that's what Grey Fox had used in the original.
 
That sound pretty easy to parse.

When you say alphabetical , are you talking about the regular kind where 'aardvark' comes before 'Aboyne' or the computer kind: ['Aboyne', 'aardvark']?

Not sure to be honest. Most probably it is the computer kind though.

I had hoped to use the same code to get at the order, mostly so that you could change the order without it bothering me. I also have a bit of a phobia about duplicating code.

But are you saying that the load order depends on the content of other files than the MLF xml? I'd have thought that the Modules\LoadOrderVitalModules\FirstLoad was always loaded first, regardless of whether some module in Modules\NormalModules changed the same stuff or not.

MLF controls all, unless it is left blank or not present at all, then standard Civ method (alpha) takes over until an MLF is found which isn't blanked out.
 
Hi All --

Is there a way to have access to the FF SVN server, even if only read-only to monitor submitted changes? I like to use commitmonitor (http://code.google.com/p/commitmonitor/) to keep an eye on some of my favorite projects.

Also helps with mod-modding, to know what the devs are focusing on right now.

Thanks!
 
Hi All --

Is there a way to have access to the FF SVN server, even if only read-only to monitor submitted changes? I like to use commitmonitor (http://code.google.com/p/commitmonitor/) to keep an eye on some of my favorite projects.

Also helps with mod-modding, to know what the devs are focusing on right now.

Thanks!

It's possible, but you'd need permission from Vehem. He gave a few of the modders download-only access a while back to make patches easier to handle, but I can't remember the info.. Saved into the program, I never need to look at it. :lol:


And Xienwolf, just wanted to report that Stackable promotions DO remove correctly now. Makes life a bit easier, thank you. ;)
 
I just took at look at the promotion XML and figured the easiest way to figure out what everything does is to change stuff...So I changed the combat percent (And defence version of same) for combat I from 20 to 200 percent. Went ingame, Illians, worldbuilder'd a warrior next to the clan settler, have him 2 xp and exited. He had 0.02xp :/ Had to give 200 xp for it to give him the first levelup. Same for the starting warrior.

I'm no expert, but I only changed the % bonus from combat I, then exited the xml file. That...Really shouldnt happen, right?
 
Oh. Other than my felling stupid now, thats very good :D

I have a bad habit of breaking things in impossible ways. I forget the game, but my last attempt at modding made your character's face slowly retract into his head and crash the game once it came out the back when you swung a sword. Before that, I tried to improve the ganging-up system in M&B and ended up making your army join with anyone you attacked, making you fight clones of your soldiers with your enemy backing you up. This is why I decided to start small with this :D

But yeah, that never occurred to me. Only switched from base FfH to FF+ a couple of days back.
 
Is there a block in the DLL against placing features on Ocean tiles?

I ask because I'm trying to mod FlavourMod to place kelp. That much I have working, but I want to give it a chance to be placed on Ocean if there are enough kelp tiles around it... Problem is I'm only getting two results. Either no kelp is placed on the Ocean, or it covers the Ocean.
 
Hi All --

Trying to work on my Arcane Analyst Mage-Commander; having some problems. Unit seems to work fine when loaded as a modular mod, but the promotions I have been trying to add never show up in the game. Any suggestions? See my custom mod promotions file attached.

Thanks!

EDIT, don't know why, attachment issues. Here is the XML:

Code:
<?xml version="1.0"?>
<!-- Created with the FfH editor by Kael -->
<!-- Sid Meier's Civilization 4 -->
<!-- Copyright Firaxis Games 2005 -->
<!-- -->
<!-- Unit Infos -->
<Civ4UnitInfos xmlns="x-schema:AAnalyst_CIV4UnitSchema.xml">
	<PromotionInfos>
		<PromotionInfo>		<!-- Commander - Arcane Mentor I -->
			<Type>PROMOTION_GC_ARCANE_MENTOR1</Type>
			<PrereqUnits>UNIT_DURAL_ARCANE_ANALYST</PrereqUnits>
			<MinionPromotions>
				<PromotionType>PROMOTION_GCF_ARCANE_MENTOR1</PromotionType>
			</MinionPromotions>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_COMMANDER</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
			</UnitCombats>
			<Button>Art/Interface/Buttons/Promotions/ArcaneMentor1Comm.dds</Button>
			</PromotionInfo>
		<PromotionInfo>		<!-- Commander - Arcane Mentor II -->
			<Type>PROMOTION_GC_ARCANE_MENTOR2</Type>
			<PrereqUnits>UNIT_DURAL_ARCANE_ANALYST</PrereqUnits>
			<PromotionPrereq>PROMOTION_GC_ARCANE_MENTOR1</PromotionPrereq>
			<MinionPromotions>
				<PromotionType>PROMOTION_GCF_ARCANE_MENTOR2</PromotionType>
			</MinionPromotions>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_COMMANDER</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
			</UnitCombats>
			<Button>Art/Interface/Buttons/Promotions/ArcaneMentor2Comm.dds</Button>
			</PromotionInfo>		
		<PromotionInfo>		<!-- Command - Arcane Mentor I -->
			<Type>PROMOTION_GCF_ARCANE_MENTOR1</Type>
			<Description>TXT_KEY_PROMOTION_GCF_ARCANE_MENTOR1</Description>
			<fCasterXPRate>0.50</fCasterXPRate>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_ADEPT</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
			</UnitCombats>
			<Button>Art/Interface/Buttons/Promotions/ArcaneMentor1.dds</Button>
			<PromotionNextLevel>PROMOTION_GCF_ARCANE_MENTOR2</PromotionNextLevel>
			<iMinLevel>-1</iMinLevel>
		</PromotionInfo>
		<PromotionInfo>		<!-- Command - Arcane Mentor II -->
			<Type>PROMOTION_GCF_ARCANE_MENTOR2</Type>
			<Description>TXT_KEY_PROMOTION_GCF_ARCANE_MENTOR2</Description>
			<fCasterXPRate>1.00</fCasterXPRate>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_ADEPT</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
			</UnitCombats>
			<Button>Art/Interface/Buttons/Promotions/ArcaneMentor2.dds</Button>
			<iMinLevel>-1</iMinLevel>
		</PromotionInfo>
			<PromotionInfo>		<!-- Arcane Analyst - Arcane Detachment I -->
			<Type>PROMOTION_GC_ARCANE_DETACH1</Type>
			<Description>TXT_KEY_PROMOTION_GC_ARCANE_DETACH1</Description>
			<PromotionPrereq>PROMOTION_GC_ARCANE_MENTOR1</PromotionPrereq>
			<PrereqUnits>UNIT_DURAL_ARCANE_ANALYST</PrereqUnits>
			<MinionPromotions>
				<PromotionType>PROMOTION_GCF_ARCANE_DETACH1</PromotionType>
			</MinionPromotions>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_COMMANDER</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
			</UnitCombats>
			<Button>Art/Interface/Buttons/Promotions/ArcaneMentor1Comm.dds</Button>
		</PromotionInfo>
		<PromotionInfo>		<!-- Arcane Analyst - Arcane Detachment II -->
			<Type>PROMOTION_GC_ARCANE_DETACH2</Type>
			<Description>TXT_KEY_PROMOTION_GC_ARCANE_DETACH2</Description>
			<PromotionPrereq>PROMOTION_GC_ARCANE_DETACH1</PromotionPrereq>
			<PrereqUnits>UNIT_DURAL_ARCANE_ANALYST</PrereqUnits>
			<MinionPromotions>
				<PromotionType>PROMOTION_GCF_ARCANE_DETACH2</PromotionType>
			</MinionPromotions>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_COMMANDER</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
			</UnitCombats>
			<Button>Art/Interface/Buttons/Promotions/ArcaneMentor1Comm.dds</Button>
		</PromotionInfo>
		<PromotionInfo>		<!-- Arcane Minion - Arcane Detachment I -->
			<Type>PROMOTION_GCF_ARCANE_DETACH1</Type>
			<Description>TXT_KEY_PROMOTION_GCF_ARCANE_DETACH1</Description>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_ADEPT</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
			</UnitCombats>
			<Button>Art/Interface/Buttons/Promotions/ArcaneMentor1.dds</Button>
			<PromotionSummonPerk>PROMOTION_MOBILITY1</PromotionSummonPerk>
			<iMinLevel>-1</iMinLevel>
		</PromotionInfo>
		<PromotionInfo>		<!-- Arcane Minion - Arcane Detachment II -->
			<Type>PROMOTION_GCF_ARCANE_DETACH2</Type>
			<Description>TXT_KEY_PROMOTION_GCF_ARCANE_DETACH2</Description>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_ADEPT</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
			</UnitCombats>
			<PromotionSummonPerk>PROMOTION_MOBILITY2</PromotionSummonPerk>
			<Button>Art/Interface/Buttons/Promotions/ArcaneMentor2.dds</Button>
			<iMinLevel>-1</iMinLevel>
		</PromotionInfo>
		<PromotionInfo>		<!-- Arcane Analyst - Magical Lore -->
			<Type>PROMOTION_GC_MAGICAL_LORE</Type>
			<Description>TXT_KEY_PROMOTION_GC_MAGICAL_LORE</Description>
			<PromotionPrereq>PROMOTION_GC_ARCANE_MENTOR1</PromotionPrereq>
			<PrereqUnits>UNIT_DURAL_ARCANE_ANALYST</PrereqUnits>
			<MinionPromotions>
				<PromotionType>PROMOTION_MAGIC_RESISTANCE</PromotionType>
			</MinionPromotions>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_COMMANDER</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
			</UnitCombats>
			<Button>Art/Interface/Buttons/Promotions/ArcaneMentor1Comm.dds</Button>
		</PromotionInfo>
		<PromotionInfo>		<!-- Arcane Minion - Magical Lore -->
			<Type>PROMOTION_GCF_MAGICAL_LORE</Type>
			<Description>TXT_KEY_PROMOTION_GCF_MAGICAL_LORE</Description>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_RECON</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_MOUNTED</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_MELEE</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_SIEGE</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_ADEPT</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>		
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_DISCIPLE</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_NAVAL</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_COMMANDER</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
			</UnitCombats>
			<Button>Art/Interface/Buttons/Promotions/ArcaneMentor1Comm.dds</Button>
		</PromotionInfo>		
		<PromotionInfo>		<!-- Test Promotion -->			<!-- Full Fields for use as a Template -->
			<Type>PROMOTION_TESTPROMO</Type>
			<Description>zzzzTestPromo</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>
			<bAllowAttacks>0</bAllowAttacks>
			<bAllowDefenseBonuses>0</bAllowDefenseBonuses>
			<bAttackNoWar>0</bAttackNoWar>
			<bAutoAcquire>1</bAutoAcquire>
			<bBlind>0</bBlind>
			<bCannotCapture>0</bCannotCapture>
			<bCannotCast>0</bCannotCast>
			<bCannotPillage>0</bCannotPillage>
			<bCanPillage>0</bCanPillage>
			<bCityHappy>0</bCityHappy>
			<bCityNoHappy>0</bCityNoHappy>
			<bCitySpy>0</bCitySpy>
			<bCommunalProperty>0</bCommunalProperty>
			<bEffectProm>0</bEffectProm>
			<bFlatMoveCost>0</bFlatMoveCost>
			<bFirstStrikeVulnerable>0</bFirstStrikeVulnerable>
			<bFreeUnit>0</bFreeUnit>
			<bGetCasterXP>0</bGetCasterXP>
			<bIgnoreTerrainCosts>0</bIgnoreTerrainCosts>
			<bIndependant>0</bIndependant>
			<bMoveImpassable>0</bMoveImpassable>
			<bMustMaintain>0</bMustMaintain>
			<bNeverHostile>0</bNeverHostile>
			<bNoDefenseBonus>0</bNoDefenseBonus>
			<bNoMapReveal>0</bNoMapReveal>
			<bNonAbandon>0</bNonAbandon>
			<bNonWarWeariness>0</bNonWarWeariness>
			<bNoSupply>1</bNoSupply>
			<bNoSupport>0</bNoSupport>
			<bNoXP>1</bNoXP>
			<bOverrideHelpText>0</bOverrideHelpText>
			<bPillageOnMove>0</bPillageOnMove>
			<bRivalTerritoryBlock>0</bRivalTerritoryBlock>
			<bRivalTerritoryExplore>0</bRivalTerritoryExplore>
			<bSelfPillage>0</bSelfPillage>
			<bStackEffect>0</bStackEffect>
			<bStartGoldenAge>0</bStartGoldenAge>
			<bTerritorial>0</bTerritorial>
			<CityBonuses>
				<CityBonus>
					<bApplyEnemy>0</bApplyEnemy>
					<bApplyRival>1</bApplyRival>
					<bApplySelf>1</bApplySelf>
					<bApplyTeam>0</bApplyTeam>
					<bFullMap>0</bFullMap>
					<fCulture>0</fCulture>
					<fDefense>0</fDefense>
					<fDiplo>0</fDiplo>
					<fFood>0</fFood>
					<fFreeXP>0</fFreeXP>
					<fGold>0</fGold>
					<fGPP>0</fGPP>
					<fHappy>0</fHappy>
					<fHealth>0</fHealth>
					<fInfectCulture>0</fInfectCulture>
					<fPotency>0</fPotency>
					<fProduction>0</fProduction>
					<fRitualAssist>50</fRitualAssist>
					<fShielding>0</fShielding>
					<fTradeRoutes>0</fTradeRoutes>
					<fTrainXPCap>20</fTrainXPCap>
					<fTrainXPRate>40</fTrainXPRate>
					<iBonusRange>0</iBonusRange>
					<fDecayRate>0</fDecayRate>
				</CityBonus>
			</CityBonuses>
			<CommanderPromotions/>
			<CommercesForLoss>
				<iCommerce>0</iCommerce>		<!-- Gold -->
				<iCommerce>0</iCommerce>		<!-- Science -->
				<iCommerce>0</iCommerce>		<!-- Culture -->
			</CommercesForLoss>
			<CommercesFromWin>
				<iCommerce>0</iCommerce>		<!-- Gold -->
				<iCommerce>0</iCommerce>		<!-- Science -->
				<iCommerce>0</iCommerce>		<!-- Culture -->
			</CommercesFromWin>
			<fCasterXPRate>10</fCasterXPRate>
			<fFreeXPCap>50</fFreeXPCap>
			<iAlignmentModifier>0</iAlignmentModifier>
			<iAirCombat>0</iAirCombat>
			<iAirCombatLimitBoost>0</iAirCombatLimitBoost>
			<iAsset>0</iAsset>
			<iBeakerSacrifice>0</iBeakerSacrifice>
			<iChanceMiscast>0</iChanceMiscast>
			<iChangeDuration>0</iChangeDuration>
			<iCollateralExtraTargets>0</iCollateralExtraTargets>
			<iCollateralLimitCap>0</iCollateralLimitCap>
			<iCollateralLimitBoost>0</iCollateralLimitBoost>
			<iCollateralTargetsLimit>0</iCollateralTargetsLimit>
			<iCombatConversionChance>0</iCombatConversionChance>
			<iCombatDmgCapBoost>0</iCombatDmgCapBoost>
			<iCombatExtraDuration>0</iCombatExtraDuration>
			<iCombatUnitGenerationChance>0</iCombatUnitGenerationChance>
			<iCommandLimit>0</iCommandLimit>
			<iCommandRange>0</iCommandRange>
			<iCommandXPShareRate>0</iCommandXPShareRate>
			<iCultureSacrifice>0</iCultureSacrifice>
			<iDamageOnRemove>0</iDamageOnRemove>
			<iDurationAlter>0</iDurationAlter>
			<iDurationPerTurn>0</iDurationPerTurn>
			<iExtraBeakerPerPop>0</iExtraBeakerPerPop>
			<iExtraCulturePerPop>0</iExtraCulturePerPop>
			<iExtraDropRange>0</iExtraDropRange>
			<iExtraGoldPerPop>0</iExtraGoldPerPop>
			<iExtraHammerPerPop>0</iExtraHammerPerPop>
			<iExtraSupport>0</iExtraSupport>
			<iFoodSacrifice>0</iFoodSacrifice>
			<iGiftableXP>0</iGiftableXP>
			<iGoldCost>0</iGoldCost>
			<iGoldSacrifice>0</iGoldSacrifice>
			<iHammerSacrifice>0</iHammerSacrifice>
			<iNoBadExplore>0</iNoBadExplore>
			<Invisible>NONE</Invisible>
			<iPopulationAdd>0</iPopulationAdd>
			<iPower>0</iPower>
			<iPromotionDuration>0</iPromotionDuration>
			<iPromotionRandomApplyChance>0</iPromotionRandomApplyChance>
			<iSlaveGenerationChance>0</iSlaveGenerationChance>
			<iSpellExtraRange>0</iSpellExtraRange>
			<iXPTranserRate>0</iXPTranserRate>
			<MasterPromotions/>
			<MinionPromotions/>
			<NewName></NewName>
			<PrereqAlignments/>
			<PrereqbAllowNULLUnitCombat>1</PrereqbAllowNULLUnitCombat>
			<PrereqBonusANDs/>
			<PrereqBonusORs/>
			<PrereqBroadAlignment>0</PrereqBroadAlignment>
			<PrereqBuildingANDs/>
			<PrereqBuildingORs/>
			<PrereqCivics/>
			<PrereqCivilizations/>
			<PrereqCorporations/>
			<PrereqEventANDs/>
			<PrereqEventORs/>
			<PrereqFeatANDs/>
			<PrereqFeatNOTs/>
			<PrereqFeatORs/>
			<PrereqFeatures/>
			<PrereqImprovements/>
			<PrereqInBorderEnemy>0</PrereqInBorderEnemy>
			<PrereqInBorderNone>0</PrereqInBorderNone>
			<PrereqInBorderRival>0</PrereqInBorderRival>
			<PrereqInBorderSelf>0</PrereqInBorderSelf>
			<PrereqInBorderTeam>0</PrereqInBorderTeam>
			<PrereqInCity>0</PrereqInCity>
			<PrereqMaxAge>0</PrereqMaxAge>
			<PrereqMinAge>0</PrereqMinAge>
			<PrereqPermission>0</PrereqPermission>
			<PrereqPromotionsNOTOnTile/>
			<PrereqPromotionsOnTile/>
			<PrereqReligions/>
			<PrereqTechANDs/>
			<PrereqTechORs/>
			<PrereqTerrains/>
			<PrereqTier>0</PrereqTier>
			<PrereqTraits/>
			<PrereqUnitClassesNOTOnTile/>
			<PrereqUnitClassesOnTile/>
			<PrereqUnits/>
			<PrereqUnitTypesNOTOnTile/>
			<PrereqUnitTypesOnTile/>
			<PrereqWeaponTier>0</PrereqWeaponTier>
			<PromotionAllows/>
			<PromotionDegradesTo/>
			<PromotionExcludes/>
			<PromotionOverwrites/>
			<PromotionReplacedBy/>
			<PythonOnRemove/>
			<PythonPostCombatLost/>
			<PythonPostCombatWon/>
			<SeeInvisible>NONE</SeeInvisible>
			<SlavePromotions/>
			<TempUnitCombat>UNITCOMBAT_MOUNTED</TempUnitCombat>
			<YieldsForLoss>
				<iYield>0</iYield>		<!-- Food -->
				<iYield>0</iYield>		<!-- Production -->
			</YieldsForLoss>
			<YieldsFromWin>
				<iYield>0</iYield>		<!-- Food -->
				<iYield>0</iYield>		<!-- Production -->
			</YieldsFromWin>
			<bLeader>0</bLeader>
			<bBlitz>1</bBlitz>
			<bAmphib>0</bAmphib>
			<bRiver>0</bRiver>
			<bEnemyRoute>0</bEnemyRoute>
			<bAlwaysHeal>0</bAlwaysHeal>
			<bHillsDoubleMove>0</bHillsDoubleMove>
			<bImmuneToFirstStrikes>0</bImmuneToFirstStrikes>
			<iVisibilityChange>0</iVisibilityChange>
			<iMovesChange>400</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/>
			<TerrainDefenses/>
			<FeatureAttacks/>
			<FeatureDefenses/>
			<UnitCombatMods/>
			<DomainMods/>
			<TerrainDoubleMoves/>
			<FeatureDoubleMoves/>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_WORKER</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_NAVAL</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_SIEGE</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_ADEPT</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_ANIMAL</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_BEAST</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_DISCIPLE</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_MELEE</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_MOUNTED</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_RECON</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_COMMANDER</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
			</UnitCombats>
			<HotKey></HotKey>
			<bAltDown>0</bAltDown>
			<bShiftDown>0</bShiftDown>
			<bCtrlDown>0</bCtrlDown>
			<bGraphicalOnly>1</bGraphicalOnly>
			<iHotKeyPriority>0</iHotKeyPriority>
			<Button>Art/Interface/Buttons/Units/duck.dds</Button>
			<bAIControl>0</bAIControl>
			<bBoarding>0</bBoarding>
			<bOnlyDefensive>0</bOnlyDefensive>
			<bDispellable>0</bDispellable>
			<bDoubleFortifyBonus>0</bDoubleFortifyBonus>
			<bEquipment>0</bEquipment>
			<bFear>0</bFear>
			<bFlying>1</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>1</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>
			<iCombatLimit>0</iCombatLimit>
			<iCombatPercentDefense>0</iCombatPercentDefense>
			<iCombatPercentGlobalCounter>0</iCombatPercentGlobalCounter>
			<iCombatPercentInBorders>0</iCombatPercentInBorders>
			<iExpireChance>0</iExpireChance>
			<iExtraCombatStr>0</iExtraCombatStr>
			<iExtraCombatDefense>0</iExtraCombatDefense>
			<iFreeXPPerTurn>0.5</iFreeXPPerTurn>
			<iFreeXPFromCombat>0</iFreeXPFromCombat>
			<iMinLevel>-1</iMinLevel>
			<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/>
			<BonusAffinities/>
			<DamageTypeResists/>
			<iOrderPriority>0</iOrderPriority>
		</PromotionInfo>
	</PromotionInfos>
</Civ4UnitInfos>
 
Need to know where two things are: The majority of the art (assets/art/interface/buttons/units has three files, none of which are what I needed. the XML said fireball etc was in there, but...)
And the TXT_KEY stuff. Need to write descriptions for stuff, cant find it.
 
Most of the art is inside the fpk. It basically acts as an extension of the art directory, but everything is all zipped up which somehow makes it run better or something. I'm not entirely sure why.

you'll need to unpack the fpk, using pakbuild. It's a firaxis made proram, that you can find easy with a search on the forums here, or google
 
Thanks. What about the TXT_KEY things?

I got bored and decided to make a civ based around getting wasted.
 
assets/xml/text

All of FFH's text is in the big 7MB file in there. FF's text is much more organised into 20 or so smaller, neater files.
What you call a file doesn't matter at all. The game will just load the entire contents of that folder. Well, I think you might still need to keep the same naming format, not sure. But you can make a seperate file for your stuff in there.
 
Hi, I'm brand new to civ modding although I've been playing FFH & FF for some time. I've got a weird problem with an event I've added in a module i'm working on, and am hoping one of the gurus here may know what's going on.

The new eventtrigger and events themselves appear to be working flawlessly. However the tooltips for every other event in the game include a couple of entries like "In addition, in 2000 turns a 2000% chance for one of my events to occur".

I'm only working in xml. I haven't touched any of the python. I've tried rebuilding my xml files from the ground up, I've tried searching these forums, and I can't figure out what's going on. Can anyone help? Huge thanks in advance.
 
WoC users had reported issues with events after I had imported the work, and I hadn't noticed any issues while I went through the code so most likely made the same mistake that the original writers did. I'll have to track down what the issue was, but till then I am afraid you most likely cannot do events modularly.
 
there is a lot missing in CopynonDefaults for events and eventtriggers. Also one item is wrong (loops over commercetypes, but then use yields).
In CvBuildinginfo CopynonDefaults the 2D arrays SpecialistYieldChange and CommercenChage are messed up (i and j need to be exchanged). I don't know if Xienwolf corrected this, but if not you will also get some problems with making buildings modular.

But in general using the true modular system will save you a lot of time.
 
Hi All --

I saw one or two previous questions months ago about Training Caps and Training Rates, but no definitive answer.

Is there any way through XML for me to find out the experience that a unit will get in the next turn? In the next x turns? Is it a static function, or is it more complex (some calculation based off of how much XP the unit currently has, training caps of various buildings, etc.?)

My point is to give some sort of information to the player about how long it would take a unit to reach the next level if they camped out in the city. E.g. 10 turns, 20 turns, and so on.

Thanks!
 
Back
Top Bottom