Implemented Stomping Tantrum & Fixed some tokens

This commit is contained in:
JappaWakka 2025-08-22 10:09:30 +02:00
parent bfd16300d0
commit 9cb12a4130
12 changed files with 209 additions and 12 deletions

View File

@ -1642,6 +1642,12 @@
Dim damage As Integer = BattleCalculation.CalculateDamage(a, False, True, True, BattleScreen) Dim damage As Integer = BattleCalculation.CalculateDamage(a, False, True, True, BattleScreen)
ReduceHP(damage, own, own, BattleScreen, p.GetDisplayName() & " hurt itself in confusion.", "confusiondamage") ReduceHP(damage, own, own, BattleScreen, p.GetDisplayName() & " hurt itself in confusion.", "confusiondamage")
moveUsed.HurtItselfInConfusion(own, BattleScreen) moveUsed.HurtItselfInConfusion(own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = True
Else
BattleScreen.FieldEffects.OppLastMoveFailed = True
End If
Exit Sub Exit Sub
End If End If
End If End If
@ -1651,6 +1657,13 @@
p.RemoveVolatileStatus(Pokemon.VolatileStatus.Flinch) p.RemoveVolatileStatus(Pokemon.VolatileStatus.Flinch)
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " flinched and couldn't move!")) BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " flinched and couldn't move!"))
moveUsed.InflictedFlinch(own, BattleScreen) moveUsed.InflictedFlinch(own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = True
Else
BattleScreen.FieldEffects.OppLastMoveFailed = True
End If
If p.Ability.Name.ToLower() = "steadfast" Then If p.Ability.Name.ToLower() = "steadfast" Then
RaiseStat(own, Not own, BattleScreen, "Speed", 1, "", "steadfast") RaiseStat(own, Not own, BattleScreen, "Speed", 1, "", "steadfast")
End If End If
@ -1678,8 +1691,13 @@
If fly > 0 Then If fly > 0 Then
moveUsed.MoveMisses(own, BattleScreen) moveUsed.MoveMisses(own, BattleScreen)
End If
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = True
Else
BattleScreen.FieldEffects.OppLastMoveFailed = True
End If
End If
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s move was prevented due to Gravity!")) BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s move was prevented due to Gravity!"))
Exit Sub Exit Sub
End If End If
@ -1703,6 +1721,12 @@
End If End If
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is in love with " & op.GetDisplayName() & "!")) BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is in love with " & op.GetDisplayName() & "!"))
moveUsed.IsAttracted(own, BattleScreen) moveUsed.IsAttracted(own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = True
Else
BattleScreen.FieldEffects.OppLastMoveFailed = True
End If
Exit Sub Exit Sub
End If End If
End If End If
@ -1743,6 +1767,12 @@
End If End If
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is fully paralyzed!" & Environment.NewLine & "It cannot move!")) BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is fully paralyzed!" & Environment.NewLine & "It cannot move!"))
moveUsed.IsParalyzed(own, BattleScreen) moveUsed.IsParalyzed(own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = True
Else
BattleScreen.FieldEffects.OppLastMoveFailed = True
End If
Exit Sub Exit Sub
End If End If
End If End If
@ -1827,6 +1857,12 @@
Else Else
BattleScreen.BattleQuery.Add(New TextQueryObject("But it failed...")) BattleScreen.BattleQuery.Add(New TextQueryObject("But it failed..."))
moveUsed.MoveMisses(own, BattleScreen) moveUsed.MoveMisses(own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = True
Else
BattleScreen.FieldEffects.OppLastMoveFailed = True
End If
Exit Sub Exit Sub
End If End If
End If End If
@ -2300,6 +2336,12 @@
If Damage = 0 AndAlso moveUsed.ID = 117 Then If Damage = 0 AndAlso moveUsed.ID = 117 Then
BattleScreen.BattleQuery.Add(New TextQueryObject("But it failed...")) BattleScreen.BattleQuery.Add(New TextQueryObject("But it failed..."))
moveUsed.MoveMisses(own, BattleScreen) moveUsed.MoveMisses(own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = True
Else
BattleScreen.FieldEffects.OppLastMoveFailed = True
End If
effectiveness = 0 effectiveness = 0
Exit For Exit For
End If End If
@ -2503,6 +2545,13 @@
If canUseEffect AndAlso multiUseEffect OrElse (multiUseEffect = False AndAlso i = TimesToAttack) Then If canUseEffect AndAlso multiUseEffect OrElse (multiUseEffect = False AndAlso i = TimesToAttack) Then
If substitute = 0 OrElse moveUsed.IsAffectedBySubstitute = False Then If substitute = 0 OrElse moveUsed.IsAffectedBySubstitute = False Then
moveUsed.MoveHits(own, BattleScreen) moveUsed.MoveHits(own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = False
Else
BattleScreen.FieldEffects.OppLastMoveFailed = False
End If
If op.Status = Pokemon.StatusProblems.Freeze Then If op.Status = Pokemon.StatusProblems.Freeze Then
If moveUsed.RemovesOppFrozen = True Then If moveUsed.RemovesOppFrozen = True Then
CureStatusProblem(Not own, own, BattleScreen, op.GetDisplayName() & " got defrosted by " & moveUsed.Name & ".", "defrostmove") CureStatusProblem(Not own, own, BattleScreen, op.GetDisplayName() & " got defrosted by " & moveUsed.Name & ".", "defrostmove")
@ -2537,6 +2586,12 @@
End If End If
Else Else
moveUsed.MoveHasNoEffect(own, BattleScreen) moveUsed.MoveHasNoEffect(own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = True
Else
BattleScreen.FieldEffects.OppLastMoveFailed = True
End If
End If End If
'ABILITY SHIT GOES HERE: 'ABILITY SHIT GOES HERE:
@ -2891,6 +2946,12 @@
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " snatched " & p.GetDisplayName() & "'s move!")) BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " snatched " & p.GetDisplayName() & "'s move!"))
moveUsed.MoveHits(Not own, BattleScreen) moveUsed.MoveHits(Not own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = False
Else
BattleScreen.FieldEffects.OppLastMoveFailed = False
End If
Else Else
Dim magicReflect As String = "" Dim magicReflect As String = ""
If moveUsed.MagicCoatAffected = True Then If moveUsed.MagicCoatAffected = True Then
@ -2929,6 +2990,12 @@
Else Else
If oppSubstitute = 0 Or moveUsed.IsAffectedBySubstitute = False Then If oppSubstitute = 0 Or moveUsed.IsAffectedBySubstitute = False Then
moveUsed.MoveHits(Not own, BattleScreen) moveUsed.MoveHits(Not own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = False
Else
BattleScreen.FieldEffects.OppLastMoveFailed = False
End If
Else Else
BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute absorbed the move!")) BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute absorbed the move!"))
End If End If
@ -2944,9 +3011,21 @@
If effectiveness = 0.0F Then If effectiveness = 0.0F Then
BattleScreen.BattleQuery.Add(New TextQueryObject("It has no effect...")) BattleScreen.BattleQuery.Add(New TextQueryObject("It has no effect..."))
moveUsed.MoveHasNoEffect(own, BattleScreen) moveUsed.MoveHasNoEffect(own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = True
Else
BattleScreen.FieldEffects.OppLastMoveFailed = True
End If
Else Else
If substitute = 0 Or moveUsed.IsAffectedBySubstitute = False Then If substitute = 0 Or moveUsed.IsAffectedBySubstitute = False Then
moveUsed.MoveHits(own, BattleScreen) moveUsed.MoveHits(own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = False
Else
BattleScreen.FieldEffects.OppLastMoveFailed = False
End If
Else Else
BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute absorbed the move!")) BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute absorbed the move!"))
End If End If
@ -2962,6 +3041,12 @@
BattleScreen.BattleQuery.Add(New TextQueryObject("But it missed...")) BattleScreen.BattleQuery.Add(New TextQueryObject("But it missed..."))
End If End If
moveUsed.MoveMisses(own, BattleScreen) moveUsed.MoveMisses(own, BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnLastMoveFailed = True
Else
BattleScreen.FieldEffects.OppLastMoveFailed = True
End If
End If End If
''Own Pokémon Encore ''Own Pokémon Encore
Dim attackIndex As Integer = -1 Dim attackIndex As Integer = -1

View File

@ -112,6 +112,7 @@
Public OwnTarShot As Boolean = False 'If own Pokémon is affected by Tar Shot Public OwnTarShot As Boolean = False 'If own Pokémon is affected by Tar Shot
Public OwnLastMove As Attack = Nothing 'Last move used Public OwnLastMove As Attack = Nothing 'Last move used
Public OwnLastMoveFailed As Boolean = False 'keeping track of this for Stomping Tantrum
Public OwnSpikes As Integer = 0 'Trap move counter Public OwnSpikes As Integer = 0 'Trap move counter
Public OwnStealthRock As Integer = 0 'Trap move counter Public OwnStealthRock As Integer = 0 'Trap move counter
Public OwnStickyWeb As Integer = 0 'Trap move counter Public OwnStickyWeb As Integer = 0 'Trap move counter
@ -141,6 +142,7 @@
Public OppGuardSpec As Integer = 0 Public OppGuardSpec As Integer = 0
Public OppTurnCounts As Integer = 0 Public OppTurnCounts As Integer = 0
Public OppLastMove As Attack = Nothing Public OppLastMove As Attack = Nothing
Public OppLastMoveFailed As Boolean = False
Public OppLightScreen As Integer = 0 Public OppLightScreen As Integer = 0
Public OppReflect As Integer = 0 Public OppReflect As Integer = 0
Public OppTailWind As Integer = 0 Public OppTailWind As Integer = 0

View File

@ -3111,6 +3111,7 @@ move_name_692,Drachenhammer
move_name_693,Wirbler move_name_693,Wirbler
move_name_705,Kanonenbouquet move_name_705,Kanonenbouquet
move_name_706,Psychobeißer move_name_706,Psychobeißer
move_name_707,Fruststampfer
move_name_708,Schattenknochen move_name_708,Schattenknochen
move_name_709,Turbofelsen move_name_709,Turbofelsen
move_name_710,Aquadurchstoß move_name_710,Aquadurchstoß
@ -3121,7 +3122,10 @@ move_name_717,Naturzorn
move_name_749,Teerschuss move_name_749,Teerschuss
move_name_790,Wunderdampf move_name_790,Wunderdampf
move_name_796,Stahlstrahl move_name_796,Stahlstrahl
move_name_797,Zornesfaust move_name_828,Barrierenstoß
move_name_887,Hyperbohrer
move_name_888,Doppelstrahl
move_name_889,Zornesfaust
----------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------
Story translation: Story translation:
--- ---

View File

@ -3200,6 +3200,7 @@ move_name_692,Dragon Hammer
move_name_693,Brutal Swing move_name_693,Brutal Swing
move_name_705,Fleur Cannon move_name_705,Fleur Cannon
move_name_706,Psychic Fangs move_name_706,Psychic Fangs
move_name_707,Stomping Tantrum
move_name_708,Shadow Bone move_name_708,Shadow Bone
move_name_709,Accelerock move_name_709,Accelerock
move_name_710,Liquidation move_name_710,Liquidation
@ -3210,8 +3211,10 @@ move_name_717,Natures Madness
move_name_749,Tar Shot move_name_749,Tar Shot
move_name_790,Strange Steam move_name_790,Strange Steam
move_name_796,Steel Beam move_name_796,Steel Beam
move_name_797,Rage Fist move_name_828,Psyshield Bash
move_name_798,Psyshield Bash move_name_887,Hyper Drill
move_name_888,Twin Beam
move_name_889,Rage Fist
------ ------
Move Descriptions: Move Descriptions:
move_desc_1,The target is physically pounded with a long tail or a foreleg, etc. move_desc_1,The target is physically pounded with a long tail or a foreleg, etc.

View File

@ -3113,6 +3113,7 @@ move_name_692,Martillo Dragón
move_name_693,Giro Vil move_name_693,Giro Vil
move_name_705,Cañón Floral move_name_705,Cañón Floral
move_name_706,Psicocolmillo move_name_706,Psicocolmillo
move_name_707,Pataleta
move_name_708,Hueso Sombrío move_name_708,Hueso Sombrío
move_name_709,Roca Veloz move_name_709,Roca Veloz
move_name_710,Hidroariete move_name_710,Hidroariete
@ -3123,7 +3124,10 @@ move_name_717,Furia Natural
move_name_749,Alquitranazo move_name_749,Alquitranazo
move_name_790,Cautivapor move_name_790,Cautivapor
move_name_796,Metaláser move_name_796,Metaláser
move_name_797,Puño Furia move_name_828,Asalto Barrera
move_name_887,Hipertaladro
move_name_888,Láser Doble
move_name_889,Puño Furia
----------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------
Story translation: Story translation:
--- ---

View File

@ -3111,7 +3111,8 @@ move_name_692,Draco-Marteau
move_name_693,Centrifugifle move_name_693,Centrifugifle
move_name_705,Canon Floral move_name_705,Canon Floral
move_name_706,Psycho-Croc move_name_706,Psycho-Croc
move_name_708,Shadow Bone move_name_707,Trépignement
move_name_708,Os'Ombre
move_name_709,Vif Roc move_name_709,Vif Roc
move_name_710,Aqua-Brèche move_name_710,Aqua-Brèche
move_name_711,Laser Prisme move_name_711,Laser Prisme
@ -3121,7 +3122,10 @@ move_name_717,Natures Madness
move_name_749,Goudronnage move_name_749,Goudronnage
move_name_790,Vapeur Féérique move_name_790,Vapeur Féérique
move_name_796,Métalaser move_name_796,Métalaser
move_name_797,Poing de Colère move_name_828,Sprint Bouclier
move_name_887,Hyperceuse
move_name_888,Double Laser
move_name_889,Poing de Colère
----------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------
Story translation: Story translation:
--- ---

View File

@ -3492,6 +3492,7 @@ move_name_692,Dragon Hammer
move_name_693,Brutal Swing move_name_693,Brutal Swing
move_name_705,Fleur Cannon move_name_705,Fleur Cannon
move_name_706,Psychic Fangs move_name_706,Psychic Fangs
move_name_707,Stomping Tantrum
move_name_708,Shadow Bone move_name_708,Shadow Bone
move_name_709,Accelerock move_name_709,Accelerock
move_name_710,Liquidation move_name_710,Liquidation
@ -3502,7 +3503,10 @@ move_name_717,Natures Madness
move_name_749,Tar Shot move_name_749,Tar Shot
move_name_790,Vreemde stoom move_name_790,Vreemde stoom
move_name_796,Steel Beam move_name_796,Steel Beam
move_name_797,Woedevuist move_name_828,Psyshield Bash
move_name_887,Hyper Drill
move_name_888,Twin Beam
move_name_889,Woedevuist
------ ------
Move Descriptions: Move Descriptions:
move_desc_1,Het doelwit wordt fysiek geraakt met een lange staart of een voorpoot, enz. move_desc_1,Het doelwit wordt fysiek geraakt met een lange staart of een voorpoot, enz.

View File

@ -3112,6 +3112,7 @@ move_name_692,Dragon Hammer
move_name_693,Brutal Swing move_name_693,Brutal Swing
move_name_705,Fleur Cannon move_name_705,Fleur Cannon
move_name_706,Psychic Fangs move_name_706,Psychic Fangs
move_name_707,Stomping Tantrum
move_name_708,Shadow Bone move_name_708,Shadow Bone
move_name_709,Accelerock move_name_709,Accelerock
move_name_710,Liquidation move_name_710,Liquidation
@ -3122,7 +3123,11 @@ move_name_717,Natures Madness
move_name_749,Tar Shot move_name_749,Tar Shot
move_name_790,Strange Steam move_name_790,Strange Steam
move_name_796,Steel Beam move_name_796,Steel Beam
move_name_797,Rage Fist move_name_828,Psyshield Bash
move_name_887,Hyper Drill
move_name_888,Twin Beam
move_name_889,Rage Fist
----------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------
Story translation: Story translation:
--- ---

View File

@ -3196,6 +3196,7 @@ move_name_692,Dragon Hammer
move_name_693,Brutal Swing move_name_693,Brutal Swing
move_name_705,Fleur Cannon move_name_705,Fleur Cannon
move_name_706,Psychic Fangs move_name_706,Psychic Fangs
move_name_707,Stomping Tantrum
move_name_708,Shadow Bone move_name_708,Shadow Bone
move_name_709,Accelerock move_name_709,Accelerock
move_name_710,Liquidation move_name_710,Liquidation
@ -3206,7 +3207,10 @@ move_name_717,Natures Madness
move_name_749,Tar Shot move_name_749,Tar Shot
move_name_790,Strange Steam move_name_790,Strange Steam
move_name_796,Steel Beam move_name_796,Steel Beam
move_name_797,Rage Fist move_name_828,Psyshield Bash
move_name_887,Hyper Drill
move_name_888,Twin Beam
move_name_889,Rage Fist
----------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------
Story translation: Story translation:
--- ---

View File

@ -28893,6 +28893,7 @@
<Compile Include="Pokemon\Attacks\Grass\SolarBlade.vb" /> <Compile Include="Pokemon\Attacks\Grass\SolarBlade.vb" />
<Compile Include="Pokemon\Attacks\Grass\Strength Sap.vb" /> <Compile Include="Pokemon\Attacks\Grass\Strength Sap.vb" />
<Compile Include="Pokemon\Attacks\Grass\WorrySeed.vb" /> <Compile Include="Pokemon\Attacks\Grass\WorrySeed.vb" />
<Compile Include="Pokemon\Attacks\Ground\StompingTangtrum.vb" />
<Compile Include="Pokemon\Attacks\Ground\HighHorsepower.vb" /> <Compile Include="Pokemon\Attacks\Ground\HighHorsepower.vb" />
<Compile Include="Pokemon\Attacks\Ground\ShoreUp.vb" /> <Compile Include="Pokemon\Attacks\Ground\ShoreUp.vb" />
<Compile Include="Pokemon\Attacks\Ground\PrecipiceBlades.vb" /> <Compile Include="Pokemon\Attacks\Ground\PrecipiceBlades.vb" />

View File

@ -1693,8 +1693,8 @@
returnMove = New Moves.Fairy.FleurCannon() returnMove = New Moves.Fairy.FleurCannon()
Case 706 Case 706
returnMove = New Moves.Psychic.PsychicFangs() returnMove = New Moves.Psychic.PsychicFangs()
'Case 707 Case 707
'Stomping Tantrum returnMove = New Moves.Ground.StompingTantrum()
Case 708 Case 708
returnMove = New Moves.Ghost.ShadowBone() returnMove = New Moves.Ghost.ShadowBone()
Case 709 Case 709

View File

@ -0,0 +1,81 @@
Namespace BattleSystem.Moves.Ground
Public Class StompingTantrum
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Ground)
Me.ID = 707
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 75
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough
Me.Name = Localization.GetString("move_name_" & Me.ID, "Stomping Tantrum")
Me.Description = "Driven by frustration, the user attacks the target. If the user's previous move has failed, the power of this move doubles."
Me.CriticalChance = 1
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = True
Me.ProtectAffected = True
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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.Nothing
End Sub
Public Overrides Function GetBasePower(own As Boolean, BattleScreen As BattleScreen) As Integer
Dim p As Pokemon = BattleScreen.OwnPokemon
Dim op As Pokemon = BattleScreen.OppPokemon
Dim lastMoveFailed As Boolean = BattleScreen.FieldEffects.OwnLastMoveFailed
If own = False Then
p = BattleScreen.OppPokemon
op = BattleScreen.OwnPokemon
lastMoveFailed = BattleScreen.FieldEffects.OppLastMoveFailed
End If
Dim basePower As Integer = Me.Power
If lastMoveFailed = True Then
basePower *= 2
End If
Return basePower
End Function
End Class
End Namespace