Terrain related moves added
This commit is contained in:
parent
dc10d9d505
commit
4907ee5bf2
|
@ -1402,10 +1402,10 @@
|
||||||
'Crafty Shield
|
'Crafty Shield
|
||||||
'Case 579
|
'Case 579
|
||||||
'Flower Shield
|
'Flower Shield
|
||||||
'Case 580
|
Case 580
|
||||||
'Grassy Terrain
|
returnMove = New Moves.Grass.GrassyTerrain()
|
||||||
'Case 581
|
Case 581
|
||||||
'Misty Terrain
|
returnMove = New Moves.Fairy.MistyTerrain()
|
||||||
'Case 582
|
'Case 582
|
||||||
'Electrify
|
'Electrify
|
||||||
Case 583
|
Case 583
|
||||||
|
@ -1450,8 +1450,8 @@
|
||||||
'Magnetic Flux - Double Battles
|
'Magnetic Flux - Double Battles
|
||||||
'Case 603
|
'Case 603
|
||||||
'Happy Hour
|
'Happy Hour
|
||||||
'Case 604
|
Case 604
|
||||||
'Electric Terrain
|
returnMove = New Moves.Electric.ElectricTerrain()
|
||||||
Case 605
|
Case 605
|
||||||
returnMove = New Moves.Fairy.DazzlingGleam()
|
returnMove = New Moves.Fairy.DazzlingGleam()
|
||||||
Case 606
|
Case 606
|
||||||
|
@ -1600,8 +1600,8 @@
|
||||||
returnMove = New Moves.Bug.PollenPuff()
|
returnMove = New Moves.Bug.PollenPuff()
|
||||||
Case 677
|
Case 677
|
||||||
returnMove = New Moves.Steel.AnchorShot()
|
returnMove = New Moves.Steel.AnchorShot()
|
||||||
'Case 678
|
Case 678
|
||||||
'Psychic Terrain
|
returnMove = New Moves.Psychic.PsychicTerrain()
|
||||||
Case 679
|
Case 679
|
||||||
returnMove = New Moves.Bug.Lunge()
|
returnMove = New Moves.Bug.Lunge()
|
||||||
Case 680
|
Case 680
|
||||||
|
|
|
@ -0,0 +1,75 @@
|
||||||
|
Namespace BattleSystem.Moves.Electric
|
||||||
|
|
||||||
|
Public Class ElectricTerrain
|
||||||
|
|
||||||
|
Inherits Attack
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
'#Definitions
|
||||||
|
Me.Type = New Element(Element.Types.Electric)
|
||||||
|
Me.ID = 604
|
||||||
|
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 = "Electric Terrain"
|
||||||
|
Me.Description = "The user electrifies the ground for five turns, powering up Electric-type moves. Pokémon on the ground no longer fall asleep."
|
||||||
|
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 = False
|
||||||
|
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 = 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 turns As Integer = BattleCalculation.FieldEffectTurns(BattleScreen, own, Me.Name.ToLower())
|
||||||
|
If BattleScreen.FieldEffects.ElectricTerrain <= 0 Then
|
||||||
|
|
||||||
|
BattleScreen.FieldEffects.ElectricTerrain = turns
|
||||||
|
BattleScreen.FieldEffects.GrassyTerrain = 0
|
||||||
|
BattleScreen.FieldEffects.PsychicTerrain = 0
|
||||||
|
BattleScreen.FieldEffects.MistyTerrain = 0
|
||||||
|
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject("An electric current runs across the battlefield!"))
|
||||||
|
Else
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
|
@ -0,0 +1,75 @@
|
||||||
|
Namespace BattleSystem.Moves.Fairy
|
||||||
|
|
||||||
|
Public Class MistyTerrain
|
||||||
|
|
||||||
|
Inherits Attack
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
'#Definitions
|
||||||
|
Me.Type = New Element(Element.Types.Fairy)
|
||||||
|
Me.ID = 581
|
||||||
|
Me.OriginalPP = 10
|
||||||
|
Me.CurrentPP = 10
|
||||||
|
Me.MaxPP = 10
|
||||||
|
Me.Power = 0
|
||||||
|
Me.Accuracy = 0
|
||||||
|
Me.Category = Categories.Status
|
||||||
|
Me.ContestCategory = ContestCategories.Beauty
|
||||||
|
Me.Name = "Misty Terrain"
|
||||||
|
Me.Description = "This protects Pokémon on the ground from status conditions and halves damage from Dragon-type moves for five turns."
|
||||||
|
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 = False
|
||||||
|
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 = 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 turns As Integer = BattleCalculation.FieldEffectTurns(BattleScreen, own, Me.Name.ToLower())
|
||||||
|
If BattleScreen.FieldEffects.MistyTerrain <= 0 Then
|
||||||
|
|
||||||
|
BattleScreen.FieldEffects.ElectricTerrain = 0
|
||||||
|
BattleScreen.FieldEffects.GrassyTerrain = 0
|
||||||
|
BattleScreen.FieldEffects.PsychicTerrain = 0
|
||||||
|
BattleScreen.FieldEffects.MistyTerrain = turns
|
||||||
|
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject("Mist swirls around the battlefield!"))
|
||||||
|
Else
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
|
@ -0,0 +1,75 @@
|
||||||
|
Namespace BattleSystem.Moves.Grass
|
||||||
|
|
||||||
|
Public Class GrassyTerrain
|
||||||
|
|
||||||
|
Inherits Attack
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
'#Definitions
|
||||||
|
Me.Type = New Element(Element.Types.Grass)
|
||||||
|
Me.ID = 580
|
||||||
|
Me.OriginalPP = 10
|
||||||
|
Me.CurrentPP = 10
|
||||||
|
Me.MaxPP = 10
|
||||||
|
Me.Power = 0
|
||||||
|
Me.Accuracy = 0
|
||||||
|
Me.Category = Categories.Status
|
||||||
|
Me.ContestCategory = ContestCategories.Beauty
|
||||||
|
Me.Name = "Grassy Terrain"
|
||||||
|
Me.Description = "The user turns the ground to grass for five turns. This restores the HP of Pokémon on the ground a little every turn and powers up Grass type-moves."
|
||||||
|
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 = False
|
||||||
|
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 = 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 turns As Integer = BattleCalculation.FieldEffectTurns(BattleScreen, own, Me.Name.ToLower())
|
||||||
|
If BattleScreen.FieldEffects.GrassyTerrain <= 0 Then
|
||||||
|
|
||||||
|
BattleScreen.FieldEffects.ElectricTerrain = 0
|
||||||
|
BattleScreen.FieldEffects.GrassyTerrain = turns
|
||||||
|
BattleScreen.FieldEffects.PsychicTerrain = 0
|
||||||
|
BattleScreen.FieldEffects.MistyTerrain = 0
|
||||||
|
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject("Grass grew to cover the battlefield!"))
|
||||||
|
Else
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
|
@ -52,37 +52,46 @@
|
||||||
'#End
|
'#End
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Shared Function GetMoveID() As Integer
|
Public Shared Function GetMoveID(own As Boolean, Battlescreen As BattleScreen) As Integer
|
||||||
Select Case Screen.Level.Terrain.TerrainType
|
If Battlescreen.FieldEffects.ElectricTerrain > 0 Then
|
||||||
Case Terrain.TerrainTypes.Plain
|
Return 85
|
||||||
Return 161
|
ElseIf Battlescreen.FieldEffects.GrassyTerrain > 0 Then
|
||||||
Case Terrain.TerrainTypes.Cave
|
Return 412
|
||||||
Return 247
|
ElseIf Battlescreen.FieldEffects.MistyTerrain > 0 Then
|
||||||
Case Terrain.TerrainTypes.DisortionWorld
|
Return 585
|
||||||
Return 185
|
ElseIf Battlescreen.FieldEffects.PsychicTerrain > 0 Then
|
||||||
Case Terrain.TerrainTypes.LongGrass
|
Return 94
|
||||||
Return 75
|
Else
|
||||||
Case Terrain.TerrainTypes.Magma
|
Select Case Screen.Level.Terrain.TerrainType
|
||||||
Return 172
|
Case Terrain.TerrainTypes.Plain
|
||||||
Case Terrain.TerrainTypes.PondWater
|
Return 161
|
||||||
Return 61
|
Case Terrain.TerrainTypes.Cave
|
||||||
Case Terrain.TerrainTypes.Puddles
|
Return 247
|
||||||
Return 426
|
Case Terrain.TerrainTypes.DisortionWorld
|
||||||
Case Terrain.TerrainTypes.Rock
|
Return 185
|
||||||
Return 157
|
Case Terrain.TerrainTypes.LongGrass
|
||||||
Case Terrain.TerrainTypes.Sand
|
Return 75
|
||||||
Return 89
|
Case Terrain.TerrainTypes.Magma
|
||||||
Case Terrain.TerrainTypes.SeaWater
|
Return 172
|
||||||
Return 56
|
Case Terrain.TerrainTypes.PondWater
|
||||||
Case Terrain.TerrainTypes.Snow
|
Return 61
|
||||||
Return 58
|
Case Terrain.TerrainTypes.Puddles
|
||||||
Case Terrain.TerrainTypes.TallGrass
|
Return 426
|
||||||
Return 402
|
Case Terrain.TerrainTypes.Rock
|
||||||
Case Terrain.TerrainTypes.Underwater
|
Return 157
|
||||||
Return 291
|
Case Terrain.TerrainTypes.Sand
|
||||||
End Select
|
Return 89
|
||||||
|
Case Terrain.TerrainTypes.SeaWater
|
||||||
Return 89
|
Return 56
|
||||||
|
Case Terrain.TerrainTypes.Snow
|
||||||
|
Return 58
|
||||||
|
Case Terrain.TerrainTypes.TallGrass
|
||||||
|
Return 402
|
||||||
|
Case Terrain.TerrainTypes.Underwater
|
||||||
|
Return 291
|
||||||
|
End Select
|
||||||
|
Return 89
|
||||||
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
|
@ -0,0 +1,75 @@
|
||||||
|
Namespace BattleSystem.Moves.Psychic
|
||||||
|
|
||||||
|
Public Class PsychicTerrain
|
||||||
|
|
||||||
|
Inherits Attack
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
'#Definitions
|
||||||
|
Me.Type = New Element(Element.Types.Psychic)
|
||||||
|
Me.ID = 678
|
||||||
|
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 = "Psychic Terrain"
|
||||||
|
Me.Description = "This protects Pokémon on the ground from priority moves and powers up Psychic-type moves for five turns."
|
||||||
|
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 = False
|
||||||
|
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 = 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 turns As Integer = BattleCalculation.FieldEffectTurns(BattleScreen, own, Me.Name.ToLower())
|
||||||
|
If BattleScreen.FieldEffects.PsychicTerrain <= 0 Then
|
||||||
|
|
||||||
|
BattleScreen.FieldEffects.ElectricTerrain = 0
|
||||||
|
BattleScreen.FieldEffects.GrassyTerrain = 0
|
||||||
|
BattleScreen.FieldEffects.PsychicTerrain = turns
|
||||||
|
BattleScreen.FieldEffects.MistyTerrain = 0
|
||||||
|
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject("The battlefield got weird!"))
|
||||||
|
Else
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
Loading…
Reference in New Issue