Merge branch 'BattleAnimations'
|
@ -0,0 +1,60 @@
|
|||
Public Class BABackground
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
||||
Public TransitionSpeed As Single = 0.01F
|
||||
Public FadeIn As Boolean = False
|
||||
Public FadeOut As Boolean = False
|
||||
Public BackgroundOpacity As Single = 1.0F
|
||||
Public EndState As Single = 0.0F
|
||||
Public Texture As Texture2D
|
||||
|
||||
Public Sub New(ByVal Texture As Texture2D, ByVal TransitionSpeed As Single, ByVal FadeIn As Boolean, FadeOut As Boolean, ByVal EndState As Single, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal StartState As Single = 0.0F)
|
||||
MyBase.New(New Vector3(0.0F), TextureManager.DefaultTexture, New Vector3(1.0F), startDelay, endDelay)
|
||||
Me.Texture = Texture
|
||||
Me.EndState = EndState
|
||||
Me.FadeIn = FadeIn
|
||||
Me.FadeOut = FadeOut
|
||||
Me.TransitionSpeed = TransitionSpeed
|
||||
|
||||
Me.BackgroundOpacity = StartState
|
||||
Me.Visible = False
|
||||
|
||||
Me.AnimationType = AnimationTypes.Background
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Render()
|
||||
If startDelay = 0.0F AndAlso Me.BackgroundOpacity > 0.0F Then
|
||||
Core.SpriteBatch.Draw(Me.Texture, New Rectangle(0, 0, windowSize.Width, windowSize.Height), New Color(255, 255, 255, CInt(255 * Me.BackgroundOpacity)))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub DoActionActive()
|
||||
If Me.FadeIn = True Then
|
||||
If Me.EndState > Me.BackgroundOpacity Then
|
||||
Me.BackgroundOpacity += Me.TransitionSpeed
|
||||
If Me.BackgroundOpacity >= Me.EndState Then
|
||||
Me.BackgroundOpacity = Me.EndState
|
||||
Me.FadeIn = False
|
||||
Me.EndState = 0
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
If Me.FadeOut = True Then
|
||||
If Me.EndState < Me.BackgroundOpacity Then
|
||||
Me.BackgroundOpacity -= Me.TransitionSpeed
|
||||
If Me.BackgroundOpacity <= Me.EndState Then
|
||||
Me.BackgroundOpacity = Me.EndState
|
||||
End If
|
||||
End If
|
||||
If Me.BackgroundOpacity = Me.EndState Then
|
||||
Me.Ready = True
|
||||
End If
|
||||
Else
|
||||
Me.BackgroundOpacity = Me.EndState
|
||||
Me.Ready = True
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
|
@ -0,0 +1,67 @@
|
|||
Public Class BAEntityColor
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
||||
Public TargetEntity As Entity
|
||||
Public TransitionSpeed As Single = 0.01F
|
||||
Public FadeIn As Boolean = False
|
||||
Public ColorTo As Vector3 = New Vector3(1.0F, 1.0F, 1.0F)
|
||||
|
||||
Public Sub New(ByVal Entity As Entity, ByVal TransitionSpeed As Single, ByVal startDelay As Single, ByVal endDelay As Single, ByVal ColorTo As Color, Optional ByVal ColorFrom As Color = Nothing)
|
||||
MyBase.New(New Vector3(0.0F), TextureManager.DefaultTexture, New Vector3(1.0F), startDelay, endDelay)
|
||||
|
||||
Me.TransitionSpeed = TransitionSpeed
|
||||
Me.TargetEntity = Entity
|
||||
|
||||
If Not ColorFrom = Nothing Then
|
||||
TargetEntity.Color = ColorFrom.ToVector3
|
||||
End If
|
||||
Me.ColorTo = ColorTo.ToVector3
|
||||
|
||||
Me.Visible = False
|
||||
|
||||
Me.AnimationType = AnimationTypes.Transition
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub DoActionActive()
|
||||
|
||||
If TargetEntity.Color.X > ColorTo.X Then
|
||||
TargetEntity.Color.X -= CByte(Me.TransitionSpeed)
|
||||
If TargetEntity.Color.X <= ColorTo.X Then
|
||||
TargetEntity.Color.X = ColorTo.X
|
||||
End If
|
||||
ElseIf TargetEntity.Color.X < ColorTo.X Then
|
||||
TargetEntity.Color.X += CByte(Me.TransitionSpeed)
|
||||
If TargetEntity.Color.X >= ColorTo.X Then
|
||||
TargetEntity.Color.X = ColorTo.X
|
||||
End If
|
||||
End If
|
||||
If TargetEntity.Color.Y > ColorTo.Y Then
|
||||
TargetEntity.Color.Y -= CByte(Me.TransitionSpeed)
|
||||
If TargetEntity.Color.Y <= ColorTo.Y Then
|
||||
TargetEntity.Color.Y = ColorTo.Y
|
||||
End If
|
||||
ElseIf TargetEntity.Color.Y < ColorTo.Y Then
|
||||
TargetEntity.Color.Y += CByte(Me.TransitionSpeed)
|
||||
If TargetEntity.Color.Y >= ColorTo.Y Then
|
||||
TargetEntity.Color.Y = ColorTo.Y
|
||||
End If
|
||||
End If
|
||||
If TargetEntity.Color.Z > ColorTo.Z Then
|
||||
TargetEntity.Color.Z -= CByte(Me.TransitionSpeed)
|
||||
If TargetEntity.Color.Z <= ColorTo.Z Then
|
||||
TargetEntity.Color.Z = ColorTo.Z
|
||||
End If
|
||||
ElseIf TargetEntity.Color.Z < ColorTo.Z Then
|
||||
TargetEntity.Color.Z += CByte(Me.TransitionSpeed)
|
||||
If TargetEntity.Color.Z >= ColorTo.Z Then
|
||||
TargetEntity.Color.Z = ColorTo.Z
|
||||
End If
|
||||
End If
|
||||
|
||||
If TargetEntity.Color = ColorTo Then
|
||||
Me.Ready = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
|
@ -1,10 +1,11 @@
|
|||
Public Class BABillMove
|
||||
Public Class BAEntityMove
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
||||
Public TargetEntity As Entity
|
||||
Public Destination As Vector3
|
||||
Public MoveSpeed As Single
|
||||
Public MoveYSpeed As Single
|
||||
Public InterpolationSpeed As Single
|
||||
Public SpinX As Boolean = False
|
||||
Public SpinZ As Boolean = False
|
||||
|
@ -13,6 +14,7 @@
|
|||
Public MovementCurve As Integer = 3
|
||||
Private EasedIn As Boolean = False
|
||||
Private EasedOut As Boolean = False
|
||||
Public RemoveEntityAfter As Boolean
|
||||
Public Enum Curves As Integer
|
||||
EaseIn
|
||||
EaseOut
|
||||
|
@ -20,11 +22,17 @@
|
|||
Linear
|
||||
End Enum
|
||||
|
||||
Public Sub New(ByRef entity As Entity, ByVal Destination As Vector3, 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)
|
||||
Public Sub New(ByRef Entity As Entity, ByVal RemoveEntityAfter As Boolean, ByVal Destination As Vector3, 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)
|
||||
MyBase.New(New Vector3(0.0F), TextureManager.DefaultTexture, New Vector3(1.0F), startDelay, endDelay)
|
||||
|
||||
Me.RemoveEntityAfter = RemoveEntityAfter
|
||||
Me.Destination = Destination
|
||||
Me.MoveSpeed = Speed
|
||||
If MoveYSpeed = 0F Then
|
||||
Me.MoveYSpeed = MoveSpeed
|
||||
Else
|
||||
Me.MoveYSpeed = MoveYSpeed
|
||||
End If
|
||||
Me.MovementCurve = CType(MovementCurve, Curves)
|
||||
|
||||
Me.SpinX = SpinX
|
||||
|
@ -33,7 +41,7 @@
|
|||
Me.SpinSpeedZ = SpinZSpeed
|
||||
|
||||
Me.Visible = False
|
||||
Me.TargetEntity = entity
|
||||
Me.TargetEntity = Entity
|
||||
|
||||
Select Case MovementCurve
|
||||
Case Curves.EaseIn
|
||||
|
@ -59,8 +67,7 @@
|
|||
|
||||
Private Sub Spin()
|
||||
If Me.SpinX = True Then
|
||||
Dim targetEntity = Me.TargetEntity
|
||||
targetEntity.Rotation.X += SpinSpeedX
|
||||
TargetEntity.Rotation.X += SpinSpeedX
|
||||
End If
|
||||
If Me.SpinZ = True Then
|
||||
TargetEntity.Rotation.Z += SpinSpeedZ
|
||||
|
@ -122,13 +129,13 @@
|
|||
End If
|
||||
End If
|
||||
If TargetEntity.Position.Y < Me.Destination.Y Then
|
||||
TargetEntity.Position.Y += Me.MoveSpeed
|
||||
TargetEntity.Position.Y += Me.MoveYSpeed
|
||||
|
||||
If TargetEntity.Position.Y >= Me.Destination.Y Then
|
||||
TargetEntity.Position.Y = Me.Destination.Y
|
||||
End If
|
||||
ElseIf TargetEntity.Position.Y > Me.Destination.Y Then
|
||||
TargetEntity.Position.Y -= Me.MoveSpeed
|
||||
TargetEntity.Position.Y -= Me.MoveYSpeed
|
||||
|
||||
If TargetEntity.Position.Y <= Me.Destination.Y Then
|
||||
TargetEntity.Position.Y = Me.Destination.Y
|
||||
|
@ -186,5 +193,10 @@
|
|||
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
|
|
@ -1,4 +1,4 @@
|
|||
Public Class BABillOpacity
|
||||
Public Class BAEntityOpacity
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
||||
|
@ -6,9 +6,11 @@
|
|||
Public TransitionSpeed As Single = 0.01F
|
||||
Public FadeIn As Boolean = False
|
||||
Public EndState As Single = 0.0F
|
||||
Public RemoveEntityAfter As Boolean
|
||||
|
||||
Public Sub New(ByVal entity As Entity, ByVal TransitionSpeed As Single, ByVal FadeIn As Boolean, ByVal EndState As Single, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal StartState As Single = 1.0F)
|
||||
Public Sub New(ByVal entity As Entity, ByVal RemoveEntityAfter As Boolean, ByVal TransitionSpeed As Single, ByVal FadeIn As Boolean, ByVal EndState As Single, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal StartState As Single = 1.0F)
|
||||
MyBase.New(New Vector3(0.0F), TextureManager.DefaultTexture, New Vector3(1.0F), startDelay, endDelay)
|
||||
Me.RemoveEntityAfter = RemoveEntityAfter
|
||||
Me.EndState = EndState
|
||||
Me.FadeIn = FadeIn
|
||||
Me.TransitionSpeed = TransitionSpeed
|
||||
|
@ -41,5 +43,9 @@
|
|||
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
|
|
@ -0,0 +1,137 @@
|
|||
Public Class BAEntityRotate
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
||||
Dim TargetEntity As Entity
|
||||
Dim RotationSpeedVector As Vector3
|
||||
Dim EndRotation As Vector3
|
||||
Dim DoReturn As Boolean = False
|
||||
Dim ReturnVector As Vector3
|
||||
Dim hasReturned As Boolean = False
|
||||
Dim DoRotation As Vector3 = New Vector3(1.0F)
|
||||
Public RemoveEntityAfter As Boolean = False
|
||||
|
||||
Public Sub New(ByVal Entity As Entity, ByVal RemoveEntityAfter As Boolean, ByVal RotationSpeedVector As Vector3, ByVal EndRotation As Vector3, ByVal startDelay As Single, ByVal endDelay As Single)
|
||||
MyBase.New(New Vector3(0.0F), TextureManager.DefaultTexture, New Vector3(1.0F), startDelay, endDelay)
|
||||
Me.RemoveEntityAfter = RemoveEntityAfter
|
||||
Me.RotationSpeedVector = RotationSpeedVector
|
||||
Me.EndRotation = EndRotation
|
||||
Me.ReturnVector = Me.Rotation
|
||||
Me.TargetEntity = Entity
|
||||
End Sub
|
||||
|
||||
Public Sub New(ByVal Entity As Entity, ByVal RemoveEntityAfter As Boolean, ByVal RotationSpeedVector As Vector3, ByVal EndRotation As Vector3, ByVal startDelay As Single, ByVal endDelay As Single, ByVal DoXRotation As Boolean, ByVal DoYRotation As Boolean, ByVal DoZRotation As Boolean)
|
||||
Me.New(Entity, RemoveEntityAfter, RotationSpeedVector, EndRotation, startDelay, endDelay)
|
||||
|
||||
If DoXRotation = False Then
|
||||
DoRotation.X = 0.0F
|
||||
End If
|
||||
If DoYRotation = False Then
|
||||
DoRotation.Y = 0.0F
|
||||
End If
|
||||
If DoZRotation = False Then
|
||||
DoRotation.Z = 0.0F
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub New(ByVal Entity As Entity, ByVal RemoveEntityAfter As Boolean, ByVal RotationSpeedVector As Vector3, ByVal EndRotation As Vector3, ByVal startDelay As Single, ByVal endDelay As Single, ByVal DoXRotation As Boolean, ByVal DoYRotation As Boolean, ByVal DoZRotation As Boolean, ByVal DoReturn As Boolean)
|
||||
Me.New(Entity, RemoveEntityAfter, RotationSpeedVector, EndRotation, startDelay, endDelay, DoXRotation, DoYRotation, DoZRotation)
|
||||
|
||||
Me.DoReturn = DoReturn
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub DoActionActive()
|
||||
If VectorReached() = False Then
|
||||
|
||||
If DoRotation.X = 1.0F Then
|
||||
If TargetEntity.Rotation.X > Me.EndRotation.X Then
|
||||
TargetEntity.Rotation.X += Me.RotationSpeedVector.X
|
||||
|
||||
If TargetEntity.Rotation.X <= Me.EndRotation.X Then
|
||||
TargetEntity.Rotation.X = Me.EndRotation.X
|
||||
End If
|
||||
ElseIf TargetEntity.Rotation.X < Me.EndRotation.X Then
|
||||
TargetEntity.Rotation.X += Me.RotationSpeedVector.X
|
||||
|
||||
If TargetEntity.Rotation.X >= Me.EndRotation.X Then
|
||||
TargetEntity.Rotation.X = Me.EndRotation.X
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If DoRotation.Y = 1.0F Then
|
||||
If TargetEntity.Rotation.Y > Me.EndRotation.Y Then
|
||||
TargetEntity.Rotation.Y += Me.RotationSpeedVector.Y
|
||||
|
||||
If TargetEntity.Rotation.Y <= Me.EndRotation.Y Then
|
||||
TargetEntity.Rotation.Y = Me.EndRotation.Y
|
||||
End If
|
||||
ElseIf TargetEntity.Rotation.Y < Me.EndRotation.Y Then
|
||||
TargetEntity.Rotation.Y += Me.RotationSpeedVector.Y
|
||||
|
||||
If TargetEntity.Rotation.Y >= Me.EndRotation.Y Then
|
||||
TargetEntity.Rotation.Y = Me.EndRotation.Y
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If DoRotation.Z = 1.0F Then
|
||||
If TargetEntity.Rotation.Z > Me.EndRotation.Z Then
|
||||
TargetEntity.Rotation.Z += Me.RotationSpeedVector.Z
|
||||
|
||||
If TargetEntity.Rotation.Z <= Me.EndRotation.Z Then
|
||||
TargetEntity.Rotation.Z = Me.EndRotation.Z
|
||||
End If
|
||||
ElseIf TargetEntity.Rotation.Z < Me.EndRotation.Z Then
|
||||
TargetEntity.Rotation.Z += Me.RotationSpeedVector.Z
|
||||
|
||||
If TargetEntity.Rotation.Z >= Me.EndRotation.Z Then
|
||||
TargetEntity.Rotation.Z = Me.EndRotation.Z
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If VectorReached() = True Then
|
||||
RotationReady()
|
||||
End If
|
||||
Else
|
||||
RotationReady()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub RotationReady()
|
||||
If Me.DoReturn = True And Me.hasReturned = False Then
|
||||
Me.hasReturned = True
|
||||
Me.EndRotation = Me.ReturnVector
|
||||
Me.RotationSpeedVector = New Vector3(Me.RotationSpeedVector.X * -1, Me.RotationSpeedVector.Y * -1, Me.RotationSpeedVector.Z * -1)
|
||||
Else
|
||||
Me.Ready = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function VectorReached() As Boolean
|
||||
If DoRotation.X = 1.0F Then
|
||||
If EndRotation.X <> TargetEntity.Rotation.X Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
If DoRotation.Y = 1.0F Then
|
||||
If EndRotation.Y <> TargetEntity.Rotation.Y Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
If DoRotation.Z = 1.0F Then
|
||||
If EndRotation.Z <> TargetEntity.Rotation.Z Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Public Overrides Sub DoRemoveEntity()
|
||||
If Me.RemoveEntityAfter = True Then
|
||||
TargetEntity.CanBeRemoved = True
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
|
@ -1,4 +1,4 @@
|
|||
Public Class BABillSize
|
||||
Public Class BAEntityScale
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
||||
|
@ -6,13 +6,14 @@
|
|||
Public EndSize As Vector3
|
||||
Public SizeSpeed As Single = 0.01F
|
||||
Public TargetEntity As Entity
|
||||
Public Anchors As String
|
||||
Public Anchors As String '1 = Bottom, 2 = Top, 3 = Left, 4 = Right. Combinations are possible.
|
||||
|
||||
Public Change As New Vector3(1)
|
||||
Public RemoveEntityAfter As Boolean
|
||||
|
||||
Public Sub New(ByVal Entity As Entity, ByVal Scale As Vector3, ByVal Grow As Boolean, ByVal EndSize As Vector3, ByVal SizeSpeed As Single, ByVal startDelay As Single, ByVal endDelay As Single, ByVal Anchors As String)
|
||||
Public Sub New(ByVal Entity As Entity, ByVal RemoveEntityAfter As Boolean, ByVal Scale As Vector3, ByVal Grow As Boolean, ByVal EndSize As Vector3, ByVal SizeSpeed As Single, ByVal startDelay As Single, ByVal endDelay As Single, ByVal Anchors As String)
|
||||
MyBase.New(New Vector3(0.0F), TextureManager.DefaultTexture, Scale, startDelay, endDelay)
|
||||
|
||||
Me.RemoveEntityAfter = RemoveEntityAfter
|
||||
Me.Anchors = Anchors
|
||||
Me.Grow = Grow
|
||||
Me.EndSize = EndSize
|
||||
|
@ -78,22 +79,22 @@
|
|||
'Bottom
|
||||
If Anchors.Contains("1") = True Then
|
||||
Dim diffY As Single = saveScale.Y - TargetEntity.Scale.Y
|
||||
Me.Position.Y -= diffY / 2
|
||||
TargetEntity.Position.Y -= diffY / 2
|
||||
End If
|
||||
'Top
|
||||
If Anchors.Contains("2") = True Then
|
||||
Dim diffY As Single = saveScale.Y - TargetEntity.Scale.Y
|
||||
Me.Position.Y += diffY / 2
|
||||
TargetEntity.Position.Y += diffY / 2
|
||||
End If
|
||||
'Left
|
||||
If Anchors.Contains("3") = True Then
|
||||
Dim diffX As Single = saveScale.X - TargetEntity.Scale.X
|
||||
Me.Position.X -= diffX / 2
|
||||
TargetEntity.Position.X -= diffX / 2
|
||||
End If
|
||||
'Right
|
||||
If Anchors.Contains("4") = True Then
|
||||
Dim diffX As Single = saveScale.X - TargetEntity.Scale.X
|
||||
Me.Position.X += diffX / 2
|
||||
TargetEntity.Position.X += diffX / 2
|
||||
End If
|
||||
|
||||
If Me.EndSize = TargetEntity.Scale Then
|
||||
|
@ -104,5 +105,10 @@
|
|||
Public Sub SetChange(ByVal changeX As Single, ByVal changeY As Single, ByVal changeZ As Single)
|
||||
Me.Change = New Vector3(changeX, changeY, changeZ)
|
||||
End Sub
|
||||
Public Overrides Sub DoRemoveEntity()
|
||||
If Me.RemoveEntityAfter = True Then
|
||||
TargetEntity.CanBeRemoved = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
|
@ -0,0 +1,27 @@
|
|||
Public Class BAEntityTextureChange
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
||||
Public Texture As Texture2D
|
||||
Public TargetEntity As Entity
|
||||
Public RemoveEntityAfter As Boolean
|
||||
|
||||
Public Sub New(ByVal Entity As Entity, ByVal RemoveEntityAfter As Boolean, Texture As Texture2D, ByVal startDelay As Single, ByVal endDelay As Single)
|
||||
MyBase.New(New Vector3(0.0F), TextureManager.DefaultTexture, New Vector3(1.0F), startDelay, endDelay)
|
||||
Me.RemoveEntityAfter = RemoveEntityAfter
|
||||
Me.TargetEntity = Entity
|
||||
Me.Texture = Texture
|
||||
Me.AnimationType = AnimationTypes.Texture
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub DoActionActive()
|
||||
TargetEntity.Textures = {Me.Texture}
|
||||
Me.Ready = True
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub DoRemoveEntity()
|
||||
If Me.RemoveEntityAfter = True Then
|
||||
TargetEntity.CanBeRemoved = True
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
|
@ -1,194 +0,0 @@
|
|||
Public Class BAMove
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
||||
Public Destination As Vector3
|
||||
Public MoveSpeed As Single
|
||||
Public SpinX As Boolean = False
|
||||
Public SpinZ As Boolean = False
|
||||
|
||||
Public InterpolationSpeed As Single
|
||||
Public SpinSpeedX As Single = 0.1F
|
||||
Public SpinSpeedZ As Single = 0.1F
|
||||
Public MovementCurve As Integer = 2
|
||||
|
||||
Private EasedIn As Boolean = False
|
||||
Private EasedOut As Boolean = False
|
||||
Public Enum Curves As Integer
|
||||
EaseIn
|
||||
EaseOut
|
||||
EaseInAndOut
|
||||
Linear
|
||||
End Enum
|
||||
Public Sub New(ByVal Position As Vector3, ByVal Texture As Texture2D, ByVal Scale As Vector3, ByVal Destination As Vector3, 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 = 2)
|
||||
MyBase.New(Position, Texture, Scale, startDelay, endDelay)
|
||||
|
||||
Me.Position = Position
|
||||
Me.Destination = Destination
|
||||
Me.MovementCurve = CType(MovementCurve, Curves)
|
||||
|
||||
Me.MoveSpeed = Speed
|
||||
Me.Scale = Scale
|
||||
Me.SpinSpeedX = SpinXSpeed
|
||||
Me.SpinSpeedZ = SpinZSpeed
|
||||
|
||||
Me.SpinX = SpinX
|
||||
Me.SpinZ = SpinZ
|
||||
|
||||
Select Case MovementCurve
|
||||
Case Curves.EaseIn
|
||||
InterpolationSpeed = 0.0F
|
||||
Case Curves.EaseOut
|
||||
InterpolationSpeed = MoveSpeed
|
||||
Case Curves.EaseInAndOut
|
||||
InterpolationSpeed = 0.0F
|
||||
Case Curves.Linear
|
||||
InterpolationSpeed = MoveSpeed
|
||||
End Select
|
||||
|
||||
Me.AnimationType = AnimationTypes.Move
|
||||
End Sub
|
||||
|
||||
Public Sub New(ByVal Position As Vector3, ByVal Texture As Texture2D, ByVal Scale As Vector3, ByVal Destination As Vector3, ByVal Speed As Single, ByVal startDelay As Single, ByVal endDelay As Single)
|
||||
Me.New(Position, Texture, Scale, Destination, Speed, False, False, startDelay, endDelay, 0.1, 0.1, 2)
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub DoActionUpdate()
|
||||
Spin()
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub DoActionActive()
|
||||
Move()
|
||||
End Sub
|
||||
|
||||
Private Sub Spin()
|
||||
If Me.SpinX = True Then
|
||||
Me.Rotation.X += SpinSpeedX
|
||||
End If
|
||||
If Me.SpinZ = True Then
|
||||
Me.Rotation.Z += SpinSpeedZ
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Move()
|
||||
Select Case MovementCurve
|
||||
Case Curves.EaseIn
|
||||
If EasedIn = False Then
|
||||
If InterpolationSpeed < MoveSpeed Then
|
||||
InterpolationSpeed += MoveSpeed / 10
|
||||
Else
|
||||
EasedIn = True
|
||||
InterpolationSpeed = MoveSpeed
|
||||
End If
|
||||
End If
|
||||
Case Curves.EaseOut
|
||||
If EasedOut = False Then
|
||||
If InterpolationSpeed > 0 Then
|
||||
InterpolationSpeed -= MoveSpeed / 10
|
||||
Else
|
||||
EasedOut = True
|
||||
InterpolationSpeed = 0
|
||||
End If
|
||||
End If
|
||||
Case Curves.EaseInAndOut
|
||||
If EasedIn = False Then
|
||||
If InterpolationSpeed < MoveSpeed Then
|
||||
InterpolationSpeed += MoveSpeed / 10
|
||||
Else
|
||||
EasedIn = True
|
||||
InterpolationSpeed = MoveSpeed
|
||||
End If
|
||||
Else
|
||||
If EasedOut = False Then
|
||||
If InterpolationSpeed > 0 Then
|
||||
InterpolationSpeed -= MoveSpeed / 10
|
||||
Else
|
||||
EasedOut = True
|
||||
InterpolationSpeed = 0
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Select
|
||||
If MovementCurve = Curves.Linear Then
|
||||
If Me.Position.X < Me.Destination.X Then
|
||||
Me.Position.X += Me.MoveSpeed
|
||||
|
||||
If Me.Position.X >= Me.Destination.X Then
|
||||
Me.Position.X = Me.Destination.X
|
||||
End If
|
||||
ElseIf Me.Position.X > Me.Destination.X Then
|
||||
Me.Position.X -= Me.MoveSpeed
|
||||
|
||||
If Me.Position.X <= Me.Destination.X Then
|
||||
Me.Position.X = Me.Destination.X
|
||||
End If
|
||||
End If
|
||||
If Me.Position.Y < Me.Destination.Y Then
|
||||
Me.Position.Y += Me.MoveSpeed
|
||||
|
||||
If Me.Position.Y >= Me.Destination.Y Then
|
||||
Me.Position.Y = Me.Destination.Y
|
||||
End If
|
||||
ElseIf Me.Position.Y > Me.Destination.Y Then
|
||||
Me.Position.Y -= Me.MoveSpeed
|
||||
|
||||
If Me.Position.Y <= Me.Destination.Y Then
|
||||
Me.Position.Y = Me.Destination.Y
|
||||
End If
|
||||
End If
|
||||
If Me.Position.Z < Me.Destination.Z Then
|
||||
Me.Position.Z += Me.MoveSpeed
|
||||
|
||||
If Me.Position.Z >= Me.Destination.Z Then
|
||||
Me.Position.Z = Me.Destination.Z
|
||||
End If
|
||||
ElseIf Me.Position.Z > Me.Destination.Z Then
|
||||
Me.Position.Z -= Me.MoveSpeed
|
||||
|
||||
If Me.Position.Z <= Me.Destination.Z Then
|
||||
Me.Position.Z = Me.Destination.Z
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
If Me.Position.X < Me.Destination.X Then
|
||||
Me.Position.X = MathHelper.Lerp(Me.Position.X, Me.Destination.X, Me.InterpolationSpeed)
|
||||
If Me.Position.X > Me.Destination.X - 0.05 Then
|
||||
Me.Position.X = Me.Destination.X
|
||||
End If
|
||||
ElseIf Me.Position.X > Me.Destination.X Then
|
||||
Me.Position.X = MathHelper.Lerp(Me.Position.X, Me.Destination.X, Me.InterpolationSpeed)
|
||||
If Me.Position.X < Me.Destination.X + 0.05 Then
|
||||
Me.Position.X = Me.Destination.X
|
||||
End If
|
||||
End If
|
||||
If Me.Position.Y < Me.Destination.Y Then
|
||||
Me.Position.Y = MathHelper.Lerp(Me.Position.Y, Me.Destination.Y, Me.InterpolationSpeed)
|
||||
If Me.Position.Y > Me.Destination.Y - 0.05 Then
|
||||
Me.Position.Y = Me.Destination.Y
|
||||
End If
|
||||
ElseIf Me.Position.Y > Me.Destination.Y Then
|
||||
Me.Position.Y = MathHelper.Lerp(Me.Position.Y, Me.Destination.Y, Me.InterpolationSpeed)
|
||||
If Me.Position.Y < Me.Destination.Y + 0.05 Then
|
||||
Me.Position.Y = Me.Destination.Y
|
||||
End If
|
||||
End If
|
||||
If Me.Position.Z < Me.Destination.Z Then
|
||||
Me.Position.Z = MathHelper.Lerp(Me.Position.Z, Me.Destination.Z, Me.InterpolationSpeed)
|
||||
If Me.Position.Z > Me.Destination.Z - 0.05 Then
|
||||
Me.Position.Z = Me.Destination.Z
|
||||
End If
|
||||
ElseIf Me.Position.Z > Me.Destination.Z Then
|
||||
Me.Position.Z = MathHelper.Lerp(Me.Position.Z, Me.Destination.Z, Me.InterpolationSpeed)
|
||||
If Me.Position.Z < Me.Destination.Z + 0.05 Then
|
||||
Me.Position.Z = Me.Destination.Z
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If Me.Position = Destination Then
|
||||
Me.Ready = True
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
|
@ -1,41 +0,0 @@
|
|||
Public Class BAOpacity
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
||||
Public TransitionSpeed As Single = 0.01F
|
||||
Public FadeIn As Boolean = False
|
||||
Public EndState As Single = 0.0F
|
||||
|
||||
Public Sub New(ByVal Position As Vector3, ByVal Texture As Texture2D, ByVal Scale As Vector3, ByVal TransitionSpeed As Single, ByVal FadeIn As Boolean, ByVal EndState As Single, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal StartState As Single = 1.0F)
|
||||
MyBase.New(Position, Texture, Scale, startDelay, endDelay)
|
||||
MyBase.Opacity = StartState
|
||||
Me.EndState = EndState
|
||||
Me.FadeIn = FadeIn
|
||||
Me.TransitionSpeed = TransitionSpeed
|
||||
|
||||
Me.AnimationType = AnimationTypes.Transition
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub DoActionActive()
|
||||
If Me.FadeIn = True Then
|
||||
If Me.EndState > Me.Opacity Then
|
||||
Me.Opacity += Me.TransitionSpeed
|
||||
If Me.Opacity >= Me.EndState Then
|
||||
Me.Opacity = Me.EndState
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
If Me.EndState < Me.Opacity Then
|
||||
Me.Opacity -= Me.TransitionSpeed
|
||||
If Me.Opacity <= Me.EndState Then
|
||||
Me.Opacity = Me.EndState
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If Me.Opacity = Me.EndState Then
|
||||
Me.Ready = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
|
@ -1,4 +1,4 @@
|
|||
Public Class BASound
|
||||
Public Class BAPlaySound
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
|
@ -1,129 +0,0 @@
|
|||
Public Class BARotation
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
||||
Dim RotationVector As Vector3
|
||||
Dim EndRotation As Vector3
|
||||
Dim DoReturn As Boolean = False
|
||||
Dim ReturnVector As Vector3
|
||||
Dim hasReturned As Boolean = False
|
||||
Dim DoRotation As Vector3 = New Vector3(1.0F)
|
||||
|
||||
Public Sub New(ByVal Position As Vector3, ByVal Texture As Texture2D, ByVal Scale As Vector3, ByVal RotationVector As Vector3, ByVal EndRotation As Vector3, ByVal startDelay As Single, ByVal endDelay As Single)
|
||||
MyBase.New(Position, Texture, Scale, startDelay, endDelay)
|
||||
|
||||
Me.RotationVector = RotationVector
|
||||
Me.EndRotation = EndRotation
|
||||
Me.ReturnVector = Me.Rotation
|
||||
End Sub
|
||||
|
||||
Public Sub New(ByVal Position As Vector3, ByVal Texture As Texture2D, ByVal Scale As Vector3, ByVal RotationVector As Vector3, ByVal EndRotation As Vector3, ByVal startDelay As Single, ByVal endDelay As Single, ByVal DoXRotation As Boolean, ByVal DoYRotation As Boolean, ByVal DoZRotation As Boolean)
|
||||
Me.New(Position, Texture, Scale, RotationVector, EndRotation, startDelay, endDelay)
|
||||
|
||||
If DoXRotation = False Then
|
||||
DoRotation.X = 0.0F
|
||||
End If
|
||||
If DoYRotation = False Then
|
||||
DoRotation.Y = 0.0F
|
||||
End If
|
||||
If DoZRotation = False Then
|
||||
DoRotation.Z = 0.0F
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub New(ByVal Position As Vector3, ByVal Texture As Texture2D, ByVal Scale As Vector3, ByVal RotationVector As Vector3, ByVal EndRotation As Vector3, ByVal startDelay As Single, ByVal endDelay As Single, ByVal DoXRotation As Boolean, ByVal DoYRotation As Boolean, ByVal DoZRotation As Boolean, ByVal DoReturn As Boolean)
|
||||
Me.New(Position, Texture, Scale, RotationVector, EndRotation, startDelay, endDelay, DoXRotation, DoYRotation, DoZRotation)
|
||||
|
||||
Me.DoReturn = DoReturn
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub DoActionActive()
|
||||
If VectorReached() = False Then
|
||||
|
||||
If DoRotation.X = 1.0F Then
|
||||
If Me.Rotation.X > Me.EndRotation.X Then
|
||||
Me.Rotation.X += Me.RotationVector.X
|
||||
|
||||
If Me.Rotation.X <= Me.EndRotation.X Then
|
||||
Me.Rotation.X = Me.EndRotation.X
|
||||
End If
|
||||
ElseIf Me.Rotation.X < Me.EndRotation.X Then
|
||||
Me.Rotation.X += Me.RotationVector.X
|
||||
|
||||
If Me.Rotation.X >= Me.EndRotation.X Then
|
||||
Me.Rotation.X = Me.EndRotation.X
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If DoRotation.Y = 1.0F Then
|
||||
If Me.Rotation.Y > Me.EndRotation.Y Then
|
||||
Me.Rotation.Y += Me.RotationVector.Y
|
||||
|
||||
If Me.Rotation.Y <= Me.EndRotation.Y Then
|
||||
Me.Rotation.Y = Me.EndRotation.Y
|
||||
End If
|
||||
ElseIf Me.Rotation.Y < Me.EndRotation.Y Then
|
||||
Me.Rotation.Y += Me.RotationVector.Y
|
||||
|
||||
If Me.Rotation.Y >= Me.EndRotation.Y Then
|
||||
Me.Rotation.Y = Me.EndRotation.Y
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If DoRotation.Z = 1.0F Then
|
||||
If Me.Rotation.Z > Me.EndRotation.Z Then
|
||||
Me.Rotation.Z += Me.RotationVector.Z
|
||||
|
||||
If Me.Rotation.Z <= Me.EndRotation.Z Then
|
||||
Me.Rotation.Z = Me.EndRotation.Z
|
||||
End If
|
||||
ElseIf Me.Rotation.Z < Me.EndRotation.Z Then
|
||||
Me.Rotation.Z += Me.RotationVector.Z
|
||||
|
||||
If Me.Rotation.Z >= Me.EndRotation.Z Then
|
||||
Me.Rotation.Z = Me.EndRotation.Z
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If VectorReached() = True Then
|
||||
RotationReady()
|
||||
End If
|
||||
Else
|
||||
RotationReady()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub RotationReady()
|
||||
If Me.DoReturn = True And Me.hasReturned = False Then
|
||||
Me.hasReturned = True
|
||||
Me.EndRotation = Me.ReturnVector
|
||||
Me.RotationVector = New Vector3(Me.RotationVector.X * -1, Me.RotationVector.Y * -1, Me.RotationVector.Z * -1)
|
||||
Else
|
||||
Me.Ready = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function VectorReached() As Boolean
|
||||
If DoRotation.X = 1.0F Then
|
||||
If EndRotation.X <> Me.Rotation.X Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
If DoRotation.Y = 1.0F Then
|
||||
If EndRotation.Y <> Me.Rotation.Y Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
If DoRotation.Z = 1.0F Then
|
||||
If EndRotation.Z <> Me.Rotation.Z Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
End Class
|
|
@ -1,106 +0,0 @@
|
|||
Public Class BASize
|
||||
|
||||
Inherits BattleAnimation3D
|
||||
|
||||
Public Grow As Boolean = False
|
||||
Public EndSize As Vector3
|
||||
Public SizeSpeed As Single = 0.01F
|
||||
Public Anchors As String
|
||||
|
||||
Public Change As New Vector3(1)
|
||||
|
||||
Public Sub New(ByVal Position As Vector3, ByVal Texture As Texture2D, ByVal Scale As Vector3, ByVal Grow As Boolean, ByVal EndSize As Vector3, ByVal SizeSpeed As Single, ByVal startDelay As Single, ByVal endDelay As Single, ByVal Anchors As String)
|
||||
MyBase.New(Position, Texture, Scale, startDelay, endDelay)
|
||||
|
||||
Me.Anchors = Anchors
|
||||
Me.Grow = Grow
|
||||
Me.EndSize = EndSize
|
||||
Me.SizeSpeed = SizeSpeed
|
||||
|
||||
Me.AnimationType = AnimationTypes.Size
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub DoActionActive()
|
||||
Dim saveScale As Vector3 = Me.Scale
|
||||
|
||||
Dim changeX As Single = SizeSpeed * Change.X
|
||||
Dim changeY As Single = SizeSpeed * Change.Y
|
||||
Dim changeZ As Single = SizeSpeed * Change.Z
|
||||
|
||||
If Grow = True Then
|
||||
If Me.Scale.X < Me.EndSize.X Then
|
||||
Me.Scale.X += changeX
|
||||
|
||||
If Me.Scale.X >= Me.EndSize.X Then
|
||||
Me.Scale.X = Me.EndSize.X
|
||||
End If
|
||||
End If
|
||||
If Me.Scale.Y < Me.EndSize.Y Then
|
||||
Me.Scale.Y += changeY
|
||||
|
||||
If Me.Scale.Y >= Me.EndSize.Y Then
|
||||
Me.Scale.Y = Me.EndSize.Y
|
||||
End If
|
||||
End If
|
||||
If Me.Scale.Z < Me.EndSize.Z Then
|
||||
Me.Scale.Z += changeZ
|
||||
|
||||
If Me.Scale.Z >= Me.EndSize.Z Then
|
||||
Me.Scale.Z = Me.EndSize.Z
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
If Me.Scale.X > Me.EndSize.X Then
|
||||
Me.Scale.X -= changeX
|
||||
|
||||
If Me.Scale.X <= Me.EndSize.X Then
|
||||
Me.Scale.X = Me.EndSize.X
|
||||
End If
|
||||
End If
|
||||
If Me.Scale.Y > Me.EndSize.Y Then
|
||||
Me.Scale.Y -= changeY
|
||||
|
||||
If Me.Scale.Y <= Me.EndSize.Y Then
|
||||
Me.Scale.Y = Me.EndSize.Y
|
||||
End If
|
||||
End If
|
||||
If Me.Scale.Z > Me.EndSize.Z Then
|
||||
Me.Scale.Z -= changeZ
|
||||
|
||||
If Me.Scale.Z <= Me.EndSize.Z Then
|
||||
Me.Scale.Z = Me.EndSize.Z
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
'Bottom
|
||||
If Anchors.Contains("1") = True Then
|
||||
Dim diffY As Single = saveScale.Y - Me.Scale.Y
|
||||
Me.Position.Y -= diffY / 2
|
||||
End If
|
||||
'Top
|
||||
If Anchors.Contains("2") = True Then
|
||||
Dim diffY As Single = saveScale.Y - Me.Scale.Y
|
||||
Me.Position.Y += diffY / 2
|
||||
End If
|
||||
'Left
|
||||
If Anchors.Contains("3") = True Then
|
||||
Dim diffX As Single = saveScale.X - Me.Scale.X
|
||||
Me.Position.X -= diffX / 2
|
||||
End If
|
||||
'Right
|
||||
If Anchors.Contains("4") = True Then
|
||||
Dim diffX As Single = saveScale.X - Me.Scale.X
|
||||
Me.Position.X += diffX / 2
|
||||
End If
|
||||
|
||||
If Me.EndSize = Me.Scale Then
|
||||
Me.Ready = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub SetChange(ByVal changeX As Single, ByVal changeY As Single, ByVal changeZ As Single)
|
||||
Me.Change = New Vector3(changeX, changeY, changeZ)
|
||||
End Sub
|
||||
|
||||
End Class
|
|
@ -17,6 +17,7 @@
|
|||
Wait
|
||||
ViewPokeBill
|
||||
Sound
|
||||
Background
|
||||
End Enum
|
||||
|
||||
Public AnimationType As AnimationTypes = AnimationTypes.Nothing
|
||||
|
@ -24,14 +25,16 @@
|
|||
Public Ready As Boolean = False
|
||||
Public startDelay As Single
|
||||
Public endDelay As Single
|
||||
Public SpawnedEntity As Boolean = False
|
||||
|
||||
Public Sub New(ByVal Position As Vector3, ByVal Texture As Texture2D, ByVal Scale As Vector3, ByVal startDelay As Single, ByVal endDelay As Single)
|
||||
Public Sub New(ByVal Position As Vector3, ByVal Texture As Texture2D, ByVal Scale As Vector3, ByVal startDelay As Single, ByVal endDelay As Single, Optional SpawnedEntity As Boolean = False)
|
||||
MyBase.New(Position.X, Position.Y, Position.Z, "BattleAnimation", {Texture}, {0, 0}, False, 0, Scale, BaseModel.BillModel, 0, "", New Vector3(1.0F))
|
||||
|
||||
Me.Visible = Visible
|
||||
Me.startDelay = startDelay
|
||||
Me.endDelay = endDelay
|
||||
|
||||
Me.SpawnedEntity = SpawnedEntity
|
||||
|
||||
Me.CreateWorldEveryFrame = True
|
||||
Me.DropUpdateUnlessDrawn = False
|
||||
End Sub
|
||||
|
@ -47,6 +50,7 @@
|
|||
End If
|
||||
Else
|
||||
CanRemove = True
|
||||
DoRemoveEntity()
|
||||
End If
|
||||
Else
|
||||
If startDelay > 0.0F Then
|
||||
|
@ -56,6 +60,11 @@
|
|||
startDelay = 0.0F
|
||||
End If
|
||||
Else
|
||||
If SpawnedEntity = True Then
|
||||
Ready = True
|
||||
Else
|
||||
Me.Visible = True
|
||||
End If
|
||||
DoActionActive()
|
||||
End If
|
||||
End If
|
||||
|
@ -81,6 +90,9 @@
|
|||
Public Overridable Sub DoActionActive()
|
||||
'Insert code in Inherits class here.
|
||||
End Sub
|
||||
Public Overridable Sub DoRemoveEntity()
|
||||
'Insert code in Inherits class here.
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Render()
|
||||
If Me.startDelay <= 0.0F Then
|
||||
|
|
|
@ -384,7 +384,7 @@
|
|||
Core.SpriteBatch.Draw(Me.IconUnselected, New Rectangle(Core.ScreenSize.Width - (AllExtended + extraExtended) + 28, 132 + Index * 96, 48, 48), Color.White)
|
||||
If isSelected = True Then
|
||||
Core.SpriteBatch.Draw(Me.IconSelected, New Rectangle(Core.ScreenSize.Width - (AllExtended + extraExtended) + 28, 132 + Index * 96, 48, 48), New Color(255, 255, 255, (SelExtended + AllExtended)))
|
||||
Core.SpriteBatch.DrawString(FontManager.MainFont, Me.Text, New Vector2(Core.ScreenSize.Width - (AllExtended + extraExtended) + 86, 144 + Index * 96), New Color(0, 0, 0, (SelExtended + AllExtended)))
|
||||
Core.SpriteBatch.DrawString(FontManager.MainFont, Me.Text, New Vector2(CInt(Core.ScreenSize.Width - (AllExtended + extraExtended) + 86), CInt(144 + Index * 96)), New Color(0, 0, 0, (SelExtended + AllExtended)))
|
||||
Else
|
||||
If IconFading > 0 Then
|
||||
Core.SpriteBatch.Draw(Me.IconSelected, New Rectangle(Core.ScreenSize.Width - (AllExtended) + 28, 132 + Index * 96, 48, 48), New Color(255, 255, 255, IconFading))
|
||||
|
@ -471,10 +471,10 @@
|
|||
Dim ppColor As Color = GetPPColor()
|
||||
ppColor.A = CByte((extraExtended + AllExtended - deductAlpha).Clamp(0, 255))
|
||||
|
||||
Core.SpriteBatch.DrawString(FontManager.MiniFont, Me.Move.CurrentPP & "/" & Me.Move.MaxPP, New Vector2(Core.ScreenSize.Width - (AllExtended + extraExtended) + 28, 150 + Index * 96), ppColor)
|
||||
Core.SpriteBatch.DrawString(FontManager.MainFont, Me.Move.Name, New Vector2(Core.ScreenSize.Width - (AllExtended + extraExtended) + 86, 144 + Index * 96), New Color(0, 0, 0, (SelExtended + AllExtended) - deductAlpha))
|
||||
Core.SpriteBatch.DrawString(FontManager.MainFont, Me.Move.CurrentPP & "/" & Me.Move.MaxPP, New Vector2(CInt(Core.ScreenSize.Width - (AllExtended + extraExtended) + 28), CInt(152 + Index * 96)), ppColor)
|
||||
Core.SpriteBatch.DrawString(FontManager.MainFont, Me.Move.Name, New Vector2(CInt(Core.ScreenSize.Width - (AllExtended + extraExtended) + 86), CInt(132 + Index * 96)), New Color(0, 0, 0, (SelExtended + AllExtended) - deductAlpha))
|
||||
Else
|
||||
Core.SpriteBatch.DrawString(FontManager.MiniFont, Me.Move.Name, New Vector2(Core.ScreenSize.Width - (AllExtended + extraExtended) + 28, 150 + Index * 96), New Color(0, 0, 0, 255 - (extraExtended + AllExtended) - deductAlpha))
|
||||
Core.SpriteBatch.DrawString(FontManager.MainFont, Me.Move.Name, New Vector2(Core.ScreenSize.Width - (AllExtended + extraExtended) + 28, 152 + Index * 96), New Color(0, 0, 0, 255 - (extraExtended + AllExtended) - deductAlpha))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
@ -604,10 +604,21 @@
|
|||
_mainMenuItemList.Clear()
|
||||
BattleScreen.ClearMainMenuTime = False
|
||||
End If
|
||||
|
||||
If _mainMenuItemList.Count = 0 Then
|
||||
CreateMainMenuItems(BattleScreen)
|
||||
End If
|
||||
If BattleScreen.OwnFaint = True Then
|
||||
If BattleScreen.BattleQuery(0).QueryType <> QueryObject.QueryTypes.ScreenFade Then
|
||||
TempBattleScreen = BattleScreen
|
||||
|
||||
Player.Temp.PokemonScreenIndex = BattleScreen.OwnPokemonIndex
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf ShowPokemonMenu, "Choose Pokémon", False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = False}
|
||||
AddHandler selScreen.SelectedObject, AddressOf ShowPokemonMenuHandler
|
||||
|
||||
Core.SetScreen(selScreen)
|
||||
|
||||
End If
|
||||
End If
|
||||
If _retractMenu = False Then
|
||||
For Each m As MainMenuItem In _mainMenuItemList
|
||||
m.Update(BattleScreen, _allItemsExtended, (m.Index = _mainMenuIndex))
|
||||
|
|
|
@ -226,11 +226,11 @@
|
|||
Dim oppModel As String = GetModelName(False)
|
||||
|
||||
If ownModel = "" Then
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", True, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, WildPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", True, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, WildPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}, 1), NPC)
|
||||
OwnPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(12, -0.5F, 13) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 0.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 0, "Models\Bulbasaur\Normal", False, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
Else
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, WildPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OwnPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(12, -0.5F, 13) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 0.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 1, ownModel, True, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
OwnPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(12, -0.5F, 13) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 0.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 1, ownModel, True, New Vector3(1), 0, "", "", New Vector3(0), Nothing, 1), ModelEntity)
|
||||
End If
|
||||
|
||||
Screen.Level.Entities.Add(OwnPokemonNPC)
|
||||
|
@ -279,6 +279,8 @@
|
|||
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
||||
Dim q4 As TextQueryObject = New TextQueryObject("Go, " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||
|
||||
Me.BattleQuery.AddRange({cq, q1, q, q2, q22, q3, q31, q4})
|
||||
|
||||
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
||||
|
||||
Dim cq1 As ScreenFadeQueryObject = New ScreenFadeQueryObject(ScreenFadeQueryObject.FadeTypes.Vertical, Color.Black, True, 16)
|
||||
|
@ -286,8 +288,6 @@
|
|||
|
||||
cq2.PassThis = True
|
||||
|
||||
Me.BattleQuery.AddRange({cq, q1, q, q2, q22, q3, q31, q4})
|
||||
|
||||
Battle.SwitchInOwn(Me, meIndex, True, -1)
|
||||
Battle.SwitchInOpp(Me, True, 0)
|
||||
|
||||
|
@ -359,23 +359,33 @@
|
|||
Dim ownModel As String = GetModelName(True)
|
||||
Dim oppModel As String = GetModelName(False)
|
||||
|
||||
Dim InitiallyVisibleOwn As Integer = 1
|
||||
If IsPVPBattle = True AndAlso Core.Player.ShowBattleAnimations <> 0 Then
|
||||
InitiallyVisibleOwn = 0
|
||||
End If
|
||||
|
||||
If ownModel = "" Then
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 12.5F) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", True, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, OwnPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", True, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, OwnPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}, InitiallyVisibleOwn), NPC)
|
||||
OwnPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(12, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 0.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 0, "Models\Bulbasaur\Normal", False, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
Else
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 12.5F) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, OwnPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OwnPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(12, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 0.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 1, ownModel, True, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, OwnPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OwnPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(12, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 0.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 1, ownModel, True, New Vector3(1), 0, "", "", New Vector3(0), Nothing, InitiallyVisibleOwn), ModelEntity)
|
||||
End If
|
||||
|
||||
Screen.Level.Entities.Add(OwnPokemonNPC)
|
||||
Screen.Level.Entities.Add(OwnPokemonModel)
|
||||
|
||||
Dim InitiallyVisibleOpp As Integer = 1
|
||||
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||
InitiallyVisibleOpp = 0
|
||||
End If
|
||||
|
||||
If oppModel = "" Then
|
||||
OppPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(15, 0, 12.5F) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", True, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OppPokemon), 1, OppPokemon.GetDisplayName(), 1, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OppPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(15, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", True, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OppPokemon), 1, OppPokemon.GetDisplayName(), 1, True, "Still", New List(Of Rectangle)}, InitiallyVisibleOpp), NPC)
|
||||
OppPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(15, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 1.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 0, "Models\Bulbasaur\Normal", False, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
Else
|
||||
OppPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(15, 0, 12.5F) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OppPokemon), 1, OppPokemon.GetDisplayName(), 1, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OppPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(15, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 1.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 1, oppModel, True, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
OppPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(15, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OppPokemon), 1, OppPokemon.GetDisplayName(), 1, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OppPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(15, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 1.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 1, oppModel, True, New Vector3(1), 0, "", "", New Vector3(0), Nothing, InitiallyVisibleOpp), ModelEntity)
|
||||
End If
|
||||
|
||||
Screen.Level.Entities.Add(OppPokemonNPC)
|
||||
|
@ -401,21 +411,93 @@
|
|||
Dim q As CameraQueryObject = New CameraQueryObject(New Vector3(13, 0, 15), New Vector3(21, 0, 15), 0.05F, 0.05F, -0.8F, 1.4F, 0.0F, 0.0F, 0.016F, 0.016F)
|
||||
q.PassThis = True
|
||||
|
||||
Dim hisher As String = "his"
|
||||
If Trainer.Gender = 1 Then
|
||||
hisher = "her"
|
||||
Dim q1 As TextQueryObject = New TextQueryObject(Trainer.Name & " " & "wants to battle!")
|
||||
Dim q11 As TextQueryObject = New TextQueryObject(Trainer.Name & ": """ & "Go," & " " & OppPokemon.GetDisplayName() & "!""")
|
||||
|
||||
' Ball is thrown
|
||||
Dim BallThrowOpp As AnimationQueryObject = New AnimationQueryObject(OppPokemonNPC, False, OppPokemonModel)
|
||||
|
||||
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||
BallThrowOpp.AnimationPlaySound("Battle\Pokeball\Throw", 0, 0)
|
||||
BallThrowOpp.AnimationMove(Nothing, False, 0, 0.5, 0, 0.5, False, False, 2, 0,,, 3)
|
||||
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, 0.35, 0, 0.1, False, True, 0F, 0.5F,, 0.3,, 0.025F)
|
||||
|
||||
' Ball Opens
|
||||
BallThrowOpp.AnimationPlaySound("Battle\Pokeball\Open", 3, 0)
|
||||
Dim SmokeSpawnedOpp As Integer = 0
|
||||
Do
|
||||
Dim SmokeDestination = New Vector3(CSng(Random.Next(-10, 10) / 10), CSng(Random.Next(-10, 10) / 10), CSng(Random.Next(-10, 10) / 10))
|
||||
|
||||
Dim SmokeTexture As Texture2D = TextureManager.GetTexture("Textures\Battle\Smoke")
|
||||
|
||||
Dim SmokeScale = New Vector3(CSng(Random.Next(2, 6) / 10))
|
||||
Dim SmokeSpeed = CSng(Random.Next(1, 3) / 20.0F)
|
||||
|
||||
Dim SmokeEntity As Entity = BallThrowOpp.SpawnEntity(Nothing, SmokeTexture, SmokeScale, 1.0F, 3)
|
||||
BallThrowOpp.AnimationMove(SmokeEntity, True, SmokeDestination.X, SmokeDestination.Y, SmokeDestination.Z, SmokeSpeed, False, False, 3.0F, 0.0F)
|
||||
|
||||
Threading.Interlocked.Increment(SmokeSpawnedOpp)
|
||||
Loop While SmokeSpawnedOpp <= 38
|
||||
|
||||
' Pokemon appears
|
||||
BallThrowOpp.AnimationFade(Nothing, False, 1, True, 1, 3, 0)
|
||||
End If
|
||||
BallThrowOpp.AnimationPlaySound(CStr(Me.OppPokemon.Number), 4, 0,, True)
|
||||
|
||||
' Pokémon falls down
|
||||
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||
' Pokémon falls down
|
||||
BallThrowOpp.AnimationMove(Nothing, False, 0, 0, 0, 0.05F, False, False, 4, 0,,, 3)
|
||||
End If
|
||||
|
||||
Dim q1 As New PlaySoundQueryObject(OppPokemon.Number.ToString(), True, 5.0F)
|
||||
Dim q2 As TextQueryObject = New TextQueryObject(Trainer.Name & " and " & hisher & " " & Me.OppPokemon.GetDisplayName() & " want to battle!")
|
||||
|
||||
Dim q22 As CameraQueryObject = New CameraQueryObject(New Vector3(14, 0, 15), New Vector3(13, 0, 15), 0.05F, 0.05F, MathHelper.PiOver2, -0.8F, 0.0F, 0.0F, 0.05F, 0.05F)
|
||||
Dim q2 As CameraQueryObject = New CameraQueryObject(New Vector3(14, 0, 15), New Vector3(13, 0, 15), 0.05F, 0.05F, MathHelper.PiOver2, -0.8F, 0.0F, 0.0F, 0.05F, 0.05F)
|
||||
|
||||
Dim q3 As CameraQueryObject = New CameraQueryObject(New Vector3(14, 0, 11), New Vector3(14, 0, 15), 0.01F, 0.01F, MathHelper.PiOver2, MathHelper.PiOver2, 0.0F, 0.0F)
|
||||
q3.PassThis = True
|
||||
|
||||
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
||||
Dim q4 As TextQueryObject = New TextQueryObject("Go, " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||
Dim q4 As TextQueryObject = New TextQueryObject("Go," & " " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||
|
||||
|
||||
Me.BattleQuery.AddRange({cq, q, q1, q11, BallThrowOpp, q2, q3, q31, q4})
|
||||
|
||||
If IsPVPBattle = True AndAlso Core.Player.ShowBattleAnimations <> 0 Then
|
||||
' Ball is thrown
|
||||
Dim BallThrowOwn As AnimationQueryObject = New AnimationQueryObject(Me.OwnPokemonNPC, False, Me.OwnPokemonModel)
|
||||
|
||||
BallThrowOwn.AnimationPlaySound("Battle\Pokeball\Throw", 0, 0)
|
||||
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, 0.35, 0, 0.1, False, True, 0F, 0.5F,, 0.3,, 0.025F)
|
||||
|
||||
' Ball Opens
|
||||
BallThrowOwn.AnimationPlaySound("Battle\Pokeball\Open", 3, 0)
|
||||
|
||||
Dim SmokeSpawned As Integer = 0
|
||||
Do
|
||||
Dim SmokeDestination = New Vector3(CSng(Random.Next(-10, 10) / 10), CSng(Random.Next(-10, 10) / 10), CSng(Random.Next(-10, 10) / 10))
|
||||
|
||||
Dim SmokeTexture As Texture2D = TextureManager.GetTexture("Textures\Battle\Smoke")
|
||||
|
||||
Dim SmokeScale = New Vector3(CSng(Random.Next(2, 6) / 10))
|
||||
Dim SmokeSpeed = CSng(Random.Next(1, 3) / 20.0F)
|
||||
|
||||
Dim SmokeEntity As Entity = BallThrowOwn.SpawnEntity(Nothing, SmokeTexture, SmokeScale, 1.0F, 3)
|
||||
BallThrowOwn.AnimationMove(SmokeEntity, True, SmokeDestination.X, SmokeDestination.Y, SmokeDestination.Z, SmokeSpeed, False, False, 3.0F, 0.0F)
|
||||
|
||||
Threading.Interlocked.Increment(SmokeSpawned)
|
||||
Loop While SmokeSpawned <= 38
|
||||
|
||||
|
||||
' Pokemon appears
|
||||
BallThrowOwn.AnimationFade(Nothing, False, 1, True, 1, 3, 0)
|
||||
BallThrowOwn.AnimationPlaySound(CStr(Me.OwnPokemon.Number), 4, 0,, True)
|
||||
|
||||
' Pokémon falls down
|
||||
BallThrowOwn.AnimationMove(Nothing, False, 0, 0, 0, 0.05F, False, False, 5, 0,,, 3)
|
||||
Me.BattleQuery.Add(BallThrowOwn)
|
||||
End If
|
||||
|
||||
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
||||
|
||||
|
@ -424,8 +506,6 @@
|
|||
|
||||
cq2.PassThis = True
|
||||
|
||||
Me.BattleQuery.AddRange({cq, q, q1, q2, q22, q3, q31, q4})
|
||||
|
||||
Battle.SwitchInOwn(Me, meIndex, True, OwnPokemonIndex)
|
||||
Battle.SwitchInOpp(Me, True, OppPokemonIndex)
|
||||
TempPVPBattleQuery.Clear()
|
||||
|
@ -496,10 +576,10 @@
|
|||
Dim oppModel As String = GetModelName(False)
|
||||
|
||||
If ownModel = "" Then
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 12.5F) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, WildPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, WildPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OwnPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(12, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 0.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 0, "Models\Bulbasaur\Normal", False, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
Else
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 12.5F) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, WildPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, WildPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OwnPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(12, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 0.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 1, ownModel, False, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
End If
|
||||
|
||||
|
@ -507,10 +587,10 @@
|
|||
Screen.Level.Entities.Add(OwnPokemonModel)
|
||||
|
||||
If oppModel = "" Then
|
||||
OppPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(15, 0, 12.5F) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", True, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(WildPokemon), 1, WildPokemon.GetDisplayName(), 1, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OppPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(15, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", True, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(WildPokemon), 1, WildPokemon.GetDisplayName(), 1, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OppPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(15, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 1.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 0, "Models\Bulbasaur\Normal", False, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
Else
|
||||
OppPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(15, 0, 12.5F) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(WildPokemon), 1, WildPokemon.GetDisplayName(), 1, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OppPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(15, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(WildPokemon), 1, WildPokemon.GetDisplayName(), 1, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OppPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(15, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 1.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 1, oppModel, True, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
End If
|
||||
|
||||
|
@ -608,21 +688,21 @@
|
|||
Dim oppModel As String = GetModelName(False)
|
||||
|
||||
If ownModel = "" Then
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 12.5F) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", True, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, WildPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", True, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, OwnPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}, 1), NPC)
|
||||
OwnPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(12, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 0.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 0, "Models\Bulbasaur\Normal", False, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
Else
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 12.5F) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, WildPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OwnPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(12, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 0.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 1, ownModel, True, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
OwnPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(12, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(OwnPokemon), 3, OwnPokemon.GetDisplayName(), 0, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OwnPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(12, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 0.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 1, ownModel, True, New Vector3(1), 0, "", "", New Vector3(0), Nothing, 1), ModelEntity)
|
||||
End If
|
||||
|
||||
Screen.Level.Entities.Add(OwnPokemonNPC)
|
||||
Screen.Level.Entities.Add(OwnPokemonModel)
|
||||
|
||||
If oppModel = "" Then
|
||||
OppPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(15, 0, 12.5F) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", True, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(WildPokemon), 1, WildPokemon.GetDisplayName(), 1, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OppPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(15, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", True, New Vector3(1), 1, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(WildPokemon), 1, WildPokemon.GetDisplayName(), 1, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OppPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(15, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 1.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 0, "Models\Bulbasaur\Normal", False, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
Else
|
||||
OppPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(15, 0, 12.5F) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(WildPokemon), 1, WildPokemon.GetDisplayName(), 1, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OppPokemonNPC = CType(Entity.GetNewEntity("NPC", New Vector3(15, 0, 13) + BattleMapOffset, {Nothing}, {0, 0}, False, New Vector3(0), New Vector3(1), BaseModel.BillModel, 0, "", False, New Vector3(1), 0, "", "", New Vector3(0), {PokemonForms.GetOverworldSpriteName(WildPokemon), 1, WildPokemon.GetDisplayName(), 1, True, "Still", New List(Of Rectangle)}), NPC)
|
||||
OppPokemonModel = CType(Entity.GetNewEntity("ModelEntity", New Vector3(15, -0.5F, 12.5F) + BattleMapOffset, {}, {}, False, New Vector3(MathHelper.Pi * 0.5F, MathHelper.Pi * 1.5F, 0), New Vector3(0.07F), BaseModel.BlockModel, 1, oppModel, True, New Vector3(1), 0, "", "", New Vector3(0), Nothing), ModelEntity)
|
||||
End If
|
||||
|
||||
|
@ -657,6 +737,8 @@
|
|||
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
||||
Dim q4 As TextQueryObject = New TextQueryObject("Go, " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||
|
||||
Me.BattleQuery.AddRange({cq, q1, q, q2, q22, q3, q4})
|
||||
|
||||
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
||||
|
||||
Dim cq1 As ScreenFadeQueryObject = New ScreenFadeQueryObject(ScreenFadeQueryObject.FadeTypes.Vertical, Color.Black, True, 16)
|
||||
|
@ -664,8 +746,6 @@
|
|||
|
||||
cq2.PassThis = True
|
||||
|
||||
Me.BattleQuery.AddRange({cq, q, q1, q2, q22, q3, q31, q4})
|
||||
|
||||
Battle.SwitchInOwn(Me, meIndex, True, -1)
|
||||
Battle.SwitchInOpp(Me, True, 0)
|
||||
|
||||
|
@ -768,7 +848,33 @@
|
|||
|
||||
Public Overrides Sub Draw()
|
||||
SkyDome.Draw(45.0F)
|
||||
Level.Draw()
|
||||
|
||||
Dim ForegroundEntities As New List(Of Entity)
|
||||
For Each e As Entity In Level.Entities
|
||||
If e Is OwnPokemonNPC Then
|
||||
ForegroundEntities.Add(e)
|
||||
End If
|
||||
If e Is OppPokemonNPC Then
|
||||
ForegroundEntities.Add(e)
|
||||
End If
|
||||
If e Is OwnTrainerNPC Then
|
||||
ForegroundEntities.Add(e)
|
||||
End If
|
||||
If e Is OppTrainerNPC Then
|
||||
ForegroundEntities.Add(e)
|
||||
End If
|
||||
If e Is OwnPokemonModel Then
|
||||
ForegroundEntities.Add(e)
|
||||
End If
|
||||
If e Is OppPokemonModel Then
|
||||
ForegroundEntities.Add(e)
|
||||
End If
|
||||
Next
|
||||
If ForegroundEntities.Count > 0 Then
|
||||
ForegroundEntities = (From f In ForegroundEntities Order By f.CameraDistance Descending).ToList()
|
||||
End If
|
||||
Level.Draw()
|
||||
|
||||
World.DrawWeather(Screen.Level.World.CurrentMapWeather)
|
||||
|
||||
If HasToWaitPVP() = True Then
|
||||
|
@ -781,13 +887,28 @@
|
|||
End If
|
||||
End If
|
||||
|
||||
Dim ForegroundAnimationList As New List(Of AnimationQueryObject)
|
||||
Dim BackgroundAnimationList As New List(Of AnimationQueryObject)
|
||||
If BattleQuery.Count > 0 Then
|
||||
Dim cIndex As Integer = 0
|
||||
Dim cQuery As New List(Of QueryObject)
|
||||
nextIndex:
|
||||
If BattleQuery.Count > cIndex Then
|
||||
Dim cQueryObject As QueryObject = BattleQuery(cIndex)
|
||||
cQuery.Add(cQueryObject)
|
||||
If cQueryObject.QueryType = QueryObject.QueryTypes.MoveAnimation Then
|
||||
If CType(cQueryObject, AnimationQueryObject).DrawBeforeEntities = True Then
|
||||
BackgroundAnimationList.Add(CType(cQueryObject, AnimationQueryObject))
|
||||
cIndex += 1
|
||||
GoTo nextIndex
|
||||
Else
|
||||
ForegroundAnimationList.Add(CType(cQueryObject, AnimationQueryObject))
|
||||
cIndex += 1
|
||||
GoTo nextIndex
|
||||
End If
|
||||
Else
|
||||
cQuery.Add(cQueryObject)
|
||||
End If
|
||||
|
||||
|
||||
If cQueryObject.PassThis = True Then
|
||||
cIndex += 1
|
||||
|
@ -795,13 +916,58 @@ nextIndex:
|
|||
End If
|
||||
End If
|
||||
|
||||
cQuery.Reverse()
|
||||
If cQuery.Count > 0 Then
|
||||
For Each cQueryObject As QueryObject In cQuery
|
||||
cQueryObject.Draw(Me)
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
If BackgroundAnimationList.Count > 0 Then
|
||||
Dim cIndex As Integer = 0
|
||||
Dim cQuery As New List(Of QueryObject)
|
||||
nextIndexBackground:
|
||||
If BackgroundAnimationList.Count > cIndex Then
|
||||
Dim cQueryObject As QueryObject = BackgroundAnimationList(cIndex)
|
||||
cQuery.Add(cQueryObject)
|
||||
|
||||
If cQueryObject.PassThis = True Then
|
||||
cIndex += 1
|
||||
GoTo nextIndexBackground
|
||||
End If
|
||||
End If
|
||||
|
||||
cQuery.Reverse()
|
||||
|
||||
For Each cQueryObject As QueryObject In cQuery
|
||||
cQueryObject.Draw(Me)
|
||||
Next
|
||||
|
||||
For i = 0 To ForegroundEntities.Count - 1
|
||||
ForegroundEntities(i).Render()
|
||||
DebugDisplay.MaxVertices += ForegroundEntities(i).VertexCount
|
||||
Next
|
||||
End If
|
||||
If ForegroundAnimationList.Count > 0 Then
|
||||
Dim cIndex As Integer = 0
|
||||
Dim cQuery As New List(Of QueryObject)
|
||||
nextIndexForeground:
|
||||
If ForegroundAnimationList.Count > cIndex Then
|
||||
Dim cQueryObject As QueryObject = ForegroundAnimationList(cIndex)
|
||||
cQuery.Add(cQueryObject)
|
||||
|
||||
If cQueryObject.PassThis = True Then
|
||||
cIndex += 1
|
||||
GoTo nextIndexForeground
|
||||
End If
|
||||
End If
|
||||
|
||||
cQuery.Reverse()
|
||||
|
||||
For Each cQueryObject As QueryObject In cQuery
|
||||
cQueryObject.Draw(Me)
|
||||
Next
|
||||
End If
|
||||
|
||||
'Core.SpriteBatch.DrawString(FontManager.MiniFont, "Battle system not final!", New Vector2(0, Core.windowSize.Height - 20), Color.White)
|
||||
|
||||
TextBox.Draw()
|
||||
|
|
|
@ -5,10 +5,12 @@
|
|||
|
||||
Public AnimationStarted As Boolean = False
|
||||
Public AnimationEnded As Boolean = False
|
||||
Public BAFlipped As Boolean
|
||||
Public BattleFlipped As Boolean = Nothing
|
||||
Public AnimationSequence As List(Of BattleAnimation3D)
|
||||
Public SpawnedEntities As List(Of Entity)
|
||||
Public CurrentEntity As Entity
|
||||
Public CurrentModel As ModelEntity
|
||||
Public DrawBeforeEntities As Boolean
|
||||
|
||||
Public Overrides ReadOnly Property IsReady As Boolean
|
||||
Get
|
||||
|
@ -16,23 +18,38 @@
|
|||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub New(ByVal entity As NPC, ByVal BAFlipped As Boolean, Optional ByVal model As ModelEntity = Nothing)
|
||||
Public Sub New(ByVal entity As Entity, ByVal BattleFlipped As Boolean, Optional ByVal model As ModelEntity = Nothing, Optional DrawBeforeEntities As Boolean = False)
|
||||
MyBase.New(QueryTypes.MoveAnimation)
|
||||
Me.AnimationSequence = New List(Of BattleAnimation3D)
|
||||
Me.BAFlipped = BAFlipped
|
||||
Me.SpawnedEntities = New List(Of Entity)
|
||||
Me.DrawBeforeEntities = DrawBeforeEntities
|
||||
If BattleFlipped <> Nothing Then
|
||||
Me.BattleFlipped = BattleFlipped
|
||||
End If
|
||||
Me.CurrentEntity = entity
|
||||
Me.CurrentModel = model
|
||||
AnimationSequenceBegin()
|
||||
End Sub
|
||||
Public Overrides Sub Draw(ByVal BV2Screen As BattleScreen)
|
||||
Dim Backgrounds As New List(Of Entity)
|
||||
|
||||
Dim RenderObjects As New List(Of Entity)
|
||||
For Each a As BattleAnimation3D In Me.AnimationSequence
|
||||
RenderObjects.Add(a)
|
||||
If a.AnimationType = BattleAnimation3D.AnimationTypes.Background Then
|
||||
Backgrounds.Add(a)
|
||||
Else
|
||||
RenderObjects.Add(a)
|
||||
End If
|
||||
Next
|
||||
For Each entity As BattleAnimation3D In Me.SpawnedEntities
|
||||
RenderObjects.Add(entity)
|
||||
Next
|
||||
If RenderObjects.Count > 0 Then
|
||||
RenderObjects = (From r In RenderObjects Order By r.CameraDistance Descending).ToList()
|
||||
End If
|
||||
|
||||
For Each [Object] As Entity In Backgrounds
|
||||
[Object].Render()
|
||||
Next
|
||||
For Each [Object] As Entity In RenderObjects
|
||||
[Object].Render()
|
||||
Next
|
||||
|
@ -54,189 +71,196 @@
|
|||
If AnimationSequence.Count <= 0 Then
|
||||
AnimationSequenceEnd()
|
||||
End If
|
||||
|
||||
For Each Animation As BattleAnimation3D In AnimationSequence
|
||||
Animation.UpdateEntity()
|
||||
Next
|
||||
For Each Entity As Entity In SpawnedEntities
|
||||
Entity.Update()
|
||||
Entity.UpdateEntity()
|
||||
Next
|
||||
For i = 0 To Me.SpawnedEntities.Count - 1
|
||||
If i <= SpawnedEntities.Count - 1 Then
|
||||
Dim entity As Entity = SpawnedEntities(i)
|
||||
|
||||
If entity.CanBeRemoved = True Then
|
||||
i -= 1
|
||||
RemoveEntity(entity)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub AnimationSequenceBegin()
|
||||
If CurrentEntity Is Nothing Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AnimationSequenceBegin OUTSIDE OF ATTACK ANIMATION DELEGATE")
|
||||
ElseIf AnimationStarted Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AnimationSequenceBegin INSIDE ANIMATION SEQUENCE, DID YOU MEAN AnimationSequenceEnd?")
|
||||
Else
|
||||
AnimationStarted = True
|
||||
End If
|
||||
AnimationStarted = True
|
||||
End Sub
|
||||
|
||||
Public Sub AnimationSequenceEnd()
|
||||
If CurrentEntity Is Nothing Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AnimationSequenceEnd OUTSIDE OF ATTACK ANIMATION DELEGATE")
|
||||
ElseIf Not AnimationStarted Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AnimationSequenceEnd BEFORE CALLING AnimationSequenceBegin")
|
||||
Else
|
||||
AnimationEnded = True
|
||||
End If
|
||||
AnimationEnded = True
|
||||
End Sub
|
||||
|
||||
Public Sub AnimationSpawnFadingEntity(ByVal PositionX As Single, ByVal PositionY As Single, ByVal PositionZ As Single, ByVal Texture As String, ByVal ScaleX As Single, ByVal ScaleY As Single, ByVal ScaleZ As Single, ByVal TransitionSpeed As Single, ByVal FadeIn As Boolean, ByVal EndState As Single, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal startState As Single = 1.0F)
|
||||
If CurrentEntity Is Nothing Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AttackSpawnMovingAnimation OUTSIDE OF ATTACK ANIMATION DELEGATE")
|
||||
ElseIf Not AnimationStarted Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AttackSpawnMovingAnimation BEFORE CALLING AnimationSequenceBegin")
|
||||
Public Function SpawnEntity(ByVal Position As Vector3, ByVal Texture As Texture2D, ByVal Scale As Vector3, ByVal Opacity As Single, Optional ByVal startDelay As Single = 0.0F, Optional ByVal endDelay As Single = 0.0F) As Entity
|
||||
Dim NewPosition As Vector3
|
||||
If Not Position = Nothing Then
|
||||
If BattleFlipped = True Then
|
||||
If CurrentEntity IsNot Nothing Then
|
||||
NewPosition.X = CurrentEntity.Position.X - Position.X
|
||||
NewPosition.Y = CurrentEntity.Position.Y + Position.Y
|
||||
NewPosition.Z = CurrentEntity.Position.Z + Position.Z
|
||||
Else
|
||||
NewPosition = Position
|
||||
End If
|
||||
Else
|
||||
If CurrentEntity IsNot Nothing Then
|
||||
NewPosition = CurrentEntity.Position + Position
|
||||
Else
|
||||
NewPosition = Position
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
Dim stringArray = Texture.Split(","c)
|
||||
Dim texture2D As Texture2D = Nothing
|
||||
|
||||
If stringArray.Length = 1 Then
|
||||
texture2D = TextureManager.GetTexture(Texture)
|
||||
ElseIf stringArray.Length = 5 Then
|
||||
Dim r As Rectangle = New Rectangle(CInt(stringArray(1)), CInt(stringArray(2)), CInt(stringArray(3)), CInt(stringArray(4)))
|
||||
texture2D = TextureManager.GetTexture(stringArray(0), r, "")
|
||||
If CurrentEntity IsNot Nothing Then
|
||||
NewPosition = CurrentEntity.Position
|
||||
Else
|
||||
NewPosition = New Vector3(0, 0, 0)
|
||||
End If
|
||||
|
||||
If BAFlipped Then
|
||||
PositionX -= PositionX * 2.0F
|
||||
PositionZ -= PositionZ * 2.0F
|
||||
End If
|
||||
|
||||
Dim Position As Vector3 = New Vector3(CurrentEntity.Position.X + PositionX, CurrentEntity.Position.Y + PositionY, CurrentEntity.Position.Z + PositionZ)
|
||||
Dim Scale As Vector3 = New Vector3(ScaleX, ScaleY, ScaleZ)
|
||||
|
||||
Dim baOpacity As BAOpacity = New BAOpacity(Position, texture2D, Scale, TransitionSpeed, FadeIn, EndState, startDelay, endDelay, startState)
|
||||
AnimationSequence.Add(baOpacity)
|
||||
End If
|
||||
Dim SpawnedEntity = New BattleAnimation3D(NewPosition, Texture, Scale, startDelay, endDelay, False)
|
||||
SpawnedEntity.Opacity = Opacity
|
||||
SpawnedEntity.Visible = False
|
||||
|
||||
SpawnedEntities.Add(SpawnedEntity)
|
||||
|
||||
Return SpawnedEntity
|
||||
End Function
|
||||
Public Sub RemoveEntity(Entity As Entity)
|
||||
SpawnedEntities.Remove(Entity)
|
||||
End Sub
|
||||
Public Sub AnimationChangeTexture(ByVal Entity As Entity, RemoveEntityAfter As Boolean, ByVal Texture As Texture2D, ByVal startDelay As Single, ByVal endDelay As Single)
|
||||
Dim TextureChangeEntity As Entity
|
||||
|
||||
If Entity Is Nothing Then
|
||||
TextureChangeEntity = CurrentEntity
|
||||
Else
|
||||
TextureChangeEntity = Entity
|
||||
End If
|
||||
|
||||
Dim baEntityTextureChange As BAEntityTextureChange = New BAEntityTextureChange(TextureChangeEntity, RemoveEntityAfter, Texture, startDelay, endDelay)
|
||||
AnimationSequence.Add(baEntityTextureChange)
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub AnimationSpawnMovingEntity(ByVal PositionX As Single, ByVal PositionY As Single, ByVal PositionZ As Single, ByVal Texture As String, ByVal ScaleX As Single, ByVal ScaleY As Single, ByVal ScaleZ As Single, 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)
|
||||
If CurrentEntity Is Nothing Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AttackSpawnMovingAnimation OUTSIDE OF ATTACK ANIMATION DELEGATE")
|
||||
ElseIf Not AnimationStarted Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AttackSpawnMovingAnimation BEFORE CALLING AnimationSequenceBegin")
|
||||
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)
|
||||
Dim MoveEntity As Entity
|
||||
Dim ModelEntity As Entity = Nothing
|
||||
Dim Destination As Vector3
|
||||
|
||||
If Entity Is Nothing Then
|
||||
MoveEntity = CurrentEntity
|
||||
If Me.CurrentModel IsNot Nothing Then
|
||||
ModelEntity = Me.CurrentModel
|
||||
End If
|
||||
Else
|
||||
Dim stringArray = Texture.Split(","c)
|
||||
Dim texture2D As Texture2D = Nothing
|
||||
|
||||
If stringArray.Length = 1 Then
|
||||
texture2D = TextureManager.GetTexture(Texture)
|
||||
ElseIf stringArray.Length = 5 Then
|
||||
Dim r As Rectangle = New Rectangle(CInt(stringArray(1)), CInt(stringArray(2)), CInt(stringArray(3)), CInt(stringArray(4)))
|
||||
texture2D = TextureManager.GetTexture(stringArray(0), r, "")
|
||||
End If
|
||||
|
||||
If BAFlipped Then
|
||||
PositionX -= PositionX * 2.0F
|
||||
PositionZ -= PositionZ * 2.0F
|
||||
DestinationX -= DestinationX * 2.0F
|
||||
DestinationZ -= DestinationZ * 2.0F
|
||||
SpinXSpeed -= SpinXSpeed * 2.0F
|
||||
SpinZSpeed -= SpinZSpeed * 2.0F
|
||||
End If
|
||||
|
||||
Dim Position As Vector3 = New Vector3(CurrentEntity.Position.X + PositionX, CurrentEntity.Position.Y + PositionY, CurrentEntity.Position.Z + PositionZ)
|
||||
Dim Scale As Vector3 = New Vector3(ScaleX, ScaleY, ScaleZ)
|
||||
Dim Destination As Vector3 = New Vector3(CurrentEntity.Position.X + DestinationX, CurrentEntity.Position.Y + DestinationY, CurrentEntity.Position.Z + DestinationZ)
|
||||
|
||||
Dim baMove As BAMove = New BAMove(Position, texture2D, Scale, Destination, Speed, SpinX, SpinZ, startDelay, endDelay, SpinXSpeed, SpinZSpeed, MovementCurve)
|
||||
AnimationSequence.Add(baMove)
|
||||
MoveEntity = Entity
|
||||
End If
|
||||
End Sub
|
||||
Public Sub AnimationMovePokemonEntity(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)
|
||||
If CurrentEntity Is Nothing Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AttackSpawnMovingAnimation OUTSIDE OF ATTACK ANIMATION DELEGATE")
|
||||
ElseIf Not AnimationStarted Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AttackSpawnMovingAnimation BEFORE CALLING AnimationSequenceBegin")
|
||||
Else
|
||||
If BAFlipped Then
|
||||
|
||||
If Not BattleFlipped = Nothing Then
|
||||
If BattleFlipped = True Then
|
||||
DestinationX -= DestinationX * 2.0F
|
||||
DestinationZ -= DestinationZ * 2.0F
|
||||
End If
|
||||
|
||||
Dim Destination As Vector3 = New Vector3(CurrentEntity.Position.X + DestinationX, CurrentEntity.Position.Y + DestinationY, CurrentEntity.Position.Z + DestinationZ)
|
||||
|
||||
Dim baBillMove As BABillMove = New BABillMove(CurrentEntity, Destination, Speed, SpinX, SpinZ, startDelay, endDelay, SpinXSpeed, SpinZSpeed, MovementCurve)
|
||||
AnimationSequence.Add(baBillMove)
|
||||
|
||||
If Me.CurrentModel IsNot Nothing Then
|
||||
Dim baModelMove As BABillMove = New BABillMove(CType(CurrentModel, Entity), Destination, Speed, SpinX, SpinZ, startDelay, endDelay, SpinXSpeed, SpinZSpeed, MovementCurve)
|
||||
AnimationSequence.Add(baModelMove)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Public Sub AnimationFadePokemonEntity(ByVal TransitionSpeed As Single, ByVal FadeIn As Boolean, ByVal EndState As Single, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal startState As Single = -1.0F)
|
||||
If CurrentEntity Is Nothing Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AttackSpawnMovingAnimation OUTSIDE OF ATTACK ANIMATION DELEGATE")
|
||||
ElseIf Not AnimationStarted Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AttackSpawnMovingAnimation BEFORE CALLING AnimationSequenceBegin")
|
||||
Destination = MoveEntity.Position + New Vector3(DestinationX, DestinationY, DestinationZ)
|
||||
Else
|
||||
If startState = -1.0F Then startState = CurrentEntity.Opacity
|
||||
Dim baBillOpacity As BABillOpacity = New BABillOpacity(CurrentEntity, TransitionSpeed, FadeIn, EndState, startDelay, endDelay, startState)
|
||||
AnimationSequence.Add(baBillOpacity)
|
||||
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)
|
||||
|
||||
If ModelEntity IsNot Nothing Then
|
||||
Dim baModelMove As BAEntityMove = New BAEntityMove(CType(CurrentModel, Entity), False, Destination, Speed, SpinX, SpinZ, startDelay, endDelay, SpinXSpeed, SpinZSpeed, MovementCurve, MoveYSpeed)
|
||||
AnimationSequence.Add(baModelMove)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub AnimationFade(ByVal Entity As Entity, ByVal RemoveEntityAfter As Boolean, ByVal TransitionSpeed As Single, ByVal FadeIn As Boolean, ByVal EndState As Single, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal startState As Single = -1.0F)
|
||||
Dim FadeEntity As Entity
|
||||
Dim FadeModel As Entity = Nothing
|
||||
If Entity Is Nothing Then
|
||||
FadeEntity = CurrentEntity
|
||||
If Me.CurrentModel IsNot Nothing Then
|
||||
Dim baModelOpacity As BABillOpacity = New BABillOpacity(CType(CurrentModel, Entity), TransitionSpeed, FadeIn, EndState, startDelay, endDelay, startState)
|
||||
AnimationSequence.Add(baModelOpacity)
|
||||
FadeModel = Me.CurrentModel
|
||||
End If
|
||||
Else
|
||||
FadeEntity = Entity
|
||||
End If
|
||||
If startState = -1.0F Then startState = FadeEntity.Opacity
|
||||
Dim baEntityOpacity As BAEntityOpacity = New BAEntityOpacity(FadeEntity, RemoveEntityAfter, TransitionSpeed, FadeIn, EndState, startDelay, endDelay, startState)
|
||||
AnimationSequence.Add(baEntityOpacity)
|
||||
|
||||
If FadeModel IsNot Nothing Then
|
||||
Dim baModelOpacity As BAEntityOpacity = New BAEntityOpacity(CType(FadeModel, Entity), False, TransitionSpeed, FadeIn, EndState, startDelay, endDelay, startState)
|
||||
AnimationSequence.Add(baModelOpacity)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
Public Sub AnimationRotate(Entity As Entity, ByVal RemoveEntityAfter As Boolean, ByVal RotationSpeedX As Single, ByVal RotationSpeedY As Single, ByVal RotationSpeedZ As Single, ByVal EndRotationX As Single, ByVal EndRotationY As Single, ByVal EndRotationZ As Single, ByVal startDelay As Single, ByVal endDelay As Single, ByVal DoXRotation As Boolean, ByVal DoYRotation As Boolean, ByVal DoZRotation As Boolean, ByVal DoReturn As Boolean)
|
||||
Dim RotateEntity As Entity
|
||||
Dim RotateModel As Entity = Nothing
|
||||
If Entity Is Nothing Then
|
||||
RotateEntity = CurrentEntity
|
||||
If Me.CurrentModel IsNot Nothing Then
|
||||
RotateModel = Me.CurrentModel
|
||||
End If
|
||||
Else
|
||||
RotateEntity = Entity
|
||||
End If
|
||||
|
||||
Dim RotationSpeedVector As Vector3 = New Vector3(RotationSpeedX, RotationSpeedY, RotationSpeedZ)
|
||||
Dim EndRotation As Vector3 = New Vector3(EndRotationX, EndRotationY, EndRotationZ)
|
||||
Dim baEntityRotate As BAEntityRotate = New BAEntityRotate(RotateEntity, RemoveEntityAfter, RotationSpeedVector, EndRotation, startDelay, endDelay, DoXRotation, DoYRotation, DoZRotation, DoReturn)
|
||||
AnimationSequence.Add(baEntityRotate)
|
||||
|
||||
If RotateModel IsNot Nothing Then
|
||||
Dim baModelOpacity As BAEntityRotate = New BAEntityRotate(CType(RotateModel, Entity), False, RotationSpeedVector, EndRotation, startDelay, endDelay, DoXRotation, DoYRotation, DoZRotation, DoReturn)
|
||||
AnimationSequence.Add(baModelOpacity)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
Public Sub AnimationScale(ByVal Entity As Entity, ByVal RemoveEntityAfter As Boolean, ByVal Grow As Boolean, ByVal EndSizeX As Single, ByVal EndSizeY As Single, ByVal EndSizeZ As Single, ByVal SizeSpeed As Single, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal Anchors As String = "")
|
||||
Dim ScaleEntity As Entity
|
||||
Dim ScaleModel As Entity = Nothing
|
||||
If Entity Is Nothing Then
|
||||
ScaleEntity = CurrentEntity
|
||||
If Me.CurrentModel IsNot Nothing Then
|
||||
ScaleModel = Me.CurrentModel
|
||||
End If
|
||||
Else
|
||||
ScaleEntity = Entity
|
||||
End If
|
||||
|
||||
Dim Scale As Vector3 = ScaleEntity.Scale
|
||||
Dim EndSize As Vector3 = New Vector3(EndSizeX, EndSizeY, EndSizeZ)
|
||||
Dim baEntityScale As BAEntityScale = New BAEntityScale(ScaleEntity, RemoveEntityAfter, Scale, Grow, EndSize, SizeSpeed, startDelay, endDelay, Anchors)
|
||||
AnimationSequence.Add(baEntityScale)
|
||||
|
||||
If ScaleModel IsNot Nothing Then
|
||||
Dim baModelScale As BAEntityScale = New BAEntityScale(CType(ScaleModel, Entity), False, Scale, Grow, EndSize, SizeSpeed, startDelay, endDelay, Anchors)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub AnimationPlaySound(ByVal sound As String, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal stopMusic As Boolean = False, Optional ByVal IsPokemon As Boolean = False)
|
||||
If CurrentEntity Is Nothing Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AnimationPlaySound OUTSIDE OF ATTACK ANIMATION DELEGATE")
|
||||
ElseIf Not AnimationStarted Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AnimationPlaySound BEFORE CALLING AnimationSequenceBegin")
|
||||
Else
|
||||
Dim baSound As BASound = New BASound(sound, startDelay, endDelay, stopMusic, IsPokemon)
|
||||
AnimationSequence.Add(baSound)
|
||||
End If
|
||||
Dim baSound As BAPlaySound = New BAPlaySound(sound, startDelay, endDelay, stopMusic, IsPokemon)
|
||||
AnimationSequence.Add(baSound)
|
||||
End Sub
|
||||
|
||||
Public Sub AnimationSpawnScalingEntity(ByVal PositionX As Single, ByVal PositionY As Single, ByVal PositionZ As Single, ByVal Texture As String, ByVal ScaleX As Single, ByVal ScaleY As Single, ByVal ScaleZ As Single, ByVal Grow As Boolean, ByVal EndSizeX As Single, ByVal EndSizeY As Single, ByVal EndSizeZ As Single, ByVal SizeSpeed As Single, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal Anchors As String = "1")
|
||||
If CurrentEntity Is Nothing Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AttackSpawnSizeAnimation OUTSIDE OF ATTACK ANIMATION DELEGATE")
|
||||
ElseIf Not AnimationStarted Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AttackSpawnSizeAnimation BEFORE CALLING AnimationSequenceBegin")
|
||||
Else
|
||||
Dim stringArray = Texture.Split(","c)
|
||||
Dim texture2D As Texture2D = Nothing
|
||||
|
||||
If stringArray.Length = 1 Then
|
||||
texture2D = TextureManager.GetTexture(Texture)
|
||||
ElseIf stringArray.Length = 5 Then
|
||||
Dim r As Rectangle = New Rectangle(CInt(stringArray(1)), CInt(stringArray(2)), CInt(stringArray(3)), CInt(stringArray(4)))
|
||||
texture2D = TextureManager.GetTexture(stringArray(0), r, "")
|
||||
End If
|
||||
|
||||
If BAFlipped Then
|
||||
PositionX -= PositionX * 2.0F
|
||||
PositionZ -= PositionZ * 2.0F
|
||||
End If
|
||||
Dim Position As Vector3 = New Vector3(CurrentEntity.Position.X + PositionX, CurrentEntity.Position.Y + PositionY, CurrentEntity.Position.Z + PositionZ)
|
||||
Dim Scale As Vector3 = New Vector3(ScaleX, ScaleY, ScaleZ)
|
||||
Dim EndSize As Vector3 = New Vector3(EndSizeX, EndSizeY, EndSizeZ)
|
||||
Dim baSize As BASize = New BASize(Position, texture2D, Scale, Grow, EndSize, SizeSpeed, startDelay, endDelay, Anchors)
|
||||
AnimationSequence.Add(baSize)
|
||||
End If
|
||||
Public Sub AnimationBackground(Texture As Texture2D, ByVal TransitionSpeed As Single, ByVal FadeIn As Boolean, ByVal FadeOut As Boolean, ByVal EndState As Single, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal startState As Single = 0.0F)
|
||||
Dim baBackground As BABackground = New BABackground(Texture, TransitionSpeed, FadeIn, FadeOut, EndState, startDelay, endDelay, startState)
|
||||
AnimationSequence.Add(baBackground)
|
||||
End Sub
|
||||
Public Sub AnimationScalePokemonEntity(ByVal entity As Entity, ByVal PositionX As Single, ByVal PositionY As Single, ByVal PositionZ As Single, ByVal Texture As String, ByVal ScaleX As Single, ByVal ScaleY As Single, ByVal ScaleZ As Single, ByVal Grow As Boolean, ByVal EndSizeX As Single, ByVal EndSizeY As Single, ByVal EndSizeZ As Single, ByVal SizeSpeed As Single, ByVal startDelay As Single, ByVal endDelay As Single, Optional ByVal Anchors As String = "1")
|
||||
If CurrentEntity Is Nothing Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AttackSpawnSizeAnimation OUTSIDE OF ATTACK ANIMATION DELEGATE")
|
||||
ElseIf Not AnimationStarted Then
|
||||
Logger.Log(Logger.LogTypes.Warning, "ATTEMPT TO USE AttackSpawnSizeAnimation BEFORE CALLING AnimationSequenceBegin")
|
||||
Else
|
||||
Dim stringArray = Texture.Split(","c)
|
||||
|
||||
|
||||
If BAFlipped Then
|
||||
PositionX -= PositionX * 2.0F
|
||||
PositionZ -= PositionZ * 2.0F
|
||||
End If
|
||||
Dim Position As Vector3 = New Vector3(CurrentEntity.Position.X + PositionX, CurrentEntity.Position.Y + PositionY, CurrentEntity.Position.Z + PositionZ)
|
||||
Dim Scale As Vector3 = New Vector3(ScaleX, ScaleY, ScaleZ)
|
||||
Dim EndSize As Vector3 = New Vector3(EndSizeX, EndSizeY, EndSizeZ)
|
||||
Dim baBillSize As BABillSize = New BABillSize(entity, Scale, Grow, EndSize, SizeSpeed, startDelay, endDelay, Anchors)
|
||||
AnimationSequence.Add(baBillSize)
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
|
@ -1,3 +0,0 @@
|
|||
Public Class MoveAnimationQueryObject
|
||||
|
||||
End Class
|
|
@ -67,11 +67,11 @@
|
|||
|
||||
Public Overrides Sub Draw(BV2Screen As BattleScreen)
|
||||
Dim rec As New Rectangle(100, Core.windowSize.Height - 250, Core.windowSize.Width - 200, 200)
|
||||
|
||||
Canvas.DrawRectangle(rec, New Color(0, 0, 0, 150))
|
||||
|
||||
Dim text As String = Me._text.Substring(0, _textIndex)
|
||||
text = text.CropStringToWidth(FontManager.TextFont, 2.0F, Core.windowSize.Width - 300)
|
||||
If text.Length > 0 Then
|
||||
Canvas.DrawRectangle(rec, New Color(0, 0, 0, 150))
|
||||
End If
|
||||
Text = text.CropStringToWidth(FontManager.TextFont, 2.0F, Core.windowSize.Width - 300)
|
||||
|
||||
Core.SpriteBatch.DrawString(FontManager.TextFont, text, New Vector2(rec.X + 20, rec.Y + 20), Color.White, 0.0F, Vector2.Zero, 2.0F, SpriteEffects.None, 0.0F)
|
||||
|
||||
|
|
|
@ -85,10 +85,13 @@ HP,HP
|
|||
PP,PP
|
||||
Lv.,Lv.
|
||||
Level,Level
|
||||
MaxHP,Max HP
|
||||
Attack,Attack
|
||||
Defense,Defense
|
||||
Special_Attack,Special Attack
|
||||
Sp_Attack,Sp. Attack
|
||||
Special_Defense,Special Defense
|
||||
Sp_Defense,Sp. Defense
|
||||
Speed,Speed
|
||||
---
|
||||
GameInteractions:
|
||||
|
|
Before Width: | Height: | Size: 303 B After Width: | Height: | Size: 303 B |
After Width: | Height: | Size: 395 B |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 260 B |
Before Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 258 B |
After Width: | Height: | Size: 258 B |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 306 B |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 385 B |
Before Width: | Height: | Size: 202 B After Width: | Height: | Size: 246 B |
Before Width: | Height: | Size: 537 B After Width: | Height: | Size: 537 B |
Before Width: | Height: | Size: 234 B After Width: | Height: | Size: 241 B |
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 234 B |
Before Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 290 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 712 B |
After Width: | Height: | Size: 439 B |
After Width: | Height: | Size: 395 B |
After Width: | Height: | Size: 372 B |
After Width: | Height: | Size: 392 B |
After Width: | Height: | Size: 390 B |
Before Width: | Height: | Size: 279 B |
After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 571 B |
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.2 KiB |
|
@ -22,6 +22,7 @@
|
|||
Public Visible As Boolean = True
|
||||
Public Shader As New Vector3(1.0F)
|
||||
Public Shaders As New List(Of Vector3)
|
||||
Public Color As Vector3 = New Vector3(1.0F)
|
||||
|
||||
Public CameraDistanceDelta As Single = 0.0F
|
||||
|
||||
|
|
|
@ -418,14 +418,16 @@
|
|||
If CType(Screen.Camera, OverworldCamera).ThirdPerson = True And IsOnScreen() = False Then
|
||||
s &= "@camera.setfocus(npc," & Me.NPCID & ")" & Environment.NewLine
|
||||
Dim cPosition = .ThirdPersonOffset.X.ToString() & "," & .ThirdPersonOffset.Y.ToString() & "," & .ThirdPersonOffset.Z.ToString()
|
||||
s &= "@entity.showmessagebulb(1|" & Me.Position.X + offset.X & "|" & Me.Position.Y + 0.7F & "|" & Me.Position.Z + offset.Y & ")" & Environment.NewLine &
|
||||
s &= "@sound.play(Emote_Exclamation)" & Environment.NewLine &
|
||||
"@entity.showmessagebulb(1|" & Me.Position.X + offset.X & "|" & Me.Position.Y + 0.7F & "|" & Me.Position.Z + offset.Y & ")" & Environment.NewLine &
|
||||
"@npc.move(" & Me.NPCID & "," & distance - 1 & ")" & Environment.NewLine &
|
||||
"@script.start(" & Me.AdditionalValue & ")" & Environment.NewLine &
|
||||
"@camera.resetfocus" & Environment.NewLine &
|
||||
"@camera.setposition(" & cPosition & ")" & Environment.NewLine &
|
||||
"@script.start(" & Me.AdditionalValue & ")" & Environment.NewLine &
|
||||
":end"
|
||||
Else
|
||||
s &= "@entity.showmessagebulb(1|" & Me.Position.X + offset.X & "|" & Me.Position.Y + 0.7F & "|" & Me.Position.Z + offset.Y & ")" & Environment.NewLine &
|
||||
s &= "@sound.play(Emote_Exclamation)" & Environment.NewLine &
|
||||
"@entity.showmessagebulb(1|" & Me.Position.X + offset.X & "|" & Me.Position.Y + 0.7F & "|" & Me.Position.Z + offset.Y & ")" & Environment.NewLine &
|
||||
"@npc.move(" & Me.NPCID & "," & distance - 1 & ")" & Environment.NewLine &
|
||||
"@script.start(" & Me.AdditionalValue & ")" & Environment.NewLine &
|
||||
":end"
|
||||
|
|
|
@ -165,6 +165,10 @@
|
|||
Return 0
|
||||
Case 2
|
||||
Return 1
|
||||
Case 3
|
||||
Return 0
|
||||
Case 4
|
||||
Return 1
|
||||
End Select
|
||||
ElseIf Me.Texture.Width = Me.Texture.Height Then
|
||||
Select Case AnimationX
|
||||
|
@ -198,14 +202,8 @@
|
|||
If Me.AnimationDelay <= 0.0F Then
|
||||
Me.AnimationDelay = AnimationDelayLength
|
||||
AnimationX += 1
|
||||
If Me.Texture.Width = Me.Texture.Height / 2 Then
|
||||
If AnimationX > 2 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
Else
|
||||
If AnimationX > 4 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
If AnimationX > 4 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
|
|
@ -6,13 +6,14 @@
|
|||
Public LevelFile As String = ""
|
||||
Public PokemonTexture As String = ""
|
||||
Public faceRotation As Integer = 0
|
||||
Dim Moving As Boolean = False
|
||||
|
||||
Dim Texture As Texture2D
|
||||
Dim lastRectangle As New Rectangle(0, 0, 0, 0)
|
||||
Dim loadedTexture As String = ""
|
||||
|
||||
Dim AnimationX As Integer = 1
|
||||
Dim AnimationDelayLength As Single = 2.2F
|
||||
Dim AnimationDelayLength As Single = 1.1F
|
||||
Dim AnimationDelay As Single = AnimationDelayLength
|
||||
|
||||
Public Sub New(ByVal pos As Vector3, ByVal PokemonTexture As String, ByVal visible As Boolean)
|
||||
|
@ -51,22 +52,26 @@
|
|||
|
||||
If Me.PokemonTexture <> "" Then
|
||||
Me.ChangeTexture()
|
||||
|
||||
Me.AnimationDelay -= 0.1F
|
||||
If AnimationDelay <= 0.0F Then
|
||||
AnimationX += 1
|
||||
AnimationDelay = AnimationDelayLength
|
||||
If Me.Texture.Width = Me.Texture.Height / 2 Then
|
||||
If AnimationX > 2 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
ElseIf Me.Texture.Width = Me.Texture.Height Then
|
||||
If Moving = True Then
|
||||
Me.AnimationDelay -= 0.1F
|
||||
If AnimationDelay <= 0.0F Then
|
||||
AnimationX += 1
|
||||
AnimationDelay = AnimationDelayLength
|
||||
If AnimationX > 4 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
If Me.Texture.Width = Me.Texture.Height Then
|
||||
AnimationX = 1
|
||||
Else
|
||||
If AnimationX > 3 Then
|
||||
AnimationX = 1
|
||||
Me.AnimationDelay -= 0.1F
|
||||
If AnimationDelay <= 0.0F Then
|
||||
AnimationX += 1
|
||||
AnimationDelay = 2.2F
|
||||
If AnimationX > 4 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
@ -160,6 +165,10 @@
|
|||
Return 0
|
||||
Case 2
|
||||
Return 1
|
||||
Case 3
|
||||
Return 0
|
||||
Case 4
|
||||
Return 1
|
||||
End Select
|
||||
ElseIf Me.Texture.Width = Me.Texture.Height Then
|
||||
Select Case AnimationX
|
||||
|
@ -197,7 +206,7 @@
|
|||
Public Sub ApplyPlayerData(ByVal p As Servers.Player)
|
||||
Try
|
||||
Me.PlayerID = p.ServersID
|
||||
|
||||
Me.Moving = p.Moving
|
||||
Me.PokemonTexture = p.PokemonSkin
|
||||
Me.Position = p.PokemonPosition
|
||||
Me.LevelFile = p.LevelFile
|
||||
|
|
|
@ -40,7 +40,6 @@ Public Class OverworldPokemon
|
|||
Me.Texture = PokemonReference.GetOverworldTexture()
|
||||
End If
|
||||
|
||||
|
||||
Dim cameraRotation As Integer = Screen.Camera.GetFacingDirection()
|
||||
Dim spriteIndex As Integer = Me.faceRotation - cameraRotation
|
||||
|
||||
|
@ -96,18 +95,8 @@ Public Class OverworldPokemon
|
|||
If AnimationDelay <= 0.0F Then
|
||||
AnimationX += 1
|
||||
AnimationDelay = AnimationDelayLength
|
||||
If Me.Texture.Width = Me.Texture.Height / 2 Then
|
||||
If AnimationX > 2 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
ElseIf Me.Texture.Width = Me.Texture.Height Then
|
||||
If AnimationX > 4 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
Else
|
||||
If AnimationX > 3 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
If AnimationX > 4 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
|
@ -183,15 +172,19 @@ Public Class OverworldPokemon
|
|||
If Screen.Camera.IsMoving() = True And Core.CurrentScreen.Identification = Screen.Identifications.OverworldScreen Then
|
||||
If CInt(Me.Position.X) <> CInt(Screen.Camera.Position.X) Or CInt(Me.Position.Z) <> CInt(Screen.Camera.Position.Z) Then
|
||||
Me.Position += GetMove()
|
||||
Me.AnimationDelayLength = 1.1F
|
||||
If Core.Player.IsRunning = True Then
|
||||
Me.AnimationDelayLength = 1.1F / 1.4F
|
||||
Else
|
||||
Me.AnimationDelayLength = 1.1F
|
||||
End If
|
||||
Me.Moving = True
|
||||
End If
|
||||
Else
|
||||
Me.AnimationDelayLength = 1.1F
|
||||
If Me.Texture.Width = Me.Texture.Height / 2 Then
|
||||
Me.Moving = True
|
||||
Else
|
||||
Me.AnimationDelayLength = 2.2F
|
||||
If Me.Texture.Width = Me.Texture.Height Then
|
||||
Me.Moving = False
|
||||
Else
|
||||
Me.Moving = True
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
@ -310,6 +303,10 @@ Public Class OverworldPokemon
|
|||
Return 0
|
||||
Case 2
|
||||
Return 1
|
||||
Case 3
|
||||
Return 0
|
||||
Case 4
|
||||
Return 1
|
||||
End Select
|
||||
ElseIf Me.Texture.Width = Me.Texture.Height Then
|
||||
Select Case AnimationX
|
||||
|
|
|
@ -90,14 +90,8 @@
|
|||
If AnimationDelay <= 0.0F Then
|
||||
AnimationDelay = GetAnimationDelay()
|
||||
AnimationX += 1
|
||||
If Me.Texture.Width = Me.Texture.Height / 2 Then
|
||||
If AnimationX > 2 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
Else
|
||||
If AnimationX > 4 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
If AnimationX > 4 Then
|
||||
AnimationX = 1
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
|
@ -164,6 +158,10 @@
|
|||
Return 0
|
||||
Case 2
|
||||
Return 1
|
||||
Case 3
|
||||
Return 0
|
||||
Case 4
|
||||
Return 1
|
||||
End Select
|
||||
ElseIf Me.Texture.Width = Me.Texture.Height Then
|
||||
Select Case AnimationX
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
Public Sub Update()
|
||||
If Visible = True Then
|
||||
cursorPos.Y = MathHelper.Lerp(cursorDest.Y, cursorPos.Y, 0.6F)
|
||||
cursorPos.Y = CInt(MathHelper.Lerp(cursorDest.Y, cursorPos.Y, 0.6F))
|
||||
|
||||
If Controls.Up(True, True, True, True, True, True) = True Then
|
||||
Me.Index -= 1
|
||||
|
@ -64,7 +64,7 @@
|
|||
|
||||
For i = Scroll To Me.Scroll + 8
|
||||
If i <= Me.Items.Count - 1 Then
|
||||
If Controls.Accept(True, False, False) = True And i = Me.Index And New Rectangle(Core.windowSize.Width - 270, 66 * ((i + 1) - Scroll), 256, 64).Contains(MouseHandler.MousePosition) = True Or
|
||||
If Controls.Accept(True, False, False) = True And i = Me.Index And New Rectangle(Core.windowSize.Width - 270, 72 * ((i + 1) - Scroll), 256, 64).Contains(MouseHandler.MousePosition) = True Or
|
||||
Controls.Accept(False, True, True) = True And i = Me.Index Or Controls.Dismiss(True, True, True) = True And Me.BackIndex = Me.Index Then
|
||||
|
||||
If Not ClickHandler Is Nothing Then
|
||||
|
@ -79,7 +79,7 @@
|
|||
End If
|
||||
Me.Visible = False
|
||||
End If
|
||||
If New Rectangle(Core.windowSize.Width - 270, 66 * ((i + 1) - Scroll), 256, 64).Contains(MouseHandler.MousePosition) = True And Controls.Accept(True, False, False) = True Then
|
||||
If New Rectangle(Core.windowSize.Width - 270, 72 * ((i + 1) - Scroll), 256, 64).Contains(MouseHandler.MousePosition) = True And Controls.Accept(True, False, False) = True Then
|
||||
Me.Index = i
|
||||
End If
|
||||
End If
|
||||
|
@ -104,25 +104,25 @@
|
|||
If i <= Me.Items.Count - 1 Then
|
||||
Dim Text As String = Items(i)
|
||||
|
||||
Dim startPos As New Vector2(Core.windowSize.Width - 270, 66 * ((i + 1) - Scroll))
|
||||
Dim startPos As New Vector2(Core.windowSize.Width - 270, 72 * ((i + 1) - Scroll))
|
||||
|
||||
Core.SpriteBatch.Draw(t1, New Rectangle(CInt(startPos.X), CInt(startPos.Y), 64, 64), Color.White)
|
||||
Core.SpriteBatch.Draw(t2, New Rectangle(CInt(startPos.X + 64), CInt(startPos.Y), 64, 64), Color.White)
|
||||
Core.SpriteBatch.Draw(t2, New Rectangle(CInt(startPos.X + 128), CInt(startPos.Y), 64, 64), Color.White)
|
||||
Core.SpriteBatch.Draw(t1, New Rectangle(CInt(startPos.X + 192), CInt(startPos.Y), 64, 64), Nothing, Color.White, 0.0F, New Vector2(0), SpriteEffects.FlipHorizontally, 0.0F)
|
||||
|
||||
Core.SpriteBatch.DrawString(FontManager.MainFont, Text, New Vector2(startPos.X + 128 - (FontManager.MainFont.MeasureString(Text).X * 1.4F) / 2, startPos.Y + 15), Color.Black, 0.0F, Vector2.Zero, 1.4F, SpriteEffects.None, 0.0F)
|
||||
Core.SpriteBatch.DrawString(FontManager.MainFont, Text, New Vector2(CInt(startPos.X + 20), CInt(startPos.Y + 32 - FontManager.MainFont.MeasureString(Text).Y / 2)), Color.Black, 0.0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0.0F)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
Dim cPosition As Vector2 = New Vector2(cursorPos.X + 128, cursorPos.Y - 40)
|
||||
Dim cPosition As Vector2 = New Vector2(CInt(cursorPos.X + 128), CInt(cursorPos.Y - 40))
|
||||
Dim t As Texture2D = TextureManager.GetTexture("GUI\Menus\General", New Rectangle(0, 0, 16, 16), "")
|
||||
Core.SpriteBatch.Draw(t, New Rectangle(CInt(cPosition.X), CInt(cPosition.Y), 64, 64), Color.White)
|
||||
End Sub
|
||||
|
||||
Private Sub SetCursorDest()
|
||||
cursorDest = New Vector2(Core.windowSize.Width - 270, 66 * ((Index + 1) - Scroll))
|
||||
cursorDest = New Vector2(CInt(Core.windowSize.Width - 270), CInt(72 * (Index + 1 - Scroll)))
|
||||
End Sub
|
||||
|
||||
Public ReadOnly Property SelectedItem() As String
|
||||
|
|
|
@ -591,7 +591,7 @@ Public Class ChatScreen
|
|||
|
||||
For Each l As String In lineArr
|
||||
Canvas.DrawRectangle(New Rectangle(100, (Core.windowSize.Height - 82) - offset - 64, Core.windowSize.Width - 200, 32), backC)
|
||||
Core.SpriteBatch.DrawString(FontManager.ChatFont, l, New Vector2(100, (Core.windowSize.Height - 50 - 32) - offset - 64), c, 0.0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0.0F)
|
||||
Core.SpriteBatch.DrawString(FontManager.ChatFont, l, New Vector2(100 + 8, (Core.windowSize.Height - 50 - 32) - offset - 64), c, 0.0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0.0F)
|
||||
offset += 32
|
||||
items += 1
|
||||
Next
|
||||
|
@ -675,21 +675,26 @@ Public Class ChatScreen
|
|||
Private Sub DrawChatTabs()
|
||||
Dim p = MouseHandler.MousePosition
|
||||
|
||||
Dim globalText As String = "Global"
|
||||
Dim globalTextWidth As Integer = CInt(FontManager.MainFont.MeasureString(globalText).X)
|
||||
Dim commandsText As String = "Commands"
|
||||
Dim commandsTextWidth As Integer = CInt(FontManager.MainFont.MeasureString(commandsText).X)
|
||||
|
||||
'First, draw global:
|
||||
DrawChatTab(100, "global", HasNewGlobalMessages, "Global", ChatState = ChatStates.Global)
|
||||
If p.X >= 100 And p.X < 220 Then
|
||||
DrawChatTab(100, "global", HasNewGlobalMessages, globalText, ChatState = ChatStates.Global)
|
||||
If p.X >= 100 And p.X < 100 + 48 + globalTextWidth Then
|
||||
canClickOnTab = True
|
||||
canClickOnTabType = ChatStates.Global
|
||||
canClickOnTabText = "Global"
|
||||
End If
|
||||
|
||||
'Then, if active, draw the Commands tab:
|
||||
Dim x As Integer = 120
|
||||
Dim x As Integer = CInt(48 + globalTextWidth)
|
||||
|
||||
If HasCommandChat = True Then
|
||||
DrawChatTab(x + 100, "command", False, "Commands", ChatState = ChatStates.Command)
|
||||
x += 120
|
||||
If p.X >= 220 And p.X < 340 Then
|
||||
DrawChatTab(x + 100, "command", False, commandsText, ChatState = ChatStates.Command)
|
||||
x += CInt(48 + commandsTextWidth)
|
||||
If p.X >= CInt(100 + 48 + globalTextWidth) And p.X < CInt(100 + 48 + globalTextWidth + 48 + commandsTextWidth) Then
|
||||
canClickOnTab = True
|
||||
canClickOnTabType = ChatStates.Command
|
||||
canClickOnTabText = "Commands"
|
||||
|
@ -752,7 +757,7 @@ Public Class ChatScreen
|
|||
''' </summary>
|
||||
Private Shared Function DrawChatTab(ByVal xPosition As Integer, ByVal textureType As String, ByVal HasNewMessages As Boolean, ByVal Text As String, ByVal IsActive As Boolean) As Integer
|
||||
Dim drawHeight As Integer = 32
|
||||
Dim drawWidth As Integer = 120
|
||||
Dim drawWidth As Integer = CInt(48 + FontManager.MainFont.MeasureString(Text).X)
|
||||
|
||||
If IsActive = False Then
|
||||
drawHeight = 24
|
||||
|
@ -780,7 +785,7 @@ Public Class ChatScreen
|
|||
Core.SpriteBatch.Draw(texture, New Rectangle(xPosition, Core.windowSize.Height - 50 - drawHeight - 12, 24, 24), New Rectangle(48, 0, 24, 24), Color.White)
|
||||
End If
|
||||
|
||||
Core.SpriteBatch.DrawString(FontManager.MainFont, Text, New Vector2(xPosition + 32, CInt(Core.windowSize.Height - 50 + 4)), Color.White, 0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0F)
|
||||
Core.SpriteBatch.DrawString(FontManager.MainFont, Text, New Vector2(xPosition + 24 + 12, CInt(Core.windowSize.Height - 50 + drawHeight / 2 - FontManager.MainFont.MeasureString(Text).Y / 2)), Color.White, 0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0F)
|
||||
|
||||
Return drawWidth
|
||||
End Function
|
||||
|
@ -881,7 +886,7 @@ Public Class ChatScreen
|
|||
|
||||
For Each l As String In lineArr
|
||||
Canvas.DrawRectangle(New Rectangle(100, (Core.windowSize.Height - 82) - offset - 64, Core.windowSize.Width - 200, 32), New Color(0, 0, 0, opacity))
|
||||
Core.SpriteBatch.DrawString(FontManager.ChatFont, l, New Vector2(100, (Core.windowSize.Height - 50 - 32) - offset - 64), New Color(c.R, c.G, c.B, CInt(opacity * 1.7)), 0.0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0.0F)
|
||||
Core.SpriteBatch.DrawString(FontManager.ChatFont, l, New Vector2(100 + 8, (Core.windowSize.Height - 50 - 32) - offset - 64), New Color(c.R, c.G, c.B, CInt(opacity * 1.7)), 0.0F, Vector2.Zero, 1.0F, SpriteEffects.None, 0.0F)
|
||||
offset += 32
|
||||
Next
|
||||
End If
|
||||
|
|
161
P3D/P3D.vbproj
|
@ -14666,31 +14666,49 @@
|
|||
<Content Include="Content\Songs\wind.ogg">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Ember_Hit.wav">
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Electric\Thunderbolt.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Ember_Start.wav">
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Fire\Ember_Hit.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Fly_Hit.wav">
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Fire\Ember_Start.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Fly_Start.wav">
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Flying\Fly_Hit.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\PoisonSting_Hit.wav">
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Flying\Fly_Start.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\PoisonSting_Start.wav">
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Grass\Absorb.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Pound.wav">
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Normal\Attract.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Tackle.wav">
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Normal\Bind.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Thunderbolt.wav">
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Normal\Pound.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Normal\Tackle.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Normal\Wrap.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Poison\PoisonSting_Hit.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Poison\PoisonSting_Start.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Water\Clamp.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Attacks\Water\Whirlpool.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Damage\Effective.wav">
|
||||
|
@ -14702,15 +14720,51 @@
|
|||
<Content Include="Content\Sounds\Battle\Damage\SuperEffective.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Effects\Asleep.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Effects\Burned.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Effects\Confused.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Effects\MegaEvolution.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Emote_Exclamation.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\MegaEvolution\Mega_Phase1.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\MegaEvolution\Mega_Phase2.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Normal\Attract.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Normal\Bind.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Normal\Wrap.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\StatusEffect\Burned.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\StatusEffect\Frozen.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Effects\Frozen.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Effects\Heal.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Effects\Infatuated.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\Battle\Effects\Paralyzed.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
@ -15371,6 +15425,9 @@
|
|||
<Content Include="Content\Sounds\Use_Repel.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Electric\Sparks.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Fire\Ember.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
@ -15380,6 +15437,9 @@
|
|||
<Content Include="Content\Textures\Battle\Fire\Smoke.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Grass\Absorb.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Normal\Growl.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
@ -15389,7 +15449,7 @@
|
|||
<Content Include="Content\Textures\Battle\Normal\Tackle.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Other\Star.png">
|
||||
<Content Include="Content\Textures\Battle\BallCatchStar.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Poison\Bubble.png">
|
||||
|
@ -15398,6 +15458,30 @@
|
|||
<Content Include="Content\Textures\Battle\Poison\Stinger.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Smoke.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\StatusEffect\Asleep.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\StatusEffect\Confused.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\StatusEffect\Paralyzed.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\StatusEffect\Poisoned.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Water\Clamp_Left.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Water\Clamp_Right.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Water\Whirlpool.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\chess.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
@ -26264,33 +26348,6 @@
|
|||
<Content Include="Content\Textures\battletower.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Cloud.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Fighting\forcepalmhand.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Fighting\forcepalmhandfaded.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Fighting\forcepalmhandfading.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Fighting\forcepalmimpact.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Fighting\forcepalmparticle.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Fire\Hand.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Other\RedCircle.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Other\YellowCloud.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\StatChange\Heal.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
@ -26300,15 +26357,6 @@
|
|||
<Content Include="Content\Textures\Battle\StatChange\statUp.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Status.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Water\bubble.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Battle\Water\Water.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\Berries.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
@ -27540,10 +27588,14 @@
|
|||
<Content Include="credits.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Compile Include="Battle\BattleAnimations\BABillMove.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BABillOpacity.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BABillSize.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BASound.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAEntityColor.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BABackground.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAEntityRotate.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAEntityMove.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAEntityOpacity.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAEntityTextureChange.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAEntityScale.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAPlaySound.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\QueryObjects\AnimationQueryObject.vb" />
|
||||
<Compile Include="Dialogues\ImageView.vb" />
|
||||
<Compile Include="Overworld\NotificationPopup.vb" />
|
||||
|
@ -29227,10 +29279,6 @@
|
|||
<None Include="README.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Battle\BattleAnimations\BAMove.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BAOpacity.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BARotation.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BASize.vb" />
|
||||
<Compile Include="Battle\BattleAnimations\BattleAnimation3D.vb" />
|
||||
<Compile Include="Battle\BattleStats.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\Battle.vb" />
|
||||
|
@ -29250,7 +29298,6 @@
|
|||
<Compile Include="Battle\BattleSystemV2\QueryObjects\EndBattleQueryObject.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\QueryObjects\LearnMovesQueryObject.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\QueryObjects\MathHPQueryObject.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\QueryObjects\MoveAnimationQueryObject.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\QueryObjects\PlayMusicQueryObject.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\QueryObjects\PlaySoundQueryObject.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\QueryObjects\QueryObject.vb" />
|
||||
|
@ -30910,7 +30957,9 @@
|
|||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<Folder Include="Content\Textures\Battle\Fighting\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<Import Condition=" '$(Configuration)' != 'DebugNoContent' Or '$(Configuration)' != 'ReleaseNoContent' " Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Content.Builder.targets" />
|
||||
<PropertyGroup>
|
||||
|
|
|
@ -1844,7 +1844,7 @@
|
|||
'returnMove = New Moves.Fighting.MeteorAssault()
|
||||
'Case 795
|
||||
'returnMove = New Moves.Dragon.Eternabeam()
|
||||
Case 796
|
||||
Case 796
|
||||
returnMove = New Moves.Steel.SteelBeam()
|
||||
'Case 797
|
||||
'Blank
|
||||
|
@ -2163,23 +2163,43 @@
|
|||
|
||||
#Region "Animation"
|
||||
|
||||
Public Sub UserPokemonMoveAnimation(ByVal BattleScreen As BattleScreen)
|
||||
If Core.Player.ShowBattleAnimations = 1 Then
|
||||
Me.InternalUserPokemonMoveAnimation(BattleScreen)
|
||||
Public Sub UserPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal own As Boolean)
|
||||
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||
Dim BattleFlip As Boolean = False
|
||||
Dim CurrentPokemon As Pokemon = BattleScreen.OwnPokemon
|
||||
Dim CurrentEntity As NPC = BattleScreen.OwnPokemonNPC
|
||||
Dim CurrentModel As ModelEntity = BattleScreen.OwnPokemonModel
|
||||
If own = False Then
|
||||
BattleFlip = True
|
||||
CurrentPokemon = BattleScreen.OppPokemon
|
||||
CurrentEntity = BattleScreen.OppPokemonNPC
|
||||
CurrentModel = BattleScreen.OppPokemonModel
|
||||
End If
|
||||
Me.InternalUserPokemonMoveAnimation(BattleScreen, BattleFlip, CurrentPokemon, CurrentEntity, CurrentModel)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Overridable Sub InternalUserPokemonMoveAnimation(ByVal BattleScreen As BattleScreen)
|
||||
Public Overridable Sub InternalUserPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC, ByVal CurrentModel As ModelEntity)
|
||||
'Override this method in the attack class to insert the move animation query objects into the queue.
|
||||
End Sub
|
||||
|
||||
Public Sub OpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen)
|
||||
If Core.Player.ShowBattleAnimations = 1 Then
|
||||
Me.InternalOpponentPokemonMoveAnimation(BattleScreen)
|
||||
Public Sub OpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal own As Boolean)
|
||||
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||
Dim BattleFlip As Boolean = False
|
||||
Dim CurrentPokemon As Pokemon = BattleScreen.OppPokemon
|
||||
Dim CurrentEntity As NPC = BattleScreen.OppPokemonNPC
|
||||
Dim CurrentModel As ModelEntity = BattleScreen.OppPokemonModel
|
||||
If own = False Then
|
||||
BattleFlip = True
|
||||
CurrentPokemon = BattleScreen.OwnPokemon
|
||||
CurrentEntity = BattleScreen.OwnPokemonNPC
|
||||
CurrentModel = BattleScreen.OwnPokemonModel
|
||||
End If
|
||||
Me.InternalOpponentPokemonMoveAnimation(BattleScreen, BattleFlip, CurrentPokemon, CurrentEntity, CurrentModel)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Overridable Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen)
|
||||
Public Overridable Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC, ByVal CurrentModel As ModelEntity)
|
||||
'Override this method in the attack class to insert the move animation query objects into the queue.
|
||||
End Sub
|
||||
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = True
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Damage
|
||||
Me.AIField2 = AIField.CanBurn
|
||||
|
||||
|
@ -58,19 +57,63 @@
|
|||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
Dim op As Pokemon = BattleScreen.OppPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
op = BattleScreen.OwnPokemon
|
||||
End If
|
||||
|
||||
Dim chance As Integer = GetEffectChance(0, own, BattleScreen)
|
||||
If Core.Random.Next(0, 100) < chance Then
|
||||
BattleScreen.Battle.InflictBurn(Not own, own, BattleScreen, "", "move:ember")
|
||||
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 ModelEntity)
|
||||
Dim MoveAnimation = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
Dim FireballEntity = MoveAnimation.SpawnEntity(Nothing, TextureManager.GetTexture("Textures\Battle\Fire\FireBall"), New Vector3(0.5F), 1.0F)
|
||||
|
||||
MoveAnimation.AnimationMove(FireballEntity, True, 2.0, 0.0, 0.0, 0.05, False, True, 0.0, 0.0,, -0.5)
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Fire\Ember_Start", 0, 0)
|
||||
For i = 0 To 12
|
||||
Dim SmokeEntity = MoveAnimation.SpawnEntity(New Vector3(CSng(i * 0.2), 0.0, 0.0), TextureManager.GetTexture("Textures\Battle\Fire\Smoke"), New Vector3(0.2), 1, CSng(i * 0.2))
|
||||
MoveAnimation.AnimationFade(SmokeEntity, True, 0.02, False, 0.0, CSng(i * 0.2), 0.0)
|
||||
|
||||
i += 1
|
||||
Next
|
||||
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, ByVal CurrentModel As ModelEntity)
|
||||
Dim MoveAnimation = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
Dim FireballEntity = MoveAnimation.SpawnEntity(New Vector3(-2.0, 0.0, 0.0), TextureManager.GetTexture("Textures\Battle\Fire\FireBall"), New Vector3(0.5F), 1.0F)
|
||||
|
||||
MoveAnimation.AnimationMove(FireballEntity, True, -0.05, 0.0, 0.0, 0.05, False, True, 0.0, 1.0,, -0.5)
|
||||
|
||||
For i = 0 To 12
|
||||
Dim SmokeEntity = MoveAnimation.SpawnEntity(New Vector3(CSng(-3.0 + i * 0.2), 0.0, 0.0), TextureManager.GetTexture("Textures\Battle\Fire\Smoke"), New Vector3(0.2), 1, CSng(i * 0.2))
|
||||
MoveAnimation.AnimationFade(SmokeEntity, True, 0.02, False, 0.0, CSng(i * 0.2), 0.0)
|
||||
|
||||
i += 1
|
||||
Next
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Fire\Ember_Hit", 4, 0)
|
||||
|
||||
Dim FireEntity1 As Entity = MoveAnimation.SpawnEntity(New Vector3(-0.25, -0.25, -0.25), TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 3, 0)
|
||||
Dim FireEntity2 As Entity = MoveAnimation.SpawnEntity(New Vector3(0, -0.25, 0), TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 3, 0)
|
||||
Dim FireEntity3 As Entity = MoveAnimation.SpawnEntity(New Vector3(0.25, -0.25, 0.25), TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 3, 0)
|
||||
|
||||
MoveAnimation.AnimationChangeTexture(FireEntity1, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 32, 32, 32), ""), 3.75, 0)
|
||||
MoveAnimation.AnimationChangeTexture(FireEntity2, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 32, 32, 32), ""), 3.75, 0)
|
||||
MoveAnimation.AnimationChangeTexture(FireEntity3, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 32, 32, 32), ""), 3.75, 0)
|
||||
|
||||
MoveAnimation.AnimationChangeTexture(FireEntity1, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 64, 32, 32), ""), 4.5, 0)
|
||||
MoveAnimation.AnimationChangeTexture(FireEntity2, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 64, 32, 32), ""), 4.5, 0)
|
||||
MoveAnimation.AnimationChangeTexture(FireEntity3, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 64, 32, 32), ""), 4.5, 0)
|
||||
|
||||
MoveAnimation.AnimationChangeTexture(FireEntity1, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 96, 32, 32), ""), 5.25, 0)
|
||||
MoveAnimation.AnimationChangeTexture(FireEntity2, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 96, 32, 32), ""), 5.25, 0)
|
||||
MoveAnimation.AnimationChangeTexture(FireEntity3, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 96, 32, 32), ""), 5.25, 0)
|
||||
|
||||
MoveAnimation.AnimationChangeTexture(FireEntity1, True, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 128, 32, 32), ""), 6, 0)
|
||||
MoveAnimation.AnimationChangeTexture(FireEntity2, True, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 128, 32, 32), ""), 6, 0)
|
||||
MoveAnimation.AnimationChangeTexture(FireEntity3, True, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 128, 32, 32), ""), 6, 0)
|
||||
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -92,6 +92,24 @@
|
|||
End If
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC, ByVal CurrentModel As ModelEntity)
|
||||
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
Dim maxAmount As Integer = 12
|
||||
Dim currentAmount As Integer = 0
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Grass\Absorb", 0, 0)
|
||||
While currentAmount <= maxAmount
|
||||
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)
|
||||
|
||||
Threading.Interlocked.Increment(currentAmount)
|
||||
End While
|
||||
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
End Namespace
|
||||
|
|
|
@ -76,6 +76,34 @@
|
|||
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 ModelEntity)
|
||||
Dim MoveAnimation = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
For i = 0 To 6
|
||||
Dim HeartEntity = MoveAnimation.SpawnEntity(Nothing, TextureManager.GetTexture("Textures\Battle\Normal\Attract"), New Vector3(0.25F), 1.0F, CSng(i * 0.2))
|
||||
|
||||
MoveAnimation.AnimationMove(HeartEntity, True, 2.0, 0.0, 0.0, 0.075, False, False, CSng(i * 0.2), 0.0)
|
||||
i += 1
|
||||
Next
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Normal\Attract", 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, ByVal CurrentModel As ModelEntity)
|
||||
Dim MoveAnimation = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
|
||||
For i = 0 To 6
|
||||
Dim HeartEntity = MoveAnimation.SpawnEntity(New Vector3(-2.0, 0.0, 0.0), TextureManager.GetTexture("Textures\Battle\Normal\Attract"), New Vector3(0.25F), 1.0F, CSng(i * 0.2))
|
||||
|
||||
MoveAnimation.AnimationMove(HeartEntity, False, 0.0, 0.0, 0.0, 0.06, False, False, CSng(i * 0.2), 0.0)
|
||||
Dim zPos As Single = CSng(Random.Next(-2, 2) * 0.2)
|
||||
MoveAnimation.AnimationMove(HeartEntity, False, 0.0, 0.25, zPos, 0.01, False, False, CSng(1 + i * 0.2), 0.0)
|
||||
MoveAnimation.AnimationFade(HeartEntity, True, 0.02, False, 0.0, CSng(2 + i * 0.2), 0.0)
|
||||
i += 1
|
||||
Next
|
||||
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -87,6 +87,28 @@ Namespace BattleSystem.Moves.Normal
|
|||
End If
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC, ByVal CurrentModel As ModelEntity)
|
||||
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Normal\Bind", 5.0F, 0)
|
||||
Dim BindEntity = MoveAnimation.SpawnEntity(New Vector3(0, -0.2, 0), TextureManager.GetTexture("Textures\Battle\Normal\Bind", New Rectangle(0, 0, 80, 40), ""), New Vector3(1.0F, 0.5F, 1.0F), 1, 0, 0.75)
|
||||
MoveAnimation.AnimationChangeTexture(BindEntity, False, TextureManager.GetTexture("Textures\Battle\Normal\Bind", New Rectangle(0, 40, 80, 40), ""), 0.75, 0.75)
|
||||
MoveAnimation.AnimationChangeTexture(BindEntity, False, TextureManager.GetTexture("Textures\Battle\Normal\Bind", New Rectangle(0, 80, 80, 40), ""), 1.5, 0.75)
|
||||
MoveAnimation.AnimationChangeTexture(BindEntity, False, TextureManager.GetTexture("Textures\Battle\Normal\Bind", New Rectangle(0, 120, 80, 40), ""), 2.25, 0.75)
|
||||
MoveAnimation.AnimationChangeTexture(BindEntity, False, TextureManager.GetTexture("Textures\Battle\Normal\Bind", New Rectangle(0, 160, 80, 40), ""), 3, 0.75)
|
||||
MoveAnimation.AnimationChangeTexture(BindEntity, False, TextureManager.GetTexture("Textures\Battle\Normal\Bind", New Rectangle(0, 200, 80, 40), ""), 3.75, 0.75)
|
||||
|
||||
MoveAnimation.AnimationScale(Nothing, False, False, 0.75F, 1.0F, 0.75F, 0.02F, 5, 0)
|
||||
MoveAnimation.AnimationScale(BindEntity, False, False, 0.75F, 0.5F, 0.75F, 0.02F, 5, 0)
|
||||
MoveAnimation.AnimationScale(Nothing, False, True, 1.0F, 1.0F, 1.0F, 0.04F, 7, 0)
|
||||
MoveAnimation.AnimationScale(BindEntity, False, True, 1.0F, 0.5F, 1.0F, 0.04F, 7, 0)
|
||||
MoveAnimation.AnimationScale(Nothing, False, False, 0.75F, 1.0F, 0.75F, 0.02F, 9, 0)
|
||||
MoveAnimation.AnimationScale(BindEntity, False, False, 0.75F, 0.5F, 0.75F, 0.02F, 9, 0)
|
||||
MoveAnimation.AnimationScale(Nothing, False, True, 1.0F, 1.0F, 1.0F, 0.04F, 11, 0)
|
||||
MoveAnimation.AnimationScale(BindEntity, False, True, 1.0F, 0.5F, 1.0F, 0.04F, 11, 0)
|
||||
MoveAnimation.AnimationFade(BindEntity, True, 0.03, False, 0.0, 11, 0)
|
||||
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -62,6 +62,22 @@
|
|||
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 ModelEntity)
|
||||
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
|
||||
MoveAnimation.AnimationPlaySound(CStr(CurrentPokemon.Number), 0, 0,, True)
|
||||
Dim SoundwaveEntity As Entity
|
||||
' If BattleFlip = False Then
|
||||
SoundwaveEntity = MoveAnimation.SpawnEntity(New Vector3(0.25, -0.25, 0), TextureManager.GetTexture("Textures\Battle\Normal\Growl", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 0, 1)
|
||||
'Else
|
||||
' SoundwaveEntity = MoveAnimation.SpawnEntity(New Vector3(-0.25, -0.25, 0), TextureManager.GetTexture("Textures\Battle\Normal\Growl", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 0, 1)
|
||||
'End If
|
||||
MoveAnimation.AnimationChangeTexture(SoundwaveEntity, False, TextureManager.GetTexture("Textures\Battle\Normal\Growl", New Rectangle(0, 32, 32, 32), ""), 1, 1)
|
||||
MoveAnimation.AnimationChangeTexture(SoundwaveEntity, False, TextureManager.GetTexture("Textures\Battle\Normal\Growl", New Rectangle(0, 0, 32, 32), ""), 2, 1)
|
||||
MoveAnimation.AnimationChangeTexture(SoundwaveEntity, True, TextureManager.GetTexture("Textures\Battle\Normal\Growl", New Rectangle(0, 32, 32, 32), ""), 3, 1)
|
||||
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -55,6 +55,14 @@
|
|||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC, ByVal CurrentModel As ModelEntity)
|
||||
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Normal\Pound", 0.5, 2.5)
|
||||
Dim PoundEntity = MoveAnimation.SpawnEntity(New Vector3(0, -0.2, 0), TextureManager.GetTexture("Textures\Battle\Normal\Pound"), New Vector3(0.5F), 1, 0, 3)
|
||||
MoveAnimation.AnimationFade(PoundEntity, True, 1.0F, False, 0.0F, 3, 0)
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -52,6 +52,20 @@
|
|||
'#End
|
||||
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 ModelEntity)
|
||||
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip, CurrentModel)
|
||||
MoveAnimation.AnimationMove(Nothing, False, -0.5F, 0, 0, 0.3F, False, False, 0, 0,,, 2)
|
||||
MoveAnimation.AnimationMove(Nothing, False, 0, 0, 0, 0.3F, False, False, 1, 0,,, 2)
|
||||
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, ByVal CurrentModel As ModelEntity)
|
||||
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Normal\Tackle", 0, 0)
|
||||
Dim SpawnEntity = MoveAnimation.SpawnEntity(New Vector3(0, -0.2, 0), TextureManager.GetTexture("Textures\Battle\Normal\Tackle"), New Vector3(0.5F), 1.0F, 0, 2)
|
||||
MoveAnimation.AnimationFade(SpawnEntity, True, 1.0F, False, 0.0F, 2, 0)
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -87,6 +87,28 @@
|
|||
End If
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC, ByVal CurrentModel As ModelEntity)
|
||||
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Normal\Wrap", 5.0F, 0)
|
||||
Dim WrapEntity = MoveAnimation.SpawnEntity(New Vector3(0, -0.2, 0), TextureManager.GetTexture("Textures\Battle\Normal\Wrap", New Rectangle(0, 0, 80, 40), ""), New Vector3(1.0F, 0.5F, 1.0F), 1, 0, 0.75)
|
||||
MoveAnimation.AnimationChangeTexture(WrapEntity, False, TextureManager.GetTexture("Textures\Battle\Normal\Wrap", New Rectangle(0, 40, 80, 40), ""), 0.75, 0.75)
|
||||
MoveAnimation.AnimationChangeTexture(WrapEntity, False, TextureManager.GetTexture("Textures\Battle\Normal\Wrap", New Rectangle(0, 80, 80, 40), ""), 1.5, 0.75)
|
||||
MoveAnimation.AnimationChangeTexture(WrapEntity, False, TextureManager.GetTexture("Textures\Battle\Normal\Wrap", New Rectangle(0, 120, 80, 40), ""), 2.25, 0.75)
|
||||
MoveAnimation.AnimationChangeTexture(WrapEntity, False, TextureManager.GetTexture("Textures\Battle\Normal\Wrap", New Rectangle(0, 160, 80, 40), ""), 3, 0.75)
|
||||
MoveAnimation.AnimationChangeTexture(WrapEntity, False, TextureManager.GetTexture("Textures\Battle\Normal\Wrap", New Rectangle(0, 200, 80, 40), ""), 3.75, 0.75)
|
||||
MoveAnimation.AnimationScale(Nothing, False, False, 0.75F, 1.0F, 0.75F, 0.02F, 5, 0)
|
||||
MoveAnimation.AnimationScale(WrapEntity, False, False, 0.75F, 0.5F, 0.75F, 0.02F, 5, 0)
|
||||
MoveAnimation.AnimationScale(Nothing, False, True, 1.0F, 1.0F, 1.0F, 0.04F, 7, 0)
|
||||
MoveAnimation.AnimationScale(WrapEntity, False, True, 1.0F, 0.5F, 1.0F, 0.04F, 7, 0)
|
||||
MoveAnimation.AnimationScale(Nothing, False, False, 0.75F, 1.0F, 0.75F, 0.02F, 9, 0)
|
||||
MoveAnimation.AnimationScale(WrapEntity, False, False, 0.75F, 0.5F, 0.75F, 0.02F, 9, 0)
|
||||
MoveAnimation.AnimationScale(Nothing, False, True, 1.0F, 1.0F, 1.0F, 0.04F, 11, 0)
|
||||
MoveAnimation.AnimationScale(WrapEntity, False, True, 1.0F, 0.5F, 1.0F, 0.04F, 11, 0)
|
||||
MoveAnimation.AnimationFade(WrapEntity, True, 0.03, False, 0.0, 11, 0)
|
||||
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -65,6 +65,53 @@
|
|||
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 ModelEntity)
|
||||
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
|
||||
Dim TextureYOffset As Integer = 0
|
||||
If BattleFlip = True Then
|
||||
TextureYOffset = 16
|
||||
End If
|
||||
Dim StingerEntity As Entity = MoveAnimation.SpawnEntity(Nothing, TextureManager.GetTexture("Textures\Battle\Poison\Stinger", New Rectangle(0, TextureYOffset, 16, 16), ""), New Vector3(0.2F), 1.0F)
|
||||
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Poison\PoisonSting_Start", 0, 0)
|
||||
MoveAnimation.AnimationMove(StingerEntity, True, 2.0, 0.0, 0.0, 0.08, False, False, 0.0, 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, ByVal CurrentModel As ModelEntity)
|
||||
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
|
||||
Dim TextureYOffset As Integer = 0
|
||||
If BattleFlip = True Then
|
||||
TextureYOffset = 16
|
||||
End If
|
||||
Dim StingerEntity As Entity = MoveAnimation.SpawnEntity(New Vector3(-2.0, 0, 0.0), TextureManager.GetTexture("Textures\Battle\Poison\Stinger", New Rectangle(0, TextureYOffset, 16, 16), ""), New Vector3(0.2F), 1)
|
||||
|
||||
MoveAnimation.AnimationMove(StingerEntity, True, 0.0, 0.0, 0.0, 0.08, False, False, 0.0, 0.0)
|
||||
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Poison\PoisonSting_Hit", 1, 0)
|
||||
|
||||
Dim BubbleEntity1 As Entity = MoveAnimation.SpawnEntity(New Vector3(-0.25, -0.25, -0.25), TextureManager.GetTexture("Textures\Battle\Poison\Bubble", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 2, 1)
|
||||
|
||||
MoveAnimation.AnimationChangeTexture(BubbleEntity1, False, TextureManager.GetTexture("Textures\Battle\Poison\Bubble", New Rectangle(0, 32, 32, 32), ""), 3, 1)
|
||||
|
||||
Dim BubbleEntity2 As Entity = MoveAnimation.SpawnEntity(New Vector3(0, -0.25, 0), TextureManager.GetTexture("Textures\Battle\Poison\Bubble", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 3, 1)
|
||||
|
||||
MoveAnimation.AnimationChangeTexture(BubbleEntity1, True, TextureManager.GetTexture("Textures\Battle\Poison\Bubble", New Rectangle(0, 64, 32, 32), ""), 4, 1)
|
||||
MoveAnimation.AnimationChangeTexture(BubbleEntity2, False, TextureManager.GetTexture("Textures\Battle\Poison\Bubble", New Rectangle(0, 32, 32, 32), ""), 4, 1)
|
||||
|
||||
Dim BubbleEntity3 As Entity = MoveAnimation.SpawnEntity(New Vector3(0.25, -0.25, 0.25), TextureManager.GetTexture("Textures\Battle\Poison\Bubble", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 4, 1)
|
||||
|
||||
MoveAnimation.AnimationChangeTexture(BubbleEntity2, True, TextureManager.GetTexture("Textures\Battle\Poison\Bubble", New Rectangle(0, 64, 32, 32), ""), 5, 1)
|
||||
MoveAnimation.AnimationChangeTexture(BubbleEntity3, False, TextureManager.GetTexture("Textures\Battle\Poison\Bubble", New Rectangle(0, 32, 32, 32), ""), 5, 1)
|
||||
|
||||
MoveAnimation.AnimationChangeTexture(BubbleEntity3, True, TextureManager.GetTexture("Textures\Battle\Poison\Bubble", New Rectangle(0, 64, 32, 32), ""), 6, 1)
|
||||
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -87,6 +87,26 @@ Namespace BattleSystem.Moves.Water
|
|||
End If
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC, ByVal CurrentModel As ModelEntity)
|
||||
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
|
||||
Dim offsetLeft As Single = -0.35
|
||||
Dim offsetRight As Single = 0.35
|
||||
If BattleFlip = True Then
|
||||
offsetLeft = 0.35
|
||||
offsetRight = -0.35
|
||||
End If
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Water\Clamp", 0, 0)
|
||||
Dim ClampEntityLeft = MoveAnimation.SpawnEntity(New Vector3(offsetLeft, -0.1, offsetLeft), TextureManager.GetTexture("Textures\Battle\Water\Clamp_Left", New Rectangle(0, 0, 24, 64), ""), New Vector3(0.28F, 0.75F, 0.28F), 0.75F)
|
||||
Dim ClampEntityRight = MoveAnimation.SpawnEntity(New Vector3(offsetRight, -0.1, offsetRight), TextureManager.GetTexture("Textures\Battle\Water\Clamp_Right", New Rectangle(0, 0, 24, 64), ""), New Vector3(0.28F, 0.75F, 0.28F), 0.75F)
|
||||
MoveAnimation.AnimationMove(ClampEntityLeft, False, -0.1, -0.1, -0.1, 0.02, False, False, 0, 0)
|
||||
MoveAnimation.AnimationMove(ClampEntityRight, False, 0.1, -0.1, 0.1, 0.02, False, False, 0, 0)
|
||||
MoveAnimation.AnimationMove(ClampEntityLeft, True, -0.35, -0.1, -0.35, 0.02, False, False, 2, 0)
|
||||
MoveAnimation.AnimationMove(ClampEntityRight, True, 0.35, -0.1, 0.35, 0.02, False, False, 2, 0)
|
||||
Dim SpawnEntity = MoveAnimation.SpawnEntity(New Vector3(0, -0.2, 0), TextureManager.GetTexture("Textures\Battle\Normal\Tackle"), New Vector3(0.5F), 1.0F, 2.5, 2)
|
||||
MoveAnimation.AnimationFade(SpawnEntity, True, 1.0F, False, 0.0F, 4.5F, 0)
|
||||
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -99,7 +99,16 @@ Namespace BattleSystem.Moves.Water
|
|||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC, ByVal CurrentModel As ModelEntity)
|
||||
Dim MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip,, True)
|
||||
MoveAnimation.AnimationPlaySound("Battle\Attacks\Water\Whirlpool", 0.0F, 0)
|
||||
Dim WhirlpoolEntity As Entity = MoveAnimation.SpawnEntity(New Vector3(0, -0.3F, 0), TextureManager.GetTexture("Textures\Battle\Water\Whirlpool"), New Vector3(0.0F), 1.0F, 0.0F, 0.0F)
|
||||
MoveAnimation.AnimationRotate(WhirlpoolEntity, False, CSng(MathHelper.Pi * 1.5), 0, 0, CSng(MathHelper.Pi * 1.5), 0, 0, 0, 0, True, False, False, False)
|
||||
MoveAnimation.AnimationRotate(WhirlpoolEntity, False, 0, 0, 0.2F, 0, 0, 10.0F, 0.0F, 0.0F, False, False, True, True)
|
||||
MoveAnimation.AnimationScale(WhirlpoolEntity, False, True, 1.0F, 1.0F, 1.0F, 0.025F, 0.0F, 0.0F)
|
||||
MoveAnimation.AnimationScale(WhirlpoolEntity, True, False, 0.0F, 0.0F, 0.0F, 0.025F, 5.0F, 0.0F)
|
||||
BattleScreen.BattleQuery.Add(MoveAnimation)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|