anchor.diff:  
   
   type
  -  //Barracks has 11 resources and Recruits
  +  //Barracks have 11 resources and Recruits
     TKMHouseBarracks = class(TKMHouse)
     private
       fRecruitsList: TList;
  -    ResourceCount: array [WARFARE_MIN..WARFARE_MAX] of Word;
  +    fResourceCount: array [WARFARE_MIN..WARFARE_MAX] of Word;
     public
       NotAcceptFlag: array [WARFARE_MIN .. WARFARE_MAX] of Boolean;
       constructor Create(aUID: Integer; aHouseType: THouseType; PosX, PosY: Integer; aOwner: TPlayerIndex; aBuildState: THouseBuildState);
       constructor Load(LoadStream: TKMemoryStream); override;
  +    procedure Save(SaveStream: TKMemoryStream); override;
       procedure SyncLoad; override;
       destructor Destroy; override;
   
  
positive.code:     for I := 1 to 4 do
      if TroopCost[aUnitType, I] <> wt_None then
      begin
        Dec(ResourceCount[TroopCost[aUnitType, I]]);
        gPlayers[fOwner].Stats.WareConsumed(TroopCost[aUnitType, I]);
        gPlayers[fOwner].Deliveries.Queue.RemOffer(Self, TroopCost[aUnitType, I], 1);
      end;
  
negative.code:     procedure ResAddToIn(aWare: TWareType; aCount: Word = 1; aFromScript: Boolean = False); override;
      procedure ResTakeFromOut(aWare: TWareType; const aCount: Word = 1); override;
      function CheckResIn(aWare: TWareType): Word; override;
      function ResCanAddToIn(aRes: TWareType): Boolean; override;
  
      function CanTakeResOut(aWare: TWareType): Boolean;
      function CanEquip(aUnitType: TUnitType): Boolean;
      function RecruitsCount: Integer;
      procedure RecruitsAdd(aUnit: Pointer);
      procedure RecruitsRemove(aUnit: Pointer);
      procedure ToggleAcceptFlag(aRes: TWareType);
      function Equip(aUnitType: TUnitType; aCount: Byte): Byte;
    end;
  
  
  