Fixed sec. effect values (psychic)
This commit is contained in:
parent
dcd4cf1390
commit
89ec6ef33e
|
@ -1,66 +1,66 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Agility
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 97
|
||||
Me.OriginalPP = 30
|
||||
Me.CurrentPP = 30
|
||||
Me.MaxPP = 30
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Agility"
|
||||
Me.Description = "The user relaxes and lightens its body to move faster. It sharply boosts the Speed stat."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.RaiseSpeed
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Speed", 2, "", "move:agility") = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Agility
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 97
|
||||
Me.OriginalPP = 30
|
||||
Me.CurrentPP = 30
|
||||
Me.MaxPP = 30
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Agility"
|
||||
Me.Description = "The user relaxes and lightens its body to move faster. It sharply boosts the Speed stat."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.RaiseSpeed
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Speed", 2, "", "move:agility") = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,66 +1,66 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Amnesia
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 133
|
||||
Me.OriginalPP = 20
|
||||
Me.CurrentPP = 20
|
||||
Me.MaxPP = 20
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Amnesia"
|
||||
Me.Description = "The user temporarily empties its mind to forget its concerns. It sharply raises the user's Sp. Def stat."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.RaiseSpDefense
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Special Defense", 2, "", "move:amnesia") = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Amnesia
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 133
|
||||
Me.OriginalPP = 20
|
||||
Me.CurrentPP = 20
|
||||
Me.MaxPP = 20
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Amnesia"
|
||||
Me.Description = "The user temporarily empties its mind to forget its concerns. It sharply raises the user's Sp. Def stat."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.RaiseSpDefense
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Special Defense", 2, "", "move:amnesia") = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,66 +1,66 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Barrier
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 112
|
||||
Me.OriginalPP = 20
|
||||
Me.CurrentPP = 20
|
||||
Me.MaxPP = 20
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Barrier"
|
||||
Me.Description = "The user throws up a sturdy wall that sharply raises its Defense stat."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.RaiseDefense
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Defense", 2, "", "move:barrier") = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Barrier
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 112
|
||||
Me.OriginalPP = 20
|
||||
Me.CurrentPP = 20
|
||||
Me.MaxPP = 20
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Barrier"
|
||||
Me.Description = "The user throws up a sturdy wall that sharply raises its Defense stat."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.RaiseDefense
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Defense", 2, "", "move:barrier") = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,65 +1,65 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class CosmicPower
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 322
|
||||
Me.OriginalPP = 20
|
||||
Me.CurrentPP = 20
|
||||
Me.MaxPP = 20
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Cosmic Power"
|
||||
Me.Description = "The user absorbs a mystical power from space to raise its Defense and Sp. Def stats."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.RaiseDefense
|
||||
Me.AIField2 = AIField.RaiseSpDefense
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Defense", 1, "", "move:cosmicpower")
|
||||
BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Special Defense", 1, "", "move:cosmicpower")
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class CosmicPower
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 322
|
||||
Me.OriginalPP = 20
|
||||
Me.CurrentPP = 20
|
||||
Me.MaxPP = 20
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Cosmic Power"
|
||||
Me.Description = "The user absorbs a mystical power from space to raise its Defense and Sp. Def stats."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.RaiseDefense
|
||||
Me.AIField2 = AIField.RaiseSpDefense
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Defense", 1, "", "move:cosmicpower")
|
||||
BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Special Defense", 1, "", "move:cosmicpower")
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,108 +1,108 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class DreamEater
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 138
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 100
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Dream Eater"
|
||||
Me.Description = "The user eats the dreams of a sleeping target. It absorbs half the damage caused to heal the user's HP."
|
||||
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 = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = True
|
||||
Me.ImmunityAffected = True
|
||||
Me.HasSecondaryEffect = True
|
||||
Me.RemovesFrozen = False
|
||||
|
||||
Me.IsHealingMove = True
|
||||
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
|
||||
End Sub
|
||||
|
||||
Public Overrides Function MoveFailBeforeAttack(Own As Boolean, BattleScreen As BattleScreen) As Boolean
|
||||
Dim op As Pokemon = BattleScreen.OppPokemon
|
||||
If Own = False Then
|
||||
op = BattleScreen.OwnPokemon
|
||||
End If
|
||||
|
||||
If op.Status <> Pokemon.StatusProblems.Sleep Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
End Function
|
||||
|
||||
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 damage As Integer = BattleScreen.FieldEffects.OwnLastDamage
|
||||
If own = False Then
|
||||
damage = BattleScreen.FieldEffects.OppLastDamage
|
||||
End If
|
||||
Dim heal As Integer = CInt(Math.Ceiling(damage / 2))
|
||||
|
||||
If heal <= 0 Then
|
||||
heal = 1
|
||||
End If
|
||||
|
||||
If op.Ability.Name.ToLower() = "liquid ooze" And BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
||||
BattleScreen.Battle.ReduceHP(heal, own, own, BattleScreen, "Liquid Ooze damaged " & p.GetDisplayName() & "!", "liquidooze")
|
||||
Else
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower() = "big root" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||
heal = CInt(Math.Ceiling(damage * (80 / 100)))
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim healBlock As Integer = BattleScreen.FieldEffects.OppHealBlock
|
||||
If own = False Then
|
||||
healBlock = BattleScreen.FieldEffects.OwnHealBlock
|
||||
End If
|
||||
If healBlock = 0 Then
|
||||
BattleScreen.Battle.GainHP(heal, own, own, BattleScreen, op.GetDisplayName() & " had its energy drained!", "move:dreameater")
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class DreamEater
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 138
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 100
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Dream Eater"
|
||||
Me.Description = "The user eats the dreams of a sleeping target. It absorbs half the damage caused to heal the user's HP."
|
||||
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 = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = True
|
||||
Me.ImmunityAffected = True
|
||||
Me.HasSecondaryEffect = False
|
||||
Me.RemovesFrozen = False
|
||||
|
||||
Me.IsHealingMove = True
|
||||
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
|
||||
End Sub
|
||||
|
||||
Public Overrides Function MoveFailBeforeAttack(Own As Boolean, BattleScreen As BattleScreen) As Boolean
|
||||
Dim op As Pokemon = BattleScreen.OppPokemon
|
||||
If Own = False Then
|
||||
op = BattleScreen.OwnPokemon
|
||||
End If
|
||||
|
||||
If op.Status <> Pokemon.StatusProblems.Sleep Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
End Function
|
||||
|
||||
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 damage As Integer = BattleScreen.FieldEffects.OwnLastDamage
|
||||
If own = False Then
|
||||
damage = BattleScreen.FieldEffects.OppLastDamage
|
||||
End If
|
||||
Dim heal As Integer = CInt(Math.Ceiling(damage / 2))
|
||||
|
||||
If heal <= 0 Then
|
||||
heal = 1
|
||||
End If
|
||||
|
||||
If op.Ability.Name.ToLower() = "liquid ooze" And BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
||||
BattleScreen.Battle.ReduceHP(heal, own, own, BattleScreen, "Liquid Ooze damaged " & p.GetDisplayName() & "!", "liquidooze")
|
||||
Else
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower() = "big root" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||
heal = CInt(Math.Ceiling(damage * (80 / 100)))
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim healBlock As Integer = BattleScreen.FieldEffects.OppHealBlock
|
||||
If own = False Then
|
||||
healBlock = BattleScreen.FieldEffects.OwnHealBlock
|
||||
End If
|
||||
If healBlock = 0 Then
|
||||
BattleScreen.Battle.GainHP(heal, own, own, BattleScreen, op.GetDisplayName() & " had its energy drained!", "move:dreameater")
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,69 +1,69 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Gravity
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 356
|
||||
Me.OriginalPP = 5
|
||||
Me.CurrentPP = 5
|
||||
Me.MaxPP = 5
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Gravity"
|
||||
Me.Description = "Gravity is intensified for five turns, making moves involving flying unusable and negating Levitate."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.All
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.FieldEffects.Gravity = 0 Then
|
||||
BattleScreen.FieldEffects.Gravity = 5
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Gravity intensified!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Gravity
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 356
|
||||
Me.OriginalPP = 5
|
||||
Me.CurrentPP = 5
|
||||
Me.MaxPP = 5
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Gravity"
|
||||
Me.Description = "Gravity is intensified for five turns, making moves involving flying unusable and negating Levitate."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.All
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.FieldEffects.Gravity = 0 Then
|
||||
BattleScreen.FieldEffects.Gravity = 5
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Gravity intensified!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,76 +1,76 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class HealingWish
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 361
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Healing Wish"
|
||||
Me.Description = "The user faints. In return, the Pokemon taking its place will have its HP restored and status conditions cured."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = True
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
End If
|
||||
|
||||
BattleScreen.Battle.ReduceHP(p.HP, own, own, BattleScreen, "", "move:healingwish")
|
||||
BattleScreen.Battle.FaintPokemon(own, BattleScreen, "")
|
||||
|
||||
If own = True Then
|
||||
BattleScreen.FieldEffects.OwnHealingWish = True
|
||||
Else
|
||||
BattleScreen.FieldEffects.OppHealingWish = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class HealingWish
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 361
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Healing Wish"
|
||||
Me.Description = "The user faints. In return, the Pokemon taking its place will have its HP restored and status conditions cured."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = True
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
End If
|
||||
|
||||
BattleScreen.Battle.ReduceHP(p.HP, own, own, BattleScreen, "", "move:healingwish")
|
||||
BattleScreen.Battle.FaintPokemon(own, BattleScreen, "")
|
||||
|
||||
If own = True Then
|
||||
BattleScreen.FieldEffects.OwnHealingWish = True
|
||||
Else
|
||||
BattleScreen.FieldEffects.OppHealingWish = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,66 +1,66 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Hypnosis
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 95
|
||||
Me.OriginalPP = 20
|
||||
Me.CurrentPP = 20
|
||||
Me.MaxPP = 20
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 60
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Hypnosis"
|
||||
Me.Description = "The user employs hypnotic suggestion to make the target fall into a deep sleep."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.OneAdjacentTarget
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = True
|
||||
Me.MagicCoatAffected = True
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Sleep
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.Battle.InflictSleep(Not own, own, BattleScreen, -1, "", "move:hypnosis") = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Hypnosis
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 95
|
||||
Me.OriginalPP = 20
|
||||
Me.CurrentPP = 20
|
||||
Me.MaxPP = 20
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 60
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Hypnosis"
|
||||
Me.Description = "The user employs hypnotic suggestion to make the target fall into a deep sleep."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.OneAdjacentTarget
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = True
|
||||
Me.MagicCoatAffected = True
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Sleep
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.Battle.InflictSleep(Not own, own, BattleScreen, -1, "", "move:hypnosis") = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
|
|
|
@ -1,66 +1,66 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Kinesis
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 134
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 80
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Kinesis"
|
||||
Me.Description = "The user distracts the target by bending a spoon. It lowers the target's accuracy."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.OneAdjacentTarget
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = True
|
||||
Me.MagicCoatAffected = True
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.LowerAccuracy
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Accuracy", 1, "", "move:kinesis") = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Kinesis
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 134
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 80
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Kinesis"
|
||||
Me.Description = "The user distracts the target by bending a spoon. It lowers the target's accuracy."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.OneAdjacentTarget
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = True
|
||||
Me.MagicCoatAffected = True
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.LowerAccuracy
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Accuracy", 1, "", "move:kinesis") = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,91 +1,91 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class LightScreen
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 113
|
||||
Me.OriginalPP = 30
|
||||
Me.CurrentPP = 30
|
||||
Me.MaxPP = 30
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Light Screen"
|
||||
Me.Description = "A wondrous wall of light is put up to suppress damage from special attacks for five turns."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
End If
|
||||
|
||||
Dim turns As Integer = 6
|
||||
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower() = "light clay" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||
turns = 9
|
||||
End If
|
||||
End If
|
||||
|
||||
If own = True Then
|
||||
If BattleScreen.FieldEffects.OwnLightScreen = 0 Then
|
||||
BattleScreen.FieldEffects.OwnLightScreen = turns
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Light Screen raised your team's Special Defense!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
Else
|
||||
If BattleScreen.FieldEffects.OppLightScreen = 0 Then
|
||||
BattleScreen.FieldEffects.OppLightScreen = turns
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Light Screen raised the other team's Special Defense!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class LightScreen
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 113
|
||||
Me.OriginalPP = 30
|
||||
Me.CurrentPP = 30
|
||||
Me.MaxPP = 30
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Light Screen"
|
||||
Me.Description = "A wondrous wall of light is put up to suppress damage from special attacks for five turns."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
End If
|
||||
|
||||
Dim turns As Integer = 6
|
||||
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower() = "light clay" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||
turns = 9
|
||||
End If
|
||||
End If
|
||||
|
||||
If own = True Then
|
||||
If BattleScreen.FieldEffects.OwnLightScreen = 0 Then
|
||||
BattleScreen.FieldEffects.OwnLightScreen = turns
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Light Screen raised your team's Special Defense!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
Else
|
||||
If BattleScreen.FieldEffects.OppLightScreen = 0 Then
|
||||
BattleScreen.FieldEffects.OppLightScreen = turns
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Light Screen raised the other team's Special Defense!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,68 +1,68 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class MagicCoat
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 277
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Magic Coat"
|
||||
Me.Description = "A barrier reflects back to the target moves like Leech Seed and moves that damage status."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 4
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If own = True Then
|
||||
BattleScreen.FieldEffects.OwnMagicCoat = 1
|
||||
Else
|
||||
BattleScreen.FieldEffects.OppMagicCoat = 1
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class MagicCoat
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 277
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Magic Coat"
|
||||
Me.Description = "A barrier reflects back to the target moves like Leech Seed and moves that damage status."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 4
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If own = True Then
|
||||
BattleScreen.FieldEffects.OwnMagicCoat = 1
|
||||
Else
|
||||
BattleScreen.FieldEffects.OppMagicCoat = 1
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,66 +1,66 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Meditate
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 96
|
||||
Me.OriginalPP = 40
|
||||
Me.CurrentPP = 40
|
||||
Me.MaxPP = 40
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Meditate"
|
||||
Me.Description = "The user meditates to awaken the power deep within its body and raise its Attack stat."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.RaiseAttack
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Attack", 1, "", "move:meditate") = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Meditate
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 96
|
||||
Me.OriginalPP = 40
|
||||
Me.CurrentPP = 40
|
||||
Me.MaxPP = 40
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Meditate"
|
||||
Me.Description = "The user meditates to awaken the power deep within its body and raise its Attack stat."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.RaiseAttack
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Attack", 1, "", "move:meditate") = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,77 +1,77 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class MiracleEye
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 357
|
||||
Me.OriginalPP = 40
|
||||
Me.CurrentPP = 40
|
||||
Me.MaxPP = 40
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Miracle Eye"
|
||||
Me.Description = "Enables a Dark-type target to be hit by Psychic-type attacks. This also enables an evasive target to be hit."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.OneAdjacentTarget
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = True
|
||||
Me.MagicCoatAffected = True
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.HasSecondaryEffect = True
|
||||
Me.RemovesFrozen = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim op As Pokemon = BattleScreen.OppPokemon
|
||||
If own = False Then
|
||||
op = BattleScreen.OwnPokemon
|
||||
End If
|
||||
|
||||
op.Evasion = 0
|
||||
|
||||
If own = True Then
|
||||
BattleScreen.FieldEffects.OppMiracleEye = 1
|
||||
Else
|
||||
BattleScreen.FieldEffects.OwnMiracleEye = 1
|
||||
End If
|
||||
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " was identified!"))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class MiracleEye
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 357
|
||||
Me.OriginalPP = 40
|
||||
Me.CurrentPP = 40
|
||||
Me.MaxPP = 40
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Miracle Eye"
|
||||
Me.Description = "Enables a Dark-type target to be hit by Psychic-type attacks. This also enables an evasive target to be hit."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.OneAdjacentTarget
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = True
|
||||
Me.MagicCoatAffected = True
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.HasSecondaryEffect = False
|
||||
Me.RemovesFrozen = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim op As Pokemon = BattleScreen.OppPokemon
|
||||
If own = False Then
|
||||
op = BattleScreen.OwnPokemon
|
||||
End If
|
||||
|
||||
op.Evasion = 0
|
||||
|
||||
If own = True Then
|
||||
BattleScreen.FieldEffects.OppMiracleEye = 1
|
||||
Else
|
||||
BattleScreen.FieldEffects.OwnMiracleEye = 1
|
||||
End If
|
||||
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " was identified!"))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,78 +1,78 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class PowerTrick
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 379
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Power Trick"
|
||||
Me.Description = "The user employs its psychic power to switch its Attack with its Defense stat."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
End If
|
||||
|
||||
p.OriginalStats(0) = p.Attack
|
||||
p.OriginalStats(1) = p.Defense
|
||||
|
||||
Dim atk As Integer = p.Attack
|
||||
Dim def As Integer = p.Defense
|
||||
|
||||
p.Attack = def
|
||||
p.Defense = atk
|
||||
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " switched its Attack and Defense!"))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class PowerTrick
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 379
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Power Trick"
|
||||
Me.Description = "The user employs its psychic power to switch its Attack with its Defense stat."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
End If
|
||||
|
||||
p.OriginalStats(0) = p.Attack
|
||||
p.OriginalStats(1) = p.Defense
|
||||
|
||||
Dim atk As Integer = p.Attack
|
||||
Dim def As Integer = p.Defense
|
||||
|
||||
p.Attack = def
|
||||
p.Defense = atk
|
||||
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " switched its Attack and Defense!"))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,61 +1,61 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class PsychoBoost
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 354
|
||||
Me.OriginalPP = 5
|
||||
Me.CurrentPP = 5
|
||||
Me.MaxPP = 5
|
||||
Me.Power = 140
|
||||
Me.Accuracy = 90
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Psycho Boost"
|
||||
Me.Description = "The user attacks the target at full power. The attack's recoil harshly reduces the user's Sp. Atk stat."
|
||||
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.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
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
BattleScreen.Battle.LowerStat(own, own, BattleScreen, "Special Attack", 2, "", "move:psychoboost")
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class PsychoBoost
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 354
|
||||
Me.OriginalPP = 5
|
||||
Me.CurrentPP = 5
|
||||
Me.MaxPP = 5
|
||||
Me.Power = 140
|
||||
Me.Accuracy = 90
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Psycho Boost"
|
||||
Me.Description = "The user attacks the target at full power. The attack's recoil harshly reduces the user's Sp. Atk stat."
|
||||
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.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
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
BattleScreen.Battle.LowerStat(own, own, BattleScreen, "Special Attack", 2, "", "move:psychoboost")
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,97 +1,97 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class PsychoShift
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 375
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Psycho Shift"
|
||||
Me.Description = "Using its psychic power of suggestion, the user transfers its status conditions to the target."
|
||||
Me.CriticalChance = 0
|
||||
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 = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim fails As Boolean = False
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
Dim o As Pokemon = BattleScreen.OppPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
o = BattleScreen.OwnPokemon
|
||||
End If
|
||||
Dim status As Pokemon.StatusProblems = p.Status
|
||||
|
||||
If o.status <> Pokemon.StatusProblems.none Then
|
||||
fails = True
|
||||
End If
|
||||
|
||||
Select Case p.Status
|
||||
Case Pokemon.StatusProblems.Poison
|
||||
fails = Not BattleScreen.Battle.InflictPoison(Not own, own, BattleScreen, False, "", "move:psychoshift")
|
||||
Case Pokemon.StatusProblems.BadPoison
|
||||
fails = Not BattleScreen.Battle.InflictPoison(Not own, own, BattleScreen, True, "", "move:psychoshift")
|
||||
Case Pokemon.StatusProblems.Sleep
|
||||
fails = Not BattleScreen.Battle.InflictSleep(Not own, own, BattleScreen, -1, "", "move:psychoshift")
|
||||
Case Pokemon.StatusProblems.Paralyzed
|
||||
fails = Not BattleScreen.Battle.InflictParalysis(Not own, own, BattleScreen, "", "move:psychoshift")
|
||||
Case Pokemon.StatusProblems.Freeze
|
||||
fails = Not BattleScreen.Battle.InflictFreeze(Not own, own, BattleScreen, "", "move:psychoshift")
|
||||
Case Pokemon.StatusProblems.Burn
|
||||
fails = Not BattleScreen.Battle.InflictBurn(Not own, own, BattleScreen, "", "move:psychoshift")
|
||||
Case Else
|
||||
fails = True
|
||||
End Select
|
||||
|
||||
If fails = True Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
BattleScreen.Battle.CureStatusProblem(own, own, BattleScreen, "", "move:psychoshift")
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class PsychoShift
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 375
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Psycho Shift"
|
||||
Me.Description = "Using its psychic power of suggestion, the user transfers its status conditions to the target."
|
||||
Me.CriticalChance = 0
|
||||
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 = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim fails As Boolean = False
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
Dim o As Pokemon = BattleScreen.OppPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
o = BattleScreen.OwnPokemon
|
||||
End If
|
||||
Dim status As Pokemon.StatusProblems = p.Status
|
||||
|
||||
If o.status <> Pokemon.StatusProblems.none Then
|
||||
fails = True
|
||||
End If
|
||||
|
||||
Select Case p.Status
|
||||
Case Pokemon.StatusProblems.Poison
|
||||
fails = Not BattleScreen.Battle.InflictPoison(Not own, own, BattleScreen, False, "", "move:psychoshift")
|
||||
Case Pokemon.StatusProblems.BadPoison
|
||||
fails = Not BattleScreen.Battle.InflictPoison(Not own, own, BattleScreen, True, "", "move:psychoshift")
|
||||
Case Pokemon.StatusProblems.Sleep
|
||||
fails = Not BattleScreen.Battle.InflictSleep(Not own, own, BattleScreen, -1, "", "move:psychoshift")
|
||||
Case Pokemon.StatusProblems.Paralyzed
|
||||
fails = Not BattleScreen.Battle.InflictParalysis(Not own, own, BattleScreen, "", "move:psychoshift")
|
||||
Case Pokemon.StatusProblems.Freeze
|
||||
fails = Not BattleScreen.Battle.InflictFreeze(Not own, own, BattleScreen, "", "move:psychoshift")
|
||||
Case Pokemon.StatusProblems.Burn
|
||||
fails = Not BattleScreen.Battle.InflictBurn(Not own, own, BattleScreen, "", "move:psychoshift")
|
||||
Case Else
|
||||
fails = True
|
||||
End Select
|
||||
|
||||
If fails = True Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
BattleScreen.Battle.CureStatusProblem(own, own, BattleScreen, "", "move:psychoshift")
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,91 +1,91 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Reflect
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 115
|
||||
Me.OriginalPP = 20
|
||||
Me.CurrentPP = 20
|
||||
Me.MaxPP = 20
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Reflect"
|
||||
Me.Description = "A wondrous wall is put up to suppress damage from physical attacks for five turns."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
End If
|
||||
|
||||
Dim turns As Integer = 6
|
||||
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower() = "light clay" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||
turns = 9
|
||||
End If
|
||||
End If
|
||||
|
||||
If own = True Then
|
||||
If BattleScreen.FieldEffects.OwnReflect = 0 Then
|
||||
BattleScreen.FieldEffects.OwnReflect = turns
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Reflect raised your team's Defense!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
Else
|
||||
If BattleScreen.FieldEffects.OppReflect = 0 Then
|
||||
BattleScreen.FieldEffects.OppReflect = turns
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Reflect raised the other team's Defense!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Reflect
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 115
|
||||
Me.OriginalPP = 20
|
||||
Me.CurrentPP = 20
|
||||
Me.MaxPP = 20
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Reflect"
|
||||
Me.Description = "A wondrous wall is put up to suppress damage from physical attacks for five turns."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
End If
|
||||
|
||||
Dim turns As Integer = 6
|
||||
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower() = "light clay" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||
turns = 9
|
||||
End If
|
||||
End If
|
||||
|
||||
If own = True Then
|
||||
If BattleScreen.FieldEffects.OwnReflect = 0 Then
|
||||
BattleScreen.FieldEffects.OwnReflect = turns
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Reflect raised your team's Defense!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
Else
|
||||
If BattleScreen.FieldEffects.OppReflect = 0 Then
|
||||
BattleScreen.FieldEffects.OppReflect = turns
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Reflect raised the other team's Defense!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,94 +1,94 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Rest
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 156
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Rest"
|
||||
Me.Description = "The user goes to sleep for two turns. It fully restores the user’s HP and heals any status problem."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = True
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Healing
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim fails As Boolean = False
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
End If
|
||||
Dim status As Pokemon.StatusProblems = p.Status
|
||||
|
||||
Dim healBlock As Integer = BattleScreen.FieldEffects.OwnHealBlock
|
||||
If own = False Then
|
||||
healBlock = BattleScreen.FieldEffects.OppHealBlock
|
||||
End If
|
||||
|
||||
If healBlock > 0 Then
|
||||
fails = True
|
||||
Else
|
||||
If p.HP >= p.MaxHP Then
|
||||
fails = True
|
||||
Else
|
||||
If BattleScreen.Battle.InflictSleep(own, own, BattleScreen, 3, "", "move:rest") = False Then
|
||||
fails = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If fails = True Then
|
||||
p.Status = status
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " slept and became healthy."))
|
||||
BattleScreen.Battle.GainHP(p.MaxHP - p.HP, own, own, BattleScreen, "", "move:rest")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Rest
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 156
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Rest"
|
||||
Me.Description = "The user goes to sleep for two turns. It fully restores the user’s HP and heals any status problem."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = True
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = True
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Healing
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim fails As Boolean = False
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
End If
|
||||
Dim status As Pokemon.StatusProblems = p.Status
|
||||
|
||||
Dim healBlock As Integer = BattleScreen.FieldEffects.OwnHealBlock
|
||||
If own = False Then
|
||||
healBlock = BattleScreen.FieldEffects.OppHealBlock
|
||||
End If
|
||||
|
||||
If healBlock > 0 Then
|
||||
fails = True
|
||||
Else
|
||||
If p.HP >= p.MaxHP Then
|
||||
fails = True
|
||||
Else
|
||||
If BattleScreen.Battle.InflictSleep(own, own, BattleScreen, 3, "", "move:rest") = False Then
|
||||
fails = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If fails = True Then
|
||||
p.Status = status
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " slept and became healthy."))
|
||||
BattleScreen.Battle.GainHP(p.MaxHP - p.HP, own, own, BattleScreen, "", "move:rest")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,77 +1,77 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class RolePlay
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 272
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Role Play"
|
||||
Me.Description = "The user mimics the target completely, copying the target's natural Ability."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.OneAdjacentTarget
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
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
|
||||
|
||||
If p.OriginalAbility Is Nothing Then
|
||||
p.OriginalAbility = p.Ability
|
||||
End If
|
||||
|
||||
p.Ability = New Ability(op.Ability.ID, op.Ability.Name, op.Ability.Description)
|
||||
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " copies " & op.Ability.Name & " from " & op.GetDisplayName() & "."))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class RolePlay
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 272
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Role Play"
|
||||
Me.Description = "The user mimics the target completely, copying the target's natural Ability."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.OneAdjacentTarget
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
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
|
||||
|
||||
If p.OriginalAbility Is Nothing Then
|
||||
p.OriginalAbility = p.Ability
|
||||
End If
|
||||
|
||||
p.Ability = New Ability(op.Ability.ID, op.Ability.Name, op.Ability.Description)
|
||||
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " copies " & op.Ability.Name & " from " & op.GetDisplayName() & "."))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,87 +1,87 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class SkillSwap
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 285
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Skill Swap"
|
||||
Me.Description = "The user employs its psychic power to exchange Abilities with the target."
|
||||
Me.CriticalChance = 0
|
||||
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 = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
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 bannedAbilities() As String = {"wonder guard", "multitype", "illusion", "stance change"}
|
||||
|
||||
If bannedAbilities.Contains(p.Ability.Name.ToLower()) = False And bannedAbilities.Contains(op.Ability.Name.ToLower()) = False Then
|
||||
Dim pAbility As Integer = p.Ability.ID
|
||||
Dim opAbility As Integer = op.Ability.ID
|
||||
|
||||
p.OriginalAbility = Ability.GetAbilityByID(p.Ability.ID)
|
||||
op.OriginalAbility = Ability.GetAbilityByID(op.Ability.ID)
|
||||
|
||||
p.Ability = Ability.GetAbilityByID(opAbility)
|
||||
op.Ability = Ability.GetAbilityByID(pAbility)
|
||||
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " swapped abilities with its target!"))
|
||||
Else
|
||||
'fails
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class SkillSwap
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 285
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Skill Swap"
|
||||
Me.Description = "The user employs its psychic power to exchange Abilities with the target."
|
||||
Me.CriticalChance = 0
|
||||
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 = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
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 bannedAbilities() As String = {"wonder guard", "multitype", "illusion", "stance change"}
|
||||
|
||||
If bannedAbilities.Contains(p.Ability.Name.ToLower()) = False And bannedAbilities.Contains(op.Ability.Name.ToLower()) = False Then
|
||||
Dim pAbility As Integer = p.Ability.ID
|
||||
Dim opAbility As Integer = op.Ability.ID
|
||||
|
||||
p.OriginalAbility = Ability.GetAbilityByID(p.Ability.ID)
|
||||
op.OriginalAbility = Ability.GetAbilityByID(op.Ability.ID)
|
||||
|
||||
p.Ability = Ability.GetAbilityByID(opAbility)
|
||||
op.Ability = Ability.GetAbilityByID(pAbility)
|
||||
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " swapped abilities with its target!"))
|
||||
Else
|
||||
'fails
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,123 +1,123 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Trick
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 271
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Trick"
|
||||
Me.Description = "The user catches the target off guard and swaps its held item with its own."
|
||||
Me.CriticalChance = 0
|
||||
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 = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = True
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
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
|
||||
|
||||
If p.Item Is Nothing And op.Item Is Nothing Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
If p.Ability.Name.ToLower() = "sticky hold" Or op.Ability.Name.ToLower() = "sticky hold" Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower() = "griseous orb" AndAlso p.Number = 487 Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower() = "griseous orb" AndAlso op.Number = 487 Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
If CheckMultitypePlate(p, op) = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
Dim i1 As Item = p.Item
|
||||
Dim i2 As Item = op.Item
|
||||
|
||||
p.Item = i2
|
||||
op.Item = i1
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " switched items with " & op.GetDisplayName() & "."))
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function CheckMultitypePlate(ByVal p As Pokemon, ByVal op As Pokemon) As Boolean
|
||||
If p.Ability.Name.ToLower() <> "multitype" And op.Ability.Name.ToLower() = "multitype" Then
|
||||
Return True
|
||||
Else
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower().EndsWith(" plate") = True Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
If Not op.Item Is Nothing Then
|
||||
If op.Item.Name.ToLower().EndsWith(" plate") = True Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Trick
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 271
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Trick"
|
||||
Me.Description = "The user catches the target off guard and swaps its held item with its own."
|
||||
Me.CriticalChance = 0
|
||||
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 = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.Nothing
|
||||
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
|
||||
|
||||
If p.Item Is Nothing And op.Item Is Nothing Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
If p.Ability.Name.ToLower() = "sticky hold" Or op.Ability.Name.ToLower() = "sticky hold" Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower() = "griseous orb" AndAlso p.Number = 487 Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower() = "griseous orb" AndAlso op.Number = 487 Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
If CheckMultitypePlate(p, op) = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Else
|
||||
Dim i1 As Item = p.Item
|
||||
Dim i2 As Item = op.Item
|
||||
|
||||
p.Item = i2
|
||||
op.Item = i1
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " switched items with " & op.GetDisplayName() & "."))
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function CheckMultitypePlate(ByVal p As Pokemon, ByVal op As Pokemon) As Boolean
|
||||
If p.Ability.Name.ToLower() <> "multitype" And op.Ability.Name.ToLower() = "multitype" Then
|
||||
Return True
|
||||
Else
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower().EndsWith(" plate") = True Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
If Not op.Item Is Nothing Then
|
||||
If op.Item.Name.ToLower().EndsWith(" plate") = True Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
Loading…
Reference in New Issue