anchor.diff:        LocID:byte; //Current attack location
         Cells:TKMPointDirList; //List of surrounding cells and directions
         function PosUsed(aPos: TKMPoint):boolean;
  -      //todo: not abandoned properly yet
       public
         constructor Create(aWarrior: TKMUnit; aHouse:TKMHouse);
         constructor Load(LoadStream:TKMemoryStream); override;
  
positive.code: 
  function TTaskAttackHouse.WalkShouldAbandon:boolean;
  begin
    Result := false;
  
    //Stop walking if the house has been destroyed already
    if fHouse.IsDestroyed then
    begin
      Result := true;
      exit;
    end;
  
    //See if someone beat us to this location
    if PosUsed(Cells.List[LocID].Loc) then
    begin
      Result := true;
  
negative.code:   Inherited Create(aWarrior);
    fTaskName := utn_AttackHouse;
  
    fLog.AssertToLog(aHouse<>nil, 'Trying to attack NIL house?');
    fHouse := aHouse.GetHousePointer;
    LocID  := 0;
    Cells  := TKMPointDirList.Create; //Pass pre-made list to make sure we Free it in the same unit
  