From 70714a9005b214f65952d9de7ed78a4192a8f056 Mon Sep 17 00:00:00 2001 From: CaptainSegis Date: Thu, 12 Jan 2017 18:15:53 -0500 Subject: [PATCH] Attempt on fixing sleep infliction interaction with multi turn moves counters. --- 2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb | 2 +- 2.5DHero/2.5DHero/Pokemon/Attacks/Attack.vb | 9 +++++++++ 2.5DHero/2.5DHero/Pokemon/Attacks/Dragon/Outrage.vb | 4 ++++ 2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Bounce.vb | 4 ++++ 2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Fly.vb | 3 +++ 2.5DHero/2.5DHero/Pokemon/Attacks/Flying/SkyAttack.vb | 3 +++ 2.5DHero/2.5DHero/Pokemon/Attacks/Grass/PetalDance.vb | 4 ++++ 2.5DHero/2.5DHero/Pokemon/Attacks/Grass/SolarBeam.vb | 4 ++++ 2.5DHero/2.5DHero/Pokemon/Attacks/Ground/Dig.vb | 3 +++ 2.5DHero/2.5DHero/Pokemon/Attacks/Ice/IceBall.vb | 3 +++ 2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Bide.vb | 4 ++++ 2.5DHero/2.5DHero/Pokemon/Attacks/Normal/RazorWind.vb | 4 ++++ 2.5DHero/2.5DHero/Pokemon/Attacks/Normal/SkullBash.vb | 4 ++++ 2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Thrash.vb | 4 ++++ 2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Uproar.vb | 3 +++ 2.5DHero/2.5DHero/Pokemon/Attacks/Rock/Rollout.vb | 3 +++ 2.5DHero/2.5DHero/Pokemon/Attacks/Water/Dive.vb | 4 ++++ 17 files changed, 64 insertions(+), 1 deletion(-) diff --git a/2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb b/2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb index 22e899c31..35747ac57 100644 --- a/2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb +++ b/2.5DHero/2.5DHero/Battle/BattleSystemV2/Battle.vb @@ -1105,6 +1105,7 @@ End If If p.Status = Pokemon.StatusProblems.Sleep Then + moveUsed.IsSleeping(own, BattleScreen) Dim sleepTurns As Integer = BattleScreen.FieldEffects.OwnSleepTurns If Not own Then sleepTurns = BattleScreen.FieldEffects.OppSleepTurns @@ -2747,7 +2748,6 @@ End If End If End If - Return True End If End If diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Attack.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Attack.vb index 55735c32e..8a46358a0 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Attack.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Attack.vb @@ -1726,6 +1726,15 @@ 'DO NOTHING End Sub + ''' + ''' Event that occurs when a the pokemon has been put to sleep. + ''' + ''' If the own Pokémon used the move. + ''' Reference to the BattleScreen. + Public Overridable Sub IsSleeping(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) + 'DO NOTHING + End Sub + ''' ''' Returns the attack stat of a Pokémon (Physical or Special). ''' diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Dragon/Outrage.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Dragon/Outrage.vb index 532967141..d7ca2a7f8 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Dragon/Outrage.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Dragon/Outrage.vb @@ -109,6 +109,10 @@ Public Overrides Sub InflictedFlinch(own As Boolean, BattleScreen As BattleScreen) Interruption(own, BattleScreen) End Sub + + Public Overrides Sub IsSleeping(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub End Class End Namespace \ No newline at end of file diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Bounce.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Bounce.vb index e68baca78..493f7c392 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Bounce.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Bounce.vb @@ -165,6 +165,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsSleeping(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + End Class End Namespace diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Fly.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Fly.vb index d1366ae5a..6e6458a41 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Fly.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/Fly.vb @@ -163,6 +163,9 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsSleeping(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/Flying/SkyAttack.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/SkyAttack.vb index fc89fd630..db7a3d349 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/SkyAttack.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Flying/SkyAttack.vb @@ -166,6 +166,9 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsSleeping(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/PetalDance.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Grass/PetalDance.vb index f62feefd1..cd18205d9 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Grass/PetalDance.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Grass/PetalDance.vb @@ -109,6 +109,10 @@ Public Overrides Sub InflictedFlinch(own As Boolean, BattleScreen As BattleScreen) Interruption(own, BattleScreen) End Sub + + Public Overrides Sub IsSleeping(own As Boolean, BattleScreen As BattleScreen) + Interruption(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 16bfb61cc..e2b7bda63 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Grass/SolarBeam.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Grass/SolarBeam.vb @@ -184,6 +184,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsSleeping(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 b2807772c..35584f52d 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Ground/Dig.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Ground/Dig.vb @@ -167,6 +167,9 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsSleeping(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/Ice/IceBall.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Ice/IceBall.vb index 3735cb8a3..8278b4863 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Ice/IceBall.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Ice/IceBall.vb @@ -126,6 +126,9 @@ Interruption(own, BattleScreen) End Sub + Public Overrides Sub IsSleeping(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub End Class End Namespace diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Bide.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Bide.vb index 1aab86616..92fdde196 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Bide.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Bide.vb @@ -133,6 +133,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsSleeping(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 d78b89fe9..b435e02c2 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/RazorWind.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/RazorWind.vb @@ -164,6 +164,10 @@ Public Overrides Sub InflictedFlinch(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub + + Public Overrides Sub IsSleeping(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 7a53c5f60..5da8424d0 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/SkullBash.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/SkullBash.vb @@ -166,6 +166,10 @@ Public Overrides Sub InflictedFlinch(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub + + Public Overrides Sub IsSleeping(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/Thrash.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Thrash.vb index 233acb99e..36b136b0f 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Thrash.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Thrash.vb @@ -109,6 +109,10 @@ Public Overrides Sub InflictedFlinch(own As Boolean, BattleScreen As BattleScreen) Interruption(own, BattleScreen) End Sub + + Public Overrides Sub IsSleeping(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub End Class End Namespace \ No newline at end of file diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Uproar.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Uproar.vb index 349969754..030c7ebfb 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Uproar.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Uproar.vb @@ -98,6 +98,9 @@ Interruption(own, BattleScreen) End Sub + Public Overrides Sub IsSleeping(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub End Class End Namespace \ No newline at end of file diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Rock/Rollout.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Rock/Rollout.vb index 85359c5f1..b60d401ad 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Rock/Rollout.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Rock/Rollout.vb @@ -126,6 +126,9 @@ Namespace BattleSystem.Moves.Rock Interruption(own, BattleScreen) End Sub + Public Overrides Sub IsSleeping(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub End Class End Namespace \ No newline at end of file diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Water/Dive.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Water/Dive.vb index 75e54675c..b9904c8e5 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Water/Dive.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Water/Dive.vb @@ -168,6 +168,10 @@ Public Overrides Sub InflictedFlinch(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub + + Public Overrides Sub IsSleeping(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub End Class End Namespace \ No newline at end of file