anchor.diff:      JobStatus: TKMJobStatus;
       Worker: TKMUnit; //So we can tell Worker if plan is cancelled
     end;
  +  TKMHousePlanArray = array of TKMHousePlan;
   
   
     //List of house plans and workers assigned to them
     TKMHousePlanList = class
     private
       fPlansCount: Integer;
  -    fPlans: array of TKMHousePlan;
  +    fPlans: TKMHousePlanArray;
     public
       //Player orders
       procedure AddPlan(aHouseType: TKMHouseType; aLoc: TKMPoint);
  
positive.code:   end;
  
  
    TKMFieldworksList = class
    private
      fFieldsCount: Integer;
      fFields: array of record
        Loc: TKMPoint;
        FieldType: TKMFieldType;
        JobStatus: TKMJobStatus;
        Worker: TKMUnit;
      end;
      //List of fields which are shown visually but not verified by the server
      fFakeFields: array of record
        Loc: TKMPoint;
  
negative.code:     function FindHousePlan(aLoc: TKMPoint; aSkip: TKMPoint; out aOut: TKMPoint): Boolean;
  
      // AI Informations
      property Count: Integer read fPlansCount;
      property Plans: TKMHousePlanArray read fPlans;
      function ExistPlan(aLoc: TKMPoint; aHT: TKMHouseType): Boolean;
      function GetPlansStoneDemands(): Integer;
      function GetPlansWoodDemands(): Integer;
  