Fixed sec. effect values (psychic)

This commit is contained in:
Capt_Segis 2016-09-14 20:21:09 -05:00 committed by GitHub
parent dcd4cf1390
commit 89ec6ef33e
21 changed files with 1638 additions and 1638 deletions

View File

@ -1,66 +1,66 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class Agility Public Class Agility
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 97 Me.ID = 97
Me.OriginalPP = 30 Me.OriginalPP = 30
Me.CurrentPP = 30 Me.CurrentPP = 30
Me.MaxPP = 30 Me.MaxPP = 30
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Cool
Me.Name = "Agility" Me.Name = "Agility"
Me.Description = "The user relaxes and lightens its body to move faster. It sharply boosts the Speed stat." Me.Description = "The user relaxes and lightens its body to move faster. It sharply boosts the Speed stat."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.Self Me.Target = Targets.Self
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = True Me.SnatchAffected = True
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.RaiseSpeed Me.AIField1 = AIField.RaiseSpeed
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Speed", 2, "", "move:agility") = False Then If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Speed", 2, "", "move:agility") = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,66 +1,66 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class Amnesia Public Class Amnesia
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 133 Me.ID = 133
Me.OriginalPP = 20 Me.OriginalPP = 20
Me.CurrentPP = 20 Me.CurrentPP = 20
Me.MaxPP = 20 Me.MaxPP = 20
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cute Me.ContestCategory = ContestCategories.Cute
Me.Name = "Amnesia" 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.Description = "The user temporarily empties its mind to forget its concerns. It sharply raises the user's Sp. Def stat."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.Self Me.Target = Targets.Self
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = True Me.SnatchAffected = True
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.RaiseSpDefense Me.AIField1 = AIField.RaiseSpDefense
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Special Defense", 2, "", "move:amnesia") = False Then If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Special Defense", 2, "", "move:amnesia") = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,66 +1,66 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class Barrier Public Class Barrier
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 112 Me.ID = 112
Me.OriginalPP = 20 Me.OriginalPP = 20
Me.CurrentPP = 20 Me.CurrentPP = 20
Me.MaxPP = 20 Me.MaxPP = 20
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Cool
Me.Name = "Barrier" Me.Name = "Barrier"
Me.Description = "The user throws up a sturdy wall that sharply raises its Defense stat." Me.Description = "The user throws up a sturdy wall that sharply raises its Defense stat."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.Self Me.Target = Targets.Self
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = True Me.SnatchAffected = True
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.RaiseDefense Me.AIField1 = AIField.RaiseDefense
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Defense", 2, "", "move:barrier") = False Then If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Defense", 2, "", "move:barrier") = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,65 +1,65 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class CosmicPower Public Class CosmicPower
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 322 Me.ID = 322
Me.OriginalPP = 20 Me.OriginalPP = 20
Me.CurrentPP = 20 Me.CurrentPP = 20
Me.MaxPP = 20 Me.MaxPP = 20
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Cool
Me.Name = "Cosmic Power" Me.Name = "Cosmic Power"
Me.Description = "The user absorbs a mystical power from space to raise its Defense and Sp. Def stats." Me.Description = "The user absorbs a mystical power from space to raise its Defense and Sp. Def stats."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.Self Me.Target = Targets.Self
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = True Me.SnatchAffected = True
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.RaiseDefense Me.AIField1 = AIField.RaiseDefense
Me.AIField2 = AIField.RaiseSpDefense Me.AIField2 = AIField.RaiseSpDefense
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) 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, "Defense", 1, "", "move:cosmicpower")
BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Special Defense", 1, "", "move:cosmicpower") BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Special Defense", 1, "", "move:cosmicpower")
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,108 +1,108 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class DreamEater Public Class DreamEater
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 138 Me.ID = 138
Me.OriginalPP = 15 Me.OriginalPP = 15
Me.CurrentPP = 15 Me.CurrentPP = 15
Me.MaxPP = 15 Me.MaxPP = 15
Me.Power = 100 Me.Power = 100
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Smart
Me.Name = "Dream Eater" 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.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.CriticalChance = 1
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = True Me.ProtectAffected = True
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = True Me.UseEffectiveness = True
Me.ImmunityAffected = True Me.ImmunityAffected = True
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.IsHealingMove = True Me.IsHealingMove = True
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = True Me.IsDamagingMove = True
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True Me.IsWonderGuardAffected = True
'#End '#End
End Sub End Sub
Public Overrides Function MoveFailBeforeAttack(Own As Boolean, BattleScreen As BattleScreen) As Boolean Public Overrides Function MoveFailBeforeAttack(Own As Boolean, BattleScreen As BattleScreen) As Boolean
Dim op As Pokemon = BattleScreen.OppPokemon Dim op As Pokemon = BattleScreen.OppPokemon
If Own = False Then If Own = False Then
op = BattleScreen.OwnPokemon op = BattleScreen.OwnPokemon
End If End If
If op.Status <> Pokemon.StatusProblems.Sleep Then If op.Status <> Pokemon.StatusProblems.Sleep Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Return True Return True
Else Else
Return False Return False
End If End If
End Function End Function
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
Dim op As Pokemon = BattleScreen.OppPokemon Dim op As Pokemon = BattleScreen.OppPokemon
If own = False Then If own = False Then
p = BattleScreen.OppPokemon p = BattleScreen.OppPokemon
op = BattleScreen.OwnPokemon op = BattleScreen.OwnPokemon
End If End If
Dim damage As Integer = BattleScreen.FieldEffects.OwnLastDamage Dim damage As Integer = BattleScreen.FieldEffects.OwnLastDamage
If own = False Then If own = False Then
damage = BattleScreen.FieldEffects.OppLastDamage damage = BattleScreen.FieldEffects.OppLastDamage
End If End If
Dim heal As Integer = CInt(Math.Ceiling(damage / 2)) Dim heal As Integer = CInt(Math.Ceiling(damage / 2))
If heal <= 0 Then If heal <= 0 Then
heal = 1 heal = 1
End If End If
If op.Ability.Name.ToLower() = "liquid ooze" And BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then 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") BattleScreen.Battle.ReduceHP(heal, own, own, BattleScreen, "Liquid Ooze damaged " & p.GetDisplayName() & "!", "liquidooze")
Else Else
If Not p.Item Is Nothing Then 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 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))) heal = CInt(Math.Ceiling(damage * (80 / 100)))
End If End If
End If End If
Dim healBlock As Integer = BattleScreen.FieldEffects.OppHealBlock Dim healBlock As Integer = BattleScreen.FieldEffects.OppHealBlock
If own = False Then If own = False Then
healBlock = BattleScreen.FieldEffects.OwnHealBlock healBlock = BattleScreen.FieldEffects.OwnHealBlock
End If End If
If healBlock = 0 Then If healBlock = 0 Then
BattleScreen.Battle.GainHP(heal, own, own, BattleScreen, op.GetDisplayName() & " had its energy drained!", "move:dreameater") BattleScreen.Battle.GainHP(heal, own, own, BattleScreen, op.GetDisplayName() & " had its energy drained!", "move:dreameater")
End If End If
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,69 +1,69 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class Gravity Public Class Gravity
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 356 Me.ID = 356
Me.OriginalPP = 5 Me.OriginalPP = 5
Me.CurrentPP = 5 Me.CurrentPP = 5
Me.MaxPP = 5 Me.MaxPP = 5
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Gravity" Me.Name = "Gravity"
Me.Description = "Gravity is intensified for five turns, making moves involving flying unusable and negating Levitate." Me.Description = "Gravity is intensified for five turns, making moves involving flying unusable and negating Levitate."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.All Me.Target = Targets.All
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.Support Me.AIField1 = AIField.Support
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If BattleScreen.FieldEffects.Gravity = 0 Then If BattleScreen.FieldEffects.Gravity = 0 Then
BattleScreen.FieldEffects.Gravity = 5 BattleScreen.FieldEffects.Gravity = 5
BattleScreen.BattleQuery.Add(New TextQueryObject("Gravity intensified!")) BattleScreen.BattleQuery.Add(New TextQueryObject("Gravity intensified!"))
Else Else
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,76 +1,76 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class HealingWish Public Class HealingWish
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 361 Me.ID = 361
Me.OriginalPP = 10 Me.OriginalPP = 10
Me.CurrentPP = 10 Me.CurrentPP = 10
Me.MaxPP = 10 Me.MaxPP = 10
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cute Me.ContestCategory = ContestCategories.Cute
Me.Name = "Healing Wish" 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.Description = "The user faints. In return, the Pokemon taking its place will have its HP restored and status conditions cured."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.Self Me.Target = Targets.Self
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = True Me.IsHealingMove = True
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.Support Me.AIField1 = AIField.Support
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
If own = False Then If own = False Then
p = BattleScreen.OppPokemon p = BattleScreen.OppPokemon
End If End If
BattleScreen.Battle.ReduceHP(p.HP, own, own, BattleScreen, "", "move:healingwish") BattleScreen.Battle.ReduceHP(p.HP, own, own, BattleScreen, "", "move:healingwish")
BattleScreen.Battle.FaintPokemon(own, BattleScreen, "") BattleScreen.Battle.FaintPokemon(own, BattleScreen, "")
If own = True Then If own = True Then
BattleScreen.FieldEffects.OwnHealingWish = True BattleScreen.FieldEffects.OwnHealingWish = True
Else Else
BattleScreen.FieldEffects.OppHealingWish = True BattleScreen.FieldEffects.OppHealingWish = True
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,66 +1,66 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class Hypnosis Public Class Hypnosis
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 95 Me.ID = 95
Me.OriginalPP = 20 Me.OriginalPP = 20
Me.CurrentPP = 20 Me.CurrentPP = 20
Me.MaxPP = 20 Me.MaxPP = 20
Me.Power = 0 Me.Power = 0
Me.Accuracy = 60 Me.Accuracy = 60
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Smart
Me.Name = "Hypnosis" Me.Name = "Hypnosis"
Me.Description = "The user employs hypnotic suggestion to make the target fall into a deep sleep." Me.Description = "The user employs hypnotic suggestion to make the target fall into a deep sleep."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = True Me.ProtectAffected = True
Me.MagicCoatAffected = True Me.MagicCoatAffected = True
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.Sleep Me.AIField1 = AIField.Sleep
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If BattleScreen.Battle.InflictSleep(Not own, own, BattleScreen, -1, "", "move:hypnosis") = False Then If BattleScreen.Battle.InflictSleep(Not own, own, BattleScreen, -1, "", "move:hypnosis") = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,66 +1,66 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class Kinesis Public Class Kinesis
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 134 Me.ID = 134
Me.OriginalPP = 15 Me.OriginalPP = 15
Me.CurrentPP = 15 Me.CurrentPP = 15
Me.MaxPP = 15 Me.MaxPP = 15
Me.Power = 0 Me.Power = 0
Me.Accuracy = 80 Me.Accuracy = 80
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Smart
Me.Name = "Kinesis" Me.Name = "Kinesis"
Me.Description = "The user distracts the target by bending a spoon. It lowers the target's accuracy." Me.Description = "The user distracts the target by bending a spoon. It lowers the target's accuracy."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = True Me.ProtectAffected = True
Me.MagicCoatAffected = True Me.MagicCoatAffected = True
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.LowerAccuracy Me.AIField1 = AIField.LowerAccuracy
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Accuracy", 1, "", "move:kinesis") = False Then If BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Accuracy", 1, "", "move:kinesis") = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,91 +1,91 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class LightScreen Public Class LightScreen
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 113 Me.ID = 113
Me.OriginalPP = 30 Me.OriginalPP = 30
Me.CurrentPP = 30 Me.CurrentPP = 30
Me.MaxPP = 30 Me.MaxPP = 30
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Light Screen" Me.Name = "Light Screen"
Me.Description = "A wondrous wall of light is put up to suppress damage from special attacks for five turns." Me.Description = "A wondrous wall of light is put up to suppress damage from special attacks for five turns."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.Self Me.Target = Targets.Self
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = True Me.SnatchAffected = True
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.Support Me.AIField1 = AIField.Support
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
If own = False Then If own = False Then
p = BattleScreen.OppPokemon p = BattleScreen.OppPokemon
End If End If
Dim turns As Integer = 6 Dim turns As Integer = 6
If Not p.Item Is Nothing Then 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 If p.Item.Name.ToLower() = "light clay" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
turns = 9 turns = 9
End If End If
End If End If
If own = True Then If own = True Then
If BattleScreen.FieldEffects.OwnLightScreen = 0 Then If BattleScreen.FieldEffects.OwnLightScreen = 0 Then
BattleScreen.FieldEffects.OwnLightScreen = turns BattleScreen.FieldEffects.OwnLightScreen = turns
BattleScreen.BattleQuery.Add(New TextQueryObject("Light Screen raised your team's Special Defense!")) BattleScreen.BattleQuery.Add(New TextQueryObject("Light Screen raised your team's Special Defense!"))
Else Else
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
Else Else
If BattleScreen.FieldEffects.OppLightScreen = 0 Then If BattleScreen.FieldEffects.OppLightScreen = 0 Then
BattleScreen.FieldEffects.OppLightScreen = turns BattleScreen.FieldEffects.OppLightScreen = turns
BattleScreen.BattleQuery.Add(New TextQueryObject("Light Screen raised the other team's Special Defense!")) BattleScreen.BattleQuery.Add(New TextQueryObject("Light Screen raised the other team's Special Defense!"))
Else Else
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,68 +1,68 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class MagicCoat Public Class MagicCoat
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 277 Me.ID = 277
Me.OriginalPP = 15 Me.OriginalPP = 15
Me.CurrentPP = 15 Me.CurrentPP = 15
Me.MaxPP = 15 Me.MaxPP = 15
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Magic Coat" Me.Name = "Magic Coat"
Me.Description = "A barrier reflects back to the target moves like Leech Seed and moves that damage status." Me.Description = "A barrier reflects back to the target moves like Leech Seed and moves that damage status."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.Self Me.Target = Targets.Self
Me.Priority = 4 Me.Priority = 4
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.Support Me.AIField1 = AIField.Support
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If own = True Then If own = True Then
BattleScreen.FieldEffects.OwnMagicCoat = 1 BattleScreen.FieldEffects.OwnMagicCoat = 1
Else Else
BattleScreen.FieldEffects.OppMagicCoat = 1 BattleScreen.FieldEffects.OppMagicCoat = 1
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,66 +1,66 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class Meditate Public Class Meditate
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 96 Me.ID = 96
Me.OriginalPP = 40 Me.OriginalPP = 40
Me.CurrentPP = 40 Me.CurrentPP = 40
Me.MaxPP = 40 Me.MaxPP = 40
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Meditate" Me.Name = "Meditate"
Me.Description = "The user meditates to awaken the power deep within its body and raise its Attack stat." Me.Description = "The user meditates to awaken the power deep within its body and raise its Attack stat."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.Self Me.Target = Targets.Self
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = True Me.SnatchAffected = True
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.RaiseAttack Me.AIField1 = AIField.RaiseAttack
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Attack", 1, "", "move:meditate") = False Then If BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Attack", 1, "", "move:meditate") = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,77 +1,77 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class MiracleEye Public Class MiracleEye
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 357 Me.ID = 357
Me.OriginalPP = 40 Me.OriginalPP = 40
Me.CurrentPP = 40 Me.CurrentPP = 40
Me.MaxPP = 40 Me.MaxPP = 40
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cute Me.ContestCategory = ContestCategories.Cute
Me.Name = "Miracle Eye" 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.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.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = True Me.ProtectAffected = True
Me.MagicCoatAffected = True Me.MagicCoatAffected = True
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.Support Me.AIField1 = AIField.Support
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim op As Pokemon = BattleScreen.OppPokemon Dim op As Pokemon = BattleScreen.OppPokemon
If own = False Then If own = False Then
op = BattleScreen.OwnPokemon op = BattleScreen.OwnPokemon
End If End If
op.Evasion = 0 op.Evasion = 0
If own = True Then If own = True Then
BattleScreen.FieldEffects.OppMiracleEye = 1 BattleScreen.FieldEffects.OppMiracleEye = 1
Else Else
BattleScreen.FieldEffects.OwnMiracleEye = 1 BattleScreen.FieldEffects.OwnMiracleEye = 1
End If End If
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " was identified!")) BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " was identified!"))
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,78 +1,78 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class PowerTrick Public Class PowerTrick
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 379 Me.ID = 379
Me.OriginalPP = 10 Me.OriginalPP = 10
Me.CurrentPP = 10 Me.CurrentPP = 10
Me.MaxPP = 10 Me.MaxPP = 10
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Cool
Me.Name = "Power Trick" Me.Name = "Power Trick"
Me.Description = "The user employs its psychic power to switch its Attack with its Defense stat." Me.Description = "The user employs its psychic power to switch its Attack with its Defense stat."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.Self Me.Target = Targets.Self
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = True Me.SnatchAffected = True
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.Support Me.AIField1 = AIField.Support
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
If own = False Then If own = False Then
p = BattleScreen.OppPokemon p = BattleScreen.OppPokemon
End If End If
p.OriginalStats(0) = p.Attack p.OriginalStats(0) = p.Attack
p.OriginalStats(1) = p.Defense p.OriginalStats(1) = p.Defense
Dim atk As Integer = p.Attack Dim atk As Integer = p.Attack
Dim def As Integer = p.Defense Dim def As Integer = p.Defense
p.Attack = def p.Attack = def
p.Defense = atk p.Defense = atk
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " switched its Attack and Defense!")) BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " switched its Attack and Defense!"))
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,61 +1,61 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class PsychoBoost Public Class PsychoBoost
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 354 Me.ID = 354
Me.OriginalPP = 5 Me.OriginalPP = 5
Me.CurrentPP = 5 Me.CurrentPP = 5
Me.MaxPP = 5 Me.MaxPP = 5
Me.Power = 140 Me.Power = 140
Me.Accuracy = 90 Me.Accuracy = 90
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Smart
Me.Name = "Psycho Boost" 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.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.CriticalChance = 1
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = True Me.ProtectAffected = True
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = True Me.KingsrockAffected = True
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = True Me.UseEffectiveness = True
Me.ImmunityAffected = True Me.ImmunityAffected = True
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = True Me.IsDamagingMove = True
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True Me.IsWonderGuardAffected = True
'#End '#End
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
BattleScreen.Battle.LowerStat(own, own, BattleScreen, "Special Attack", 2, "", "move:psychoboost") BattleScreen.Battle.LowerStat(own, own, BattleScreen, "Special Attack", 2, "", "move:psychoboost")
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,97 +1,97 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class PsychoShift Public Class PsychoShift
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 375 Me.ID = 375
Me.OriginalPP = 10 Me.OriginalPP = 10
Me.CurrentPP = 10 Me.CurrentPP = 10
Me.MaxPP = 10 Me.MaxPP = 10
Me.Power = 0 Me.Power = 0
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Cool
Me.Name = "Psycho Shift" Me.Name = "Psycho Shift"
Me.Description = "Using its psychic power of suggestion, the user transfers its status conditions to the target." Me.Description = "Using its psychic power of suggestion, the user transfers its status conditions to the target."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = True Me.ProtectAffected = True
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = True Me.SnatchAffected = True
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim fails As Boolean = False Dim fails As Boolean = False
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
Dim o As Pokemon = BattleScreen.OppPokemon Dim o As Pokemon = BattleScreen.OppPokemon
If own = False Then If own = False Then
p = BattleScreen.OppPokemon p = BattleScreen.OppPokemon
o = BattleScreen.OwnPokemon o = BattleScreen.OwnPokemon
End If End If
Dim status As Pokemon.StatusProblems = p.Status Dim status As Pokemon.StatusProblems = p.Status
If o.status <> Pokemon.StatusProblems.none Then If o.status <> Pokemon.StatusProblems.none Then
fails = True fails = True
End If End If
Select Case p.Status Select Case p.Status
Case Pokemon.StatusProblems.Poison Case Pokemon.StatusProblems.Poison
fails = Not BattleScreen.Battle.InflictPoison(Not own, own, BattleScreen, False, "", "move:psychoshift") fails = Not BattleScreen.Battle.InflictPoison(Not own, own, BattleScreen, False, "", "move:psychoshift")
Case Pokemon.StatusProblems.BadPoison Case Pokemon.StatusProblems.BadPoison
fails = Not BattleScreen.Battle.InflictPoison(Not own, own, BattleScreen, True, "", "move:psychoshift") fails = Not BattleScreen.Battle.InflictPoison(Not own, own, BattleScreen, True, "", "move:psychoshift")
Case Pokemon.StatusProblems.Sleep Case Pokemon.StatusProblems.Sleep
fails = Not BattleScreen.Battle.InflictSleep(Not own, own, BattleScreen, -1, "", "move:psychoshift") fails = Not BattleScreen.Battle.InflictSleep(Not own, own, BattleScreen, -1, "", "move:psychoshift")
Case Pokemon.StatusProblems.Paralyzed Case Pokemon.StatusProblems.Paralyzed
fails = Not BattleScreen.Battle.InflictParalysis(Not own, own, BattleScreen, "", "move:psychoshift") fails = Not BattleScreen.Battle.InflictParalysis(Not own, own, BattleScreen, "", "move:psychoshift")
Case Pokemon.StatusProblems.Freeze Case Pokemon.StatusProblems.Freeze
fails = Not BattleScreen.Battle.InflictFreeze(Not own, own, BattleScreen, "", "move:psychoshift") fails = Not BattleScreen.Battle.InflictFreeze(Not own, own, BattleScreen, "", "move:psychoshift")
Case Pokemon.StatusProblems.Burn Case Pokemon.StatusProblems.Burn
fails = Not BattleScreen.Battle.InflictBurn(Not own, own, BattleScreen, "", "move:psychoshift") fails = Not BattleScreen.Battle.InflictBurn(Not own, own, BattleScreen, "", "move:psychoshift")
Case Else Case Else
fails = True fails = True
End Select End Select
If fails = True Then If fails = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Else Else
BattleScreen.Battle.CureStatusProblem(own, own, BattleScreen, "", "move:psychoshift") BattleScreen.Battle.CureStatusProblem(own, own, BattleScreen, "", "move:psychoshift")
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,91 +1,91 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class Reflect Public Class Reflect
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 115 Me.ID = 115
Me.OriginalPP = 20 Me.OriginalPP = 20
Me.CurrentPP = 20 Me.CurrentPP = 20
Me.MaxPP = 20 Me.MaxPP = 20
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Smart
Me.Name = "Reflect" Me.Name = "Reflect"
Me.Description = "A wondrous wall is put up to suppress damage from physical attacks for five turns." Me.Description = "A wondrous wall is put up to suppress damage from physical attacks for five turns."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.Self Me.Target = Targets.Self
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = True Me.SnatchAffected = True
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.Support Me.AIField1 = AIField.Support
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
If own = False Then If own = False Then
p = BattleScreen.OppPokemon p = BattleScreen.OppPokemon
End If End If
Dim turns As Integer = 6 Dim turns As Integer = 6
If Not p.Item Is Nothing Then 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 If p.Item.Name.ToLower() = "light clay" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
turns = 9 turns = 9
End If End If
End If End If
If own = True Then If own = True Then
If BattleScreen.FieldEffects.OwnReflect = 0 Then If BattleScreen.FieldEffects.OwnReflect = 0 Then
BattleScreen.FieldEffects.OwnReflect = turns BattleScreen.FieldEffects.OwnReflect = turns
BattleScreen.BattleQuery.Add(New TextQueryObject("Reflect raised your team's Defense!")) BattleScreen.BattleQuery.Add(New TextQueryObject("Reflect raised your team's Defense!"))
Else Else
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
Else Else
If BattleScreen.FieldEffects.OppReflect = 0 Then If BattleScreen.FieldEffects.OppReflect = 0 Then
BattleScreen.FieldEffects.OppReflect = turns BattleScreen.FieldEffects.OppReflect = turns
BattleScreen.BattleQuery.Add(New TextQueryObject("Reflect raised the other team's Defense!")) BattleScreen.BattleQuery.Add(New TextQueryObject("Reflect raised the other team's Defense!"))
Else Else
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,94 +1,94 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class Rest Public Class Rest
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 156 Me.ID = 156
Me.OriginalPP = 10 Me.OriginalPP = 10
Me.CurrentPP = 10 Me.CurrentPP = 10
Me.MaxPP = 10 Me.MaxPP = 10
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cute Me.ContestCategory = ContestCategories.Cute
Me.Name = "Rest" Me.Name = "Rest"
Me.Description = "The user goes to sleep for two turns. It fully restores the users HP and heals any status problem." Me.Description = "The user goes to sleep for two turns. It fully restores the users HP and heals any status problem."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.Self Me.Target = Targets.Self
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = True Me.SnatchAffected = True
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = True Me.IsHealingMove = True
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.Healing Me.AIField1 = AIField.Healing
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim fails As Boolean = False Dim fails As Boolean = False
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
If own = False Then If own = False Then
p = BattleScreen.OppPokemon p = BattleScreen.OppPokemon
End If End If
Dim status As Pokemon.StatusProblems = p.Status Dim status As Pokemon.StatusProblems = p.Status
Dim healBlock As Integer = BattleScreen.FieldEffects.OwnHealBlock Dim healBlock As Integer = BattleScreen.FieldEffects.OwnHealBlock
If own = False Then If own = False Then
healBlock = BattleScreen.FieldEffects.OppHealBlock healBlock = BattleScreen.FieldEffects.OppHealBlock
End If End If
If healBlock > 0 Then If healBlock > 0 Then
fails = True fails = True
Else Else
If p.HP >= p.MaxHP Then If p.HP >= p.MaxHP Then
fails = True fails = True
Else Else
If BattleScreen.Battle.InflictSleep(own, own, BattleScreen, 3, "", "move:rest") = False Then If BattleScreen.Battle.InflictSleep(own, own, BattleScreen, 3, "", "move:rest") = False Then
fails = True fails = True
End If End If
End If End If
End If End If
If fails = True Then If fails = True Then
p.Status = status p.Status = status
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Else Else
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " slept and became healthy.")) BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " slept and became healthy."))
BattleScreen.Battle.GainHP(p.MaxHP - p.HP, own, own, BattleScreen, "", "move:rest") BattleScreen.Battle.GainHP(p.MaxHP - p.HP, own, own, BattleScreen, "", "move:rest")
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,77 +1,77 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class RolePlay Public Class RolePlay
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 272 Me.ID = 272
Me.OriginalPP = 10 Me.OriginalPP = 10
Me.CurrentPP = 10 Me.CurrentPP = 10
Me.MaxPP = 10 Me.MaxPP = 10
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cute Me.ContestCategory = ContestCategories.Cute
Me.Name = "Role Play" Me.Name = "Role Play"
Me.Description = "The user mimics the target completely, copying the target's natural Ability." Me.Description = "The user mimics the target completely, copying the target's natural Ability."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = False Me.ProtectAffected = False
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.Support Me.AIField1 = AIField.Support
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
Dim op As Pokemon = BattleScreen.OppPokemon Dim op As Pokemon = BattleScreen.OppPokemon
If own = False Then If own = False Then
p = BattleScreen.OppPokemon p = BattleScreen.OppPokemon
op = BattleScreen.OwnPokemon op = BattleScreen.OwnPokemon
End If End If
If p.OriginalAbility Is Nothing Then If p.OriginalAbility Is Nothing Then
p.OriginalAbility = p.Ability p.OriginalAbility = p.Ability
End If End If
p.Ability = New Ability(op.Ability.ID, op.Ability.Name, op.Ability.Description) 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() & ".")) BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " copies " & op.Ability.Name & " from " & op.GetDisplayName() & "."))
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,87 +1,87 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class SkillSwap Public Class SkillSwap
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 285 Me.ID = 285
Me.OriginalPP = 10 Me.OriginalPP = 10
Me.CurrentPP = 10 Me.CurrentPP = 10
Me.MaxPP = 10 Me.MaxPP = 10
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Smart
Me.Name = "Skill Swap" Me.Name = "Skill Swap"
Me.Description = "The user employs its psychic power to exchange Abilities with the target." Me.Description = "The user employs its psychic power to exchange Abilities with the target."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = True Me.ProtectAffected = True
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.Support Me.AIField1 = AIField.Support
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
Dim op As Pokemon = BattleScreen.OppPokemon Dim op As Pokemon = BattleScreen.OppPokemon
If own = False Then If own = False Then
p = BattleScreen.OppPokemon p = BattleScreen.OppPokemon
op = BattleScreen.OwnPokemon op = BattleScreen.OwnPokemon
End If End If
Dim bannedAbilities() As String = {"wonder guard", "multitype", "illusion", "stance change"} 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 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 pAbility As Integer = p.Ability.ID
Dim opAbility As Integer = op.Ability.ID Dim opAbility As Integer = op.Ability.ID
p.OriginalAbility = Ability.GetAbilityByID(p.Ability.ID) p.OriginalAbility = Ability.GetAbilityByID(p.Ability.ID)
op.OriginalAbility = Ability.GetAbilityByID(op.Ability.ID) op.OriginalAbility = Ability.GetAbilityByID(op.Ability.ID)
p.Ability = Ability.GetAbilityByID(opAbility) p.Ability = Ability.GetAbilityByID(opAbility)
op.Ability = Ability.GetAbilityByID(pAbility) op.Ability = Ability.GetAbilityByID(pAbility)
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " swapped abilities with its target!")) BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " swapped abilities with its target!"))
Else Else
'fails 'fails
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
End Sub End Sub
End Class End Class
End Namespace End Namespace

View File

@ -1,123 +1,123 @@
Namespace BattleSystem.Moves.Psychic Namespace BattleSystem.Moves.Psychic
Public Class Trick Public Class Trick
Inherits Attack Inherits Attack
Public Sub New() Public Sub New()
'#Definitions '#Definitions
Me.Type = New Element(Element.Types.Psychic) Me.Type = New Element(Element.Types.Psychic)
Me.ID = 271 Me.ID = 271
Me.OriginalPP = 10 Me.OriginalPP = 10
Me.CurrentPP = 10 Me.CurrentPP = 10
Me.MaxPP = 10 Me.MaxPP = 10
Me.Power = 0 Me.Power = 0
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Smart
Me.Name = "Trick" Me.Name = "Trick"
Me.Description = "The user catches the target off guard and swaps its held item with its own." Me.Description = "The user catches the target off guard and swaps its held item with its own."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = True Me.ProtectAffected = True
Me.MagicCoatAffected = False Me.MagicCoatAffected = False
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True
Me.KingsrockAffected = False Me.KingsrockAffected = False
Me.CounterAffected = False Me.CounterAffected = False
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = False Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = False
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = False Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False Me.IsWonderGuardAffected = False
'#End '#End
Me.AIField1 = AIField.Support Me.AIField1 = AIField.Support
Me.AIField2 = AIField.Nothing Me.AIField2 = AIField.Nothing
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
Dim op As Pokemon = BattleScreen.OppPokemon Dim op As Pokemon = BattleScreen.OppPokemon
If own = False Then If own = False Then
p = BattleScreen.OppPokemon p = BattleScreen.OppPokemon
op = BattleScreen.OwnPokemon op = BattleScreen.OwnPokemon
End If End If
If p.Item Is Nothing And op.Item Is Nothing Then If p.Item Is Nothing And op.Item Is Nothing Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Else Else
If p.Ability.Name.ToLower() = "sticky hold" Or op.Ability.Name.ToLower() = "sticky hold" Then If p.Ability.Name.ToLower() = "sticky hold" Or op.Ability.Name.ToLower() = "sticky hold" Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Else Else
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower() = "griseous orb" AndAlso p.Number = 487 Then 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!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Else Else
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower() = "griseous orb" AndAlso op.Number = 487 Then 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!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Else Else
If CheckMultitypePlate(p, op) = False Then If CheckMultitypePlate(p, op) = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Else Else
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then 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!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Else Else
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then 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!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Else Else
Dim i1 As Item = p.Item Dim i1 As Item = p.Item
Dim i2 As Item = op.Item Dim i2 As Item = op.Item
p.Item = i2 p.Item = i2
op.Item = i1 op.Item = i1
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " switched items with " & op.GetDisplayName() & ".")) 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 If
End If End If
End If End If
End If End If
End Sub End Sub
Private Function CheckMultitypePlate(ByVal p As Pokemon, ByVal op As Pokemon) As Boolean 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 If p.Ability.Name.ToLower() <> "multitype" And op.Ability.Name.ToLower() = "multitype" Then
Return True Return True
Else Else
If Not p.Item Is Nothing Then If Not p.Item Is Nothing Then
If p.Item.Name.ToLower().EndsWith(" plate") = True Then If p.Item.Name.ToLower().EndsWith(" plate") = True Then
Return False Return False
End If End If
End If End If
If Not op.Item Is Nothing Then If Not op.Item Is Nothing Then
If op.Item.Name.ToLower().EndsWith(" plate") = True Then If op.Item.Name.ToLower().EndsWith(" plate") = True Then
Return False Return False
End If End If
End If End If
End If End If
Return True Return True
End Function End Function
End Class End Class
End Namespace End Namespace