anchor.diff:      function PickOrder:byte;
       procedure SetLastOrderProduced(aResource:TResourceType);
       function CheckResToBuild:boolean;
  -    procedure ResAddToIn(aResource:TResourceType; const aCount:word=1; aFromScript:boolean=false); virtual; //override for School and etc..
  +    function GetMaxInRes: Word;
  +    procedure ResAddToIn(aResource:TResourceType; aCount:word=1; aFromScript:boolean=false); virtual; //override for School and etc..
       procedure ResAddToOut(aResource:TResourceType; const aCount:integer=1);
       procedure ResAddToBuild(aResource:TResourceType);
       procedure ResTakeFromIn(aResource:TResourceType; aCount:byte=1);
  
positive.code:     function GetResTotal(aResource: TResourceType): Word; overload;
      function CheckResIn(aResource:TResourceType):word; override;
      function CheckResOrder(aID:byte):word; override;
      procedure ResAddToIn(aResource: TResourceType; const aCount:word=1; aFromScript:boolean=false); override;
      procedure ResEditOrder(aID:byte; aAmount:integer); override;
      procedure ResTakeFromOut(aResource:TResourceType; const aCount: Word=1); override;
  
  
negative.code: end;
  
  
  procedure TKMHouseStore.ResAddToIn(aResource: TResourceType; aCount: Word = 1; aFromScript: Boolean = False);
  var R: TResourceType;
  begin
    case aResource of
  