     $ability.width(1)
     $ability.appendTo(@$('.battle_pane'))
     $ability.transition opacity: 1, width: 150, 100, 'easeInQuad', ->
-      setTimeout(done, 400)
       $ability.delay(3000).transition opacity: 0, 300, 'easeInQuad', ->
         $ability.remove()
+    setTimeout(done, 500)
 
   cancelSuccess: (done) =>
     @enableButtons()

        .transition(x: transX, y: transY, 150, 'easeInOutSine')
        .transition opacity: 0, 100, 'easeInOutSine', ->
          $projectile.remove()
          done()
    else
      # Side-to-side movement
      $attacker = @$sprite(player, slot)
      $attacker
        .transition(x: -16, 125, 'easeInOutSine')
        .transition(x: 16, 250, 'easeInOutSine')
        .transition(x: 0, 125, 'easeInOutSine', done)

  cannedText: (cannedString, args...) =>
    @parseCannedText(CannedText[cannedString], args, ->)

    scale = (if front then 1.3 else 1/1.3)
    if moveName == 'Earthquake'
      $attacker.add($defender).each (index) ->
        $(this).transition(x: -75, 62.5, 'easeInOutCubic')
          .transition(x: 75, 125, 'easeInOutCubic')
          .transition(x: -30, 125, 'easeInOutCubic')
          .transition(x: 30, 125, 'easeInOutCubic')
          .transition(x: 0, 62.5, 'easeInOutCubic')
      setTimeout(done, 500)
    else if 'contact' in moveData.flags
      # Simple attack animation
      # Tackling the opponent
