mirror of
https://github.com/P3D-Legacy/P3D-Legacy.git
synced 2025-07-30 01:05:22 +02:00
New BattleAnimation type + Confuse Ray animation..
And some fixes
This commit is contained in:
parent
9d024c93df
commit
af937955b9
@ -101,12 +101,12 @@
|
||||
Select Case MovementCurve
|
||||
Case Curves.EaseIn
|
||||
If EasedIn = False Then
|
||||
If InterpolationSpeed < MoveSpeed OrElse InterpolationYSpeed < MoveYSpeed Then
|
||||
If InterpolationSpeed < MoveSpeed Then
|
||||
InterpolationSpeed += MoveSpeed / 10
|
||||
If InterpolationSpeed < MoveSpeed - 0.05F OrElse InterpolationYSpeed < MoveYSpeed - 0.05F Then
|
||||
If InterpolationSpeed < MoveSpeed - 0.05F Then
|
||||
InterpolationSpeed = MathHelper.Lerp(InterpolationSpeed, MoveSpeed, 0.9F)
|
||||
End If
|
||||
If InterpolationYSpeed < MoveYSpeed Then
|
||||
InterpolationYSpeed += MoveYSpeed / 10
|
||||
If InterpolationYSpeed < MoveYSpeed - 0.05F Then
|
||||
InterpolationYSpeed = MathHelper.Lerp(InterpolationYSpeed, MoveYSpeed, 0.9F)
|
||||
End If
|
||||
Else
|
||||
InterpolationSpeed = MoveSpeed
|
||||
@ -116,12 +116,12 @@
|
||||
End If
|
||||
Case Curves.EaseOut
|
||||
If EasedOut = False Then
|
||||
If InterpolationSpeed > 0 OrElse InterpolationYSpeed > 0 Then
|
||||
If InterpolationSpeed > 0 Then
|
||||
InterpolationSpeed -= MoveSpeed / 10
|
||||
If InterpolationSpeed > 0.05F OrElse InterpolationYSpeed > 0.05F Then
|
||||
If InterpolationSpeed > 0.05F Then
|
||||
InterpolationSpeed = MathHelper.Lerp(InterpolationSpeed, 0.0F, 0.9F)
|
||||
End If
|
||||
If InterpolationYSpeed > 0 Then
|
||||
InterpolationYSpeed -= MoveYSpeed / 10
|
||||
If InterpolationYSpeed > 0.05F Then
|
||||
InterpolationYSpeed = MathHelper.Lerp(InterpolationYSpeed, 0.0F, 0.9F)
|
||||
End If
|
||||
Else
|
||||
InterpolationYSpeed = 0
|
||||
@ -131,12 +131,12 @@
|
||||
End If
|
||||
Case Curves.EaseInAndOut
|
||||
If EasedIn = False Then
|
||||
If InterpolationSpeed < MoveSpeed OrElse InterpolationYSpeed < MoveYSpeed Then
|
||||
If InterpolationSpeed < MoveSpeed Then
|
||||
InterpolationSpeed += MoveSpeed / 10
|
||||
If InterpolationSpeed < MoveSpeed - 0.05F OrElse InterpolationYSpeed < MoveYSpeed - 0.05F Then
|
||||
If InterpolationSpeed < MoveSpeed - 0.05F Then
|
||||
InterpolationSpeed = MathHelper.Lerp(InterpolationSpeed, MoveSpeed, 0.9F)
|
||||
End If
|
||||
If InterpolationYSpeed < MoveYSpeed Then
|
||||
InterpolationYSpeed += MoveYSpeed / 10
|
||||
If InterpolationYSpeed < MoveYSpeed - 0.05F Then
|
||||
InterpolationYSpeed = MathHelper.Lerp(InterpolationYSpeed, MoveYSpeed, 0.9F)
|
||||
End If
|
||||
Else
|
||||
InterpolationSpeed = MoveSpeed
|
||||
@ -145,12 +145,12 @@
|
||||
End If
|
||||
Else
|
||||
If EasedOut = False Then
|
||||
If InterpolationSpeed > 0 OrElse InterpolationYSpeed > 0 Then
|
||||
If InterpolationSpeed > 0 Then
|
||||
InterpolationSpeed -= MoveSpeed / 10
|
||||
If InterpolationSpeed > 0.05F OrElse InterpolationYSpeed > 0.05F Then
|
||||
If InterpolationSpeed > 0.05F Then
|
||||
InterpolationSpeed = MathHelper.Lerp(InterpolationSpeed, 0.0F, 0.9F)
|
||||
End If
|
||||
If InterpolationYSpeed > 0 Then
|
||||
InterpolationYSpeed -= MoveYSpeed / 10
|
||||
If InterpolationYSpeed > 0.05F Then
|
||||
InterpolationYSpeed = MathHelper.Lerp(InterpolationYSpeed, 0.0F, 0.9F)
|
||||
End If
|
||||
Else
|
||||
InterpolationYSpeed = 0
|
||||
@ -161,114 +161,63 @@
|
||||
End If
|
||||
End Select
|
||||
|
||||
If MovementCurve = Curves.Linear Then
|
||||
If MoveDistance.X > 0.05F Then
|
||||
If StartPosition.X < Me.Destination.X Then
|
||||
TargetEntity.Position.X += Me.MoveSpeed
|
||||
If MoveDistance.X > 0.05F Then
|
||||
If StartPosition.X < Me.Destination.X Then
|
||||
TargetEntity.Position.X += Me.InterpolationSpeed
|
||||
|
||||
If TargetEntity.Position.X >= Me.Destination.X + 0.05 Then
|
||||
TargetEntity.Position.X = Me.Destination.X
|
||||
End If
|
||||
ElseIf StartPosition.X > Me.Destination.X Then
|
||||
TargetEntity.Position.X -= Me.MoveSpeed
|
||||
|
||||
If TargetEntity.Position.X <= Me.Destination.X + 0.05 Then
|
||||
TargetEntity.Position.X = Me.Destination.X
|
||||
End If
|
||||
If TargetEntity.Position.X >= Me.Destination.X + 0.05 Then
|
||||
TargetEntity.Position.X = Me.Destination.X
|
||||
End If
|
||||
MoveDistance.X -= Me.MoveSpeed
|
||||
Else
|
||||
ReadyAxis.X = 1.0F
|
||||
End If
|
||||
ElseIf StartPosition.X > Me.Destination.X Then
|
||||
TargetEntity.Position.X -= Me.InterpolationSpeed
|
||||
|
||||
If MoveDistance.Y > 0.05F Then
|
||||
If StartPosition.Y < Me.Destination.Y + DestinationOffset.Y Then
|
||||
TargetEntity.Position.Y += Me.MoveYSpeed
|
||||
|
||||
If TargetEntity.Position.Y >= Me.Destination.Y + DestinationOffset.Y - 0.05 Then
|
||||
TargetEntity.Position.Y = Me.Destination.Y + DestinationOffset.Y
|
||||
End If
|
||||
ElseIf StartPosition.Y > Me.Destination.Y + DestinationOffset.Y Then
|
||||
TargetEntity.Position.Y -= Me.MoveYSpeed
|
||||
|
||||
If TargetEntity.Position.Y <= Me.Destination.Y + DestinationOffset.Y + 0.05 Then
|
||||
TargetEntity.Position.Y = Me.Destination.Y + DestinationOffset.Y
|
||||
End If
|
||||
If TargetEntity.Position.X <= Me.Destination.X + 0.05 Then
|
||||
TargetEntity.Position.X = Me.Destination.X
|
||||
End If
|
||||
MoveDistance.Y -= Me.MoveYSpeed
|
||||
Else
|
||||
ReadyAxis.Y = 1.0F
|
||||
End If
|
||||
|
||||
If MoveDistance.Z > 0.05F Then
|
||||
If StartPosition.Z < Me.Destination.Z Then
|
||||
TargetEntity.Position.Z += Me.MoveSpeed
|
||||
|
||||
If TargetEntity.Position.Z >= Me.Destination.Z - 0.05 Then
|
||||
TargetEntity.Position.Z = Me.Destination.Z
|
||||
End If
|
||||
ElseIf StartPosition.Z > Me.Destination.Z Then
|
||||
TargetEntity.Position.Z -= Me.MoveSpeed
|
||||
|
||||
If TargetEntity.Position.Z <= Me.Destination.Z + 0.05 Then
|
||||
TargetEntity.Position.Z = Me.Destination.Z
|
||||
End If
|
||||
End If
|
||||
MoveDistance.Z -= Me.MoveYSpeed
|
||||
Else
|
||||
ReadyAxis.Z = 1.0F
|
||||
End If
|
||||
MoveDistance.X -= Me.InterpolationSpeed
|
||||
Else
|
||||
If MoveDistance.X > 0.05F Then
|
||||
If StartPosition.X < Me.Destination.X Then
|
||||
TargetEntity.Position.X = MathHelper.Lerp(TargetEntity.Position.X, Me.Destination.X, Me.InterpolationSpeed)
|
||||
If TargetEntity.Position.X > Me.Destination.X - 0.05 Then
|
||||
TargetEntity.Position.X = Me.Destination.X
|
||||
End If
|
||||
ElseIf StartPosition.X > Me.Destination.X Then
|
||||
TargetEntity.Position.X = MathHelper.Lerp(TargetEntity.Position.X, Me.Destination.X, Me.InterpolationSpeed)
|
||||
If TargetEntity.Position.X < Me.Destination.X + 0.05 Then
|
||||
TargetEntity.Position.X = Me.Destination.X
|
||||
End If
|
||||
End If
|
||||
MoveDistance.X = MathHelper.Lerp(MoveDistance.X, 0.0F, Me.InterpolationSpeed)
|
||||
Else
|
||||
ReadyAxis.X = 1.0F
|
||||
End If
|
||||
|
||||
If MoveDistance.Y > 0.05F Then
|
||||
If StartPosition.Y < Me.Destination.Y + DestinationOffset.Y Then
|
||||
TargetEntity.Position.Y = MathHelper.Lerp(TargetEntity.Position.Y, Me.Destination.Y + DestinationOffset.Y, Me.InterpolationSpeed)
|
||||
If TargetEntity.Position.Y > Me.Destination.Y + DestinationOffset.Y - 0.05 Then
|
||||
TargetEntity.Position.Y = Me.Destination.Y + DestinationOffset.Y
|
||||
End If
|
||||
ElseIf StartPosition.Y > Me.Destination.Y + DestinationOffset.Y Then
|
||||
TargetEntity.Position.Y = MathHelper.Lerp(TargetEntity.Position.Y, Me.Destination.Y + DestinationOffset.Y, Me.InterpolationSpeed)
|
||||
If TargetEntity.Position.Y < Me.Destination.Y + DestinationOffset.Y + 0.05 Then
|
||||
TargetEntity.Position.Y = Me.Destination.Y + DestinationOffset.Y
|
||||
End If
|
||||
End If
|
||||
MoveDistance.Y = MathHelper.Lerp(MoveDistance.Y, 0.0F, Me.InterpolationSpeed)
|
||||
Else
|
||||
ReadyAxis.Y = 1.0F
|
||||
End If
|
||||
If MoveDistance.Z > 0.05F Then
|
||||
If StartPosition.Z < Me.Destination.Z Then
|
||||
TargetEntity.Position.Z = MathHelper.Lerp(TargetEntity.Position.Z, Me.Destination.Z, Me.InterpolationSpeed)
|
||||
If TargetEntity.Position.Z > Me.Destination.Z - 0.05 Then
|
||||
TargetEntity.Position.Z = Me.Destination.Z
|
||||
End If
|
||||
ElseIf StartPosition.Z > Me.Destination.Z Then
|
||||
TargetEntity.Position.Z = MathHelper.Lerp(TargetEntity.Position.Z, Me.Destination.Z, Me.InterpolationSpeed)
|
||||
If TargetEntity.Position.Z < Me.Destination.Z + 0.05 Then
|
||||
TargetEntity.Position.Z = Me.Destination.Z
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
ReadyAxis.Z = 1.0F
|
||||
End If
|
||||
|
||||
ReadyAxis.X = 1.0F
|
||||
End If
|
||||
|
||||
If MoveDistance.Y > 0.05F Then
|
||||
If StartPosition.Y < Me.Destination.Y + DestinationOffset.Y Then
|
||||
TargetEntity.Position.Y += Me.MoveYSpeed
|
||||
|
||||
If TargetEntity.Position.Y >= Me.Destination.Y + DestinationOffset.Y - 0.05 Then
|
||||
TargetEntity.Position.Y = Me.Destination.Y + DestinationOffset.Y
|
||||
End If
|
||||
ElseIf StartPosition.Y > Me.Destination.Y + DestinationOffset.Y Then
|
||||
TargetEntity.Position.Y -= Me.MoveYSpeed
|
||||
|
||||
If TargetEntity.Position.Y <= Me.Destination.Y + DestinationOffset.Y + 0.05 Then
|
||||
TargetEntity.Position.Y = Me.Destination.Y + DestinationOffset.Y
|
||||
End If
|
||||
End If
|
||||
MoveDistance.Y -= Me.MoveYSpeed
|
||||
Else
|
||||
ReadyAxis.Y = 1.0F
|
||||
End If
|
||||
|
||||
If MoveDistance.Z > 0.05F Then
|
||||
If StartPosition.Z < Me.Destination.Z Then
|
||||
TargetEntity.Position.Z += Me.InterpolationSpeed
|
||||
|
||||
If TargetEntity.Position.Z >= Me.Destination.Z - 0.05 Then
|
||||
TargetEntity.Position.Z = Me.Destination.Z
|
||||
End If
|
||||
ElseIf StartPosition.Z > Me.Destination.Z Then
|
||||
TargetEntity.Position.Z -= Me.InterpolationSpeed
|
||||
|
||||
If TargetEntity.Position.Z <= Me.Destination.Z + 0.05 Then
|
||||
TargetEntity.Position.Z = Me.Destination.Z
|
||||
End If
|
||||
End If
|
||||
MoveDistance.Z -= Me.MoveYSpeed
|
||||
Else
|
||||
ReadyAxis.Z = 1.0F
|
||||
End If
|
||||
|
||||
If ReadyAxis.X = 1.0F AndAlso ReadyAxis.Y = 1.0F AndAlso ReadyAxis.Z = 1.0F Then
|
||||
Me.Ready = True
|
||||
End If
|
||||
|
259
P3D/Battle/BattleAnimations/BAEntityOscillateMove.vb
Normal file
259
P3D/Battle/BattleAnimations/BAEntityOscillateMove.vb
Normal file
@ -0,0 +1,259 @@
|
||||
Public Class BAEntityOscillateMove
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
||||
Public StartPosition As Vector3
|
||||
Public TargetEntity As Entity
|
||||
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(ByRef Entity As Entity, ByVal RemoveEntityAfter As Boolean, 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)
|
||||
MyBase.New(New Vector3(0.0F), TextureManager.DefaultTexture, New Vector3(1.0F), startDelay, endDelay)
|
||||
Me.RemoveEntityAfter = RemoveEntityAfter
|
||||
Me.HalfDistance = Distance
|
||||
Me.DestinationDistance = Me.HalfDistance
|
||||
Me.MoveSpeed = Speed
|
||||
Me.MoveBothWays = BothWays
|
||||
Me.Duration = Duration
|
||||
Me.MovementCurve = CType(MovementCurve, Curves)
|
||||
|
||||
Me.Visible = False
|
||||
Me.TargetEntity = Entity
|
||||
Select Case MovementCurve
|
||||
Case Curves.Linear
|
||||
InterpolationSpeed = New Vector3(MoveSpeed)
|
||||
Case Curves.Smooth
|
||||
InterpolationSpeed = New Vector3(0.0F)
|
||||
End Select
|
||||
Me.AnimationType = AnimationTypes.Move
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub DoActionActive()
|
||||
Move()
|
||||
End Sub
|
||||
|
||||
Private Sub Move()
|
||||
If StartPosition = Nothing Then
|
||||
StartPosition = TargetEntity.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
|
||||
Else
|
||||
If CurrentDistance.X <= DestinationDistance.X Then
|
||||
CurrentDistance.X = DestinationDistance.X
|
||||
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
|
||||
ReadyAxis.X = 1.0F
|
||||
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
|
||||
Else
|
||||
If CurrentDistance.Y <= DestinationDistance.Y Then
|
||||
CurrentDistance.Y = DestinationDistance.Y
|
||||
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
|
||||
ReadyAxis.Y = 1.0F
|
||||
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
|
||||
Else
|
||||
If CurrentDistance.Z <= DestinationDistance.Z Then
|
||||
CurrentDistance.Z = DestinationDistance.Z
|
||||
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
|
||||
ReadyAxis.Z = 1.0F
|
||||
End If
|
||||
End If
|
||||
|
||||
If HalfDistance.X <> 0.0F Then
|
||||
TargetEntity.Position.X = StartPosition.X + Me.CurrentDistance.X
|
||||
Else
|
||||
ReadyAxis.X = 1.0F
|
||||
End If
|
||||
If HalfDistance.Y <> 0.0F Then
|
||||
TargetEntity.Position.Y = StartPosition.Y + Me.CurrentDistance.Y
|
||||
Else
|
||||
ReadyAxis.Y = 1.0F
|
||||
End If
|
||||
If HalfDistance.Z <> 0.0F Then
|
||||
TargetEntity.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
|
||||
Public Overrides Sub DoRemoveEntity()
|
||||
If Me.RemoveEntityAfter = True Then
|
||||
TargetEntity.CanBeRemoved = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
@ -7535,7 +7535,7 @@
|
||||
BallThrow.AnimationPlaySound("Battle\Pokeball\Throw", 0, 0)
|
||||
|
||||
Dim BallThrowEntity As Entity = BallThrow.SpawnEntity(New Vector3(-2, CSng(-0.15 + PositionOffsetY), 0), BattleScreen.OwnPokemon.CatchBall.Texture, New Vector3(0.3F), 1.0F)
|
||||
BallThrow.AnimationMove(BallThrowEntity, True, 0, CSng(0.35 + PositionOffsetY), 0, 0.1, False, True, 0F, 0.5F,, -0.3,, 0.025F)
|
||||
BallThrow.AnimationMove(BallThrowEntity, True, 0, CSng(0.35 + PositionOffsetY), 0, 0.1, False, True, 0F, 0.5F,, -0.3, 0.025F)
|
||||
|
||||
' Ball Opens
|
||||
BallThrow.AnimationPlaySound("Battle\Pokeball\Open", 3, 0)
|
||||
@ -7976,7 +7976,7 @@
|
||||
|
||||
BallThrow.AnimationPlaySound("Battle\Pokeball\Throw", 0, 0)
|
||||
Dim BallThrowEntity = BallThrow.SpawnEntity(New Vector3(2, -0.15, 0), BattleScreen.OppPokemon.CatchBall.Texture, New Vector3(0.3F), 1.0F)
|
||||
BallThrow.AnimationMove(BallThrowEntity, True, 0, 0.35, 0, 0.1, False, True, 0F, 0.5F,, 0.3,, 0.025F)
|
||||
BallThrow.AnimationMove(BallThrowEntity, True, 0, 0.35, 0, 0.1, False, True, 0F, 0.5F,, 0.3, 0.025F)
|
||||
|
||||
' Ball opens
|
||||
BallThrow.AnimationPlaySound("Battle\Pokeball\Open", 3, 0)
|
||||
|
@ -442,7 +442,7 @@
|
||||
BallThrowOpp.AnimationPlaySound("Battle\Pokeball\Throw", 0, 0)
|
||||
BallThrowOpp.AnimationSetPosition(Nothing, False, 15, CSng(0.5 + OppEntityOffsetY), 13, 0, 0)
|
||||
Dim BallThrowEntity As Entity = BallThrowOpp.SpawnEntity(New Vector3(2, -0.15, 0), Me.OppPokemon.CatchBall.Texture, New Vector3(0.3F), 1.0F)
|
||||
BallThrowOpp.AnimationMove(BallThrowEntity, True, 0, CSng(0.35 + OppAnimationOffsetY), 0, 0.1, False, True, 0F, 0.5F,, 0.3,, 0.025F)
|
||||
BallThrowOpp.AnimationMove(BallThrowEntity, True, 0, CSng(0.35 + OppAnimationOffsetY), 0, 0.1, False, True, 0F, 0.5F,, 0.3, 0.025F)
|
||||
|
||||
' Ball Opens
|
||||
BallThrowOpp.AnimationPlaySound("Battle\Pokeball\Open", 3, 0)
|
||||
@ -493,7 +493,7 @@
|
||||
BallThrowOwn.AnimationMove(Nothing, False, 0, 0.5, 0, 0.5, False, False, 2, 0,,, 3)
|
||||
|
||||
Dim BallThrowEntity As Entity = BallThrowOwn.SpawnEntity(New Vector3(-2, -0.15, 0), Me.OwnPokemon.CatchBall.Texture, New Vector3(0.3F), 1.0F)
|
||||
BallThrowOwn.AnimationMove(BallThrowEntity, True, 0, CSng(0.35 + OwnAnimationOffsetY), 0, 0.1, False, True, 0F, 0.5F,, 0.3,, 0.025F)
|
||||
BallThrowOwn.AnimationMove(BallThrowEntity, True, 0, CSng(0.35 + OwnAnimationOffsetY), 0, 0.1, False, True, 0F, 0.5F,, 0.3, 0.025F)
|
||||
|
||||
' Ball Opens
|
||||
BallThrowOwn.AnimationPlaySound("Battle\Pokeball\Open", 3, 0)
|
||||
|
@ -153,7 +153,7 @@
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub AnimationMove(ByVal Entity As Entity, ByVal RemoveEntityAfter As Boolean, ByVal DestinationX As Single, ByVal DestinationY As Single, ByVal DestinationZ As Single, ByVal Speed As Single, ByVal SpinX As Boolean, ByVal SpinZ As Boolean, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal SpinXSpeed As Single = 0.1F, Optional ByVal SpinZSpeed As Single = 0.1F, Optional MovementCurve As Integer = 3, Optional MoveYSpeed As Single = 0.0F)
|
||||
Public Sub AnimationMove(ByVal Entity As Entity, ByVal RemoveEntityAfter As Boolean, ByVal DestinationX As Single, ByVal DestinationY As Single, ByVal DestinationZ As Single, ByVal Speed As Single, ByVal SpinX As Boolean, ByVal SpinZ As Boolean, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal SpinXSpeed As Single = 0.1F, Optional ByVal SpinZSpeed As Single = 0.1F, Optional MoveYSpeed As Single = 0.0F, Optional MovementCurve As Integer = 3)
|
||||
Dim MoveEntity As Entity
|
||||
Dim Destination As Vector3
|
||||
|
||||
@ -173,15 +173,33 @@
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If CurrentEntity Is Nothing Then
|
||||
Destination = MoveEntity.Position + New Vector3(DestinationX, DestinationY, DestinationZ)
|
||||
Else
|
||||
Destination = CurrentEntity.Position + New Vector3(DestinationX, DestinationY, DestinationZ)
|
||||
End If
|
||||
|
||||
|
||||
Dim baEntityMove As BAEntityMove = New BAEntityMove(MoveEntity, RemoveEntityAfter, Destination, Speed, SpinX, SpinZ, startDelay, endDelay, SpinXSpeed, SpinZSpeed, MovementCurve, MoveYSpeed)
|
||||
AnimationSequence.Add(baEntityMove)
|
||||
|
||||
End Sub
|
||||
Public Sub AnimationOscillateMove(ByRef Entity As Entity, ByVal RemoveEntityAfter As Boolean, 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)
|
||||
Dim MoveEntity As Entity
|
||||
|
||||
If Entity Is Nothing Then
|
||||
MoveEntity = CurrentEntity
|
||||
Else
|
||||
MoveEntity = Entity
|
||||
End If
|
||||
|
||||
Dim DurationWhole = CSng(Math.Truncate(CDbl(Duration)))
|
||||
Dim DurationFraction = CSng((Duration - 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)
|
||||
AnimationSequence.Add(baEntityOscillateMove)
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub AnimationSetPosition(ByVal Entity As Entity, ByVal RemoveEntityAfter As Boolean, ByVal PositionX As Single, ByVal PositionY As Single, ByVal PositionZ As Single, ByVal startDelay As Single, ByVal endDelay As Single)
|
||||
|
@ -268,7 +268,7 @@
|
||||
|
||||
BallThrow.AnimationPlaySound("Battle\Pokeball\Throw", 0, 0)
|
||||
Dim BallThrowEntity = BallThrow.SpawnEntity(New Vector3(2, -0.15, 0), BattleScreen.OppPokemon.CatchBall.Texture, New Vector3(0.3F), 1.0F)
|
||||
BallThrow.AnimationMove(BallThrowEntity, True, 0, 0.35, 0, 0.1, False, True, 0F, 0.5F,, 0.3,, 0.025F)
|
||||
BallThrow.AnimationMove(BallThrowEntity, True, 0, 0.35, 0, 0.1, False, True, 0F, 0.5F,, 0.3, 0.025F)
|
||||
|
||||
' Ball opens
|
||||
BallThrow.AnimationPlaySound("Battle\Pokeball\Open", 3, 0)
|
||||
|
BIN
P3D/Content/Sounds/Battle/Attacks/Ghost/ConfuseRay_End.wav
Normal file
BIN
P3D/Content/Sounds/Battle/Attacks/Ghost/ConfuseRay_End.wav
Normal file
Binary file not shown.
BIN
P3D/Content/Sounds/Battle/Attacks/Ghost/ConfuseRay_Start.wav
Normal file
BIN
P3D/Content/Sounds/Battle/Attacks/Ghost/ConfuseRay_Start.wav
Normal file
Binary file not shown.
@ -17945,6 +17945,12 @@
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Flying\Gust.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Ghost\ConfuseRay_End.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Ghost\ConfuseRay_Start.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Grass\Absorb.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
@ -28377,6 +28383,7 @@
|
||||
<Compile Include="Battle\BattleAnimations\BAEntityColor.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BABackground.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAEntityFaceRotate.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAEntityOscillateMove.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAEntitySetPosition.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAEntityRotate.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAEntityMove.vb" />
|
||||
|
@ -62,15 +62,14 @@
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub InternalUserPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC)
|
||||
Dim MoveAnimation = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
Dim MoveAnimation = New AnimationQueryObject(Nothing, BattleFlip)
|
||||
|
||||
Dim RayEntity = MoveAnimation.SpawnEntity(New Vector3(0), TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(0, 0, 16, 16), ""), New Vector3(0.5F), 1.0F)
|
||||
MoveAnimation.AnimationMove(RayEntity, True, 2.0, 0.0, 0.0, 0.025, False, False, 0.0, 0.0,,,, 0.0125)
|
||||
MoveAnimation.AnimationMove(RayEntity, False, 0.0, 0.2, 0.0, 0.025, False, False, 0.5, 0.0,,,, 0.0125)
|
||||
MoveAnimation.AnimationMove(RayEntity, False, 0.0, -0.2, 0.0, 0.025, False, False, 1.5, 0.0,,,, 0.0125)
|
||||
MoveAnimation.AnimationMove(RayEntity, False, 0.0, 0.2, 0.0, 0.025, False, False, 2.5, 0.0,,,, 0.0125)
|
||||
MoveAnimation.AnimationMove(RayEntity, False, 0.0, -0.2, 0.0, 0.025, False, False, 3.5, 0.0,,,, 0.0125)
|
||||
MoveAnimation.AnimationMove(RayEntity, False, 0.0, 0, 0.0, 0.025, False, False, 4, 0.0,,,, 0.0125)
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Ghost\ConfuseRay_Start", 0.0F, 0)
|
||||
|
||||
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.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)
|
||||
@ -83,7 +82,38 @@
|
||||
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC)
|
||||
Dim MoveAnimation = New AnimationQueryObject(Nothing, BattleFlip)
|
||||
Dim SpawnPosition As Vector3 = CurrentEntity.Position
|
||||
SpawnPosition.X = CurrentEntity.Position.X - 1.5F
|
||||
If CurrentEntity.Model IsNot Nothing Then
|
||||
SpawnPosition.Y = CurrentEntity.Position.Y - 0.5F
|
||||
End If
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Ghost\ConfuseRay_End", 0.0F, 0)
|
||||
|
||||
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.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)
|
||||
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(16, 0, 16, 16), ""), 1.5, 0)
|
||||
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(0, 0, 16, 16), ""), 2.0, 0)
|
||||
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(16, 0, 16, 16), ""), 2.5, 0)
|
||||
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(0, 0, 16, 16), ""), 3, 0)
|
||||
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(16, 0, 16, 16), ""), 3.5, 0)
|
||||
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(0, 0, 16, 16), ""), 4, 0)
|
||||
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(16, 0, 16, 16), ""), 4.5, 0)
|
||||
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(0, 0, 16, 16), ""), 5.0, 0)
|
||||
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(16, 0, 16, 16), ""), 5.5, 0)
|
||||
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(0, 0, 16, 16), ""), 6.0, 0)
|
||||
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(16, 0, 16, 16), ""), 6.5, 0)
|
||||
MoveAnimation.AnimationChangeTexture(RayEntity, False, TextureManager.GetTexture("Textures\Battle\Ghost\ConfuseRay", New Rectangle(0, 0, 16, 16), ""), 7, 0)
|
||||
|
||||
MoveAnimation.AnimationFade(RayEntity, True, 0.035, False, 0, 6.75, 0)
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
|
@ -101,7 +101,7 @@
|
||||
Dim yPos As Single = CSng(Random.Next(-1, 3) * 0.15)
|
||||
Dim zPos As Single = CSng(Random.Next(-3, 3) * 0.15)
|
||||
Dim AbsorbEntity = MoveAnimation.SpawnEntity(New Vector3(0.0, 0.0, 0.0), TextureManager.GetTexture("Textures\Battle\Grass\Absorb"), New Vector3(0.35F), 1, CSng(currentAmount * 0.8))
|
||||
MoveAnimation.AnimationMove(AbsorbEntity, True, -1.5, yPos, zPos, 0.03, False, True, CSng(currentAmount * 0.8), 0.0, 0.1, 0.5,, 0.005F)
|
||||
MoveAnimation.AnimationMove(AbsorbEntity, True, -1.5, yPos, zPos, 0.03, False, True, CSng(currentAmount * 0.8), 0.0, 0.1, 0.5, 0.005F)
|
||||
|
||||
Threading.Interlocked.Increment(currentAmount)
|
||||
End While
|
||||
|
@ -55,14 +55,14 @@
|
||||
Public Overrides Sub InternalUserPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC)
|
||||
Dim MoveAnimation = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
Dim WaterEntity = MoveAnimation.SpawnEntity(New Vector3(0), TextureManager.GetTexture("Textures\Battle\Water\WaterGun", New Rectangle(0, 0, 16, 16), ""), New Vector3(0.5F), 0.75F)
|
||||
MoveAnimation.AnimationMove(WaterEntity, True, 2, 0.5, 0, 0.075, False, False, 0, 0,,,, 0.05)
|
||||
MoveAnimation.AnimationMove(WaterEntity, True, 2, 0.5, 0, 0.075, False, False, 0, 0,,, 0.05)
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Water\Watergun_Start", 0, 0)
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC)
|
||||
Dim MoveAnimation = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
Dim WaterEntity = MoveAnimation.SpawnEntity(New Vector3(-2, 1, 0), TextureManager.GetTexture("Textures\Battle\Water\WaterGun", New Rectangle(0, 0, 16, 16), ""), New Vector3(0.5F), 0.5F)
|
||||
MoveAnimation.AnimationMove(WaterEntity, True, 0, 0, 0, 0.075, False, False, 0, 0,,,, 0.035)
|
||||
MoveAnimation.AnimationMove(WaterEntity, True, 0, 0, 0, 0.075, False, False, 0, 0,,, 0.035)
|
||||
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Water\Watergun_Hit", 3, 0)
|
||||
Dim HitEntity = MoveAnimation.SpawnEntity(New Vector3(0, -0.2, 0), TextureManager.GetTexture("Textures\Battle\Water\WaterGun", New Rectangle(0, 16, 16, 16), ""), New Vector3(0.5F), 0.5F, 3, 1)
|
||||
|
@ -157,13 +157,13 @@ nextIndex:
|
||||
|
||||
PokemonScale = BattleScreen.OppPokemonNPC.Scale
|
||||
'Ball is thrown
|
||||
Dim CatchAnimation = New BattleSystem.AnimationQueryObject(Nothing, False, Nothing)
|
||||
Dim CatchAnimation = New BattleSystem.AnimationQueryObject(Nothing, False)
|
||||
CatchAnimation.AnimationPlaySound("Battle\Pokeball\Throw", 0, 0)
|
||||
|
||||
Dim BallPosition As Vector3 = New Vector3(BattleScreen.OppPokemonNPC.Position.X - 3, BattleScreen.OppPokemonNPC.Position.Y + 0.15F, BattleScreen.OppPokemonNPC.Position.Z)
|
||||
Dim BallEntity As Entity = CatchAnimation.SpawnEntity(BallPosition, Ball.Texture, New Vector3(0.3F), 1.0F, 0, 0)
|
||||
|
||||
CatchAnimation.AnimationMove(BallEntity, False, 3, 0.1F, 0, 0.075, False, False, 0F, 0F,,,, 0.025)
|
||||
CatchAnimation.AnimationMove(BallEntity, False, 3, 0.1F, 0, 0.075, False, False, 0F, 0F,,, 0.025)
|
||||
CatchAnimation.AnimationRotate(BallEntity, False, 0, 0, -0.5, 0, 0, -6 * MathHelper.Pi, 0, 0, False, False, True, False)
|
||||
CatchAnimation.AnimationRotate(BallEntity, False, 0, 0, 6 * MathHelper.Pi, 0, 0, 0, 4, 0, False, False, True, False)
|
||||
|
||||
@ -206,7 +206,7 @@ nextIndex:
|
||||
Dim StarPosition As Vector3 = New Vector3(BattleScreen.OppPokemonNPC.Position.X + 0.05F, BattleScreen.OppPokemonNPC.Position.Y, BattleScreen.OppPokemonNPC.Position.Z)
|
||||
Dim StarDestination As Vector3 = New Vector3(0.05F, 0.65F, 0 - ((1 - i) * 0.4F))
|
||||
Dim StarEntity As Entity = CatchAnimation.SpawnEntity(StarPosition, TextureManager.GetTexture("Textures\Battle\BallCatchStar"), New Vector3(0.35F), 1.0F, 12 + Shakes.Count * 10)
|
||||
CatchAnimation.AnimationMove(StarEntity, True, StarDestination.X, StarDestination.Y, StarDestination.Z, 0.01F, False, False, 12 + Shakes.Count * 10, 0.0F,,, 3, 0.015F)
|
||||
CatchAnimation.AnimationMove(StarEntity, True, StarDestination.X, StarDestination.Y, StarDestination.Z, 0.01F, False, False, 12 + Shakes.Count * 10, 0.0F,,, 0.015F)
|
||||
CatchAnimation.AnimationPlaySound("Battle\Pokeball\Catch", 12 + Shakes.Count * 10, 4)
|
||||
CatchAnimation.AnimationFade(BallEntity, True, 0.01F, False, 0.0F, 12 + Shakes.Count * 10 + 3, 2)
|
||||
Next
|
||||
|
Loading…
x
Reference in New Issue
Block a user