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