Start of battle pokeball throw animation
and some little fixes
This commit is contained in:
parent
3900fe7191
commit
4b3b900e40
|
@ -7227,7 +7227,7 @@
|
||||||
' Pokemon disappears
|
' Pokemon disappears
|
||||||
BallReturn.AnimationFade(Nothing, False, 1, False, 0, 1, 0)
|
BallReturn.AnimationFade(Nothing, False, 1, False, 0, 1, 0)
|
||||||
|
|
||||||
BallReturn.AnimationMove(Nothing, False, 0, 0.5, 0, 0.5, False, False, 2, 0,,, 4)
|
BallReturn.AnimationMove(Nothing, False, 0, 0.5, 0, 0.5, False, False, 2, 0,,, 3)
|
||||||
|
|
||||||
' Ball returns
|
' Ball returns
|
||||||
BallReturn.AnimationPlaySound("Battle\Pokeball\Throw", 1, 0)
|
BallReturn.AnimationPlaySound("Battle\Pokeball\Throw", 1, 0)
|
||||||
|
@ -7292,7 +7292,7 @@
|
||||||
|
|
||||||
' Pokemon disappears
|
' Pokemon disappears
|
||||||
BallReturn.AnimationFade(Nothing, False, 1, False, 0, 1, 0)
|
BallReturn.AnimationFade(Nothing, False, 1, False, 0, 1, 0)
|
||||||
BallReturn.AnimationMove(Nothing, False, 0, 0.5, 0, 0.5, False, False, 2, 0,,, 4)
|
BallReturn.AnimationMove(Nothing, False, 0, 0.5, 0, 0.5, False, False, 2, 0,,, 3)
|
||||||
|
|
||||||
' Ball returns
|
' Ball returns
|
||||||
BallReturn.AnimationPlaySound("Battle\Pokeball\Throw", 1, 0)
|
BallReturn.AnimationPlaySound("Battle\Pokeball\Throw", 1, 0)
|
||||||
|
@ -7326,12 +7326,12 @@
|
||||||
BattleScreen.BattleQuery.Add(New ToggleEntityQueryObject(True, ToggleEntityQueryObject.BattleEntities.OppPokemon, 1, -1, -1, -1, -1))
|
BattleScreen.BattleQuery.Add(New ToggleEntityQueryObject(True, ToggleEntityQueryObject.BattleEntities.OppPokemon, 1, -1, -1, -1, -1))
|
||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(BattleScreen.Trainer.Name & ": ""Go, " & BattleScreen.OppPokemon.GetDisplayName() & "!"""))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(BattleScreen.Trainer.Name & ": ""Go, " & BattleScreen.OppPokemon.GetDisplayName() & "!"""))
|
||||||
|
|
||||||
|
Dim BallThrow As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OppPokemonNPC, True, BattleScreen.OppPokemonModel)
|
||||||
If Core.Player.ShowBattleAnimations <> 0 Then
|
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||||
' Ball is thrown
|
' Ball is thrown
|
||||||
Dim BallThrow As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OppPokemonNPC, True, BattleScreen.OppPokemonModel)
|
|
||||||
|
|
||||||
BallThrow.AnimationPlaySound("Battle\Pokeball\Throw", 0, 0)
|
BallThrow.AnimationPlaySound("Battle\Pokeball\Throw", 0, 0)
|
||||||
Dim BallThrowEntity = BallThrow.SpawnEntity(New Vector3(-2, -0.15, 0), BattleScreen.OwnPokemon.CatchBall.Texture, New Vector3(0.3F), 1.0F)
|
Dim BallThrowEntity = BallThrow.SpawnEntity(New Vector3(-2, -0.15, 0), BattleScreen.OppPokemon.CatchBall.Texture, New Vector3(0.3F), 1.0F)
|
||||||
BallThrow.AnimationMove(BallThrowEntity, True, 0, 0.35, 0, 0.1, False, True, 0F, 0.5F,, 0.3,, 0.025F)
|
BallThrow.AnimationMove(BallThrowEntity, True, 0, 0.35, 0, 0.1, False, True, 0F, 0.5F,, 0.3,, 0.025F)
|
||||||
|
|
||||||
' Ball opens
|
' Ball opens
|
||||||
|
@ -7350,11 +7350,11 @@
|
||||||
BallThrow.AnimationMove(SmokeEntity, True, SmokeDestination.X, SmokeDestination.Y, SmokeDestination.Z, SmokeSpeed, False, False, 3.0F, 0.0F)
|
BallThrow.AnimationMove(SmokeEntity, True, SmokeDestination.X, SmokeDestination.Y, SmokeDestination.Z, SmokeSpeed, False, False, 3.0F, 0.0F)
|
||||||
Threading.Interlocked.Increment(SmokeSpawned)
|
Threading.Interlocked.Increment(SmokeSpawned)
|
||||||
Loop While SmokeSpawned <= 38
|
Loop While SmokeSpawned <= 38
|
||||||
|
End If
|
||||||
' Pokemon appears
|
' Pokemon appears
|
||||||
BallThrow.AnimationFade(Nothing, False, 1, True, 1, 3, 0)
|
BallThrow.AnimationFade(Nothing, False, 1, True, 1, 3, 0)
|
||||||
BallThrow.AnimationPlaySound(CStr(BattleScreen.OppPokemon.Number), 4, 0,, True)
|
BallThrow.AnimationPlaySound(CStr(BattleScreen.OppPokemon.Number), 4, 0,, True)
|
||||||
|
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||||
' Pokémon falls down
|
' Pokémon falls down
|
||||||
BallThrow.AnimationMove(Nothing, False, 0, 0, 0, 0.05F, False, False, 5, 0,,, 4)
|
BallThrow.AnimationMove(Nothing, False, 0, 0, 0, 0.05F, False, False, 5, 0,,, 4)
|
||||||
|
|
||||||
|
|
|
@ -225,12 +225,17 @@
|
||||||
Dim ownModel As String = GetModelName(True)
|
Dim ownModel As String = GetModelName(True)
|
||||||
Dim oppModel As String = GetModelName(False)
|
Dim oppModel As String = GetModelName(False)
|
||||||
|
|
||||||
|
Dim InitiallyVisibleOwn As Integer = 1
|
||||||
|
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||||
|
InitiallyVisibleOwn = 0
|
||||||
|
End If
|
||||||
|
|
||||||
If ownModel = "" Then
|
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)}, InitiallyVisibleOwn), 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)
|
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
|
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)
|
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, InitiallyVisibleOwn), ModelEntity)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Screen.Level.Entities.Add(OwnPokemonNPC)
|
Screen.Level.Entities.Add(OwnPokemonNPC)
|
||||||
|
@ -276,9 +281,50 @@
|
||||||
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)
|
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
|
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, q1, q, q2, q22, q3, q4})
|
||||||
|
|
||||||
|
' Ball is thrown
|
||||||
|
Dim BallThrow As AnimationQueryObject = New AnimationQueryObject(Me.OwnPokemonNPC, False, Me.OwnPokemonModel)
|
||||||
|
|
||||||
|
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||||
|
BallThrow.AnimationPlaySound("Battle\Pokeball\Throw", 0, 0)
|
||||||
|
BallThrow.AnimationMove(Nothing, False, 0, 0.5, 0, 0.5, False, False, 2, 0,,, 3)
|
||||||
|
|
||||||
|
Dim BallThrowEntity As Entity = BallThrow.SpawnEntity(New Vector3(-2, -0.15, 0), Me.OwnPokemon.CatchBall.Texture, New Vector3(0.3F), 1.0F)
|
||||||
|
BallThrow.AnimationMove(BallThrowEntity, True, 0, 0.35, 0, 0.1, False, True, 0F, 0.5F,, 0.3,, 0.025F)
|
||||||
|
|
||||||
|
' Ball Opens
|
||||||
|
BallThrow.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 = BallThrow.SpawnEntity(Nothing, SmokeTexture, SmokeScale, 1.0F, 3)
|
||||||
|
BallThrow.AnimationMove(SmokeEntity, True, SmokeDestination.X, SmokeDestination.Y, SmokeDestination.Z, SmokeSpeed, False, False, 3.0F, 0.0F)
|
||||||
|
|
||||||
|
Threading.Interlocked.Increment(SmokeSpawned)
|
||||||
|
Loop While SmokeSpawned <= 38
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Pokemon appears
|
||||||
|
BallThrow.AnimationFade(Nothing, False, 1, True, 1, 3, 0)
|
||||||
|
BallThrow.AnimationPlaySound(CStr(Me.OwnPokemon.Number), 4, 0,, True)
|
||||||
|
|
||||||
|
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||||
|
' Pokémon falls down
|
||||||
|
BallThrow.AnimationMove(Nothing, False, 0, 0, 0, 0.05F, False, False, 5, 0,,, 3)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Me.BattleQuery.Add(BallThrow)
|
||||||
|
|
||||||
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
||||||
|
|
||||||
Dim cq1 As ScreenFadeQueryObject = New ScreenFadeQueryObject(ScreenFadeQueryObject.FadeTypes.Vertical, Color.Black, True, 16)
|
Dim cq1 As ScreenFadeQueryObject = New ScreenFadeQueryObject(ScreenFadeQueryObject.FadeTypes.Vertical, Color.Black, True, 16)
|
||||||
|
@ -286,8 +332,6 @@
|
||||||
|
|
||||||
cq2.PassThis = True
|
cq2.PassThis = True
|
||||||
|
|
||||||
Me.BattleQuery.AddRange({cq, q1, q, q2, q22, q3, q31, q4})
|
|
||||||
|
|
||||||
Battle.SwitchInOwn(Me, meIndex, True, -1)
|
Battle.SwitchInOwn(Me, meIndex, True, -1)
|
||||||
Battle.SwitchInOpp(Me, True, 0)
|
Battle.SwitchInOpp(Me, True, 0)
|
||||||
|
|
||||||
|
@ -359,23 +403,33 @@
|
||||||
Dim ownModel As String = GetModelName(True)
|
Dim ownModel As String = GetModelName(True)
|
||||||
Dim oppModel As String = GetModelName(False)
|
Dim oppModel As String = GetModelName(False)
|
||||||
|
|
||||||
|
Dim InitiallyVisibleOwn As Integer = 1
|
||||||
|
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||||
|
InitiallyVisibleOwn = 0
|
||||||
|
End If
|
||||||
|
|
||||||
If ownModel = "" Then
|
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)
|
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
|
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)
|
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), ModelEntity)
|
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
|
End If
|
||||||
|
|
||||||
Screen.Level.Entities.Add(OwnPokemonNPC)
|
Screen.Level.Entities.Add(OwnPokemonNPC)
|
||||||
Screen.Level.Entities.Add(OwnPokemonModel)
|
Screen.Level.Entities.Add(OwnPokemonModel)
|
||||||
|
|
||||||
|
Dim InitiallyVisibleOpp As Integer = 1
|
||||||
|
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||||
|
InitiallyVisibleOpp = 0
|
||||||
|
End If
|
||||||
|
|
||||||
If oppModel = "" Then
|
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)
|
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
|
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)
|
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), ModelEntity)
|
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
|
End If
|
||||||
|
|
||||||
Screen.Level.Entities.Add(OppPokemonNPC)
|
Screen.Level.Entities.Add(OppPokemonNPC)
|
||||||
|
@ -401,22 +455,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)
|
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
|
q.PassThis = True
|
||||||
|
|
||||||
Dim hisher As String = "his"
|
Dim q1 As TextQueryObject = New TextQueryObject(Trainer.Name & " wants to battle!")
|
||||||
If Trainer.Gender = 1 Then
|
|
||||||
hisher = "her"
|
' Ball is thrown
|
||||||
|
Dim BallThrowOpp As AnimationQueryObject = New AnimationQueryObject(OppPokemonNPC, True, 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
|
||||||
|
End If
|
||||||
|
' Pokemon appears
|
||||||
|
BallThrowOpp.AnimationFade(Nothing, False, 1, True, 1, 3, 0)
|
||||||
|
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
|
End If
|
||||||
|
|
||||||
Dim q1 As New PlaySoundQueryObject(OppPokemon.Number.ToString(), True, 5.0F)
|
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 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 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)
|
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
|
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, BallThrowOpp, q2, q3, q4})
|
||||||
|
|
||||||
|
' Ball is thrown
|
||||||
|
Dim BallThrowOwn As AnimationQueryObject = New AnimationQueryObject(Me.OwnPokemonNPC, False, Me.OwnPokemonModel)
|
||||||
|
|
||||||
|
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||||
|
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
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Pokemon appears
|
||||||
|
BallThrowOwn.AnimationFade(Nothing, False, 1, True, 1, 3, 0)
|
||||||
|
BallThrowOwn.AnimationPlaySound(CStr(Me.OwnPokemon.Number), 4, 0,, True)
|
||||||
|
|
||||||
|
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||||
|
' Pokémon falls down
|
||||||
|
BallThrowOwn.AnimationMove(Nothing, False, 0, 0, 0, 0.05F, False, False, 5, 0,,, 3)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Me.BattleQuery.Add(BallThrowOwn)
|
||||||
|
|
||||||
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
||||||
|
|
||||||
Dim cq1 As ScreenFadeQueryObject = New ScreenFadeQueryObject(ScreenFadeQueryObject.FadeTypes.Vertical, Color.Black, True, 16)
|
Dim cq1 As ScreenFadeQueryObject = New ScreenFadeQueryObject(ScreenFadeQueryObject.FadeTypes.Vertical, Color.Black, True, 16)
|
||||||
|
@ -424,8 +549,6 @@
|
||||||
|
|
||||||
cq2.PassThis = True
|
cq2.PassThis = True
|
||||||
|
|
||||||
Me.BattleQuery.AddRange({cq, q, q1, q2, q22, q3, q31, q4})
|
|
||||||
|
|
||||||
Battle.SwitchInOwn(Me, meIndex, True, OwnPokemonIndex)
|
Battle.SwitchInOwn(Me, meIndex, True, OwnPokemonIndex)
|
||||||
Battle.SwitchInOpp(Me, True, OppPokemonIndex)
|
Battle.SwitchInOpp(Me, True, OppPokemonIndex)
|
||||||
TempPVPBattleQuery.Clear()
|
TempPVPBattleQuery.Clear()
|
||||||
|
@ -496,10 +619,10 @@
|
||||||
Dim oppModel As String = GetModelName(False)
|
Dim oppModel As String = GetModelName(False)
|
||||||
|
|
||||||
If ownModel = "" Then
|
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)
|
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
|
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)
|
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
|
End If
|
||||||
|
|
||||||
|
@ -507,10 +630,10 @@
|
||||||
Screen.Level.Entities.Add(OwnPokemonModel)
|
Screen.Level.Entities.Add(OwnPokemonModel)
|
||||||
|
|
||||||
If oppModel = "" Then
|
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)
|
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
|
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)
|
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
|
End If
|
||||||
|
|
||||||
|
@ -607,22 +730,27 @@
|
||||||
Dim ownModel As String = GetModelName(True)
|
Dim ownModel As String = GetModelName(True)
|
||||||
Dim oppModel As String = GetModelName(False)
|
Dim oppModel As String = GetModelName(False)
|
||||||
|
|
||||||
|
Dim InitiallyVisibleOwn As Integer = 1
|
||||||
|
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||||
|
InitiallyVisibleOwn = 0
|
||||||
|
End If
|
||||||
|
|
||||||
If ownModel = "" Then
|
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)}, 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)
|
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
|
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, 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)
|
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
|
End If
|
||||||
|
|
||||||
Screen.Level.Entities.Add(OwnPokemonNPC)
|
Screen.Level.Entities.Add(OwnPokemonNPC)
|
||||||
Screen.Level.Entities.Add(OwnPokemonModel)
|
Screen.Level.Entities.Add(OwnPokemonModel)
|
||||||
|
|
||||||
If oppModel = "" Then
|
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)
|
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
|
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)
|
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
|
End If
|
||||||
|
|
||||||
|
@ -657,6 +785,48 @@
|
||||||
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
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, q1, q, q2, q22, q3, q4})
|
||||||
|
|
||||||
|
' Ball is thrown
|
||||||
|
Dim BallThrowOwn As AnimationQueryObject = New AnimationQueryObject(Me.OwnPokemonNPC, False, Me.OwnPokemonModel)
|
||||||
|
|
||||||
|
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||||
|
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
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Pokemon appears
|
||||||
|
BallThrowOwn.AnimationFade(Nothing, False, 1, True, 1, 3, 0)
|
||||||
|
BallThrowOwn.AnimationPlaySound(CStr(Me.OwnPokemon.Number), 4, 0,, True)
|
||||||
|
|
||||||
|
If Core.Player.ShowBattleAnimations <> 0 Then
|
||||||
|
' Pokémon falls down
|
||||||
|
BallThrowOwn.AnimationMove(Nothing, False, 0, 0, 0, 0.05F, False, False, 5, 0,,, 3)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Me.BattleQuery.Add(BallThrowOwn)
|
||||||
|
|
||||||
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
||||||
|
|
||||||
Dim cq1 As ScreenFadeQueryObject = New ScreenFadeQueryObject(ScreenFadeQueryObject.FadeTypes.Vertical, Color.Black, True, 16)
|
Dim cq1 As ScreenFadeQueryObject = New ScreenFadeQueryObject(ScreenFadeQueryObject.FadeTypes.Vertical, Color.Black, True, 16)
|
||||||
|
@ -664,8 +834,6 @@
|
||||||
|
|
||||||
cq2.PassThis = True
|
cq2.PassThis = True
|
||||||
|
|
||||||
Me.BattleQuery.AddRange({cq, q, q1, q2, q22, q3, q31, q4})
|
|
||||||
|
|
||||||
Battle.SwitchInOwn(Me, meIndex, True, -1)
|
Battle.SwitchInOwn(Me, meIndex, True, -1)
|
||||||
Battle.SwitchInOpp(Me, True, 0)
|
Battle.SwitchInOpp(Me, True, 0)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue