diff --git a/2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb b/2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb index e4b25f55b..014c6bc5d 100644 --- a/2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb +++ b/2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb @@ -934,6 +934,7 @@ #End Region Public Function IsChargingTurn(ByVal BattleScreen As BattleScreen, ByVal own As Boolean, ByVal moveUsed As Attack) As Boolean Dim p As Pokemon + Dim fly As Integer Dim bounce As Integer Dim dig As Integer diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Bounce.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Bounce.vb index c384eb906..1c217a395 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Bounce.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Bounce.vb @@ -120,6 +120,14 @@ End If End Function + Public Overrides Sub MoveSelected(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnBounceCounter = 0 + Else + BattleScreen.FieldEffects.OppBounceCounter = 0 + End If + End Sub + Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean Dim bounce As Integer = BattleScreen.FieldEffects.OwnBounceCounter If own = False Then diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Fly.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Fly.vb index 601614449..71dfa28a0 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Fly.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Fly.vb @@ -119,7 +119,13 @@ Return False End If End Function - + Public Overrides Sub MoveSelected(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnFlyCounter = 0 + Else + BattleScreen.FieldEffects.OppFlyCounter = 0 + End If + End Sub Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean Dim fly As Integer = BattleScreen.FieldEffects.OwnFlyCounter If own = False Then diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/SkyAttack.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/SkyAttack.vb index dfe045741..2cc9af780 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/SkyAttack.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/SkyAttack.vb @@ -122,25 +122,46 @@ End If End Function + Public Overrides Sub MoveSelected(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnSkyAttackCounter = 0 + Else + BattleScreen.FieldEffects.OppSkyAttackCounter = 0 + End If + End Sub Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean - Dim skyattack As Integer = BattleScreen.FieldEffects.OwnSkyAttackCounter + Dim SkyAttack As Integer = BattleScreen.FieldEffects.OwnSkyAttackCounter If own = False Then - skyattack = BattleScreen.FieldEffects.OppSkyAttackCounter + SkyAttack = BattleScreen.FieldEffects.OppSkyAttackCounter End If - If skyattack = 0 Then + If SkyAttack = 0 Then Return False Else Return True End If End Function - Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) - If Core.Random.Next(0, 100) < Me.GetEffectChance(0, own, BattleScreen) Then - BattleScreen.Battle.InflictFlinch(Not own, own, BattleScreen, "", "move:skyattack") + Private Sub MoveFails(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnSkyAttackCounter = 0 + Else + BattleScreen.FieldEffects.OppSkyAttackCounter = 0 End If End Sub + Public Overrides Sub MoveMisses(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub AbsorbedBySubstitute(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub MoveProtectedDetected(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + End Class End Namespace \ No newline at end of file diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Grass/SolarBeam.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Grass/SolarBeam.vb index 6b6caac3b..4101cb42f 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Grass/SolarBeam.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Grass/SolarBeam.vb @@ -147,6 +147,39 @@ End If End Sub + Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean + Dim solarBeam As Integer = BattleScreen.FieldEffects.OwnSolarBeam + If own = False Then + solarBeam = BattleScreen.FieldEffects.OppSolarBeam + End If + + If solarBeam = 0 Then + Return False + Else + Return True + End If + End Function + + Private Sub MoveFails(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnSolarBeam = 0 + Else + BattleScreen.FieldEffects.OppSolarBeam = 0 + End If + End Sub + + Public Overrides Sub MoveMisses(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub AbsorbedBySubstitute(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub MoveProtectedDetected(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + End Class End Namespace \ No newline at end of file diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Ground/Dig.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Ground/Dig.vb index ffa051a48..ed50e14d0 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Ground/Dig.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Ground/Dig.vb @@ -94,16 +94,15 @@ p = BattleScreen.OppPokemon End If - Dim hasToCharge As Boolean = True If Not p.Item Is Nothing Then If p.Item.Name.ToLower() = "power herb" And BattleScreen.FieldEffects.CanUseItem(Own) = True And BattleScreen.FieldEffects.CanUseOwnItem(Own, BattleScreen) = True Then If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "Power Herb pushed the use of Dig!", "move:dig") = True Then - hasToCharge = False + digCounter = 1 End If End If End If - If digCounter = 0 And hasToCharge = True Then + If digCounter = 0 Then If Own = True Then BattleScreen.FieldEffects.OwnDigCounter = 1 Else @@ -131,6 +130,39 @@ BattleScreen.FieldEffects.OppDigCounter = 0 End If End Sub + Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean + Dim dig As Integer = BattleScreen.FieldEffects.OwnDigCounter + If own = False Then + dig = BattleScreen.FieldEffects.OppDigCounter + End If + + If dig = 0 Then + Return False + Else + Return True + End If + End Function + + Private Sub MoveFails(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnDigCounter = 0 + Else + BattleScreen.FieldEffects.OppDigCounter = 0 + End If + End Sub + + Public Overrides Sub MoveMisses(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub AbsorbedBySubstitute(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub MoveProtectedDetected(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + End Class diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Bide.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Bide.vb index 9086fbc7a..1aab86616 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Bide.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Bide.vb @@ -93,6 +93,46 @@ End If End Function + Public Overrides Sub MoveSelected(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnBideCounter = 0 + Else + BattleScreen.FieldEffects.OppBideCounter = 0 + End If + End Sub + Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean + Dim bide As Integer = BattleScreen.FieldEffects.OwnBideCounter + If own = False Then + bide = BattleScreen.FieldEffects.OppBideCounter + End If + + If bide = 0 Then + Return False + Else + Return True + End If + End Function + + Private Sub MoveFails(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnBideCounter = 0 + Else + BattleScreen.FieldEffects.OppBideCounter = 0 + End If + End Sub + + Public Overrides Sub MoveMisses(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub AbsorbedBySubstitute(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub MoveProtectedDetected(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + End Class End Namespace \ No newline at end of file diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/RazorWind.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/RazorWind.vb index d41a3d1d4..8b0ce4f31 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/RazorWind.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/RazorWind.vb @@ -120,6 +120,14 @@ End If End Function + Public Overrides Sub MoveSelected(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnRazorWindCounter = 0 + Else + BattleScreen.FieldEffects.OppRazorWindCounter = 0 + End If + End Sub + Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean Dim razorWind As Integer = BattleScreen.FieldEffects.OwnRazorWindCounter If own = False Then @@ -133,6 +141,26 @@ End If End Function + Private Sub MoveFails(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnRazorWindCounter = 0 + Else + BattleScreen.FieldEffects.OppRazorWindCounter = 0 + End If + End Sub + + Public Overrides Sub MoveMisses(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub AbsorbedBySubstitute(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub MoveProtectedDetected(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + End Class End Namespace \ No newline at end of file diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/SkullBash.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/SkullBash.vb index 073af20be..2fd2303ef 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/SkullBash.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/SkullBash.vb @@ -122,6 +122,14 @@ End If End Function + Public Overrides Sub MoveSelected(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnSkullBashCounter = 0 + Else + BattleScreen.FieldEffects.OppSkullBashCounter = 0 + End If + End Sub + Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean Dim skullBash As Integer = BattleScreen.FieldEffects.OwnSkullBashCounter If own = False Then diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Water/Dive.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Water/Dive.vb index 24e62bae4..deb1ed2bb 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Water/Dive.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Water/Dive.vb @@ -111,7 +111,7 @@ BattleScreen.FieldEffects.OppDiveCounter = 1 End If - BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " burrowed its way underground!")) + BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " dived into the water!")) Return True Else @@ -132,6 +132,18 @@ BattleScreen.FieldEffects.OppDiveCounter = 0 End If End Sub + Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean + Dim Dive As Integer = BattleScreen.FieldEffects.OwnDiveCounter + If own = False Then + Dive = BattleScreen.FieldEffects.OppDiveCounter + End If + + If Dive = 0 Then + Return False + Else + Return True + End If + End Function Private Sub MoveFails(own As Boolean, BattleScreen As BattleScreen) If own = True Then