anchor.diff:      fBestDefLines.Count := 0; // Set defences count to 0 (it will be incremented later)
       if (fQueueCnt >= Length(fBestDefLines.Lines)) then
         SetLength(fBestDefLines.Lines, fQueueCnt + 32);
  -    QueueIdx := aIdx;
  +    Idx := aIdx;
       // Copy defensive polygons
       for I := 0 to fQueueCnt do // aIdx is already taken from Queue so I must be from 0 to fQueueCnt!
       begin
  -      AddDefence(QueueIdx);
  -      QueueIdx := fQueueArray[QueueIdx].Next;
  +      AddDefence(Idx);
  +      Idx := fQueueArray[Idx].Next;
       end;
     end;
   end;
  
positive.code:   OPTIMAL_INFLUENCE_ADD = 1; // Improve criterium of actual defence line in case that influence is in <MIN_OPTIMAL_INFLUENCE, ALLY_INFLUENCE_LIMIT>
    ALLY_INFLUENCE_PENALIZATION = 4; // Ally penalization (dont place defences inside of ally city)
    ENEMY_INFLUENCE_PENALIZATION = 10; // Enemy penalization (dont place defences inside of enemy city)
    MINIMAL_DEFENCE_DISTANCE = 1; // Minimal distance of defensive lines (minimal distance is also affected by OWNER_INFLUENCE_LIMIT)
    MAXIMAL_DEFENCE_DISTANCE = 75; // Maximal defence distance (maximal distance is also affected by MAX_ENEMY_INFLUENCE)
  
  implementation
  
negative.code:       for K := 0 to PolyArr[QueueIdx].NearbyCount-1 do
        begin
          NearbyIdx := PolyArr[QueueIdx].Nearby[K];
          // This polygon hasnt been visited in forward loop (polygon is inside of the enemy city)
          if (fQueueArray[NearbyIdx].Visited < fVisitedIdx-1) then
            fQueueArray[NearbyIdx].Visited := fVisitedIdx; // Mark as visited for backward loop
        end;
        QueueIdx := fQueueArray[QueueIdx].Next;
      end;
  