diff --git a/P3D/Battle/BattleSystemV2/Battle.vb b/P3D/Battle/BattleSystemV2/Battle.vb index 6831b5c8d..eedbb8622 100644 --- a/P3D/Battle/BattleSystemV2/Battle.vb +++ b/P3D/Battle/BattleSystemV2/Battle.vb @@ -7223,6 +7223,7 @@ .OwnStockpileCount = 0 .OwnDestinyBond = False .OwnGastroAcid = False + .OwnTarShot = False .OwnForesight = 0 .OwnOdorSleuth = 0 @@ -7620,6 +7621,7 @@ .OppStockpileCount = 0 .OppDestinyBond = False .OppGastroAcid = False + .OppTarShot = False .OppFlyCounter = 0 .OppDigCounter = 0 diff --git a/P3D/Battle/BattleSystemV2/BattleCalculation.vb b/P3D/Battle/BattleSystemV2/BattleCalculation.vb index f5666b9ad..ad17e9184 100644 --- a/P3D/Battle/BattleSystemV2/BattleCalculation.vb +++ b/P3D/Battle/BattleSystemV2/BattleCalculation.vb @@ -955,6 +955,20 @@ End If End If + With BattleScreen.FieldEffects + If move.GetAttackType(own, BattleScreen).Type = Element.Types.Fire Then + If own = True Then + If .OppTarShot = True Then + effectiveness *= 2 + End If + Else + If .OwnTarShot = True Then + effectiveness *= 2 + End If + End If + End If + End With + If move.UseEffectiveness = False And effectiveness <> 0.0F Then Return 1.0F End If diff --git a/P3D/Battle/BattleSystemV2/FieldEffects.vb b/P3D/Battle/BattleSystemV2/FieldEffects.vb index df96956be..e6c288479 100644 --- a/P3D/Battle/BattleSystemV2/FieldEffects.vb +++ b/P3D/Battle/BattleSystemV2/FieldEffects.vb @@ -107,6 +107,7 @@ Public OwnDestinyBond As Boolean = False 'If own Pokémon used destiny bond, this is true. If the opponent knocks the own Pokémon out, it will faint as well. Public OwnHealingWish As Boolean = False 'True, if healing wish got used. Heals the next switched in Pokémon. Public OwnGastroAcid As Boolean = False 'If own Pokémon is affected by Gastro Acid + Public OwnTarShot As Boolean = False 'If own Pokémon is affected by Tar Shot Public OwnLastMove As Attack = Nothing 'Last move used Public OwnSpikes As Integer = 0 'Trap move counter @@ -228,6 +229,7 @@ Public OppDestinyBond As Boolean = False Public OppHealingWish As Boolean = False Public OppGastroAcid As Boolean = False + Public OppTarShot As Boolean = False 'If opponent Pokémon is affected by Tar Shot Public OppFlyCounter As Integer = 0 Public OppDigCounter As Integer = 0 diff --git a/P3D/Pokemon/Attacks/Rock/TarShot.vb b/P3D/Pokemon/Attacks/Rock/TarShot.vb index 9fb1866e4..b5dea4401 100644 --- a/P3D/Pokemon/Attacks/Rock/TarShot.vb +++ b/P3D/Pokemon/Attacks/Rock/TarShot.vb @@ -57,10 +57,21 @@ Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) If Core.Random.Next(0, 100) < GetEffectChance(0, own, BattleScreen) Then BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Speed", 1, "", "move:tarshot") + + With BattleScreen.FieldEffects + If own = True Then + If .OppTarShot = False Then + .OppTarShot = True + End If + Else + If .OwnTarShot = False Then + .OwnTarShot = True + End If + End If + End With End If End Sub - End Class End Namespace \ No newline at end of file