some moves + min gfx
@ -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
|
||||||
|
@ -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
|
||||||
|
Before Width: | Height: | Size: 763 B After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 232 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 21 KiB |
@ -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" />
|
||||||
|
@ -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
|
||||||
|
67
P3D/Pokemon/Attacks/Dark/DarkVoid.vb
Normal 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
|
57
P3D/Pokemon/Attacks/Dragon/SpacialRend.vb
Normal 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
|
56
P3D/Pokemon/Attacks/Fighting/StormThrow.vb
Normal 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
|
200
P3D/Pokemon/Attacks/Ghost/ShadowForce.vb
Normal 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
|
78
P3D/Pokemon/Attacks/Ground/ThousandWaves.vb
Normal 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
|
92
P3D/Pokemon/Attacks/Ice/Avalanche.vb
Normal 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
|