some moves + min gfx

This commit is contained in:
Ruan Pablo 2018-10-22 00:10:27 -02:00
parent 4bac250b97
commit 35bb43d0a4
15 changed files with 606 additions and 26 deletions

View File

@ -124,11 +124,13 @@
Exit Sub Exit Sub
End If End If
'If Shadow Force gets programmed, put this in. 'Shadow Force:
'If BattleScreen.FieldEffects.OwnShadowForceCounter = 1 Then If BattleScreen.FieldEffects.OwnShadowForceCounter = 1 Then
' InitializeRound(BattleScreen, New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OwnPokemon, xxx)}) SelectedMoveOwn = False
' Exit Sub DeleteHostQuery(BattleScreen)
'End If InitializeRound(BattleScreen, New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OwnPokemon, 467)})
Exit Sub
End If
'If Sky Drop gets programmed, put this in. 'If Sky Drop gets programmed, put this in.
'If BattleScreen.FieldEffects.OwnSkyDropCounter = 1 Then 'If BattleScreen.FieldEffects.OwnSkyDropCounter = 1 Then
@ -301,10 +303,11 @@
Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OppPokemon, 291)} Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OppPokemon, 291)}
End If End If
''Shadow Force: 'Shadow Force:
'If BattleScreen.FieldEffects.OppShadowForceCounter = 1 Then If BattleScreen.FieldEffects.OppShadowForceCounter = 1 Then
' Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = (19).ToString()} SelectedMoveOpp = False
'End If Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OppPokemon, 467)}
End If
''Sky Drop: ''Sky Drop:
'If BattleScreen.FieldEffects.OppSkyDropCounter = 1 Then 'If BattleScreen.FieldEffects.OppSkyDropCounter = 1 Then
@ -944,7 +947,7 @@
Dim dig As Integer Dim dig As Integer
Dim dive As Integer Dim dive As Integer
Dim skyDrop As Integer 'not implemented yet Dim skyDrop As Integer 'not implemented yet
Dim shadowForce As Integer 'not implemented yet Dim shadowForce As Integer
Dim skullBash As Integer Dim skullBash As Integer
Dim skyAttack As Integer Dim skyAttack As Integer
Dim solarBeam As Integer Dim solarBeam As Integer

View File

@ -575,6 +575,9 @@
If UsedAttack.ID = 524 Then If UsedAttack.ID = 524 Then
Return True Return True
End If End If
If UsedAttack.ID = 480 Then
Return True
End If
Return False Return False
End Function End Function

Binary file not shown.

Before

Width:  |  Height:  |  Size: 763 B

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -25508,6 +25508,24 @@
</Content> </Content>
<Compile Include="Pokemon\Abilities\Aerilate.vb" /> <Compile Include="Pokemon\Abilities\Aerilate.vb" />
<Compile Include="Pokemon\Abilities\ParentalBond.vb" /> <Compile Include="Pokemon\Abilities\ParentalBond.vb" />
<Compile Include="Pokemon\Attacks\Dark\DarkVoid.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Dragon\SpacialRend.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Fighting\StormThrow.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Ghost\ShadowForce.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Ground\ThousandWaves.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Ice\Avalanche.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Items\KeyItems\LibertySeaMap.vb" /> <Compile Include="Pokemon\Items\KeyItems\LibertySeaMap.vb" />
<Compile Include="Pokemon\Items\Standard\ExpertBelt.vb" /> <Compile Include="Pokemon\Items\Standard\ExpertBelt.vb" />
<Compile Include="Resources\Blur\BlurHandler.vb" /> <Compile Include="Resources\Blur\BlurHandler.vb" />
@ -25763,9 +25781,13 @@
<Compile Include="Battle\BattleAnimations\BASize.vb" /> <Compile Include="Battle\BattleAnimations\BASize.vb" />
<Compile Include="Battle\BattleAnimations\BattleAnimation3D.vb" /> <Compile Include="Battle\BattleAnimations\BattleAnimation3D.vb" />
<Compile Include="Battle\BattleStats.vb" /> <Compile Include="Battle\BattleStats.vb" />
<Compile Include="Battle\BattleSystemV2\Battle.vb" /> <Compile Include="Battle\BattleSystemV2\Battle.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Battle\BattleSystemV2\BattleAnimationScreenV2.vb" /> <Compile Include="Battle\BattleSystemV2\BattleAnimationScreenV2.vb" />
<Compile Include="Battle\BattleSystemV2\BattleCalculation.vb" /> <Compile Include="Battle\BattleSystemV2\BattleCalculation.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Battle\BattleSystemV2\BattleCameraV2.vb" /> <Compile Include="Battle\BattleSystemV2\BattleCameraV2.vb" />
<Compile Include="Battle\BattleSystemV2\BattleMenu.vb" /> <Compile Include="Battle\BattleSystemV2\BattleMenu.vb" />
<Compile Include="Battle\BattleSystemV2\BattleScreen.vb" /> <Compile Include="Battle\BattleSystemV2\BattleScreen.vb" />
@ -26106,7 +26128,9 @@
<Compile Include="Pokemon\Abilities\WonderGuard.vb" /> <Compile Include="Pokemon\Abilities\WonderGuard.vb" />
<Compile Include="Pokemon\Abilities\WonderSkin.vb" /> <Compile Include="Pokemon\Abilities\WonderSkin.vb" />
<Compile Include="Pokemon\Abilities\ZenMode.vb" /> <Compile Include="Pokemon\Abilities\ZenMode.vb" />
<Compile Include="Pokemon\Attacks\Attack.vb" /> <Compile Include="Pokemon\Attacks\Attack.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\AttackSpecialFunctions.vb" /> <Compile Include="Pokemon\Attacks\AttackSpecialFunctions.vb" />
<Compile Include="Pokemon\Attacks\Bug\AttackOrder.vb" /> <Compile Include="Pokemon\Attacks\Bug\AttackOrder.vb" />
<Compile Include="Pokemon\Attacks\Bug\BugBite.vb" /> <Compile Include="Pokemon\Attacks\Bug\BugBite.vb" />

View File

@ -1080,8 +1080,8 @@
returnMove = New Moves.Dark.NastyPlot() returnMove = New Moves.Dark.NastyPlot()
Case 418 Case 418
returnMove = New Moves.Steel.BulletPunch() returnMove = New Moves.Steel.BulletPunch()
'Case 419 Case 419
'Avalanche returnMove = New Moves.Ice.Avalanche()
Case 420 Case 420
returnMove = New Moves.Ice.IceShard() returnMove = New Moves.Ice.IceShard()
Case 421 Case 421
@ -1162,22 +1162,22 @@
returnMove = New Moves.Normal.DoubleHit() returnMove = New Moves.Normal.DoubleHit()
Case 459 Case 459
returnMove = New Moves.Dragon.RoarOfTime() returnMove = New Moves.Dragon.RoarOfTime()
'Case 460 Case 460
'Spacial Rend returnMove = New Moves.Dragon.SpacialRend()
'Case 461 'Case 461
'Lunar Dance 'Lunar Dance
Case 462 Case 462
returnMove = New Moves.Normal.CrushGrip() returnMove = New Moves.Normal.CrushGrip()
Case 463 Case 463
returnMove = New Moves.Fire.MagmaStorm() returnMove = New Moves.Fire.MagmaStorm()
'Case 464 Case 464
'Dark Void returnMove = New Moves.Dark.DarkVoid()
Case 465 Case 465
returnMove = New Moves.Grass.Seedflare() returnMove = New Moves.Grass.Seedflare()
Case 466 Case 466
returnMove = New Moves.Ghost.OminousWind() returnMove = New Moves.Ghost.OminousWind()
'Case 467 Case 467
'Shadow Force returnMove = New Moves.Ghost.ShadowForce()
Case 468 Case 468
returnMove = New Moves.Dark.HoneClaws() returnMove = New Moves.Dark.HoneClaws()
'Case 469 'Case 469
@ -1202,8 +1202,8 @@
'Magic Room 'Magic Room
Case 479 Case 479
returnMove = New Moves.Rock.SmackDown() returnMove = New Moves.Rock.SmackDown()
'Case 480 Case 480
'Storm Throw returnMove = New Moves.Fighting.StormThrow()
Case 481 Case 481
returnMove = New Moves.Fire.FlameBurst() returnMove = New Moves.Fire.FlameBurst()
Case 482 Case 482
@ -1471,9 +1471,9 @@
Case 613 Case 613
returnMove = New Moves.Flying.OblivionWing() returnMove = New Moves.Flying.OblivionWing()
'Case 614 'Case 614
'Tousand Arrows 'Thousand Arrows
'Case 615 Case 615
'Thousand Waves returnMove = New Moves.Ground.ThousandWaves()
Case 616 Case 616
returnMove = New Moves.Ground.LandsWrath() returnMove = New Moves.Ground.LandsWrath()
'Case 617 'Case 617

View File

@ -0,0 +1,67 @@
Namespace BattleSystem.Moves.Dark
Public Class DarkVoid
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Dark)
Me.ID = 464
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 0
Me.Accuracy = 50
Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart
Me.Name = "Dark Void"
Me.Description = "Opposing Pokémon are dragged into a world of total darkness that makes them sleep."
Me.CriticalChance = 0
Me.IsHMMove = False
Me.Target = Targets.AllAdjacentFoes
Me.Priority = 0
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = False
Me.ProtectAffected = True
Me.MagicCoatAffected = True
Me.SnatchAffected = False
Me.MirrorMoveAffected = True
Me.KingsrockAffected = False
Me.CounterAffected = False
Me.DisabledWhileGravity = False
Me.UseEffectiveness = False
Me.ImmunityAffected = False
Me.RemovesFrozen = False
Me.HasSecondaryEffect = False
Me.IsHealingMove = False
Me.IsRecoilMove = False
Me.IsPunchingMove = False
Me.IsDamagingMove = False
Me.IsProtectMove = False
Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False
'#End
Me.AIField1 = AIField.Sleep
Me.AIField2 = AIField.Nothing
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim b As Boolean = BattleScreen.Battle.InflictSleep(Not own, own, BattleScreen, -1, "", "move:darkvoid")
If b = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If
End Sub
End Class
End Namespace

View File

@ -0,0 +1,57 @@
Namespace BattleSystem.Moves.Dragon
Public Class SpacialRend
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Dragon)
Me.ID = 460
Me.OriginalPP = 5
Me.CurrentPP = 5
Me.MaxPP = 5
Me.Power = 100
Me.Accuracy = 95
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Tough
Me.Name = "Spacial Rend"
Me.Description = "The user tears the target along with the space around it. Critical hits land more easily."
Me.CriticalChance = 2
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = False
Me.ProtectAffected = True
Me.MagicCoatAffected = False
Me.SnatchAffected = False
Me.MirrorMoveAffected = True
Me.KingsrockAffected = True
Me.CounterAffected = False
Me.DisabledWhileGravity = False
Me.UseEffectiveness = True
Me.ImmunityAffected = True
Me.HasSecondaryEffect = False
Me.RemovesFrozen = False
Me.IsHealingMove = False
Me.IsRecoilMove = False
Me.IsPunchingMove = False
Me.IsDamagingMove = True
Me.IsProtectMove = False
Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True
'#End
End Sub
End Class
End Namespace

View File

@ -0,0 +1,56 @@
Namespace BattleSystem.Moves.Fighting
Public Class StormThrow
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Fighting)
Me.ID = 480
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 60
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Storm Throw"
Me.Description = "The user strikes the target with a fierce blow. This attack always results in a critical hit."
Me.CriticalChance = 1
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = True
Me.ProtectAffected = True
Me.MagicCoatAffected = False
Me.SnatchAffected = False
Me.MirrorMoveAffected = True
Me.KingsrockAffected = True
Me.CounterAffected = True
Me.DisabledWhileGravity = False
Me.UseEffectiveness = True
Me.ImmunityAffected = True
Me.RemovesFrozen = False
Me.HasSecondaryEffect = False
Me.IsHealingMove = False
Me.IsRecoilMove = False
Me.IsPunchingMove = False
Me.IsDamagingMove = True
Me.IsProtectMove = False
Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True
'#End
End Sub
End Class
End Namespace

View File

@ -0,0 +1,200 @@
Namespace BattleSystem.Moves.Ghost
Public Class ShadowForce
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Ghost)
Me.ID = 467
Me.OriginalPP = 5
Me.CurrentPP = 5
Me.MaxPP = 5
Me.Power = 120
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart
Me.Name = "Shadow Force"
Me.Description = "The user disappears, then strikes the target on the next turn. This move hits even if the target protects itself."
Me.CriticalChance = 1
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = True
Me.ProtectAffected = False
Me.MagicCoatAffected = False
Me.SnatchAffected = False
Me.MirrorMoveAffected = True
Me.KingsrockAffected = True
Me.CounterAffected = True
Me.DisabledWhileGravity = False
Me.UseEffectiveness = True
Me.ImmunityAffected = True
Me.RemovesFrozen = False
Me.HasSecondaryEffect = False
Me.IsHealingMove = False
Me.IsRecoilMove = False
Me.IsPunchingMove = False
Me.IsDamagingMove = True
Me.IsProtectMove = False
Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True
Me.UseAccEvasion = True
Me.CanHitUnderwater = False
Me.CanHitUnderground = False
Me.CanHitInMidAir = False
'#End
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.MultiTurn
End Sub
Public Overrides Function GetUseAccEvasion(own As Boolean, BattleScreen As BattleScreen) As Boolean
Dim shadowforce As Integer = BattleScreen.FieldEffects.OwnShadowForceCounter
If own = False Then
shadowforce = BattleScreen.FieldEffects.OppShadowForceCounter
End If
If shadowforce = 0 Then
Return False
Else
Return True
End If
End Function
Public Overrides Sub PreAttack(Own As Boolean, BattleScreen As BattleScreen)
Dim shadowforce As Integer = BattleScreen.FieldEffects.OwnShadowForceCounter
If Own = False Then
shadowforce = BattleScreen.FieldEffects.OppShadowForceCounter
End If
If shadowforce = 0 Then
Me.FocusOppPokemon = False
Else
Me.FocusOppPokemon = True
End If
End Sub
Public Overrides Function MoveFailBeforeAttack(Own As Boolean, BattleScreen As BattleScreen) As Boolean
Dim shadowforceCounter As Integer = BattleScreen.FieldEffects.OwnShadowForceCounter
If Own = False Then
shadowforceCounter = BattleScreen.FieldEffects.OppShadowForceCounter
End If
Dim p As Pokemon = BattleScreen.OwnPokemon
If Own = False Then
p = BattleScreen.OppPokemon
End If
Dim hasToCharge As Boolean = True
If Not p.Item Is Nothing Then
If p.Item.Name.ToLower() = "power herb" And BattleScreen.FieldEffects.CanUseItem(Own) = True And BattleScreen.FieldEffects.CanUseOwnItem(Own, BattleScreen) = True Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "Power Herb pushed the use of Shadow Force!", "move:shadowforce") = True Then
hasToCharge = False
End If
End If
End If
If shadowforceCounter = 0 And hasToCharge = True Then
If Own = True Then
BattleScreen.FieldEffects.OwnShadowForceCounter = 1
Else
BattleScreen.FieldEffects.OppShadowForceCounter = 1
End If
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " vanished instantly!"))
Return True
Else
If Own = True Then
BattleScreen.FieldEffects.OwnShadowForceCounter = 0
Else
BattleScreen.FieldEffects.OppShadowForceCounter = 0
End If
Return False
End If
End Function
Public Overrides Sub MoveSelected(own As Boolean, BattleScreen As BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnShadowForceCounter = 0
Else
BattleScreen.FieldEffects.OppShadowForceCounter = 0
End If
End Sub
Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean
Dim ShadowForce As Integer = BattleScreen.FieldEffects.OwnShadowForceCounter
If own = False Then
ShadowForce = BattleScreen.FieldEffects.OppShadowForceCounter
End If
If ShadowForce = 0 Then
Return False
Else
Return True
End If
End Function
Private Sub MoveFails(own As Boolean, BattleScreen As BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnShadowForceCounter = 0
Else
BattleScreen.FieldEffects.OppShadowForceCounter = 0
End If
End Sub
Public Overrides Sub MoveMisses(own As Boolean, BattleScreen As BattleScreen)
MoveFails(own, BattleScreen)
End Sub
Public Overrides Sub AbsorbedBySubstitute(own As Boolean, BattleScreen As BattleScreen)
MoveFails(own, BattleScreen)
End Sub
Public Overrides Sub InflictedFlinch(own As Boolean, BattleScreen As BattleScreen)
MoveFails(own, BattleScreen)
End Sub
Public Overrides Sub IsSleeping(own As Boolean, BattleScreen As BattleScreen)
MoveFails(own, BattleScreen)
End Sub
Public Overrides Sub HurtItselfInConfusion(own As Boolean, BattleScreen As BattleScreen)
MoveFails(own, BattleScreen)
End Sub
Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen)
MoveFails(own, BattleScreen)
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim op As Pokemon = BattleScreen.OppPokemon
If own = True Then
BattleScreen.FieldEffects.OppDetectCounter = 0
BattleScreen.FieldEffects.OppProtectCounter = 0
Else
op = BattleScreen.OwnPokemon
BattleScreen.FieldEffects.OwnDetectCounter = 0
BattleScreen.FieldEffects.OwnProtectCounter = 0
End If
BattleScreen.BattleQuery.Add(New TextQueryObject("Shadow Force lifted " & op.GetDisplayName() & "'s protection!"))
End Sub
End Class
End Namespace

View File

@ -0,0 +1,78 @@
Namespace BattleSystem.Moves.Ground
Public Class ThousandWaves
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Ground)
Me.ID = 615
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 90
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough
Me.Name = "Thousand Waves"
Me.Description = "The user attacks with a wave that crawls along the ground. Those hit can't flee from battle."
Me.CriticalChance = 1
Me.IsHMMove = False
Me.Target = Targets.AllAdjacentFoes
Me.Priority = 0
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = False
Me.ProtectAffected = True
Me.MagicCoatAffected = False
Me.SnatchAffected = False
Me.MirrorMoveAffected = True
Me.KingsrockAffected = True
Me.CounterAffected = True
Me.DisabledWhileGravity = False
Me.UseEffectiveness = True
Me.ImmunityAffected = True
Me.HasSecondaryEffect = False
Me.RemovesFrozen = False
Me.IsHealingMove = False
Me.IsRecoilMove = False
Me.IsPunchingMove = False
Me.IsDamagingMove = True
Me.IsProtectMove = False
Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True
'#End
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim trapped As Integer = BattleScreen.FieldEffects.OppTrappedCounter
If own = False Then
trapped = BattleScreen.FieldEffects.OwnTrappedCounter
End If
Dim op As Pokemon = BattleScreen.OppPokemon
If own = False Then
op = BattleScreen.OwnPokemon
End If
If trapped = 0 Then
If own = True Then
BattleScreen.FieldEffects.OppTrappedCounter = 1
Else
BattleScreen.FieldEffects.OwnTrappedCounter = 1
End If
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " can no longer escape!"))
End If
End Sub
End Class
End Namespace

View File

@ -0,0 +1,92 @@
Namespace BattleSystem.Moves.Ice
Public Class Avalanche
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Ice)
Me.ID = 419
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 60
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Avalanche"
Me.Description = "The power of this attack move is doubled if the user has been hurt by the target in the same turn."
Me.CriticalChance = 1
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
Me.Priority = -4
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = True
Me.ProtectAffected = True
Me.MagicCoatAffected = False
Me.SnatchAffected = False
Me.MirrorMoveAffected = True
Me.KingsrockAffected = True
Me.CounterAffected = True
Me.DisabledWhileGravity = False
Me.UseEffectiveness = True
Me.ImmunityAffected = True
Me.RemovesFrozen = False
Me.HasSecondaryEffect = False
Me.IsHealingMove = False
Me.IsRecoilMove = False
Me.IsPunchingMove = False
Me.IsDamagingMove = True
Me.IsProtectMove = False
Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True
'#End
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon
Dim op As Pokemon = BattleScreen.OppPokemon
If own = False Then
p = BattleScreen.OppPokemon
op = BattleScreen.OwnPokemon
End If
Dim chance As Integer = GetEffectChance(0, own, BattleScreen)
If Core.Random.Next(0, 100) < chance Then
BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:aurorabeam")
End If
End Sub
Public Overrides Function GetBasePower(own As Boolean, BattleScreen As BattleScreen) As Integer
If own = True Then
If BattleScreen.FieldEffects.OppTurnCounts > BattleScreen.FieldEffects.OwnTurnCounts Then
If Not BattleScreen.FieldEffects.OppLastMove Is Nothing Then
If BattleScreen.FieldEffects.OppLastMove.IsDamagingMove = True Then
Return Me.Power * 2
End If
End If
End If
Else
If BattleScreen.FieldEffects.OwnTurnCounts > BattleScreen.FieldEffects.OppTurnCounts Then
If Not BattleScreen.FieldEffects.OwnLastMove Is Nothing Then
If BattleScreen.FieldEffects.OwnLastMove.IsDamagingMove = True Then
Return Me.Power * 2
End If
End If
End If
End If
Return Me.Power
End Function
End Class
End Namespace