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