anchor.diff:    public
       constructor Create(aPlayer: TKMHandIndex);
       destructor Destroy(); override;
  +    procedure Save(SaveStream: TKMemoryStream);
  +    procedure Load(LoadStream: TKMemoryStream);
   
       procedure AfterMissionInit();
       procedure OwnerUpdate(aPlayer: TKMHandIndex);
  -    procedure Save(SaveStream: TKMemoryStream);
  -    procedure Load(LoadStream: TKMemoryStream);
  +    procedure UpdateState(aTick: Cardinal);
   
       function GetBlockingTrees(aHT: THouseType; aLoc: TKMPoint; var aTrees: TKMPointArray): Boolean;
       function GetBlockingFields(aHT: THouseType; aLoc: TKMPoint; var aFields: TKMPointArray): Boolean;
  
positive.code:     Result := Output;
    end;
  
    // Quarry planner
    function FindPlaceForQuary(): Boolean;
    const
      OVERFLOW = 10;
  
negative.code:       I := I - 1;
        Output := PlaceWoodcutter(Forests.Items[I]);; // Get the best forest
        if Output then
          gAIFields.Influences.AddAvoidBuilding(Forests.Items[I].X, Forests.Items[I].Y, BLOCK_RAD, AVOID_BUILDING_FOREST_ADD);
      end;
    finally
      Forests.Free;
  