Fixed sec. effect values (rock)
This commit is contained in:
parent
89ec6ef33e
commit
9cda9cbaf0
|
@ -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
|
||||
|
|
|
@ -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
|
Loading…
Reference in New Issue