From f3777e3130b9ed6036c57437149873b8b36318c7 Mon Sep 17 00:00:00 2001 From: JappaWakka Date: Mon, 4 Dec 2023 09:22:09 +0100 Subject: [PATCH] Implement Strange Steam attack --- P3D/P3D.vbproj | 1 + P3D/Pokemon/Attacks/Attack.vb | 4 +- P3D/Pokemon/Attacks/Fairy/StrangeSteam.vb | 76 +++++++++++++++++++++++ 3 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 P3D/Pokemon/Attacks/Fairy/StrangeSteam.vb diff --git a/P3D/P3D.vbproj b/P3D/P3D.vbproj index f59d31e60..9c92adc9b 100644 --- a/P3D/P3D.vbproj +++ b/P3D/P3D.vbproj @@ -28784,6 +28784,7 @@ + diff --git a/P3D/Pokemon/Attacks/Attack.vb b/P3D/Pokemon/Attacks/Attack.vb index 22319fad0..8aae6332c 100644 --- a/P3D/Pokemon/Attacks/Attack.vb +++ b/P3D/Pokemon/Attacks/Attack.vb @@ -1861,8 +1861,8 @@ 'returnMove = New Moves.Grass.GravApple() 'Case 789 'returnMove = New Moves.Fairy.SpiritBreak() - 'Case 790 - 'returnMove = New Moves.Fairy.StrangeSteam() + Case 790 + returnMove = New Moves.Fairy.StrangeSteam() 'Case 791 'returnMove = New Moves.Water.LifeDew() 'Case 792 diff --git a/P3D/Pokemon/Attacks/Fairy/StrangeSteam.vb b/P3D/Pokemon/Attacks/Fairy/StrangeSteam.vb new file mode 100644 index 000000000..ebe23f904 --- /dev/null +++ b/P3D/Pokemon/Attacks/Fairy/StrangeSteam.vb @@ -0,0 +1,76 @@ +Namespace BattleSystem.Moves.Fairy + + Public Class StrangeSteam + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Fairy) + Me.ID = 790 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 90 + Me.Accuracy = 95 + Me.Category = Categories.Special + Me.ContestCategory = ContestCategories.Smart + Me.Name = Localization.GetString("move_name_" & Me.ID, "Strange Steam") + Me.Description = "The user attacks the target by emitting steam. This may also confuse the target." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#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 = True + + Me.IsHealingMove = False + Me.IsRecoilMove = False + + Me.IsDamagingMove = True + Me.IsProtectMove = False + + + Me.IsAffectedBySubstitute = True + Me.IsOneHitKOMove = False + Me.IsWonderGuardAffected = True + '#End + + Me.AIField1 = AIField.Damage + Me.AIField2 = AIField.CanConfuse + + EffectChances.Add(20) + End Sub + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + Dim p As Pokemon = BattleScreen.OwnPokemon + Dim op As Pokemon = BattleScreen.OppPokemon + If own = False Then + p = BattleScreen.OppPokemon + op = BattleScreen.OwnPokemon + End If + + Dim chance As Integer = GetEffectChance(0, own, BattleScreen) + If Core.Random.Next(0, 100) < chance Then + BattleScreen.Battle.InflictConfusion(Not own, own, BattleScreen, "", "move:strangesteam") + End If + End Sub + + End Class + +End Namespace \ No newline at end of file