anchor.diff:  
       constructor Create(aPlayer: TKMHandIndex);
       destructor Destroy(); override;
  -    procedure AfterMissionInit();
       procedure Save(SaveStream: TKMemoryStream);
       procedure Load(LoadStream: TKMemoryStream);
   
       property CityStats: TCityStats read fCityStats;
       property WareBalance: TWareBalanceArray read fWareBalance;
   
  +    procedure AfterMissionInit();
  +    procedure CityInitialization(aGoldMineCnt, aIronMineCnt, aFieldCnt, aBuildCnt: Integer);
       procedure UpdateState(aTick: Cardinal);
  -    procedure CityInitialization(aGoldMineCnt, aIronMineCnt, aFieldCnt, aBuildCnt: Integer);
       procedure LogStatus(var aBalanceText: UnicodeString);
       procedure OwnerUpdate(aPlayer: TKMHandIndex);
   
  
positive.code:   fMaxSoldiersInMin := 0;
    // Estimation of final weapons production
    // Iron weapons
    aIronMineCnt := 2;
    MaxIronWeapProd := aIronMineCnt * ProductionRate[wt_IronOre] / 2.0;
    for I := Low(IRON_WARFARE) to High(IRON_WARFARE) do
      fWareBalance[ IRON_WARFARE[I] ].FinalConsumption := MaxIronWeapProd;
    //Standard weapons
    MaxWoodWeapProd := Min(6.0, Max(2.0,aBuildCnt / 900.0)) * ProductionRate[wt_Axe]; // 2 <-> 6 in matter of avaiable place
    MaxWoodWeapProd := 0 * ProductionRate[wt_Axe];
    for I := Low(STANDARD_WARFARE) to High(STANDARD_WARFARE) do
      fWareBalance[ STANDARD_WARFARE[I] ].FinalConsumption := MaxWoodWeapProd;
    fWareBalance[wt_Armor].FinalConsumption := MaxWoodWeapProd;
  
negative.code: 
  
  
  end.
  
  