diff --git a/IDAParser/Program.cs b/IDAParser/Program.cs index 309e1987..d8ac286b 100644 --- a/IDAParser/Program.cs +++ b/IDAParser/Program.cs @@ -23,6 +23,8 @@ static void Main(string[] args) string ucpPath = Directory.GetCurrentDirectory() + "../../../../UnofficialCrusaderPatch/AICs"; UpdateAICs(Path.GetFullPath(ucpPath)); + if(Directory.Exists(Path.GetFullPath(ucpPath) + "/KimberlyAICs")) + UpdateAICs(Path.GetFullPath(ucpPath) + "/KimberlyAICs"); } catch (Exception e) { diff --git a/README.md b/README.md index 8a6c24cf..511dee9c 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Special thanks go to: [Evrey](https://github.com/Evrey) for his AI castles [Tatha](https://www.youtube.com/channel/UC4BrhBzHp1ymnczlkdKcSkg) for his AI castles [PitchNeeded](https://github.com/PitchNeeded) for his AI castle edits -[ByBurton](https://github.com/ByBurton/AI_Character_Editor) for the AICE and help with identifying the AIC parameters +[ByBurton](https://github.com/ByBurton/AI_Character_Editor) AKA Kimberly for help with identifying the AIC parameters     diff --git a/UnofficialCrusaderPatch/AICharacters/AIPersonality.cs b/UnofficialCrusaderPatch/AICharacters/AIPersonality.cs index 9a714581..15cfcdc8 100644 --- a/UnofficialCrusaderPatch/AICharacters/AIPersonality.cs +++ b/UnofficialCrusaderPatch/AICharacters/AIPersonality.cs @@ -65,10 +65,14 @@ public int GetByIndex(int index) public int HighestPopularity; // Index: 9 Hex: 0x24 - public int Unknown009; + [RWNames("Unknown009", "TaxMin")] + [RWComment("Ranging from 0 (being +7 gifts) to 11 (being -24 taxes)")] + public int TaxesMin; // Index: 10 Hex: 0x28 - public int Unknown010; + [RWNames("Unknown010", "TaxMax")] + [RWComment("Ranging from 0 (being +7 gifts) to 11 (being -24 taxes)")] + public int TaxesMax; // Index: 11 Hex: 0x2C public int Unknown011; @@ -115,19 +119,24 @@ public int GetByIndex(int index) public int PopulationPerPitchrig; // Index: 25 Hex: 0x64 + [RWComment("Setting this to zero will not disable building! Set PopulationPerQuarry to zero instead!")] public int MaxQuarries; // Index: 26 Hex: 0x68 + [RWComment("Setting this to zero will not disable building! Set PopulationPerIronmine to zero instead!")] public int MaxIronmines; // Index: 27 Hex: 0x6C + [RWComment("Setting this to zero will not disable building! Set PopulationPerWoodcutter to zero instead!")] public int MaxWoodcutters; // Index: 28 Hex: 0x70 + [RWComment("Setting this to zero will not disable building! Set PopulationPerPitchrig to zero instead!")] public int MaxPitchrigs; // Index: 29 Hex: 0x74 - [RWComment("The maximum amount of farms the AI builds. HopFarms are excluded from this! (Also check PopulationPerFarm)")] + //[RWComment("The maximum amount of farms the AI builds. HopFarms are excluded from this! (Also check PopulationPerFarm)")] + [RWComment("Setting this to zero will not disable building! Set PopulationPerFarm to zero instead!")] public int MaxFarms; // Index: 30 Hex: 0x78 @@ -139,23 +148,26 @@ public int GetByIndex(int index) public int ResourceRebuildDelay; // Index: 32 Hex: 0x80 - [RWComment("includes flour?")] + [RWComment("Includes wheat. Applies to each kind of food.")] public int MaxFood; // Index: 33 Hex: 0x84 + [RWComment("Reserves that are only consumed if current popularity < LowestPopularity. If the AI has less than this amount it will prioritize buying the missing food.")] public int MinimumApples; // Index: 34 Hex: 0x88 + [RWComment("Reserves that are only consumed if current popularity < LowestPopularity. If the AI has less than this amount it will prioritize buying the missing food.")] public int MinimumCheese; // Index: 35 Hex: 0x8C + [RWComment("Reserves that are only consumed if current popularity < LowestPopularity. If the AI has less than this amount it will prioritize buying the missing food.")] public int MinimumBread; // Index: 36 Hex: 0x90 public int MinimumWheat; // Index: 37 Hex: 0x94 - [RWComment("unclear")] + [RWComment("Unclear")] public int MinimumHop; // Index: 38 Hex: 0x98 @@ -168,10 +180,14 @@ public int GetByIndex(int index) public int Unknown040; // Index: 41 Hex: 0xA4 - public int Unknown041; + [RWNames("Unknown041")] + [RWComment("If the AI would have less than this amount of a good after sending them it won't send them to the requesting player.")] //Includes ResourceVariance? + public int MinimumGoodsRequiredAfterTrade; // Index: 42 Hex: 0xA8 - public int Unknown042; + [RWNames("Unknown042")] + [RWComment("Above this value of food the AI will give double rations out.")] + public int DoubleRationsFoodThreshold; // Index: 43 Hex: 0xAC public int MaxWood; @@ -183,6 +199,7 @@ public int GetByIndex(int index) public int MaxResourceOther; // Index: 46 Hex: 0xB8 + [RWComment("Applies to each type of weapon or armour.")] public int MaxEquipment; // Index: 47 Hex: 0xBC @@ -252,10 +269,13 @@ public int GetByIndex(int index) public Resource SellResource15; // Index: 68 Hex: 0x110 - public int Unknown068; + [RWNames("Unknown068")] + [RWComment("The amount of time for castle patrols set up in the AIV to move from one rally point to the next. (Remark: Only spearmen, horse archers and macemen currently do)")] + public int DefWallPatrolRallyTime; // Index: 69 Hex: 0x114 - public int Unknown069; + [RWNames("Unknown069")] + public int DefWallPatrolGroups; // Index: 70 Hex: 0x118 [RWComment("This one makes no sense. In code: [if (Gold + Threshold > 30) then RecruitEngineer()], maybe it was supposed to be minus...")] @@ -274,7 +294,7 @@ public int GetByIndex(int index) public int Unknown073; // Index: 74 Hex: 0x128 - [RWComment("The probability with which this AI reinforces missing defense troops.")] + [RWComment("The probability with which this AI reinforces missing defense troops. Note: These are ignored at the beginning of the game, as there are only sortie and defensive units being recruited.")] public int RecruitProbDefDefault; // Index: 75 Hex: 0x12C @@ -302,17 +322,21 @@ public int GetByIndex(int index) public int RecruitProbAttackStrong; // Index: 83 Hex: 0x14C - public int SortieUnitRangedMax; + [RWComment("These units are only sent out if more than this amout of them has already been recruited.")] + [RWNames("SortieUnitRangedMax", "Unknown083")] + public int SortieUnitRangedMin; // Index: 84 Hex: 0x150 - [RWComment("Type of ranged units that go to the last attacked farm or building, and guard it until another is attacked.")] + [RWComment("Type of ranged units that go to the last attacked farm or building, and guard it until another is attacked. Setting it to None may cause buggy recruitment behavior.")] public Unit SortieUnitRanged; // Index: 85 Hex: 0x154 - public int SortieUnitMeleeMax; + [RWNames("SortieUnitMeleeMax", "Unknown085")] + [RWComment("These units are only sent out if more than this amout of them has already been recruited.")] + public int SortieUnitMeleeMin; // Index: 86 Hex: 0x158 - [RWComment("Type of melee units to attack enemy units shooting at the AI's buildings or workers.")] + [RWComment("Type of melee units to attack enemy units shooting at the AI's buildings or workers. Setting it to None may cause buggy recruitment behavior.")] public Unit SortieUnitMelee; // Index: 87 Hex: 0x15C @@ -350,10 +374,10 @@ public int GetByIndex(int index) public bool OuterPatrolGroupsMove; // Index: 95 Hex: 0x17C - //[RWNames("Unknown095")] + [RWNames("Unknown095")] //[RWComment("The amount of patrol units the AI saves up before sending them out to do their duty.")] - //NOT SURE HERE YET, NEEDS TESTING! - public int Unknown095; + [RWComment("The delay after which the AI sends out patrols to defend the outer economy. 4 is approximately one month, 24 being half a year.")] + public int OuterPatrolRallyDelay; // Index: 96 Hex: 0x180 public int DefWalls; @@ -463,9 +487,9 @@ public int GetByIndex(int index) public int AttForceRandom; // Index: 127 Hex: 0x1FC - [RWNames("Unknown127")] - [RWComment("The distance variance an AI will add to the default rally distance for sieges.")] - public int AttForceRallyDistanceRandom; + [RWNames("Unknown127", "AttForceRallyDistanceRandom")] + [RWComment("If the AI has more than this amount of units in the attack force, it will help their allies or siege an enemy if commanded to do so.")] + public int AttForceSupportAllyThreshold; // Index: 128 Hex: 0x200 [RWComment("The %-amount of units of the attack force that the AI will rally before attacking. (0 - 100)")] @@ -476,14 +500,16 @@ public int GetByIndex(int index) public int Unknown129; // Index: 130 Hex: 0x208 - [RWComment("The %-amount of (siege engines? engineers? laddermen? tunnelers? siege def?) that need to be destroyed / killed before the main units attack.")] - [RWNames("Unknown130")] - public int AttForceCasualtiesPercentageBeforeAssault; + //[RWComment("The %-amount of (siege engines? engineers? laddermen? tunnelers? siege def?) that need to be destroyed / killed before the main units attack.")] + [RWNames("Unknown130", "AttForceCasualtiesPercentageBeforeAssault")] + //public int AttForceCasualtiesPercentageBeforeAssault; + public int Unknown130; // Index: 131 Hex: 0x20C - [RWComment("The %-amount of units of the attack force that will rally (at the bested enemy's keep location) before retreating or attacking again.")] - [RWNames("Unknown131")] - public int AttForceSuccessRallyPercentage; + //Maybe a delay instead of a percentage + //[RWComment("The %-amount of units of the attack force that will rally (at the bested enemy's keep location) before retreating.")] + [RWNames("Unknown131", "AttForceSuccessRallyPercentage")] + public int Unknown131; // Index: 132 Hex: 0x210 public int Unknown132; @@ -513,7 +539,10 @@ public int GetByIndex(int index) public SiegeEngine SiegeEngine8; // Index: 141 Hex: 0x234 - public int Unknown141; + //Maybe the amount of stones thrown by all catapults until a cow is thrown instead + [RWNames("Unknown141")] + [RWComment("The amount of stones needed to be thrown until the AI throws a diseased cow instead (catapults & trebuchets). Value 0 disables cows and -1 makes the AI not throw any bolders, only cows.")] + public int CowThrowInterval; // Index: 142 Hex: 0x238 public int Unknown142; @@ -522,16 +551,19 @@ public int GetByIndex(int index) public int AttMaxEngineers; // Index: 144 Hex: 0x240 - [RWComment("This unit is only recruited if the target enemy has moat and used preferably to dig enemy moat.")] + [RWComment("This unit is only recruited if the target enemy has moat and used preferably to fill up enemy moat.")] public DiggingUnit AttDiggingUnit; // Index: 145 Hex: 0x244 public int AttDiggingUnitMax; // Index: 146 Hex: 0x248 + [RWNames("Unknown146")] + //Not without improved attack waves: [RWComment("These units split from the main attack force to destroy enemy buildings. If the enemy walls are nearby those may be attacked.")] public Unit AttUnit2; // Index: 147 Hex: 0x24C + [RWNames("Unknown147")] public int AttUnit2Max; // Index: 148 Hex: 0x250 @@ -589,7 +621,7 @@ public int GetByIndex(int index) public int Unknown161; // Index: 162 Hex: 0x288 - [RWComment("AttUntiMain1 to AttUnitMain4 is a list of the main strike force the AI recruits for sieges. Priotizes in order of the list, but only recruits untis for which they have enough gold. So try to place expensive units higher up.")] + [RWComment("AttUntiMain1 to AttUnitMain4 is a list of the main strike force the AI recruits for sieges. Priotizes in order of the list, but only recruits units for which they have enough gold. So try to place expensive units higher up.")] public Unit AttUnitMain1; // Index: 163 Hex: 0x28C diff --git a/UnofficialCrusaderPatch/AICs/UCP-Bugfix.aic b/UnofficialCrusaderPatch/AICs/UCP-Bugfix.aic index d222be8f..0d5a0f5a 100644 --- a/UnofficialCrusaderPatch/AICs/UCP-Bugfix.aic +++ b/UnofficialCrusaderPatch/AICs/UCP-Bugfix.aic @@ -1,3120 +1,3084 @@ -AIFileHeader -{ - DescrGer - { - Diese .aic behebt die folgenden Fehler und Macken der KIs: - - - Die Ratte bemannt ihre Verteidigung wieder langsam - - - Philipp besetzt seine Mauern auf Ratte-Niveau - - - Friedrich, Marschall, Emir & Abt kaufen Ausrüstung - - - Wazir kauft Brot in Not - - - Nizar kauft Brot statt Äpfel - - - Sultan kauft auch Käse & Brot - - - Wazir strebt immer mindestens 5 Getreide im Lager an statt 2 - - - Wazir, Emir, Marschall & Philipp kaufen Nahrung & Getreide in 10er statt 20er Fuhren - - - } - DescrEng - { - This .aic fixes the following bugs and quirks of the AI: - - - The Rat reinforces its defense again slowly - - - Philipp has wall defenses on the niveau of The Rat - - - Frederick, Marshal, Emir & The Abbot buy equipment - - - Wazir buys bread in need - - - Nizar buys bread instead of apples - - - Sultan also buys Cheese & Bread - - - Wazir always aims at at least 5 wheat in stock instead of 2 - - - Wazir, Emir, Marshal & Philipp buy food & wheat in stocks of 10 instead of 20 - - - } - DescrPol - { - Ten plik .aic naprawia następujące błędy i problemy przeciwników komputerowych: - - - Szczur powoli odnawia swoją obronę - - - Król Filip ma obronę na poziomie Szczura - - - Fryderyk, Marszałek, Emir i Opat kupują bronie - - - Wezyr kupuje chleb w razie potrzeby - - - Nizar kupuje chleb, zamiast jabłek - - - Sułtan kupuje też chleb i ser - - - Wezyr zawsze stara się mieć przynajmniej 5 sztuk pszenicy w składzie, zamiast 2 - - - Wezyr, Emir, Marszałek i Król Filip kupują jedzenie i pszenicę po 10 sztuk, zamiast po 20 - - - } - DescrRus - { - Этот .aic исправляет следующие ошибки и причуды AI: - - - Крыса снова медленно усиливает свою защиту - - - У Филиппа есть оборонительные сооружения на крыше Крысы - - - Фредерик, Маршал, Эмир и Аббат покупают оборудование - - - Вазир покупает хлеб если нужно - - - Низар покупает хлеб вместо яблок - - - Султан также покупает сыр и хлеб - - - Вазир всегда стремится к как минимум 5 пшениц на складе вместо 2 - - - Вазир, Эмир, Маршал и Филипп покупают продовольствие и пшеницу в запасах по 10 вместо 20 - - - } -} - -/* -AICharacter -{ - Index: Int32 - Name: String - Personality: AIPersonality - { - Unknown000: Int32 - Unknown001: Int32 - Unknown002: Int32 - Unknown003: Int32 - Unknown004: Int32 - Unknown005: Int32 - CriticalPopularity: Int32, Values range from 0 to 10000, where 100 popularity equals 10000. Below this value, the AI sells more stuff than usual to get money. - LowestPopularity: Int32, Below this value the AI sets taxes to zero until it reaches 'HighestPopularity' again. - HighestPopularity: Int32, Above this value the AI sets taxes back up - Unknown009: Int32 - Unknown010: Int32 - Unknown011: Int32 - Farm1: FarmBuilding, An array of farm slots, which the AI builds in the given sequence. - Farm2: FarmBuilding - Farm3: FarmBuilding - Farm4: FarmBuilding - Farm5: FarmBuilding - Farm6: FarmBuilding - Farm7: FarmBuilding - Farm8: FarmBuilding - PopulationPerFarm: Int32, The AI builds one farm for each amount of this population value. (Also check MaxFarms) - PopulationPerWoodcutter: Int32 - PopulationPerQuarry: Int32 - PopulationPerIronmine: Int32 - PopulationPerPitchrig: Int32 - MaxQuarries: Int32 - MaxIronmines: Int32 - MaxWoodcutters: Int32 - MaxPitchrigs: Int32 - MaxFarms: Int32, The maximum amount of farms the AI builds. HopFarms are excluded from this! (Also check PopulationPerFarm) - BuildInterval: Int32, This is only considered <= 5000 gold - ResourceRebuildDelay: Int32, The delay before the AI rebuilds destroyed buildings. - MaxFood: Int32, includes flour? - MinimumApples: Int32 - MinimumCheese: Int32 - MinimumBread: Int32 - MinimumWheat: Int32 - MinimumHop: Int32, unclear - TradeAmountFood: Int32 - TradeAmountEquipment: Int32 - Unknown040: Int32 - Unknown041: Int32 - Unknown042: Int32 - MaxWood: Int32 - MaxStone: Int32 - MaxResourceOther: Int32 - MaxEquipment: Int32 - MaxBeer: Int32 - MaxResourceVariance: Int32, added to all max resource values? - RecruitGoldThreshold: Int32, A (gold) threshold which disables any recruitment of all units except for raiding and sortie until it is met. - BlacksmithSetting: BlacksmithSetting - FletcherSetting: FletcherSetting - PoleturnerSetting: PoleturnerSetting - SellResource01: Resource - SellResource02: Resource - SellResource03: Resource - SellResource04: Resource - SellResource05: Resource - SellResource06: Resource - SellResource07: Resource - SellResource08: Resource - SellResource09: Resource - SellResource10: Resource - SellResource11: Resource - SellResource12: Resource - SellResource13: Resource - SellResource14: Resource - SellResource15: Resource - Unknown068: Int32 - Unknown069: Int32 - DefSiegeEngineGoldThreshold: Int32, This one makes no sense. In code: [if (Gold + Threshold > 30) then RecruitEngineer()], maybe it was supposed to be minus... - DefSiegeEngineBuildDelay: Int32, The delay before the AI builds its first defensive siege engine. - Unknown072: Int32 - Unknown073: Int32 - RecruitProbDefDefault: Int32, The probability with which this AI reinforces missing defense troops. - RecruitProbDefWeak: Int32 - RecruitProbDefStrong: Int32 - RecruitProbRaidDefault: Int32 - RecruitProbRaidWeak: Int32 - RecruitProbRaidStrong: Int32 - RecruitProbAttackDefault: Int32 - RecruitProbAttackWeak: Int32 - RecruitProbAttackStrong: Int32 - SortieUnitRangedMax: Int32 - SortieUnitRanged: Unit, Type of ranged units that go to the last attacked farm or building, and guard it until another is attacked. - SortieUnitMeleeMax: Int32 - SortieUnitMelee: Unit, Type of melee units to attack enemy units shooting at the AI's buildings or workers. - DefDiggingUnitMax: Int32, Amount of units that dig own moat. - DefDiggingUnit: DiggingUnit, Type of unit to dig own moat. - RecruitInterval: Int32 - RecruitIntervalWeak: Int32, The 'weak' state sets in if the AI is completely trashed. F.e. troops < 8, gold < 200, population < 15, ... - RecruitIntervalStrong: Int32, The 'strong' state sets in if f.e. the AI has troops >= 40, gold >= 200, population >= 40, ... - DefTotal: Int32, The total count of all defensive units (wall defense + patrols). - OuterPatrolGroupsCount: Int32, The number of groups the patrols defending the outer economy split into. - OuterPatrolGroupsMove: Boolean, Whether the patrols stay at one place (quarry) or move around. - Unknown095: Int32 - DefWalls: Int32 - DefUnit1: Unit - DefUnit2: Unit - DefUnit3: Unit - DefUnit4: Unit - DefUnit5: Unit - DefUnit6: Unit - DefUnit7: Unit - DefUnit8: Unit - RaidUnitsBase: Int32, Base amount of raid troops, Special case: [unknown trigger => end result multiplied by 1.25] - RaidUnitsRandom: Int32, Maximum random addition to raid troops. Special cases: [gold > 5000 => multiplied by 2][gold < 1000 => set to 0][enemy gold < 500 => divided by -2] - RaidUnit1: Unit - RaidUnit2: Unit - RaidUnit3: Unit - RaidUnit4: Unit - RaidUnit5: Unit - RaidUnit6: Unit - RaidUnit7: Unit - RaidUnit8: Unit - HarassingSiegeEngine1: HarassingSiegeEngine - HarassingSiegeEngine2: HarassingSiegeEngine - HarassingSiegeEngine3: HarassingSiegeEngine - HarassingSiegeEngine4: HarassingSiegeEngine - HarassingSiegeEngine5: HarassingSiegeEngine - HarassingSiegeEngine6: HarassingSiegeEngine - HarassingSiegeEngine7: HarassingSiegeEngine - HarassingSiegeEngine8: HarassingSiegeEngine - HarassingSiegeEnginesMax: Int32, The maximum of harassing siege engines an AI builds. - Unknown124: Int32 - AttForceBase: Int32, The base amount of troops with which this AI attacks - AttForceRandom: Int32, The maximum random amount of additional troops in an attack (this is not the amount by which the troops increase per attack!) - AttForceRallyDistanceRandom: Int32, The distance variance an AI will add to the default rally distance for sieges. - AttForceRallyPercentage: Int32, The %-amount of units of the attack force that the AI will rally before attacking. (0 - 100) - Unknown129: Int32 - AttForceCasualtiesPercentageBeforeAssault: Int32, The %-amount of (siege engines? engineers? laddermen? tunnelers? siege def?) that need to be destroyed / killed before the main units attack. - AttForceSuccessRallyPercentage: Int32, The %-amount of units of the attack force that will rally (at the bested enemy's keep location) before retreating or attacking again. - Unknown132: Int32 - SiegeEngine1: SiegeEngine - SiegeEngine2: SiegeEngine - SiegeEngine3: SiegeEngine - SiegeEngine4: SiegeEngine - SiegeEngine5: SiegeEngine - SiegeEngine6: SiegeEngine - SiegeEngine7: SiegeEngine - SiegeEngine8: SiegeEngine - Unknown141: Int32 - Unknown142: Int32 - AttMaxEngineers: Int32 - AttDiggingUnit: DiggingUnit, This unit is only recruited if the target enemy has moat and used preferably to dig enemy moat. - AttDiggingUnitMax: Int32 - AttUnit2: Unit - AttUnit2Max: Int32 - AttMaxAssassins: Int32 - AttMaxLaddermen: Int32 - AttMaxTunnelers: Int32 - AttUnitPatrol: Unit, Ranged attack unit that patrols around the enemy castle / keep. Preferably ranged units should be used here. - AttUnitPatrolMax: Int32 - AttUnitPatrolGroupsCount: Int32, # of groups the AttUnitPatrol split into. BUGGY! More than 1 group results to only a single group attacking, the others standing idle. - AttUnitBackup: Unit, Attacking unit that holds position and doesn't attack until the walls are breached. - AttUnitBackupMax: Int32 - RangedBackupGroupsCount: Int32, # of groups the RangedBackupUnits split into. If shields are present in the army, one will be added to each group (if possible). - AttUnitEngage: Unit, Units that engage enemy groups of units outside the castle. Prioritizes larger groups no matter where they are on the map. Otherwise destroys buildings outside the castle. - AttUnitEngageMax: Int32 - AttUnitSiegeDef: Unit, These units patrol between siege engines in order to protect them. - AttUnitSiegeDefMax: Int32 - Unknown161: Int32 - AttUnitMain1: Unit, AttUntiMain1 to AttUnitMain4 is a list of the main strike force the AI recruits for sieges. Priotizes in order of the list, but only recruits untis for which they have enough gold. So try to place expensive units higher up. - AttUnitMain2: Unit - AttUnitMain3: Unit - AttUnitMain4: Unit - AttMaxDefault: Int32, This does nothing - AttMainGroupsCount: Int32, # of groups all the AttUnitMain split into. Maximum is 3 - TargetChoice: TargetingType - } -} -*/ - -AICharacter -{ - Index = 1 - Name = Rat - Personality - { - Unknown000 = 12 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 0 - Unknown005 = 0 - CriticalPopularity = 4000 - LowestPopularity = 5500 - HighestPopularity = 7500 - Unknown009 = 3 - Unknown010 = 10 - Unknown011 = 20 - Farm1 = AppleFarm - Farm2 = None - Farm3 = None - Farm4 = None - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 6 - PopulationPerWoodcutter = 8 - PopulationPerQuarry = 18 - PopulationPerIronmine = 0 - PopulationPerPitchrig = 0 - MaxQuarries = 1 - MaxIronmines = 1 - MaxWoodcutters = 6 - MaxPitchrigs = 1 - MaxFarms = 6 - BuildInterval = 1 - ResourceRebuildDelay = 10 - MaxFood = 100 - MinimumApples = 10 - MinimumCheese = -1 - MinimumBread = -1 - MinimumWheat = -1 - MinimumHop = -1 - TradeAmountFood = 10 - TradeAmountEquipment = 2 - Unknown040 = 18 - Unknown041 = 0 - Unknown042 = 0 - MaxWood = 30 - MaxStone = 40 - MaxResourceOther = 20 - MaxEquipment = 20 - MaxBeer = 20 - MaxResourceVariance = 5 - RecruitGoldThreshold = 200 - BlacksmithSetting = Swords - FletcherSetting = Bows - PoleturnerSetting = Spears - SellResource01 = None - SellResource02 = Hop - SellResource03 = Iron - SellResource04 = Pitch - SellResource05 = Wheat - SellResource06 = Beer - SellResource07 = Flour - SellResource08 = None - SellResource09 = Crossbows - SellResource10 = None - SellResource11 = Pikes - SellResource12 = Maces - SellResource13 = Swords - SellResource14 = LeatherArmors - SellResource15 = IronArmors - Unknown068 = 20 - Unknown069 = 1 - DefSiegeEngineGoldThreshold = 200 - DefSiegeEngineBuildDelay = 20 - Unknown072 = 800 - Unknown073 = 80 - RecruitProbDefDefault = 10 - RecruitProbDefWeak = 50 - RecruitProbDefStrong = 0 - RecruitProbRaidDefault = 45 - RecruitProbRaidWeak = 50 - RecruitProbRaidStrong = 0 - RecruitProbAttackDefault = 45 - RecruitProbAttackWeak = 0 - RecruitProbAttackStrong = 100 - SortieUnitRangedMax = 5 - SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 6 - SortieUnitMelee = Spearman - DefDiggingUnitMax = 0 - DefDiggingUnit = Spearman - RecruitInterval = 1 - RecruitIntervalWeak = 1 - RecruitIntervalStrong = 1 - DefTotal = 30 - OuterPatrolGroupsCount = 1 - OuterPatrolGroupsMove = False - Unknown095 = 10 - DefWalls = 20 - DefUnit1 = Spearman - DefUnit2 = Spearman - DefUnit3 = EuropArcher - DefUnit4 = EuropArcher - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 10 - RaidUnitsRandom = 15 - RaidUnit1 = Spearman - RaidUnit2 = Spearman - RaidUnit3 = EuropArcher - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 0 - Unknown124 = 3 - AttForceBase = 20 - AttForceRandom = 10 - AttForceRallyDistanceRandom = 15 - AttForceRallyPercentage = 50 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 25 - Unknown132 = 20 - SiegeEngine1 = None - SiegeEngine2 = None - SiegeEngine3 = None - SiegeEngine4 = None - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 1000 - Unknown142 = 0 - AttMaxEngineers = 0 - AttDiggingUnit = Spearman - AttDiggingUnitMax = 20 - AttUnit2 = EuropArcher - AttUnit2Max = 0 - AttMaxAssassins = 0 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = EuropArcher - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = EuropArcher - AttUnitBackupMax = 16 - RangedBackupGroupsCount = 0 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = Spearman - AttUnitSiegeDefMax = 0 - Unknown161 = 0 - AttUnitMain1 = Spearman - AttUnitMain2 = None - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 1 - TargetChoice = Player - } -} - -AICharacter -{ - Index = 2 - Name = Snake - Personality - { - Unknown000 = 12 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 0 - Unknown005 = 0 - CriticalPopularity = 4000 - LowestPopularity = 5000 - HighestPopularity = 8000 - Unknown009 = 3 - Unknown010 = 11 - Unknown011 = 15 - Farm1 = AppleFarm - Farm2 = None - Farm3 = None - Farm4 = None - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 5 - PopulationPerWoodcutter = 5 - PopulationPerQuarry = 15 - PopulationPerIronmine = 0 - PopulationPerPitchrig = 0 - MaxQuarries = 2 - MaxIronmines = 1 - MaxWoodcutters = 10 - MaxPitchrigs = 1 - MaxFarms = 10 - BuildInterval = 2 - ResourceRebuildDelay = 12 - MaxFood = 150 - MinimumApples = 10 - MinimumCheese = 20 - MinimumBread = -1 - MinimumWheat = -1 - MinimumHop = -1 - TradeAmountFood = 5 - TradeAmountEquipment = 6 - Unknown040 = 12 - Unknown041 = 10 - Unknown042 = 80 - MaxWood = 48 - MaxStone = 40 - MaxResourceOther = 15 - MaxEquipment = 12 - MaxBeer = 5 - MaxResourceVariance = 5 - RecruitGoldThreshold = 200 - BlacksmithSetting = Swords - FletcherSetting = Bows - PoleturnerSetting = Spears - SellResource01 = None - SellResource02 = Hop - SellResource03 = Iron - SellResource04 = Pitch - SellResource05 = Wheat - SellResource06 = Beer - SellResource07 = Flour - SellResource08 = None - SellResource09 = Crossbows - SellResource10 = None - SellResource11 = Pikes - SellResource12 = Maces - SellResource13 = Swords - SellResource14 = LeatherArmors - SellResource15 = IronArmors - Unknown068 = 2 - Unknown069 = 4 - DefSiegeEngineGoldThreshold = 500 - DefSiegeEngineBuildDelay = 20 - Unknown072 = 400 - Unknown073 = 60 - RecruitProbDefDefault = 30 - RecruitProbDefWeak = 70 - RecruitProbDefStrong = 20 - RecruitProbRaidDefault = 40 - RecruitProbRaidWeak = 30 - RecruitProbRaidStrong = 40 - RecruitProbAttackDefault = 30 - RecruitProbAttackWeak = 0 - RecruitProbAttackStrong = 40 - SortieUnitRangedMax = 2 - SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 8 - SortieUnitMelee = Spearman - DefDiggingUnitMax = 20 - DefDiggingUnit = Spearman - RecruitInterval = 1 - RecruitIntervalWeak = 0 - RecruitIntervalStrong = 1 - DefTotal = 80 - OuterPatrolGroupsCount = 3 - OuterPatrolGroupsMove = True - Unknown095 = 2 - DefWalls = 50 - DefUnit1 = EuropArcher - DefUnit2 = None - DefUnit3 = None - DefUnit4 = None - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 30 - RaidUnitsRandom = 10 - RaidUnit1 = Slave - RaidUnit2 = Slave - RaidUnit3 = Slave - RaidUnit4 = Slinger - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 1 - Unknown124 = 3 - AttForceBase = 30 - AttForceRandom = 10 - AttForceRallyDistanceRandom = 30 - AttForceRallyPercentage = 50 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 25 - Unknown132 = 40 - SiegeEngine1 = Catapult - SiegeEngine2 = None - SiegeEngine3 = None - SiegeEngine4 = None - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 1000 - Unknown142 = 0 - AttMaxEngineers = 2 - AttDiggingUnit = Spearman - AttDiggingUnitMax = 20 - AttUnit2 = EuropArcher - AttUnit2Max = 20 - AttMaxAssassins = 0 - AttMaxLaddermen = 10 - AttMaxTunnelers = 0 - AttUnitPatrol = Slinger - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = ArabArcher - AttUnitBackupMax = 50 - RangedBackupGroupsCount = 1 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = EuropArcher - AttUnitSiegeDefMax = 30 - Unknown161 = 0 - AttUnitMain1 = Spearman - AttUnitMain2 = None - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 1 - TargetChoice = Balanced - } -} - -AICharacter -{ - Index = 3 - Name = Pig - Personality - { - Unknown000 = 12 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 0 - Unknown005 = 0 - CriticalPopularity = 5000 - LowestPopularity = 7000 - HighestPopularity = 8500 - Unknown009 = 3 - Unknown010 = 11 - Unknown011 = 20 - Farm1 = DairyFarm - Farm2 = None - Farm3 = None - Farm4 = None - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 4 - PopulationPerWoodcutter = 6 - PopulationPerQuarry = 25 - PopulationPerIronmine = 10 - PopulationPerPitchrig = 20 - MaxQuarries = 2 - MaxIronmines = 4 - MaxWoodcutters = 8 - MaxPitchrigs = 1 - MaxFarms = 12 - BuildInterval = 3 - ResourceRebuildDelay = 50 - MaxFood = 400 - MinimumApples = 10 - MinimumCheese = 10 - MinimumBread = 10 - MinimumWheat = -1 - MinimumHop = -1 - TradeAmountFood = 5 - TradeAmountEquipment = 4 - Unknown040 = 12 - Unknown041 = 100 - Unknown042 = 60 - MaxWood = 70 - MaxStone = 40 - MaxResourceOther = 10 - MaxEquipment = 10 - MaxBeer = 5 - MaxResourceVariance = 5 - RecruitGoldThreshold = 200 - BlacksmithSetting = Maces - FletcherSetting = Crossbows - PoleturnerSetting = Spears - SellResource01 = None - SellResource02 = Hop - SellResource03 = None - SellResource04 = Pitch - SellResource05 = Wheat - SellResource06 = Beer - SellResource07 = Flour - SellResource08 = Bows - SellResource09 = None - SellResource10 = Spears - SellResource11 = Pikes - SellResource12 = None - SellResource13 = Swords - SellResource14 = None - SellResource15 = IronArmors - Unknown068 = 10 - Unknown069 = 4 - DefSiegeEngineGoldThreshold = 100 - DefSiegeEngineBuildDelay = 20 - Unknown072 = 200 - Unknown073 = 40 - RecruitProbDefDefault = 60 - RecruitProbDefWeak = 100 - RecruitProbDefStrong = 30 - RecruitProbRaidDefault = 0 - RecruitProbRaidWeak = 0 - RecruitProbRaidStrong = 0 - RecruitProbAttackDefault = 40 - RecruitProbAttackWeak = 0 - RecruitProbAttackStrong = 70 - SortieUnitRangedMax = 4 - SortieUnitRanged = Crossbowman - SortieUnitMeleeMax = 5 - SortieUnitMelee = Maceman - DefDiggingUnitMax = 0 - DefDiggingUnit = Spearman - RecruitInterval = 1 - RecruitIntervalWeak = 1 - RecruitIntervalStrong = 4 - DefTotal = 40 - OuterPatrolGroupsCount = 2 - OuterPatrolGroupsMove = True - Unknown095 = 20 - DefWalls = 30 - DefUnit1 = Crossbowman - DefUnit2 = Crossbowman - DefUnit3 = Crossbowman - DefUnit4 = None - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 10 - RaidUnitsRandom = 5 - RaidUnit1 = Maceman - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 2 - Unknown124 = 3 - AttForceBase = 10 - AttForceRandom = 10 - AttForceRallyDistanceRandom = 10 - AttForceRallyPercentage = 60 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 5 - AttForceSuccessRallyPercentage = 15 - Unknown132 = 20 - SiegeEngine1 = Catapult - SiegeEngine2 = Catapult - SiegeEngine3 = Catapult - SiegeEngine4 = BatteringRam - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 30 - Unknown142 = 0 - AttMaxEngineers = 10 - AttDiggingUnit = Maceman - AttDiggingUnitMax = 10 - AttUnit2 = None - AttUnit2Max = 0 - AttMaxAssassins = 0 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = None - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = Crossbowman - AttUnitBackupMax = 5 - RangedBackupGroupsCount = 1 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = Maceman - AttUnitSiegeDefMax = 0 - Unknown161 = 0 - AttUnitMain1 = Maceman - AttUnitMain2 = None - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 2 - TargetChoice = Gold - } -} - -AICharacter -{ - Index = 4 - Name = Wolf - Personality - { - Unknown000 = 13 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 1 - Unknown005 = 1 - CriticalPopularity = 4500 - LowestPopularity = 6000 - HighestPopularity = 9000 - Unknown009 = 3 - Unknown010 = 11 - Unknown011 = 12 - Farm1 = DairyFarm - Farm2 = AppleFarm - Farm3 = HopFarm - Farm4 = AppleFarm - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 5 - PopulationPerWoodcutter = 4 - PopulationPerQuarry = 9 - PopulationPerIronmine = 13 - PopulationPerPitchrig = 15 - MaxQuarries = 6 - MaxIronmines = 3 - MaxWoodcutters = 12 - MaxPitchrigs = 2 - MaxFarms = 10 - BuildInterval = 3 - ResourceRebuildDelay = 20 - MaxFood = 200 - MinimumApples = 5 - MinimumCheese = 5 - MinimumBread = 5 - MinimumWheat = -1 - MinimumHop = -1 - TradeAmountFood = 10 - TradeAmountEquipment = 4 - Unknown040 = 20 - Unknown041 = 40 - Unknown042 = 30 - MaxWood = 60 - MaxStone = 50 - MaxResourceOther = 10 - MaxEquipment = 10 - MaxBeer = 15 - MaxResourceVariance = 5 - RecruitGoldThreshold = 200 - BlacksmithSetting = Swords - FletcherSetting = Crossbows - PoleturnerSetting = Pikes - SellResource01 = None - SellResource02 = None - SellResource03 = None - SellResource04 = None - SellResource05 = Wheat - SellResource06 = None - SellResource07 = Flour - SellResource08 = None - SellResource09 = None - SellResource10 = Spears - SellResource11 = None - SellResource12 = Maces - SellResource13 = None - SellResource14 = None - SellResource15 = None - Unknown068 = 4 - Unknown069 = 3 - DefSiegeEngineGoldThreshold = 250 - DefSiegeEngineBuildDelay = 2 - Unknown072 = 100 - Unknown073 = 20 - RecruitProbDefDefault = 60 - RecruitProbDefWeak = 90 - RecruitProbDefStrong = 30 - RecruitProbRaidDefault = 30 - RecruitProbRaidWeak = 10 - RecruitProbRaidStrong = 10 - RecruitProbAttackDefault = 10 - RecruitProbAttackWeak = 0 - RecruitProbAttackStrong = 60 - SortieUnitRangedMax = 8 - SortieUnitRanged = ArabArcher - SortieUnitMeleeMax = 6 - SortieUnitMelee = Pikeman - DefDiggingUnitMax = 8 - DefDiggingUnit = Pikeman - RecruitInterval = 4 - RecruitIntervalWeak = 1 - RecruitIntervalStrong = 4 - DefTotal = 100 - OuterPatrolGroupsCount = 4 - OuterPatrolGroupsMove = True - Unknown095 = 3 - DefWalls = 80 - DefUnit1 = Crossbowman - DefUnit2 = Crossbowman - DefUnit3 = EuropArcher - DefUnit4 = EuropArcher - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 5 - RaidUnitsRandom = 20 - RaidUnit1 = HorseArcher - RaidUnit2 = HorseArcher - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 4 - Unknown124 = 5 - AttForceBase = 40 - AttForceRandom = 15 - AttForceRallyDistanceRandom = 30 - AttForceRallyPercentage = 80 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 12 - AttForceSuccessRallyPercentage = 5 - Unknown132 = 50 - SiegeEngine1 = Catapult - SiegeEngine2 = Trebuchet - SiegeEngine3 = FireBallista - SiegeEngine4 = Trebuchet - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 8 - Unknown142 = 0 - AttMaxEngineers = 12 - AttDiggingUnit = Pikeman - AttDiggingUnitMax = 20 - AttUnit2 = None - AttUnit2Max = 0 - AttMaxAssassins = 0 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = None - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = Crossbowman - AttUnitBackupMax = 30 - RangedBackupGroupsCount = 3 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = Swordsman - AttUnitSiegeDefMax = 5 - Unknown161 = 1 - AttUnitMain1 = Swordsman - AttUnitMain2 = Pikeman - AttUnitMain3 = Pikeman - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 3 - TargetChoice = Closest - } -} - -AICharacter -{ - Index = 5 - Name = Saladin - Personality - { - Unknown000 = 10 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 0 - Unknown005 = 0 - CriticalPopularity = 4000 - LowestPopularity = 5000 - HighestPopularity = 8000 - Unknown009 = 3 - Unknown010 = 12 - Unknown011 = 20 - Farm1 = HopFarm - Farm2 = WheatFarm - Farm3 = WheatFarm - Farm4 = AppleFarm - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 3 - PopulationPerWoodcutter = 6 - PopulationPerQuarry = 10 - PopulationPerIronmine = 12 - PopulationPerPitchrig = 20 - MaxQuarries = 4 - MaxIronmines = 4 - MaxWoodcutters = 14 - MaxPitchrigs = 1 - MaxFarms = 15 - BuildInterval = 2 - ResourceRebuildDelay = 40 - MaxFood = 50 - MinimumApples = 5 - MinimumCheese = 5 - MinimumBread = 5 - MinimumWheat = 5 - MinimumHop = 5 - TradeAmountFood = 10 - TradeAmountEquipment = 0 - Unknown040 = 40 - Unknown041 = 20 - Unknown042 = 20 - MaxWood = 60 - MaxStone = 50 - MaxResourceOther = 10 - MaxEquipment = 5 - MaxBeer = 10 - MaxResourceVariance = 2 - RecruitGoldThreshold = 200 - BlacksmithSetting = Swords - FletcherSetting = Crossbows - PoleturnerSetting = Pikes - SellResource01 = None - SellResource02 = None - SellResource03 = None - SellResource04 = None - SellResource05 = None - SellResource06 = None - SellResource07 = None - SellResource08 = Bows - SellResource09 = Crossbows - SellResource10 = None - SellResource11 = Pikes - SellResource12 = Maces - SellResource13 = None - SellResource14 = LeatherArmors - SellResource15 = None - Unknown068 = 3 - Unknown069 = 4 - DefSiegeEngineGoldThreshold = 20 - DefSiegeEngineBuildDelay = 8 - Unknown072 = 100 - Unknown073 = 20 - RecruitProbDefDefault = 34 - RecruitProbDefWeak = 100 - RecruitProbDefStrong = 25 - RecruitProbRaidDefault = 33 - RecruitProbRaidWeak = 0 - RecruitProbRaidStrong = 25 - RecruitProbAttackDefault = 33 - RecruitProbAttackWeak = 0 - RecruitProbAttackStrong = 50 - SortieUnitRangedMax = 10 - SortieUnitRanged = ArabArcher - SortieUnitMeleeMax = 7 - SortieUnitMelee = ArabSwordsman - DefDiggingUnitMax = 4 - DefDiggingUnit = Slave - RecruitInterval = 1 - RecruitIntervalWeak = 1 - RecruitIntervalStrong = 1 - DefTotal = 70 - OuterPatrolGroupsCount = 2 - OuterPatrolGroupsMove = True - Unknown095 = 10 - DefWalls = 50 - DefUnit1 = ArabSwordsman - DefUnit2 = ArabArcher - DefUnit3 = ArabArcher - DefUnit4 = ArabArcher - DefUnit5 = FireThrower - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 10 - RaidUnitsRandom = 5 - RaidUnit1 = HorseArcher - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 5 - Unknown124 = 3 - AttForceBase = 50 - AttForceRandom = 10 - AttForceRallyDistanceRandom = 8 - AttForceRallyPercentage = 80 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 4 - AttForceSuccessRallyPercentage = 1 - Unknown132 = 60 - SiegeEngine1 = FireBallista - SiegeEngine2 = FireBallista - SiegeEngine3 = Catapult - SiegeEngine4 = Catapult - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 2000 - Unknown142 = 0 - AttMaxEngineers = 10 - AttDiggingUnit = Slave - AttDiggingUnitMax = 20 - AttUnit2 = HorseArcher - AttUnit2Max = 20 - AttMaxAssassins = 5 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = HorseArcher - AttUnitPatrolMax = 20 - AttUnitPatrolGroupsCount = 1 - AttUnitBackup = ArabArcher - AttUnitBackupMax = 20 - RangedBackupGroupsCount = 3 - AttUnitEngage = FireThrower - AttUnitEngageMax = 0 - AttUnitSiegeDef = FireThrower - AttUnitSiegeDefMax = 6 - Unknown161 = 1 - AttUnitMain1 = ArabSwordsman - AttUnitMain2 = None - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 3 - TargetChoice = Gold - } -} - -AICharacter -{ - Index = 6 - Name = Caliph - Personality - { - Unknown000 = 10 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 0 - Unknown005 = 1 - CriticalPopularity = 4000 - LowestPopularity = 5000 - HighestPopularity = 9000 - Unknown009 = 3 - Unknown010 = 12 - Unknown011 = 12 - Farm1 = AppleFarm - Farm2 = HopFarm - Farm3 = AppleFarm - Farm4 = None - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 5 - PopulationPerWoodcutter = 7 - PopulationPerQuarry = 10 - PopulationPerIronmine = 12 - PopulationPerPitchrig = 7 - MaxQuarries = 2 - MaxIronmines = 1 - MaxWoodcutters = 8 - MaxPitchrigs = 10 - MaxFarms = 10 - BuildInterval = 3 - ResourceRebuildDelay = 60 - MaxFood = 100 - MinimumApples = 10 - MinimumCheese = -1 - MinimumBread = -1 - MinimumWheat = -1 - MinimumHop = -1 - TradeAmountFood = 10 - TradeAmountEquipment = 0 - Unknown040 = 12 - Unknown041 = 50 - Unknown042 = 50 - MaxWood = 50 - MaxStone = 50 - MaxResourceOther = 10 - MaxEquipment = 5 - MaxBeer = 15 - MaxResourceVariance = 5 - RecruitGoldThreshold = 200 - BlacksmithSetting = Swords - FletcherSetting = Crossbows - PoleturnerSetting = Pikes - SellResource01 = None - SellResource02 = None - SellResource03 = Iron - SellResource04 = None - SellResource05 = Wheat - SellResource06 = None - SellResource07 = Flour - SellResource08 = Bows - SellResource09 = Crossbows - SellResource10 = Spears - SellResource11 = Pikes - SellResource12 = Maces - SellResource13 = Swords - SellResource14 = LeatherArmors - SellResource15 = IronArmors - Unknown068 = 5 - Unknown069 = 2 - DefSiegeEngineGoldThreshold = 120 - DefSiegeEngineBuildDelay = 8 - Unknown072 = 100 - Unknown073 = 20 - RecruitProbDefDefault = 40 - RecruitProbDefWeak = 80 - RecruitProbDefStrong = 40 - RecruitProbRaidDefault = 40 - RecruitProbRaidWeak = 20 - RecruitProbRaidStrong = 30 - RecruitProbAttackDefault = 20 - RecruitProbAttackWeak = 0 - RecruitProbAttackStrong = 30 - SortieUnitRangedMax = 7 - SortieUnitRanged = ArabArcher - SortieUnitMeleeMax = 5 - SortieUnitMelee = ArabSwordsman - DefDiggingUnitMax = 4 - DefDiggingUnit = Slave - RecruitInterval = 0 - RecruitIntervalWeak = 1 - RecruitIntervalStrong = 0 - DefTotal = 60 - OuterPatrolGroupsCount = 2 - OuterPatrolGroupsMove = True - Unknown095 = 10 - DefWalls = 60 - DefUnit1 = FireThrower - DefUnit2 = ArabArcher - DefUnit3 = ArabArcher - DefUnit4 = ArabArcher - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 30 - RaidUnitsRandom = 30 - RaidUnit1 = Slave - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = FireBallista - HarassingSiegeEngine2 = Catapult - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 2 - Unknown124 = 3 - AttForceBase = 15 - AttForceRandom = 10 - AttForceRallyDistanceRandom = 70 - AttForceRallyPercentage = 100 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 2 - AttForceSuccessRallyPercentage = 10 - Unknown132 = 50 - SiegeEngine1 = FireBallista - SiegeEngine2 = FireBallista - SiegeEngine3 = FireBallista - SiegeEngine4 = None - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 7 - Unknown142 = 0 - AttMaxEngineers = 6 - AttDiggingUnit = Slave - AttDiggingUnitMax = 20 - AttUnit2 = ArabSwordsman - AttUnit2Max = 0 - AttMaxAssassins = 0 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = HorseArcher - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = HorseArcher - AttUnitBackupMax = 40 - RangedBackupGroupsCount = 2 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = ArabArcher - AttUnitSiegeDefMax = 10 - Unknown161 = 1 - AttUnitMain1 = ArabSwordsman - AttUnitMain2 = None - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 5 - TargetChoice = Balanced - } -} - -AICharacter -{ - Index = 7 - Name = Sultan - Personality - { - Unknown000 = 10 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 0 - Unknown005 = 0 - CriticalPopularity = 5000 - LowestPopularity = 6000 - HighestPopularity = 9000 - Unknown009 = 1 - Unknown010 = 8 - Unknown011 = 20 - Farm1 = None - Farm2 = None - Farm3 = None - Farm4 = None - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 100 - PopulationPerWoodcutter = 2 - PopulationPerQuarry = 5 - PopulationPerIronmine = 0 - PopulationPerPitchrig = 0 - MaxQuarries = 2 - MaxIronmines = 1 - MaxWoodcutters = 15 - MaxPitchrigs = 1 - MaxFarms = 6 - BuildInterval = 5 - ResourceRebuildDelay = 80 - MaxFood = 500 - MinimumApples = 20 - MinimumCheese = 20 - MinimumBread = 20 - MinimumWheat = -1 - MinimumHop = -1 - TradeAmountFood = 10 - TradeAmountEquipment = 0 - Unknown040 = 30 - Unknown041 = 0 - Unknown042 = 0 - MaxWood = 30 - MaxStone = 20 - MaxResourceOther = 10 - MaxEquipment = 5 - MaxBeer = 20 - MaxResourceVariance = 5 - RecruitGoldThreshold = 200 - BlacksmithSetting = Swords - FletcherSetting = Bows - PoleturnerSetting = Spears - SellResource01 = None - SellResource02 = Hop - SellResource03 = Iron - SellResource04 = Pitch - SellResource05 = Wheat - SellResource06 = Beer - SellResource07 = Flour - SellResource08 = Bows - SellResource09 = Crossbows - SellResource10 = Spears - SellResource11 = Pikes - SellResource12 = Maces - SellResource13 = Swords - SellResource14 = LeatherArmors - SellResource15 = IronArmors - Unknown068 = 10 - Unknown069 = 2 - DefSiegeEngineGoldThreshold = 200 - DefSiegeEngineBuildDelay = 20 - Unknown072 = 800 - Unknown073 = 80 - RecruitProbDefDefault = 50 - RecruitProbDefWeak = 70 - RecruitProbDefStrong = 30 - RecruitProbRaidDefault = 20 - RecruitProbRaidWeak = 10 - RecruitProbRaidStrong = 30 - RecruitProbAttackDefault = 30 - RecruitProbAttackWeak = 20 - RecruitProbAttackStrong = 40 - SortieUnitRangedMax = 0 - SortieUnitRanged = Slinger - SortieUnitMeleeMax = 3 - SortieUnitMelee = ArabSwordsman - DefDiggingUnitMax = 2 - DefDiggingUnit = Slave - RecruitInterval = 8 - RecruitIntervalWeak = 8 - RecruitIntervalStrong = 4 - DefTotal = 50 - OuterPatrolGroupsCount = 1 - OuterPatrolGroupsMove = False - Unknown095 = 10 - DefWalls = 40 - DefUnit1 = Slinger - DefUnit2 = Slinger - DefUnit3 = ArabSwordsman - DefUnit4 = None - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 20 - RaidUnitsRandom = 10 - RaidUnit1 = Slinger - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 0 - Unknown124 = 3 - AttForceBase = 10 - AttForceRandom = 20 - AttForceRallyDistanceRandom = 5 - AttForceRallyPercentage = 30 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 40 - Unknown132 = 20 - SiegeEngine1 = None - SiegeEngine2 = None - SiegeEngine3 = None - SiegeEngine4 = None - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 10000 - Unknown142 = 0 - AttMaxEngineers = 0 - AttDiggingUnit = None - AttDiggingUnitMax = 0 - AttUnit2 = None - AttUnit2Max = 0 - AttMaxAssassins = 0 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = None - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = ArabArcher - AttUnitBackupMax = 120 - RangedBackupGroupsCount = 1 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = None - AttUnitSiegeDefMax = 0 - Unknown161 = 0 - AttUnitMain1 = ArabSwordsman - AttUnitMain2 = None - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 1 - TargetChoice = Closest - } -} - -AICharacter -{ - Index = 8 - Name = Richard - Personality - { - Unknown000 = 13 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 1 - Unknown005 = 0 - CriticalPopularity = 4000 - LowestPopularity = 5000 - HighestPopularity = 8000 - Unknown009 = 3 - Unknown010 = 10 - Unknown011 = 12 - Farm1 = DairyFarm - Farm2 = AppleFarm - Farm3 = AppleFarm - Farm4 = None - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 4 - PopulationPerWoodcutter = 7 - PopulationPerQuarry = 10 - PopulationPerIronmine = 10 - PopulationPerPitchrig = 0 - MaxQuarries = 3 - MaxIronmines = 4 - MaxWoodcutters = 10 - MaxPitchrigs = 1 - MaxFarms = 15 - BuildInterval = 4 - ResourceRebuildDelay = 20 - MaxFood = 200 - MinimumApples = 5 - MinimumCheese = 5 - MinimumBread = -1 - MinimumWheat = -1 - MinimumHop = -1 - TradeAmountFood = 5 - TradeAmountEquipment = 2 - Unknown040 = 22 - Unknown041 = 10 - Unknown042 = 40 - MaxWood = 50 - MaxStone = 60 - MaxResourceOther = 10 - MaxEquipment = 10 - MaxBeer = 10 - MaxResourceVariance = 4 - RecruitGoldThreshold = 200 - BlacksmithSetting = Swords - FletcherSetting = Bows - PoleturnerSetting = Pikes - SellResource01 = None - SellResource02 = Hop - SellResource03 = None - SellResource04 = None - SellResource05 = Wheat - SellResource06 = Beer - SellResource07 = Flour - SellResource08 = None - SellResource09 = Crossbows - SellResource10 = Spears - SellResource11 = None - SellResource12 = Maces - SellResource13 = None - SellResource14 = LeatherArmors - SellResource15 = None - Unknown068 = 8 - Unknown069 = 4 - DefSiegeEngineGoldThreshold = 200 - DefSiegeEngineBuildDelay = 2 - Unknown072 = 100 - Unknown073 = 20 - RecruitProbDefDefault = 30 - RecruitProbDefWeak = 90 - RecruitProbDefStrong = 10 - RecruitProbRaidDefault = 0 - RecruitProbRaidWeak = 0 - RecruitProbRaidStrong = 0 - RecruitProbAttackDefault = 70 - RecruitProbAttackWeak = 10 - RecruitProbAttackStrong = 90 - SortieUnitRangedMax = 6 - SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 6 - SortieUnitMelee = Pikeman - DefDiggingUnitMax = 0 - DefDiggingUnit = Pikeman - RecruitInterval = 1 - RecruitIntervalWeak = 1 - RecruitIntervalStrong = 1 - DefTotal = 40 - OuterPatrolGroupsCount = 2 - OuterPatrolGroupsMove = True - Unknown095 = 5 - DefWalls = 20 - DefUnit1 = EuropArcher - DefUnit2 = EuropArcher - DefUnit3 = Pikeman - DefUnit4 = None - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 10 - RaidUnitsRandom = 4 - RaidUnit1 = EuropArcher - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 2 - Unknown124 = 5 - AttForceBase = 20 - AttForceRandom = 5 - AttForceRallyDistanceRandom = 10 - AttForceRallyPercentage = 10 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 20 - AttForceSuccessRallyPercentage = 2 - Unknown132 = 10 - SiegeEngine1 = Catapult - SiegeEngine2 = Catapult - SiegeEngine3 = Catapult - SiegeEngine4 = BatteringRam - SiegeEngine5 = Trebuchet - SiegeEngine6 = Trebuchet - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 10000 - Unknown142 = 0 - AttMaxEngineers = 16 - AttDiggingUnit = Pikeman - AttDiggingUnitMax = 6 - AttUnit2 = None - AttUnit2Max = 0 - AttMaxAssassins = 0 - AttMaxLaddermen = 0 - AttMaxTunnelers = 3 - AttUnitPatrol = None - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = EuropArcher - AttUnitBackupMax = 20 - RangedBackupGroupsCount = 2 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = Swordsman - AttUnitSiegeDefMax = 4 - Unknown161 = 2 - AttUnitMain1 = Swordsman - AttUnitMain2 = Pikeman - AttUnitMain3 = Pikeman - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 3 - TargetChoice = Closest - } -} - -AICharacter -{ - Index = 9 - Name = Frederick - Personality - { - Unknown000 = 13 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 1 - Unknown005 = 1 - CriticalPopularity = 4000 - LowestPopularity = 5500 - HighestPopularity = 9000 - Unknown009 = 3 - Unknown010 = 10 - Unknown011 = 12 - Farm1 = DairyFarm - Farm2 = AppleFarm - Farm3 = HopFarm - Farm4 = None - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 4 - PopulationPerWoodcutter = 7 - PopulationPerQuarry = 12 - PopulationPerIronmine = 10 - PopulationPerPitchrig = 0 - MaxQuarries = 4 - MaxIronmines = 5 - MaxWoodcutters = 12 - MaxPitchrigs = 1 - MaxFarms = 12 - BuildInterval = 4 - ResourceRebuildDelay = 30 - MaxFood = 200 - MinimumApples = 5 - MinimumCheese = 5 - MinimumBread = -1 - MinimumWheat = -1 - MinimumHop = -1 - TradeAmountFood = 10 - TradeAmountEquipment = 2 - Unknown040 = 22 - Unknown041 = 10 - Unknown042 = 40 - MaxWood = 60 - MaxStone = 60 - MaxResourceOther = 15 - MaxEquipment = 20 - MaxBeer = 10 - MaxResourceVariance = 4 - RecruitGoldThreshold = 200 - BlacksmithSetting = Swords - FletcherSetting = Both - PoleturnerSetting = Pikes - SellResource01 = None - SellResource02 = None - SellResource03 = None - SellResource04 = Pitch - SellResource05 = Wheat - SellResource06 = None - SellResource07 = Flour - SellResource08 = None - SellResource09 = None - SellResource10 = Spears - SellResource11 = Pikes - SellResource12 = Maces - SellResource13 = None - SellResource14 = None - SellResource15 = None - Unknown068 = 8 - Unknown069 = 2 - DefSiegeEngineGoldThreshold = 200 - DefSiegeEngineBuildDelay = 2 - Unknown072 = 100 - Unknown073 = 20 - RecruitProbDefDefault = 50 - RecruitProbDefWeak = 100 - RecruitProbDefStrong = 20 - RecruitProbRaidDefault = 20 - RecruitProbRaidWeak = 0 - RecruitProbRaidStrong = 30 - RecruitProbAttackDefault = 30 - RecruitProbAttackWeak = 0 - RecruitProbAttackStrong = 50 - SortieUnitRangedMax = 12 - SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 4 - SortieUnitMelee = Swordsman - DefDiggingUnitMax = 10 - DefDiggingUnit = EuropArcher - RecruitInterval = 4 - RecruitIntervalWeak = 1 - RecruitIntervalStrong = 4 - DefTotal = 80 - OuterPatrolGroupsCount = 2 - OuterPatrolGroupsMove = True - Unknown095 = 10 - DefWalls = 50 - DefUnit1 = EuropArcher - DefUnit2 = EuropArcher - DefUnit3 = Crossbowman - DefUnit4 = None - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 4 - RaidUnitsRandom = 0 - RaidUnit1 = Knight - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 2 - Unknown124 = 6 - AttForceBase = 30 - AttForceRandom = 4 - AttForceRallyDistanceRandom = 20 - AttForceRallyPercentage = 50 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 20 - AttForceSuccessRallyPercentage = 5 - Unknown132 = 50 - SiegeEngine1 = Trebuchet - SiegeEngine2 = Trebuchet - SiegeEngine3 = Trebuchet - SiegeEngine4 = Trebuchet - SiegeEngine5 = Trebuchet - SiegeEngine6 = Trebuchet - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 10000 - Unknown142 = 0 - AttMaxEngineers = 18 - AttDiggingUnit = EuropArcher - AttDiggingUnitMax = 20 - AttUnit2 = None - AttUnit2Max = 0 - AttMaxAssassins = 0 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = Crossbowman - AttUnitPatrolMax = 20 - AttUnitPatrolGroupsCount = 1 - AttUnitBackup = EuropArcher - AttUnitBackupMax = 30 - RangedBackupGroupsCount = 2 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = Crossbowman - AttUnitSiegeDefMax = 10 - Unknown161 = 1 - AttUnitMain1 = Swordsman - AttUnitMain2 = Swordsman - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 4 - TargetChoice = Gold - } -} - -AICharacter -{ - Index = 10 - Name = Philipp - Personality - { - Unknown000 = 13 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 1 - Unknown005 = 1 - CriticalPopularity = 4000 - LowestPopularity = 5000 - HighestPopularity = 8000 - Unknown009 = 2 - Unknown010 = 10 - Unknown011 = 10 - Farm1 = AppleFarm - Farm2 = AppleFarm - Farm3 = None - Farm4 = None - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 5 - PopulationPerWoodcutter = 7 - PopulationPerQuarry = 0 - PopulationPerIronmine = 7 - PopulationPerPitchrig = 0 - MaxQuarries = 1 - MaxIronmines = 3 - MaxWoodcutters = 10 - MaxPitchrigs = 1 - MaxFarms = 8 - BuildInterval = 4 - ResourceRebuildDelay = 60 - MaxFood = 100 - MinimumApples = 10 - MinimumCheese = 10 - MinimumBread = 10 - MinimumWheat = -1 - MinimumHop = -1 - TradeAmountFood = 10 - TradeAmountEquipment = 2 - Unknown040 = 12 - Unknown041 = 10 - Unknown042 = 50 - MaxWood = 60 - MaxStone = 60 - MaxResourceOther = 15 - MaxEquipment = 6 - MaxBeer = 10 - MaxResourceVariance = 4 - RecruitGoldThreshold = 200 - BlacksmithSetting = Swords - FletcherSetting = Bows - PoleturnerSetting = Spears - SellResource01 = None - SellResource02 = Hop - SellResource03 = None - SellResource04 = Pitch - SellResource05 = Wheat - SellResource06 = Beer - SellResource07 = Flour - SellResource08 = None - SellResource09 = Crossbows - SellResource10 = None - SellResource11 = Pikes - SellResource12 = Maces - SellResource13 = None - SellResource14 = LeatherArmors - SellResource15 = None - Unknown068 = 2 - Unknown069 = 3 - DefSiegeEngineGoldThreshold = 100 - DefSiegeEngineBuildDelay = 4 - Unknown072 = 200 - Unknown073 = 20 - RecruitProbDefDefault = 40 - RecruitProbDefWeak = 70 - RecruitProbDefStrong = 20 - RecruitProbRaidDefault = 40 - RecruitProbRaidWeak = 20 - RecruitProbRaidStrong = 20 - RecruitProbAttackDefault = 20 - RecruitProbAttackWeak = 10 - RecruitProbAttackStrong = 60 - SortieUnitRangedMax = 2 - SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 20 - SortieUnitMelee = Spearman - DefDiggingUnitMax = 4 - DefDiggingUnit = Spearman - RecruitInterval = 4 - RecruitIntervalWeak = 4 - RecruitIntervalStrong = 4 - DefTotal = 30 - OuterPatrolGroupsCount = 4 - OuterPatrolGroupsMove = True - Unknown095 = 2 - DefWalls = 20 - DefUnit1 = Knight - DefUnit2 = EuropArcher - DefUnit3 = EuropArcher - DefUnit4 = EuropArcher - DefUnit5 = EuropArcher - DefUnit6 = EuropArcher - DefUnit7 = EuropArcher - DefUnit8 = EuropArcher - RaidUnitsBase = 4 - RaidUnitsRandom = 4 - RaidUnit1 = Knight - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 1 - Unknown124 = 4 - AttForceBase = 10 - AttForceRandom = 20 - AttForceRallyDistanceRandom = 40 - AttForceRallyPercentage = 40 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 5 - Unknown132 = 70 - SiegeEngine1 = None - SiegeEngine2 = None - SiegeEngine3 = None - SiegeEngine4 = None - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 10000 - Unknown142 = 0 - AttMaxEngineers = 0 - AttDiggingUnit = Spearman - AttDiggingUnitMax = 60 - AttUnit2 = None - AttUnit2Max = 24 - AttMaxAssassins = 0 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = None - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = None - AttUnitBackupMax = 0 - RangedBackupGroupsCount = 0 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = None - AttUnitSiegeDefMax = 0 - Unknown161 = 0 - AttUnitMain1 = Spearman - AttUnitMain2 = Spearman - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 2 - TargetChoice = Balanced - } -} - -AICharacter -{ - Index = 11 - Name = Wazir - Personality - { - Unknown000 = 10 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 1 - Unknown005 = 1 - CriticalPopularity = 4500 - LowestPopularity = 5000 - HighestPopularity = 8000 - Unknown009 = 2 - Unknown010 = 12 - Unknown011 = 10 - Farm1 = WheatFarm - Farm2 = None - Farm3 = None - Farm4 = None - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 5 - PopulationPerWoodcutter = 7 - PopulationPerQuarry = 6 - PopulationPerIronmine = 12 - PopulationPerPitchrig = 6 - MaxQuarries = 3 - MaxIronmines = 1 - MaxWoodcutters = 10 - MaxPitchrigs = 4 - MaxFarms = 8 - BuildInterval = 3 - ResourceRebuildDelay = 50 - MaxFood = 100 - MinimumApples = -1 - MinimumCheese = -1 - MinimumBread = 10 - MinimumWheat = 5 - MinimumHop = -1 - TradeAmountFood = 10 - TradeAmountEquipment = 0 - Unknown040 = 22 - Unknown041 = 30 - Unknown042 = 50 - MaxWood = 60 - MaxStone = 40 - MaxResourceOther = 10 - MaxEquipment = 4 - MaxBeer = 10 - MaxResourceVariance = 4 - RecruitGoldThreshold = 100 - BlacksmithSetting = Swords - FletcherSetting = Bows - PoleturnerSetting = Spears - SellResource01 = None - SellResource02 = Hop - SellResource03 = Iron - SellResource04 = None - SellResource05 = None - SellResource06 = Beer - SellResource07 = None - SellResource08 = Bows - SellResource09 = Crossbows - SellResource10 = Spears - SellResource11 = Pikes - SellResource12 = Maces - SellResource13 = Swords - SellResource14 = LeatherArmors - SellResource15 = IronArmors - Unknown068 = 2 - Unknown069 = 3 - DefSiegeEngineGoldThreshold = 100 - DefSiegeEngineBuildDelay = 4 - Unknown072 = 200 - Unknown073 = 20 - RecruitProbDefDefault = 30 - RecruitProbDefWeak = 70 - RecruitProbDefStrong = 20 - RecruitProbRaidDefault = 20 - RecruitProbRaidWeak = 0 - RecruitProbRaidStrong = 20 - RecruitProbAttackDefault = 50 - RecruitProbAttackWeak = 30 - RecruitProbAttackStrong = 60 - SortieUnitRangedMax = 6 - SortieUnitRanged = HorseArcher - SortieUnitMeleeMax = 10 - SortieUnitMelee = ArabSwordsman - DefDiggingUnitMax = 4 - DefDiggingUnit = Slave - RecruitInterval = 1 - RecruitIntervalWeak = 1 - RecruitIntervalStrong = 1 - DefTotal = 40 - OuterPatrolGroupsCount = 1 - OuterPatrolGroupsMove = True - Unknown095 = 2 - DefWalls = 40 - DefUnit1 = ArabArcher - DefUnit2 = FireThrower - DefUnit3 = None - DefUnit4 = None - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 30 - RaidUnitsRandom = 10 - RaidUnit1 = HorseArcher - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = FireBallista - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 4 - Unknown124 = 4 - AttForceBase = 40 - AttForceRandom = 5 - AttForceRallyDistanceRandom = 30 - AttForceRallyPercentage = 80 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 4 - AttForceSuccessRallyPercentage = 5 - Unknown132 = 90 - SiegeEngine1 = Trebuchet - SiegeEngine2 = FireBallista - SiegeEngine3 = FireBallista - SiegeEngine4 = FireBallista - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 10000 - Unknown142 = 0 - AttMaxEngineers = 9 - AttDiggingUnit = Slave - AttDiggingUnitMax = 15 - AttUnit2 = None - AttUnit2Max = 0 - AttMaxAssassins = 0 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = None - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = HorseArcher - AttUnitBackupMax = 80 - RangedBackupGroupsCount = 1 - AttUnitEngage = FireThrower - AttUnitEngageMax = 10 - AttUnitSiegeDef = None - AttUnitSiegeDefMax = 0 - Unknown161 = 0 - AttUnitMain1 = ArabSwordsman - AttUnitMain2 = None - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 2 - TargetChoice = Balanced - } -} - -AICharacter -{ - Index = 12 - Name = Emir - Personality - { - Unknown000 = 10 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 1 - Unknown005 = 1 - CriticalPopularity = 4500 - LowestPopularity = 5000 - HighestPopularity = 9000 - Unknown009 = 2 - Unknown010 = 12 - Unknown011 = 10 - Farm1 = WheatFarm - Farm2 = AppleFarm - Farm3 = WheatFarm - Farm4 = HopFarm - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 4 - PopulationPerWoodcutter = 7 - PopulationPerQuarry = 6 - PopulationPerIronmine = 10 - PopulationPerPitchrig = 0 - MaxQuarries = 4 - MaxIronmines = 3 - MaxWoodcutters = 10 - MaxPitchrigs = 1 - MaxFarms = 16 - BuildInterval = 2 - ResourceRebuildDelay = 40 - MaxFood = 80 - MinimumApples = 10 - MinimumCheese = -1 - MinimumBread = -1 - MinimumWheat = 2 - MinimumHop = 2 - TradeAmountFood = 10 - TradeAmountEquipment = 2 - Unknown040 = 12 - Unknown041 = 10 - Unknown042 = 40 - MaxWood = 60 - MaxStone = 60 - MaxResourceOther = 10 - MaxEquipment = 4 - MaxBeer = 10 - MaxResourceVariance = 4 - RecruitGoldThreshold = 200 - BlacksmithSetting = Swords - FletcherSetting = Bows - PoleturnerSetting = Spears - SellResource01 = None - SellResource02 = None - SellResource03 = None - SellResource04 = None - SellResource05 = None - SellResource06 = None - SellResource07 = None - SellResource08 = None - SellResource09 = Crossbows - SellResource10 = Spears - SellResource11 = Pikes - SellResource12 = Maces - SellResource13 = Swords - SellResource14 = LeatherArmors - SellResource15 = IronArmors - Unknown068 = 2 - Unknown069 = 3 - DefSiegeEngineGoldThreshold = 100 - DefSiegeEngineBuildDelay = 4 - Unknown072 = 200 - Unknown073 = 20 - RecruitProbDefDefault = 40 - RecruitProbDefWeak = 80 - RecruitProbDefStrong = 20 - RecruitProbRaidDefault = 20 - RecruitProbRaidWeak = 10 - RecruitProbRaidStrong = 30 - RecruitProbAttackDefault = 40 - RecruitProbAttackWeak = 10 - RecruitProbAttackStrong = 50 - SortieUnitRangedMax = 4 - SortieUnitRanged = ArabArcher - SortieUnitMeleeMax = 20 - SortieUnitMelee = ArabSwordsman - DefDiggingUnitMax = 4 - DefDiggingUnit = EuropArcher - RecruitInterval = 0 - RecruitIntervalWeak = 1 - RecruitIntervalStrong = 0 - DefTotal = 50 - OuterPatrolGroupsCount = 1 - OuterPatrolGroupsMove = True - Unknown095 = 2 - DefWalls = 50 - DefUnit1 = EuropArcher - DefUnit2 = ArabArcher - DefUnit3 = None - DefUnit4 = None - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 30 - RaidUnitsRandom = 10 - RaidUnit1 = ArabSwordsman - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = Catapult - HarassingSiegeEngine3 = FireBallista - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 3 - Unknown124 = 4 - AttForceBase = 30 - AttForceRandom = 10 - AttForceRallyDistanceRandom = 20 - AttForceRallyPercentage = 80 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 5 - Unknown132 = 80 - SiegeEngine1 = Catapult - SiegeEngine2 = Catapult - SiegeEngine3 = TowerBallista - SiegeEngine4 = None - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 10000 - Unknown142 = 0 - AttMaxEngineers = 6 - AttDiggingUnit = EuropArcher - AttDiggingUnitMax = 15 - AttUnit2 = None - AttUnit2Max = 0 - AttMaxAssassins = 0 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = None - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = HorseArcher - AttUnitBackupMax = 80 - RangedBackupGroupsCount = 1 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = None - AttUnitSiegeDefMax = 0 - Unknown161 = 0 - AttUnitMain1 = ArabSwordsman - AttUnitMain2 = None - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 2 - TargetChoice = Gold - } -} - -AICharacter -{ - Index = 13 - Name = Nizar - Personality - { - Unknown000 = 10 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 1 - Unknown005 = 1 - CriticalPopularity = 4500 - LowestPopularity = 5000 - HighestPopularity = 9000 - Unknown009 = 2 - Unknown010 = 12 - Unknown011 = 10 - Farm1 = WheatFarm - Farm2 = WheatFarm - Farm3 = WheatFarm - Farm4 = HopFarm - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 3 - PopulationPerWoodcutter = 7 - PopulationPerQuarry = 20 - PopulationPerIronmine = 10 - PopulationPerPitchrig = 15 - MaxQuarries = 1 - MaxIronmines = 2 - MaxWoodcutters = 12 - MaxPitchrigs = 1 - MaxFarms = 16 - BuildInterval = 1 - ResourceRebuildDelay = 20 - MaxFood = 100 - MinimumApples = -1 - MinimumCheese = -1 - MinimumBread = 10 - MinimumWheat = 5 - MinimumHop = 5 - TradeAmountFood = 10 - TradeAmountEquipment = 0 - Unknown040 = 12 - Unknown041 = 30 - Unknown042 = 30 - MaxWood = 50 - MaxStone = 40 - MaxResourceOther = 10 - MaxEquipment = 4 - MaxBeer = 10 - MaxResourceVariance = 4 - RecruitGoldThreshold = 100 - BlacksmithSetting = Swords - FletcherSetting = Bows - PoleturnerSetting = Spears - SellResource01 = None - SellResource02 = None - SellResource03 = Iron - SellResource04 = None - SellResource05 = None - SellResource06 = None - SellResource07 = None - SellResource08 = Bows - SellResource09 = Crossbows - SellResource10 = Spears - SellResource11 = Pikes - SellResource12 = Maces - SellResource13 = Swords - SellResource14 = LeatherArmors - SellResource15 = IronArmors - Unknown068 = 2 - Unknown069 = 3 - DefSiegeEngineGoldThreshold = 100 - DefSiegeEngineBuildDelay = 4 - Unknown072 = 200 - Unknown073 = 20 - RecruitProbDefDefault = 50 - RecruitProbDefWeak = 80 - RecruitProbDefStrong = 20 - RecruitProbRaidDefault = 20 - RecruitProbRaidWeak = 0 - RecruitProbRaidStrong = 30 - RecruitProbAttackDefault = 30 - RecruitProbAttackWeak = 20 - RecruitProbAttackStrong = 50 - SortieUnitRangedMax = 5 - SortieUnitRanged = ArabArcher - SortieUnitMeleeMax = 15 - SortieUnitMelee = ArabArcher - DefDiggingUnitMax = 60 - DefDiggingUnit = Slave - RecruitInterval = 4 - RecruitIntervalWeak = 8 - RecruitIntervalStrong = 1 - DefTotal = 80 - OuterPatrolGroupsCount = 1 - OuterPatrolGroupsMove = True - Unknown095 = 2 - DefWalls = 80 - DefUnit1 = ArabArcher - DefUnit2 = None - DefUnit3 = None - DefUnit4 = None - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 5 - RaidUnitsRandom = 5 - RaidUnit1 = Assassin - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 0 - Unknown124 = 4 - AttForceBase = 40 - AttForceRandom = 0 - AttForceRallyDistanceRandom = 10 - AttForceRallyPercentage = 50 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 5 - Unknown132 = 50 - SiegeEngine1 = Catapult - SiegeEngine2 = None - SiegeEngine3 = None - SiegeEngine4 = None - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 10000 - Unknown142 = 0 - AttMaxEngineers = 0 - AttDiggingUnit = Slave - AttDiggingUnitMax = 20 - AttUnit2 = None - AttUnit2Max = 0 - AttMaxAssassins = 40 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = None - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = HorseArcher - AttUnitBackupMax = 0 - RangedBackupGroupsCount = 0 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = None - AttUnitSiegeDefMax = 0 - Unknown161 = 0 - AttUnitMain1 = Assassin - AttUnitMain2 = None - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 4 - TargetChoice = Closest - } -} - -AICharacter -{ - Index = 14 - Name = Sheriff - Personality - { - Unknown000 = 13 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 1 - Unknown005 = 1 - CriticalPopularity = 4000 - LowestPopularity = 6000 - HighestPopularity = 9000 - Unknown009 = 3 - Unknown010 = 11 - Unknown011 = 10 - Farm1 = AppleFarm - Farm2 = HopFarm - Farm3 = DairyFarm - Farm4 = None - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 4 - PopulationPerWoodcutter = 7 - PopulationPerQuarry = 10 - PopulationPerIronmine = 12 - PopulationPerPitchrig = 15 - MaxQuarries = 3 - MaxIronmines = 6 - MaxWoodcutters = 10 - MaxPitchrigs = 4 - MaxFarms = 10 - BuildInterval = 3 - ResourceRebuildDelay = 8 - MaxFood = 300 - MinimumApples = 20 - MinimumCheese = 20 - MinimumBread = -1 - MinimumWheat = -1 - MinimumHop = 2 - TradeAmountFood = 10 - TradeAmountEquipment = 2 - Unknown040 = 40 - Unknown041 = 40 - Unknown042 = 40 - MaxWood = 50 - MaxStone = 50 - MaxResourceOther = 10 - MaxEquipment = 10 - MaxBeer = 10 - MaxResourceVariance = 5 - RecruitGoldThreshold = 200 - BlacksmithSetting = Maces - FletcherSetting = Crossbows - PoleturnerSetting = Pikes - SellResource01 = None - SellResource02 = None - SellResource03 = None - SellResource04 = None - SellResource05 = Wheat - SellResource06 = None - SellResource07 = Flour - SellResource08 = Bows - SellResource09 = None - SellResource10 = Spears - SellResource11 = Pikes - SellResource12 = None - SellResource13 = Swords - SellResource14 = None - SellResource15 = IronArmors - Unknown068 = 8 - Unknown069 = 2 - DefSiegeEngineGoldThreshold = 200 - DefSiegeEngineBuildDelay = 4 - Unknown072 = 200 - Unknown073 = 30 - RecruitProbDefDefault = 50 - RecruitProbDefWeak = 100 - RecruitProbDefStrong = 30 - RecruitProbRaidDefault = 30 - RecruitProbRaidWeak = 0 - RecruitProbRaidStrong = 50 - RecruitProbAttackDefault = 20 - RecruitProbAttackWeak = 0 - RecruitProbAttackStrong = 20 - SortieUnitRangedMax = 10 - SortieUnitRanged = Crossbowman - SortieUnitMeleeMax = 10 - SortieUnitMelee = Maceman - DefDiggingUnitMax = 4 - DefDiggingUnit = Maceman - RecruitInterval = 4 - RecruitIntervalWeak = 1 - RecruitIntervalStrong = 4 - DefTotal = 50 - OuterPatrolGroupsCount = 1 - OuterPatrolGroupsMove = True - Unknown095 = 5 - DefWalls = 40 - DefUnit1 = Crossbowman - DefUnit2 = Crossbowman - DefUnit3 = Crossbowman - DefUnit4 = FireThrower - DefUnit5 = Assassin - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 10 - RaidUnitsRandom = 4 - RaidUnit1 = Maceman - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = FireBallista - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 5 - Unknown124 = 4 - AttForceBase = 50 - AttForceRandom = 20 - AttForceRallyDistanceRandom = 50 - AttForceRallyPercentage = 80 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 5 - AttForceSuccessRallyPercentage = 8 - Unknown132 = 50 - SiegeEngine1 = Catapult - SiegeEngine2 = Catapult - SiegeEngine3 = FireBallista - SiegeEngine4 = FireBallista - SiegeEngine5 = FireBallista - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 6 - Unknown142 = 0 - AttMaxEngineers = 10 - AttDiggingUnit = Slave - AttDiggingUnitMax = 80 - AttUnit2 = Maceman - AttUnit2Max = 10 - AttMaxAssassins = 10 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = FireThrower - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = Crossbowman - AttUnitBackupMax = 50 - RangedBackupGroupsCount = 1 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = Maceman - AttUnitSiegeDefMax = 6 - Unknown161 = 1 - AttUnitMain1 = Maceman - AttUnitMain2 = Maceman - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 3 - TargetChoice = Closest - } -} - -AICharacter -{ - Index = 15 - Name = Marshal - Personality - { - Unknown000 = 13 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 1 - Unknown005 = 1 - CriticalPopularity = 4000 - LowestPopularity = 5000 - HighestPopularity = 8000 - Unknown009 = 2 - Unknown010 = 10 - Unknown011 = 10 - Farm1 = DairyFarm - Farm2 = HopFarm - Farm3 = DairyFarm - Farm4 = DairyFarm - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 5 - PopulationPerWoodcutter = 7 - PopulationPerQuarry = 7 - PopulationPerIronmine = 7 - PopulationPerPitchrig = 0 - MaxQuarries = 1 - MaxIronmines = 3 - MaxWoodcutters = 8 - MaxPitchrigs = 1 - MaxFarms = 9 - BuildInterval = 3 - ResourceRebuildDelay = 40 - MaxFood = 100 - MinimumApples = 10 - MinimumCheese = 10 - MinimumBread = -1 - MinimumWheat = -1 - MinimumHop = 5 - TradeAmountFood = 10 - TradeAmountEquipment = 2 - Unknown040 = 12 - Unknown041 = 0 - Unknown042 = 80 - MaxWood = 60 - MaxStone = 50 - MaxResourceOther = 12 - MaxEquipment = 10 - MaxBeer = 6 - MaxResourceVariance = 4 - RecruitGoldThreshold = 200 - BlacksmithSetting = Swords - FletcherSetting = Bows - PoleturnerSetting = Spears - SellResource01 = None - SellResource02 = None - SellResource03 = None - SellResource04 = Pitch - SellResource05 = Wheat - SellResource06 = None - SellResource07 = Flour - SellResource08 = None - SellResource09 = Crossbows - SellResource10 = Spears - SellResource11 = Pikes - SellResource12 = Maces - SellResource13 = None - SellResource14 = LeatherArmors - SellResource15 = None - Unknown068 = 2 - Unknown069 = 3 - DefSiegeEngineGoldThreshold = 100 - DefSiegeEngineBuildDelay = 4 - Unknown072 = 200 - Unknown073 = 20 - RecruitProbDefDefault = 30 - RecruitProbDefWeak = 50 - RecruitProbDefStrong = 20 - RecruitProbRaidDefault = 40 - RecruitProbRaidWeak = 40 - RecruitProbRaidStrong = 30 - RecruitProbAttackDefault = 30 - RecruitProbAttackWeak = 10 - RecruitProbAttackStrong = 50 - SortieUnitRangedMax = 4 - SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 4 - SortieUnitMelee = Knight - DefDiggingUnitMax = 4 - DefDiggingUnit = EuropArcher - RecruitInterval = 1 - RecruitIntervalWeak = 1 - RecruitIntervalStrong = 4 - DefTotal = 40 - OuterPatrolGroupsCount = 1 - OuterPatrolGroupsMove = True - Unknown095 = 2 - DefWalls = 30 - DefUnit1 = EuropArcher - DefUnit2 = None - DefUnit3 = None - DefUnit4 = None - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 16 - RaidUnitsRandom = 4 - RaidUnit1 = Knight - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 1 - Unknown124 = 4 - AttForceBase = 10 - AttForceRandom = 20 - AttForceRallyDistanceRandom = 10 - AttForceRallyPercentage = 50 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 5 - Unknown132 = 70 - SiegeEngine1 = Trebuchet - SiegeEngine2 = Trebuchet - SiegeEngine3 = None - SiegeEngine4 = None - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 10000 - Unknown142 = 0 - AttMaxEngineers = 6 - AttDiggingUnit = EuropArcher - AttDiggingUnitMax = 20 - AttUnit2 = None - AttUnit2Max = 0 - AttMaxAssassins = 0 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = None - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = EuropArcher - AttUnitBackupMax = 30 - RangedBackupGroupsCount = 3 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = None - AttUnitSiegeDefMax = 0 - Unknown161 = 0 - AttUnitMain1 = Swordsman - AttUnitMain2 = None - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 2 - TargetChoice = Balanced - } -} - -AICharacter -{ - Index = 16 - Name = Abbot - Personality - { - Unknown000 = 13 - Unknown001 = 0 - Unknown002 = 0 - Unknown003 = 0 - Unknown004 = 1 - Unknown005 = 1 - CriticalPopularity = 4500 - LowestPopularity = 5000 - HighestPopularity = 9000 - Unknown009 = 2 - Unknown010 = 12 - Unknown011 = 10 - Farm1 = HopFarm - Farm2 = WheatFarm - Farm3 = WheatFarm - Farm4 = None - Farm5 = None - Farm6 = None - Farm7 = None - Farm8 = None - PopulationPerFarm = 4 - PopulationPerWoodcutter = 7 - PopulationPerQuarry = 6 - PopulationPerIronmine = 10 - PopulationPerPitchrig = 0 - MaxQuarries = 4 - MaxIronmines = 2 - MaxWoodcutters = 10 - MaxPitchrigs = 0 - MaxFarms = 12 - BuildInterval = 2 - ResourceRebuildDelay = 40 - MaxFood = 100 - MinimumApples = 10 - MinimumCheese = -1 - MinimumBread = -1 - MinimumWheat = 2 - MinimumHop = 2 - TradeAmountFood = 5 - TradeAmountEquipment = 2 - Unknown040 = 12 - Unknown041 = 10 - Unknown042 = 40 - MaxWood = 60 - MaxStone = 40 - MaxResourceOther = 10 - MaxEquipment = 4 - MaxBeer = 5 - MaxResourceVariance = 4 - RecruitGoldThreshold = 50 - BlacksmithSetting = Swords - FletcherSetting = Bows - PoleturnerSetting = Spears - SellResource01 = None - SellResource02 = None - SellResource03 = Iron - SellResource04 = None - SellResource05 = None - SellResource06 = None - SellResource07 = None - SellResource08 = None - SellResource09 = Crossbows - SellResource10 = Spears - SellResource11 = Pikes - SellResource12 = Maces - SellResource13 = Swords - SellResource14 = LeatherArmors - SellResource15 = IronArmors - Unknown068 = 2 - Unknown069 = 3 - DefSiegeEngineGoldThreshold = 100 - DefSiegeEngineBuildDelay = 4 - Unknown072 = 200 - Unknown073 = 20 - RecruitProbDefDefault = 40 - RecruitProbDefWeak = 80 - RecruitProbDefStrong = 20 - RecruitProbRaidDefault = 20 - RecruitProbRaidWeak = 10 - RecruitProbRaidStrong = 30 - RecruitProbAttackDefault = 40 - RecruitProbAttackWeak = 10 - RecruitProbAttackStrong = 50 - SortieUnitRangedMax = 4 - SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 20 - SortieUnitMelee = Monk - DefDiggingUnitMax = 4 - DefDiggingUnit = EuropArcher - RecruitInterval = 1 - RecruitIntervalWeak = 1 - RecruitIntervalStrong = 1 - DefTotal = 30 - OuterPatrolGroupsCount = 1 - OuterPatrolGroupsMove = True - Unknown095 = 2 - DefWalls = 30 - DefUnit1 = EuropArcher - DefUnit2 = None - DefUnit3 = None - DefUnit4 = None - DefUnit5 = None - DefUnit6 = None - DefUnit7 = None - DefUnit8 = None - RaidUnitsBase = 30 - RaidUnitsRandom = 10 - RaidUnit1 = Monk - RaidUnit2 = None - RaidUnit3 = None - RaidUnit4 = None - RaidUnit5 = None - RaidUnit6 = None - RaidUnit7 = None - RaidUnit8 = None - HarassingSiegeEngine1 = Catapult - HarassingSiegeEngine2 = None - HarassingSiegeEngine3 = None - HarassingSiegeEngine4 = None - HarassingSiegeEngine5 = None - HarassingSiegeEngine6 = None - HarassingSiegeEngine7 = None - HarassingSiegeEngine8 = None - HarassingSiegeEnginesMax = 5 - Unknown124 = 4 - AttForceBase = 50 - AttForceRandom = 10 - AttForceRallyDistanceRandom = 40 - AttForceRallyPercentage = 80 - Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 5 - Unknown132 = 80 - SiegeEngine1 = Catapult - SiegeEngine2 = Catapult - SiegeEngine3 = Catapult - SiegeEngine4 = Catapult - SiegeEngine5 = None - SiegeEngine6 = None - SiegeEngine7 = None - SiegeEngine8 = None - Unknown141 = 10000 - Unknown142 = 0 - AttMaxEngineers = 8 - AttDiggingUnit = EuropArcher - AttDiggingUnitMax = 10 - AttUnit2 = None - AttUnit2Max = 0 - AttMaxAssassins = 0 - AttMaxLaddermen = 0 - AttMaxTunnelers = 0 - AttUnitPatrol = None - AttUnitPatrolMax = 0 - AttUnitPatrolGroupsCount = 0 - AttUnitBackup = EuropArcher - AttUnitBackupMax = 40 - RangedBackupGroupsCount = 1 - AttUnitEngage = None - AttUnitEngageMax = 0 - AttUnitSiegeDef = None - AttUnitSiegeDefMax = 0 - Unknown161 = 0 - AttUnitMain1 = Monk - AttUnitMain2 = None - AttUnitMain3 = None - AttUnitMain4 = None - AttMaxDefault = 200 - AttMainGroupsCount = 2 - TargetChoice = Balanced - } -} - +AIFileHeader +{ + DescrGer + { + Diese .aic behebt die folgenden Fehler und Macken der KIs: + - Die Ratte bemannt ihre Verteidigung wieder langsam + - Philipp besetzt seine Mauern auf Ratte-Niveau + - Friedrich, Marschall, Emir & Abt kaufen Ausrüstung + - Wazir kauft Brot in Not + - Nizar kauft Brot statt Äpfel + - Sultan kauft auch Käse & Brot + - Wazir strebt immer mindestens 5 Getreide im Lager an statt 2 + - Wazir, Emir, Marschall & Philipp kaufen Nahrung & Getreide in 10er statt 20er Fuhren + + } + DescrEng + { + This .aic fixes the following bugs and quirks of the AI: + - The Rat reinforces its defense again slowly + - Philipp has wall defenses on the niveau of The Rat + - Frederick, Marshal, Emir & The Abbot buy equipment + - Wazir buys bread in need + - Nizar buys bread instead of apples + - Sultan also buys Cheese & Bread + - Wazir always aims at at least 5 wheat in stock instead of 2 + - Wazir, Emir, Marshal & Philipp buy food & wheat in stocks of 10 instead of 20 + + } + DescrPol + { + Ten plik .aic naprawia następujące błędy i problemy przeciwników komputerowych: + - Szczur powoli odnawia swoją obronę + - Król Filip ma obronę na poziomie Szczura + - Fryderyk, Marszałek, Emir i Opat kupują bronie + - Wezyr kupuje chleb w razie potrzeby + - Nizar kupuje chleb, zamiast jabłek + - Sułtan kupuje też chleb i ser + - Wezyr zawsze stara się mieć przynajmniej 5 sztuk pszenicy w składzie, zamiast 2 + - Wezyr, Emir, Marszałek i Król Filip kupują jedzenie i pszenicę po 10 sztuk, zamiast po 20 + + } + DescrRus + { + Этот .aic исправляет следующие ошибки и причуды AI: + - Крыса снова медленно усиливает свою защиту + - У Филиппа есть оборонительные сооружения на крыше Крысы + - Фредерик, Маршал, Эмир и Аббат покупают оборудование + - Вазир покупает хлеб если нужно + - Низар покупает хлеб вместо яблок + - Султан также покупает сыр и хлеб + - Вазир всегда стремится к как минимум 5 пшениц на складе вместо 2 + - Вазир, Эмир, Маршал и Филипп покупают продовольствие и пшеницу в запасах по 10 вместо 20 + + } +} + +/* +AICharacter +{ + Index: Int32 + Name: String + Personality: AIPersonality + { + Unknown000: Int32 + Unknown001: Int32 + Unknown002: Int32 + Unknown003: Int32 + Unknown004: Int32 + Unknown005: Int32 + CriticalPopularity: Int32, Values range from 0 to 10000, where 100 popularity equals 10000. Below this value, the AI sells more stuff than usual to get money. + LowestPopularity: Int32, Below this value the AI sets taxes to zero until it reaches 'HighestPopularity' again. + HighestPopularity: Int32, Above this value the AI sets taxes back up + TaxesMin: Int32, Ranging from 0 (being +7 gifts) to 11 (being -24 taxes) + TaxesMax: Int32, Ranging from 0 (being +7 gifts) to 11 (being -24 taxes) + Unknown011: Int32 + Farm1: FarmBuilding, An array of farm slots, which the AI builds in the given sequence. + Farm2: FarmBuilding + Farm3: FarmBuilding + Farm4: FarmBuilding + Farm5: FarmBuilding + Farm6: FarmBuilding + Farm7: FarmBuilding + Farm8: FarmBuilding + PopulationPerFarm: Int32, The AI builds one farm for each amount of this population value. (Also check MaxFarms) + PopulationPerWoodcutter: Int32 + PopulationPerQuarry: Int32 + PopulationPerIronmine: Int32 + PopulationPerPitchrig: Int32 + MaxQuarries: Int32, Setting this to zero will not disable building! Set PopulationPerQuarry to zero instead! + MaxIronmines: Int32, Setting this to zero will not disable building! Set PopulationPerIronmine to zero instead! + MaxWoodcutters: Int32, Setting this to zero will not disable building! Set PopulationPerWoodcutter to zero instead! + MaxPitchrigs: Int32, Setting this to zero will not disable building! Set PopulationPerPitchrig to zero instead! + MaxFarms: Int32, Setting this to zero will not disable building! Set PopulationPerFarm to zero instead! + BuildInterval: Int32, This is only considered <= 5000 gold + ResourceRebuildDelay: Int32, The delay before the AI rebuilds destroyed buildings. + MaxFood: Int32, Includes wheat. Applies to each kind of food. + MinimumApples: Int32, Reserves that are only consumed if current popularity < LowestPopularity. If the AI has less than this amount it will prioritize buying the missing food. + MinimumCheese: Int32, Reserves that are only consumed if current popularity < LowestPopularity. If the AI has less than this amount it will prioritize buying the missing food. + MinimumBread: Int32, Reserves that are only consumed if current popularity < LowestPopularity. If the AI has less than this amount it will prioritize buying the missing food. + MinimumWheat: Int32 + MinimumHop: Int32, Unclear + TradeAmountFood: Int32 + TradeAmountEquipment: Int32 + Unknown040: Int32 + MinimumGoodsRequiredAfterTrade: Int32, If the AI would have less than this amount of a good after sending them it won't send them to the requesting player. + DoubleRationsFoodThreshold: Int32, Above this value of food the AI will give double rations out. + MaxWood: Int32 + MaxStone: Int32 + MaxResourceOther: Int32 + MaxEquipment: Int32, Applies to each type of weapon or armour. + MaxBeer: Int32 + MaxResourceVariance: Int32, added to all max resource values? + RecruitGoldThreshold: Int32, A (gold) threshold which disables any recruitment of all units except for raiding and sortie until it is met. + BlacksmithSetting: BlacksmithSetting + FletcherSetting: FletcherSetting + PoleturnerSetting: PoleturnerSetting + SellResource01: Resource + SellResource02: Resource + SellResource03: Resource + SellResource04: Resource + SellResource05: Resource + SellResource06: Resource + SellResource07: Resource + SellResource08: Resource + SellResource09: Resource + SellResource10: Resource + SellResource11: Resource + SellResource12: Resource + SellResource13: Resource + SellResource14: Resource + SellResource15: Resource + DefWallPatrolRallyTime: Int32, The amount of time for castle patrols set up in the AIV to move from one rally point to the next. (Remark: Only spearmen, horse archers and macemen currently do) + DefWallPatrolGroups: Int32 + DefSiegeEngineGoldThreshold: Int32, This one makes no sense. In code: [if (Gold + Threshold > 30) then RecruitEngineer()], maybe it was supposed to be minus... + DefSiegeEngineBuildDelay: Int32, The delay before the AI builds its first defensive siege engine. + Unknown072: Int32 + Unknown073: Int32 + RecruitProbDefDefault: Int32, The probability with which this AI reinforces missing defense troops. Note: These are ignored at the beginning of the game, as there are only sortie and defensive units being recruited. + RecruitProbDefWeak: Int32 + RecruitProbDefStrong: Int32 + RecruitProbRaidDefault: Int32 + RecruitProbRaidWeak: Int32 + RecruitProbRaidStrong: Int32 + RecruitProbAttackDefault: Int32 + RecruitProbAttackWeak: Int32 + RecruitProbAttackStrong: Int32 + SortieUnitRangedMin: Int32, These units are only sent out if more than this amout of them has already been recruited. + SortieUnitRanged: Unit, Type of ranged units that go to the last attacked farm or building, and guard it until another is attacked. Setting it to None may cause buggy recruitment behavior. + SortieUnitMeleeMin: Int32, These units are only sent out if more than this amout of them has already been recruited. + SortieUnitMelee: Unit, Type of melee units to attack enemy units shooting at the AI's buildings or workers. Setting it to None may cause buggy recruitment behavior. + DefDiggingUnitMax: Int32, Amount of units that dig own moat. + DefDiggingUnit: DiggingUnit, Type of unit to dig own moat. + RecruitInterval: Int32 + RecruitIntervalWeak: Int32, The 'weak' state sets in if the AI is completely trashed. F.e. troops < 8, gold < 200, population < 15, ... + RecruitIntervalStrong: Int32, The 'strong' state sets in if f.e. the AI has troops >= 40, gold >= 200, population >= 40, ... + DefTotal: Int32, The total count of all defensive units (wall defense + patrols). + OuterPatrolGroupsCount: Int32, The number of groups the patrols defending the outer economy split into. + OuterPatrolGroupsMove: Boolean, Whether the patrols stay at one place (quarry) or move around. + OuterPatrolRallyDelay: Int32, The delay after which the AI sends out patrols to defend the outer economy. 4 is approximately one month, 24 being half a year. + DefWalls: Int32 + DefUnit1: Unit + DefUnit2: Unit + DefUnit3: Unit + DefUnit4: Unit + DefUnit5: Unit + DefUnit6: Unit + DefUnit7: Unit + DefUnit8: Unit + RaidUnitsBase: Int32, Base amount of raid troops, Special case: [unknown trigger => end result multiplied by 1.25] + RaidUnitsRandom: Int32, Maximum random addition to raid troops. Special cases: [gold > 5000 => multiplied by 2][gold < 1000 => set to 0][enemy gold < 500 => divided by -2] + RaidUnit1: Unit + RaidUnit2: Unit + RaidUnit3: Unit + RaidUnit4: Unit + RaidUnit5: Unit + RaidUnit6: Unit + RaidUnit7: Unit + RaidUnit8: Unit + HarassingSiegeEngine1: HarassingSiegeEngine + HarassingSiegeEngine2: HarassingSiegeEngine + HarassingSiegeEngine3: HarassingSiegeEngine + HarassingSiegeEngine4: HarassingSiegeEngine + HarassingSiegeEngine5: HarassingSiegeEngine + HarassingSiegeEngine6: HarassingSiegeEngine + HarassingSiegeEngine7: HarassingSiegeEngine + HarassingSiegeEngine8: HarassingSiegeEngine + HarassingSiegeEnginesMax: Int32, The maximum of harassing siege engines an AI builds. + Unknown124: Int32 + AttForceBase: Int32, The base amount of troops with which this AI attacks + AttForceRandom: Int32, The maximum random amount of additional troops in an attack (this is not the amount by which the troops increase per attack!) + AttForceSupportAllyThreshold: Int32, If the AI has more than this amount of units in the attack force, it will help their allies or siege an enemy if commanded to do so. + AttForceRallyPercentage: Int32, The %-amount of units of the attack force that the AI will rally before attacking. (0 - 100) + Unknown129: Int32 + Unknown130: Int32 + Unknown131: Int32 + Unknown132: Int32 + SiegeEngine1: SiegeEngine + SiegeEngine2: SiegeEngine + SiegeEngine3: SiegeEngine + SiegeEngine4: SiegeEngine + SiegeEngine5: SiegeEngine + SiegeEngine6: SiegeEngine + SiegeEngine7: SiegeEngine + SiegeEngine8: SiegeEngine + CowThrowInterval: Int32, The amount of stones needed to be thrown until the AI throws a diseased cow instead (catapults & trebuchets). Value 0 disables cows and -1 makes the AI not throw any bolders, only cows. + Unknown142: Int32 + AttMaxEngineers: Int32 + AttDiggingUnit: DiggingUnit, This unit is only recruited if the target enemy has moat and used preferably to fill up enemy moat. + AttDiggingUnitMax: Int32 + AttUnit2: Unit + AttUnit2Max: Int32 + AttMaxAssassins: Int32 + AttMaxLaddermen: Int32 + AttMaxTunnelers: Int32 + AttUnitPatrol: Unit, Ranged attack unit that patrols around the enemy castle / keep. Preferably ranged units should be used here. + AttUnitPatrolMax: Int32 + AttUnitPatrolGroupsCount: Int32, # of groups the AttUnitPatrol split into. BUGGY! More than 1 group results to only a single group attacking, the others standing idle. + AttUnitBackup: Unit, Attacking unit that holds position and doesn't attack until the walls are breached. + AttUnitBackupMax: Int32 + RangedBackupGroupsCount: Int32, # of groups the RangedBackupUnits split into. If shields are present in the army, one will be added to each group (if possible). + AttUnitEngage: Unit, Units that engage enemy groups of units outside the castle. Prioritizes larger groups no matter where they are on the map. Otherwise destroys buildings outside the castle. + AttUnitEngageMax: Int32 + AttUnitSiegeDef: Unit, These units patrol between siege engines in order to protect them. + AttUnitSiegeDefMax: Int32 + Unknown161: Int32 + AttUnitMain1: Unit, AttUntiMain1 to AttUnitMain4 is a list of the main strike force the AI recruits for sieges. Priotizes in order of the list, but only recruits units for which they have enough gold. So try to place expensive units higher up. + AttUnitMain2: Unit + AttUnitMain3: Unit + AttUnitMain4: Unit + AttMaxDefault: Int32, This does nothing + AttMainGroupsCount: Int32, # of groups all the AttUnitMain split into. Maximum is 3 + TargetChoice: TargetingType + } +} +*/ + +AICharacter +{ + Index = 1 + Name = Rat + Personality + { + Unknown000 = 12 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 0 + Unknown005 = 0 + CriticalPopularity = 4000 + LowestPopularity = 5500 + HighestPopularity = 7500 + TaxesMin = 3 + TaxesMax = 10 + Unknown011 = 20 + Farm1 = AppleFarm + Farm2 = None + Farm3 = None + Farm4 = None + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 6 + PopulationPerWoodcutter = 8 + PopulationPerQuarry = 18 + PopulationPerIronmine = 0 + PopulationPerPitchrig = 0 + MaxQuarries = 1 + MaxIronmines = 1 + MaxWoodcutters = 6 + MaxPitchrigs = 1 + MaxFarms = 6 + BuildInterval = 1 + ResourceRebuildDelay = 10 + MaxFood = 100 + MinimumApples = 10 + MinimumCheese = -1 + MinimumBread = -1 + MinimumWheat = -1 + MinimumHop = -1 + TradeAmountFood = 10 + TradeAmountEquipment = 2 + Unknown040 = 18 + MinimumGoodsRequiredAfterTrade = 0 + DoubleRationsFoodThreshold = 0 + MaxWood = 30 + MaxStone = 40 + MaxResourceOther = 20 + MaxEquipment = 20 + MaxBeer = 20 + MaxResourceVariance = 5 + RecruitGoldThreshold = 200 + BlacksmithSetting = Swords + FletcherSetting = Bows + PoleturnerSetting = Spears + SellResource01 = None + SellResource02 = Hop + SellResource03 = Iron + SellResource04 = Pitch + SellResource05 = Wheat + SellResource06 = Beer + SellResource07 = Flour + SellResource08 = None + SellResource09 = Crossbows + SellResource10 = None + SellResource11 = Pikes + SellResource12 = Maces + SellResource13 = Swords + SellResource14 = LeatherArmors + SellResource15 = IronArmors + DefWallPatrolRallyTime = 20 + DefWallPatrolGroups = 1 + DefSiegeEngineGoldThreshold = 200 + DefSiegeEngineBuildDelay = 20 + Unknown072 = 800 + Unknown073 = 80 + RecruitProbDefDefault = 10 + RecruitProbDefWeak = 50 + RecruitProbDefStrong = 0 + RecruitProbRaidDefault = 45 + RecruitProbRaidWeak = 50 + RecruitProbRaidStrong = 0 + RecruitProbAttackDefault = 45 + RecruitProbAttackWeak = 0 + RecruitProbAttackStrong = 100 + SortieUnitRangedMin = 5 + SortieUnitRanged = EuropArcher + SortieUnitMeleeMin = 6 + SortieUnitMelee = Spearman + DefDiggingUnitMax = 0 + DefDiggingUnit = Spearman + RecruitInterval = 1 + RecruitIntervalWeak = 1 + RecruitIntervalStrong = 1 + DefTotal = 30 + OuterPatrolGroupsCount = 1 + OuterPatrolGroupsMove = False + OuterPatrolRallyDelay = 10 + DefWalls = 20 + DefUnit1 = Spearman + DefUnit2 = Spearman + DefUnit3 = EuropArcher + DefUnit4 = EuropArcher + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 10 + RaidUnitsRandom = 15 + RaidUnit1 = Spearman + RaidUnit2 = Spearman + RaidUnit3 = EuropArcher + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 0 + Unknown124 = 3 + AttForceBase = 20 + AttForceRandom = 10 + AttForceSupportAllyThreshold = 15 + AttForceRallyPercentage = 50 + Unknown129 = 100 + Unknown130 = 0 + Unknown131 = 25 + Unknown132 = 20 + SiegeEngine1 = None + SiegeEngine2 = None + SiegeEngine3 = None + SiegeEngine4 = None + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 1000 + Unknown142 = 0 + AttMaxEngineers = 0 + AttDiggingUnit = Spearman + AttDiggingUnitMax = 20 + AttUnit2 = EuropArcher + AttUnit2Max = 0 + AttMaxAssassins = 0 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = EuropArcher + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = EuropArcher + AttUnitBackupMax = 16 + RangedBackupGroupsCount = 0 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = Spearman + AttUnitSiegeDefMax = 0 + Unknown161 = 0 + AttUnitMain1 = Spearman + AttUnitMain2 = None + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 1 + TargetChoice = Player + } +} + +AICharacter +{ + Index = 2 + Name = Snake + Personality + { + Unknown000 = 12 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 0 + Unknown005 = 0 + CriticalPopularity = 4000 + LowestPopularity = 5000 + HighestPopularity = 8000 + TaxesMin = 3 + TaxesMax = 11 + Unknown011 = 15 + Farm1 = AppleFarm + Farm2 = None + Farm3 = None + Farm4 = None + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 5 + PopulationPerWoodcutter = 5 + PopulationPerQuarry = 15 + PopulationPerIronmine = 0 + PopulationPerPitchrig = 0 + MaxQuarries = 2 + MaxIronmines = 1 + MaxWoodcutters = 10 + MaxPitchrigs = 1 + MaxFarms = 10 + BuildInterval = 2 + ResourceRebuildDelay = 12 + MaxFood = 150 + MinimumApples = 10 + MinimumCheese = 20 + MinimumBread = -1 + MinimumWheat = -1 + MinimumHop = -1 + TradeAmountFood = 5 + TradeAmountEquipment = 6 + Unknown040 = 12 + MinimumGoodsRequiredAfterTrade = 10 + DoubleRationsFoodThreshold = 80 + MaxWood = 48 + MaxStone = 40 + MaxResourceOther = 15 + MaxEquipment = 12 + MaxBeer = 5 + MaxResourceVariance = 5 + RecruitGoldThreshold = 200 + BlacksmithSetting = Swords + FletcherSetting = Bows + PoleturnerSetting = Spears + SellResource01 = None + SellResource02 = Hop + SellResource03 = Iron + SellResource04 = Pitch + SellResource05 = Wheat + SellResource06 = Beer + SellResource07 = Flour + SellResource08 = None + SellResource09 = Crossbows + SellResource10 = None + SellResource11 = Pikes + SellResource12 = Maces + SellResource13 = Swords + SellResource14 = LeatherArmors + SellResource15 = IronArmors + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 4 + DefSiegeEngineGoldThreshold = 500 + DefSiegeEngineBuildDelay = 20 + Unknown072 = 400 + Unknown073 = 60 + RecruitProbDefDefault = 30 + RecruitProbDefWeak = 70 + RecruitProbDefStrong = 20 + RecruitProbRaidDefault = 40 + RecruitProbRaidWeak = 30 + RecruitProbRaidStrong = 40 + RecruitProbAttackDefault = 30 + RecruitProbAttackWeak = 0 + RecruitProbAttackStrong = 40 + SortieUnitRangedMin = 2 + SortieUnitRanged = EuropArcher + SortieUnitMeleeMin = 8 + SortieUnitMelee = Spearman + DefDiggingUnitMax = 20 + DefDiggingUnit = Spearman + RecruitInterval = 1 + RecruitIntervalWeak = 0 + RecruitIntervalStrong = 1 + DefTotal = 80 + OuterPatrolGroupsCount = 3 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 2 + DefWalls = 50 + DefUnit1 = EuropArcher + DefUnit2 = None + DefUnit3 = None + DefUnit4 = None + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 30 + RaidUnitsRandom = 10 + RaidUnit1 = Slave + RaidUnit2 = Slave + RaidUnit3 = Slave + RaidUnit4 = Slinger + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 1 + Unknown124 = 3 + AttForceBase = 30 + AttForceRandom = 10 + AttForceSupportAllyThreshold = 30 + AttForceRallyPercentage = 50 + Unknown129 = 100 + Unknown130 = 0 + Unknown131 = 25 + Unknown132 = 40 + SiegeEngine1 = Catapult + SiegeEngine2 = None + SiegeEngine3 = None + SiegeEngine4 = None + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 1000 + Unknown142 = 0 + AttMaxEngineers = 2 + AttDiggingUnit = Spearman + AttDiggingUnitMax = 20 + AttUnit2 = EuropArcher + AttUnit2Max = 20 + AttMaxAssassins = 0 + AttMaxLaddermen = 10 + AttMaxTunnelers = 0 + AttUnitPatrol = Slinger + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = ArabArcher + AttUnitBackupMax = 50 + RangedBackupGroupsCount = 1 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = EuropArcher + AttUnitSiegeDefMax = 30 + Unknown161 = 0 + AttUnitMain1 = Spearman + AttUnitMain2 = None + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 1 + TargetChoice = Balanced + } +} + +AICharacter +{ + Index = 3 + Name = Pig + Personality + { + Unknown000 = 12 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 0 + Unknown005 = 0 + CriticalPopularity = 5000 + LowestPopularity = 7000 + HighestPopularity = 8500 + TaxesMin = 3 + TaxesMax = 11 + Unknown011 = 20 + Farm1 = DairyFarm + Farm2 = None + Farm3 = None + Farm4 = None + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 4 + PopulationPerWoodcutter = 6 + PopulationPerQuarry = 25 + PopulationPerIronmine = 10 + PopulationPerPitchrig = 20 + MaxQuarries = 2 + MaxIronmines = 4 + MaxWoodcutters = 8 + MaxPitchrigs = 1 + MaxFarms = 12 + BuildInterval = 3 + ResourceRebuildDelay = 50 + MaxFood = 400 + MinimumApples = 10 + MinimumCheese = 10 + MinimumBread = 10 + MinimumWheat = -1 + MinimumHop = -1 + TradeAmountFood = 5 + TradeAmountEquipment = 4 + Unknown040 = 12 + MinimumGoodsRequiredAfterTrade = 100 + DoubleRationsFoodThreshold = 60 + MaxWood = 70 + MaxStone = 40 + MaxResourceOther = 10 + MaxEquipment = 10 + MaxBeer = 5 + MaxResourceVariance = 5 + RecruitGoldThreshold = 200 + BlacksmithSetting = Maces + FletcherSetting = Crossbows + PoleturnerSetting = Spears + SellResource01 = None + SellResource02 = Hop + SellResource03 = None + SellResource04 = Pitch + SellResource05 = Wheat + SellResource06 = Beer + SellResource07 = Flour + SellResource08 = Bows + SellResource09 = None + SellResource10 = Spears + SellResource11 = Pikes + SellResource12 = None + SellResource13 = Swords + SellResource14 = None + SellResource15 = IronArmors + DefWallPatrolRallyTime = 10 + DefWallPatrolGroups = 4 + DefSiegeEngineGoldThreshold = 100 + DefSiegeEngineBuildDelay = 20 + Unknown072 = 200 + Unknown073 = 40 + RecruitProbDefDefault = 60 + RecruitProbDefWeak = 100 + RecruitProbDefStrong = 30 + RecruitProbRaidDefault = 0 + RecruitProbRaidWeak = 0 + RecruitProbRaidStrong = 0 + RecruitProbAttackDefault = 40 + RecruitProbAttackWeak = 0 + RecruitProbAttackStrong = 70 + SortieUnitRangedMin = 4 + SortieUnitRanged = Crossbowman + SortieUnitMeleeMin = 5 + SortieUnitMelee = Maceman + DefDiggingUnitMax = 0 + DefDiggingUnit = Spearman + RecruitInterval = 1 + RecruitIntervalWeak = 1 + RecruitIntervalStrong = 4 + DefTotal = 40 + OuterPatrolGroupsCount = 2 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 20 + DefWalls = 30 + DefUnit1 = Crossbowman + DefUnit2 = Crossbowman + DefUnit3 = Crossbowman + DefUnit4 = None + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 10 + RaidUnitsRandom = 5 + RaidUnit1 = Maceman + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 2 + Unknown124 = 3 + AttForceBase = 10 + AttForceRandom = 10 + AttForceSupportAllyThreshold = 10 + AttForceRallyPercentage = 60 + Unknown129 = 100 + Unknown130 = 5 + Unknown131 = 15 + Unknown132 = 20 + SiegeEngine1 = Catapult + SiegeEngine2 = Catapult + SiegeEngine3 = Catapult + SiegeEngine4 = BatteringRam + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 30 + Unknown142 = 0 + AttMaxEngineers = 10 + AttDiggingUnit = Maceman + AttDiggingUnitMax = 10 + AttUnit2 = None + AttUnit2Max = 0 + AttMaxAssassins = 0 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = None + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = Crossbowman + AttUnitBackupMax = 5 + RangedBackupGroupsCount = 1 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = Maceman + AttUnitSiegeDefMax = 0 + Unknown161 = 0 + AttUnitMain1 = Maceman + AttUnitMain2 = None + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 2 + TargetChoice = Gold + } +} + +AICharacter +{ + Index = 4 + Name = Wolf + Personality + { + Unknown000 = 13 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 1 + Unknown005 = 1 + CriticalPopularity = 4500 + LowestPopularity = 6000 + HighestPopularity = 9000 + TaxesMin = 3 + TaxesMax = 11 + Unknown011 = 12 + Farm1 = DairyFarm + Farm2 = AppleFarm + Farm3 = HopFarm + Farm4 = AppleFarm + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 5 + PopulationPerWoodcutter = 4 + PopulationPerQuarry = 9 + PopulationPerIronmine = 13 + PopulationPerPitchrig = 15 + MaxQuarries = 6 + MaxIronmines = 3 + MaxWoodcutters = 12 + MaxPitchrigs = 2 + MaxFarms = 10 + BuildInterval = 3 + ResourceRebuildDelay = 20 + MaxFood = 200 + MinimumApples = 5 + MinimumCheese = 5 + MinimumBread = 5 + MinimumWheat = -1 + MinimumHop = -1 + TradeAmountFood = 10 + TradeAmountEquipment = 4 + Unknown040 = 20 + MinimumGoodsRequiredAfterTrade = 40 + DoubleRationsFoodThreshold = 30 + MaxWood = 60 + MaxStone = 50 + MaxResourceOther = 10 + MaxEquipment = 10 + MaxBeer = 15 + MaxResourceVariance = 5 + RecruitGoldThreshold = 200 + BlacksmithSetting = Swords + FletcherSetting = Crossbows + PoleturnerSetting = Pikes + SellResource01 = None + SellResource02 = None + SellResource03 = None + SellResource04 = None + SellResource05 = Wheat + SellResource06 = None + SellResource07 = Flour + SellResource08 = None + SellResource09 = None + SellResource10 = Spears + SellResource11 = None + SellResource12 = Maces + SellResource13 = None + SellResource14 = None + SellResource15 = None + DefWallPatrolRallyTime = 4 + DefWallPatrolGroups = 3 + DefSiegeEngineGoldThreshold = 250 + DefSiegeEngineBuildDelay = 2 + Unknown072 = 100 + Unknown073 = 20 + RecruitProbDefDefault = 60 + RecruitProbDefWeak = 90 + RecruitProbDefStrong = 30 + RecruitProbRaidDefault = 30 + RecruitProbRaidWeak = 10 + RecruitProbRaidStrong = 10 + RecruitProbAttackDefault = 10 + RecruitProbAttackWeak = 0 + RecruitProbAttackStrong = 60 + SortieUnitRangedMin = 8 + SortieUnitRanged = ArabArcher + SortieUnitMeleeMin = 6 + SortieUnitMelee = Pikeman + DefDiggingUnitMax = 8 + DefDiggingUnit = Pikeman + RecruitInterval = 4 + RecruitIntervalWeak = 1 + RecruitIntervalStrong = 4 + DefTotal = 100 + OuterPatrolGroupsCount = 4 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 3 + DefWalls = 80 + DefUnit1 = Crossbowman + DefUnit2 = Crossbowman + DefUnit3 = EuropArcher + DefUnit4 = EuropArcher + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 5 + RaidUnitsRandom = 20 + RaidUnit1 = HorseArcher + RaidUnit2 = HorseArcher + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 4 + Unknown124 = 5 + AttForceBase = 40 + AttForceRandom = 15 + AttForceSupportAllyThreshold = 30 + AttForceRallyPercentage = 80 + Unknown129 = 100 + Unknown130 = 12 + Unknown131 = 5 + Unknown132 = 50 + SiegeEngine1 = Catapult + SiegeEngine2 = Trebuchet + SiegeEngine3 = FireBallista + SiegeEngine4 = Trebuchet + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 8 + Unknown142 = 0 + AttMaxEngineers = 12 + AttDiggingUnit = Pikeman + AttDiggingUnitMax = 20 + AttUnit2 = None + AttUnit2Max = 0 + AttMaxAssassins = 0 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = None + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = Crossbowman + AttUnitBackupMax = 30 + RangedBackupGroupsCount = 3 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = Swordsman + AttUnitSiegeDefMax = 5 + Unknown161 = 1 + AttUnitMain1 = Swordsman + AttUnitMain2 = Pikeman + AttUnitMain3 = Pikeman + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 3 + TargetChoice = Closest + } +} + +AICharacter +{ + Index = 5 + Name = Saladin + Personality + { + Unknown000 = 10 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 0 + Unknown005 = 0 + CriticalPopularity = 4000 + LowestPopularity = 5000 + HighestPopularity = 8000 + TaxesMin = 3 + TaxesMax = 12 + Unknown011 = 20 + Farm1 = HopFarm + Farm2 = WheatFarm + Farm3 = WheatFarm + Farm4 = AppleFarm + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 3 + PopulationPerWoodcutter = 6 + PopulationPerQuarry = 10 + PopulationPerIronmine = 12 + PopulationPerPitchrig = 20 + MaxQuarries = 4 + MaxIronmines = 4 + MaxWoodcutters = 14 + MaxPitchrigs = 1 + MaxFarms = 15 + BuildInterval = 2 + ResourceRebuildDelay = 40 + MaxFood = 50 + MinimumApples = 5 + MinimumCheese = 5 + MinimumBread = 5 + MinimumWheat = 5 + MinimumHop = 5 + TradeAmountFood = 10 + TradeAmountEquipment = 0 + Unknown040 = 40 + MinimumGoodsRequiredAfterTrade = 20 + DoubleRationsFoodThreshold = 20 + MaxWood = 60 + MaxStone = 50 + MaxResourceOther = 10 + MaxEquipment = 5 + MaxBeer = 10 + MaxResourceVariance = 2 + RecruitGoldThreshold = 200 + BlacksmithSetting = Swords + FletcherSetting = Crossbows + PoleturnerSetting = Pikes + SellResource01 = None + SellResource02 = None + SellResource03 = None + SellResource04 = None + SellResource05 = None + SellResource06 = None + SellResource07 = None + SellResource08 = Bows + SellResource09 = Crossbows + SellResource10 = None + SellResource11 = Pikes + SellResource12 = Maces + SellResource13 = None + SellResource14 = LeatherArmors + SellResource15 = None + DefWallPatrolRallyTime = 3 + DefWallPatrolGroups = 4 + DefSiegeEngineGoldThreshold = 20 + DefSiegeEngineBuildDelay = 8 + Unknown072 = 100 + Unknown073 = 20 + RecruitProbDefDefault = 34 + RecruitProbDefWeak = 100 + RecruitProbDefStrong = 25 + RecruitProbRaidDefault = 33 + RecruitProbRaidWeak = 0 + RecruitProbRaidStrong = 25 + RecruitProbAttackDefault = 33 + RecruitProbAttackWeak = 0 + RecruitProbAttackStrong = 50 + SortieUnitRangedMin = 10 + SortieUnitRanged = ArabArcher + SortieUnitMeleeMin = 7 + SortieUnitMelee = ArabSwordsman + DefDiggingUnitMax = 4 + DefDiggingUnit = Slave + RecruitInterval = 1 + RecruitIntervalWeak = 1 + RecruitIntervalStrong = 1 + DefTotal = 70 + OuterPatrolGroupsCount = 2 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 10 + DefWalls = 50 + DefUnit1 = ArabSwordsman + DefUnit2 = ArabArcher + DefUnit3 = ArabArcher + DefUnit4 = ArabArcher + DefUnit5 = FireThrower + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 10 + RaidUnitsRandom = 5 + RaidUnit1 = HorseArcher + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 5 + Unknown124 = 3 + AttForceBase = 50 + AttForceRandom = 10 + AttForceSupportAllyThreshold = 8 + AttForceRallyPercentage = 80 + Unknown129 = 100 + Unknown130 = 4 + Unknown131 = 1 + Unknown132 = 60 + SiegeEngine1 = FireBallista + SiegeEngine2 = FireBallista + SiegeEngine3 = Catapult + SiegeEngine4 = Catapult + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 2000 + Unknown142 = 0 + AttMaxEngineers = 10 + AttDiggingUnit = Slave + AttDiggingUnitMax = 20 + AttUnit2 = HorseArcher + AttUnit2Max = 20 + AttMaxAssassins = 5 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = HorseArcher + AttUnitPatrolMax = 20 + AttUnitPatrolGroupsCount = 1 + AttUnitBackup = ArabArcher + AttUnitBackupMax = 20 + RangedBackupGroupsCount = 3 + AttUnitEngage = FireThrower + AttUnitEngageMax = 0 + AttUnitSiegeDef = FireThrower + AttUnitSiegeDefMax = 6 + Unknown161 = 1 + AttUnitMain1 = ArabSwordsman + AttUnitMain2 = None + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 3 + TargetChoice = Gold + } +} + +AICharacter +{ + Index = 6 + Name = Caliph + Personality + { + Unknown000 = 10 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 0 + Unknown005 = 1 + CriticalPopularity = 4000 + LowestPopularity = 5000 + HighestPopularity = 9000 + TaxesMin = 3 + TaxesMax = 12 + Unknown011 = 12 + Farm1 = AppleFarm + Farm2 = HopFarm + Farm3 = AppleFarm + Farm4 = None + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 5 + PopulationPerWoodcutter = 7 + PopulationPerQuarry = 10 + PopulationPerIronmine = 12 + PopulationPerPitchrig = 7 + MaxQuarries = 2 + MaxIronmines = 1 + MaxWoodcutters = 8 + MaxPitchrigs = 10 + MaxFarms = 10 + BuildInterval = 3 + ResourceRebuildDelay = 60 + MaxFood = 100 + MinimumApples = 10 + MinimumCheese = -1 + MinimumBread = -1 + MinimumWheat = -1 + MinimumHop = -1 + TradeAmountFood = 10 + TradeAmountEquipment = 0 + Unknown040 = 12 + MinimumGoodsRequiredAfterTrade = 50 + DoubleRationsFoodThreshold = 50 + MaxWood = 50 + MaxStone = 50 + MaxResourceOther = 10 + MaxEquipment = 5 + MaxBeer = 15 + MaxResourceVariance = 5 + RecruitGoldThreshold = 200 + BlacksmithSetting = Swords + FletcherSetting = Crossbows + PoleturnerSetting = Pikes + SellResource01 = None + SellResource02 = None + SellResource03 = Iron + SellResource04 = None + SellResource05 = Wheat + SellResource06 = None + SellResource07 = Flour + SellResource08 = Bows + SellResource09 = Crossbows + SellResource10 = Spears + SellResource11 = Pikes + SellResource12 = Maces + SellResource13 = Swords + SellResource14 = LeatherArmors + SellResource15 = IronArmors + DefWallPatrolRallyTime = 5 + DefWallPatrolGroups = 2 + DefSiegeEngineGoldThreshold = 120 + DefSiegeEngineBuildDelay = 8 + Unknown072 = 100 + Unknown073 = 20 + RecruitProbDefDefault = 40 + RecruitProbDefWeak = 80 + RecruitProbDefStrong = 40 + RecruitProbRaidDefault = 40 + RecruitProbRaidWeak = 20 + RecruitProbRaidStrong = 30 + RecruitProbAttackDefault = 20 + RecruitProbAttackWeak = 0 + RecruitProbAttackStrong = 30 + SortieUnitRangedMin = 7 + SortieUnitRanged = ArabArcher + SortieUnitMeleeMin = 5 + SortieUnitMelee = ArabSwordsman + DefDiggingUnitMax = 4 + DefDiggingUnit = Slave + RecruitInterval = 0 + RecruitIntervalWeak = 1 + RecruitIntervalStrong = 0 + DefTotal = 60 + OuterPatrolGroupsCount = 2 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 10 + DefWalls = 60 + DefUnit1 = FireThrower + DefUnit2 = ArabArcher + DefUnit3 = ArabArcher + DefUnit4 = ArabArcher + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 30 + RaidUnitsRandom = 30 + RaidUnit1 = Slave + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = FireBallista + HarassingSiegeEngine2 = Catapult + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 2 + Unknown124 = 3 + AttForceBase = 15 + AttForceRandom = 10 + AttForceSupportAllyThreshold = 70 + AttForceRallyPercentage = 100 + Unknown129 = 100 + Unknown130 = 2 + Unknown131 = 10 + Unknown132 = 50 + SiegeEngine1 = FireBallista + SiegeEngine2 = FireBallista + SiegeEngine3 = FireBallista + SiegeEngine4 = None + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 7 + Unknown142 = 0 + AttMaxEngineers = 6 + AttDiggingUnit = Slave + AttDiggingUnitMax = 20 + AttUnit2 = ArabSwordsman + AttUnit2Max = 0 + AttMaxAssassins = 0 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = HorseArcher + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = HorseArcher + AttUnitBackupMax = 40 + RangedBackupGroupsCount = 2 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = ArabArcher + AttUnitSiegeDefMax = 10 + Unknown161 = 1 + AttUnitMain1 = ArabSwordsman + AttUnitMain2 = None + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 5 + TargetChoice = Balanced + } +} + +AICharacter +{ + Index = 7 + Name = Sultan + Personality + { + Unknown000 = 10 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 0 + Unknown005 = 0 + CriticalPopularity = 5000 + LowestPopularity = 6000 + HighestPopularity = 9000 + TaxesMin = 1 + TaxesMax = 8 + Unknown011 = 20 + Farm1 = None + Farm2 = None + Farm3 = None + Farm4 = None + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 100 + PopulationPerWoodcutter = 2 + PopulationPerQuarry = 5 + PopulationPerIronmine = 0 + PopulationPerPitchrig = 0 + MaxQuarries = 2 + MaxIronmines = 1 + MaxWoodcutters = 15 + MaxPitchrigs = 1 + MaxFarms = 6 + BuildInterval = 5 + ResourceRebuildDelay = 80 + MaxFood = 500 + MinimumApples = 20 + MinimumCheese = 20 + MinimumBread = 20 + MinimumWheat = -1 + MinimumHop = -1 + TradeAmountFood = 10 + TradeAmountEquipment = 0 + Unknown040 = 30 + MinimumGoodsRequiredAfterTrade = 0 + DoubleRationsFoodThreshold = 0 + MaxWood = 30 + MaxStone = 20 + MaxResourceOther = 10 + MaxEquipment = 5 + MaxBeer = 20 + MaxResourceVariance = 5 + RecruitGoldThreshold = 200 + BlacksmithSetting = Swords + FletcherSetting = Bows + PoleturnerSetting = Spears + SellResource01 = None + SellResource02 = Hop + SellResource03 = Iron + SellResource04 = Pitch + SellResource05 = Wheat + SellResource06 = Beer + SellResource07 = Flour + SellResource08 = Bows + SellResource09 = Crossbows + SellResource10 = Spears + SellResource11 = Pikes + SellResource12 = Maces + SellResource13 = Swords + SellResource14 = LeatherArmors + SellResource15 = IronArmors + DefWallPatrolRallyTime = 10 + DefWallPatrolGroups = 2 + DefSiegeEngineGoldThreshold = 200 + DefSiegeEngineBuildDelay = 20 + Unknown072 = 800 + Unknown073 = 80 + RecruitProbDefDefault = 50 + RecruitProbDefWeak = 70 + RecruitProbDefStrong = 30 + RecruitProbRaidDefault = 20 + RecruitProbRaidWeak = 10 + RecruitProbRaidStrong = 30 + RecruitProbAttackDefault = 30 + RecruitProbAttackWeak = 20 + RecruitProbAttackStrong = 40 + SortieUnitRangedMin = 0 + SortieUnitRanged = Slinger + SortieUnitMeleeMin = 3 + SortieUnitMelee = ArabSwordsman + DefDiggingUnitMax = 2 + DefDiggingUnit = Slave + RecruitInterval = 8 + RecruitIntervalWeak = 8 + RecruitIntervalStrong = 4 + DefTotal = 50 + OuterPatrolGroupsCount = 1 + OuterPatrolGroupsMove = False + OuterPatrolRallyDelay = 10 + DefWalls = 40 + DefUnit1 = Slinger + DefUnit2 = Slinger + DefUnit3 = ArabSwordsman + DefUnit4 = None + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 20 + RaidUnitsRandom = 10 + RaidUnit1 = Slinger + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 0 + Unknown124 = 3 + AttForceBase = 10 + AttForceRandom = 20 + AttForceSupportAllyThreshold = 5 + AttForceRallyPercentage = 30 + Unknown129 = 100 + Unknown130 = 0 + Unknown131 = 40 + Unknown132 = 20 + SiegeEngine1 = None + SiegeEngine2 = None + SiegeEngine3 = None + SiegeEngine4 = None + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 10000 + Unknown142 = 0 + AttMaxEngineers = 0 + AttDiggingUnit = None + AttDiggingUnitMax = 0 + AttUnit2 = None + AttUnit2Max = 0 + AttMaxAssassins = 0 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = None + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = ArabArcher + AttUnitBackupMax = 120 + RangedBackupGroupsCount = 1 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = None + AttUnitSiegeDefMax = 0 + Unknown161 = 0 + AttUnitMain1 = ArabSwordsman + AttUnitMain2 = None + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 1 + TargetChoice = Closest + } +} + +AICharacter +{ + Index = 8 + Name = Richard + Personality + { + Unknown000 = 13 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 1 + Unknown005 = 0 + CriticalPopularity = 4000 + LowestPopularity = 5000 + HighestPopularity = 8000 + TaxesMin = 3 + TaxesMax = 10 + Unknown011 = 12 + Farm1 = DairyFarm + Farm2 = AppleFarm + Farm3 = AppleFarm + Farm4 = None + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 4 + PopulationPerWoodcutter = 7 + PopulationPerQuarry = 10 + PopulationPerIronmine = 10 + PopulationPerPitchrig = 0 + MaxQuarries = 3 + MaxIronmines = 4 + MaxWoodcutters = 10 + MaxPitchrigs = 1 + MaxFarms = 15 + BuildInterval = 4 + ResourceRebuildDelay = 20 + MaxFood = 200 + MinimumApples = 5 + MinimumCheese = 5 + MinimumBread = -1 + MinimumWheat = -1 + MinimumHop = -1 + TradeAmountFood = 5 + TradeAmountEquipment = 2 + Unknown040 = 22 + MinimumGoodsRequiredAfterTrade = 10 + DoubleRationsFoodThreshold = 40 + MaxWood = 50 + MaxStone = 60 + MaxResourceOther = 10 + MaxEquipment = 10 + MaxBeer = 10 + MaxResourceVariance = 4 + RecruitGoldThreshold = 200 + BlacksmithSetting = Swords + FletcherSetting = Bows + PoleturnerSetting = Pikes + SellResource01 = None + SellResource02 = Hop + SellResource03 = None + SellResource04 = None + SellResource05 = Wheat + SellResource06 = Beer + SellResource07 = Flour + SellResource08 = None + SellResource09 = Crossbows + SellResource10 = Spears + SellResource11 = None + SellResource12 = Maces + SellResource13 = None + SellResource14 = LeatherArmors + SellResource15 = None + DefWallPatrolRallyTime = 8 + DefWallPatrolGroups = 4 + DefSiegeEngineGoldThreshold = 200 + DefSiegeEngineBuildDelay = 2 + Unknown072 = 100 + Unknown073 = 20 + RecruitProbDefDefault = 30 + RecruitProbDefWeak = 90 + RecruitProbDefStrong = 10 + RecruitProbRaidDefault = 0 + RecruitProbRaidWeak = 0 + RecruitProbRaidStrong = 0 + RecruitProbAttackDefault = 70 + RecruitProbAttackWeak = 10 + RecruitProbAttackStrong = 90 + SortieUnitRangedMin = 6 + SortieUnitRanged = EuropArcher + SortieUnitMeleeMin = 6 + SortieUnitMelee = Pikeman + DefDiggingUnitMax = 0 + DefDiggingUnit = Pikeman + RecruitInterval = 1 + RecruitIntervalWeak = 1 + RecruitIntervalStrong = 1 + DefTotal = 40 + OuterPatrolGroupsCount = 2 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 5 + DefWalls = 20 + DefUnit1 = EuropArcher + DefUnit2 = EuropArcher + DefUnit3 = Pikeman + DefUnit4 = None + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 10 + RaidUnitsRandom = 4 + RaidUnit1 = EuropArcher + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 2 + Unknown124 = 5 + AttForceBase = 20 + AttForceRandom = 5 + AttForceSupportAllyThreshold = 10 + AttForceRallyPercentage = 10 + Unknown129 = 100 + Unknown130 = 20 + Unknown131 = 2 + Unknown132 = 10 + SiegeEngine1 = Catapult + SiegeEngine2 = Catapult + SiegeEngine3 = Catapult + SiegeEngine4 = BatteringRam + SiegeEngine5 = Trebuchet + SiegeEngine6 = Trebuchet + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 10000 + Unknown142 = 0 + AttMaxEngineers = 16 + AttDiggingUnit = Pikeman + AttDiggingUnitMax = 6 + AttUnit2 = None + AttUnit2Max = 0 + AttMaxAssassins = 0 + AttMaxLaddermen = 0 + AttMaxTunnelers = 3 + AttUnitPatrol = None + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = EuropArcher + AttUnitBackupMax = 20 + RangedBackupGroupsCount = 2 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = Swordsman + AttUnitSiegeDefMax = 4 + Unknown161 = 2 + AttUnitMain1 = Swordsman + AttUnitMain2 = Pikeman + AttUnitMain3 = Pikeman + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 3 + TargetChoice = Closest + } +} + +AICharacter +{ + Index = 9 + Name = Frederick + Personality + { + Unknown000 = 13 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 1 + Unknown005 = 1 + CriticalPopularity = 4000 + LowestPopularity = 5500 + HighestPopularity = 9000 + TaxesMin = 3 + TaxesMax = 10 + Unknown011 = 12 + Farm1 = DairyFarm + Farm2 = AppleFarm + Farm3 = HopFarm + Farm4 = None + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 4 + PopulationPerWoodcutter = 7 + PopulationPerQuarry = 12 + PopulationPerIronmine = 10 + PopulationPerPitchrig = 0 + MaxQuarries = 4 + MaxIronmines = 5 + MaxWoodcutters = 12 + MaxPitchrigs = 1 + MaxFarms = 12 + BuildInterval = 4 + ResourceRebuildDelay = 30 + MaxFood = 200 + MinimumApples = 5 + MinimumCheese = 5 + MinimumBread = -1 + MinimumWheat = -1 + MinimumHop = -1 + TradeAmountFood = 10 + TradeAmountEquipment = 2 + Unknown040 = 22 + MinimumGoodsRequiredAfterTrade = 10 + DoubleRationsFoodThreshold = 40 + MaxWood = 60 + MaxStone = 60 + MaxResourceOther = 15 + MaxEquipment = 20 + MaxBeer = 10 + MaxResourceVariance = 4 + RecruitGoldThreshold = 200 + BlacksmithSetting = Swords + FletcherSetting = Both + PoleturnerSetting = Pikes + SellResource01 = None + SellResource02 = None + SellResource03 = None + SellResource04 = Pitch + SellResource05 = Wheat + SellResource06 = None + SellResource07 = Flour + SellResource08 = None + SellResource09 = None + SellResource10 = Spears + SellResource11 = Pikes + SellResource12 = Maces + SellResource13 = None + SellResource14 = None + SellResource15 = None + DefWallPatrolRallyTime = 8 + DefWallPatrolGroups = 2 + DefSiegeEngineGoldThreshold = 200 + DefSiegeEngineBuildDelay = 2 + Unknown072 = 100 + Unknown073 = 20 + RecruitProbDefDefault = 50 + RecruitProbDefWeak = 100 + RecruitProbDefStrong = 20 + RecruitProbRaidDefault = 20 + RecruitProbRaidWeak = 0 + RecruitProbRaidStrong = 30 + RecruitProbAttackDefault = 30 + RecruitProbAttackWeak = 0 + RecruitProbAttackStrong = 50 + SortieUnitRangedMin = 12 + SortieUnitRanged = EuropArcher + SortieUnitMeleeMin = 4 + SortieUnitMelee = Swordsman + DefDiggingUnitMax = 10 + DefDiggingUnit = EuropArcher + RecruitInterval = 4 + RecruitIntervalWeak = 1 + RecruitIntervalStrong = 4 + DefTotal = 80 + OuterPatrolGroupsCount = 2 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 10 + DefWalls = 50 + DefUnit1 = EuropArcher + DefUnit2 = EuropArcher + DefUnit3 = Crossbowman + DefUnit4 = None + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 4 + RaidUnitsRandom = 0 + RaidUnit1 = Knight + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 2 + Unknown124 = 6 + AttForceBase = 30 + AttForceRandom = 4 + AttForceSupportAllyThreshold = 20 + AttForceRallyPercentage = 50 + Unknown129 = 100 + Unknown130 = 20 + Unknown131 = 5 + Unknown132 = 50 + SiegeEngine1 = Trebuchet + SiegeEngine2 = Trebuchet + SiegeEngine3 = Trebuchet + SiegeEngine4 = Trebuchet + SiegeEngine5 = Trebuchet + SiegeEngine6 = Trebuchet + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 10000 + Unknown142 = 0 + AttMaxEngineers = 18 + AttDiggingUnit = EuropArcher + AttDiggingUnitMax = 20 + AttUnit2 = None + AttUnit2Max = 0 + AttMaxAssassins = 0 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = Crossbowman + AttUnitPatrolMax = 20 + AttUnitPatrolGroupsCount = 1 + AttUnitBackup = EuropArcher + AttUnitBackupMax = 30 + RangedBackupGroupsCount = 2 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = Crossbowman + AttUnitSiegeDefMax = 10 + Unknown161 = 1 + AttUnitMain1 = Swordsman + AttUnitMain2 = Swordsman + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 4 + TargetChoice = Gold + } +} + +AICharacter +{ + Index = 10 + Name = Philipp + Personality + { + Unknown000 = 13 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 1 + Unknown005 = 1 + CriticalPopularity = 4000 + LowestPopularity = 5000 + HighestPopularity = 8000 + TaxesMin = 2 + TaxesMax = 10 + Unknown011 = 10 + Farm1 = AppleFarm + Farm2 = AppleFarm + Farm3 = None + Farm4 = None + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 5 + PopulationPerWoodcutter = 7 + PopulationPerQuarry = 0 + PopulationPerIronmine = 7 + PopulationPerPitchrig = 0 + MaxQuarries = 1 + MaxIronmines = 3 + MaxWoodcutters = 10 + MaxPitchrigs = 1 + MaxFarms = 8 + BuildInterval = 4 + ResourceRebuildDelay = 60 + MaxFood = 100 + MinimumApples = 10 + MinimumCheese = 10 + MinimumBread = 10 + MinimumWheat = -1 + MinimumHop = -1 + TradeAmountFood = 10 + TradeAmountEquipment = 2 + Unknown040 = 12 + MinimumGoodsRequiredAfterTrade = 10 + DoubleRationsFoodThreshold = 50 + MaxWood = 60 + MaxStone = 60 + MaxResourceOther = 15 + MaxEquipment = 6 + MaxBeer = 10 + MaxResourceVariance = 4 + RecruitGoldThreshold = 200 + BlacksmithSetting = Swords + FletcherSetting = Bows + PoleturnerSetting = Spears + SellResource01 = None + SellResource02 = Hop + SellResource03 = None + SellResource04 = Pitch + SellResource05 = Wheat + SellResource06 = Beer + SellResource07 = Flour + SellResource08 = None + SellResource09 = Crossbows + SellResource10 = None + SellResource11 = Pikes + SellResource12 = Maces + SellResource13 = None + SellResource14 = LeatherArmors + SellResource15 = None + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 3 + DefSiegeEngineGoldThreshold = 100 + DefSiegeEngineBuildDelay = 4 + Unknown072 = 200 + Unknown073 = 20 + RecruitProbDefDefault = 40 + RecruitProbDefWeak = 70 + RecruitProbDefStrong = 20 + RecruitProbRaidDefault = 40 + RecruitProbRaidWeak = 20 + RecruitProbRaidStrong = 20 + RecruitProbAttackDefault = 20 + RecruitProbAttackWeak = 10 + RecruitProbAttackStrong = 60 + SortieUnitRangedMin = 2 + SortieUnitRanged = EuropArcher + SortieUnitMeleeMin = 20 + SortieUnitMelee = Spearman + DefDiggingUnitMax = 4 + DefDiggingUnit = Spearman + RecruitInterval = 4 + RecruitIntervalWeak = 4 + RecruitIntervalStrong = 4 + DefTotal = 30 + OuterPatrolGroupsCount = 4 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 2 + DefWalls = 20 + DefUnit1 = Knight + DefUnit2 = EuropArcher + DefUnit3 = EuropArcher + DefUnit4 = EuropArcher + DefUnit5 = EuropArcher + DefUnit6 = EuropArcher + DefUnit7 = EuropArcher + DefUnit8 = EuropArcher + RaidUnitsBase = 4 + RaidUnitsRandom = 4 + RaidUnit1 = Knight + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 1 + Unknown124 = 4 + AttForceBase = 10 + AttForceRandom = 20 + AttForceSupportAllyThreshold = 40 + AttForceRallyPercentage = 40 + Unknown129 = 100 + Unknown130 = 0 + Unknown131 = 5 + Unknown132 = 70 + SiegeEngine1 = None + SiegeEngine2 = None + SiegeEngine3 = None + SiegeEngine4 = None + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 10000 + Unknown142 = 0 + AttMaxEngineers = 0 + AttDiggingUnit = Spearman + AttDiggingUnitMax = 60 + AttUnit2 = None + AttUnit2Max = 24 + AttMaxAssassins = 0 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = None + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = None + AttUnitBackupMax = 0 + RangedBackupGroupsCount = 0 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = None + AttUnitSiegeDefMax = 0 + Unknown161 = 0 + AttUnitMain1 = Spearman + AttUnitMain2 = Spearman + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 2 + TargetChoice = Balanced + } +} + +AICharacter +{ + Index = 11 + Name = Wazir + Personality + { + Unknown000 = 10 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 1 + Unknown005 = 1 + CriticalPopularity = 4500 + LowestPopularity = 5000 + HighestPopularity = 8000 + TaxesMin = 2 + TaxesMax = 12 + Unknown011 = 10 + Farm1 = WheatFarm + Farm2 = None + Farm3 = None + Farm4 = None + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 5 + PopulationPerWoodcutter = 7 + PopulationPerQuarry = 6 + PopulationPerIronmine = 12 + PopulationPerPitchrig = 6 + MaxQuarries = 3 + MaxIronmines = 1 + MaxWoodcutters = 10 + MaxPitchrigs = 4 + MaxFarms = 8 + BuildInterval = 3 + ResourceRebuildDelay = 50 + MaxFood = 100 + MinimumApples = -1 + MinimumCheese = -1 + MinimumBread = 10 + MinimumWheat = 5 + MinimumHop = -1 + TradeAmountFood = 10 + TradeAmountEquipment = 0 + Unknown040 = 22 + MinimumGoodsRequiredAfterTrade = 30 + DoubleRationsFoodThreshold = 50 + MaxWood = 60 + MaxStone = 40 + MaxResourceOther = 10 + MaxEquipment = 4 + MaxBeer = 10 + MaxResourceVariance = 4 + RecruitGoldThreshold = 100 + BlacksmithSetting = Swords + FletcherSetting = Bows + PoleturnerSetting = Spears + SellResource01 = None + SellResource02 = Hop + SellResource03 = Iron + SellResource04 = None + SellResource05 = None + SellResource06 = Beer + SellResource07 = None + SellResource08 = Bows + SellResource09 = Crossbows + SellResource10 = Spears + SellResource11 = Pikes + SellResource12 = Maces + SellResource13 = Swords + SellResource14 = LeatherArmors + SellResource15 = IronArmors + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 3 + DefSiegeEngineGoldThreshold = 100 + DefSiegeEngineBuildDelay = 4 + Unknown072 = 200 + Unknown073 = 20 + RecruitProbDefDefault = 30 + RecruitProbDefWeak = 70 + RecruitProbDefStrong = 20 + RecruitProbRaidDefault = 20 + RecruitProbRaidWeak = 0 + RecruitProbRaidStrong = 20 + RecruitProbAttackDefault = 50 + RecruitProbAttackWeak = 30 + RecruitProbAttackStrong = 60 + SortieUnitRangedMin = 6 + SortieUnitRanged = HorseArcher + SortieUnitMeleeMin = 10 + SortieUnitMelee = ArabSwordsman + DefDiggingUnitMax = 4 + DefDiggingUnit = Slave + RecruitInterval = 1 + RecruitIntervalWeak = 1 + RecruitIntervalStrong = 1 + DefTotal = 40 + OuterPatrolGroupsCount = 1 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 2 + DefWalls = 40 + DefUnit1 = ArabArcher + DefUnit2 = FireThrower + DefUnit3 = None + DefUnit4 = None + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 30 + RaidUnitsRandom = 10 + RaidUnit1 = HorseArcher + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = FireBallista + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 4 + Unknown124 = 4 + AttForceBase = 40 + AttForceRandom = 5 + AttForceSupportAllyThreshold = 30 + AttForceRallyPercentage = 80 + Unknown129 = 100 + Unknown130 = 4 + Unknown131 = 5 + Unknown132 = 90 + SiegeEngine1 = Trebuchet + SiegeEngine2 = FireBallista + SiegeEngine3 = FireBallista + SiegeEngine4 = FireBallista + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 10000 + Unknown142 = 0 + AttMaxEngineers = 9 + AttDiggingUnit = Slave + AttDiggingUnitMax = 15 + AttUnit2 = None + AttUnit2Max = 0 + AttMaxAssassins = 0 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = None + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = HorseArcher + AttUnitBackupMax = 80 + RangedBackupGroupsCount = 1 + AttUnitEngage = FireThrower + AttUnitEngageMax = 10 + AttUnitSiegeDef = None + AttUnitSiegeDefMax = 0 + Unknown161 = 0 + AttUnitMain1 = ArabSwordsman + AttUnitMain2 = None + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 2 + TargetChoice = Balanced + } +} + +AICharacter +{ + Index = 12 + Name = Emir + Personality + { + Unknown000 = 10 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 1 + Unknown005 = 1 + CriticalPopularity = 4500 + LowestPopularity = 5000 + HighestPopularity = 9000 + TaxesMin = 2 + TaxesMax = 12 + Unknown011 = 10 + Farm1 = WheatFarm + Farm2 = AppleFarm + Farm3 = WheatFarm + Farm4 = HopFarm + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 4 + PopulationPerWoodcutter = 7 + PopulationPerQuarry = 6 + PopulationPerIronmine = 10 + PopulationPerPitchrig = 0 + MaxQuarries = 4 + MaxIronmines = 3 + MaxWoodcutters = 10 + MaxPitchrigs = 1 + MaxFarms = 16 + BuildInterval = 2 + ResourceRebuildDelay = 40 + MaxFood = 80 + MinimumApples = 10 + MinimumCheese = -1 + MinimumBread = -1 + MinimumWheat = 2 + MinimumHop = 2 + TradeAmountFood = 10 + TradeAmountEquipment = 2 + Unknown040 = 12 + MinimumGoodsRequiredAfterTrade = 10 + DoubleRationsFoodThreshold = 40 + MaxWood = 60 + MaxStone = 60 + MaxResourceOther = 10 + MaxEquipment = 4 + MaxBeer = 10 + MaxResourceVariance = 4 + RecruitGoldThreshold = 200 + BlacksmithSetting = Swords + FletcherSetting = Bows + PoleturnerSetting = Spears + SellResource01 = None + SellResource02 = None + SellResource03 = None + SellResource04 = None + SellResource05 = None + SellResource06 = None + SellResource07 = None + SellResource08 = None + SellResource09 = Crossbows + SellResource10 = Spears + SellResource11 = Pikes + SellResource12 = Maces + SellResource13 = Swords + SellResource14 = LeatherArmors + SellResource15 = IronArmors + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 3 + DefSiegeEngineGoldThreshold = 100 + DefSiegeEngineBuildDelay = 4 + Unknown072 = 200 + Unknown073 = 20 + RecruitProbDefDefault = 40 + RecruitProbDefWeak = 80 + RecruitProbDefStrong = 20 + RecruitProbRaidDefault = 20 + RecruitProbRaidWeak = 10 + RecruitProbRaidStrong = 30 + RecruitProbAttackDefault = 40 + RecruitProbAttackWeak = 10 + RecruitProbAttackStrong = 50 + SortieUnitRangedMin = 4 + SortieUnitRanged = ArabArcher + SortieUnitMeleeMin = 20 + SortieUnitMelee = ArabSwordsman + DefDiggingUnitMax = 4 + DefDiggingUnit = EuropArcher + RecruitInterval = 0 + RecruitIntervalWeak = 1 + RecruitIntervalStrong = 0 + DefTotal = 50 + OuterPatrolGroupsCount = 1 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 2 + DefWalls = 50 + DefUnit1 = EuropArcher + DefUnit2 = ArabArcher + DefUnit3 = None + DefUnit4 = None + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 30 + RaidUnitsRandom = 10 + RaidUnit1 = ArabSwordsman + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = Catapult + HarassingSiegeEngine3 = FireBallista + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 3 + Unknown124 = 4 + AttForceBase = 30 + AttForceRandom = 10 + AttForceSupportAllyThreshold = 20 + AttForceRallyPercentage = 80 + Unknown129 = 100 + Unknown130 = 0 + Unknown131 = 5 + Unknown132 = 80 + SiegeEngine1 = Catapult + SiegeEngine2 = Catapult + SiegeEngine3 = TowerBallista + SiegeEngine4 = None + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 10000 + Unknown142 = 0 + AttMaxEngineers = 6 + AttDiggingUnit = EuropArcher + AttDiggingUnitMax = 15 + AttUnit2 = None + AttUnit2Max = 0 + AttMaxAssassins = 0 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = None + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = HorseArcher + AttUnitBackupMax = 80 + RangedBackupGroupsCount = 1 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = None + AttUnitSiegeDefMax = 0 + Unknown161 = 0 + AttUnitMain1 = ArabSwordsman + AttUnitMain2 = None + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 2 + TargetChoice = Gold + } +} + +AICharacter +{ + Index = 13 + Name = Nizar + Personality + { + Unknown000 = 10 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 1 + Unknown005 = 1 + CriticalPopularity = 4500 + LowestPopularity = 5000 + HighestPopularity = 9000 + TaxesMin = 2 + TaxesMax = 12 + Unknown011 = 10 + Farm1 = WheatFarm + Farm2 = WheatFarm + Farm3 = WheatFarm + Farm4 = HopFarm + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 3 + PopulationPerWoodcutter = 7 + PopulationPerQuarry = 20 + PopulationPerIronmine = 10 + PopulationPerPitchrig = 15 + MaxQuarries = 1 + MaxIronmines = 2 + MaxWoodcutters = 12 + MaxPitchrigs = 1 + MaxFarms = 16 + BuildInterval = 1 + ResourceRebuildDelay = 20 + MaxFood = 100 + MinimumApples = -1 + MinimumCheese = -1 + MinimumBread = 10 + MinimumWheat = 5 + MinimumHop = 5 + TradeAmountFood = 10 + TradeAmountEquipment = 0 + Unknown040 = 12 + MinimumGoodsRequiredAfterTrade = 30 + DoubleRationsFoodThreshold = 30 + MaxWood = 50 + MaxStone = 40 + MaxResourceOther = 10 + MaxEquipment = 4 + MaxBeer = 10 + MaxResourceVariance = 4 + RecruitGoldThreshold = 100 + BlacksmithSetting = Swords + FletcherSetting = Bows + PoleturnerSetting = Spears + SellResource01 = None + SellResource02 = None + SellResource03 = Iron + SellResource04 = None + SellResource05 = None + SellResource06 = None + SellResource07 = None + SellResource08 = Bows + SellResource09 = Crossbows + SellResource10 = Spears + SellResource11 = Pikes + SellResource12 = Maces + SellResource13 = Swords + SellResource14 = LeatherArmors + SellResource15 = IronArmors + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 3 + DefSiegeEngineGoldThreshold = 100 + DefSiegeEngineBuildDelay = 4 + Unknown072 = 200 + Unknown073 = 20 + RecruitProbDefDefault = 50 + RecruitProbDefWeak = 80 + RecruitProbDefStrong = 20 + RecruitProbRaidDefault = 20 + RecruitProbRaidWeak = 0 + RecruitProbRaidStrong = 30 + RecruitProbAttackDefault = 30 + RecruitProbAttackWeak = 20 + RecruitProbAttackStrong = 50 + SortieUnitRangedMin = 5 + SortieUnitRanged = ArabArcher + SortieUnitMeleeMin = 15 + SortieUnitMelee = ArabArcher + DefDiggingUnitMax = 60 + DefDiggingUnit = Slave + RecruitInterval = 4 + RecruitIntervalWeak = 8 + RecruitIntervalStrong = 1 + DefTotal = 80 + OuterPatrolGroupsCount = 1 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 2 + DefWalls = 80 + DefUnit1 = ArabArcher + DefUnit2 = None + DefUnit3 = None + DefUnit4 = None + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 5 + RaidUnitsRandom = 5 + RaidUnit1 = Assassin + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 0 + Unknown124 = 4 + AttForceBase = 40 + AttForceRandom = 0 + AttForceSupportAllyThreshold = 10 + AttForceRallyPercentage = 50 + Unknown129 = 100 + Unknown130 = 0 + Unknown131 = 5 + Unknown132 = 50 + SiegeEngine1 = Catapult + SiegeEngine2 = None + SiegeEngine3 = None + SiegeEngine4 = None + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 10000 + Unknown142 = 0 + AttMaxEngineers = 0 + AttDiggingUnit = Slave + AttDiggingUnitMax = 20 + AttUnit2 = None + AttUnit2Max = 0 + AttMaxAssassins = 40 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = None + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = HorseArcher + AttUnitBackupMax = 0 + RangedBackupGroupsCount = 0 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = None + AttUnitSiegeDefMax = 0 + Unknown161 = 0 + AttUnitMain1 = Assassin + AttUnitMain2 = None + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 4 + TargetChoice = Closest + } +} + +AICharacter +{ + Index = 14 + Name = Sheriff + Personality + { + Unknown000 = 13 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 1 + Unknown005 = 1 + CriticalPopularity = 4000 + LowestPopularity = 6000 + HighestPopularity = 9000 + TaxesMin = 3 + TaxesMax = 11 + Unknown011 = 10 + Farm1 = AppleFarm + Farm2 = HopFarm + Farm3 = DairyFarm + Farm4 = None + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 4 + PopulationPerWoodcutter = 7 + PopulationPerQuarry = 10 + PopulationPerIronmine = 12 + PopulationPerPitchrig = 15 + MaxQuarries = 3 + MaxIronmines = 6 + MaxWoodcutters = 10 + MaxPitchrigs = 4 + MaxFarms = 10 + BuildInterval = 3 + ResourceRebuildDelay = 8 + MaxFood = 300 + MinimumApples = 20 + MinimumCheese = 20 + MinimumBread = -1 + MinimumWheat = -1 + MinimumHop = 2 + TradeAmountFood = 10 + TradeAmountEquipment = 2 + Unknown040 = 40 + MinimumGoodsRequiredAfterTrade = 40 + DoubleRationsFoodThreshold = 40 + MaxWood = 50 + MaxStone = 50 + MaxResourceOther = 10 + MaxEquipment = 10 + MaxBeer = 10 + MaxResourceVariance = 5 + RecruitGoldThreshold = 200 + BlacksmithSetting = Maces + FletcherSetting = Crossbows + PoleturnerSetting = Pikes + SellResource01 = None + SellResource02 = None + SellResource03 = None + SellResource04 = None + SellResource05 = Wheat + SellResource06 = None + SellResource07 = Flour + SellResource08 = Bows + SellResource09 = None + SellResource10 = Spears + SellResource11 = Pikes + SellResource12 = None + SellResource13 = Swords + SellResource14 = None + SellResource15 = IronArmors + DefWallPatrolRallyTime = 8 + DefWallPatrolGroups = 2 + DefSiegeEngineGoldThreshold = 200 + DefSiegeEngineBuildDelay = 4 + Unknown072 = 200 + Unknown073 = 30 + RecruitProbDefDefault = 50 + RecruitProbDefWeak = 100 + RecruitProbDefStrong = 30 + RecruitProbRaidDefault = 30 + RecruitProbRaidWeak = 0 + RecruitProbRaidStrong = 50 + RecruitProbAttackDefault = 20 + RecruitProbAttackWeak = 0 + RecruitProbAttackStrong = 20 + SortieUnitRangedMin = 10 + SortieUnitRanged = Crossbowman + SortieUnitMeleeMin = 10 + SortieUnitMelee = Maceman + DefDiggingUnitMax = 4 + DefDiggingUnit = Maceman + RecruitInterval = 4 + RecruitIntervalWeak = 1 + RecruitIntervalStrong = 4 + DefTotal = 50 + OuterPatrolGroupsCount = 1 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 5 + DefWalls = 40 + DefUnit1 = Crossbowman + DefUnit2 = Crossbowman + DefUnit3 = Crossbowman + DefUnit4 = FireThrower + DefUnit5 = Assassin + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 10 + RaidUnitsRandom = 4 + RaidUnit1 = Maceman + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = FireBallista + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 5 + Unknown124 = 4 + AttForceBase = 50 + AttForceRandom = 20 + AttForceSupportAllyThreshold = 50 + AttForceRallyPercentage = 80 + Unknown129 = 100 + Unknown130 = 5 + Unknown131 = 8 + Unknown132 = 50 + SiegeEngine1 = Catapult + SiegeEngine2 = Catapult + SiegeEngine3 = FireBallista + SiegeEngine4 = FireBallista + SiegeEngine5 = FireBallista + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 6 + Unknown142 = 0 + AttMaxEngineers = 10 + AttDiggingUnit = Slave + AttDiggingUnitMax = 80 + AttUnit2 = Maceman + AttUnit2Max = 10 + AttMaxAssassins = 10 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = FireThrower + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = Crossbowman + AttUnitBackupMax = 50 + RangedBackupGroupsCount = 1 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = Maceman + AttUnitSiegeDefMax = 6 + Unknown161 = 1 + AttUnitMain1 = Maceman + AttUnitMain2 = Maceman + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 3 + TargetChoice = Closest + } +} + +AICharacter +{ + Index = 15 + Name = Marshal + Personality + { + Unknown000 = 13 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 1 + Unknown005 = 1 + CriticalPopularity = 4000 + LowestPopularity = 5000 + HighestPopularity = 8000 + TaxesMin = 2 + TaxesMax = 10 + Unknown011 = 10 + Farm1 = DairyFarm + Farm2 = HopFarm + Farm3 = DairyFarm + Farm4 = DairyFarm + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 5 + PopulationPerWoodcutter = 7 + PopulationPerQuarry = 7 + PopulationPerIronmine = 7 + PopulationPerPitchrig = 0 + MaxQuarries = 1 + MaxIronmines = 3 + MaxWoodcutters = 8 + MaxPitchrigs = 1 + MaxFarms = 9 + BuildInterval = 3 + ResourceRebuildDelay = 40 + MaxFood = 100 + MinimumApples = 10 + MinimumCheese = 10 + MinimumBread = -1 + MinimumWheat = -1 + MinimumHop = 5 + TradeAmountFood = 10 + TradeAmountEquipment = 2 + Unknown040 = 12 + MinimumGoodsRequiredAfterTrade = 0 + DoubleRationsFoodThreshold = 80 + MaxWood = 60 + MaxStone = 50 + MaxResourceOther = 12 + MaxEquipment = 10 + MaxBeer = 6 + MaxResourceVariance = 4 + RecruitGoldThreshold = 200 + BlacksmithSetting = Swords + FletcherSetting = Bows + PoleturnerSetting = Spears + SellResource01 = None + SellResource02 = None + SellResource03 = None + SellResource04 = Pitch + SellResource05 = Wheat + SellResource06 = None + SellResource07 = Flour + SellResource08 = None + SellResource09 = Crossbows + SellResource10 = Spears + SellResource11 = Pikes + SellResource12 = Maces + SellResource13 = None + SellResource14 = LeatherArmors + SellResource15 = None + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 3 + DefSiegeEngineGoldThreshold = 100 + DefSiegeEngineBuildDelay = 4 + Unknown072 = 200 + Unknown073 = 20 + RecruitProbDefDefault = 30 + RecruitProbDefWeak = 50 + RecruitProbDefStrong = 20 + RecruitProbRaidDefault = 40 + RecruitProbRaidWeak = 40 + RecruitProbRaidStrong = 30 + RecruitProbAttackDefault = 30 + RecruitProbAttackWeak = 10 + RecruitProbAttackStrong = 50 + SortieUnitRangedMin = 4 + SortieUnitRanged = EuropArcher + SortieUnitMeleeMin = 4 + SortieUnitMelee = Knight + DefDiggingUnitMax = 4 + DefDiggingUnit = EuropArcher + RecruitInterval = 1 + RecruitIntervalWeak = 1 + RecruitIntervalStrong = 4 + DefTotal = 40 + OuterPatrolGroupsCount = 1 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 2 + DefWalls = 30 + DefUnit1 = EuropArcher + DefUnit2 = None + DefUnit3 = None + DefUnit4 = None + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 16 + RaidUnitsRandom = 4 + RaidUnit1 = Knight + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 1 + Unknown124 = 4 + AttForceBase = 10 + AttForceRandom = 20 + AttForceSupportAllyThreshold = 10 + AttForceRallyPercentage = 50 + Unknown129 = 100 + Unknown130 = 0 + Unknown131 = 5 + Unknown132 = 70 + SiegeEngine1 = Trebuchet + SiegeEngine2 = Trebuchet + SiegeEngine3 = None + SiegeEngine4 = None + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 10000 + Unknown142 = 0 + AttMaxEngineers = 6 + AttDiggingUnit = EuropArcher + AttDiggingUnitMax = 20 + AttUnit2 = None + AttUnit2Max = 0 + AttMaxAssassins = 0 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = None + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = EuropArcher + AttUnitBackupMax = 30 + RangedBackupGroupsCount = 3 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = None + AttUnitSiegeDefMax = 0 + Unknown161 = 0 + AttUnitMain1 = Swordsman + AttUnitMain2 = None + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 2 + TargetChoice = Balanced + } +} + +AICharacter +{ + Index = 16 + Name = Abbot + Personality + { + Unknown000 = 13 + Unknown001 = 0 + Unknown002 = 0 + Unknown003 = 0 + Unknown004 = 1 + Unknown005 = 1 + CriticalPopularity = 4500 + LowestPopularity = 5000 + HighestPopularity = 9000 + TaxesMin = 2 + TaxesMax = 12 + Unknown011 = 10 + Farm1 = HopFarm + Farm2 = WheatFarm + Farm3 = WheatFarm + Farm4 = None + Farm5 = None + Farm6 = None + Farm7 = None + Farm8 = None + PopulationPerFarm = 4 + PopulationPerWoodcutter = 7 + PopulationPerQuarry = 6 + PopulationPerIronmine = 10 + PopulationPerPitchrig = 0 + MaxQuarries = 4 + MaxIronmines = 2 + MaxWoodcutters = 10 + MaxPitchrigs = 0 + MaxFarms = 12 + BuildInterval = 2 + ResourceRebuildDelay = 40 + MaxFood = 100 + MinimumApples = 10 + MinimumCheese = -1 + MinimumBread = -1 + MinimumWheat = 2 + MinimumHop = 2 + TradeAmountFood = 5 + TradeAmountEquipment = 2 + Unknown040 = 12 + MinimumGoodsRequiredAfterTrade = 10 + DoubleRationsFoodThreshold = 40 + MaxWood = 60 + MaxStone = 40 + MaxResourceOther = 10 + MaxEquipment = 4 + MaxBeer = 5 + MaxResourceVariance = 4 + RecruitGoldThreshold = 50 + BlacksmithSetting = Swords + FletcherSetting = Bows + PoleturnerSetting = Spears + SellResource01 = None + SellResource02 = None + SellResource03 = Iron + SellResource04 = None + SellResource05 = None + SellResource06 = None + SellResource07 = None + SellResource08 = None + SellResource09 = Crossbows + SellResource10 = Spears + SellResource11 = Pikes + SellResource12 = Maces + SellResource13 = Swords + SellResource14 = LeatherArmors + SellResource15 = IronArmors + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 3 + DefSiegeEngineGoldThreshold = 100 + DefSiegeEngineBuildDelay = 4 + Unknown072 = 200 + Unknown073 = 20 + RecruitProbDefDefault = 40 + RecruitProbDefWeak = 80 + RecruitProbDefStrong = 20 + RecruitProbRaidDefault = 20 + RecruitProbRaidWeak = 10 + RecruitProbRaidStrong = 30 + RecruitProbAttackDefault = 40 + RecruitProbAttackWeak = 10 + RecruitProbAttackStrong = 50 + SortieUnitRangedMin = 4 + SortieUnitRanged = EuropArcher + SortieUnitMeleeMin = 20 + SortieUnitMelee = Monk + DefDiggingUnitMax = 4 + DefDiggingUnit = EuropArcher + RecruitInterval = 1 + RecruitIntervalWeak = 1 + RecruitIntervalStrong = 1 + DefTotal = 30 + OuterPatrolGroupsCount = 1 + OuterPatrolGroupsMove = True + OuterPatrolRallyDelay = 2 + DefWalls = 30 + DefUnit1 = EuropArcher + DefUnit2 = None + DefUnit3 = None + DefUnit4 = None + DefUnit5 = None + DefUnit6 = None + DefUnit7 = None + DefUnit8 = None + RaidUnitsBase = 30 + RaidUnitsRandom = 10 + RaidUnit1 = Monk + RaidUnit2 = None + RaidUnit3 = None + RaidUnit4 = None + RaidUnit5 = None + RaidUnit6 = None + RaidUnit7 = None + RaidUnit8 = None + HarassingSiegeEngine1 = Catapult + HarassingSiegeEngine2 = None + HarassingSiegeEngine3 = None + HarassingSiegeEngine4 = None + HarassingSiegeEngine5 = None + HarassingSiegeEngine6 = None + HarassingSiegeEngine7 = None + HarassingSiegeEngine8 = None + HarassingSiegeEnginesMax = 5 + Unknown124 = 4 + AttForceBase = 50 + AttForceRandom = 10 + AttForceSupportAllyThreshold = 40 + AttForceRallyPercentage = 80 + Unknown129 = 100 + Unknown130 = 0 + Unknown131 = 5 + Unknown132 = 80 + SiegeEngine1 = Catapult + SiegeEngine2 = Catapult + SiegeEngine3 = Catapult + SiegeEngine4 = Catapult + SiegeEngine5 = None + SiegeEngine6 = None + SiegeEngine7 = None + SiegeEngine8 = None + CowThrowInterval = 10000 + Unknown142 = 0 + AttMaxEngineers = 8 + AttDiggingUnit = EuropArcher + AttDiggingUnitMax = 10 + AttUnit2 = None + AttUnit2Max = 0 + AttMaxAssassins = 0 + AttMaxLaddermen = 0 + AttMaxTunnelers = 0 + AttUnitPatrol = None + AttUnitPatrolMax = 0 + AttUnitPatrolGroupsCount = 0 + AttUnitBackup = EuropArcher + AttUnitBackupMax = 40 + RangedBackupGroupsCount = 1 + AttUnitEngage = None + AttUnitEngageMax = 0 + AttUnitSiegeDef = None + AttUnitSiegeDefMax = 0 + Unknown161 = 0 + AttUnitMain1 = Monk + AttUnitMain2 = None + AttUnitMain3 = None + AttUnitMain4 = None + AttMaxDefault = 200 + AttMainGroupsCount = 2 + TargetChoice = Balanced + } +} + diff --git a/UnofficialCrusaderPatch/AICs/vanilla.aic b/UnofficialCrusaderPatch/AICs/vanilla.aic index ff7a5253..8f503857 100644 --- a/UnofficialCrusaderPatch/AICs/vanilla.aic +++ b/UnofficialCrusaderPatch/AICs/vanilla.aic @@ -22,8 +22,8 @@ AICharacter CriticalPopularity: Int32, Values range from 0 to 10000, where 100 popularity equals 10000. Below this value, the AI sells more stuff than usual to get money. LowestPopularity: Int32, Below this value the AI sets taxes to zero until it reaches 'HighestPopularity' again. HighestPopularity: Int32, Above this value the AI sets taxes back up - Unknown009: Int32 - Unknown010: Int32 + TaxesMin: Int32, Ranging from 0 (being +7 gifts) to 11 (being -24 taxes) + TaxesMax: Int32, Ranging from 0 (being +7 gifts) to 11 (being -24 taxes) Unknown011: Int32 Farm1: FarmBuilding, An array of farm slots, which the AI builds in the given sequence. Farm2: FarmBuilding @@ -38,28 +38,28 @@ AICharacter PopulationPerQuarry: Int32 PopulationPerIronmine: Int32 PopulationPerPitchrig: Int32 - MaxQuarries: Int32 - MaxIronmines: Int32 - MaxWoodcutters: Int32 - MaxPitchrigs: Int32 - MaxFarms: Int32, The maximum amount of farms the AI builds. HopFarms are excluded from this! (Also check PopulationPerFarm) + MaxQuarries: Int32, Setting this to zero will not disable building! Set PopulationPerQuarry to zero instead! + MaxIronmines: Int32, Setting this to zero will not disable building! Set PopulationPerIronmine to zero instead! + MaxWoodcutters: Int32, Setting this to zero will not disable building! Set PopulationPerWoodcutter to zero instead! + MaxPitchrigs: Int32, Setting this to zero will not disable building! Set PopulationPerPitchrig to zero instead! + MaxFarms: Int32, Setting this to zero will not disable building! Set PopulationPerFarm to zero instead! BuildInterval: Int32, This is only considered <= 5000 gold ResourceRebuildDelay: Int32, The delay before the AI rebuilds destroyed buildings. - MaxFood: Int32, includes flour? - MinimumApples: Int32 - MinimumCheese: Int32 - MinimumBread: Int32 + MaxFood: Int32, Includes wheat. Applies to each kind of food. + MinimumApples: Int32, Reserves that are only consumed if current popularity < LowestPopularity. If the AI has less than this amount it will prioritize buying the missing food. + MinimumCheese: Int32, Reserves that are only consumed if current popularity < LowestPopularity. If the AI has less than this amount it will prioritize buying the missing food. + MinimumBread: Int32, Reserves that are only consumed if current popularity < LowestPopularity. If the AI has less than this amount it will prioritize buying the missing food. MinimumWheat: Int32 - MinimumHop: Int32, unclear + MinimumHop: Int32, Unclear TradeAmountFood: Int32 TradeAmountEquipment: Int32 Unknown040: Int32 - Unknown041: Int32 - Unknown042: Int32 + MinimumGoodsRequiredAfterTrade: Int32, If the AI would have less than this amount of a good after sending them it won't send them to the requesting player. + DoubleRationsFoodThreshold: Int32, Above this value of food the AI will give double rations out. MaxWood: Int32 MaxStone: Int32 MaxResourceOther: Int32 - MaxEquipment: Int32 + MaxEquipment: Int32, Applies to each type of weapon or armour. MaxBeer: Int32 MaxResourceVariance: Int32, added to all max resource values? RecruitGoldThreshold: Int32, A (gold) threshold which disables any recruitment of all units except for raiding and sortie until it is met. @@ -81,13 +81,13 @@ AICharacter SellResource13: Resource SellResource14: Resource SellResource15: Resource - Unknown068: Int32 - Unknown069: Int32 + DefWallPatrolRallyTime: Int32, The amount of time for castle patrols set up in the AIV to move from one rally point to the next. (Remark: Only spearmen, horse archers and macemen currently do) + DefWallPatrolGroups: Int32 DefSiegeEngineGoldThreshold: Int32, This one makes no sense. In code: [if (Gold + Threshold > 30) then RecruitEngineer()], maybe it was supposed to be minus... DefSiegeEngineBuildDelay: Int32, The delay before the AI builds its first defensive siege engine. Unknown072: Int32 Unknown073: Int32 - RecruitProbDefDefault: Int32, The probability with which this AI reinforces missing defense troops. + RecruitProbDefDefault: Int32, The probability with which this AI reinforces missing defense troops. Note: These are ignored at the beginning of the game, as there are only sortie and defensive units being recruited. RecruitProbDefWeak: Int32 RecruitProbDefStrong: Int32 RecruitProbRaidDefault: Int32 @@ -96,10 +96,10 @@ AICharacter RecruitProbAttackDefault: Int32 RecruitProbAttackWeak: Int32 RecruitProbAttackStrong: Int32 - SortieUnitRangedMax: Int32 - SortieUnitRanged: Unit, Type of ranged units that go to the last attacked farm or building, and guard it until another is attacked. - SortieUnitMeleeMax: Int32 - SortieUnitMelee: Unit, Type of melee units to attack enemy units shooting at the AI's buildings or workers. + SortieUnitRangedMin: Int32, These units are only sent out if more than this amout of them has already been recruited. + SortieUnitRanged: Unit, Type of ranged units that go to the last attacked farm or building, and guard it until another is attacked. Setting it to None may cause buggy recruitment behavior. + SortieUnitMeleeMin: Int32, These units are only sent out if more than this amout of them has already been recruited. + SortieUnitMelee: Unit, Type of melee units to attack enemy units shooting at the AI's buildings or workers. Setting it to None may cause buggy recruitment behavior. DefDiggingUnitMax: Int32, Amount of units that dig own moat. DefDiggingUnit: DiggingUnit, Type of unit to dig own moat. RecruitInterval: Int32 @@ -108,7 +108,7 @@ AICharacter DefTotal: Int32, The total count of all defensive units (wall defense + patrols). OuterPatrolGroupsCount: Int32, The number of groups the patrols defending the outer economy split into. OuterPatrolGroupsMove: Boolean, Whether the patrols stay at one place (quarry) or move around. - Unknown095: Int32 + OuterPatrolRallyDelay: Int32, The delay after which the AI sends out patrols to defend the outer economy. 4 is approximately one month, 24 being half a year. DefWalls: Int32 DefUnit1: Unit DefUnit2: Unit @@ -140,11 +140,11 @@ AICharacter Unknown124: Int32 AttForceBase: Int32, The base amount of troops with which this AI attacks AttForceRandom: Int32, The maximum random amount of additional troops in an attack (this is not the amount by which the troops increase per attack!) - AttForceRallyDistanceRandom: Int32, The distance variance an AI will add to the default rally distance for sieges. + AttForceSupportAllyThreshold: Int32, If the AI has more than this amount of units in the attack force, it will help their allies or siege an enemy if commanded to do so. AttForceRallyPercentage: Int32, The %-amount of units of the attack force that the AI will rally before attacking. (0 - 100) Unknown129: Int32 - AttForceCasualtiesPercentageBeforeAssault: Int32, The %-amount of (siege engines? engineers? laddermen? tunnelers? siege def?) that need to be destroyed / killed before the main units attack. - AttForceSuccessRallyPercentage: Int32, The %-amount of units of the attack force that will rally (at the bested enemy's keep location) before retreating or attacking again. + Unknown130: Int32 + Unknown131: Int32 Unknown132: Int32 SiegeEngine1: SiegeEngine SiegeEngine2: SiegeEngine @@ -154,10 +154,10 @@ AICharacter SiegeEngine6: SiegeEngine SiegeEngine7: SiegeEngine SiegeEngine8: SiegeEngine - Unknown141: Int32 + CowThrowInterval: Int32, The amount of stones needed to be thrown until the AI throws a diseased cow instead (catapults & trebuchets). Value 0 disables cows and -1 makes the AI not throw any bolders, only cows. Unknown142: Int32 AttMaxEngineers: Int32 - AttDiggingUnit: DiggingUnit, This unit is only recruited if the target enemy has moat and used preferably to dig enemy moat. + AttDiggingUnit: DiggingUnit, This unit is only recruited if the target enemy has moat and used preferably to fill up enemy moat. AttDiggingUnitMax: Int32 AttUnit2: Unit AttUnit2Max: Int32 @@ -175,7 +175,7 @@ AICharacter AttUnitSiegeDef: Unit, These units patrol between siege engines in order to protect them. AttUnitSiegeDefMax: Int32 Unknown161: Int32 - AttUnitMain1: Unit, AttUntiMain1 to AttUnitMain4 is a list of the main strike force the AI recruits for sieges. Priotizes in order of the list, but only recruits untis for which they have enough gold. So try to place expensive units higher up. + AttUnitMain1: Unit, AttUntiMain1 to AttUnitMain4 is a list of the main strike force the AI recruits for sieges. Priotizes in order of the list, but only recruits units for which they have enough gold. So try to place expensive units higher up. AttUnitMain2: Unit AttUnitMain3: Unit AttUnitMain4: Unit @@ -201,8 +201,8 @@ AICharacter CriticalPopularity = 4000 LowestPopularity = 5500 HighestPopularity = 7500 - Unknown009 = 3 - Unknown010 = 10 + TaxesMin = 3 + TaxesMax = 10 Unknown011 = 20 Farm1 = AppleFarm Farm2 = None @@ -233,8 +233,8 @@ AICharacter TradeAmountFood = 10 TradeAmountEquipment = 2 Unknown040 = 18 - Unknown041 = 0 - Unknown042 = 0 + MinimumGoodsRequiredAfterTrade = 0 + DoubleRationsFoodThreshold = 0 MaxWood = 30 MaxStone = 40 MaxResourceOther = 20 @@ -260,8 +260,8 @@ AICharacter SellResource13 = Swords SellResource14 = LeatherArmors SellResource15 = IronArmors - Unknown068 = 20 - Unknown069 = 1 + DefWallPatrolRallyTime = 20 + DefWallPatrolGroups = 1 DefSiegeEngineGoldThreshold = 200 DefSiegeEngineBuildDelay = 20 Unknown072 = 800 @@ -275,9 +275,9 @@ AICharacter RecruitProbAttackDefault = 50 RecruitProbAttackWeak = 0 RecruitProbAttackStrong = 100 - SortieUnitRangedMax = 5 + SortieUnitRangedMin = 5 SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 6 + SortieUnitMeleeMin = 6 SortieUnitMelee = Spearman DefDiggingUnitMax = 0 DefDiggingUnit = Spearman @@ -287,7 +287,7 @@ AICharacter DefTotal = 30 OuterPatrolGroupsCount = 1 OuterPatrolGroupsMove = False - Unknown095 = 10 + OuterPatrolRallyDelay = 10 DefWalls = 20 DefUnit1 = Spearman DefUnit2 = Spearman @@ -319,11 +319,11 @@ AICharacter Unknown124 = 3 AttForceBase = 20 AttForceRandom = 10 - AttForceRallyDistanceRandom = 15 + AttForceSupportAllyThreshold = 15 AttForceRallyPercentage = 50 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 25 + Unknown130 = 0 + Unknown131 = 25 Unknown132 = 20 SiegeEngine1 = None SiegeEngine2 = None @@ -333,7 +333,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 1000 + CowThrowInterval = 1000 Unknown142 = 0 AttMaxEngineers = 0 AttDiggingUnit = Spearman @@ -379,8 +379,8 @@ AICharacter CriticalPopularity = 4000 LowestPopularity = 5000 HighestPopularity = 8000 - Unknown009 = 3 - Unknown010 = 11 + TaxesMin = 3 + TaxesMax = 11 Unknown011 = 15 Farm1 = AppleFarm Farm2 = None @@ -411,8 +411,8 @@ AICharacter TradeAmountFood = 5 TradeAmountEquipment = 6 Unknown040 = 12 - Unknown041 = 10 - Unknown042 = 80 + MinimumGoodsRequiredAfterTrade = 10 + DoubleRationsFoodThreshold = 80 MaxWood = 48 MaxStone = 40 MaxResourceOther = 15 @@ -438,8 +438,8 @@ AICharacter SellResource13 = Swords SellResource14 = LeatherArmors SellResource15 = IronArmors - Unknown068 = 2 - Unknown069 = 4 + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 4 DefSiegeEngineGoldThreshold = 500 DefSiegeEngineBuildDelay = 20 Unknown072 = 400 @@ -453,9 +453,9 @@ AICharacter RecruitProbAttackDefault = 30 RecruitProbAttackWeak = 0 RecruitProbAttackStrong = 40 - SortieUnitRangedMax = 2 + SortieUnitRangedMin = 2 SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 8 + SortieUnitMeleeMin = 8 SortieUnitMelee = Spearman DefDiggingUnitMax = 20 DefDiggingUnit = Spearman @@ -465,7 +465,7 @@ AICharacter DefTotal = 80 OuterPatrolGroupsCount = 3 OuterPatrolGroupsMove = True - Unknown095 = 2 + OuterPatrolRallyDelay = 2 DefWalls = 50 DefUnit1 = EuropArcher DefUnit2 = None @@ -497,11 +497,11 @@ AICharacter Unknown124 = 3 AttForceBase = 30 AttForceRandom = 10 - AttForceRallyDistanceRandom = 30 + AttForceSupportAllyThreshold = 30 AttForceRallyPercentage = 50 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 25 + Unknown130 = 0 + Unknown131 = 25 Unknown132 = 40 SiegeEngine1 = Catapult SiegeEngine2 = None @@ -511,7 +511,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 1000 + CowThrowInterval = 1000 Unknown142 = 0 AttMaxEngineers = 2 AttDiggingUnit = Spearman @@ -557,8 +557,8 @@ AICharacter CriticalPopularity = 5000 LowestPopularity = 7000 HighestPopularity = 8500 - Unknown009 = 3 - Unknown010 = 11 + TaxesMin = 3 + TaxesMax = 11 Unknown011 = 20 Farm1 = DairyFarm Farm2 = None @@ -589,8 +589,8 @@ AICharacter TradeAmountFood = 5 TradeAmountEquipment = 4 Unknown040 = 12 - Unknown041 = 100 - Unknown042 = 60 + MinimumGoodsRequiredAfterTrade = 100 + DoubleRationsFoodThreshold = 60 MaxWood = 70 MaxStone = 40 MaxResourceOther = 10 @@ -616,8 +616,8 @@ AICharacter SellResource13 = Swords SellResource14 = None SellResource15 = IronArmors - Unknown068 = 10 - Unknown069 = 4 + DefWallPatrolRallyTime = 10 + DefWallPatrolGroups = 4 DefSiegeEngineGoldThreshold = 100 DefSiegeEngineBuildDelay = 20 Unknown072 = 200 @@ -631,9 +631,9 @@ AICharacter RecruitProbAttackDefault = 40 RecruitProbAttackWeak = 0 RecruitProbAttackStrong = 70 - SortieUnitRangedMax = 4 + SortieUnitRangedMin = 4 SortieUnitRanged = Crossbowman - SortieUnitMeleeMax = 5 + SortieUnitMeleeMin = 5 SortieUnitMelee = Maceman DefDiggingUnitMax = 0 DefDiggingUnit = Spearman @@ -643,7 +643,7 @@ AICharacter DefTotal = 40 OuterPatrolGroupsCount = 2 OuterPatrolGroupsMove = True - Unknown095 = 20 + OuterPatrolRallyDelay = 20 DefWalls = 30 DefUnit1 = Crossbowman DefUnit2 = Crossbowman @@ -675,11 +675,11 @@ AICharacter Unknown124 = 3 AttForceBase = 10 AttForceRandom = 10 - AttForceRallyDistanceRandom = 10 + AttForceSupportAllyThreshold = 10 AttForceRallyPercentage = 60 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 5 - AttForceSuccessRallyPercentage = 15 + Unknown130 = 5 + Unknown131 = 15 Unknown132 = 20 SiegeEngine1 = Catapult SiegeEngine2 = Catapult @@ -689,7 +689,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 30 + CowThrowInterval = 30 Unknown142 = 0 AttMaxEngineers = 10 AttDiggingUnit = Maceman @@ -735,8 +735,8 @@ AICharacter CriticalPopularity = 4500 LowestPopularity = 6000 HighestPopularity = 9000 - Unknown009 = 3 - Unknown010 = 11 + TaxesMin = 3 + TaxesMax = 11 Unknown011 = 12 Farm1 = DairyFarm Farm2 = AppleFarm @@ -767,8 +767,8 @@ AICharacter TradeAmountFood = 10 TradeAmountEquipment = 4 Unknown040 = 20 - Unknown041 = 40 - Unknown042 = 30 + MinimumGoodsRequiredAfterTrade = 40 + DoubleRationsFoodThreshold = 30 MaxWood = 60 MaxStone = 50 MaxResourceOther = 10 @@ -794,8 +794,8 @@ AICharacter SellResource13 = None SellResource14 = None SellResource15 = None - Unknown068 = 4 - Unknown069 = 3 + DefWallPatrolRallyTime = 4 + DefWallPatrolGroups = 3 DefSiegeEngineGoldThreshold = 250 DefSiegeEngineBuildDelay = 2 Unknown072 = 100 @@ -809,9 +809,9 @@ AICharacter RecruitProbAttackDefault = 10 RecruitProbAttackWeak = 0 RecruitProbAttackStrong = 60 - SortieUnitRangedMax = 8 + SortieUnitRangedMin = 8 SortieUnitRanged = ArabArcher - SortieUnitMeleeMax = 6 + SortieUnitMeleeMin = 6 SortieUnitMelee = Pikeman DefDiggingUnitMax = 8 DefDiggingUnit = Pikeman @@ -821,7 +821,7 @@ AICharacter DefTotal = 100 OuterPatrolGroupsCount = 4 OuterPatrolGroupsMove = True - Unknown095 = 3 + OuterPatrolRallyDelay = 3 DefWalls = 80 DefUnit1 = Crossbowman DefUnit2 = Crossbowman @@ -853,11 +853,11 @@ AICharacter Unknown124 = 5 AttForceBase = 40 AttForceRandom = 15 - AttForceRallyDistanceRandom = 30 + AttForceSupportAllyThreshold = 30 AttForceRallyPercentage = 80 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 12 - AttForceSuccessRallyPercentage = 5 + Unknown130 = 12 + Unknown131 = 5 Unknown132 = 50 SiegeEngine1 = Catapult SiegeEngine2 = Trebuchet @@ -867,7 +867,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 8 + CowThrowInterval = 8 Unknown142 = 0 AttMaxEngineers = 12 AttDiggingUnit = Pikeman @@ -913,8 +913,8 @@ AICharacter CriticalPopularity = 4000 LowestPopularity = 5000 HighestPopularity = 8000 - Unknown009 = 3 - Unknown010 = 12 + TaxesMin = 3 + TaxesMax = 12 Unknown011 = 20 Farm1 = HopFarm Farm2 = WheatFarm @@ -945,8 +945,8 @@ AICharacter TradeAmountFood = 10 TradeAmountEquipment = 0 Unknown040 = 40 - Unknown041 = 20 - Unknown042 = 20 + MinimumGoodsRequiredAfterTrade = 20 + DoubleRationsFoodThreshold = 20 MaxWood = 60 MaxStone = 50 MaxResourceOther = 10 @@ -972,8 +972,8 @@ AICharacter SellResource13 = None SellResource14 = LeatherArmors SellResource15 = None - Unknown068 = 3 - Unknown069 = 4 + DefWallPatrolRallyTime = 3 + DefWallPatrolGroups = 4 DefSiegeEngineGoldThreshold = 20 DefSiegeEngineBuildDelay = 8 Unknown072 = 100 @@ -987,9 +987,9 @@ AICharacter RecruitProbAttackDefault = 33 RecruitProbAttackWeak = 0 RecruitProbAttackStrong = 50 - SortieUnitRangedMax = 10 + SortieUnitRangedMin = 10 SortieUnitRanged = ArabArcher - SortieUnitMeleeMax = 7 + SortieUnitMeleeMin = 7 SortieUnitMelee = ArabSwordsman DefDiggingUnitMax = 4 DefDiggingUnit = Slave @@ -999,7 +999,7 @@ AICharacter DefTotal = 70 OuterPatrolGroupsCount = 2 OuterPatrolGroupsMove = True - Unknown095 = 10 + OuterPatrolRallyDelay = 10 DefWalls = 50 DefUnit1 = ArabSwordsman DefUnit2 = ArabArcher @@ -1031,11 +1031,11 @@ AICharacter Unknown124 = 3 AttForceBase = 50 AttForceRandom = 10 - AttForceRallyDistanceRandom = 8 + AttForceSupportAllyThreshold = 8 AttForceRallyPercentage = 80 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 4 - AttForceSuccessRallyPercentage = 1 + Unknown130 = 4 + Unknown131 = 1 Unknown132 = 60 SiegeEngine1 = FireBallista SiegeEngine2 = FireBallista @@ -1045,7 +1045,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 2000 + CowThrowInterval = 2000 Unknown142 = 0 AttMaxEngineers = 10 AttDiggingUnit = Slave @@ -1091,8 +1091,8 @@ AICharacter CriticalPopularity = 4000 LowestPopularity = 5000 HighestPopularity = 9000 - Unknown009 = 3 - Unknown010 = 12 + TaxesMin = 3 + TaxesMax = 12 Unknown011 = 12 Farm1 = AppleFarm Farm2 = HopFarm @@ -1123,8 +1123,8 @@ AICharacter TradeAmountFood = 10 TradeAmountEquipment = 0 Unknown040 = 12 - Unknown041 = 50 - Unknown042 = 50 + MinimumGoodsRequiredAfterTrade = 50 + DoubleRationsFoodThreshold = 50 MaxWood = 50 MaxStone = 50 MaxResourceOther = 10 @@ -1150,8 +1150,8 @@ AICharacter SellResource13 = Swords SellResource14 = LeatherArmors SellResource15 = IronArmors - Unknown068 = 5 - Unknown069 = 2 + DefWallPatrolRallyTime = 5 + DefWallPatrolGroups = 2 DefSiegeEngineGoldThreshold = 120 DefSiegeEngineBuildDelay = 8 Unknown072 = 100 @@ -1165,9 +1165,9 @@ AICharacter RecruitProbAttackDefault = 20 RecruitProbAttackWeak = 0 RecruitProbAttackStrong = 30 - SortieUnitRangedMax = 7 + SortieUnitRangedMin = 7 SortieUnitRanged = ArabArcher - SortieUnitMeleeMax = 5 + SortieUnitMeleeMin = 5 SortieUnitMelee = ArabSwordsman DefDiggingUnitMax = 4 DefDiggingUnit = Slave @@ -1177,7 +1177,7 @@ AICharacter DefTotal = 60 OuterPatrolGroupsCount = 2 OuterPatrolGroupsMove = True - Unknown095 = 10 + OuterPatrolRallyDelay = 10 DefWalls = 60 DefUnit1 = FireThrower DefUnit2 = ArabArcher @@ -1209,11 +1209,11 @@ AICharacter Unknown124 = 3 AttForceBase = 15 AttForceRandom = 10 - AttForceRallyDistanceRandom = 70 + AttForceSupportAllyThreshold = 70 AttForceRallyPercentage = 100 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 2 - AttForceSuccessRallyPercentage = 10 + Unknown130 = 2 + Unknown131 = 10 Unknown132 = 50 SiegeEngine1 = FireBallista SiegeEngine2 = FireBallista @@ -1223,7 +1223,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 7 + CowThrowInterval = 7 Unknown142 = 0 AttMaxEngineers = 6 AttDiggingUnit = Slave @@ -1269,8 +1269,8 @@ AICharacter CriticalPopularity = 5000 LowestPopularity = 6000 HighestPopularity = 9000 - Unknown009 = 1 - Unknown010 = 8 + TaxesMin = 1 + TaxesMax = 8 Unknown011 = 20 Farm1 = None Farm2 = None @@ -1301,8 +1301,8 @@ AICharacter TradeAmountFood = 10 TradeAmountEquipment = 0 Unknown040 = 30 - Unknown041 = 0 - Unknown042 = 0 + MinimumGoodsRequiredAfterTrade = 0 + DoubleRationsFoodThreshold = 0 MaxWood = 30 MaxStone = 20 MaxResourceOther = 10 @@ -1328,8 +1328,8 @@ AICharacter SellResource13 = Swords SellResource14 = LeatherArmors SellResource15 = IronArmors - Unknown068 = 10 - Unknown069 = 2 + DefWallPatrolRallyTime = 10 + DefWallPatrolGroups = 2 DefSiegeEngineGoldThreshold = 200 DefSiegeEngineBuildDelay = 20 Unknown072 = 800 @@ -1343,9 +1343,9 @@ AICharacter RecruitProbAttackDefault = 30 RecruitProbAttackWeak = 20 RecruitProbAttackStrong = 40 - SortieUnitRangedMax = 0 + SortieUnitRangedMin = 0 SortieUnitRanged = Slinger - SortieUnitMeleeMax = 3 + SortieUnitMeleeMin = 3 SortieUnitMelee = ArabSwordsman DefDiggingUnitMax = 2 DefDiggingUnit = Slave @@ -1355,7 +1355,7 @@ AICharacter DefTotal = 50 OuterPatrolGroupsCount = 1 OuterPatrolGroupsMove = False - Unknown095 = 10 + OuterPatrolRallyDelay = 10 DefWalls = 40 DefUnit1 = Slinger DefUnit2 = Slinger @@ -1387,11 +1387,11 @@ AICharacter Unknown124 = 3 AttForceBase = 10 AttForceRandom = 20 - AttForceRallyDistanceRandom = 5 + AttForceSupportAllyThreshold = 5 AttForceRallyPercentage = 30 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 40 + Unknown130 = 0 + Unknown131 = 40 Unknown132 = 20 SiegeEngine1 = None SiegeEngine2 = None @@ -1401,7 +1401,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 10000 + CowThrowInterval = 10000 Unknown142 = 0 AttMaxEngineers = 0 AttDiggingUnit = None @@ -1447,8 +1447,8 @@ AICharacter CriticalPopularity = 4000 LowestPopularity = 5000 HighestPopularity = 8000 - Unknown009 = 3 - Unknown010 = 10 + TaxesMin = 3 + TaxesMax = 10 Unknown011 = 12 Farm1 = DairyFarm Farm2 = AppleFarm @@ -1479,8 +1479,8 @@ AICharacter TradeAmountFood = 5 TradeAmountEquipment = 2 Unknown040 = 22 - Unknown041 = 10 - Unknown042 = 40 + MinimumGoodsRequiredAfterTrade = 10 + DoubleRationsFoodThreshold = 40 MaxWood = 50 MaxStone = 60 MaxResourceOther = 10 @@ -1506,8 +1506,8 @@ AICharacter SellResource13 = None SellResource14 = LeatherArmors SellResource15 = None - Unknown068 = 8 - Unknown069 = 4 + DefWallPatrolRallyTime = 8 + DefWallPatrolGroups = 4 DefSiegeEngineGoldThreshold = 200 DefSiegeEngineBuildDelay = 2 Unknown072 = 100 @@ -1521,9 +1521,9 @@ AICharacter RecruitProbAttackDefault = 70 RecruitProbAttackWeak = 10 RecruitProbAttackStrong = 90 - SortieUnitRangedMax = 6 + SortieUnitRangedMin = 6 SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 6 + SortieUnitMeleeMin = 6 SortieUnitMelee = Pikeman DefDiggingUnitMax = 0 DefDiggingUnit = Pikeman @@ -1533,7 +1533,7 @@ AICharacter DefTotal = 40 OuterPatrolGroupsCount = 2 OuterPatrolGroupsMove = True - Unknown095 = 5 + OuterPatrolRallyDelay = 5 DefWalls = 20 DefUnit1 = EuropArcher DefUnit2 = EuropArcher @@ -1565,11 +1565,11 @@ AICharacter Unknown124 = 5 AttForceBase = 20 AttForceRandom = 5 - AttForceRallyDistanceRandom = 10 + AttForceSupportAllyThreshold = 10 AttForceRallyPercentage = 10 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 20 - AttForceSuccessRallyPercentage = 2 + Unknown130 = 20 + Unknown131 = 2 Unknown132 = 10 SiegeEngine1 = Catapult SiegeEngine2 = Catapult @@ -1579,7 +1579,7 @@ AICharacter SiegeEngine6 = Trebuchet SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 10000 + CowThrowInterval = 10000 Unknown142 = 0 AttMaxEngineers = 16 AttDiggingUnit = Pikeman @@ -1625,8 +1625,8 @@ AICharacter CriticalPopularity = 4000 LowestPopularity = 5500 HighestPopularity = 9000 - Unknown009 = 3 - Unknown010 = 10 + TaxesMin = 3 + TaxesMax = 10 Unknown011 = 12 Farm1 = DairyFarm Farm2 = AppleFarm @@ -1657,8 +1657,8 @@ AICharacter TradeAmountFood = 10 TradeAmountEquipment = 0 Unknown040 = 22 - Unknown041 = 10 - Unknown042 = 40 + MinimumGoodsRequiredAfterTrade = 10 + DoubleRationsFoodThreshold = 40 MaxWood = 60 MaxStone = 60 MaxResourceOther = 15 @@ -1684,8 +1684,8 @@ AICharacter SellResource13 = None SellResource14 = None SellResource15 = None - Unknown068 = 8 - Unknown069 = 2 + DefWallPatrolRallyTime = 8 + DefWallPatrolGroups = 2 DefSiegeEngineGoldThreshold = 200 DefSiegeEngineBuildDelay = 2 Unknown072 = 100 @@ -1699,9 +1699,9 @@ AICharacter RecruitProbAttackDefault = 30 RecruitProbAttackWeak = 0 RecruitProbAttackStrong = 50 - SortieUnitRangedMax = 12 + SortieUnitRangedMin = 12 SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 4 + SortieUnitMeleeMin = 4 SortieUnitMelee = Swordsman DefDiggingUnitMax = 10 DefDiggingUnit = EuropArcher @@ -1711,7 +1711,7 @@ AICharacter DefTotal = 80 OuterPatrolGroupsCount = 2 OuterPatrolGroupsMove = True - Unknown095 = 10 + OuterPatrolRallyDelay = 10 DefWalls = 50 DefUnit1 = EuropArcher DefUnit2 = EuropArcher @@ -1743,11 +1743,11 @@ AICharacter Unknown124 = 6 AttForceBase = 30 AttForceRandom = 4 - AttForceRallyDistanceRandom = 20 + AttForceSupportAllyThreshold = 20 AttForceRallyPercentage = 50 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 20 - AttForceSuccessRallyPercentage = 5 + Unknown130 = 20 + Unknown131 = 5 Unknown132 = 50 SiegeEngine1 = Trebuchet SiegeEngine2 = Trebuchet @@ -1757,7 +1757,7 @@ AICharacter SiegeEngine6 = Trebuchet SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 10000 + CowThrowInterval = 10000 Unknown142 = 0 AttMaxEngineers = 18 AttDiggingUnit = EuropArcher @@ -1803,8 +1803,8 @@ AICharacter CriticalPopularity = 4000 LowestPopularity = 5000 HighestPopularity = 8000 - Unknown009 = 2 - Unknown010 = 10 + TaxesMin = 2 + TaxesMax = 10 Unknown011 = 10 Farm1 = AppleFarm Farm2 = AppleFarm @@ -1835,8 +1835,8 @@ AICharacter TradeAmountFood = 20 TradeAmountEquipment = 2 Unknown040 = 12 - Unknown041 = 10 - Unknown042 = 50 + MinimumGoodsRequiredAfterTrade = 10 + DoubleRationsFoodThreshold = 50 MaxWood = 60 MaxStone = 60 MaxResourceOther = 15 @@ -1862,8 +1862,8 @@ AICharacter SellResource13 = None SellResource14 = LeatherArmors SellResource15 = None - Unknown068 = 2 - Unknown069 = 3 + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 3 DefSiegeEngineGoldThreshold = 100 DefSiegeEngineBuildDelay = 4 Unknown072 = 200 @@ -1877,9 +1877,9 @@ AICharacter RecruitProbAttackDefault = 20 RecruitProbAttackWeak = 10 RecruitProbAttackStrong = 60 - SortieUnitRangedMax = 2 + SortieUnitRangedMin = 2 SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 20 + SortieUnitMeleeMin = 20 SortieUnitMelee = Spearman DefDiggingUnitMax = 4 DefDiggingUnit = Spearman @@ -1889,7 +1889,7 @@ AICharacter DefTotal = 20 OuterPatrolGroupsCount = 4 OuterPatrolGroupsMove = True - Unknown095 = 2 + OuterPatrolRallyDelay = 2 DefWalls = 4 DefUnit1 = Knight DefUnit2 = EuropArcher @@ -1921,11 +1921,11 @@ AICharacter Unknown124 = 4 AttForceBase = 10 AttForceRandom = 20 - AttForceRallyDistanceRandom = 40 + AttForceSupportAllyThreshold = 40 AttForceRallyPercentage = 40 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 5 + Unknown130 = 0 + Unknown131 = 5 Unknown132 = 70 SiegeEngine1 = None SiegeEngine2 = None @@ -1935,7 +1935,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 10000 + CowThrowInterval = 10000 Unknown142 = 0 AttMaxEngineers = 0 AttDiggingUnit = Spearman @@ -1981,8 +1981,8 @@ AICharacter CriticalPopularity = 4500 LowestPopularity = 5000 HighestPopularity = 8000 - Unknown009 = 2 - Unknown010 = 12 + TaxesMin = 2 + TaxesMax = 12 Unknown011 = 10 Farm1 = WheatFarm Farm2 = None @@ -2013,8 +2013,8 @@ AICharacter TradeAmountFood = 20 TradeAmountEquipment = 0 Unknown040 = 22 - Unknown041 = 30 - Unknown042 = 50 + MinimumGoodsRequiredAfterTrade = 30 + DoubleRationsFoodThreshold = 50 MaxWood = 60 MaxStone = 40 MaxResourceOther = 10 @@ -2040,8 +2040,8 @@ AICharacter SellResource13 = Swords SellResource14 = LeatherArmors SellResource15 = IronArmors - Unknown068 = 2 - Unknown069 = 3 + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 3 DefSiegeEngineGoldThreshold = 100 DefSiegeEngineBuildDelay = 4 Unknown072 = 200 @@ -2055,9 +2055,9 @@ AICharacter RecruitProbAttackDefault = 50 RecruitProbAttackWeak = 30 RecruitProbAttackStrong = 60 - SortieUnitRangedMax = 6 + SortieUnitRangedMin = 6 SortieUnitRanged = HorseArcher - SortieUnitMeleeMax = 10 + SortieUnitMeleeMin = 10 SortieUnitMelee = ArabSwordsman DefDiggingUnitMax = 4 DefDiggingUnit = Slave @@ -2067,7 +2067,7 @@ AICharacter DefTotal = 40 OuterPatrolGroupsCount = 1 OuterPatrolGroupsMove = True - Unknown095 = 2 + OuterPatrolRallyDelay = 2 DefWalls = 40 DefUnit1 = ArabArcher DefUnit2 = FireThrower @@ -2099,11 +2099,11 @@ AICharacter Unknown124 = 4 AttForceBase = 40 AttForceRandom = 5 - AttForceRallyDistanceRandom = 30 + AttForceSupportAllyThreshold = 30 AttForceRallyPercentage = 80 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 4 - AttForceSuccessRallyPercentage = 5 + Unknown130 = 4 + Unknown131 = 5 Unknown132 = 90 SiegeEngine1 = Trebuchet SiegeEngine2 = FireBallista @@ -2113,7 +2113,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 10000 + CowThrowInterval = 10000 Unknown142 = 0 AttMaxEngineers = 9 AttDiggingUnit = Slave @@ -2159,8 +2159,8 @@ AICharacter CriticalPopularity = 4500 LowestPopularity = 5000 HighestPopularity = 9000 - Unknown009 = 2 - Unknown010 = 12 + TaxesMin = 2 + TaxesMax = 12 Unknown011 = 10 Farm1 = WheatFarm Farm2 = AppleFarm @@ -2191,8 +2191,8 @@ AICharacter TradeAmountFood = 20 TradeAmountEquipment = 0 Unknown040 = 12 - Unknown041 = 10 - Unknown042 = 40 + MinimumGoodsRequiredAfterTrade = 10 + DoubleRationsFoodThreshold = 40 MaxWood = 60 MaxStone = 60 MaxResourceOther = 10 @@ -2218,8 +2218,8 @@ AICharacter SellResource13 = Swords SellResource14 = LeatherArmors SellResource15 = IronArmors - Unknown068 = 2 - Unknown069 = 3 + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 3 DefSiegeEngineGoldThreshold = 100 DefSiegeEngineBuildDelay = 4 Unknown072 = 200 @@ -2233,9 +2233,9 @@ AICharacter RecruitProbAttackDefault = 40 RecruitProbAttackWeak = 10 RecruitProbAttackStrong = 50 - SortieUnitRangedMax = 4 + SortieUnitRangedMin = 4 SortieUnitRanged = ArabArcher - SortieUnitMeleeMax = 20 + SortieUnitMeleeMin = 20 SortieUnitMelee = ArabSwordsman DefDiggingUnitMax = 4 DefDiggingUnit = EuropArcher @@ -2245,7 +2245,7 @@ AICharacter DefTotal = 50 OuterPatrolGroupsCount = 1 OuterPatrolGroupsMove = True - Unknown095 = 2 + OuterPatrolRallyDelay = 2 DefWalls = 50 DefUnit1 = EuropArcher DefUnit2 = ArabArcher @@ -2277,11 +2277,11 @@ AICharacter Unknown124 = 4 AttForceBase = 30 AttForceRandom = 10 - AttForceRallyDistanceRandom = 20 + AttForceSupportAllyThreshold = 20 AttForceRallyPercentage = 80 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 5 + Unknown130 = 0 + Unknown131 = 5 Unknown132 = 80 SiegeEngine1 = Catapult SiegeEngine2 = Catapult @@ -2291,7 +2291,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 10000 + CowThrowInterval = 10000 Unknown142 = 0 AttMaxEngineers = 6 AttDiggingUnit = EuropArcher @@ -2337,8 +2337,8 @@ AICharacter CriticalPopularity = 4500 LowestPopularity = 5000 HighestPopularity = 9000 - Unknown009 = 2 - Unknown010 = 12 + TaxesMin = 2 + TaxesMax = 12 Unknown011 = 10 Farm1 = WheatFarm Farm2 = WheatFarm @@ -2369,8 +2369,8 @@ AICharacter TradeAmountFood = 10 TradeAmountEquipment = 0 Unknown040 = 12 - Unknown041 = 30 - Unknown042 = 30 + MinimumGoodsRequiredAfterTrade = 30 + DoubleRationsFoodThreshold = 30 MaxWood = 50 MaxStone = 40 MaxResourceOther = 10 @@ -2396,8 +2396,8 @@ AICharacter SellResource13 = Swords SellResource14 = LeatherArmors SellResource15 = IronArmors - Unknown068 = 2 - Unknown069 = 3 + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 3 DefSiegeEngineGoldThreshold = 100 DefSiegeEngineBuildDelay = 4 Unknown072 = 200 @@ -2411,9 +2411,9 @@ AICharacter RecruitProbAttackDefault = 30 RecruitProbAttackWeak = 20 RecruitProbAttackStrong = 50 - SortieUnitRangedMax = 5 + SortieUnitRangedMin = 5 SortieUnitRanged = ArabArcher - SortieUnitMeleeMax = 15 + SortieUnitMeleeMin = 15 SortieUnitMelee = ArabArcher DefDiggingUnitMax = 60 DefDiggingUnit = Slave @@ -2423,7 +2423,7 @@ AICharacter DefTotal = 80 OuterPatrolGroupsCount = 1 OuterPatrolGroupsMove = True - Unknown095 = 2 + OuterPatrolRallyDelay = 2 DefWalls = 80 DefUnit1 = ArabArcher DefUnit2 = None @@ -2455,11 +2455,11 @@ AICharacter Unknown124 = 4 AttForceBase = 40 AttForceRandom = 0 - AttForceRallyDistanceRandom = 10 + AttForceSupportAllyThreshold = 10 AttForceRallyPercentage = 50 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 5 + Unknown130 = 0 + Unknown131 = 5 Unknown132 = 50 SiegeEngine1 = Catapult SiegeEngine2 = None @@ -2469,7 +2469,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 10000 + CowThrowInterval = 10000 Unknown142 = 0 AttMaxEngineers = 0 AttDiggingUnit = Slave @@ -2515,8 +2515,8 @@ AICharacter CriticalPopularity = 4000 LowestPopularity = 6000 HighestPopularity = 9000 - Unknown009 = 3 - Unknown010 = 11 + TaxesMin = 3 + TaxesMax = 11 Unknown011 = 10 Farm1 = AppleFarm Farm2 = HopFarm @@ -2547,8 +2547,8 @@ AICharacter TradeAmountFood = 10 TradeAmountEquipment = 2 Unknown040 = 40 - Unknown041 = 40 - Unknown042 = 40 + MinimumGoodsRequiredAfterTrade = 40 + DoubleRationsFoodThreshold = 40 MaxWood = 50 MaxStone = 50 MaxResourceOther = 10 @@ -2574,8 +2574,8 @@ AICharacter SellResource13 = Swords SellResource14 = None SellResource15 = IronArmors - Unknown068 = 8 - Unknown069 = 2 + DefWallPatrolRallyTime = 8 + DefWallPatrolGroups = 2 DefSiegeEngineGoldThreshold = 200 DefSiegeEngineBuildDelay = 4 Unknown072 = 200 @@ -2589,9 +2589,9 @@ AICharacter RecruitProbAttackDefault = 20 RecruitProbAttackWeak = 0 RecruitProbAttackStrong = 20 - SortieUnitRangedMax = 10 + SortieUnitRangedMin = 10 SortieUnitRanged = Crossbowman - SortieUnitMeleeMax = 10 + SortieUnitMeleeMin = 10 SortieUnitMelee = Maceman DefDiggingUnitMax = 4 DefDiggingUnit = Maceman @@ -2601,7 +2601,7 @@ AICharacter DefTotal = 50 OuterPatrolGroupsCount = 1 OuterPatrolGroupsMove = True - Unknown095 = 5 + OuterPatrolRallyDelay = 5 DefWalls = 40 DefUnit1 = Crossbowman DefUnit2 = Crossbowman @@ -2633,11 +2633,11 @@ AICharacter Unknown124 = 4 AttForceBase = 50 AttForceRandom = 20 - AttForceRallyDistanceRandom = 50 + AttForceSupportAllyThreshold = 50 AttForceRallyPercentage = 80 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 5 - AttForceSuccessRallyPercentage = 8 + Unknown130 = 5 + Unknown131 = 8 Unknown132 = 50 SiegeEngine1 = Catapult SiegeEngine2 = Catapult @@ -2647,7 +2647,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 6 + CowThrowInterval = 6 Unknown142 = 0 AttMaxEngineers = 10 AttDiggingUnit = Slave @@ -2693,8 +2693,8 @@ AICharacter CriticalPopularity = 4000 LowestPopularity = 5000 HighestPopularity = 8000 - Unknown009 = 2 - Unknown010 = 10 + TaxesMin = 2 + TaxesMax = 10 Unknown011 = 10 Farm1 = DairyFarm Farm2 = HopFarm @@ -2725,8 +2725,8 @@ AICharacter TradeAmountFood = 20 TradeAmountEquipment = 0 Unknown040 = 12 - Unknown041 = 0 - Unknown042 = 80 + MinimumGoodsRequiredAfterTrade = 0 + DoubleRationsFoodThreshold = 80 MaxWood = 60 MaxStone = 50 MaxResourceOther = 12 @@ -2752,8 +2752,8 @@ AICharacter SellResource13 = None SellResource14 = LeatherArmors SellResource15 = None - Unknown068 = 2 - Unknown069 = 3 + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 3 DefSiegeEngineGoldThreshold = 100 DefSiegeEngineBuildDelay = 4 Unknown072 = 200 @@ -2767,9 +2767,9 @@ AICharacter RecruitProbAttackDefault = 30 RecruitProbAttackWeak = 10 RecruitProbAttackStrong = 50 - SortieUnitRangedMax = 4 + SortieUnitRangedMin = 4 SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 4 + SortieUnitMeleeMin = 4 SortieUnitMelee = Knight DefDiggingUnitMax = 4 DefDiggingUnit = EuropArcher @@ -2779,7 +2779,7 @@ AICharacter DefTotal = 40 OuterPatrolGroupsCount = 1 OuterPatrolGroupsMove = True - Unknown095 = 2 + OuterPatrolRallyDelay = 2 DefWalls = 30 DefUnit1 = EuropArcher DefUnit2 = None @@ -2811,11 +2811,11 @@ AICharacter Unknown124 = 4 AttForceBase = 10 AttForceRandom = 20 - AttForceRallyDistanceRandom = 10 + AttForceSupportAllyThreshold = 10 AttForceRallyPercentage = 50 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 5 + Unknown130 = 0 + Unknown131 = 5 Unknown132 = 70 SiegeEngine1 = Trebuchet SiegeEngine2 = Trebuchet @@ -2825,7 +2825,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 10000 + CowThrowInterval = 10000 Unknown142 = 0 AttMaxEngineers = 6 AttDiggingUnit = EuropArcher @@ -2871,8 +2871,8 @@ AICharacter CriticalPopularity = 4500 LowestPopularity = 5000 HighestPopularity = 9000 - Unknown009 = 2 - Unknown010 = 12 + TaxesMin = 2 + TaxesMax = 12 Unknown011 = 10 Farm1 = HopFarm Farm2 = WheatFarm @@ -2903,8 +2903,8 @@ AICharacter TradeAmountFood = 5 TradeAmountEquipment = 0 Unknown040 = 12 - Unknown041 = 10 - Unknown042 = 40 + MinimumGoodsRequiredAfterTrade = 10 + DoubleRationsFoodThreshold = 40 MaxWood = 60 MaxStone = 40 MaxResourceOther = 10 @@ -2930,8 +2930,8 @@ AICharacter SellResource13 = Swords SellResource14 = LeatherArmors SellResource15 = IronArmors - Unknown068 = 2 - Unknown069 = 3 + DefWallPatrolRallyTime = 2 + DefWallPatrolGroups = 3 DefSiegeEngineGoldThreshold = 100 DefSiegeEngineBuildDelay = 4 Unknown072 = 200 @@ -2945,9 +2945,9 @@ AICharacter RecruitProbAttackDefault = 40 RecruitProbAttackWeak = 10 RecruitProbAttackStrong = 50 - SortieUnitRangedMax = 4 + SortieUnitRangedMin = 4 SortieUnitRanged = EuropArcher - SortieUnitMeleeMax = 20 + SortieUnitMeleeMin = 20 SortieUnitMelee = Monk DefDiggingUnitMax = 4 DefDiggingUnit = EuropArcher @@ -2957,7 +2957,7 @@ AICharacter DefTotal = 30 OuterPatrolGroupsCount = 1 OuterPatrolGroupsMove = True - Unknown095 = 2 + OuterPatrolRallyDelay = 2 DefWalls = 30 DefUnit1 = EuropArcher DefUnit2 = None @@ -2989,11 +2989,11 @@ AICharacter Unknown124 = 4 AttForceBase = 50 AttForceRandom = 10 - AttForceRallyDistanceRandom = 40 + AttForceSupportAllyThreshold = 40 AttForceRallyPercentage = 80 Unknown129 = 100 - AttForceCasualtiesPercentageBeforeAssault = 0 - AttForceSuccessRallyPercentage = 5 + Unknown130 = 0 + Unknown131 = 5 Unknown132 = 80 SiegeEngine1 = Catapult SiegeEngine2 = Catapult @@ -3003,7 +3003,7 @@ AICharacter SiegeEngine6 = None SiegeEngine7 = None SiegeEngine8 = None - Unknown141 = 10000 + CowThrowInterval = 10000 Unknown142 = 0 AttMaxEngineers = 8 AttDiggingUnit = EuropArcher