diff --git a/P3D/Battle/BattleSystemV2/Battle.vb b/P3D/Battle/BattleSystemV2/Battle.vb index af7297293..c31ff0dee 100644 --- a/P3D/Battle/BattleSystemV2/Battle.vb +++ b/P3D/Battle/BattleSystemV2/Battle.vb @@ -1730,6 +1730,7 @@ BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\Paralyzed", False)) End If BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is fully paralyzed!" & Environment.NewLine & "It cannot move!")) + moveUsed.IsParalyzed(own, BattleScreen) Exit Sub End If End If diff --git a/P3D/Pokemon/Attacks/Attack.vb b/P3D/Pokemon/Attacks/Attack.vb index 45c2e66b5..d114f48b1 100644 --- a/P3D/Pokemon/Attacks/Attack.vb +++ b/P3D/Pokemon/Attacks/Attack.vb @@ -2271,7 +2271,17 @@ End If 'DO NOTHING End Sub - + ''' + ''' Event that occurs when the pokemon can't attack because of paralysis. + ''' + ''' If the own Pokémon is in love. + ''' Reference to the BattleScreen. + Public Overridable Sub IsParalyzed(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) + If gmCopyMove <> -1 Then + GetAttackByID(gmCopyMove).IsParalyzed(own, BattleScreen) + End If + 'DO NOTHING + End Sub ''' ''' Event that occurs when a the pokemon has been put to sleep. ''' diff --git a/P3D/Pokemon/Attacks/Bug/FuryCutter.vb b/P3D/Pokemon/Attacks/Bug/FuryCutter.vb index 35aeade03..d57d4fece 100644 --- a/P3D/Pokemon/Attacks/Bug/FuryCutter.vb +++ b/P3D/Pokemon/Attacks/Bug/FuryCutter.vb @@ -128,6 +128,10 @@ ResetCounter(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + ResetCounter(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) ResetCounter(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Dragon/Outrage.vb b/P3D/Pokemon/Attacks/Dragon/Outrage.vb index a1b9d7e0e..e7eb82a5f 100644 --- a/P3D/Pokemon/Attacks/Dragon/Outrage.vb +++ b/P3D/Pokemon/Attacks/Dragon/Outrage.vb @@ -130,6 +130,10 @@ Interruption(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) Interruption(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Fairy/Geomancy.vb b/P3D/Pokemon/Attacks/Fairy/Geomancy.vb index cbbb00c82..b6c327299 100644 --- a/P3D/Pokemon/Attacks/Fairy/Geomancy.vb +++ b/P3D/Pokemon/Attacks/Fairy/Geomancy.vb @@ -141,6 +141,10 @@ Namespace BattleSystem.Moves.Fairy MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Flying/Bounce.vb b/P3D/Pokemon/Attacks/Flying/Bounce.vb index bedc07c75..1f9c613d2 100644 --- a/P3D/Pokemon/Attacks/Flying/Bounce.vb +++ b/P3D/Pokemon/Attacks/Flying/Bounce.vb @@ -169,6 +169,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub HurtItselfInConfusion(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Flying/Fly.vb b/P3D/Pokemon/Attacks/Flying/Fly.vb index 492b82b24..2cf21ff6e 100644 --- a/P3D/Pokemon/Attacks/Flying/Fly.vb +++ b/P3D/Pokemon/Attacks/Flying/Fly.vb @@ -173,6 +173,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Flying/SkyAttack.vb b/P3D/Pokemon/Attacks/Flying/SkyAttack.vb index 7dd9fba1f..5d7f9b119 100644 --- a/P3D/Pokemon/Attacks/Flying/SkyAttack.vb +++ b/P3D/Pokemon/Attacks/Flying/SkyAttack.vb @@ -174,6 +174,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Ghost/PhantomForce.vb b/P3D/Pokemon/Attacks/Ghost/PhantomForce.vb index 1b6667d36..ef82f76fa 100644 --- a/P3D/Pokemon/Attacks/Ghost/PhantomForce.vb +++ b/P3D/Pokemon/Attacks/Ghost/PhantomForce.vb @@ -175,6 +175,10 @@ Namespace BattleSystem.Moves.Ghost MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Ghost/ShadowForce.vb b/P3D/Pokemon/Attacks/Ghost/ShadowForce.vb index b6dacbfcf..11b55a97c 100644 --- a/P3D/Pokemon/Attacks/Ghost/ShadowForce.vb +++ b/P3D/Pokemon/Attacks/Ghost/ShadowForce.vb @@ -175,6 +175,10 @@ Namespace BattleSystem.Moves.Ghost MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Grass/PetalDance.vb b/P3D/Pokemon/Attacks/Grass/PetalDance.vb index 9c8febb38..7e3c1bfa4 100644 --- a/P3D/Pokemon/Attacks/Grass/PetalDance.vb +++ b/P3D/Pokemon/Attacks/Grass/PetalDance.vb @@ -130,6 +130,10 @@ Interruption(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) Interruption(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Grass/SolarBeam.vb b/P3D/Pokemon/Attacks/Grass/SolarBeam.vb index 6c684ac18..c90a8401c 100644 --- a/P3D/Pokemon/Attacks/Grass/SolarBeam.vb +++ b/P3D/Pokemon/Attacks/Grass/SolarBeam.vb @@ -192,6 +192,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Grass/SolarBlade.vb b/P3D/Pokemon/Attacks/Grass/SolarBlade.vb index 836d71dd4..29f55caaa 100644 --- a/P3D/Pokemon/Attacks/Grass/SolarBlade.vb +++ b/P3D/Pokemon/Attacks/Grass/SolarBlade.vb @@ -191,6 +191,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Ground/Dig.vb b/P3D/Pokemon/Attacks/Ground/Dig.vb index f9c3dfd64..6fb4f36f6 100644 --- a/P3D/Pokemon/Attacks/Ground/Dig.vb +++ b/P3D/Pokemon/Attacks/Ground/Dig.vb @@ -175,6 +175,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Ice/IceBall.vb b/P3D/Pokemon/Attacks/Ice/IceBall.vb index 38b705f06..1a7d618a0 100644 --- a/P3D/Pokemon/Attacks/Ice/IceBall.vb +++ b/P3D/Pokemon/Attacks/Ice/IceBall.vb @@ -135,6 +135,10 @@ Interruption(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) Interruption(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Normal/Bide.vb b/P3D/Pokemon/Attacks/Normal/Bide.vb index 3a1614b52..d786610b3 100644 --- a/P3D/Pokemon/Attacks/Normal/Bide.vb +++ b/P3D/Pokemon/Attacks/Normal/Bide.vb @@ -141,6 +141,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Normal/EchoedVoice.vb b/P3D/Pokemon/Attacks/Normal/EchoedVoice.vb index 2c3413db7..f7e2732e3 100644 --- a/P3D/Pokemon/Attacks/Normal/EchoedVoice.vb +++ b/P3D/Pokemon/Attacks/Normal/EchoedVoice.vb @@ -129,6 +129,10 @@ ResetCounter(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + ResetCounter(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) ResetCounter(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Normal/RazorWind.vb b/P3D/Pokemon/Attacks/Normal/RazorWind.vb index e6c3cadcd..34510a823 100644 --- a/P3D/Pokemon/Attacks/Normal/RazorWind.vb +++ b/P3D/Pokemon/Attacks/Normal/RazorWind.vb @@ -173,6 +173,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Normal/SkullBash.vb b/P3D/Pokemon/Attacks/Normal/SkullBash.vb index 6a8943270..7c5775506 100644 --- a/P3D/Pokemon/Attacks/Normal/SkullBash.vb +++ b/P3D/Pokemon/Attacks/Normal/SkullBash.vb @@ -175,6 +175,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Normal/Thrash.vb b/P3D/Pokemon/Attacks/Normal/Thrash.vb index 171ae24d4..95f751aaf 100644 --- a/P3D/Pokemon/Attacks/Normal/Thrash.vb +++ b/P3D/Pokemon/Attacks/Normal/Thrash.vb @@ -129,6 +129,10 @@ Interruption(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) Interruption(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Normal/Uproar.vb b/P3D/Pokemon/Attacks/Normal/Uproar.vb index 245f0803a..94c94b304 100644 --- a/P3D/Pokemon/Attacks/Normal/Uproar.vb +++ b/P3D/Pokemon/Attacks/Normal/Uproar.vb @@ -118,6 +118,10 @@ Interruption(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) Interruption(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Rock/Rollout.vb b/P3D/Pokemon/Attacks/Rock/Rollout.vb index 942ba5a2f..4d5239a98 100644 --- a/P3D/Pokemon/Attacks/Rock/Rollout.vb +++ b/P3D/Pokemon/Attacks/Rock/Rollout.vb @@ -146,6 +146,10 @@ Namespace BattleSystem.Moves.Rock Interruption(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) Interruption(own, BattleScreen) End Sub diff --git a/P3D/Pokemon/Attacks/Water/Dive.vb b/P3D/Pokemon/Attacks/Water/Dive.vb index 13c4553a4..41ff0151e 100644 --- a/P3D/Pokemon/Attacks/Water/Dive.vb +++ b/P3D/Pokemon/Attacks/Water/Dive.vb @@ -177,6 +177,10 @@ MoveFails(own, BattleScreen) End Sub + Public Overrides Sub IsParalyzed(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) MoveFails(own, BattleScreen) End Sub