Battle fixes and improvements

* Fixed camera angle not changing to the Pokémon when status effects are doing something
* Fixed softlock when opponent trainer switches Pokémon
* (Hopefully) fixed initial positioning errors with spawned BattleAnimation entities related to BattleFlip functionality
* Removed the now unneccessary BattleFlip checks in the move animation of Growl
* Improved Ember move animation (fireball speed & flame delay)
* Improved Poison Sting move animation by making the stinger smaller, increasing the speed of the stinger and making it use a flipped version of the texture when the opponent uses the move
* Improved Poisoned status effect animation by making it 1 bubble for regular poison and 3 bubbles for toxic
* Repositioned the flame of the Burned status effect animation
* Trainers now display a message when sending out their Pokémon (I removed that before)
* Fixed Party Screen not appearing immediately after the player's Pokémon fainted and also made the player unable to exit the Party Screen when that happens.
* Fixed the incorrectly scaled font sizes and text alignment in the selection menu that appears when selecting a Pokémon in the Party screen
* Replaced minifont in the Pokémon level up stats box with InGameFont and fixed the offsets
* Fixed the error I made in the ceiling map code of Violet City's gym
* Removed the file MoveAnimationQueryObject.vb because AnimationQueryObject.vb also includes Move Animations
* Fixed the textbox in battles where an empty rectangle would appear before the animation finished.
* When a trainer spots the player and an exclamation mark bubble pops up above their head, a sound is played (Emote_Exclamation)
* In trainer battles, the player's Pokémon now also plays their cry.
This commit is contained in:
JappaWakka 2022-01-16 17:22:36 +01:00
parent 667671e16f
commit 7555a5e903
20 changed files with 235 additions and 170 deletions

View File

@ -1237,6 +1237,7 @@
CureStatusProblem(own, own, BattleScreen, p.GetDisplayName() & " thawed out.", "own defrost") CureStatusProblem(own, own, BattleScreen, p.GetDisplayName() & " thawed out.", "own defrost")
Else Else
'Frozen animation 'Frozen animation
ChangeCameraAngle(1, Not own, BattleScreen)
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim FrozenAnimation As AnimationQueryObject = New AnimationQueryObject(Nothing, Not own) Dim FrozenAnimation As AnimationQueryObject = New AnimationQueryObject(Nothing, Not own)
@ -1302,6 +1303,8 @@
End If End If
Else Else
If sleepTurns > 0 Then If sleepTurns > 0 Then
ChangeCameraAngle(1, Not own, BattleScreen)
'Sleep Animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim SleepAnimation As New AnimationQueryObject(pNPC, Not own) Dim SleepAnimation As New AnimationQueryObject(pNPC, Not own)
@ -1437,6 +1440,8 @@
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is no longer confused!")) BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is no longer confused!"))
p.RemoveVolatileStatus(Pokemon.VolatileStatus.Confusion) p.RemoveVolatileStatus(Pokemon.VolatileStatus.Confusion)
Else Else
Me.ChangeCameraAngle(1, Not own, BattleScreen)
'Confused Animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim ConfusedAnimation As New AnimationQueryObject(pNPC, Not own) Dim ConfusedAnimation As New AnimationQueryObject(pNPC, Not own)
@ -1523,9 +1528,9 @@
If op.HP > 0 And op.Status <> Pokemon.StatusProblems.Fainted Then If op.HP > 0 And op.Status <> Pokemon.StatusProblems.Fainted Then
If p.HasVolatileStatus(Pokemon.VolatileStatus.Infatuation) = True Then If p.HasVolatileStatus(Pokemon.VolatileStatus.Infatuation) = True Then
If Core.Random.Next(0, 2) = 0 Then If Core.Random.Next(0, 2) = 0 Then
Me.ChangeCameraAngle(1, own, BattleScreen)
'Infatuated animation 'Infatuated animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Me.ChangeCameraAngle(1, own, BattleScreen)
Dim HeartAnimation = New AnimationQueryObject(pNPC, Not own) Dim HeartAnimation = New AnimationQueryObject(pNPC, Not own)
For i = 0 To 6 For i = 0 To 6
Dim HeartEntity = HeartAnimation.SpawnEntity(New Vector3(0.0, 0.0, 0.0), TextureManager.GetTexture("Textures\Battle\Normal\Attract"), New Vector3(0.25F), 1.0F, CSng(i * 0.2)) Dim HeartEntity = HeartAnimation.SpawnEntity(New Vector3(0.0, 0.0, 0.0), TextureManager.GetTexture("Textures\Battle\Normal\Attract"), New Vector3(0.25F), 1.0F, CSng(i * 0.2))
@ -1544,6 +1549,7 @@
If p.Status = Pokemon.StatusProblems.Paralyzed Then If p.Status = Pokemon.StatusProblems.Paralyzed Then
If Core.Random.Next(0, 4) = 0 Then If Core.Random.Next(0, 4) = 0 Then
Me.ChangeCameraAngle(1, Not own, BattleScreen)
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim ParalyzedAnimation As AnimationQueryObject = New AnimationQueryObject(pNPC, Not own) Dim ParalyzedAnimation As AnimationQueryObject = New AnimationQueryObject(pNPC, Not own)
@ -2713,7 +2719,7 @@
Me.ChangeCameraAngle(1, own, BattleScreen) Me.ChangeCameraAngle(1, own, BattleScreen)
If message = "" Then If message = "" Then
message = p.GetDisplayName() & " fainted!" message = p.GetDisplayName() & " " & "fainted!"
End If End If
BattleScreen.BattleQuery.Add(New TextQueryObject(message)) BattleScreen.BattleQuery.Add(New TextQueryObject(message))
@ -2721,7 +2727,7 @@
If own = False Then If own = False Then
Dim FaintAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OppPokemonNPC, True, BattleScreen.OppPokemonModel) Dim FaintAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OppPokemonNPC, True, BattleScreen.OppPokemonModel)
FaintAnimation.AnimationPlaySound(CStr(BattleScreen.OppPokemon.Number), 0, 2, False, True) FaintAnimation.AnimationPlaySound(CStr(BattleScreen.OppPokemon.Number), 0, 2, False, True)
FaintAnimation.AnimationMove(Nothing, False, 0, -1, 0, 0.05, False, False, 2, 0,,, 3) FaintAnimation.AnimationMove(Nothing, False, 0, -1, 0, 0.05, False, False, 2, 2)
BattleScreen.BattleQuery.Add(FaintAnimation) BattleScreen.BattleQuery.Add(FaintAnimation)
End If End If
End If End If
@ -2883,11 +2889,11 @@
'Burn animation 'Burn animation
Dim BurnAnimation As AnimationQueryObject = New AnimationQueryObject(pNPC, own) Dim BurnAnimation As AnimationQueryObject = New AnimationQueryObject(pNPC, own)
BurnAnimation.AnimationPlaySound("Battle\Effects\Burned", 0, 0) BurnAnimation.AnimationPlaySound("Battle\Effects\Burned", 0, 0)
Dim FlameEntity As Entity = BurnAnimation.SpawnEntity(New Vector3(CSng(-0.25), CSng(-0.25), CSng(-0.25)), TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5, 0.5, 0.5), 1.0F) Dim FlameEntity As Entity = BurnAnimation.SpawnEntity(New Vector3(0, -0.25F, 0), TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5, 0.5, 0.5), 1.0F)
BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 32, 32, 32), ""), 2, 1) BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 32, 32, 32), ""), 0.75, 0)
BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 64, 32, 32), ""), 3, 1) BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 64, 32, 32), ""), 1.5, 0)
BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 96, 32, 32), ""), 4, 1) BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 96, 32, 32), ""), 2.25, 0)
BurnAnimation.AnimationChangeTexture(FlameEntity, True, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 128, 32, 32), ""), 5, 2) BurnAnimation.AnimationChangeTexture(FlameEntity, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 128, 32, 32), ""), 3, 0)
BattleScreen.BattleQuery.Add(BurnAnimation) BattleScreen.BattleQuery.Add(BurnAnimation)
Select Case message Select Case message
@ -3302,6 +3308,8 @@
Return False Return False
Else Else
'Works! 'Works!
ChangeCameraAngle(1, Not own, BattleScreen)
'Sleep Animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim SleepAnimation As New AnimationQueryObject(pNPC, Not own) Dim SleepAnimation As New AnimationQueryObject(pNPC, Not own)
@ -3373,9 +3381,11 @@
Public Function InflictPoison(ByVal own As Boolean, ByVal from As Boolean, ByVal BattleScreen As BattleScreen, ByVal bad As Boolean, ByVal message As String, ByVal cause As String) As Boolean Public Function InflictPoison(ByVal own As Boolean, ByVal from As Boolean, ByVal BattleScreen As BattleScreen, ByVal bad As Boolean, ByVal message As String, ByVal cause As String) As Boolean
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
Dim op As Pokemon = BattleScreen.OppPokemon Dim op As Pokemon = BattleScreen.OppPokemon
Dim pNPC As NPC = BattleScreen.OwnPokemonNPC
If own = False Then If own = False Then
p = BattleScreen.OppPokemon p = BattleScreen.OppPokemon
op = BattleScreen.OwnPokemon op = BattleScreen.OwnPokemon
pNPC = BattleScreen.OppPokemonNPC
End If End If
If p.HP <= 0 OrElse p.Status = Pokemon.StatusProblems.Fainted Then If p.HP <= 0 OrElse p.Status = Pokemon.StatusProblems.Fainted Then
@ -3430,7 +3440,20 @@
Else Else
'Works! 'Works!
ChangeCameraAngle(1, own, BattleScreen) ChangeCameraAngle(1, own, BattleScreen)
BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\Poisoned", False)) 'Poison animation
If Core.Player.ShowBattleAnimations <> 0 Then
Dim PoisonAnimation As AnimationQueryObject = New AnimationQueryObject(pNPC, own)
PoisonAnimation.AnimationPlaySound("Battle\Effects\Poisoned", 0, 0)
Dim BubbleEntity1 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0, -0.25, 0), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 0, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity1, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 1, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity1, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 2, 1)
BattleScreen.BattleQuery.Add(PoisonAnimation)
Else
BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\Poisoned", False))
End If
If bad = True Then If bad = True Then
p.Status = Pokemon.StatusProblems.BadPoison p.Status = Pokemon.StatusProblems.BadPoison
Select Case message Select Case message
@ -3531,6 +3554,8 @@
Return False Return False
Else Else
'Works! 'Works!
Me.ChangeCameraAngle(1, Not own, BattleScreen)
'Confused Animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim ConfusedAnimation As New AnimationQueryObject(pNPC, Not own) Dim ConfusedAnimation As New AnimationQueryObject(pNPC, Not own)
@ -4266,12 +4291,6 @@
HPAmount = p.MaxHP - p.HP HPAmount = p.MaxHP - p.HP
End If End If
If own = True Then
BattleScreen.BattleQuery.Add(New MathHPQueryObject(p.HP, p.MaxHP, -HPAmount, New Vector2(200, 256)))
Else
BattleScreen.BattleQuery.Add(New MathHPQueryObject(p.HP, p.MaxHP, -HPAmount, New Vector2(300, 256)))
End If
'***HP INCREASE ANIMATION*** '***HP INCREASE ANIMATION***
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim HealAnimation As AnimationQueryObject = New AnimationQueryObject(pNPC, Not own) Dim HealAnimation As AnimationQueryObject = New AnimationQueryObject(pNPC, Not own)
@ -4296,6 +4315,13 @@
Else Else
BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\Heal", False)) BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\Heal", False))
End If End If
If own = True Then
BattleScreen.BattleQuery.Add(New MathHPQueryObject(p.HP, p.MaxHP, -HPAmount, New Vector2(200, 256)))
Else
BattleScreen.BattleQuery.Add(New MathHPQueryObject(p.HP, p.MaxHP, -HPAmount, New Vector2(300, 256)))
End If
If message <> "" Then If message <> "" Then
BattleScreen.BattleQuery.Add(New TextQueryObject(message)) BattleScreen.BattleQuery.Add(New TextQueryObject(message))
End If End If
@ -5689,24 +5715,16 @@
Else Else
If .OwnPokemon.Ability.Name.ToLower() <> "magic guard" Then If .OwnPokemon.Ability.Name.ToLower() <> "magic guard" Then
If .OwnPokemon.Status = Pokemon.StatusProblems.Poison Then 'Own Poison If .OwnPokemon.Status = Pokemon.StatusProblems.Poison Then 'Own Poison
ChangeCameraAngle(1, True, BattleScreen)
'Poison animation 'Poison animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim PoisonAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OwnPokemonNPC, True) Dim PoisonAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OwnPokemonNPC, True)
PoisonAnimation.AnimationPlaySound("Battle\Effects\Poisoned", 0, 0) PoisonAnimation.AnimationPlaySound("Battle\Effects\Poisoned", 0, 0)
Dim BubbleEntity1 As Entity = PoisonAnimation.SpawnEntity(New Vector3(-0.25, -0.25, -0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 0, 1) Dim BubbleEntity1 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0, -0.25, 0), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 0, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity1, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 1, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity1, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 1, 1)
Dim BubbleEntity2 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0.25, -0.25, 0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 1, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity1, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 2, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity1, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 2, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity2, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 2, 1)
Dim BubbleEntity3 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0.25, -0.25, -0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 2, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity2, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 3, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity3, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 3, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity3, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 4, 1)
BattleScreen.BattleQuery.Add(PoisonAnimation) BattleScreen.BattleQuery.Add(PoisonAnimation)
Else Else
@ -5719,6 +5737,8 @@
If .OwnPokemon.Status = Pokemon.StatusProblems.BadPoison Then 'Own Toxic If .OwnPokemon.Status = Pokemon.StatusProblems.BadPoison Then 'Own Toxic
.FieldEffects.OwnPoisonCounter += 1 .FieldEffects.OwnPoisonCounter += 1
Dim multiplier As Double = (.FieldEffects.OwnPoisonCounter / 16) Dim multiplier As Double = (.FieldEffects.OwnPoisonCounter / 16)
ChangeCameraAngle(1, True, BattleScreen)
'Poison animation 'Poison animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim PoisonAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OwnPokemonNPC, True) Dim PoisonAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OwnPokemonNPC, True)
@ -5727,11 +5747,11 @@
Dim BubbleEntity1 As Entity = PoisonAnimation.SpawnEntity(New Vector3(-0.25, -0.25, -0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 0, 1) Dim BubbleEntity1 As Entity = PoisonAnimation.SpawnEntity(New Vector3(-0.25, -0.25, -0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 0, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity1, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 1, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity1, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 1, 1)
Dim BubbleEntity2 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0.25, -0.25, 0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 1, 1) Dim BubbleEntity2 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0, -0.25, 0), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 1, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity1, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 2, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity1, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 2, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity2, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 2, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity2, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 2, 1)
Dim BubbleEntity3 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0.25, -0.25, -0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 2, 1) Dim BubbleEntity3 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0, -0.25, 0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 2, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity2, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 3, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity2, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 3, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity3, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 3, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity3, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 3, 1)
@ -5756,17 +5776,17 @@
If .OwnPokemon.Ability.Name.ToLower() = "heatproof" Then If .OwnPokemon.Ability.Name.ToLower() = "heatproof" Then
reduceAmount = CInt(.OwnPokemon.MaxHP / 32) reduceAmount = CInt(.OwnPokemon.MaxHP / 32)
End If End If
ChangeCameraAngle(1, True, BattleScreen)
'Burn animation 'Burn animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim BurnAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OwnPokemonNPC, False) Dim BurnAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OwnPokemonNPC, True)
BurnAnimation.AnimationPlaySound("Battle\Effects\Burned", 0, 0) BurnAnimation.AnimationPlaySound("Battle\Effects\Burned", 0, 0)
Dim FlameEntity As Entity = BurnAnimation.SpawnEntity(New Vector3(0.25F, 0.25F, 0.25), TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5, 0.5, 0.5), 1.0F) Dim FlameEntity As Entity = BurnAnimation.SpawnEntity(New Vector3(0, 0.25F, 0), TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5, 0.5, 0.5), 1.0F)
BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 32, 32, 32), ""), 2, 1) BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 32, 32, 32), ""), 0.75, 0)
BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 64, 32, 32), ""), 3, 1) BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 64, 32, 32), ""), 1.5, 0)
BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 96, 32, 32), ""), 4, 1) BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 96, 32, 32), ""), 2.25, 0)
BurnAnimation.AnimationChangeTexture(FlameEntity, True, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 128, 32, 32), ""), 5, 2) BurnAnimation.AnimationChangeTexture(FlameEntity, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 128, 32, 32), ""), 3, 0)
BattleScreen.BattleQuery.Add(BurnAnimation) BattleScreen.BattleQuery.Add(BurnAnimation)
Else Else
BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\Burned", False)) BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\Burned", False))
@ -5826,9 +5846,10 @@
multiHP = CInt(.OwnPokemon.MaxHP / 6) multiHP = CInt(.OwnPokemon.MaxHP / 6)
End If End If
End If End If
ChangeCameraAngle(1, True, BattleScreen)
'Wrap Animation 'Wrap Animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
ChangeCameraAngle(1, True, BattleScreen)
Dim WrapAnimation As AnimationQueryObject = New AnimationQueryObject(.OwnPokemonNPC, False) Dim WrapAnimation As AnimationQueryObject = New AnimationQueryObject(.OwnPokemonNPC, False)
WrapAnimation.AnimationPlaySound("Battle\Attacks\Normal\Wrap", 5.0F, 0) WrapAnimation.AnimationPlaySound("Battle\Attacks\Normal\Wrap", 5.0F, 0)
Dim WrapEntity = WrapAnimation.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) Dim WrapEntity = WrapAnimation.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)
@ -5862,9 +5883,10 @@
multiHP = CInt(.OwnPokemon.MaxHP / 6) multiHP = CInt(.OwnPokemon.MaxHP / 6)
End If End If
End If End If
ChangeCameraAngle(1, True, BattleScreen)
'Whirlpool Animation 'Whirlpool Animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
ChangeCameraAngle(1, True, BattleScreen)
Dim WhirlpoolAnimation As AnimationQueryObject = New AnimationQueryObject(.OwnPokemonNPC, False,, True) Dim WhirlpoolAnimation As AnimationQueryObject = New AnimationQueryObject(.OwnPokemonNPC, False,, True)
WhirlpoolAnimation.AnimationPlaySound("Battle\Attacks\Water\Whirlpool", 0.0F, 0) WhirlpoolAnimation.AnimationPlaySound("Battle\Attacks\Water\Whirlpool", 0.0F, 0)
Dim WhirlpoolEntity As Entity = WhirlpoolAnimation.SpawnEntity(New Vector3(0, -0.3, 0), TextureManager.GetTexture("Textures\Battle\Water\Whirlpool"), New Vector3(0.0F), 1.0F, 0.0F, 0.0F) Dim WhirlpoolEntity As Entity = WhirlpoolAnimation.SpawnEntity(New Vector3(0, -0.3, 0), TextureManager.GetTexture("Textures\Battle\Water\Whirlpool"), New Vector3(0.0F), 1.0F, 0.0F, 0.0F)
@ -5902,9 +5924,9 @@
multiHP = CInt(.OwnPokemon.MaxHP / 6) multiHP = CInt(.OwnPokemon.MaxHP / 6)
End If End If
End If End If
ChangeCameraAngle(1, True, BattleScreen)
'Bind Animation 'Bind Animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
ChangeCameraAngle(1, True, BattleScreen)
Dim BindAnimation As AnimationQueryObject = New AnimationQueryObject(.OwnPokemonNPC, False) Dim BindAnimation As AnimationQueryObject = New AnimationQueryObject(.OwnPokemonNPC, False)
BindAnimation.AnimationPlaySound("Battle\Attacks\Normal\Bind", 5.0F, 0) BindAnimation.AnimationPlaySound("Battle\Attacks\Normal\Bind", 5.0F, 0)
Dim BindEntity = BindAnimation.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) Dim BindEntity = BindAnimation.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)
@ -5938,9 +5960,9 @@
multiHP = CInt(.OwnPokemon.MaxHP / 6) multiHP = CInt(.OwnPokemon.MaxHP / 6)
End If End If
End If End If
ChangeCameraAngle(1, True, BattleScreen)
'Clamp Animation 'Clamp Animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
ChangeCameraAngle(1, True, BattleScreen)
Dim ClampAnimation As AnimationQueryObject = New AnimationQueryObject(.OwnPokemonNPC, True) Dim ClampAnimation As AnimationQueryObject = New AnimationQueryObject(.OwnPokemonNPC, True)
Dim offsetLeft As Single = 0.35 Dim offsetLeft As Single = 0.35
Dim offsetRight As Single = -0.35 Dim offsetRight As Single = -0.35
@ -6571,24 +6593,16 @@
Else Else
If .OppPokemon.Ability.Name.ToLower() <> "magic guard" Then If .OppPokemon.Ability.Name.ToLower() <> "magic guard" Then
If .OppPokemon.Status = Pokemon.StatusProblems.Poison Then 'Opp Poison If .OppPokemon.Status = Pokemon.StatusProblems.Poison Then 'Opp Poison
ChangeCameraAngle(1, False, BattleScreen)
'Poison animation 'Poison animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim PoisonAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OppPokemonNPC, False) Dim PoisonAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OppPokemonNPC, False)
PoisonAnimation.AnimationPlaySound("Battle\Effects\Poisoned", 0, 0) PoisonAnimation.AnimationPlaySound("Battle\Effects\Poisoned", 0, 0)
Dim BubbleEntity1 As Entity = PoisonAnimation.SpawnEntity(New Vector3(-0.25, -0.25, -0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 0, 1) Dim BubbleEntity1 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0, -0.25, 0), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 0, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity1, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 1, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity1, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 1, 1)
Dim BubbleEntity2 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0.25, -0.25, 0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 1, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity1, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 2, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity1, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 2, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity2, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 2, 1)
Dim BubbleEntity3 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0.25, -0.25, -0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 2, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity2, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 3, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity3, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 3, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity3, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 4, 1)
BattleScreen.BattleQuery.Add(PoisonAnimation) BattleScreen.BattleQuery.Add(PoisonAnimation)
Else Else
@ -6601,6 +6615,7 @@
If .OppPokemon.Status = Pokemon.StatusProblems.BadPoison Then 'Opp Toxic If .OppPokemon.Status = Pokemon.StatusProblems.BadPoison Then 'Opp Toxic
.FieldEffects.OppPoisonCounter += 1 .FieldEffects.OppPoisonCounter += 1
Dim multiplier As Double = (.FieldEffects.OppPoisonCounter / 16) Dim multiplier As Double = (.FieldEffects.OppPoisonCounter / 16)
ChangeCameraAngle(1, False, BattleScreen)
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
'Poison animation 'Poison animation
Dim PoisonAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OppPokemonNPC, False) Dim PoisonAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OppPokemonNPC, False)
@ -6609,11 +6624,11 @@
Dim BubbleEntity1 As Entity = PoisonAnimation.SpawnEntity(New Vector3(-0.25, -0.25, -0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 0, 1) Dim BubbleEntity1 As Entity = PoisonAnimation.SpawnEntity(New Vector3(-0.25, -0.25, -0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 0, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity1, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 1, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity1, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 1, 1)
Dim BubbleEntity2 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0.25, -0.25, 0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 1, 1) Dim BubbleEntity2 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0, -0.25, 0), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 1, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity1, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 2, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity1, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 2, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity2, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 2, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity2, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 2, 1)
Dim BubbleEntity3 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0.25, -0.25, -0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 2, 1) Dim BubbleEntity3 As Entity = PoisonAnimation.SpawnEntity(New Vector3(0, -0.25, 0.25), TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 2, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity2, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 3, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity2, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 64, 32, 32), ""), 3, 1)
PoisonAnimation.AnimationChangeTexture(BubbleEntity3, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 3, 1) PoisonAnimation.AnimationChangeTexture(BubbleEntity3, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Poisoned", New Rectangle(0, 32, 32, 32), ""), 3, 1)
@ -6639,16 +6654,17 @@
If .OppPokemon.Ability.Name.ToLower() = "heatproof" Then If .OppPokemon.Ability.Name.ToLower() = "heatproof" Then
reduceAmount = CInt(.OppPokemon.MaxHP / 16) reduceAmount = CInt(.OppPokemon.MaxHP / 16)
End If End If
ChangeCameraAngle(1, False, BattleScreen)
'Burn animation 'Burn animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim BurnAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OppPokemonNPC, True) Dim BurnAnimation As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OppPokemonNPC, False)
BurnAnimation.AnimationPlaySound("Battle\Effects\Burned", 0, 0) BurnAnimation.AnimationPlaySound("Battle\Effects\Burned", 0, 0)
Dim FlameEntity As Entity = BurnAnimation.SpawnEntity(New Vector3(0.25, 0.25, 0.25), TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5, 0.5, 0.5), 1.0F) Dim FlameEntity As Entity = BurnAnimation.SpawnEntity(New Vector3(0, 0.25, 0), TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5, 0.5, 0.5), 1.0F)
BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 32, 32, 32), ""), 2, 1) BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 32, 32, 32), ""), 0.75, 0)
BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 64, 32, 32), ""), 3, 1) BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 64, 32, 32), ""), 1.5, 0)
BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 96, 32, 32), ""), 4, 1) BurnAnimation.AnimationChangeTexture(FlameEntity, False, TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 96, 32, 32), ""), 2.25, 0)
BurnAnimation.AnimationChangeTexture(FlameEntity, True, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 128, 32, 32), ""), 5, 2) BurnAnimation.AnimationChangeTexture(FlameEntity, True, TextureManager.GetTexture("Textures\Battle\StatusEffect\Burned", New Rectangle(0, 128, 32, 32), ""), 3, 0)
BattleScreen.BattleQuery.Add(BurnAnimation) BattleScreen.BattleQuery.Add(BurnAnimation)
Else Else
BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\Burned", False)) BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\Burned", False))
@ -6709,9 +6725,9 @@
multiHP = CInt(.OppPokemon.MaxHP / 6) multiHP = CInt(.OppPokemon.MaxHP / 6)
End If End If
End If End If
ChangeCameraAngle(1, False, BattleScreen)
'Wrap Animation 'Wrap Animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
ChangeCameraAngle(1, False, BattleScreen)
Dim WrapAnimation As AnimationQueryObject = New AnimationQueryObject(.OppPokemonNPC, True) Dim WrapAnimation As AnimationQueryObject = New AnimationQueryObject(.OppPokemonNPC, True)
WrapAnimation.AnimationPlaySound("Battle\Attacks\Normal\Wrap", 5.0F, 0) WrapAnimation.AnimationPlaySound("Battle\Attacks\Normal\Wrap", 5.0F, 0)
Dim WrapEntity = WrapAnimation.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) Dim WrapEntity = WrapAnimation.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)
@ -6745,9 +6761,9 @@
multiHP = CInt(.OppPokemon.MaxHP / 6) multiHP = CInt(.OppPokemon.MaxHP / 6)
End If End If
End If End If
ChangeCameraAngle(1, False, BattleScreen)
'Whirlpool Animation 'Whirlpool Animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
ChangeCameraAngle(1, False, BattleScreen)
Dim WhirlpoolAnimation As AnimationQueryObject = New AnimationQueryObject(.OppPokemonNPC, True,, True) Dim WhirlpoolAnimation As AnimationQueryObject = New AnimationQueryObject(.OppPokemonNPC, True,, True)
WhirlpoolAnimation.AnimationPlaySound("Battle\Attacks\Water\Whirlpool", 0.0F, 0) WhirlpoolAnimation.AnimationPlaySound("Battle\Attacks\Water\Whirlpool", 0.0F, 0)
Dim WhirlpoolEntity As Entity = WhirlpoolAnimation.SpawnEntity(New Vector3(0, -0.3, 0), TextureManager.GetTexture("Textures\Battle\Water\Whirlpool"), New Vector3(0.0F), 1.0F, 0.0F, 0.0F) Dim WhirlpoolEntity As Entity = WhirlpoolAnimation.SpawnEntity(New Vector3(0, -0.3, 0), TextureManager.GetTexture("Textures\Battle\Water\Whirlpool"), New Vector3(0.0F), 1.0F, 0.0F, 0.0F)
@ -6785,9 +6801,9 @@
multiHP = CInt(.OppPokemon.MaxHP / 6) multiHP = CInt(.OppPokemon.MaxHP / 6)
End If End If
End If End If
ChangeCameraAngle(1, False, BattleScreen)
'Bind Animation 'Bind Animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
ChangeCameraAngle(1, False, BattleScreen)
Dim BindAnimation As AnimationQueryObject = New AnimationQueryObject(.OppPokemonNPC, True) Dim BindAnimation As AnimationQueryObject = New AnimationQueryObject(.OppPokemonNPC, True)
BindAnimation.AnimationPlaySound("Battle\Attacks\Normal\Bind", 5.0F, 0) BindAnimation.AnimationPlaySound("Battle\Attacks\Normal\Bind", 5.0F, 0)
Dim BindEntity = BindAnimation.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) Dim BindEntity = BindAnimation.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)
@ -6821,9 +6837,9 @@
multiHP = CInt(.OppPokemon.MaxHP / 6) multiHP = CInt(.OppPokemon.MaxHP / 6)
End If End If
End If End If
ChangeCameraAngle(1, False, BattleScreen)
'Clamp Animation 'Clamp Animation
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
ChangeCameraAngle(1, False, BattleScreen)
Dim ClampAnimation As AnimationQueryObject = New AnimationQueryObject(.OppPokemonNPC, False) Dim ClampAnimation As AnimationQueryObject = New AnimationQueryObject(.OppPokemonNPC, False)
Dim offsetLeft As Single = -0.35 Dim offsetLeft As Single = -0.35
Dim offsetRight As Single = 0.35 Dim offsetRight As Single = 0.35
@ -7109,10 +7125,9 @@
Dim HasSwitchedInOpp As Boolean = False Dim HasSwitchedInOpp As Boolean = False
Public Sub SwitchOutOwn(ByVal BattleScreen As BattleScreen, ByVal SwitchInIndex As Integer, ByVal InsertIndex As Integer, Optional ByVal message As String = "") Public Sub SwitchOutOwn(ByVal BattleScreen As BattleScreen, ByVal SwitchInIndex As Integer, ByVal InsertIndex As Integer, Optional ByVal message As String = "")
With BattleScreen With BattleScreen
ChangeCameraAngle(1, True, BattleScreen)
'Natural cure cures status problems 'Natural cure cures status problems
If .OwnPokemon.Ability.Name.ToLower() = "natural cure" Then If .OwnPokemon.Ability.Name.ToLower() = "natural cure" Then
ChangeCameraAngle(1, True, BattleScreen)
If .OwnPokemon.Status <> Pokemon.StatusProblems.Fainted And .OwnPokemon.Status <> Pokemon.StatusProblems.None Then If .OwnPokemon.Status <> Pokemon.StatusProblems.Fainted And .OwnPokemon.Status <> Pokemon.StatusProblems.None Then
.OwnPokemon.Status = Pokemon.StatusProblems.None .OwnPokemon.Status = Pokemon.StatusProblems.None
.AddToQuery(InsertIndex, New TextQueryObject(.OwnPokemon.GetDisplayName() & "'s status problem got healed by Natural Cure")) .AddToQuery(InsertIndex, New TextQueryObject(.OwnPokemon.GetDisplayName() & "'s status problem got healed by Natural Cure"))
@ -7120,6 +7135,7 @@
End If End If
'Regenerator ability heals 1/3 of it's max HP 'Regenerator ability heals 1/3 of it's max HP
If .OwnPokemon.Ability.Name.ToLower() = "regenerator" Then If .OwnPokemon.Ability.Name.ToLower() = "regenerator" Then
ChangeCameraAngle(1, True, BattleScreen)
If Not (.OwnPokemon.Status = Pokemon.StatusProblems.Fainted Or .OwnPokemon.HP = 0) Then If Not (.OwnPokemon.Status = Pokemon.StatusProblems.Fainted Or .OwnPokemon.HP = 0) Then
Dim restoreHP = CInt(.OwnPokemon.MaxHP / 3) Dim restoreHP = CInt(.OwnPokemon.MaxHP / 3)
If restoreHP > 0 And .OwnPokemon.HP < .OwnPokemon.MaxHP And .OwnPokemon.HP > 0 Then If restoreHP > 0 And .OwnPokemon.HP < .OwnPokemon.MaxHP And .OwnPokemon.HP > 0 Then
@ -7129,6 +7145,7 @@
End If End If
'save baton pass stuff: 'save baton pass stuff:
If .FieldEffects.OwnUsedBatonPass = True Then If .FieldEffects.OwnUsedBatonPass = True Then
ChangeCameraAngle(1, True, BattleScreen)
.FieldEffects.OwnBatonPassStats = New List(Of Integer) .FieldEffects.OwnBatonPassStats = New List(Of Integer)
With .OwnPokemon With .OwnPokemon
BattleScreen.FieldEffects.OwnBatonPassStats.AddRange({ .StatAttack, .StatDefense, .StatSpAttack, .StatSpDefense, .StatSpeed, .Evasion, .Accuracy}) BattleScreen.FieldEffects.OwnBatonPassStats.AddRange({ .StatAttack, .StatDefense, .StatSpAttack, .StatSpDefense, .StatSpeed, .Evasion, .Accuracy})
@ -7283,6 +7300,7 @@
Public Sub SwitchInOwn(ByVal BattleScreen As BattleScreen, ByVal NewPokemonIndex As Integer, ByVal FirstTime As Boolean, ByVal InsertIndex As Integer, Optional ByVal message As String = "") Public Sub SwitchInOwn(ByVal BattleScreen As BattleScreen, ByVal NewPokemonIndex As Integer, ByVal FirstTime As Boolean, ByVal InsertIndex As Integer, Optional ByVal message As String = "")
HasSwitchedInOwn = True HasSwitchedInOwn = True
If FirstTime = False Then If FirstTime = False Then
ChangeCameraAngle(1, True, BattleScreen)
Dim insertMessage As String = message Dim insertMessage As String = message
If insertMessage = "" Then If insertMessage = "" Then
@ -7655,13 +7673,13 @@
Else Else
GainEXP(BattleScreen) GainEXP(BattleScreen)
ChangeCameraAngle(1, False, BattleScreen)
If message = "" Then If message = "" Then
message = BattleScreen.Trainer.Name & ": ""Come back, " & BattleScreen.OppPokemon.GetDisplayName() & "!""" message = BattleScreen.Trainer.Name & ": ""Come back, " & BattleScreen.OppPokemon.GetDisplayName() & "!"""
End If End If
BattleScreen.BattleQuery.Add(New TextQueryObject(message)) BattleScreen.BattleQuery.Add(New TextQueryObject(message))
If Core.Player.ShowBattleAnimations <> 0 Then If Core.Player.ShowBattleAnimations <> 0 Then
Dim BallReturn As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OppPokemonNPC, True, BattleScreen.OppPokemonModel) Dim BallReturn As AnimationQueryObject = New AnimationQueryObject(BattleScreen.OppPokemonNPC, True, BattleScreen.OppPokemonModel)
' Ball Closes ' Ball Closes
@ -7723,8 +7741,8 @@
End Sub End Sub
Public Sub SwitchInOpp(ByVal BattleScreen As BattleScreen, ByVal FirstTime As Boolean, ByVal index As Integer) Public Sub SwitchInOpp(ByVal BattleScreen As BattleScreen, ByVal FirstTime As Boolean, ByVal index As Integer)
If FirstTime = False Then If FirstTime = False Then
ChangeCameraAngle(1, False, BattleScreen)
HasSwitchedInOpp = True HasSwitchedInOpp = True
BattleScreen.BattleQuery.Add(New TextQueryObject(BattleScreen.Trainer.Name & ": ""Come back, " & BattleScreen.OppPokemon.GetDisplayName() & "!""")) BattleScreen.BattleQuery.Add(New TextQueryObject(BattleScreen.Trainer.Name & ": ""Come back, " & BattleScreen.OppPokemon.GetDisplayName() & "!"""))
@ -7813,8 +7831,7 @@
BallThrow.AnimationPlaySound(CStr(BattleScreen.OppPokemon.Number), 4, 0,, True) BallThrow.AnimationPlaySound(CStr(BattleScreen.OppPokemon.Number), 4, 0,, True)
If Core.Player.ShowBattleAnimations <> 0 Then 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)
BattleScreen.BattleQuery.Add(BallThrow) BattleScreen.BattleQuery.Add(BallThrow)
End If End If
End If End If
@ -7845,10 +7862,7 @@
'Sticky Web 'Sticky Web
If spikeAffected = True Then If spikeAffected = True Then
If .FieldEffects.OwnStickyWeb > 0 Then If .FieldEffects.OwnStickyWeb > 0 Then
LowerStat(False, False, BattleScreen, "Speed", 1, "The opposing pokemon was caught in a Sticky Web!", "stickyweb") LowerStat(False, False, BattleScreen, "Speed", 1, "The opposing pokemon was caught in a Sticky Web!", "stickyweb")
End If End If
End If End If
If spikeAffected = True Then If spikeAffected = True Then

View File

@ -604,10 +604,21 @@
_mainMenuItemList.Clear() _mainMenuItemList.Clear()
BattleScreen.ClearMainMenuTime = False BattleScreen.ClearMainMenuTime = False
End If End If
If _mainMenuItemList.Count = 0 Then If _mainMenuItemList.Count = 0 Then
CreateMainMenuItems(BattleScreen) CreateMainMenuItems(BattleScreen)
End If 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 If _retractMenu = False Then
For Each m As MainMenuItem In _mainMenuItemList For Each m As MainMenuItem In _mainMenuItemList
m.Update(BattleScreen, _allItemsExtended, (m.Index = _mainMenuIndex)) m.Update(BattleScreen, _allItemsExtended, (m.Index = _mainMenuIndex))

View File

@ -411,7 +411,8 @@
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 q1 As TextQueryObject = New TextQueryObject(Trainer.Name & " wants to battle!") 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 ' Ball is thrown
Dim BallThrowOpp As AnimationQueryObject = New AnimationQueryObject(OppPokemonNPC, False, OppPokemonModel) Dim BallThrowOpp As AnimationQueryObject = New AnimationQueryObject(OppPokemonNPC, False, OppPokemonModel)
@ -438,9 +439,10 @@
Threading.Interlocked.Increment(SmokeSpawnedOpp) Threading.Interlocked.Increment(SmokeSpawnedOpp)
Loop While SmokeSpawnedOpp <= 38 Loop While SmokeSpawnedOpp <= 38
' Pokemon appears
BallThrowOpp.AnimationFade(Nothing, False, 1, True, 1, 3, 0)
End If End If
' Pokemon appears
BallThrowOpp.AnimationFade(Nothing, False, 1, True, 1, 3, 0)
BallThrowOpp.AnimationPlaySound(CStr(Me.OppPokemon.Number), 4, 0,, True) BallThrowOpp.AnimationPlaySound(CStr(Me.OppPokemon.Number), 4, 0,, True)
' Pokémon falls down ' Pokémon falls down
@ -453,15 +455,11 @@
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() & "!")
If IsPVPBattle = True AndAlso Core.Player.ShowBattleAnimations = 0 Then Me.BattleQuery.AddRange({cq, q, q1, q11, BallThrowOpp, q2, q3, q31, q4})
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
Me.BattleQuery.AddRange({cq, q, q1, BallThrowOpp, q2, q3, q31, q4})
Else
Me.BattleQuery.AddRange({cq, q, q1, BallThrowOpp, q2, q3, q4})
End If
If IsPVPBattle = True AndAlso Core.Player.ShowBattleAnimations <> 0 Then If IsPVPBattle = True AndAlso Core.Player.ShowBattleAnimations <> 0 Then
' Ball is thrown ' Ball is thrown

View File

@ -103,10 +103,20 @@
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 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 Dim NewPosition As Vector3
If Not Position = Nothing Then If Not Position = Nothing Then
If CurrentEntity IsNot Nothing Then If BattleFlipped = True Then
NewPosition = CurrentEntity.Position + Position 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 Else
NewPosition = Position If CurrentEntity IsNot Nothing Then
NewPosition = CurrentEntity.Position + Position
Else
NewPosition = Position
End If
End If End If
Else Else
If CurrentEntity IsNot Nothing Then If CurrentEntity IsNot Nothing Then

View File

@ -1,3 +0,0 @@
Public Class MoveAnimationQueryObject
End Class

View File

@ -67,11 +67,11 @@
Public Overrides Sub Draw(BV2Screen As BattleScreen) Public Overrides Sub Draw(BV2Screen As BattleScreen)
Dim rec As New Rectangle(100, Core.windowSize.Height - 250, Core.windowSize.Width - 200, 200) 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) 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) 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)

View File

@ -84,10 +84,13 @@ HP,HP
PP,PP PP,PP
Lv.,Lv. Lv.,Lv.
Level,Level Level,Level
MaxHP,Max HP
Attack,Attack Attack,Attack
Defense,Defense Defense,Defense
Special_Attack,Special Attack Special_Attack,Special Attack
Sp_Attack,Sp. Attack
Special_Defense,Special Defense Special_Defense,Special Defense
Sp_Defense,Sp. Defense
Speed,Speed Speed,Speed
--- ---
GameInteractions: GameInteractions:

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -418,14 +418,16 @@
If CType(Screen.Camera, OverworldCamera).ThirdPerson = True And IsOnScreen() = False Then If CType(Screen.Camera, OverworldCamera).ThirdPerson = True And IsOnScreen() = False Then
s &= "@camera.setfocus(npc," & Me.NPCID & ")" & Environment.NewLine s &= "@camera.setfocus(npc," & Me.NPCID & ")" & Environment.NewLine
Dim cPosition = .ThirdPersonOffset.X.ToString() & "," & .ThirdPersonOffset.Y.ToString() & "," & .ThirdPersonOffset.Z.ToString() 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 & "@npc.move(" & Me.NPCID & "," & distance - 1 & ")" & Environment.NewLine &
"@script.start(" & Me.AdditionalValue & ")" & Environment.NewLine &
"@camera.resetfocus" & Environment.NewLine & "@camera.resetfocus" & Environment.NewLine &
"@camera.setposition(" & cPosition & ")" & Environment.NewLine & "@camera.setposition(" & cPosition & ")" & Environment.NewLine &
"@script.start(" & Me.AdditionalValue & ")" & Environment.NewLine &
":end" ":end"
Else 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 & "@npc.move(" & Me.NPCID & "," & distance - 1 & ")" & Environment.NewLine &
"@script.start(" & Me.AdditionalValue & ")" & Environment.NewLine & "@script.start(" & Me.AdditionalValue & ")" & Environment.NewLine &
":end" ":end"

View File

@ -47,7 +47,7 @@
Public Sub Update() Public Sub Update()
If Visible = True Then 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 If Controls.Up(True, True, True, True, True, True) = True Then
Me.Index -= 1 Me.Index -= 1
@ -64,7 +64,7 @@
For i = Scroll To Me.Scroll + 8 For i = Scroll To Me.Scroll + 8
If i <= Me.Items.Count - 1 Then 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 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 If Not ClickHandler Is Nothing Then
@ -79,7 +79,7 @@
End If End If
Me.Visible = False Me.Visible = False
End If 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 Me.Index = i
End If End If
End If End If
@ -104,25 +104,25 @@
If i <= Me.Items.Count - 1 Then If i <= Me.Items.Count - 1 Then
Dim Text As String = Items(i) 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(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 + 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(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.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 End If
Next Next
End If 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), "") 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) Core.SpriteBatch.Draw(t, New Rectangle(CInt(cPosition.X), CInt(cPosition.Y), 64, 64), Color.White)
End Sub End Sub
Private Sub SetCursorDest() 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 End Sub
Public ReadOnly Property SelectedItem() As String Public ReadOnly Property SelectedItem() As String

View File

@ -14731,6 +14731,9 @@
<Content Include="Content\Sounds\Battle\Effects\MegaEvolution.wav"> <Content Include="Content\Sounds\Battle\Effects\MegaEvolution.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Content\Sounds\Emote_Exclamation.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Textures\Battle\MegaEvolution\Mega_Phase1.png"> <Content Include="Content\Textures\Battle\MegaEvolution\Mega_Phase1.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@ -14746,6 +14749,9 @@
<Content Include="Content\Textures\Battle\Normal\Wrap.png"> <Content Include="Content\Textures\Battle\Normal\Wrap.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Content\Textures\Battle\StatusEffect\Burned.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Textures\Battle\StatusEffect\Frozen.png"> <Content Include="Content\Textures\Battle\StatusEffect\Frozen.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@ -29285,7 +29291,6 @@
<Compile Include="Battle\BattleSystemV2\QueryObjects\EndBattleQueryObject.vb" /> <Compile Include="Battle\BattleSystemV2\QueryObjects\EndBattleQueryObject.vb" />
<Compile Include="Battle\BattleSystemV2\QueryObjects\LearnMovesQueryObject.vb" /> <Compile Include="Battle\BattleSystemV2\QueryObjects\LearnMovesQueryObject.vb" />
<Compile Include="Battle\BattleSystemV2\QueryObjects\MathHPQueryObject.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\PlayMusicQueryObject.vb" />
<Compile Include="Battle\BattleSystemV2\QueryObjects\PlaySoundQueryObject.vb" /> <Compile Include="Battle\BattleSystemV2\QueryObjects\PlaySoundQueryObject.vb" />
<Compile Include="Battle\BattleSystemV2\QueryObjects\QueryObject.vb" /> <Compile Include="Battle\BattleSystemV2\QueryObjects\QueryObject.vb" />

View File

@ -67,7 +67,7 @@
Dim MoveAnimation = New AnimationQueryObject(CurrentEntity, BattleFlip) Dim MoveAnimation = New AnimationQueryObject(CurrentEntity, BattleFlip)
Dim FireballEntity = MoveAnimation.SpawnEntity(Nothing, TextureManager.GetTexture("Textures\Battle\Fire\FireBall"), New Vector3(0.5F), 1.0F) 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, 0) 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) MoveAnimation.AnimationPlaySound("Battle\Attacks\Fire\Ember_Start", 0, 0)
For i = 0 To 12 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)) 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))
@ -82,7 +82,7 @@
Dim MoveAnimation = New AnimationQueryObject(CurrentEntity, BattleFlip) 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) 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.0, 0.0, 0.0, 0.05, False, True, 0.0, 0.0,, -0.5, 0) 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 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)) 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))
@ -90,27 +90,27 @@
i += 1 i += 1
Next Next
MoveAnimation.AnimationPlaySound("Battle\Attacks\Fire\Ember_Hit", 2, 0) 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, 1, 1) 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.25, -0.25, 0.25), TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 1, 1) 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, 1, 1) 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), ""), 2, 1) 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), ""), 2, 1) 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), ""), 2, 1) 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), ""), 3, 1) 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), ""), 3, 1) 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), ""), 3, 1) 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), ""), 4, 1) 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), ""), 4, 1) 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), ""), 4, 1) 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), ""), 5, 1) 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), ""), 5, 1) 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), ""), 5, 1) MoveAnimation.AnimationChangeTexture(FireEntity3, True, TextureManager.GetTexture("Textures\Battle\Fire\Ember", New Rectangle(0, 128, 32, 32), ""), 6, 0)
BattleScreen.BattleQuery.Add(MoveAnimation) BattleScreen.BattleQuery.Add(MoveAnimation)
End Sub End Sub

View File

@ -67,12 +67,12 @@
MoveAnimation.AnimationPlaySound(CStr(CurrentPokemon.Number), 0, 0,, True) MoveAnimation.AnimationPlaySound(CStr(CurrentPokemon.Number), 0, 0,, True)
Dim SoundwaveEntity As Entity Dim SoundwaveEntity As Entity
If BattleFlip = False Then ' 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) 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 '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) ' 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 '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, 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, 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) MoveAnimation.AnimationChangeTexture(SoundwaveEntity, True, TextureManager.GetTexture("Textures\Battle\Normal\Growl", New Rectangle(0, 32, 32, 32), ""), 3, 1)

View File

@ -67,10 +67,15 @@
Public Overrides Sub InternalUserPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC, ByVal CurrentModel As ModelEntity) 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 MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
Dim StingerEntity As Entity = MoveAnimation.SpawnEntity(Nothing, TextureManager.GetTexture("Textures\Battle\Poison\Stinger"), New Vector3(0.5F), 1.0F)
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.AnimationPlaySound("Battle\Attacks\Poison\PoisonSting_Start", 0, 0)
MoveAnimation.AnimationMove(StingerEntity, True, 2.0, 0.0, 0.0, 0.05, False, False, 0.0, 0.0,,, 0) MoveAnimation.AnimationMove(StingerEntity, True, 2.0, 0.0, 0.0, 0.08, False, False, 0.0, 0.0)
BattleScreen.BattleQuery.Add(MoveAnimation) BattleScreen.BattleQuery.Add(MoveAnimation)
End Sub End Sub
@ -78,27 +83,31 @@
Public Overrides Sub InternalOpponentPokemonMoveAnimation(ByVal BattleScreen As BattleScreen, ByVal BattleFlip As Boolean, ByVal CurrentPokemon As Pokemon, ByVal CurrentEntity As NPC, ByVal CurrentModel As ModelEntity) 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 MoveAnimation As AnimationQueryObject = New AnimationQueryObject(CurrentEntity, BattleFlip)
Dim StingerEntity As Entity = MoveAnimation.SpawnEntity(New Vector3(-2.0, 0, 0.0), TextureManager.GetTexture("Textures\Battle\Poison\Stinger"), New Vector3(0.5F), 1) 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.05, False, False, 0.0, 0.0,,, 0) 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) 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, 1, 1) 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), ""), 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.25, -0.25, 0.25), TextureManager.GetTexture("Textures\Battle\Poison\Bubble", New Rectangle(0, 0, 32, 32), ""), New Vector3(0.5F), 1, 2, 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), ""), 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), ""), 3, 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, 3, 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), ""), 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), ""), 4, 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), ""), 5, 1) MoveAnimation.AnimationChangeTexture(BubbleEntity3, True, TextureManager.GetTexture("Textures\Battle\Poison\Bubble", New Rectangle(0, 64, 32, 32), ""), 6, 1)
BattleScreen.BattleQuery.Add(MoveAnimation) BattleScreen.BattleQuery.Add(MoveAnimation)
End Sub End Sub

View File

@ -41,47 +41,60 @@
Dim pokeTexture = Pokemon.GetMenuTexture() Dim pokeTexture = Pokemon.GetMenuTexture()
Core.SpriteBatch.Draw(pokeTexture, New Rectangle(CInt(p.X + 20), CInt(p.Y + 20), pokeTexture.Width * 2, 64), Color.White) Core.SpriteBatch.Draw(pokeTexture, New Rectangle(CInt(p.X + 20), CInt(p.Y + 20), pokeTexture.Width * 2, 64), Color.White)
Core.SpriteBatch.DrawString(FontManager.InGameFont, Pokemon.GetDisplayName(), New Vector2(p.X + 90, p.Y + 32), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, Pokemon.GetDisplayName(), New Vector2(p.X + 90, p.Y + 32), Color.Black)
Core.SpriteBatch.DrawString(FontManager.MiniFont, " reached level " & Pokemon.Level & "!", New Vector2(p.X + 90 + FontManager.InGameFont.MeasureString(Pokemon.GetDisplayName()).X, p.Y + 41), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, " reached level " & Pokemon.Level & "!", New Vector2(p.X + 90 + FontManager.InGameFont.MeasureString(Pokemon.GetDisplayName()).X, p.Y + 41), Color.Black)
Dim OldOffset As Integer = 160
If Delay >= 3.0F Then If Delay >= 3.0F Then
Core.SpriteBatch.DrawString(FontManager.MiniFont, "Max HP: " & OldStats(0).ToString(), New Vector2(p.X + 32, p.Y + 84), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, Localization.GetString("MaxHP") & ":", New Vector2(p.X + 32, p.Y + 84), Color.Black)
Core.SpriteBatch.DrawString(FontManager.MiniFont, "Attack: " & OldStats(1).ToString(), New Vector2(p.X + 32, p.Y + 124), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, OldStats(0).ToString(), New Vector2(p.X + 32 + OldOffset, p.Y + 84), Color.Black)
Core.SpriteBatch.DrawString(FontManager.MiniFont, "Defense: " & OldStats(2).ToString(), New Vector2(p.X + 32, p.Y + 164), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, Localization.GetString("Attack") & ":", New Vector2(p.X + 32, p.Y + 124), Color.Black)
Core.SpriteBatch.DrawString(FontManager.MiniFont, "Sp Attack: " & OldStats(3).ToString(), New Vector2(p.X + 32, p.Y + 204), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, OldStats(1).ToString(), New Vector2(p.X + 32 + OldOffset, p.Y + 124), Color.Black)
Core.SpriteBatch.DrawString(FontManager.MiniFont, "Sp Defense: " & OldStats(4).ToString(), New Vector2(p.X + 32, p.Y + 244), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, Localization.GetString("Defense") & ":", New Vector2(p.X + 32, p.Y + 164), Color.Black)
Core.SpriteBatch.DrawString(FontManager.MiniFont, "Speed: " & OldStats(5).ToString(), New Vector2(p.X + 32, p.Y + 284), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, OldStats(2).ToString(), New Vector2(p.X + 32 + OldOffset, p.Y + 164), Color.Black)
Core.SpriteBatch.DrawString(FontManager.InGameFont, Localization.GetString("Sp_Attack") & ":", New Vector2(p.X + 32, p.Y + 204), Color.Black)
Core.SpriteBatch.DrawString(FontManager.InGameFont, OldStats(3).ToString(), New Vector2(p.X + 32 + OldOffset, p.Y + 204), Color.Black)
Core.SpriteBatch.DrawString(FontManager.InGameFont, Localization.GetString("Sp_Defense") & ":", New Vector2(p.X + 32, p.Y + 244), Color.Black)
Core.SpriteBatch.DrawString(FontManager.InGameFont, OldStats(4).ToString(), New Vector2(p.X + 32 + OldOffset, p.Y + 244), Color.Black)
Core.SpriteBatch.DrawString(FontManager.InGameFont, Localization.GetString("Speed") & ":", New Vector2(p.X + 32, p.Y + 284), Color.Black)
Core.SpriteBatch.DrawString(FontManager.InGameFont, OldStats(5).ToString(), New Vector2(p.X + 32 + OldOffset, p.Y + 284), Color.Black)
End If End If
Dim NewOffset As Integer = 208
If Delay >= 5.0F Then If Delay >= 5.0F Then
Core.SpriteBatch.DrawString(FontManager.MiniFont, "+ " & newMaxHP, New Vector2(p.X + 200, p.Y + 84), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, "+ " & newMaxHP, New Vector2(p.X + 32 + NewOffset, p.Y + 84), Color.Black)
End If End If
If Delay >= 5.5F Then If Delay >= 5.5F Then
Core.SpriteBatch.DrawString(FontManager.MiniFont, "+ " & newAttack, New Vector2(p.X + 200, p.Y + 124), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, "+ " & newAttack, New Vector2(p.X + 32 + NewOffset, p.Y + 124), Color.Black)
End If End If
If Delay >= 6.0F Then If Delay >= 6.0F Then
Core.SpriteBatch.DrawString(FontManager.MiniFont, "+ " & newDefense, New Vector2(p.X + 200, p.Y + 164), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, "+ " & newDefense, New Vector2(p.X + 32 + NewOffset, p.Y + 164), Color.Black)
End If End If
If Delay >= 6.5F Then If Delay >= 6.5F Then
Core.SpriteBatch.DrawString(FontManager.MiniFont, "+ " & newSpAttack, New Vector2(p.X + 200, p.Y + 204), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, "+ " & newSpAttack, New Vector2(p.X + 32 + NewOffset, p.Y + 204), Color.Black)
End If End If
If Delay >= 7.0F Then If Delay >= 7.0F Then
Core.SpriteBatch.DrawString(FontManager.MiniFont, "+ " & newSpDefense, New Vector2(p.X + 200, p.Y + 244), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, "+ " & newSpDefense, New Vector2(p.X + 32 + NewOffset, p.Y + 244), Color.Black)
End If End If
If Delay >= 7.5F Then If Delay >= 7.5F Then
Core.SpriteBatch.DrawString(FontManager.MiniFont, "+ " & newSpeed, New Vector2(p.X + 200, p.Y + 284), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, "+ " & newSpeed, New Vector2(p.X + 32 + NewOffset, p.Y + 284), Color.Black)
End If End If
Dim ResultOffset As Integer = 272
If Delay >= 9.0F Then If Delay >= 9.0F Then
Core.SpriteBatch.DrawString(FontManager.MiniFont, "= " & Pokemon.MaxHP, New Vector2(p.X + 252, p.Y + 84), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, "= " & Pokemon.MaxHP, New Vector2(p.X + 32 + ResultOffset, p.Y + 84), Color.Black)
Core.SpriteBatch.DrawString(FontManager.MiniFont, "= " & Pokemon.Attack, New Vector2(p.X + 252, p.Y + 124), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, "= " & Pokemon.Attack, New Vector2(p.X + 32 + ResultOffset, p.Y + 124), Color.Black)
Core.SpriteBatch.DrawString(FontManager.MiniFont, "= " & Pokemon.Defense, New Vector2(p.X + 252, p.Y + 164), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, "= " & Pokemon.Defense, New Vector2(p.X + 32 + ResultOffset, p.Y + 164), Color.Black)
Core.SpriteBatch.DrawString(FontManager.MiniFont, "= " & Pokemon.SpAttack, New Vector2(p.X + 252, p.Y + 204), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, "= " & Pokemon.SpAttack, New Vector2(p.X + 32 + ResultOffset, p.Y + 204), Color.Black)
Core.SpriteBatch.DrawString(FontManager.MiniFont, "= " & Pokemon.SpDefense, New Vector2(p.X + 252, p.Y + 244), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, "= " & Pokemon.SpDefense, New Vector2(p.X + 32 + ResultOffset, p.Y + 244), Color.Black)
Core.SpriteBatch.DrawString(FontManager.MiniFont, "= " & Pokemon.Speed, New Vector2(p.X + 252, p.Y + 284), Color.Black) Core.SpriteBatch.DrawString(FontManager.InGameFont, "= " & Pokemon.Speed, New Vector2(p.X + 32 + ResultOffset, p.Y + 284), Color.Black)
End If End If
If Delay >= 11.0F Then If Delay >= 11.0F Then
Dim newStat As Integer = 0 Dim newStat As Integer = 0
newStat = newAttack + newDefense + newSpAttack + newMaxHP + newSpDefense + newSpeed newStat = newAttack + newDefense + newSpAttack + newMaxHP + newSpDefense + newSpeed
Core.SpriteBatch.DrawString(FontManager.MiniFont, Pokemon.GetDisplayName() & " got a boost of " & newStat.ToString() & "!", New Vector2(p.X + 32, p.Y + 320), Color.DarkRed) Core.SpriteBatch.DrawString(FontManager.InGameFont, Pokemon.GetDisplayName() & " got a boost of " & newStat.ToString() & "!", New Vector2(p.X + 32, p.Y + 320), Color.DarkRed)
End If End If
End Sub End Sub

View File

@ -183,10 +183,10 @@ Public Class PartyScreen
Canvas.DrawRectangle(New Rectangle(CInt(Core.windowSize.Width / 2 - 150), CInt(Core.windowSize.Height - 200), 300, 100), New Color(0, 0, 0, CInt(150 * textFade * _interfaceFade))) Canvas.DrawRectangle(New Rectangle(CInt(Core.windowSize.Width / 2 - 150), CInt(Core.windowSize.Height - 200), 300, 100), New Color(0, 0, 0, CInt(150 * textFade * _interfaceFade)))
Dim text As String = _messageText.CropStringToWidth(FontManager.ChatFont, 250) '''??? Dim text As String = _messageText.CropStringToWidth(FontManager.MainFont, 250) '''???
Dim size As Vector2 = FontManager.ChatFont.MeasureString(text) Dim size As Vector2 = FontManager.MainFont.MeasureString(text)
SpriteBatch.DrawString(FontManager.ChatFont, text, New Vector2(CSng(Core.windowSize.Width / 2 - size.X / 2), CSng(Core.windowSize.Height - 150 - size.Y / 2)), New Color(255, 255, 255, CInt(255 * textFade * _interfaceFade))) SpriteBatch.DrawString(FontManager.MainFont, text, New Vector2(CSng(Core.windowSize.Width / 2 - size.X / 2), CSng(Core.windowSize.Height - 150 - size.Y / 2)), New Color(255, 255, 255, CInt(255 * textFade * _interfaceFade)))
End If End If
End Sub End Sub
@ -214,7 +214,10 @@ Public Class PartyScreen
_preScreenTexture = target _preScreenTexture = target
End If End If
SpriteBatch.Draw(_blur.Perform(_preScreenTexture), windowSize, Color.White) If _interfaceFade < 1.0F Then
SpriteBatch.Draw(_preScreenTexture, windowSize, Color.White)
End If
SpriteBatch.Draw(_blur.Perform(_preScreenTexture), windowSize, New Color(255, 255, 255, CInt(255 * _interfaceFade * 2).Clamp(0, 255)))
End Sub End Sub
@ -232,7 +235,7 @@ Public Class PartyScreen
SpriteBatch.Draw(_texture, New Rectangle(halfWidth - 140, halfHeight - 232, 16, 16), New Rectangle(80, 0, 16, 16), mainBackgroundColor) SpriteBatch.Draw(_texture, New Rectangle(halfWidth - 140, halfHeight - 232, 16, 16), New Rectangle(80, 0, 16, 16), mainBackgroundColor)
SpriteBatch.Draw(_texture, New Rectangle(halfWidth - 124, halfHeight - 216, 16, 16), New Rectangle(80, 0, 16, 16), mainBackgroundColor) SpriteBatch.Draw(_texture, New Rectangle(halfWidth - 124, halfHeight - 216, 16, 16), New Rectangle(80, 0, 16, 16), mainBackgroundColor)
SpriteBatch.DrawString(FontManager.ChatFont, POKEMON_TITLE, New Vector2(halfWidth - 390, halfHeight - 228), mainBackgroundColor) SpriteBatch.DrawString(FontManager.MainFont, POKEMON_TITLE, New Vector2(halfWidth - 390, halfHeight - 228), mainBackgroundColor)
For y = 0 To CInt(_enrollY) Step 16 For y = 0 To CInt(_enrollY) Step 16
For x = 0 To 800 Step 16 For x = 0 To 800 Step 16
@ -292,7 +295,7 @@ Public Class PartyScreen
_pokemonAnimations(index)._shakeV * shakeMulti, New Vector2(16, 16), SpriteEffects.None, 0F) _pokemonAnimations(index)._shakeV * shakeMulti, New Vector2(16, 16), SpriteEffects.None, 0F)
'name: 'name:
GetFontRenderer().DrawString(FontManager.MiniFont, p.GetDisplayName(), New Vector2(position.X + 156, position.Y + 27), New Color(255, 255, 255, CInt(255 * _interfaceFade))) GetFontRenderer().DrawString(FontManager.MainFont, p.GetDisplayName(), New Vector2(position.X + 156, position.Y + 27), New Color(255, 255, 255, CInt(255 * _interfaceFade)))
Else Else
Dim shakeMulti As Single = CSng((p.HP / p.MaxHP).Clamp(0.2F, 1.0F)) Dim shakeMulti As Single = CSng((p.HP / p.MaxHP).Clamp(0.2F, 1.0F))
@ -308,18 +311,18 @@ Public Class PartyScreen
End If End If
'name: 'name:
GetFontRenderer().DrawString(FontManager.MiniFont, p.GetDisplayName(), New Vector2(position.X + 78, position.Y + 5), New Color(255, 255, 255, CInt(255 * _interfaceFade))) GetFontRenderer().DrawString(FontManager.MainFont, p.GetDisplayName(), New Vector2(position.X + 78, position.Y + 5), New Color(255, 255, 255, CInt(255 * _interfaceFade)))
'Gender symbol: 'Gender symbol:
Select Case p.Gender Select Case p.Gender
Case Pokemon.Genders.Male Case Pokemon.Genders.Male
SpriteBatch.Draw(_menuTexture, New Rectangle(CInt(position.X + FontManager.MiniFont.MeasureString(p.GetDisplayName()).X + 86), CInt(position.Y + 9), 7, 13), New Rectangle(25, 0, 7, 13), New Color(255, 255, 255, CInt(255 * _interfaceFade))) SpriteBatch.Draw(_menuTexture, New Rectangle(CInt(position.X + FontManager.MainFont.MeasureString(p.GetDisplayName()).X + 86), CInt(position.Y + 9), 7, 13), New Rectangle(25, 0, 7, 13), New Color(255, 255, 255, CInt(255 * _interfaceFade)))
Case Pokemon.Genders.Female Case Pokemon.Genders.Female
SpriteBatch.Draw(_menuTexture, New Rectangle(CInt(position.X + FontManager.MiniFont.MeasureString(p.GetDisplayName()).X + 85), CInt(position.Y + 9), 9, 13), New Rectangle(32, 0, 9, 13), New Color(255, 255, 255, CInt(255 * _interfaceFade))) SpriteBatch.Draw(_menuTexture, New Rectangle(CInt(position.X + FontManager.MainFont.MeasureString(p.GetDisplayName()).X + 85), CInt(position.Y + 9), 9, 13), New Rectangle(32, 0, 9, 13), New Color(255, 255, 255, CInt(255 * _interfaceFade)))
End Select End Select
'Level: 'Level:
GetFontRenderer().DrawString(FontManager.MiniFont, "Lv. " & p.Level.ToString(), New Vector2(position.X + 4, position.Y + 56), New Color(255, 255, 255, CInt(255 * _interfaceFade))) GetFontRenderer().DrawString(FontManager.MainFont, "Lv. " & p.Level.ToString(), New Vector2(position.X + 4, position.Y + 50), New Color(255, 255, 255, CInt(255 * _interfaceFade)))
'HP Bar: 'HP Bar:
SpriteBatch.Draw(_menuTexture, New Rectangle(CInt(position.X) + 102, CInt(position.Y) + 32, 111, 15), New Rectangle(16, 32, 74, 10), New Color(255, 255, 255, CInt(255 * _interfaceFade))) SpriteBatch.Draw(_menuTexture, New Rectangle(CInt(position.X) + 102, CInt(position.Y) + 32, 111, 15), New Rectangle(16, 32, 74, 10), New Color(255, 255, 255, CInt(255 * _interfaceFade)))
@ -354,7 +357,7 @@ Public Class PartyScreen
End With End With
'HP display: 'HP display:
GetFontRenderer().DrawString(FontManager.MiniFont, p.HP & " / " & p.MaxHP, New Vector2(position.X + 100, position.Y + 50), New Color(255, 255, 255, CInt(255 * _interfaceFade))) GetFontRenderer().DrawString(FontManager.MainFont, p.HP & " / " & p.MaxHP, New Vector2(position.X + 100, position.Y + 50), New Color(255, 255, 255, CInt(255 * _interfaceFade)))
'status condition 'status condition
Dim StatusTexture As Texture2D = BattleStats.GetStatImage(p.Status) Dim StatusTexture As Texture2D = BattleStats.GetStatImage(p.Status)
@ -379,7 +382,7 @@ Public Class PartyScreen
End If End If
End Select End Select
End If End If
GetFontRenderer().DrawString(FontManager.MiniFont, AttackLabel, New Vector2(position.X + 210, position.Y + 50), New Color(255, 255, 255, CInt(255 * _interfaceFade))) GetFontRenderer().DrawString(FontManager.MainFont, AttackLabel, New Vector2(position.X + 210, position.Y + 50), New Color(255, 255, 255, CInt(255 * _interfaceFade)))
End If End If