Quick Modding Questions Thread

How do I increase the frequency of events happening in game? The mod I'm playing with already has the extra events included in it, but I want to know how to modify it so an event happens almost every other turn, if possible.

I'm specifically trying to figure out the "iWeight" mechanic found in the Civ4EventTriggerInfos.xml file. I already increased the "iPercentGamesActive" to 100 to ensure every game can have all the events in them, and thought by increasing the iWeight on events by several factors (ie. from 100 to 500) there would be more events. I thought I noticed more events happening in the early stages of my games (not really sure if there actually was a difference tbh now; I think I may have modified the iWeight after starting), but now there seems to be even less events happening, especially towards the end of the game. Is the iWeight inversely proportional to the frequency of events happening?

tl;dr does increasing the iWeight in the Civ4EventTriggerInfos.xml file increase or decrease the frequency of events happening?
 
That iWeight has nothing to do with how often events happen, it is used to pick which event happens when it decides to do one. If you have two possible events and one is weight 300 and the other 100 then the first will be picked with a 3 out of 4 chance as that would be 300 / (300 + 100) as the chance.

In the Civ4EraInfos.xml each era has an iEventChancePerTurn value. Increasing that increases the odds of it trying to give an event on each turn. I think it is a plain percentage chance. Doubling them for an era should just about double the frequency of events for that era - only "just about" because you can hit a situation where there are no valid events on the turn it randomly decides to give you one. I think the value int he file increases as you advance in era due to things like the later events often having more specific restrictions, so the chances of not having any valid events on any given turn is higher.
 
The Emperor Protects..

You may have just solved an event confusion that hath been plagueing my soul for AGES!!!

Where I could not figure out why certain events were not seeming to trigger later in the game, when their conditions were met. I think it is because other 'easier' events were clogging it up. No wait that is not an entirely true statement because my other events have a -1 iweight, which should mean they will always go if they can. This just means there is much more oppurtunity for the event to be called. I am now babbling...

I just watched my game with the era setting put up to 100 and suddenly saw every turn about 3 of the easy events triggering at the same time for AI opponents. So 3 players having an event on the same turn.

So I am guessing it runs some kind of check some where for each player each turn, that includes that era tags value.

Hmm I still don't have it activating yet.

Does anyone know if the Prereqevent tag and the bquest take have any kind of unspecified expiration length?

BEcause it seems like I can get such an event to works up to maybe 100 turns after it's prereq event, but not maybe 100-200+ turns..
 
My understanding may be wrong but as I understand it

1) Only one event can happen to a player (AI or Human) in a turn. I am fairly certain of this bit.

2) The mechanism randomly selects an event for each player then sees if that event can happen for that player. If it can't then no event happens for the player. This is the bit I am not so sure of.
 
Moderator Action: justinian66's thread asking exactly the same question as the one they asked four posts above merged with this one. If you have a query in future, please either ask here or open a new thread, but don't do both. As on this occasion, it leads to two separate discussions about the same thing.
 
Not strictly a modding question, but does anyone have a recommendation on how to create an installation wizard for your mod? Most stuff I've run across is either proprietary or too involved for my use case. I could learn to use them of course, but if there is an accepted simple solution that people use for their mod files, it would make things easier for me.

Basically all I need is:
- compressing the mod folder
- auto detecting the Mods folder to unpack to
- creating a desktop shortcut
 
I prefer a simple zip file, which uncompresses to a folder. This folder can then be manually moved into MODS. The main reason for this is that when you copy files yourself, you know what is going on. Mods can be buggy and so can installers. Some people claim installers make it feel more professional, but if that's the case, then I prefer to be unprofessional ;)

I make shortcuts manually. Just make a shortcut to the game exe and add the mod argument, like
Code:
bts.exe mod="my_mod"
I prefer not to use spaces in the mod name, in which case the it should be possible to skip the "". Knowing how to do it manually mean you can make them yourself, even if you downloaded a mod without one.

I wonder if the shortcut can be automated, like placing a bat file inside the mod and double clicking it will generate a shortcut on the desktop for the mod in question. I did something like that in perl at some point, but it would be best to use a language people don't have to manually install first.
 
Actually the ini file in My Documents can be edited to point to the mod directly, no need to edit exe files.
 
Actually the ini file in My Documents can be edited to point to the mod directly, no need to edit exe files.
Yeah that would work too. However what I wrote about is editing the path in a shortcut to the exe, not the exe itself. I don't think it's realistic to edit the exe unless you gain access to the source code for it.
 
I prefer a simple zip file, which uncompresses to a folder. This folder can then be manually moved into MODS. The main reason for this is that when you copy files yourself, you know what is going on. Mods can be buggy and so can installers. Some people claim installers make it feel more professional, but if that's the case, then I prefer to be unprofessional ;)

I completely agree with this. As a user, I don't want installers for mods. For games, yes, but not for mods.

Besides, you should make sure that your installer takes care of all ways of installing the game nowadays. Think of a Steam installation. Also, the complete edition of Civ4 has a different path way than the original version. See this problem in this post for example.
 
It's not about what I prefer, it's also about what my players prefer. And I've run across quite a few unexperienced users who didn't have the right archive software, or install the mod into the wrong folder (My Games is popular for this). It would not only make their lifes easier, but also save some of my time because tracking down how they installed the mod is part of the process of figuring out why the mod won't start for people.

And it's not a problem at all to also offer an archived folder for people who like to have more control over their installation.

So suggestions still welcome.
 
My understanding may be wrong but as I understand it

1) Only one event can happen to a player (AI or Human) in a turn. I am fairly certain of this bit.

2) The mechanism randomly selects an event for each player then sees if that event can happen for that player. If it can't then no event happens for the player. This is the bit I am not so sure of.


Now that reminds me of an old doubt on this matter that I've never solved.

I've read a guide here in CFC about how Random Events work, but there I couldn't discern if:

When a successful Random Event check is achieved in a specific turn, will the game first separate the random events ingame (those sorted in in the beginning of the match, by iPercentGamesActive) that don't meet the prereqs, so it can randomly choose between those that are able to happen (considering their iWeights), or will it just randomly choose from all those sorted into the match at the beginning, and if the prereq fails, the random event attempt also fails?

E.g.: Forest Fire, Joyous Wedding and Federal Reserve were all set to 100 in iPercentGamesActive, and everything else was set to 0, so they are obviously able to happen in the match, and are the only ones we have. Let's say a check is successful on turn 100, and we are still in Medieval Era, without any same-religion bordering nation (Joyous Wedding prereq), nor Free Market civic (Federal Reserve prereq). When this check is processed will it:

- Trigger Forest Fire, as it's the only one that has its prereqs true;
- Try to trigger any of the 3 events, and failing in the case it triggers an event that has its prereqs false;
- A different way from the 2 previous options.


This is stuck in my mind for more then a year already, and I would love to know the answer. In my head, I believe both solutions are terrible for the game because either the game has to check many prereqs to be able to select the group from which it will choose the Random Event to happen (which I interpret as a big strain on computer processing if we start to increase the number of available random events on a match), or it must have a very low chance of success in the moments that most random events have their prereqs unachieved yet.


Maybe a mixed approach was chosen, in which it checks for quick things like Tech prereqs (maybe civic ones too) to make the pool from which it'll randomly select a Random Event, and then after choosing the event, it checks for those more specific prereqs, like an explorer above an oil resource, or a city with 3 or more population. I believe this would be a better solution then the previous two.
 
Please explain me this, WHY ?!

Code:
		<UnitClassInfo>
			<Type>UNITCLASS_SETTLER_NANO</Type>
			<Description>Settler Nano</Description>
			<iMaxGlobalInstances>-1</iMaxGlobalInstances>
			<iMaxTeamInstances>-1</iMaxTeamInstances>
			<iMaxPlayerInstances>-1</iMaxPlayerInstances>
			<iInstanceCostModifier>0</iInstanceCostModifier>
			<DefaultUnit>UNIT_SETTLER_NANO</DefaultUnit>
		</UnitClassInfo>
		<UnitClassInfo>
			<Type>UNITCLASS_SETTLER_GALACTIC</Type>
			<Description>Settler Galactic</Description>
			<iMaxGlobalInstances>-1</iMaxGlobalInstances>
			<iMaxTeamInstances>-1</iMaxTeamInstances>
			<iMaxPlayerInstances>-1</iMaxPlayerInstances>
			<iInstanceCostModifier>0</iInstanceCostModifier>
			<DefaultUnit>UNIT_SETTLER_GALACTIC</DefaultUnit>
		</UnitClassInfo>
		<UnitClassInfo>
			<Type>UNITCLASS_SETTLER_FUTURE</Type>
			<Description>Settler Future</Description>
			<iMaxGlobalInstances>-1</iMaxGlobalInstances>
			<iMaxTeamInstances>-1</iMaxTeamInstances>
			<iMaxPlayerInstances>-1</iMaxPlayerInstances>
			<iInstanceCostModifier>0</iInstanceCostModifier>
			<DefaultUnit>UNIT_SETTLER_FUTURE</DefaultUnit>
		</UnitClassInfo>

Code:
		<UnitInfo>
			<Class>UNITCLASS_SETTLER_NANO</Class>
			<Type>UNIT_SETTLER_NANO</Type>
			<UniqueNames/>
			<Special>NONE</Special>
			<Capture>UNITCLASS_WORKER</Capture>
			<Combat>NONE</Combat>
			<Domain>DOMAIN_LAND</Domain>
			<DefaultUnitAI>UNITAI_SETTLE</DefaultUnitAI>
			<Invisible>NONE</Invisible>
			<SeeInvisible>NONE</SeeInvisible>
			<Description>Settler Nano</Description>
			<Civilopedia>TXT_KEY_UNIT_SETTLER_PEDIA</Civilopedia>
			<Strategy>TXT_KEY_UNIT_SETTLER_STRATEGY</Strategy>
			<Advisor>ADVISOR_GROWTH</Advisor>
			<bAnimal>0</bAnimal>
			<bFood>1</bFood>
			<bNoBadGoodies>0</bNoBadGoodies>
			<bOnlyDefensive>0</bOnlyDefensive>
			<bNoCapture>0</bNoCapture>
			<bQuickCombat>0</bQuickCombat>
			<bRivalTerritory>0</bRivalTerritory>
			<bMilitaryHappiness>0</bMilitaryHappiness>
			<bMilitarySupport>0</bMilitarySupport>
			<bMilitaryProduction>0</bMilitaryProduction>
			<bPillage>0</bPillage>
			<bSpy>0</bSpy>
			<bSabotage>0</bSabotage>
			<bDestroy>0</bDestroy>
			<bStealPlans>0</bStealPlans>
			<bInvestigate>0</bInvestigate>
			<bCounterSpy>0</bCounterSpy>
			<bFound>1</bFound>
			<bGoldenAge>0</bGoldenAge>
			<bInvisible>0</bInvisible>
			<bFirstStrikeImmune>0</bFirstStrikeImmune>
			<bNoDefensiveBonus>0</bNoDefensiveBonus>
			<bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
			<bCanMoveImpassable>0</bCanMoveImpassable>
			<bCanMoveAllTerrain>0</bCanMoveAllTerrain>
			<bFlatMovementCost>0</bFlatMovementCost>
			<bIgnoreTerrainCost>0</bIgnoreTerrainCost>
			<bNukeImmune>0</bNukeImmune>
			<bPrereqBonuses>0</bPrereqBonuses>
			<bPrereqReligion>0</bPrereqReligion>
			<bMechanized>0</bMechanized>
			<bSuicide>0</bSuicide>
			<bHiddenNationality>0</bHiddenNationality>
			<bAlwaysHostile>0</bAlwaysHostile>
			<UnitClassUpgrades>
				<UnitClassUpgrade>
					<UnitClassUpgradeType>UNITCLASS_SETTLER_GALACTIC</UnitClassUpgradeType>
					<bUnitClassUpgrade>1</bUnitClassUpgrade>
				</UnitClassUpgrade>
			</UnitClassUpgrades>
			<UnitClassTargets/>
			<UnitCombatTargets/>
			<UnitClassDefenders/>
			<UnitCombatDefenders/>
			<FlankingStrikes/>
			<UnitAIs>
				<UnitAI>
					<UnitAIType>UNITAI_SETTLE</UnitAIType>
					<bUnitAI>1</bUnitAI>
				</UnitAI>
			</UnitAIs>
			<NotUnitAIs/>
			<Builds/>
			<ReligionSpreads/>
			<CorporationSpreads/>
			<GreatPeoples/>
			<Buildings/>
			<ForceBuildings/>
			<HolyCity>NONE</HolyCity>
			<ReligionType>NONE</ReligionType>
			<StateReligion>NONE</StateReligion>
			<PrereqReligion>NONE</PrereqReligion>
			<PrereqCorporation>NONE</PrereqCorporation>
			<PrereqBuilding>NONE</PrereqBuilding>
			<PrereqTech>TECH_INVENTION_MATRIX</PrereqTech>
			<TechTypes/>
			<BonusType>NONE</BonusType>
			<PrereqBonuses/>
			<ProductionTraits>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_IMPERIALIST</ProductionTraitType>
					<iProductionTrait>80</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_PHILOSOPHICAL</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_AGGRESSIVE</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_SPIRITUAL</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_EXPANSIVE</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_INDUSTRIOUS</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_CREATIVE</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_FINANCIAL</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_ORGANIZED</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_CHARISMATIC</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_PROTECTIVE</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_IMPERIALIST</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_ENLIGHTENED</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_AIRBORNE</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_NOMADIC</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_SEAFARING</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_STRATEGIC</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_INVASIVE</ProductionTraitType>
					<iProductionTrait>30</iProductionTrait>
				</ProductionTrait>
			</ProductionTraits>
			<Flavors/>
			<iAIWeight>0</iAIWeight>
			<iCost>0</iCost>
			<iHurryCostModifier>0</iHurryCostModifier>
			<iAdvancedStartCost>100</iAdvancedStartCost>
			<iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
			<iMinAreaSize>-1</iMinAreaSize>
			<iMoves>2</iMoves>
			<bNoRevealMap>0</bNoRevealMap>
			<iAirRange>0</iAirRange>
			<iAirUnitCap>0</iAirUnitCap>
			<iDropRange>0</iDropRange>
			<iNukeRange>-1</iNukeRange>
			<iWorkRate>0</iWorkRate>
			<iBaseDiscover>0</iBaseDiscover>
			<iDiscoverMultiplier>0</iDiscoverMultiplier>
			<iBaseHurry>0</iBaseHurry>
			<iHurryMultiplier>0</iHurryMultiplier>
			<iBaseTrade>0</iBaseTrade>
			<iTradeMultiplier>0</iTradeMultiplier>
			<iGreatWorkCulture>0</iGreatWorkCulture>
			<iEspionagePoints>0</iEspionagePoints>
			<TerrainImpassables/>
			<FeatureImpassables/>
			<TerrainPassableTechs/>
			<FeaturePassableTechs/>
			<iCombat>0</iCombat>
			<iCombatLimit>0</iCombatLimit>
			<iAirCombat>0</iAirCombat>
			<iAirCombatLimit>0</iAirCombatLimit>
			<iXPValueAttack>0</iXPValueAttack>
			<iXPValueDefense>0</iXPValueDefense>
			<iFirstStrikes>0</iFirstStrikes>
			<iChanceFirstStrikes>0</iChanceFirstStrikes>
			<iInterceptionProbability>0</iInterceptionProbability>
			<iEvasionProbability>0</iEvasionProbability>
			<iWithdrawalProb>0</iWithdrawalProb>
			<iCollateralDamage>0</iCollateralDamage>
			<iCollateralDamageLimit>0</iCollateralDamageLimit>
			<iCollateralDamageMaxUnits>0</iCollateralDamageMaxUnits>
			<iCityAttack>0</iCityAttack>
			<iCityDefense>0</iCityDefense>
			<iAnimalCombat>0</iAnimalCombat>
			<iHillsAttack>0</iHillsAttack>
			<iHillsDefense>0</iHillsDefense>
			<TerrainNatives/>
			<FeatureNatives/>
			<TerrainAttacks/>
			<TerrainDefenses/>
			<FeatureAttacks/>
			<FeatureDefenses/>
			<UnitClassAttackMods/>
			<UnitClassDefenseMods/>
			<UnitCombatMods/>
			<UnitCombatCollateralImmunes/>
			<DomainMods/>
			<BonusProductionModifiers/>
			<iBombRate>0</iBombRate>
			<iBombardRate>0</iBombardRate>
			<SpecialCargo>NONE</SpecialCargo>
			<DomainCargo>NONE</DomainCargo>
			<iCargo>0</iCargo>
			<iConscription>0</iConscription>
			<iCultureGarrison>0</iCultureGarrison>
			<iExtraCost>0</iExtraCost>
			<iAsset>4</iAsset>
			<iPower>0</iPower>
			<UnitMeshGroups>
				<iGroupSize>4</iGroupSize>
				<fMaxSpeed>1.75</fMaxSpeed>
				<fPadTime>1</fPadTime>
				<iMeleeWaveSize>4</iMeleeWaveSize>
				<iRangedWaveSize>0</iRangedWaveSize>
				<UnitMeshGroup>
					<iRequired>1</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_SETTLER_MALE</EarlyArtDefineTag>
				</UnitMeshGroup>
				<UnitMeshGroup>
					<iRequired>1</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_SETTLER_FEMALE</EarlyArtDefineTag>
				</UnitMeshGroup>
				<UnitMeshGroup>
					<iRequired>2</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_SETTLER_CHILD</EarlyArtDefineTag>
				</UnitMeshGroup>
			</UnitMeshGroups>
			<FormationType>FORMATION_TYPE_DEFAULT</FormationType>
			<HotKey/>
			<bAltDown>0</bAltDown>
			<bShiftDown>0</bShiftDown>
			<bCtrlDown>0</bCtrlDown>
			<iHotKeyPriority>0</iHotKeyPriority>
			<FreePromotions>
				<FreePromotion>
					<PromotionType>PROMOTION_FREE_SETTLER</PromotionType>
					<bFreePromotion>1</bFreePromotion>
				</FreePromotion>
			</FreePromotions>
			<LeaderPromotion>NONE</LeaderPromotion>
			<iLeaderExperience>0</iLeaderExperience>
		</UnitInfo>
		<UnitInfo>
			<Class>UNITCLASS_SETTLER_GALACTIC</Class>
			<Type>UNIT_SETTLER_GALACTIC</Type>
			<UniqueNames/>
			<Special>NONE</Special>
			<Capture>UNITCLASS_WORKER</Capture>
			<Combat>NONE</Combat>
			<Domain>DOMAIN_LAND</Domain>
			<DefaultUnitAI>UNITAI_SETTLE</DefaultUnitAI>
			<Invisible>NONE</Invisible>
			<SeeInvisible>NONE</SeeInvisible>
			<Description>Settler Galactic</Description>
			<Civilopedia>TXT_KEY_UNIT_SETTLER_PEDIA</Civilopedia>
			<Strategy>TXT_KEY_UNIT_SETTLER_STRATEGY</Strategy>
			<Advisor>ADVISOR_GROWTH</Advisor>
			<bAnimal>0</bAnimal>
			<bFood>1</bFood>
			<bNoBadGoodies>0</bNoBadGoodies>
			<bOnlyDefensive>0</bOnlyDefensive>
			<bNoCapture>0</bNoCapture>
			<bQuickCombat>0</bQuickCombat>
			<bRivalTerritory>0</bRivalTerritory>
			<bMilitaryHappiness>0</bMilitaryHappiness>
			<bMilitarySupport>0</bMilitarySupport>
			<bMilitaryProduction>0</bMilitaryProduction>
			<bPillage>0</bPillage>
			<bSpy>0</bSpy>
			<bSabotage>0</bSabotage>
			<bDestroy>0</bDestroy>
			<bStealPlans>0</bStealPlans>
			<bInvestigate>0</bInvestigate>
			<bCounterSpy>0</bCounterSpy>
			<bFound>1</bFound>
			<bGoldenAge>0</bGoldenAge>
			<bInvisible>0</bInvisible>
			<bFirstStrikeImmune>0</bFirstStrikeImmune>
			<bNoDefensiveBonus>0</bNoDefensiveBonus>
			<bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
			<bCanMoveImpassable>0</bCanMoveImpassable>
			<bCanMoveAllTerrain>0</bCanMoveAllTerrain>
			<bFlatMovementCost>0</bFlatMovementCost>
			<bIgnoreTerrainCost>0</bIgnoreTerrainCost>
			<bNukeImmune>0</bNukeImmune>
			<bPrereqBonuses>0</bPrereqBonuses>
			<bPrereqReligion>0</bPrereqReligion>
			<bMechanized>0</bMechanized>
			<bSuicide>0</bSuicide>
			<bHiddenNationality>0</bHiddenNationality>
			<bAlwaysHostile>0</bAlwaysHostile>
			<UnitClassUpgrades>
				<UnitClassUpgrade>
					<UnitClassUpgradeType>UNITCLASS_SETTLER_FUTURE</UnitClassUpgradeType>
					<bUnitClassUpgrade>1</bUnitClassUpgrade>
				</UnitClassUpgrade>
			</UnitClassUpgrades>
			<UnitClassTargets/>
			<UnitCombatTargets/>
			<UnitClassDefenders/>
			<UnitCombatDefenders/>
			<FlankingStrikes/>
			<UnitAIs>
				<UnitAI>
					<UnitAIType>UNITAI_SETTLE</UnitAIType>
					<bUnitAI>1</bUnitAI>
				</UnitAI>
			</UnitAIs>
			<NotUnitAIs/>
			<Builds/>
			<ReligionSpreads/>
			<CorporationSpreads/>
			<GreatPeoples/>
			<Buildings/>
			<ForceBuildings/>
			<HolyCity>NONE</HolyCity>
			<ReligionType>NONE</ReligionType>
			<StateReligion>NONE</StateReligion>
			<PrereqReligion>NONE</PrereqReligion>
			<PrereqCorporation>NONE</PrereqCorporation>
			<PrereqBuilding>NONE</PrereqBuilding>
			<PrereqTech>TECH_DEEPER_KNOWLEDGE</PrereqTech>
			<TechTypes/>
			<BonusType>NONE</BonusType>
			<PrereqBonuses/>
			<ProductionTraits>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_IMPERIALIST</ProductionTraitType>
					<iProductionTrait>140</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_PHILOSOPHICAL</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_AGGRESSIVE</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_SPIRITUAL</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_EXPANSIVE</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_INDUSTRIOUS</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_CREATIVE</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_FINANCIAL</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_ORGANIZED</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_CHARISMATIC</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_PROTECTIVE</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_IMPERIALIST</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_ENLIGHTENED</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_AIRBORNE</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_NOMADIC</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_SEAFARING</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_STRATEGIC</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_INVASIVE</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
			</ProductionTraits>
			<Flavors/>
			<iAIWeight>0</iAIWeight>
			<iCost>0</iCost>
			<iHurryCostModifier>0</iHurryCostModifier>
			<iAdvancedStartCost>100</iAdvancedStartCost>
			<iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
			<iMinAreaSize>-1</iMinAreaSize>
			<iMoves>2</iMoves>
			<bNoRevealMap>0</bNoRevealMap>
			<iAirRange>0</iAirRange>
			<iAirUnitCap>0</iAirUnitCap>
			<iDropRange>0</iDropRange>
			<iNukeRange>-1</iNukeRange>
			<iWorkRate>0</iWorkRate>
			<iBaseDiscover>0</iBaseDiscover>
			<iDiscoverMultiplier>0</iDiscoverMultiplier>
			<iBaseHurry>0</iBaseHurry>
			<iHurryMultiplier>0</iHurryMultiplier>
			<iBaseTrade>0</iBaseTrade>
			<iTradeMultiplier>0</iTradeMultiplier>
			<iGreatWorkCulture>0</iGreatWorkCulture>
			<iEspionagePoints>0</iEspionagePoints>
			<TerrainImpassables/>
			<FeatureImpassables/>
			<TerrainPassableTechs/>
			<FeaturePassableTechs/>
			<iCombat>0</iCombat>
			<iCombatLimit>0</iCombatLimit>
			<iAirCombat>0</iAirCombat>
			<iAirCombatLimit>0</iAirCombatLimit>
			<iXPValueAttack>0</iXPValueAttack>
			<iXPValueDefense>0</iXPValueDefense>
			<iFirstStrikes>0</iFirstStrikes>
			<iChanceFirstStrikes>0</iChanceFirstStrikes>
			<iInterceptionProbability>0</iInterceptionProbability>
			<iEvasionProbability>0</iEvasionProbability>
			<iWithdrawalProb>0</iWithdrawalProb>
			<iCollateralDamage>0</iCollateralDamage>
			<iCollateralDamageLimit>0</iCollateralDamageLimit>
			<iCollateralDamageMaxUnits>0</iCollateralDamageMaxUnits>
			<iCityAttack>0</iCityAttack>
			<iCityDefense>0</iCityDefense>
			<iAnimalCombat>0</iAnimalCombat>
			<iHillsAttack>0</iHillsAttack>
			<iHillsDefense>0</iHillsDefense>
			<TerrainNatives/>
			<FeatureNatives/>
			<TerrainAttacks/>
			<TerrainDefenses/>
			<FeatureAttacks/>
			<FeatureDefenses/>
			<UnitClassAttackMods/>
			<UnitClassDefenseMods/>
			<UnitCombatMods/>
			<UnitCombatCollateralImmunes/>
			<DomainMods/>
			<BonusProductionModifiers/>
			<iBombRate>0</iBombRate>
			<iBombardRate>0</iBombardRate>
			<SpecialCargo>NONE</SpecialCargo>
			<DomainCargo>NONE</DomainCargo>
			<iCargo>0</iCargo>
			<iConscription>0</iConscription>
			<iCultureGarrison>0</iCultureGarrison>
			<iExtraCost>0</iExtraCost>
			<iAsset>4</iAsset>
			<iPower>0</iPower>
			<UnitMeshGroups>
				<iGroupSize>4</iGroupSize>
				<fMaxSpeed>1.75</fMaxSpeed>
				<fPadTime>1</fPadTime>
				<iMeleeWaveSize>4</iMeleeWaveSize>
				<iRangedWaveSize>0</iRangedWaveSize>
				<UnitMeshGroup>
					<iRequired>1</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_SETTLER_MALE</EarlyArtDefineTag>
				</UnitMeshGroup>
				<UnitMeshGroup>
					<iRequired>1</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_SETTLER_FEMALE</EarlyArtDefineTag>
				</UnitMeshGroup>
				<UnitMeshGroup>
					<iRequired>2</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_SETTLER_CHILD</EarlyArtDefineTag>
				</UnitMeshGroup>
			</UnitMeshGroups>
			<FormationType>FORMATION_TYPE_DEFAULT</FormationType>
			<HotKey/>
			<bAltDown>0</bAltDown>
			<bShiftDown>0</bShiftDown>
			<bCtrlDown>0</bCtrlDown>
			<iHotKeyPriority>0</iHotKeyPriority>
			<FreePromotions>
				<FreePromotion>
					<PromotionType>PROMOTION_FREE_SETTLER</PromotionType>
					<bFreePromotion>1</bFreePromotion>
				</FreePromotion>
			</FreePromotions>
			<LeaderPromotion>NONE</LeaderPromotion>
			<iLeaderExperience>0</iLeaderExperience>
		</UnitInfo>
		<UnitInfo>
			<Class>UNITCLASS_SETTLER_FUTURE</Class>
			<Type>UNIT_SETTLER_FUTURE</Type>
			<UniqueNames/>
			<Special>NONE</Special>
			<Capture>UNITCLASS_WORKER</Capture>
			<Combat>NONE</Combat>
			<Domain>DOMAIN_LAND</Domain>
			<DefaultUnitAI>UNITAI_SETTLE</DefaultUnitAI>
			<Invisible>NONE</Invisible>
			<SeeInvisible>NONE</SeeInvisible>
			<Description>Settler Future</Description>
			<Civilopedia>TXT_KEY_UNIT_SETTLER_PEDIA</Civilopedia>
			<Strategy>TXT_KEY_UNIT_SETTLER_STRATEGY</Strategy>
			<Advisor>ADVISOR_GROWTH</Advisor>
			<bAnimal>0</bAnimal>
			<bFood>1</bFood>
			<bNoBadGoodies>0</bNoBadGoodies>
			<bOnlyDefensive>0</bOnlyDefensive>
			<bNoCapture>0</bNoCapture>
			<bQuickCombat>0</bQuickCombat>
			<bRivalTerritory>0</bRivalTerritory>
			<bMilitaryHappiness>0</bMilitaryHappiness>
			<bMilitarySupport>0</bMilitarySupport>
			<bMilitaryProduction>0</bMilitaryProduction>
			<bPillage>0</bPillage>
			<bSpy>0</bSpy>
			<bSabotage>0</bSabotage>
			<bDestroy>0</bDestroy>
			<bStealPlans>0</bStealPlans>
			<bInvestigate>0</bInvestigate>
			<bCounterSpy>0</bCounterSpy>
			<bFound>1</bFound>
			<bGoldenAge>0</bGoldenAge>
			<bInvisible>0</bInvisible>
			<bFirstStrikeImmune>0</bFirstStrikeImmune>
			<bNoDefensiveBonus>0</bNoDefensiveBonus>
			<bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
			<bCanMoveImpassable>0</bCanMoveImpassable>
			<bCanMoveAllTerrain>0</bCanMoveAllTerrain>
			<bFlatMovementCost>0</bFlatMovementCost>
			<bIgnoreTerrainCost>0</bIgnoreTerrainCost>
			<bNukeImmune>0</bNukeImmune>
			<bPrereqBonuses>0</bPrereqBonuses>
			<bPrereqReligion>0</bPrereqReligion>
			<bMechanized>0</bMechanized>
			<bSuicide>0</bSuicide>
			<bHiddenNationality>0</bHiddenNationality>
			<bAlwaysHostile>0</bAlwaysHostile>
			<UnitClassUpgrades/>
			<UnitClassTargets/>
			<UnitCombatTargets/>
			<UnitClassDefenders/>
			<UnitCombatDefenders/>
			<FlankingStrikes/>
			<UnitAIs>
				<UnitAI>
					<UnitAIType>UNITAI_SETTLE</UnitAIType>
					<bUnitAI>1</bUnitAI>
				</UnitAI>
			</UnitAIs>
			<NotUnitAIs/>
			<Builds/>
			<ReligionSpreads/>
			<CorporationSpreads/>
			<GreatPeoples/>
			<Buildings/>
			<ForceBuildings/>
			<HolyCity>NONE</HolyCity>
			<ReligionType>NONE</ReligionType>
			<StateReligion>NONE</StateReligion>
			<PrereqReligion>NONE</PrereqReligion>
			<PrereqCorporation>NONE</PrereqCorporation>
			<PrereqBuilding>NONE</PrereqBuilding>
			<PrereqTech>TECH_NEAR_OMNISCIENCE</PrereqTech>
			<TechTypes/>
			<BonusType>NONE</BonusType>
			<PrereqBonuses/>
			<ProductionTraits>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_IMPERIALIST</ProductionTraitType>
					<iProductionTrait>210</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_PHILOSOPHICAL</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_AGGRESSIVE</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_SPIRITUAL</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_EXPANSIVE</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_INDUSTRIOUS</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_CREATIVE</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_FINANCIAL</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_ORGANIZED</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_CHARISMATIC</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_PROTECTIVE</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_IMPERIALIST</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_ENLIGHTENED</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_AIRBORNE</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_NOMADIC</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_SEAFARING</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_STRATEGIC</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_INVASIVE</ProductionTraitType>
					<iProductionTrait>160</iProductionTrait>
				</ProductionTrait>
			</ProductionTraits>
			<Flavors/>
			<iAIWeight>0</iAIWeight>
			<iCost>0</iCost>
			<iHurryCostModifier>0</iHurryCostModifier>
			<iAdvancedStartCost>100</iAdvancedStartCost>
			<iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
			<iMinAreaSize>-1</iMinAreaSize>
			<iMoves>2</iMoves>
			<bNoRevealMap>0</bNoRevealMap>
			<iAirRange>0</iAirRange>
			<iAirUnitCap>0</iAirUnitCap>
			<iDropRange>0</iDropRange>
			<iNukeRange>-1</iNukeRange>
			<iWorkRate>0</iWorkRate>
			<iBaseDiscover>0</iBaseDiscover>
			<iDiscoverMultiplier>0</iDiscoverMultiplier>
			<iBaseHurry>0</iBaseHurry>
			<iHurryMultiplier>0</iHurryMultiplier>
			<iBaseTrade>0</iBaseTrade>
			<iTradeMultiplier>0</iTradeMultiplier>
			<iGreatWorkCulture>0</iGreatWorkCulture>
			<iEspionagePoints>0</iEspionagePoints>
			<TerrainImpassables/>
			<FeatureImpassables/>
			<TerrainPassableTechs/>
			<FeaturePassableTechs/>
			<iCombat>0</iCombat>
			<iCombatLimit>0</iCombatLimit>
			<iAirCombat>0</iAirCombat>
			<iAirCombatLimit>0</iAirCombatLimit>
			<iXPValueAttack>0</iXPValueAttack>
			<iXPValueDefense>0</iXPValueDefense>
			<iFirstStrikes>0</iFirstStrikes>
			<iChanceFirstStrikes>0</iChanceFirstStrikes>
			<iInterceptionProbability>0</iInterceptionProbability>
			<iEvasionProbability>0</iEvasionProbability>
			<iWithdrawalProb>0</iWithdrawalProb>
			<iCollateralDamage>0</iCollateralDamage>
			<iCollateralDamageLimit>0</iCollateralDamageLimit>
			<iCollateralDamageMaxUnits>0</iCollateralDamageMaxUnits>
			<iCityAttack>0</iCityAttack>
			<iCityDefense>0</iCityDefense>
			<iAnimalCombat>0</iAnimalCombat>
			<iHillsAttack>0</iHillsAttack>
			<iHillsDefense>0</iHillsDefense>
			<TerrainNatives/>
			<FeatureNatives/>
			<TerrainAttacks/>
			<TerrainDefenses/>
			<FeatureAttacks/>
			<FeatureDefenses/>
			<UnitClassAttackMods/>
			<UnitClassDefenseMods/>
			<UnitCombatMods/>
			<UnitCombatCollateralImmunes/>
			<DomainMods/>
			<BonusProductionModifiers/>
			<iBombRate>0</iBombRate>
			<iBombardRate>0</iBombardRate>
			<SpecialCargo>NONE</SpecialCargo>
			<DomainCargo>NONE</DomainCargo>
			<iCargo>0</iCargo>
			<iConscription>0</iConscription>
			<iCultureGarrison>0</iCultureGarrison>
			<iExtraCost>0</iExtraCost>
			<iAsset>4</iAsset>
			<iPower>0</iPower>
			<UnitMeshGroups>
				<iGroupSize>4</iGroupSize>
				<fMaxSpeed>1.75</fMaxSpeed>
				<fPadTime>1</fPadTime>
				<iMeleeWaveSize>4</iMeleeWaveSize>
				<iRangedWaveSize>0</iRangedWaveSize>
				<UnitMeshGroup>
					<iRequired>1</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_SETTLER_MALE</EarlyArtDefineTag>
				</UnitMeshGroup>
				<UnitMeshGroup>
					<iRequired>1</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_SETTLER_FEMALE</EarlyArtDefineTag>
				</UnitMeshGroup>
				<UnitMeshGroup>
					<iRequired>2</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_SETTLER_CHILD</EarlyArtDefineTag>
				</UnitMeshGroup>
			</UnitMeshGroups>
			<FormationType>FORMATION_TYPE_DEFAULT</FormationType>
			<HotKey/>
			<bAltDown>0</bAltDown>
			<bShiftDown>0</bShiftDown>
			<bCtrlDown>0</bCtrlDown>
			<iHotKeyPriority>0</iHotKeyPriority>
			<FreePromotions>
				<FreePromotion>
					<PromotionType>PROMOTION_FREE_SETTLER</PromotionType>
					<bFreePromotion>1</bFreePromotion>
				</FreePromotion>
			</FreePromotions>
			<LeaderPromotion>NONE</LeaderPromotion>
			<iLeaderExperience>0</iLeaderExperience>
		</UnitInfo>

and i get this error during mod loading..



WHY ?!
 
Do you have too many entries in the ProductionTraits list? I know some lists have a limit set in the Global Defines eg the number of prerequisite bonuses for building.
 
Not strictly a modding question, but does anyone have a recommendation on how to create an installation wizard for your mod? Most stuff I've run across is either proprietary or too involved for my use case. I could learn to use them of course, but if there is an accepted simple solution that people use for their mod files, it would make things easier for me.

Basically all I need is:
- compressing the mod folder
- auto detecting the Mods folder to unpack to
- creating a desktop shortcut

I would investigate NSIS. I'm not at home right now, but I'll get you the details and a script which does mod installs later this evening.

I use it for BAT and Better BAT AI. With a little editing it should do all that you need. :)
 
@Zlatko
You have a list somewhere, which overflows and ProductionTraits looks like a good candidate for that. You have 18 and the game assumes no more than GC.getNumTraitInfos().

If this goes wrong, I can think of two reasons:
1: you have less than 18 entries in the trait xml
2: you have a nameclash with types

1 should be easy to check and fix. Just make sure you only use types from the traits xml and only use each once.

2 is more difficult. Say you use TRAIT_PHILOSOPHICAL as type in more than one xml. When it's first read, it is assigned a number. Next time it reuses the number and if say you define it to 4 in globalDefineALT and it should be 16 in traits xml, then it will overwrite whatever was supposed to be at 4 instead, resulting in just 17 traits when your file contains 18. I have spent ages tracking an issue like that, which resulted in me writing code to detect nameclashes. However sadly my plan for an easy to move between mods version of that code appears to be far into the future. I'm not sure what advice to give you unless you use a debugger.
 
@Dancing Hoskuld
and
@Nightinggale
sorry for late answer, i will now try to fix this, and in next one-two hour i will post my progress here.
And my RECONSTRUCTION mod is based on LoR mod, all my settings are same as in LoR (Legends of Revolution).


INSTANT FIX:


Very very stupid error, i used two times TRAIT_IMPERIALIST in <ProductionTraits> and this was cause error.

Code:
			<ProductionTraits>
				[B][COLOR="Red"]<ProductionTrait>
					<ProductionTraitType>TRAIT_IMPERIALIST</ProductionTraitType>
					<iProductionTrait>140</iProductionTrait>
				</ProductionTrait>[/COLOR][/B]
				<ProductionTrait>
					<ProductionTraitType>TRAIT_PHILOSOPHICAL</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_AGGRESSIVE</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_SPIRITUAL</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_EXPANSIVE</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_INDUSTRIOUS</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_CREATIVE</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_FINANCIAL</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_ORGANIZED</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_CHARISMATIC</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_PROTECTIVE</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				[B][COLOR="Red"]<ProductionTrait>
					<ProductionTraitType>TRAIT_IMPERIALIST</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>[/COLOR][/B]
				<ProductionTrait>
					<ProductionTraitType>TRAIT_ENLIGHTENED</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_AIRBORNE</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_NOMADIC</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_SEAFARING</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_STRATEGIC</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
				<ProductionTrait>
					<ProductionTraitType>TRAIT_INVASIVE</ProductionTraitType>
					<iProductionTrait>90</iProductionTrait>
				</ProductionTrait>
			</ProductionTraits>

Thank you !
 
Addition question for all:
What do canDoCivic and cannotDoCivic in CvGameUtils.py ?

Code:
	def canDoCivic(self,argsList):
		ePlayer = argsList[0]
		eCivic = argsList[1]
		return False

	def cannotDoCivic(self,argsList):
		ePlayer = argsList[0]
		eCivic = argsList[1]
		return False

i want to add something special, for example:
for CIVICOPTION_MY_CIVIC:
CIVIC_NO_CIVIC
CIVIC_MY_CIVIC1
CIVIC_MY_CIVIC2
CIVIC_MY_CIVIC3


if some player have CIVIC_MY_CIVIC1 or CIVIC_MY_CIVIC2 or CIVIC_MY_CIVIC3, he can not more switch to CIVIC_NO_CIVIC, CIVIC_MY_CIVIC1, CIVIC_MY_CIVIC2 and CIVIC_MY_CIVIC3, he can't more switch to any other civic which civic type is only CIVICOPTION_MY_CIVIC.
I think that i must write code in cannotDoCivic ?!
Some suggestions/help please.
 
canDoCivic and cannotDoCivic (which one is a question of perspective) are activated by Python Callbacks (see PythonCallbackDefines.xml). In other words, the dll stops and asks Python if there are restrictions. By default, it returns False. If, with a condition, it returns True, then the Civic is blocked.

Example:
Code:
...(extract)	if pTeam.getAtWarCount(True) > 0:
			if eCivic == gc.getInfoTypeForString("CIVIC_PACIFISM"):
				return True
		
		return False

You can't run Civic Pacifism if you're at war.

If you want more, you should try to explain a bit better what are the different categories and what you want to achieve. A new thread in the SDK/Python would be a better place I guess.
 
Top Bottom