Added some Gen 7 moves

This commit is contained in:
Ruan Pablo 2018-11-08 17:34:07 -02:00
parent c4105ad5aa
commit 813a5a373e
49 changed files with 2555 additions and 79 deletions

View File

@ -162,6 +162,14 @@
Exit Sub
End If
'Solar Blade:
If BattleScreen.FieldEffects.OwnSolarBlade >= 1 Then
SelectedMoveOwn = False
DeleteHostQuery(BattleScreen)
InitializeRound(BattleScreen, New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OwnPokemon, 669)})
Exit Sub
End If
'Sky Attack:
If BattleScreen.FieldEffects.OwnSkyAttackCounter >= 1 Then
SelectedMoveOwn = False
@ -348,6 +356,12 @@
Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OppPokemon, 76)}
End If
'Solar Blade:
If BattleScreen.FieldEffects.OppSolarBlade >= 1 Then
SelectedMoveOpp = False
Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OppPokemon, 669)}
End If
'Sky Attack:
If BattleScreen.FieldEffects.OppSkyAttackCounter >= 1 Then
SelectedMoveOpp = False
@ -981,6 +995,7 @@
Dim skullBash As Integer
Dim skyAttack As Integer
Dim solarBeam As Integer
Dim solarBlade As Integer
Dim razorWind As Integer
Dim bide As Integer
@ -1002,6 +1017,7 @@
skullBash = .OwnSkullBashCounter
skyAttack = .OwnSkyAttackCounter
solarBeam = .OwnSolarBeam
solarBlade = .OwnSolarBlade
razorWind = .OwnRazorWindCounter
bide = .OwnBideCounter
Else
@ -1016,6 +1032,7 @@
skullBash = .OppSkullBashCounter
skyAttack = .OppSkyAttackCounter
solarBeam = .OppSolarBeam
solarBlade = .OppSolarBlade
razorWind = .OppRazorWindCounter
bide = .OppBideCounter
End If
@ -1069,6 +1086,10 @@
If solarBeam = 0 And BattleScreen.FieldEffects.Weather <> BattleWeather.WeatherTypes.Sunny Then
Return True
End If
Case "solar blade"
If solarBlade = 0 And BattleScreen.FieldEffects.Weather <> BattleWeather.WeatherTypes.Sunny Then
Return True
End If
Case "razor wind"
If razorWind = 0 Then
Return True
@ -6177,6 +6198,7 @@
.OwnDefenseCurl = 0
.OwnCharge = 0
.OwnSolarBeam = 0
.OwnSolarBlade = 0
If .OwnUsedBatonPass = False Then .OwnLeechSeed = 0
If .OwnUsedBatonPass = False Then .OwnLockOn = 0
.OwnLansatBerry = 0
@ -6515,6 +6537,7 @@
.OppDefenseCurl = 0
.OppCharge = 0
.OppSolarBeam = 0
.OppSolarBlade = 0
If .OppUsedBatonPass = False Then .OppLeechSeed = 0
If .OppUsedBatonPass = False Then .OppLockOn = 0
.OppLansatBerry = 0

View File

@ -1500,6 +1500,10 @@
DSM = 1.0F
End If
If Attack.ID = 663 Then 'Darkest Lariat
DSM = 1.0F
End If
If Attack.Name.ToLower() = "selfdestruct" Or Attack.Name.ToLower() = "explosion" Then
SX = 1.0F
End If
@ -1528,6 +1532,10 @@
DSM = 1.0F
End If
If Attack.ID = 663 Then 'Darkest Lariat
DSM = 1.0F
End If
If Op.Ability.Name.ToLower() = "flower gift" Then
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sunny Then
DMod = 1.5F

View File

@ -51,6 +51,7 @@
Public OwnLastDamage As Integer = 0 'Last Damage the own Pokémon has done by moves.
Public OwnLeechSeed As Integer = 0 'The opponent used leech seed
Public OwnSolarBeam As Integer = 0 'Charge counter for solar beam
Public OwnSolarBlade As Integer = 0 'Charge counter for solar blade
Public OwnLockOn As Integer = 0 'Counter for the moves lock-on and mind reader
Public OwnBideCounter As Integer = 0 'Counter for the Bide move
Public OwnBideDamage As Integer = 0 'Half of the damage dealt by bide
@ -179,6 +180,7 @@
Public OppLastDamage As Integer = 0
Public OppLeechSeed As Integer = 0
Public OppSolarBeam As Integer = 0
Public OppSolarBlade As Integer = 0
Public OppLockOn As Integer = 0
Public OppBideCounter As Integer = 0
Public OppBideDamage As Integer = 0

View File

@ -219,6 +219,10 @@
''' </summary>
Public SolarBeam As Integer = 0
''' <summary>
''' Solar blade move counter.
''' </summary>
Public SolarBlade As Integer = 0
''' <summary>
''' Ice Burn move counter.
''' </summary>
Public IceBurn As Integer = 0
@ -457,6 +461,7 @@
Me.DefenseCurl = 0
Me.Charge = 0
Me.SolarBeam = 0
Me.SolarBlade = 0
Me.LansatBerry = 0
Me.CustapBerry = 0
Me.Trapped = 0

View File

@ -20,8 +20,8 @@ Grass:
{"Floor"{ENT[{"Size"{intArr[6,1]}}{"SeasonTexture"{str[Grass]}}{"Position"{intArr[20,2,24]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}}
Water:
{"EntityField"{ENT[{"Size"{intArr[4,6]}}{"EntityID"{str[Water]}}{"Position"{sngArr[45,-0.25,26]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[240,0,4,4][144,16,16,16]]}}{"TextureIndex"{intArr[0,0,1,1]}}{"Collision"{bool[0]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
{"EntityField"{ENT[{"Size"{intArr[2,8]}}{"EntityID"{str[Water]}}{"Position"{sngArr[46,-0.25,25]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[240,0,4,4][144,16,16,16]]}}{"TextureIndex"{intArr[0,0,1,1]}}{"Collision"{bool[0]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
{"EntityField"{ENT[{"Size"{intArr[4,6]}}{"EntityID"{str[Water]}}{"Position"{sngArr[45,-0.25,26]}}{"TexturePath"{str[routes]}}{"Textures"{recArr[[240,0,4,4][192,160,16,16]]}}{"TextureIndex"{intArr[1,1,1,1]}}{"Collision"{bool[0]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
{"EntityField"{ENT[{"Size"{intArr[2,8]}}{"EntityID"{str[Water]}}{"Position"{sngArr[46,-0.25,25]}}{"TexturePath"{str[routes]}}{"Textures"{recArr[[240,0,4,4][192,160,16,16]]}}{"TextureIndex"{intArr[1,1,1,1]}}{"Collision"{bool[0]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
Upper Platform:
{"Floor"{ENT[{"Size"{intArr[12,8]}}{"Position"{intArr[17,3,13]}}{"TexturePath"{str[park]}}{"Texture"{rec[0,0,16,16]}}]}}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 B

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 B

After

Width:  |  Height:  |  Size: 896 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 B

After

Width:  |  Height:  |  Size: 941 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -25508,9 +25508,24 @@
</Content>
<Compile Include="Pokemon\Abilities\Aerilate.vb" />
<Compile Include="Pokemon\Abilities\ParentalBond.vb" />
<Compile Include="Pokemon\Attacks\Bug\PollenPuff.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Bug\FirstImpression.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Bug\FellStinger.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Bug\Lunge.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Dark\BrutalSwing.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Dark\DarkestLariat.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Dark\DarkVoid.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
@ -25520,6 +25535,15 @@
<Compile Include="Pokemon\Attacks\Dark\PartingShot.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Dark\PowerTrip.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Dragon\ClangingScales.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Dragon\DragonHammer.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Dragon\SpacialRend.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
@ -25529,6 +25553,12 @@
<Compile Include="Pokemon\Attacks\Fairy\LightOfRuin.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Fairy\FleurCannon.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Fairy\NaturesMadness.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Fighting\FinalGambit.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
@ -25541,18 +25571,48 @@
<Compile Include="Pokemon\Attacks\Fire\Incinerate.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Fire\FireLash.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Fire\BurnUp.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Flying\DragonAscent.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Ghost\PhantomForce.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Ghost\ShadowBone.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Ghost\ShadowForce.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Ghost\SpiritShackle.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Grass\Leafage.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Grass\TropKick.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Grass\SolarBlade.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Grass\Strength Sap.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Grass\WorrySeed.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Ground\HighHorsepower.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Ground\ShoreUp.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Ground\PrecipiceBlades.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
@ -25568,12 +25628,21 @@
<Compile Include="Pokemon\Attacks\Ice\Glaciate.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Ice\IceHammer.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Normal\Bestow.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Normal\Celebrate.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Normal\TearfulLook.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Normal\RevelationDance.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Normal\HoldBack.vb" />
<Compile Include="Pokemon\Attacks\Normal\Round.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@ -25594,9 +25663,16 @@
<Compile Include="Pokemon\Attacks\Normal\SimpleBeam.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Poison\ToxicThread.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Poison\VenomDrench.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Psychic\PrismaticLaser.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Psychic\PsychicFangs.vb" />
<Compile Include="Pokemon\Attacks\Psychic\HyperspaceHole.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
@ -25607,9 +25683,30 @@
<Compile Include="Pokemon\Attacks\Rock\DiamondStorm.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Rock\Accelerock.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Steel\SmartStrike.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Steel\GearUp.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Steel\AnchorShot.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Electric\ZingZap.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Water\OriginPulse.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Water\Liquidation.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Attacks\Water\SparklingAria.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="Pokemon\Items\KeyItems\LibertySeaMap.vb" />
<Compile Include="Pokemon\Items\Standard\DouseDrive.vb">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

View File

@ -1486,7 +1486,7 @@
returnMove = New Moves.Flying.DragonAscent()
Case 621
returnMove = New Moves.Dark.HyperspaceFury()
'------------------------------------------------BEGIN Z MOVE STREAK
'------------------------------------------------BEGIN Z MOVE STREAK 1
'Case 622
'Breakneck Blitz - Physical
'Case 623
@ -1561,79 +1561,80 @@
'Twinkle Tackle - Special
'Case 658
'Catastropika
'------------------------------------------------END Z MOVE STREAK
'Case 659
'returnMove = New Moves.Ground.ShoreUp()
'Case 660
'returnMove = New Moves.Bug.FirstImpression()
'------------------------------------------------END Z MOVE STREAK 1
Case 659
returnMove = New Moves.Ground.ShoreUp()
Case 660
returnMove = New Moves.Bug.FirstImpression()
'Case 661
'Baneful Bunker
'Case 662
'returnMove = New Moves.Ghost.SpiritShackle()
'Case 663
'returnMove = New Moves.Dark.DarkestLariat()
'Case 664
'returnMove = New Moves.Water.SparklingAria()
'Case 665
'returnMove = New Moves.Ice.IceHammer()
Case 662
returnMove = New Moves.Ghost.SpiritShackle()
Case 663
returnMove = New Moves.Dark.DarkestLariat()
Case 664
returnMove = New Moves.Water.SparklingAria()
Case 665
returnMove = New Moves.Ice.IceHammer()
'Case 666
'Floral Healing - Double Battles
'Case 667
'returnMove = New Moves.Ground.HighHorsepower()
'Case 668
'returnMove = New Moves.Grass.StrengthSap()
'Case 669
'returnMove = New Moves.Grass.SolarBlade()
'Case 670
'returnMove = New Moves.Grass.Leafage()
Case 667
returnMove = New Moves.Ground.HighHorsepower()
Case 668
returnMove = New Moves.Grass.StrengthSap()
Case 669
returnMove = New Moves.Grass.SolarBlade()
Case 670
returnMove = New Moves.Grass.Leafage()
'Case 671
'Spotlight
'Case 672
'returnMove = New Moves.Poison.ToxicThread()
Case 672
returnMove = New Moves.Poison.ToxicThread()
'Case 673
'Laser Focus
'Case 674
'returnMove = New Moves.Steel.GearUp()
Case 674
returnMove = New Moves.Steel.GearUp()
'Case 675
'Throat Chop
'Case 676
'returnMove = New Moves.Bug.PollenPuff()
'Case 677
'returnMove = New Moves.Steel.AnchorShot()
Case 676
returnMove = New Moves.Bug.PollenPuff()
Case 677
returnMove = New Moves.Steel.AnchorShot()
'Case 678
'Psychic Terrain
'Case 679
'returnMove = New Moves.Bug.Lunge()
'Case 680
'returnMove = New Moves.Fire.FireLash()
'Case 681
'returnMove = New Moves.Dark.PowerTrip()
'Case 682
'returnMove = New Moves.Fire.BurnUp()
Case 679
returnMove = New Moves.Bug.Lunge()
Case 680
returnMove = New Moves.Fire.FireLash()
Case 681
returnMove = New Moves.Dark.PowerTrip()
Case 682
returnMove = New Moves.Fire.BurnUp()
'Case 683
'Speed Swap
'Case 684
'returnMove = New Moves.Steel.SmartStrike()
Case 684
returnMove = New Moves.Steel.SmartStrike()
'Case 685
'Purify - Double Battles
'Case 686
'returnMove = New Moves.Normal.RevelationDance()
Case 686
returnMove = New Moves.Normal.RevelationDance()
'Case 687
'Core Enforcer
'Case 688
'returnMove = New Moves.Grass.TropKick()
Case 688
returnMove = New Moves.Grass.TropKick()
'Case 689
'Instruct
'Case 690
'Beak Blast
'Case 691
'returnMove = New Moves.Dragon.ClangingScales()
'Case 692
'returnMove = New Moves.Dragon.DragonHammer()
'Case 693
'returnMove = New Moves.Dark.BrutalSwing()
'Case 694
'returnMove = New Moves.Ice.AuroraVeil()
Case 691
returnMove = New Moves.Dragon.ClangingScales()
Case 692
returnMove = New Moves.Dragon.DragonHammer()
Case 693
returnMove = New Moves.Dark.BrutalSwing()
'Case 694
'Aurora Veil
'------------------------------------------------BEGIN Z MOVE STREAK 2
'Case 695
'Sinister Arrow Raid - Z-Move
'Case 696
@ -1652,44 +1653,46 @@
'Extreme Evoboost - Z-Move
'Case 703
'Genesis Supernova - Z-Move
'------------------------------------------------END Z MOVE STREAK 2
'Case 704
'Shell Trap
'Case 705
'returnMove = New Moves.Fairy.FleurCannon()
'Case 706
'returnMove = New Moves.Psychic.PsychicFangs()
Case 705
returnMove = New Moves.Fairy.FleurCannon()
Case 706
returnMove = New Moves.Psychic.PsychicFangs()
'Case 707
'Stomping Tantrum
'Case 708
'returnMove = New Moves.Ghost.ShadowBone()
'Case 709
'returnMove = New Moves.Rock.Accelerock()
'Case 710
'returnMove = New Moves.Water.Liquidation()
'Case 711
'returnMove = New Moves.Psychic.PrismaticLaser()
Case 708
returnMove = New Moves.Ghost.ShadowBone()
Case 709
returnMove = New Moves.Rock.Accelerock()
Case 710
returnMove = New Moves.Water.Liquidation()
Case 711
returnMove = New Moves.Psychic.PrismaticLaser()
'Case 712
'Spectral Thief
'Case 713
'Case 713
'returnMove = New Moves.Steel.SunsteelStrike()
'Case 714
'Case 714
'returnMove = New Moves.Ghost.MoongeistBeam()
'Case 715
'returnMove = New Moves.Normal.TearfulLook()
'Case 716
'returnMove = New Moves.Electric.ZingZap()
'Case 717
'returnMove = New Moves.Fairy.NaturesMadness()
'Case 718
'returnMove = New Moves.Normal.Multi-Attack()
Case 715
returnMove = New Moves.Normal.TearfulLook()
Case 716
returnMove = New Moves.Electric.ZingZap()
Case 717
returnMove = New Moves.Fairy.NaturesMadness()
'Case 718
'returnMove = New Moves.Normal.MultiAttack()
'Case 719
'10,000,000 Volt Thunderbolt - Z-Move
'Case 720
'Case 720
'returnMove = New Moves.Fire.MindBlown()
'Case 721
'Plasma Fists
'Case 722
'Photon Geyser
'------------------------------------------------BEGIN Z MOVE STREAK 3
'Case 723
'Light That Burns The Sky - Z-Move
'Case 724
@ -1702,6 +1705,7 @@
'Splintered Stormshards - Z-Move
'Case 728
'Clangorous Soulblaze - Z-Move
'------------------------------------------------END Z MOVE STREAK 3
'Case 729
'Blank
Case 999

View File

@ -0,0 +1,74 @@
Namespace BattleSystem.Moves.Bug
Public Class FirstImpression
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Bug)
Me.ID = 660
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 = "First Impression"
Me.Description = "Although this move has great power, it only works the first turn the user is in battle."
Me.CriticalChance = 1
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
Me.Priority = 2
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.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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.Nothing
End Sub
Public Overrides Function MoveFailBeforeAttack(Own As Boolean, BattleScreen As BattleScreen) As Boolean
Dim turns As Integer = BattleScreen.FieldEffects.OwnPokemonTurns
If Own = False Then
turns = BattleScreen.FieldEffects.OppPokemonTurns
End If
If turns > 0 Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Return True
Else
Return False
End If
End Function
End Class
End Namespace

View File

@ -0,0 +1,64 @@
Namespace BattleSystem.Moves.Bug
Public Class Lunge
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Bug)
Me.ID = 679
Me.OriginalPP = 15
Me.CurrentPP = 15
Me.MaxPP = 15
Me.Power = 80
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough
Me.Name = "Lunge"
Me.Description = "The user makes a lunge at the target, attacking with full force. This also lowers the target's Attack stat."
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.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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.LowerAttack
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:lunge")
End Sub
End Class
End Namespace

View File

@ -0,0 +1,58 @@
Namespace BattleSystem.Moves.Bug
Public Class PollenPuff
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Bug)
Me.ID = 676
Me.OriginalPP = 15
Me.CurrentPP = 15
Me.MaxPP = 15
Me.Power = 90
Me.Accuracy = 100
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Pollen Puff"
Me.Description = "The user attacks the enemy with a pollen puff that explodes. If the target is an ally, it gives the ally a pollen puff that restores its HP instead."
Me.CriticalChance = 1
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentFoe
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.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.IsBulletMove = True
'#End
End Sub
End Class
End Namespace

View File

@ -0,0 +1,60 @@
Namespace BattleSystem.Moves.Dark
Public Class BrutalSwing
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Dark)
Me.ID = 693
Me.OriginalPP = 20
Me.CurrentPP = 20
Me.MaxPP = 20
Me.Power = 60
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough
Me.Name = "Brutal Swing"
Me.Description = "The user swings its body around violently to inflict damage on everything in its vicinity."
Me.CriticalChance = 1
Me.IsHMMove = False
Me.Target = Targets.AllAdjacentTargets
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.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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.Nothing
End Sub
End Class
End Namespace

View File

@ -0,0 +1,62 @@
Namespace BattleSystem.Moves.Dark
Public Class DarkestLariat
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Dark)
Me.ID = 663
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 85
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough
Me.Name = "Darkest Lariat"
Me.Description = "The user swings both arms and hits the target. The target's stat changes don't affect this attack's damage."
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 = False
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
Me.IsJawMove = True
'#End
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.Nothing
End Sub
End Class
End Namespace

Binary file not shown.

View File

@ -0,0 +1,64 @@
Namespace BattleSystem.Moves.Dragon
Public Class ClangingScales
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Dragon)
Me.ID = 691
Me.OriginalPP = 5
Me.CurrentPP = 5
Me.MaxPP = 5
Me.Power = 110
Me.Accuracy = 100
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Clanging Scales"
Me.Description = "The user rubs the scales on its entire body and makes a huge noise to attack the opposing Pokémon. The user's Defense stat goes down after the attack."
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 = 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 = True
Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True
'#End
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.LowerDefense
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Defense", 1, "", "move:clangingscales")
End Sub
End Class
End Namespace

View File

@ -0,0 +1,60 @@
Namespace BattleSystem.Moves.Dragon
Public Class DragonHammer
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Dragon)
Me.ID = 692
Me.OriginalPP = 15
Me.CurrentPP = 15
Me.MaxPP = 15
Me.Power = 90
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Dragon Hammer"
Me.Description = "The user uses its body like a hammer to attack the target and inflict damage."
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 = False
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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.Nothing
End Sub
End Class
End Namespace

View File

@ -0,0 +1,67 @@
Namespace BattleSystem.Moves.Electric
Public Class ZingZap
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Electric)
Me.ID = 716
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 80
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough
Me.Name = "Zing Zap"
Me.Description = "A strong electric blast crashes down on the target, giving it an electric shock. This may also make the target flinch."
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 = False
Me.CounterAffected = True
Me.DisabledWhileGravity = False
Me.UseEffectiveness = True
Me.ImmunityAffected = True
Me.HasSecondaryEffect = True
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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.CanFlinch
Me.EffectChances.Add(30)
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If Core.Random.Next(0, 100) < GetEffectChance(0, own, BattleScreen) Then
BattleScreen.Battle.InflictFlinch(Not own, own, BattleScreen, "", "move:zingzap")
End If
End Sub
End Class
End Namespace

View File

@ -0,0 +1,64 @@
Namespace BattleSystem.Moves.Fairy
Public Class FleurCannon
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Fairy)
Me.ID = 705
Me.OriginalPP = 5
Me.CurrentPP = 5
Me.MaxPP = 5
Me.Power = 130
Me.Accuracy = 90
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Cute
Me.Name = "Fleur Cannon"
Me.Description = "The user unleashes a strong beam. The attack's recoil harshly lowers the user's Sp. Atk stat."
Me.CriticalChance = 1
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 = False
Me.CounterAffected = False
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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.LowerSpAttack
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
BattleScreen.Battle.LowerStat(own, own, BattleScreen, "Special Attack", 2, "", "move:fleurcannon")
End Sub
End Class
End Namespace

View File

@ -0,0 +1,72 @@
Namespace BattleSystem.Moves.Fairy
Public Class NaturesMadness
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Fairy)
Me.ID = 717
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 0
Me.Accuracy = 90
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Nature's Madness"
Me.Description = "The user hits the target with the force of nature. It halves the target's HP."
Me.CriticalChance = 0
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 = False
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 Function GetDamage(Critical As Boolean, Own As Boolean, targetPokemon As Boolean, BattleScreen As BattleScreen, Optional ExtraParameter As String = "") As Integer
Dim op As Pokemon = BattleScreen.OppPokemon
If Own = False Then
op = BattleScreen.OwnPokemon
End If
Dim damage As Integer = CInt(Math.Floor(op.HP / 2))
If damage <= 0 Then
damage = 1
End If
Return damage
End Function
End Class
End Namespace

View File

@ -34,9 +34,9 @@ Namespace BattleSystem.Moves.Fighting
Me.CounterAffected = True
Me.DisabledWhileGravity = False
Me.UseEffectiveness = False
Me.UseEffectiveness = True
Me.ImmunityAffected = True
Me.HasSecondaryEffect = True
Me.HasSecondaryEffect = False
Me.RemovesFrozen = False
Me.IsHealingMove = False

View File

@ -0,0 +1,94 @@
Namespace BattleSystem.Moves.Fire
Public Class BurnUp
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Fire)
Me.ID = 682
Me.OriginalPP = 5
Me.CurrentPP = 5
Me.MaxPP = 5
Me.Power = 130
Me.Accuracy = 100
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Burn Up"
Me.Description = "To inflict massive damage, the user burns itself out. After using this move, the user will no longer be Fire type."
Me.CriticalChance = 1
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 = True
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 Function MoveFailBeforeAttack(Own As Boolean, BattleScreen As BattleScreen) As Boolean
Dim p As Pokemon = BattleScreen.OwnPokemon
If Own = False Then
p = BattleScreen.OppPokemon
End If
If p.IsType(Element.Types.Fire) = True Then
Return False
Else
Return True
End If
End Function
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon
If own = False Then
p = BattleScreen.OppPokemon
End If
p.OriginalType1 = New Element(p.Type1.Type)
p.OriginalType2 = New Element(p.Type2.Type)
If p.Type2.Type = Element.Types.Blank Then
'Pure fire
p.Type1.Type = Element.Types.Blank
Else
'One of the types is fire
If p.Type1.Type = Element.Types.Fire Then
p.Type1.Type = p.Type2.Type
End If
p.Type2.Type = Element.Types.Blank
End If
End Sub
End Class
End Namespace

View File

@ -0,0 +1,64 @@
Namespace BattleSystem.Moves.Fire
Public Class FireLash
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Fire)
Me.ID = 680
Me.OriginalPP = 15
Me.CurrentPP = 15
Me.MaxPP = 15
Me.Power = 80
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough
Me.Name = "Fire Lash"
Me.Description = "The user strikes the target with a burning lash. This also lowers the target's Defense stat."
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.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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.LowerDefense
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Defense", 1, "", "move:firelash")
End Sub
End Class
End Namespace

View File

@ -0,0 +1,68 @@
Namespace BattleSystem.Moves.Ghost
Public Class ShadowBone
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Ghost)
Me.ID = 708
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 85
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough
Me.Name = "Shadow Bone"
Me.Description = "The user attacks by beating the target with a bone that contains a spirit. This may also lower the target's Defense stat."
Me.CriticalChance = 1
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 = 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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.CanLowerDefense
Me.EffectChances.Add(20)
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If Core.Random.Next(0, 100) < Me.GetEffectChance(0, own, BattleScreen) Then
BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Defense", 1, "", "move:shadowbone")
End If
End Sub
End Class
End Namespace

View File

@ -0,0 +1,78 @@
Namespace BattleSystem.Moves.Ghost
Public Class SpiritShackle
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Ghost)
Me.ID = 662
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 80
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart
Me.Name = "Spirit Shackle"
Me.Description = "The user attacks while simultaneously stitching the target's shadow to the ground to prevent the target from escaping."
Me.CriticalChance = 1
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 = 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,57 @@
Namespace BattleSystem.Moves.Grass
Public Class Leafage
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Grass)
Me.ID = 670
Me.OriginalPP = 40
Me.CurrentPP = 40
Me.MaxPP = 40
Me.Power = 40
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Leafage"
Me.Description = "The user attacks by pelting the target with leaves."
Me.CriticalChance = 1
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 = 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
End Class
End Namespace

View File

@ -0,0 +1,201 @@
Namespace BattleSystem.Moves.Grass
Public Class SolarBlade
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Grass)
Me.ID = 669
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 125
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Solar Blade"
Me.Description = "In this two-turn attack, the user gathers light and fills a blade with the light's energy, attacking the target on the next turn."
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.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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.MultiTurn
End Sub
Public Overrides Function GetUseAccEvasion(own As Boolean, BattleScreen As BattleScreen) As Boolean
Dim SolarBlade As Integer = BattleScreen.FieldEffects.OwnSolarBlade
If own = False Then
SolarBlade = BattleScreen.FieldEffects.OppSolarBlade
End If
If SolarBlade = 0 Then
Return False
Else
Return True
End If
End Function
Public Overrides Sub PreAttack(Own As Boolean, BattleScreen As BattleScreen)
Dim SolarBlade As Integer = BattleScreen.FieldEffects.OwnSolarBlade
If Own = False Then
SolarBlade = BattleScreen.FieldEffects.OppSolarBlade
End If
If SolarBlade = 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 p As Pokemon = BattleScreen.OwnPokemon
If Own = False Then
p = BattleScreen.OppPokemon
End If
Dim hasToCharge As Boolean = True
Dim blade As Integer = BattleScreen.FieldEffects.OwnSolarBlade
If Own = False Then
blade = BattleScreen.FieldEffects.OppSolarBlade
End If
If blade = 0 Then
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " absorbed sunlight!"))
Else
hasToCharge = False
End If
If hasToCharge = True Then
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sunny Then
hasToCharge = False
Else
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 Solar Blade!", "move:solarblade") = True Then
hasToCharge = False
End If
End If
End If
End If
End If
If hasToCharge = True Then
If Own = True Then
BattleScreen.FieldEffects.OwnSolarBlade = 1
Else
BattleScreen.FieldEffects.OppSolarBlade = 1
End If
Return True
Else
If Own = True Then
BattleScreen.FieldEffects.OwnSolarBlade = 0
Else
BattleScreen.FieldEffects.OppSolarBlade = 0
End If
Return False
End If
End Function
Public Overrides Function GetBasePower(own As Boolean, BattleScreen As BattleScreen) As Integer
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Rain Or BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sandstorm Or BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Hailstorm Then
Return CInt(Me.Power / 2)
Else
Return Me.Power
End If
End Function
Public Overrides Sub MoveSelected(own As Boolean, BattleScreen As BattleScreen)
If own = True Then
BattleScreen.FieldEffects.OwnSolarBlade = 0
Else
BattleScreen.FieldEffects.OppSolarBlade = 0
End If
End Sub
Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean
Dim solarBlade As Integer = BattleScreen.FieldEffects.OwnSolarBlade
If own = False Then
solarBlade = BattleScreen.FieldEffects.OppSolarBlade
End If
If solarBlade = 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.OwnSolarBlade = 0
Else
BattleScreen.FieldEffects.OppSolarBlade = 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 MoveProtectedDetected(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
End Class
End Namespace

View File

@ -0,0 +1,92 @@
Namespace BattleSystem.Moves.Grass
Public Class StrengthSap
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Grass)
Me.ID = 668
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 0
Me.Accuracy = 100
Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart
Me.Name = "Strength Sap"
Me.Description = "The user restores its HP by the same amount as the target's Attack stat. It also lowers the target's Attack stat."
Me.CriticalChance = 0
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
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.HasSecondaryEffect = False
Me.RemovesFrozen = False
Me.IsHealingMove = True
Me.IsRecoilMove = False
Me.IsPunchingMove = False
Me.IsDamagingMove = False
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 heal As Integer = op.StatAttack
Dim b As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:strengthsap")
If b = 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")
Else
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
heal = CInt(Math.Ceiling(heal * (130 / 100)))
End If
End If
Dim healBlock As Integer = BattleScreen.FieldEffects.OppHealBlock
If own = False Then
healBlock = BattleScreen.FieldEffects.OwnHealBlock
End If
If healBlock = 0 Then
BattleScreen.Battle.GainHP(heal, own, own, BattleScreen, op.GetDisplayName() & " had its energy drained!", "move:strengthsap")
End If
End If
End If
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,64 @@
Namespace BattleSystem.Moves.Grass
Public Class TropKick
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Grass)
Me.ID = 688
Me.OriginalPP = 15
Me.CurrentPP = 15
Me.MaxPP = 15
Me.Power = 70
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Trop Kick"
Me.Description = " The user lands an intense kick of tropical origins on the target. This also lowers the target's Attack stat."
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.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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.LowerAttack
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:tropkick")
End Sub
End Class
End Namespace

View File

@ -0,0 +1,57 @@
Namespace BattleSystem.Moves.Ground
Public Class HighHorsepower
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Ground)
Me.ID = 667
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 95
Me.Accuracy = 95
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool
Me.Name = "High Horsepower"
Me.Description = "The user fiercely attacks the target using its entire body."
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.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,83 @@
Namespace BattleSystem.Moves.Ground
Public Class ShoreUp
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Ground)
Me.ID = 659
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 0
Me.Accuracy = 0
Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Shore Up"
Me.Description = "The user regains up to half of its max HP. It restores more HP in a sandstorm."
Me.CriticalChance = 0
Me.IsHMMove = False
Me.Target = Targets.Self
Me.Priority = 0
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = False
Me.ProtectAffected = False
Me.MagicCoatAffected = False
Me.SnatchAffected = True
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 = True
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.Healing
Me.AIField2 = AIField.Nothing
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon
If own = False Then
p = BattleScreen.OppPokemon
End If
Dim restoreHP As Integer = 1
Select Case BattleScreen.FieldEffects.Weather
Case BattleWeather.WeatherTypes.Sandstorm
restoreHP = CInt(Math.Ceiling((2 / 3) * p.MaxHP))
Case BattleWeather.WeatherTypes.Clear
restoreHP = CInt(Math.Ceiling((1 / 2) * p.MaxHP))
Case Else
restoreHP = CInt(Math.Ceiling((1 / 4) * p.MaxHP))
End Select
If p.HP < p.MaxHP And p.HP > 0 Then
BattleScreen.Battle.GainHP(restoreHP, own, own, BattleScreen, p.GetDisplayName() & "'s HP was restored!", "move:shoreup")
Else
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If
End Sub
End Class
End Namespace

View File

@ -0,0 +1,61 @@
Namespace BattleSystem.Moves.Ice
Public Class IceHammer
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Ice)
Me.ID = 665
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 100
Me.Accuracy = 90
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Ice Hammer"
Me.Description = "The user swings and hits with its strong, heavy fist. It lowers the user's Speed, however."
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 = False
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)
BattleScreen.Battle.LowerStat(own, own, BattleScreen, "Speed", 1, "", "move:icehammer")
End Sub
End Class
End Namespace

View File

@ -0,0 +1,71 @@
Namespace BattleSystem.Moves.Normal
Public Class RevelationDance
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Normal)
Me.ID = 686
Me.OriginalPP = 15
Me.CurrentPP = 15
Me.MaxPP = 15
Me.Power = 90
Me.Accuracy = 100
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Revelation Dance"
Me.Description = "The user attacks the target by dancing very hard. The user's type determines the type of this move."
Me.CriticalChance = 1
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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.Nothing
End Sub
Public Overrides Function GetAttackType(own As Boolean, BattleScreen As BattleScreen) As Element
Dim p As Pokemon = BattleScreen.OwnPokemon
If own = False Then
p = BattleScreen.OppPokemon
End If
Return New Element(p.Type1.Type)
Return Me.Type
End Function
End Class
End Namespace

View File

@ -0,0 +1,68 @@
Namespace BattleSystem.Moves.Normal
Public Class TearfulLook
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Normal)
Me.ID = 715
Me.OriginalPP = 20
Me.CurrentPP = 20
Me.MaxPP = 20
Me.Power = 0
Me.Accuracy = 0
Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cute
Me.Name = "Tearful Look"
Me.Description = "The user gets teary eyed to make the target lose its combative spirit. This lowers the target's Attack and Sp. Atk stats."
Me.CriticalChance = 0
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = False
Me.ProtectAffected = False
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.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 = True
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False
'#End
Me.AIField1 = AIField.LowerDefense
Me.AIField2 = AIField.LowerSpDefense
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim b As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Defense", 1, "", "move:tearfullook")
Dim d As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Special Defense", 1, "", "move:tearfullook")
If b = False AndAlso DisabledWhileGravity = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If
End Sub
End Class
End Namespace

View File

@ -0,0 +1,68 @@
Namespace BattleSystem.Moves.Poison
Public Class ToxicThread
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Poison)
Me.ID = 672
Me.OriginalPP = 20
Me.CurrentPP = 20
Me.MaxPP = 20
Me.Power = 0
Me.Accuracy = 100
Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart
Me.Name = "Toxic Thread"
Me.Description = "The user shoots poisonous threads to poison the target and lower the target's Speed stat."
Me.CriticalChance = 0
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
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.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 = True
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False
'#End
Me.AIField1 = AIField.Poison
Me.AIField2 = AIField.LowerSpeed
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim b As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Speed", 1, "", "move:toxicthread")
Dim d As Boolean = BattleScreen.Battle.InflictPoison(Not own, own, BattleScreen, False, "", "move:toxicthread")
If b = False AndAlso d = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If
End Sub
End Class
End Namespace

View File

@ -0,0 +1,68 @@
Namespace BattleSystem.Moves.Psychic
Public Class PrismaticLaser
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Psychic)
Me.ID = 711
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 160
Me.Accuracy = 100
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Prismatic Laser"
Me.Description = "The user shoots powerful lasers using the power of a prism. The user can't move on the next turn."
Me.CriticalChance = 1
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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.Recharge
End Sub
Public Overrides Sub MoveRecharge(Own As Boolean, BattleScreen As BattleScreen)
If Own = True Then
BattleScreen.FieldEffects.OwnRecharge += 1
Else
BattleScreen.FieldEffects.OppRecharge += 1
End If
End Sub
End Class
End Namespace

View File

@ -0,0 +1,90 @@
Namespace BattleSystem.Moves.Psychic
Public Class PsychicFangs
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Psychic)
Me.ID = 706
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 85
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Psychic Fangs"
Me.Description = "The user bites the target with its psychic capabilities. This can also destroy Light Screen and Reflect."
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.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
Me.IsJawMove = True
'#End
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.RemoveReflectLightscreen
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OppPokemon
If own = False Then
p = BattleScreen.OwnPokemon
End If
If p.IsType(Element.Types.Ghost) = False Then
If own = True Then
If BattleScreen.FieldEffects.OppLightScreen > 0 Then
BattleScreen.FieldEffects.OppLightScreen = 0
BattleScreen.BattleQuery.Add(New TextQueryObject("The Light Screen wore off!"))
End If
If BattleScreen.FieldEffects.OppReflect > 0 Then
BattleScreen.FieldEffects.OppReflect = 0
BattleScreen.BattleQuery.Add(New TextQueryObject("The Reflect wore off!"))
End If
Else
If BattleScreen.FieldEffects.OwnLightScreen > 0 Then
BattleScreen.FieldEffects.OwnLightScreen = 0
BattleScreen.BattleQuery.Add(New TextQueryObject("The Light Screen wore off!"))
End If
If BattleScreen.FieldEffects.OwnReflect > 0 Then
BattleScreen.FieldEffects.OwnReflect = 0
BattleScreen.BattleQuery.Add(New TextQueryObject("The Reflect wore off!"))
End If
End If
End If
End Sub
End Class
End Namespace

View File

@ -0,0 +1,60 @@
Namespace BattleSystem.Moves.Rock
Public Class Accelerock
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Rock)
Me.ID = 709
Me.OriginalPP = 20
Me.CurrentPP = 20
Me.MaxPP = 20
Me.Power = 40
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Accelerock"
Me.Description = "The user smashes into the target at high speed. This move always goes first."
Me.CriticalChance = 1
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
Me.Priority = 1
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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.HighPriority
End Sub
End Class
End Namespace

View File

@ -0,0 +1,78 @@
Namespace BattleSystem.Moves.Steel
Public Class AnchorShot
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Steel)
Me.ID = 677
Me.OriginalPP = 20
Me.CurrentPP = 20
Me.MaxPP = 20
Me.Power = 80
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough
Me.Name = "Anchor Shot"
Me.Description = "The user entangles the target with its anchor chain while attacking. The target becomes unable to flee."
Me.CriticalChance = 1
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 = False
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,72 @@
Namespace BattleSystem.Moves.Steel
Public Class GearUp
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Steel)
Me.ID = 674
Me.OriginalPP = 20
Me.CurrentPP = 20
Me.MaxPP = 20
Me.Power = 0
Me.Accuracy = 0
Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart
Me.Name = "Gear Up"
Me.Description = "The user engages its gears to raise the Attack and Sp. Atk stats of ally Pokémon with the Plus or Minus Ability."
Me.CriticalChance = 0
Me.IsHMMove = False
Me.Target = Targets.AllAllies
Me.Priority = 0
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = False
Me.ProtectAffected = False
Me.MagicCoatAffected = False
Me.SnatchAffected = True
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
Me.UseAccEvasion = False
'#End
Me.AIField1 = AIField.RaiseAttack
Me.AIField2 = AIField.RaiseSpAttack
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim op As Pokemon = BattleScreen.OppPokemon
If own = False Then
op = BattleScreen.OwnPokemon
End If
If op.Ability.ID = 57 OrElse op.Ability.ID = 58 Then
BattleScreen.Battle.RaiseStat(Not own, own, BattleScreen, "Attack", 1, "", "move:gearup")
BattleScreen.Battle.RaiseStat(Not own, own, BattleScreen, "Special Attack", 1, "", "move:gearup")
End If
End Sub
End Class
End Namespace

View File

@ -0,0 +1,61 @@
Namespace BattleSystem.Moves.Steel
Public Class SmartStrike
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Steel)
Me.ID = 684
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 70
Me.Accuracy = 0
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart
Me.Name = "Smart Strike"
Me.Description = " The user stabs the target with a sharp horn. This attack never misses."
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
Me.UseAccEvasion = False
'#End
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.CannotMiss
End Sub
End Class
End Namespace

View File

@ -0,0 +1,68 @@
Namespace BattleSystem.Moves.Water
Public Class Liquidation
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Water)
Me.ID = 710
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 85
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough
Me.Name = "Liquidation"
Me.Description = "The user slams into the target using a full-force blast of water. This may also lower the target's Defense stat."
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
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.CanLowerDefense
Me.EffectChances.Add(20)
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If Core.Random.Next(0, 100) < Me.GetEffectChance(0, own, BattleScreen) Then
BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Defense", 1, "", "move:liquidation")
End If
End Sub
End Class
End Namespace

View File

@ -0,0 +1,69 @@
Namespace BattleSystem.Moves.Water
Public Class SparklingAria
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Water)
Me.ID = 664
Me.OriginalPP = 10
Me.CurrentPP = 10
Me.MaxPP = 10
Me.Power = 90
Me.Accuracy = 100
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Sparkling Aria"
Me.Description = "The user bursts into song, emitting many bubbles. Any Pokémon suffering from a burn will be healed by the touch of these bubbles."
Me.CriticalChance = 1
Me.IsHMMove = True
Me.Target = Targets.AllAdjacentTargets
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 = True
Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True
'#End
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If own = True Then
If BattleScreen.OppPokemon.Status = Pokemon.StatusProblems.Burn Then
BattleScreen.Battle.CureStatusProblem(Not own, own, BattleScreen, BattleScreen.OppPokemon.GetDisplayName() & " was cured of burn.", "move:sparklingaria")
End If
Else
If BattleScreen.OwnPokemon.Status = Pokemon.StatusProblems.Burn Then
BattleScreen.Battle.CureStatusProblem(Not own, own, BattleScreen, BattleScreen.OwnPokemon.GetDisplayName() & " was cured of burn.", "move:sparklingaria")
End If
End If
End Sub
End Class
End Namespace