diff --git a/P3D/Battle/BattleAnimations/BAEntityFaceRotate.vb b/P3D/Battle/BattleAnimations/BAEntityFaceRotate.vb
index 4ee959b3e..16e3281e4 100644
--- a/P3D/Battle/BattleAnimations/BAEntityFaceRotate.vb
+++ b/P3D/Battle/BattleAnimations/BAEntityFaceRotate.vb
@@ -28,8 +28,11 @@
         If Me.TurnSteps > 0 Then
             If Me.TurnTime <= 0.0F Then
                 Me.TargetEntity.faceRotation += Me.TurnSpeed
-                If Me.TargetEntity.faceRotation = 4 Then
-                    Me.TargetEntity.faceRotation = 0
+                If Me.TargetEntity.faceRotation > 3 Then
+                    Me.TargetEntity.faceRotation -= 4
+                End If
+                If Me.TargetEntity.faceRotation < 0 Then
+                    Me.TargetEntity.faceRotation += 4
                 End If
                 If Me.TargetModel IsNot Nothing Then
                     Me.TargetModel.Rotation = Entity.GetRotationFromInteger(Me.TargetEntity.faceRotation)
@@ -37,7 +40,7 @@
                 Me.TurnSteps -= TurnSpeed.ToPositive()
                 Me.TurnTime = TurnDelay
             Else
-                TurnDelay -= 0.1F
+                TurnTime -= 0.1F
             End If
         Else
             If Me.TargetEntity.faceRotation <> Me.EndFaceRotation Then
@@ -45,9 +48,8 @@
                 If Me.TargetModel IsNot Nothing Then
                     Me.TargetModel.Rotation = Entity.GetRotationFromInteger(Me.EndFaceRotation)
                 End If
-            Else
-                Me.Ready = True
             End If
+            Me.Ready = True
         End If
     End Sub
 
diff --git a/P3D/Battle/BattleSystemV2/Battle.vb b/P3D/Battle/BattleSystemV2/Battle.vb
index 0dbc6c519..2637f5995 100644
--- a/P3D/Battle/BattleSystemV2/Battle.vb
+++ b/P3D/Battle/BattleSystemV2/Battle.vb
@@ -3756,7 +3756,7 @@
 
             '***STAT INCREASE ANIMATION***
             If Core.Player.ShowBattleAnimations <> 0 Then
-                Dim StatAnimation As AnimationQueryObject = New AnimationQueryObject(Nothing, Not own)
+                Dim StatAnimation As AnimationQueryObject = New AnimationQueryObject(Nothing, False)
                 Dim maxAmount As Integer = 20 * val
                 Dim currentAmount As Integer = 0
                 While currentAmount <= maxAmount
@@ -4051,7 +4051,7 @@
             End If
             '***STAT DECREASE ANIMATION***
             If Core.Player.ShowBattleAnimations <> 0 Then
-                Dim StatAnimation As AnimationQueryObject = New AnimationQueryObject(Nothing, Not own)
+                Dim StatAnimation As AnimationQueryObject = New AnimationQueryObject(Nothing, False)
                 Dim maxAmount As Integer = 20 * val
                 Dim currentAmount As Integer = 0
                 While currentAmount <= maxAmount
diff --git a/P3D/Battle/BattleSystemV2/QueryObjects/AnimationQueryObject.vb b/P3D/Battle/BattleSystemV2/QueryObjects/AnimationQueryObject.vb
index 1de9de2ac..40d392383 100644
--- a/P3D/Battle/BattleSystemV2/QueryObjects/AnimationQueryObject.vb
+++ b/P3D/Battle/BattleSystemV2/QueryObjects/AnimationQueryObject.vb
@@ -239,6 +239,10 @@
 				End If
 			End If
 
+			If Not BattleFlipped = Nothing AndAlso BattleFlipped = True Then
+				EndFaceRotation -= 2
+			End If
+
 			Dim BAEntityFaceRotate As BAEntityFaceRotate = New BAEntityFaceRotate(TurnNPC, TurnSteps, startDelay, endDelay, EndFaceRotation, TurnSpeed, TurnDelay, TurnModel)
 			AnimationSequence.Add(BAEntityFaceRotate)
 
diff --git a/P3D/Content/Sounds/Battle/Attacks/Normal/TailWhip.wav b/P3D/Content/Sounds/Battle/Attacks/Normal/TailWhip.wav
new file mode 100644
index 000000000..2e2d6304f
Binary files /dev/null and b/P3D/Content/Sounds/Battle/Attacks/Normal/TailWhip.wav differ
diff --git a/P3D/P3D.vbproj b/P3D/P3D.vbproj
index 0ef4f087a..75e0c2fc2 100644
--- a/P3D/P3D.vbproj
+++ b/P3D/P3D.vbproj
@@ -14753,6 +14753,9 @@
     <Content Include="Content\Sounds\Battle\Attacks\Normal\Tackle.wav">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
+    <Content Include="Content\Sounds\Battle\Attacks\Normal\TailWhip.wav">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
     <Content Include="Content\Sounds\Battle\Attacks\Normal\Wrap.wav">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
diff --git a/P3D/Pokemon/Attacks/Normal/TailWhip.vb b/P3D/Pokemon/Attacks/Normal/TailWhip.vb
index 88fd639bb..f25fa923a 100644
--- a/P3D/Pokemon/Attacks/Normal/TailWhip.vb
+++ b/P3D/Pokemon/Attacks/Normal/TailWhip.vb
@@ -62,6 +62,18 @@
             End If
         End Sub
 
+        Public Overrides Sub InternalUserPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC, ByVal CurrentModel As Entity)
+            Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip, CurrentModel)
+            MoveAnimation.AnimationTurnNPC(2, 0, 0, 1, -1)
+            MoveAnimation.AnimationPlaySound("Battle\Attacks\Normal\TailWhip", 1, 0)
+            MoveAnimation.AnimationMove(Nothing, False, 0, 0, -0.1, 0.025, False, False, 1, 0.5)
+            MoveAnimation.AnimationMove(Nothing, False, 0, 0, 0.1, 0.025, False, False, 1.75, 0.5)
+            MoveAnimation.AnimationMove(Nothing, False, 0, 0, -0.1, 0.025, False, False, 2.75, 0.5)
+            MoveAnimation.AnimationMove(Nothing, False, 0, 0, 0.1, 0.025, False, False, 3.75, 0.5)
+            MoveAnimation.AnimationMove(Nothing, False, 0, 0, 0, 0.025, False, False, 4.5, 0.5)
+            MoveAnimation.AnimationTurnNPC(2, 5, 0, 3, 1)
+            BattleScreen.BattleQuery.Add(MoveAnimation)
+        End Sub
     End Class
 
 End Namespace
\ No newline at end of file