       {pieceIndex, inPieceDistance, lap} = @myPosition()
       ";#{gameTick};#{@color};#{lap};#{pieceIndex};#{normalizedIndex};#{inPieceDistance}"
 
+    onBendedPiece: -> @race.getPiece(@color).radius?
+    getRadius: ->
+      if @onBendedPiece()
+        pieceIndex = @race.getNormalizedPieceIndex @color
+        @getRadiusOnLane pieceIndex
+      else
+        999999
+
+    getRadiusOnLane: (pieceIndex) -> @race.getRadiusOnLane pieceIndex, @race.getCarLane(@color)
+
     adjustVelocity: ->
       if @race.straightToFinish @color
         @targetVelocity = 50

    maxVelocityForRadius: (radius) ->
      # v^2 / r = 0.39

      Math.sqrt(@curvedVelocityFactor * radius)


    adjustThrottle: (distance = 0) ->

    crash: (data, control) ->
      winston.verbose data
      if data.data.color is @color
        winston.info "#{@logPrefix()};Crash, Curved vel old #{@factorMaxSlip}"
        @reduceFactorMaxSlip()
        winston.info "#{@logPrefix()};Crash, Curved vel new #{@factorMaxSlip}"
      control.ignore()

    reduceFactorMaxSlip: ->
      @factorMaxSlip = 0.975 * @factorMaxSlip

    switchDirection: ->
      if @switchRight
