Terrain related moves added
This commit is contained in:
parent
dc10d9d505
commit
4907ee5bf2
|
@ -1402,10 +1402,10 @@
|
|||
'Crafty Shield
|
||||
'Case 579
|
||||
'Flower Shield
|
||||
'Case 580
|
||||
'Grassy Terrain
|
||||
'Case 581
|
||||
'Misty Terrain
|
||||
Case 580
|
||||
returnMove = New Moves.Grass.GrassyTerrain()
|
||||
Case 581
|
||||
returnMove = New Moves.Fairy.MistyTerrain()
|
||||
'Case 582
|
||||
'Electrify
|
||||
Case 583
|
||||
|
@ -1450,8 +1450,8 @@
|
|||
'Magnetic Flux - Double Battles
|
||||
'Case 603
|
||||
'Happy Hour
|
||||
'Case 604
|
||||
'Electric Terrain
|
||||
Case 604
|
||||
returnMove = New Moves.Electric.ElectricTerrain()
|
||||
Case 605
|
||||
returnMove = New Moves.Fairy.DazzlingGleam()
|
||||
Case 606
|
||||
|
@ -1600,8 +1600,8 @@
|
|||
returnMove = New Moves.Bug.PollenPuff()
|
||||
Case 677
|
||||
returnMove = New Moves.Steel.AnchorShot()
|
||||
'Case 678
|
||||
'Psychic Terrain
|
||||
Case 678
|
||||
returnMove = New Moves.Psychic.PsychicTerrain()
|
||||
Case 679
|
||||
returnMove = New Moves.Bug.Lunge()
|
||||
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 Sub
|
||||
|
||||
Public Shared Function GetMoveID() As Integer
|
||||
Select Case Screen.Level.Terrain.TerrainType
|
||||
Case Terrain.TerrainTypes.Plain
|
||||
Return 161
|
||||
Case Terrain.TerrainTypes.Cave
|
||||
Return 247
|
||||
Case Terrain.TerrainTypes.DisortionWorld
|
||||
Return 185
|
||||
Case Terrain.TerrainTypes.LongGrass
|
||||
Return 75
|
||||
Case Terrain.TerrainTypes.Magma
|
||||
Return 172
|
||||
Case Terrain.TerrainTypes.PondWater
|
||||
Return 61
|
||||
Case Terrain.TerrainTypes.Puddles
|
||||
Return 426
|
||||
Case Terrain.TerrainTypes.Rock
|
||||
Return 157
|
||||
Case Terrain.TerrainTypes.Sand
|
||||
Return 89
|
||||
Case Terrain.TerrainTypes.SeaWater
|
||||
Return 56
|
||||
Case Terrain.TerrainTypes.Snow
|
||||
Return 58
|
||||
Case Terrain.TerrainTypes.TallGrass
|
||||
Return 402
|
||||
Case Terrain.TerrainTypes.Underwater
|
||||
Return 291
|
||||
End Select
|
||||
|
||||
Return 89
|
||||
Public Shared Function GetMoveID(own As Boolean, Battlescreen As BattleScreen) As Integer
|
||||
If Battlescreen.FieldEffects.ElectricTerrain > 0 Then
|
||||
Return 85
|
||||
ElseIf Battlescreen.FieldEffects.GrassyTerrain > 0 Then
|
||||
Return 412
|
||||
ElseIf Battlescreen.FieldEffects.MistyTerrain > 0 Then
|
||||
Return 585
|
||||
ElseIf Battlescreen.FieldEffects.PsychicTerrain > 0 Then
|
||||
Return 94
|
||||
Else
|
||||
Select Case Screen.Level.Terrain.TerrainType
|
||||
Case Terrain.TerrainTypes.Plain
|
||||
Return 161
|
||||
Case Terrain.TerrainTypes.Cave
|
||||
Return 247
|
||||
Case Terrain.TerrainTypes.DisortionWorld
|
||||
Return 185
|
||||
Case Terrain.TerrainTypes.LongGrass
|
||||
Return 75
|
||||
Case Terrain.TerrainTypes.Magma
|
||||
Return 172
|
||||
Case Terrain.TerrainTypes.PondWater
|
||||
Return 61
|
||||
Case Terrain.TerrainTypes.Puddles
|
||||
Return 426
|
||||
Case Terrain.TerrainTypes.Rock
|
||||
Return 157
|
||||
Case Terrain.TerrainTypes.Sand
|
||||
Return 89
|
||||
Case Terrain.TerrainTypes.SeaWater
|
||||
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 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