From 9cda9cbaf0b7785faf882850a66ff008a80fdf0a Mon Sep 17 00:00:00 2001 From: Capt_Segis Date: Wed, 14 Sep 2016 20:34:54 -0500 Subject: [PATCH] Fixed sec. effect values (rock) --- .../Pokemon/Attacks/Rock/HeadSmash.vb | 146 +++++----- .../2.5DHero/Pokemon/Attacks/Rock/Rollout.vb | 252 +++++++++--------- 2 files changed, 199 insertions(+), 199 deletions(-) diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Rock/HeadSmash.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Rock/HeadSmash.vb index f928acbc9..f0316febd 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Rock/HeadSmash.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Rock/HeadSmash.vb @@ -1,73 +1,73 @@ -Namespace BattleSystem.Moves.Rock - - Public Class HeadSmash - - Inherits Attack - - Public Sub New() - '#Definitions - Me.Type = New Element(Element.Types.Rock) - Me.ID = 457 - Me.OriginalPP = 5 - Me.CurrentPP = 5 - Me.MaxPP = 5 - Me.Power = 150 - Me.Accuracy = 80 - Me.Category = Categories.Physical - Me.ContestCategory = ContestCategories.Tough - Me.Name = "Head Smash" - Me.Description = "The user attacks the target with a hazardous, full-power headbutt. This also damages the user terribly." - 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.RemovesFrozen = False - - Me.IsHealingMove = False - Me.IsRecoilMove = True - Me.IsPunchingMove = False - Me.IsDamagingMove = True - Me.IsProtectMove = False - Me.IsSoundMove = False - - Me.IsAffectedBySubstitute = True - Me.IsOneHitKOMove = False - Me.IsWonderGuardAffected = True - '#End - - Me.AIField1 = AIField.Damage - Me.AIField2 = AIField.Recoil - End Sub - - Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) - Dim lastDamage As Integer = BattleScreen.FieldEffects.OwnLastDamage - If own = False Then - lastDamage = BattleScreen.FieldEffects.OppLastDamage - End If - Dim recoilDamage As Integer = CInt(Math.Floor(lastDamage / 2)) - If recoilDamage <= 0 Then - recoilDamage = 1 - End If - - BattleScreen.Battle.InflictRecoil(own, own, BattleScreen, Me, recoilDamage, "", "move:headsmash") - End Sub - - End Class - -End Namespace +Namespace BattleSystem.Moves.Rock + + Public Class HeadSmash + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Rock) + Me.ID = 457 + Me.OriginalPP = 5 + Me.CurrentPP = 5 + Me.MaxPP = 5 + Me.Power = 150 + Me.Accuracy = 80 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Tough + Me.Name = "Head Smash" + Me.Description = "The user attacks the target with a hazardous, full-power headbutt. This also damages the user terribly." + 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.RemovesFrozen = False + + Me.IsHealingMove = False + Me.IsRecoilMove = True + Me.IsPunchingMove = False + Me.IsDamagingMove = True + Me.IsProtectMove = False + Me.IsSoundMove = False + + Me.IsAffectedBySubstitute = True + Me.IsOneHitKOMove = False + Me.IsWonderGuardAffected = True + '#End + + Me.AIField1 = AIField.Damage + Me.AIField2 = AIField.Recoil + End Sub + + Public Overrides Sub MoveRecoil(own As Boolean, BattleScreen As BattleScreen) + Dim lastDamage As Integer = BattleScreen.FieldEffects.OwnLastDamage + If own = False Then + lastDamage = BattleScreen.FieldEffects.OppLastDamage + End If + Dim recoilDamage As Integer = CInt(Math.Floor(lastDamage / 2)) + If recoilDamage <= 0 Then + recoilDamage = 1 + End If + + BattleScreen.Battle.InflictRecoil(own, own, BattleScreen, Me, recoilDamage, "", "move:headsmash") + End Sub + + End Class + +End Namespace diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Rock/Rollout.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Rock/Rollout.vb index b1427be7c..27bd50f41 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Rock/Rollout.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Rock/Rollout.vb @@ -1,127 +1,127 @@ -Namespace BattleSystem.Moves.Rock - - Public Class Rollout - - Inherits Attack - - Public Sub New() - '#Definitions - Me.Type = New Element(Element.Types.Rock) - Me.ID = 205 - Me.OriginalPP = 20 - Me.CurrentPP = 20 - Me.MaxPP = 20 - Me.Power = 30 - Me.Accuracy = 90 - Me.Category = Categories.Physical - Me.ContestCategory = ContestCategories.Tough - Me.Name = "Rollout" - Me.Description = "The user continually rolls into the target over five turns. It becomes stronger each time it hits." - 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 = True - Me.RemovesFrozen = False - - Me.IsHealingMove = False - Me.IsRecoilMove = False - Me.IsPunchingMove = False - Me.IsDamagingMove = True - Me.IsProtectMove = False - Me.IsSoundMove = False - - Me.IsAffectedBySubstitute = True - Me.IsOneHitKOMove = False - Me.IsWonderGuardAffected = True - '#End - - Me.AIField1 = AIField.Damage - Me.AIField2 = AIField.MultiTurn - End Sub - - Public Overrides Function GetBasePower(own As Boolean, BattleScreen As BattleScreen) As Integer - Dim rollout As Integer = BattleScreen.FieldEffects.OwnRolloutCounter - If own = False Then - rollout = BattleScreen.FieldEffects.OppRolloutCounter - End If - - Dim p As Integer = Me.Power - - If rollout > 0 Then - For i = 1 To rollout - p *= 2 - Next - End If - - Dim defensecurl As Integer = BattleScreen.FieldEffects.OwnDefenseCurl - If own = False Then - defensecurl = BattleScreen.FieldEffects.OppDefenseCurl - End If - - If defensecurl > 0 Then - p *= 2 - End If - - Return p - End Function - - Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) - Dim rollout As Integer = BattleScreen.FieldEffects.OwnRolloutCounter - If own = False Then - rollout = BattleScreen.FieldEffects.OppRolloutCounter - End If - - If rollout = 5 Then - If own = True Then - BattleScreen.FieldEffects.OwnRolloutCounter = 0 - Else - BattleScreen.FieldEffects.OppRolloutCounter = 0 - End If - Else - If own = True Then - BattleScreen.FieldEffects.OwnRolloutCounter += 1 - Else - BattleScreen.FieldEffects.OppRolloutCounter += 1 - End If - End If - End Sub - - Private Sub Interruption(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) - If own = True Then - BattleScreen.FieldEffects.OwnRolloutCounter = 0 - Else - BattleScreen.FieldEffects.OppRolloutCounter = 0 - End If - End Sub - - Public Overrides Sub MoveHasNoEffect(own As Boolean, BattleScreen As BattleScreen) - Interruption(own, BattleScreen) - End Sub - - Public Overrides Sub MoveProtectedDetected(own As Boolean, BattleScreen As BattleScreen) - Interruption(own, BattleScreen) - End Sub - - Public Overrides Sub MoveMisses(own As Boolean, BattleScreen As BattleScreen) - Interruption(own, BattleScreen) - End Sub - - End Class - +Namespace BattleSystem.Moves.Rock + + Public Class Rollout + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Rock) + Me.ID = 205 + Me.OriginalPP = 20 + Me.CurrentPP = 20 + Me.MaxPP = 20 + Me.Power = 30 + Me.Accuracy = 90 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Tough + Me.Name = "Rollout" + Me.Description = "The user continually rolls into the target over five turns. It becomes stronger each time it hits." + 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.RemovesFrozen = False + + Me.IsHealingMove = False + Me.IsRecoilMove = False + Me.IsPunchingMove = False + Me.IsDamagingMove = True + Me.IsProtectMove = False + Me.IsSoundMove = False + + Me.IsAffectedBySubstitute = True + Me.IsOneHitKOMove = False + Me.IsWonderGuardAffected = True + '#End + + Me.AIField1 = AIField.Damage + Me.AIField2 = AIField.MultiTurn + End Sub + + Public Overrides Function GetBasePower(own As Boolean, BattleScreen As BattleScreen) As Integer + Dim rollout As Integer = BattleScreen.FieldEffects.OwnRolloutCounter + If own = False Then + rollout = BattleScreen.FieldEffects.OppRolloutCounter + End If + + Dim p As Integer = Me.Power + + If rollout > 0 Then + For i = 1 To rollout + p *= 2 + Next + End If + + Dim defensecurl As Integer = BattleScreen.FieldEffects.OwnDefenseCurl + If own = False Then + defensecurl = BattleScreen.FieldEffects.OppDefenseCurl + End If + + If defensecurl > 0 Then + p *= 2 + End If + + Return p + End Function + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + Dim rollout As Integer = BattleScreen.FieldEffects.OwnRolloutCounter + If own = False Then + rollout = BattleScreen.FieldEffects.OppRolloutCounter + End If + + If rollout = 5 Then + If own = True Then + BattleScreen.FieldEffects.OwnRolloutCounter = 0 + Else + BattleScreen.FieldEffects.OppRolloutCounter = 0 + End If + Else + If own = True Then + BattleScreen.FieldEffects.OwnRolloutCounter += 1 + Else + BattleScreen.FieldEffects.OppRolloutCounter += 1 + End If + End If + End Sub + + Private Sub Interruption(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnRolloutCounter = 0 + Else + BattleScreen.FieldEffects.OppRolloutCounter = 0 + End If + End Sub + + Public Overrides Sub MoveHasNoEffect(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub + + Public Overrides Sub MoveProtectedDetected(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub + + Public Overrides Sub MoveMisses(own As Boolean, BattleScreen As BattleScreen) + Interruption(own, BattleScreen) + End Sub + + End Class + End Namespace \ No newline at end of file