anchor.diff:              //Squad.TargetHouse := nil; // This cause same problem like with archers
             end;
             AvailableSquads[GT].Squads[ AvailableSquads[GT].Count ] := Squad;
  -          AvailableSquads[GT].Count := AvailableSquads[GT].Count + 1;
  +          Inc(AvailableSquads[GT].Count);
           end;
         end;
     end;
  
positive.code:   function OrderAttackHouse(): Boolean;
    const
      INIT_THREAT = 1000000;
      SQR_CLOSE_COMBAT_DISTANCE_LIMIT = 12*12;
      MAX_SOLDIERS_VS_HOUSE = 12;
      SQR_ATTACK_WATCHTOWER_WITH_CLOSE_COMBAT_DIST = 5*5;
      SQR_MAX_CLOSE_COMBAT_VS_UNIT_DIST = 3*3;
    var
      Output: Boolean;
      TargetIdx: Word;
  
negative.code:     FinPos := fTargetUnit.GetPosition;
      if PlanPath(ActPos, FinPos, True, False) then
        Group.OrderWalk(FinPos, True, wtokAISquad, FinalPosition.Dir)
      else if (fGroup.GroupType <> gt_Ranged) OR fTargetChanged OR (fAttackTimeLimit < aTick) then
      //else if (fGroup.GroupType <> gt_Ranged) OR (fTargetChanged AND (fAttackTimeLimit < aTick)) then
      begin
        fAttackTimeLimit := aTick + AIM_DELAY;
        fTargetChanged := False;
        Group.OrderAttackUnit(fTargetUnit, True);
      end;
  