From d1acef965733e24dc0bf4ff83bf43dd9b3147198 Mon Sep 17 00:00:00 2001 From: JappaWakka Date: Mon, 14 Jul 2025 18:41:50 +0200 Subject: [PATCH] Added Hyper Drill & Twin Beam, fixed Rage Fist ID --- P3D/P3D.vbproj | 2 + P3D/Pokemon/Attacks/Attack.vb | 12 +++-- P3D/Pokemon/Attacks/Ghost/RageFist.vb | 2 +- P3D/Pokemon/Attacks/Normal/Hyper Drill.vb | 56 ++++++++++++++++++++++ P3D/Pokemon/Attacks/Psychic/TwinBeam.vb | 57 +++++++++++++++++++++++ 5 files changed, 124 insertions(+), 5 deletions(-) create mode 100644 P3D/Pokemon/Attacks/Normal/Hyper Drill.vb create mode 100644 P3D/Pokemon/Attacks/Psychic/TwinBeam.vb diff --git a/P3D/P3D.vbproj b/P3D/P3D.vbproj index cd850badd..da7210297 100644 --- a/P3D/P3D.vbproj +++ b/P3D/P3D.vbproj @@ -28886,6 +28886,7 @@ + @@ -28903,6 +28904,7 @@ + diff --git a/P3D/Pokemon/Attacks/Attack.vb b/P3D/Pokemon/Attacks/Attack.vb index 210a80c83..dc567e789 100644 --- a/P3D/Pokemon/Attacks/Attack.vb +++ b/P3D/Pokemon/Attacks/Attack.vb @@ -1879,12 +1879,16 @@ 'returnMove = New Moves.Dragon.Eternabeam() Case 796 returnMove = New Moves.Steel.SteelBeam() - Case 797 - returnMove = New Moves.Ghost.RageFist() - 'Case 798 + 'Case 797 'Blank Case 828 - returnMove = New Moves.Psychic.PsyshieldBash + returnMove = New Moves.Psychic.PsyshieldBash() + Case 887 + returnMove = New Moves.Normal.HyperDrill() + Case 888 + returnMove = New Moves.Psychic.TwinBeam() + Case 889 + returnMove = New Moves.Ghost.RageFist() Case 999 If GameController.IS_DEBUG_ACTIVE = True Or Core.Player.SandBoxMode = True Then returnMove = New Moves.Special.TheDerpMove() diff --git a/P3D/Pokemon/Attacks/Ghost/RageFist.vb b/P3D/Pokemon/Attacks/Ghost/RageFist.vb index 7ac8070df..997650e78 100644 --- a/P3D/Pokemon/Attacks/Ghost/RageFist.vb +++ b/P3D/Pokemon/Attacks/Ghost/RageFist.vb @@ -7,7 +7,7 @@ Namespace BattleSystem.Moves.Ghost Public Sub New() '#Definitions Me.Type = New Element(Element.Types.Ghost) - Me.ID = 797 + Me.ID = 889 Me.OriginalPP = 10 Me.CurrentPP = 10 Me.MaxPP = 10 diff --git a/P3D/Pokemon/Attacks/Normal/Hyper Drill.vb b/P3D/Pokemon/Attacks/Normal/Hyper Drill.vb new file mode 100644 index 000000000..cdf23e86f --- /dev/null +++ b/P3D/Pokemon/Attacks/Normal/Hyper Drill.vb @@ -0,0 +1,56 @@ +Namespace BattleSystem.Moves.Normal + + Public Class HyperDrill + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Normal) + Me.ID = 887 + Me.OriginalPP = 5 + Me.CurrentPP = 5 + Me.MaxPP = 5 + Me.Power = 100 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Tough + Me.Name = Localization.GetString("move_name_" & Me.ID, "Hyper Drill") + Me.Description = "The user spins the pointed part of its body at high speed to pierce the target. This attack can hit a target using a move such as Protect or Detect." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + Me.ProtectAffected = False + Me.MagicCoatAffected = False + Me.SnatchAffected = False + Me.MirrorMoveAffected = True + Me.KingsrockAffected = True + Me.CounterAffected = True + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = True + Me.ImmunityAffected = True + Me.HasSecondaryEffect = False + Me.RemovesOwnFrozen = False + + Me.IsHealingMove = False + Me.IsRecoilMove = False + + Me.IsDamagingMove = True + Me.IsProtectMove = False + + Me.IsAffectedBySubstitute = True + Me.IsOneHitKOMove = False + Me.IsWonderGuardAffected = True + '#End + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Psychic/TwinBeam.vb b/P3D/Pokemon/Attacks/Psychic/TwinBeam.vb new file mode 100644 index 000000000..8e2e3ca9c --- /dev/null +++ b/P3D/Pokemon/Attacks/Psychic/TwinBeam.vb @@ -0,0 +1,57 @@ +Namespace BattleSystem.Moves.Psychic + + Public Class TwinBeam + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Psychic) + Me.ID = 888 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 40 + Me.Accuracy = 100 + Me.Category = Categories.Special + Me.ContestCategory = ContestCategories.Beauty + Me.Name = Localization.GetString("move_name_" & Me.ID, "Twin Beam") + Me.Description = "The user shoots mystical beams from its eyes to inflict damage. The target is hit twice in a row." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 2 + '#End + + '#SpecialDefinitions + Me.MakesContact = False + Me.ProtectAffected = True + Me.MagicCoatAffected = False + Me.SnatchAffected = False + Me.MirrorMoveAffected = True + Me.KingsrockAffected = True + Me.CounterAffected = False + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = True + Me.ImmunityAffected = True + Me.RemovesOwnFrozen = False + Me.HasSecondaryEffect = False + + Me.IsHealingMove = False + Me.IsRecoilMove = False + + Me.IsDamagingMove = True + Me.IsProtectMove = False + + + Me.IsAffectedBySubstitute = True + Me.IsOneHitKOMove = False + Me.IsWonderGuardAffected = True + '#End + End Sub + + End Class + +End Namespace \ No newline at end of file