diff --git a/P3D/Battle/BattleAnimations/BABackground.vb b/P3D/Battle/BattleAnimations/BABackground.vb
index 07da3d9f7..3b6072033 100644
--- a/P3D/Battle/BattleAnimations/BABackground.vb
+++ b/P3D/Battle/BattleAnimations/BABackground.vb
@@ -36,8 +36,8 @@
Me.DoTile = DoTile
Me.AnimationWidth = CInt(Texture.Width / AnimationLength)
Me.AnimationLength = AnimationLength
- DurationWhole = CSng(Math.Truncate(CDbl(Duration)))
- DurationFraction = CSng((Duration - DurationWhole) * 1000)
+ DurationWhole = CSng(Math.Truncate(CDbl(Duration / 6.0F)))
+ DurationFraction = CSng((Duration / 6.0F - DurationWhole) * 1000)
Me.TextureScale = TextureScale
If Me.AnimationWidth <> -1 OrElse Me.AnimationWidth <> Nothing Then
diff --git a/P3D/Battle/BattleAnimations/BACameraChangeAngle.vb b/P3D/Battle/BattleAnimations/BACameraChangeAngle.vb
new file mode 100644
index 000000000..266b9d965
--- /dev/null
+++ b/P3D/Battle/BattleAnimations/BACameraChangeAngle.vb
@@ -0,0 +1,34 @@
+Imports P3D.Screen
+
+Public Class BACameraChangeAngle
+
+ Inherits BattleAnimation3D
+
+ Public CameraAngleID As Integer
+ Public BV2Screen As BattleSystem.BattleScreen
+
+ Public Sub New(ByRef Battlescreen As BattleSystem.BattleScreen, ByVal CameraAngleID As Integer, ByVal startDelay As Single, ByVal endDelay As Single)
+ MyBase.New(New Vector3(0.0F), TextureManager.DefaultTexture, New Vector3(1.0F), startDelay, endDelay)
+ Me.BV2Screen = Battlescreen
+ Me.CameraAngleID = CameraAngleID
+
+ Me.Visible = False
+
+ Me.AnimationType = AnimationTypes.Camera
+ End Sub
+
+ Public Overrides Sub DoActionActive()
+ Select Case CameraAngleID
+ Case 0
+ Me.BV2Screen.Battle.ChangeCameraAngle(0, True, Me.BV2Screen)
+ Case 1
+ Me.BV2Screen.Battle.ChangeCameraAngle(1, True, Me.BV2Screen)
+ Case 2
+ Me.BV2Screen.Battle.ChangeCameraAngle(2, True, Me.BV2Screen)
+ End Select
+ Me.Ready = True
+
+ End Sub
+
+
+End Class
\ No newline at end of file
diff --git a/P3D/Battle/BattleAnimations/BACameraOscillateMove.vb b/P3D/Battle/BattleAnimations/BACameraOscillateMove.vb
new file mode 100644
index 000000000..f2f96915a
--- /dev/null
+++ b/P3D/Battle/BattleAnimations/BACameraOscillateMove.vb
@@ -0,0 +1,314 @@
+Public Class BACameraOscillateMove
+
+ Inherits BattleAnimation3D
+
+ Public StartPosition As Vector3
+ Public ReturnToStart As Vector3
+ Public HalfDistance As New Vector3(0.0F)
+ Public DestinationDistance As New Vector3(0.0F)
+ Public CurrentDistance As New Vector3(0.0F)
+ Public MoveSpeed As Single
+ Public MoveBothWays As Boolean = True
+ Public MovementCurve As Integer = 0
+ Public RemoveEntityAfter As Boolean
+ Public Duration As TimeSpan
+ Public ReadyTime As Date
+ Public ReadyAxis As New Vector3(0)
+ Public InterpolationSpeed As Vector3
+ Public InterpolationDirection As Boolean = True
+ Public Enum Curves As Integer
+ Linear
+ Smooth
+ End Enum
+
+ Public Sub New(ByVal Distance As Vector3, ByVal Speed As Single, ByVal BothWays As Boolean, ByVal Duration As TimeSpan, ByVal startDelay As Single, ByVal endDelay As Single, Optional MovementCurve As Integer = 0, Optional ReturnToStart As Vector3 = Nothing)
+ MyBase.New(New Vector3(0.0F), TextureManager.DefaultTexture, New Vector3(1.0F), startDelay, endDelay)
+ Me.HalfDistance = Distance
+ Me.DestinationDistance = Me.HalfDistance
+ Me.MoveSpeed = Speed
+ Me.MoveBothWays = BothWays
+ Me.Duration = Duration
+ Me.MovementCurve = CType(MovementCurve, Curves)
+
+ Me.Visible = False
+ Select Case MovementCurve
+ Case Curves.Linear
+ InterpolationSpeed = New Vector3(MoveSpeed)
+ Case Curves.Smooth
+ InterpolationSpeed = New Vector3(0.0F)
+ End Select
+ If ReturnToStart <> Nothing Then
+ Me.ReturnToStart = ReturnToStart
+ End If
+ Me.AnimationType = AnimationTypes.Move
+ End Sub
+
+ Public Overrides Sub DoActionActive()
+ Move()
+ End Sub
+
+ Private Sub Move()
+ If StartPosition = Nothing Then
+ StartPosition = Screen.Camera.Position
+ End If
+ If ReadyTime = Nothing Then
+ ReadyTime = Date.Now + Duration
+ End If
+ If MovementCurve = Curves.Smooth Then
+ If InterpolationDirection = True Then
+ If InterpolationSpeed.X < MoveSpeed Then
+ InterpolationSpeed.X += MoveSpeed / 10
+ Else
+ InterpolationSpeed.X = MoveSpeed
+ End If
+ If InterpolationSpeed.Y < MoveSpeed Then
+ InterpolationSpeed.Y += MoveSpeed / 10
+ Else
+ InterpolationSpeed.Y = MoveSpeed
+ End If
+ If InterpolationSpeed.Z < MoveSpeed Then
+ InterpolationSpeed.Z += MoveSpeed / 10
+ Else
+ InterpolationSpeed.Z = MoveSpeed
+ End If
+ Else
+ If Date.Now < ReadyTime Then
+ If InterpolationSpeed.X > 0 Then
+ InterpolationSpeed.X -= MoveSpeed / 10
+ Else
+ InterpolationSpeed.X = 0
+ End If
+ If InterpolationSpeed.Y > 0 Then
+ InterpolationSpeed.Y -= MoveSpeed / 10
+ Else
+ InterpolationSpeed.Y = 0
+ End If
+ If InterpolationSpeed.Z > 0 Then
+ InterpolationSpeed.Z -= MoveSpeed / 10
+ Else
+ InterpolationSpeed.Z = 0
+ End If
+ Else
+ If InterpolationSpeed.X > MoveSpeed / 10 * 3 Then
+ InterpolationSpeed.X -= MoveSpeed / 10
+ Else
+ InterpolationSpeed.X = MoveSpeed / 10 * 3
+ End If
+ If InterpolationSpeed.Y > MoveSpeed / 10 * 3 Then
+ InterpolationSpeed.Y -= MoveSpeed / 10
+ Else
+ InterpolationSpeed.Y = MoveSpeed / 10 * 3
+ End If
+ If InterpolationSpeed.Z > MoveSpeed / 10 * 3 Then
+ InterpolationSpeed.Z -= MoveSpeed / 10
+ Else
+ InterpolationSpeed.Z = MoveSpeed / 10 * 3
+ End If
+ End If
+ End If
+ End If
+
+ If CurrentDistance.X <> DestinationDistance.X Then
+ If CurrentDistance.X < DestinationDistance.X Then
+ CurrentDistance.X += InterpolationSpeed.X
+ Else
+ CurrentDistance.X -= InterpolationSpeed.X
+ End If
+
+ If Math.Abs(CurrentDistance.X) / Math.Abs(HalfDistance.X) > 0.75F Then
+ InterpolationDirection = False
+ End If
+
+ If DestinationDistance.X > 0.0F Then
+ If CurrentDistance.X >= DestinationDistance.X Then
+ CurrentDistance.X = DestinationDistance.X
+ End If
+ ElseIf DestinationDistance.X < 0.0F Then
+ If CurrentDistance.X <= DestinationDistance.X Then
+ CurrentDistance.X = DestinationDistance.X
+ End If
+ Else
+ If CurrentDistance.X > DestinationDistance.X Then
+ If CurrentDistance.X - InterpolationSpeed.X <= DestinationDistance.X Then
+ CurrentDistance.X = DestinationDistance.X
+ End If
+ Else
+ If CurrentDistance.X + InterpolationSpeed.X >= DestinationDistance.X Then
+ CurrentDistance.X = DestinationDistance.X
+ End If
+ End If
+ End If
+ Else
+ If Date.Now < ReadyTime Then
+ If MoveBothWays = True Then
+ If DestinationDistance.X > 0.0F Then
+ DestinationDistance.X = 0.0F - Math.Abs(HalfDistance.X) * 2
+ Else
+ DestinationDistance.X = 0.0F + Math.Abs(HalfDistance.X) * 2
+ End If
+ Else
+ If DestinationDistance.X > 0.0F Then
+ DestinationDistance.X = 0.0F
+ Else
+ DestinationDistance.X = HalfDistance.X
+ End If
+ End If
+ InterpolationDirection = True
+ Else
+ If ReturnToStart.X = 0.0F Then
+ ReadyAxis.X = 1.0F
+ Else
+ If DestinationDistance.X <> 0.0F Then
+ DestinationDistance.X = 0.0F
+ InterpolationDirection = True
+ End If
+ If CurrentDistance.X = 0.0F Then
+ ReadyAxis.X = 1.0F
+ End If
+ End If
+ End If
+ End If
+
+ If CurrentDistance.Y <> DestinationDistance.Y Then
+ If CurrentDistance.Y < DestinationDistance.Y Then
+ CurrentDistance.Y += InterpolationSpeed.Y
+ Else
+ CurrentDistance.Y -= InterpolationSpeed.Y
+ End If
+
+ If Math.Abs(CurrentDistance.Y) / Math.Abs(HalfDistance.Y) > 0.75F Then
+ InterpolationDirection = False
+ End If
+
+ If DestinationDistance.Y > 0.0F Then
+ If CurrentDistance.Y >= DestinationDistance.Y Then
+ CurrentDistance.Y = DestinationDistance.Y
+ End If
+ ElseIf DestinationDistance.Y < 0.0F Then
+ If CurrentDistance.Y <= DestinationDistance.Y Then
+ CurrentDistance.Y = DestinationDistance.Y
+ End If
+ Else
+ If CurrentDistance.Y > DestinationDistance.Y Then
+ If CurrentDistance.Y - InterpolationSpeed.Y <= DestinationDistance.Y Then
+ CurrentDistance.Y = DestinationDistance.Y
+ End If
+ Else
+ If CurrentDistance.Y + InterpolationSpeed.Y >= DestinationDistance.Y Then
+ CurrentDistance.Y = DestinationDistance.Y
+ End If
+ End If
+ End If
+ Else
+ If Date.Now < ReadyTime Then
+ If MoveBothWays = True Then
+ If DestinationDistance.Y > 0.0F Then
+ DestinationDistance.Y = 0.0F - Math.Abs(HalfDistance.Y) * 2
+ Else
+ DestinationDistance.Y = 0.0F + Math.Abs(HalfDistance.Y) * 2
+ End If
+ Else
+ If DestinationDistance.Y > 0.0F Then
+ DestinationDistance.Y = 0.0F
+ Else
+ DestinationDistance.Y = HalfDistance.Y
+ End If
+ End If
+ InterpolationDirection = True
+ Else
+ If ReturnToStart.Y = 0.0F Then
+ ReadyAxis.Y = 1.0F
+ Else
+ If DestinationDistance.Y <> 0.0F Then
+ DestinationDistance.Y = 0.0F
+ InterpolationDirection = True
+ End If
+ If CurrentDistance.Y = 0.0F Then
+ ReadyAxis.Y = 1.0F
+ End If
+ End If
+ End If
+ End If
+
+ If CurrentDistance.Z <> DestinationDistance.Z Then
+ If CurrentDistance.Z < DestinationDistance.Z Then
+ CurrentDistance.Z += InterpolationSpeed.Z
+ Else
+ CurrentDistance.Z -= InterpolationSpeed.Z
+ End If
+
+ If Math.Abs(CurrentDistance.Y) / Math.Abs(HalfDistance.Y) > 0.75F Then
+ InterpolationDirection = False
+ End If
+
+ If DestinationDistance.Z > 0.0F Then
+ If CurrentDistance.Z >= DestinationDistance.Z Then
+ CurrentDistance.Z = DestinationDistance.Z
+ End If
+ ElseIf DestinationDistance.Z < 0.0F Then
+ If CurrentDistance.Z <= DestinationDistance.Z Then
+ CurrentDistance.Z = DestinationDistance.Z
+ End If
+ Else
+ If CurrentDistance.Z > DestinationDistance.Z Then
+ If CurrentDistance.Z - InterpolationSpeed.Z <= DestinationDistance.Z Then
+ CurrentDistance.Z = DestinationDistance.Z
+ End If
+ Else
+ If CurrentDistance.Z + InterpolationSpeed.Z >= DestinationDistance.Z Then
+ CurrentDistance.Z = DestinationDistance.Z
+ End If
+ End If
+ End If
+ Else
+ If Date.Now < ReadyTime Then
+ If MoveBothWays = True Then
+ If DestinationDistance.Z > 0.0F Then
+ DestinationDistance.Z = 0.0F - Math.Abs(HalfDistance.Z) * 2
+ Else
+ DestinationDistance.Z = 0.0F + Math.Abs(HalfDistance.Z) * 2
+ End If
+ Else
+ If DestinationDistance.Z > 0.0F Then
+ DestinationDistance.Z = 0.0F
+ Else
+ DestinationDistance.Z = HalfDistance.Z
+ End If
+ End If
+ InterpolationDirection = True
+ Else
+ If ReturnToStart.Z = 0.0F Then
+ ReadyAxis.Z = 1.0F
+ Else
+ If DestinationDistance.Z <> 0.0F Then
+ DestinationDistance.Z = 0.0F
+ InterpolationDirection = True
+ End If
+ If CurrentDistance.Z = 0.0F Then
+ ReadyAxis.Z = 1.0F
+ End If
+ End If
+ End If
+ End If
+
+ If HalfDistance.X <> 0.0F Then
+ Screen.Camera.Position.X = StartPosition.X + Me.CurrentDistance.X
+ Else
+ ReadyAxis.X = 1.0F
+ End If
+ If HalfDistance.Y <> 0.0F Then
+ Screen.Camera.Position.Y = StartPosition.Y + Me.CurrentDistance.Y
+ Else
+ ReadyAxis.Y = 1.0F
+ End If
+ If HalfDistance.Z <> 0.0F Then
+ Screen.Camera.Position.Z = StartPosition.Z + Me.CurrentDistance.Z
+ Else
+ ReadyAxis.Z = 1.0F
+ End If
+
+ If Date.Now > ReadyTime AndAlso ReadyAxis.X = 1.0F AndAlso ReadyAxis.Y = 1.0F AndAlso ReadyAxis.Z = 1.0F Then
+ Me.Ready = True
+ End If
+ End Sub
+End Class
\ No newline at end of file
diff --git a/P3D/Battle/BattleAnimations/BattleAnimation3D.vb b/P3D/Battle/BattleAnimations/BattleAnimation3D.vb
index 33efabcd6..4e0c2eb2c 100644
--- a/P3D/Battle/BattleAnimations/BattleAnimation3D.vb
+++ b/P3D/Battle/BattleAnimations/BattleAnimation3D.vb
@@ -14,10 +14,9 @@
Size
Rotation
Texture
- Wait
- ViewPokeBill
Sound
Background
+ Camera
End Enum
Public AnimationType As AnimationTypes = AnimationTypes.Nothing
diff --git a/P3D/Battle/BattleSystemV2/QueryObjects/AnimationQueryObject.vb b/P3D/Battle/BattleSystemV2/QueryObjects/AnimationQueryObject.vb
index 6d4d5744e..f7c6462ee 100644
--- a/P3D/Battle/BattleSystemV2/QueryObjects/AnimationQueryObject.vb
+++ b/P3D/Battle/BattleSystemV2/QueryObjects/AnimationQueryObject.vb
@@ -205,8 +205,8 @@ Namespace BattleSystem
End If
End If
- Dim DurationWhole = CSng(Math.Truncate(CDbl(Duration)))
- Dim DurationFraction = CSng((Duration - DurationWhole) * 1000)
+ Dim DurationWhole = CSng(Math.Truncate(CDbl(Duration / 6.0F)))
+ Dim DurationFraction = CSng((Duration / 6.0F - DurationWhole) * 1000)
Dim DurationTime As TimeSpan = New TimeSpan(0, 0, 0, CInt(DurationWhole), CInt(DurationFraction))
Dim baEntityOscillateMove As BAEntityOscillateMove = New BAEntityOscillateMove(MoveEntity, RemoveEntityAfter, Distance, Speed, BothWays, DurationTime, startDelay, endDelay, MovementCurve, ReturnToStart)
AnimationSequence.Add(baEntityOscillateMove)
@@ -331,5 +331,27 @@ Namespace BattleSystem
AnimationSequence.Add(baBackground)
End Sub
+ Public Sub AnimationCameraChangeAngle(ByRef Battlescreen As BattleScreen, ByVal CameraAngleID As Integer, ByVal startDelay As Single, ByVal endDelay As Single)
+ Dim baCameraChangeAngle As BACameraChangeAngle = New BACameraChangeAngle(Battlescreen, CameraAngleID, startDelay, endDelay)
+ AnimationSequence.Add(baCameraChangeAngle)
+ End Sub
+
+ Public Sub AnimationCameraOscillateMove(ByVal Distance As Vector3, ByVal Speed As Single, ByVal BothWays As Boolean, ByVal Duration As Single, ByVal startDelay As Single, ByVal endDelay As Single, Optional MovementCurve As Integer = 0, Optional ReturnToStart As Vector3 = Nothing)
+ Dim ReturnPosition As New Vector3(0)
+
+ If Not BattleFlipped = Nothing Then
+ If BattleFlipped = True Then
+ Distance.Z *= -1.0F
+ End If
+ End If
+
+ Dim DurationWhole = CSng(Math.Truncate(CDbl(Duration / 6.0F)))
+ Dim DurationFraction = CSng((Duration / 6.0F - DurationWhole) * 1000)
+ Dim DurationTime As TimeSpan = New TimeSpan(0, 0, 0, CInt(DurationWhole), CInt(DurationFraction))
+ Dim baCameraOscillateMove As BACameraOscillateMove = New BACameraOscillateMove(Distance, Speed, BothWays, DurationTime, startDelay, endDelay, MovementCurve, ReturnToStart)
+ AnimationSequence.Add(baCameraOscillateMove)
+
+ End Sub
+
End Class
End Namespace
\ No newline at end of file
diff --git a/P3D/Content/Sounds/Battle/Attacks/Ground/Earthquake.wav b/P3D/Content/Sounds/Battle/Attacks/Ground/Earthquake.wav
new file mode 100644
index 000000000..1783b6491
Binary files /dev/null and b/P3D/Content/Sounds/Battle/Attacks/Ground/Earthquake.wav differ
diff --git a/P3D/P3D.vbproj b/P3D/P3D.vbproj
index f7c6f0a6a..d620d1de8 100644
--- a/P3D/P3D.vbproj
+++ b/P3D/P3D.vbproj
@@ -18311,6 +18311,9 @@
PreserveNewest
+
+ PreserveNewest
+
PreserveNewest
@@ -28737,7 +28740,9 @@
+
+
diff --git a/P3D/Pokemon/Attacks/Electric/Flash.vb b/P3D/Pokemon/Attacks/Electric/Flash.vb
index 402d3b08b..c63891cab 100644
--- a/P3D/Pokemon/Attacks/Electric/Flash.vb
+++ b/P3D/Pokemon/Attacks/Electric/Flash.vb
@@ -60,7 +60,7 @@
Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC)
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip, True)
MoveAnimation.AnimationPlaySound("Battle\Attacks\Electric\Flash", 0.0F, 0)
- MoveAnimation.AnimationBackground(TextureManager.GetTexture("Textures\Battle\Electric\FlashBackground"), 0, 0, 0.25F, 0.9F, 0.2F, 0.025F, True, 1, 0, 6)
+ MoveAnimation.AnimationBackground(TextureManager.GetTexture("Textures\Battle\Electric\FlashBackground"), 0, 0, 1.5F, 0.9F, 0.2F, 0.025F, True, 1, 0, 6)
MoveAnimation.AnimationColor(CurrentEntity, False, 0.2F, True, 0, 0, New Vector3(0.1), Nothing, 0.025F)
BattleScreen.BattleQuery.Add(MoveAnimation)
diff --git a/P3D/Pokemon/Attacks/Ghost/ConfuseRay.vb b/P3D/Pokemon/Attacks/Ghost/ConfuseRay.vb
index ab2393606..2696b04b0 100644
--- a/P3D/Pokemon/Attacks/Ghost/ConfuseRay.vb
+++ b/P3D/Pokemon/Attacks/Ghost/ConfuseRay.vb
@@ -69,7 +69,7 @@
Dim RayEntity = MoveAnimation.SpawnEntity(CurrentEntity.Position, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(0, 0, 16, 16), ""), New Vector3(0.5F), 0.0F)
MoveAnimation.AnimationFade(RayEntity, False, 0.025F, True, 1.0F, 0, 0)
MoveAnimation.AnimationMove(RayEntity, False, 1.5, 0, 0, 0.025, False, False, 0, 0,,, 0.0125)
- MoveAnimation.AnimationOscillateMove(RayEntity, True, New Vector3(0, 0.075, 0), 0.02, True, 1, 0, 0, 1)
+ MoveAnimation.AnimationOscillateMove(RayEntity, True, New Vector3(0, 0.075, 0), 0.02, True, 6, 0, 0, 1)
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(16, 0, 16, 16), ""), 0.5, 0)
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(0, 0, 16, 16), ""), 1.0, 0)
@@ -93,8 +93,8 @@
Dim RayEntity = MoveAnimation.SpawnEntity(SpawnPosition, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(0, 0, 16, 16), ""), New Vector3(0.5F), 1.0F)
MoveAnimation.AnimationMove(RayEntity, False, 1.5, 0, 0, 0.025, False, False, 0, 0,,, 0.0125)
- MoveAnimation.AnimationOscillateMove(RayEntity, False, New Vector3(0, 0.075, 0), 0.02, True, 1, 0, 0, 1)
- MoveAnimation.AnimationOscillateMove(RayEntity, False, New Vector3(0, 0, 0.2), 0.075, True, 1.5, 4, 0, 1)
+ MoveAnimation.AnimationOscillateMove(RayEntity, False, New Vector3(0, 0.075, 0), 0.02, True, 6, 0, 0, 1)
+ MoveAnimation.AnimationOscillateMove(RayEntity, False, New Vector3(0, 0, 0.2), 0.075, True, 7.5, 4, 0, 1)
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(16, 0, 16, 16), ""), 0.5, 0)
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(0, 0, 16, 16), ""), 1.0, 0)
diff --git a/P3D/Pokemon/Attacks/Ground/Earthquake.vb b/P3D/Pokemon/Attacks/Ground/Earthquake.vb
index ddda2ce53..ba5724546 100644
--- a/P3D/Pokemon/Attacks/Ground/Earthquake.vb
+++ b/P3D/Pokemon/Attacks/Ground/Earthquake.vb
@@ -66,6 +66,18 @@
End If
End Function
+ Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC)
+ Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip, False)
+ MoveAnimation.AnimationPlaySound("Battle\Attacks\Ground\Earthquake", 0.0F, 0)
+ MoveAnimation.AnimationCameraOscillateMove(New Vector3(0, 0, 0.075), 0.045, True, 16, 0, 0, 0, New Vector3(0, 0, 1))
+
+ MoveAnimation.AnimationCameraOscillateMove(New Vector3(0, 0.06, 0), 0.03, True, 4, 0, 0, 0, New Vector3(0, 0, 1))
+ MoveAnimation.AnimationCameraOscillateMove(New Vector3(0, -0.06, 0), 0.03, True, 4, 4, 0, 0, New Vector3(0, 0, 1))
+ MoveAnimation.AnimationCameraOscillateMove(New Vector3(0, 0.06, 0), 0.03, True, 4, 8, 0, 0, New Vector3(0, 0, 1))
+ MoveAnimation.AnimationCameraOscillateMove(New Vector3(0, -0.06, 0), 0.03, True, 4, 12, 0, 0, New Vector3(0, 0, 1))
+
+ BattleScreen.BattleQuery.Add(MoveAnimation)
+ End Sub
End Class
End Namespace
\ No newline at end of file
diff --git a/P3D/Pokemon/Attacks/Normal/Leer.vb b/P3D/Pokemon/Attacks/Normal/Leer.vb
index 463980059..a4ac5f61c 100644
--- a/P3D/Pokemon/Attacks/Normal/Leer.vb
+++ b/P3D/Pokemon/Attacks/Normal/Leer.vb
@@ -76,7 +76,7 @@
End Sub
Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC)
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
- MoveAnimation.AnimationOscillateMove(Nothing, False, New Vector3(0, 0, 0.05), 0.035, True, 0.5, 0, 0.5, 0, New Vector3(0, 0, 1))
+ MoveAnimation.AnimationOscillateMove(Nothing, False, New Vector3(0, 0, 0.05), 0.035, True, 3, 0, 0.5, 0, New Vector3(0, 0, 1))
BattleScreen.BattleQuery.Add(MoveAnimation)
End Sub
End Class
diff --git a/P3D/Pokemon/Attacks/Normal/TailWhip.vb b/P3D/Pokemon/Attacks/Normal/TailWhip.vb
index c2f896de8..ffa62df82 100644
--- a/P3D/Pokemon/Attacks/Normal/TailWhip.vb
+++ b/P3D/Pokemon/Attacks/Normal/TailWhip.vb
@@ -66,7 +66,7 @@
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
MoveAnimation.AnimationTurnNPC(2, 0, 0, 1, -1, 0.35)
MoveAnimation.AnimationPlaySound("Battle\Attacks\Normal\TailWhip", 1, 0)
- MoveAnimation.AnimationOscillateMove(Nothing, False, New Vector3(0, 0, -0.075), 0.035, True, 0.5, 1, 0, 0, New Vector3(0, 0, 1))
+ MoveAnimation.AnimationOscillateMove(Nothing, False, New Vector3(0, 0, -0.075), 0.035, True, 3, 1, 0, 0, New Vector3(0, 0, 1))
MoveAnimation.AnimationTurnNPC(2, 5, 0.5, 3, 1, 0.35)
BattleScreen.BattleQuery.Add(MoveAnimation)
End Sub
diff --git a/P3D/Pokemon/Attacks/Psychic/Psychic.vb b/P3D/Pokemon/Attacks/Psychic/Psychic.vb
index a58fbabf7..b3f7bd892 100644
--- a/P3D/Pokemon/Attacks/Psychic/Psychic.vb
+++ b/P3D/Pokemon/Attacks/Psychic/Psychic.vb
@@ -74,9 +74,9 @@
Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC)
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip, True)
MoveAnimation.AnimationPlaySound("Battle\Attacks\Psychic\Psychic", 0.0F, 0)
- MoveAnimation.AnimationBackground(TextureManager.GetTexture("Textures\Battle\Psychic\PsychicBackground"), 0, 0, 1.5F, 0.6F, 0.075F, 0.075F, True, 11, 2, 6)
+ MoveAnimation.AnimationBackground(TextureManager.GetTexture("Textures\Battle\Psychic\PsychicBackground"), 0, 0, 9.0F, 0.6F, 0.075F, 0.075F, True, 11, 2, 6)
- MoveAnimation.AnimationOscillateMove(Nothing, False, New Vector3(0, 0, 0.05), 0.035, True, 0.75, 1, 0.5, 0, New Vector3(0, 0, 1))
+ MoveAnimation.AnimationOscillateMove(Nothing, False, New Vector3(0, 0, 0.05), 0.035, True, 4.5, 1, 0.5, 0, New Vector3(0, 0, 1))
BattleScreen.BattleQuery.Add(MoveAnimation)
End Sub