Merge branch 'master' of https://github.com/P3D-Legacy/P3D-Legacy
This commit is contained in:
commit
f3ebd5cad4
|
@ -132,12 +132,28 @@
|
|||
Exit Sub
|
||||
End If
|
||||
|
||||
'Phantom Force:
|
||||
If BattleScreen.FieldEffects.OwnPhantomForceCounter = 1 Then
|
||||
SelectedMoveOwn = False
|
||||
DeleteHostQuery(BattleScreen)
|
||||
InitializeRound(BattleScreen, New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OwnPokemon, 566)})
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
'If Sky Drop gets programmed, put this in.
|
||||
'If BattleScreen.FieldEffects.OwnSkyDropCounter = 1 Then
|
||||
' InitializeRound(BattleScreen, New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OwnPokemon, xxx)})
|
||||
' Exit Sub
|
||||
'End If
|
||||
|
||||
'Geomancy:
|
||||
If BattleScreen.FieldEffects.OwnGeomancyCounter = 1 Then
|
||||
SelectedMoveOwn = False
|
||||
DeleteHostQuery(BattleScreen)
|
||||
InitializeRound(BattleScreen, New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OwnPokemon, 601)})
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
'Solar Beam:
|
||||
If BattleScreen.FieldEffects.OwnSolarBeam >= 1 Then
|
||||
SelectedMoveOwn = False
|
||||
|
@ -309,11 +325,23 @@
|
|||
Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OppPokemon, 467)}
|
||||
End If
|
||||
|
||||
'Phantom Force:
|
||||
If BattleScreen.FieldEffects.OppPhantomForceCounter = 1 Then
|
||||
SelectedMoveOpp = False
|
||||
Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OppPokemon, 566)}
|
||||
End If
|
||||
|
||||
''Sky Drop:
|
||||
'If BattleScreen.FieldEffects.OppSkyDropCounter = 1 Then
|
||||
' Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = (19).ToString()}
|
||||
'End If
|
||||
|
||||
'Geomancy:
|
||||
If BattleScreen.FieldEffects.OppGeomancyCounter = 1 Then
|
||||
SelectedMoveOpp = False
|
||||
Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OppPokemon, 601)}
|
||||
End If
|
||||
|
||||
'Solar Beam:
|
||||
If BattleScreen.FieldEffects.OppSolarBeam >= 1 Then
|
||||
SelectedMoveOpp = False
|
||||
|
@ -947,7 +975,9 @@
|
|||
Dim dig As Integer
|
||||
Dim dive As Integer
|
||||
Dim skyDrop As Integer 'not implemented yet
|
||||
Dim shadowForce As Integer
|
||||
Dim geomancy As Integer
|
||||
Dim shadowForce As Integer
|
||||
Dim phantomForce As Integer
|
||||
Dim skullBash As Integer
|
||||
Dim skyAttack As Integer
|
||||
Dim solarBeam As Integer
|
||||
|
@ -966,7 +996,9 @@
|
|||
dig = .OwnDigCounter
|
||||
dive = .OwnDiveCounter
|
||||
skyDrop = .OwnSkyDropCounter
|
||||
geomancy = .OwnGeomancyCounter
|
||||
shadowForce = .OwnShadowForceCounter
|
||||
phantomForce = .OwnPhantomForceCounter
|
||||
skullBash = .OwnSkullBashCounter
|
||||
skyAttack = .OwnSkyAttackCounter
|
||||
solarBeam = .OwnSolarBeam
|
||||
|
@ -978,7 +1010,9 @@
|
|||
dig = .OppDigCounter
|
||||
dive = .OppDiveCounter
|
||||
skyDrop = .OppSkyDropCounter
|
||||
geomancy = .OppGeomancyCounter
|
||||
shadowForce = .OppShadowForceCounter
|
||||
phantomForce = .OppPhantomForceCounter
|
||||
skullBash = .OppSkullBashCounter
|
||||
skyAttack = .OppSkyAttackCounter
|
||||
solarBeam = .OppSolarBeam
|
||||
|
@ -1011,10 +1045,18 @@
|
|||
If skyDrop = 0 Then
|
||||
Return True
|
||||
End If
|
||||
Case "geomancy"
|
||||
If geomancy = 0 Then
|
||||
Return True
|
||||
End If
|
||||
Case "shadow force"
|
||||
If shadowForce = 0 Then
|
||||
Return True
|
||||
End If
|
||||
Case "phantom force"
|
||||
If phantomForce = 0 Then
|
||||
Return True
|
||||
End If
|
||||
Case "skull bash"
|
||||
If skullBash = 0 Then
|
||||
Return True
|
||||
|
@ -1362,7 +1404,7 @@
|
|||
If moveUsed.ProtectAffected = False Then
|
||||
NoTargetCheck = False
|
||||
Select Case moveUsed.Name.ToLower
|
||||
Case "accupressure", "confide", "feint", "hold hands", "hyperspace fury", "hyperspace hole", "phantom force", "psych up", "play nice", "roar", "role play", "shadow force", "sketch", "transform", "whirlwind"
|
||||
Case "accupressure", "confide", "feint", "hold hands", "hyperspace fury", "hyperspace hole", "phantom force", "psych up", "geomancy", "play nice", "roar", "role play", "shadow force", "sketch", "transform", "whirlwind"
|
||||
NoTargetCheck = True
|
||||
End Select
|
||||
End If
|
||||
|
@ -1411,7 +1453,7 @@
|
|||
If moveUsed.ProtectAffected = False Then
|
||||
UseTwoTurnCheck = False
|
||||
Select Case moveUsed.Name.ToLower
|
||||
Case "accupressure", "confide", "feint", "hold hands", "hyperspace fury", "hyperspace hole", "phantom force", "psych up", "play nice", "roar", "role play", "shadow force", "sketch", "transform", "whirlwind"
|
||||
Case "accupressure", "confide", "feint", "hold hands", "hyperspace fury", "hyperspace hole", "phantom force", "psych up", "geomancy", "play nice", "roar", "role play", "shadow force", "sketch", "transform", "whirlwind"
|
||||
UseTwoTurnCheck = True
|
||||
End Select
|
||||
End If
|
||||
|
@ -1471,6 +1513,17 @@
|
|||
End If
|
||||
End If
|
||||
|
||||
If DoesNotMiss = True And UseTwoTurnCheck Then 'phantomforce check
|
||||
Dim phantomforce As Integer = BattleScreen.FieldEffects.OppPhantomForceCounter
|
||||
If own = False Then
|
||||
phantomforce = BattleScreen.FieldEffects.OwnPhantomForceCounter
|
||||
End If
|
||||
|
||||
If phantomforce > 0 Then
|
||||
DoesNotMiss = False
|
||||
End If
|
||||
End If
|
||||
|
||||
If DoesNotMiss = True And UseTwoTurnCheck Then 'sky drop check
|
||||
Dim skydrop As Integer = BattleScreen.FieldEffects.OppSkyDropCounter
|
||||
If own = False Then
|
||||
|
@ -1482,6 +1535,17 @@
|
|||
End If
|
||||
End If
|
||||
|
||||
If DoesNotMiss = True And UseTwoTurnCheck Then 'geomancy check
|
||||
Dim geomancy As Integer = BattleScreen.FieldEffects.OppGeomancyCounter
|
||||
If own = False Then
|
||||
geomancy = BattleScreen.FieldEffects.OwnGeomancyCounter
|
||||
End If
|
||||
|
||||
If geomancy > 0 Then
|
||||
DoesNotMiss = False
|
||||
End If
|
||||
End If
|
||||
|
||||
If IsChargingTurn(BattleScreen, own, moveUsed) Then
|
||||
DoesNotMiss = True
|
||||
End If
|
||||
|
@ -6119,6 +6183,7 @@
|
|||
.OwnCustapBerry = 0
|
||||
.OwnTrappedCounter = 0
|
||||
.OwnFuryCutter = 0
|
||||
.OwnEchoedVoice = 0
|
||||
.OwnPokemonTurns = 0
|
||||
.OwnStockpileCount = 0
|
||||
.OwnDestinyBond = False
|
||||
|
@ -6133,7 +6198,9 @@
|
|||
.OwnBounceCounter = 0
|
||||
.OwnDiveCounter = 0
|
||||
.OwnShadowForceCounter = 0
|
||||
.OwnPhantomForceCounter = 0
|
||||
.OwnSkyDropCounter = 0
|
||||
.OwnGeomancyCounter = 0
|
||||
.OwnSkyAttackCounter = 0
|
||||
.OwnRazorWindCounter = 0
|
||||
.OwnSkullBashCounter = 0
|
||||
|
@ -6454,6 +6521,7 @@
|
|||
.OppCustapBerry = 0
|
||||
.OppTrappedCounter = 0
|
||||
.OppFuryCutter = 0
|
||||
.OppEchoedVoice = 0
|
||||
.OppPokemonTurns = 0
|
||||
.OppStockpileCount = 0
|
||||
.OppDestinyBond = False
|
||||
|
@ -6464,7 +6532,9 @@
|
|||
.OppBounceCounter = 0
|
||||
.OppDiveCounter = 0
|
||||
.OppShadowForceCounter = 0
|
||||
.OppPhantomForceCounter = 0
|
||||
.OppSkyDropCounter = 0
|
||||
.OppGeomancyCounter = 0
|
||||
.OppSkyAttackCounter = 0
|
||||
.OppRazorWindCounter = 0
|
||||
.OppSkullBashCounter = 0
|
||||
|
|
|
@ -667,6 +667,28 @@
|
|||
End If
|
||||
End If
|
||||
|
||||
'Flying Press
|
||||
If move.ID = 9999 Then
|
||||
If op.Type1.Type = Element.Types.Fighting Or op.Type2.Type = Element.Types.Fighting Then
|
||||
effectiveness *= 2
|
||||
End If
|
||||
If op.Type1.Type = Element.Types.Grass Or op.Type2.Type = Element.Types.Grass Then
|
||||
effectiveness *= 2
|
||||
End If
|
||||
If op.Type1.Type = Element.Types.Bug Or op.Type2.Type = Element.Types.Bug Then
|
||||
effectiveness *= 2
|
||||
End If
|
||||
If op.Type1.Type = Element.Types.Rock Or op.Type2.Type = Element.Types.Rock Then
|
||||
effectiveness /= 2
|
||||
End If
|
||||
If op.Type1.Type = Element.Types.Steel Or op.Type2.Type = Element.Types.Steel Then
|
||||
effectiveness /= 2
|
||||
End If
|
||||
If op.Type1.Type = Element.Types.Electric Or op.Type2.Type = Element.Types.Electric Then
|
||||
effectiveness /= 2
|
||||
End If
|
||||
End If
|
||||
|
||||
'Sheer Cold
|
||||
If move.ID = 329 Then
|
||||
If op.IsType(Element.Types.Ice) Then
|
||||
|
@ -1470,7 +1492,7 @@
|
|||
Dim SX As Single = 1.0F
|
||||
Dim DMod As Single = 1.0F
|
||||
|
||||
If Attack.Category = Attack.Categories.Physical OrElse Attack.ID = 473 OrElse Attack.ID = 548 Then 'Psyshock and Secret Sword.
|
||||
If Attack.Category = Attack.Categories.Physical OrElse Attack.ID = 473 OrElse Attack.ID = 540 OrElse Attack.ID = 548 Then 'Psyshock, Psystrike and Secret Sword.
|
||||
DStat = Attack.GetUseDefenseStat(Op)
|
||||
DSM = GetMultiplierFromStat(Op.StatDefense)
|
||||
|
||||
|
|
|
@ -62,6 +62,7 @@
|
|||
Public OwnMiracleEye As Integer = 0 'Own Dark type Pokémon can be hit by Psychic type attacks
|
||||
Public OwnProtectMovesCount As Integer = 0 'Counts uses of protect moves
|
||||
Public OwnFuryCutter As Integer = 0 'Counter for the move fury cutter
|
||||
Public OwnEchoedVoice As Integer = 0 'Counter for the move echoed voice
|
||||
Public OwnPokemonTurns As Integer = 0 'Turns for how long the own pokemon has been in battle
|
||||
Public OwnStockpileCount As Integer = 0 'A counter for the stockpile moves used for Swallow and Spit Up
|
||||
Public OwnIceBurnCounter As Integer = 0 'Counter for the Ice Burn move.
|
||||
|
@ -76,7 +77,9 @@
|
|||
Public OwnBounceCounter As Integer = 0
|
||||
Public OwnDiveCounter As Integer = 0
|
||||
Public OwnShadowForceCounter As Integer = 0
|
||||
Public OwnPhantomForceCounter As Integer = 0
|
||||
Public OwnSkyDropCounter As Integer = 0
|
||||
Public OwnGeomancyCounter As Integer = 0
|
||||
Public OwnWrap As Integer = 0
|
||||
Public OwnWhirlpool As Integer = 0
|
||||
Public OwnBind As Integer = 0
|
||||
|
@ -187,6 +190,7 @@
|
|||
Public OppMiracleEye As Integer = 0
|
||||
Public OppProtectMovesCount As Integer = 0
|
||||
Public OppFuryCutter As Integer = 0
|
||||
Public OppEchoedVoice As Integer = 0
|
||||
Public OppPokemonTurns As Integer = 0
|
||||
Public OppStockpileCount As Integer = 0
|
||||
Public OppIceBurnCounter As Integer = 0
|
||||
|
@ -210,7 +214,9 @@
|
|||
Public OppBounceCounter As Integer = 0
|
||||
Public OppDiveCounter As Integer = 0
|
||||
Public OppShadowForceCounter As Integer = 0
|
||||
Public OppPhantomForceCounter As Integer = 0
|
||||
Public OppSkyDropCounter As Integer = 0
|
||||
Public OppGeomancyCounter As Integer = 0
|
||||
|
||||
Public OppWrap As Integer = 0
|
||||
Public OppWhirlpool As Integer = 0
|
||||
|
|
|
@ -247,9 +247,17 @@
|
|||
''' </summary>
|
||||
Public ShadowForce As Integer = 0
|
||||
''' <summary>
|
||||
''' Phantom Force move counter.
|
||||
''' </summary>
|
||||
Public PhantomForce As Integer = 0
|
||||
''' <summary>
|
||||
''' Sky Drop move counter.
|
||||
''' </summary>
|
||||
Public SkyDrop As Integer = 0
|
||||
''' <summary>
|
||||
''' Geomancy move counter.
|
||||
''' </summary>
|
||||
Public Geomancy As Integer = 0
|
||||
|
||||
''' <summary>
|
||||
''' Turns this Pokémon is trapped in Wrap.
|
||||
|
@ -297,6 +305,10 @@
|
|||
''' </summary>
|
||||
Public FuryCutter As Integer = 0
|
||||
''' <summary>
|
||||
''' Counter for the Echoed Voice move.
|
||||
''' </summary>
|
||||
Public EchoedVoice As Integer = 0
|
||||
''' <summary>
|
||||
''' Counter for the Stockpile move.
|
||||
''' </summary>
|
||||
Public StockPile As Integer = 0
|
||||
|
@ -449,6 +461,7 @@
|
|||
Me.CustapBerry = 0
|
||||
Me.Trapped = 0
|
||||
Me.FuryCutter = 0
|
||||
Me.EchoedVoice = 0
|
||||
Me.TurnsInBattle = 0
|
||||
Me.StockPile = 0
|
||||
Me.DestinyBond = 0
|
||||
|
@ -461,7 +474,9 @@
|
|||
Me.Bounce = 0
|
||||
Me.Dive = 0
|
||||
Me.ShadowForce = 0
|
||||
Me.PhantomForce = 0
|
||||
Me.SkyDrop = 0
|
||||
Me.Geomancy = 0
|
||||
Me.SkyAttack = 0
|
||||
Me.RazorWind = 0
|
||||
Me.SkullBash = 0
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 130 KiB |
Binary file not shown.
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 24 KiB |
|
@ -44,7 +44,7 @@ Move|12,355
|
|||
Move|16,332
|
||||
Move|20,227
|
||||
Move|24,374
|
||||
Move|28,560
|
||||
Move|28,9999
|
||||
Move|32,340
|
||||
Move|36,283
|
||||
Move|40,297
|
||||
|
|
108
P3D/P3D.vbproj
108
P3D/P3D.vbproj
|
@ -25508,25 +25508,121 @@
|
|||
</Content>
|
||||
<Compile Include="Pokemon\Abilities\Aerilate.vb" />
|
||||
<Compile Include="Pokemon\Abilities\ParentalBond.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Bug\FellStinger.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Dark\DarkVoid.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Dark\HyperspaceFury.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Dark\PartingShot.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Dragon\SpacialRend.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Fairy\Geomancy.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Fairy\LightOfRuin.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Fighting\FinalGambit.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Fighting\FlyingPress.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Fighting\StormThrow.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Fire\Incinerate.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\ShadowForce.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Grass\WorrySeed.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Ground\PrecipiceBlades.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Ground\ThousandArrows.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\Attacks\Ice\Glaciate.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\HoldBack.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Round.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Normal\Judgement.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Normal\Entrainment.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Normal\TechnoBlast.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Normal\ReflectType.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Normal\EchoedVoice.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\SimpleBeam.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Poison\VenomDrench.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Psychic\HyperspaceHole.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Psychic\Synchronoise.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Psychic\Psystrike.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Rock\DiamondStorm.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Attacks\Water\OriginPulse.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Items\KeyItems\LibertySeaMap.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\DouseDrive.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Items\Standard\ChillDrive.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Items\Standard\ShockDrive.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Items\Standard\BurnDrive.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Pokemon\Items\Standard\ExpertBelt.vb" />
|
||||
<Compile Include="Resources\Blur\BlurHandler.vb" />
|
||||
<Content Include="Content\Data\Scripts\faraway\mewtwonite_y.dat">
|
||||
|
@ -25770,7 +25866,9 @@
|
|||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Pokemon\Items\_itemList.txt" />
|
||||
<None Include="Pokemon\Items\_itemList.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="My Project\app.manifest" />
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
|
@ -25792,8 +25890,12 @@
|
|||
<Compile Include="Battle\BattleSystemV2\BattleMenu.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\BattleScreen.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\BattleWeather.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\FieldEffects.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\PokemonProfile.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\FieldEffects.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Battle\BattleSystemV2\PokemonProfile.vb">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Battle\BattleSystemV2\QueryObjects\CameraQueryObject.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\QueryObjects\ChoosePokemonQueryObject.vb" />
|
||||
<Compile Include="Battle\BattleSystemV2\QueryObjects\AfterFaintQueryObject.vb" />
|
||||
|
|
|
@ -1018,8 +1018,8 @@
|
|||
returnMove = New Moves.Dark.Punishment()
|
||||
Case 387
|
||||
returnMove = New Moves.Normal.LastResort()
|
||||
'Case 388
|
||||
'Worry Seed
|
||||
Case 388
|
||||
returnMove = New Moves.Grass.WorrySeed()
|
||||
Case 389
|
||||
returnMove = New Moves.Dark.SuckerPunch()
|
||||
Case 390
|
||||
|
@ -1140,8 +1140,8 @@
|
|||
returnMove = New Moves.Grass.GrassKnot()
|
||||
Case 448
|
||||
returnMove = New Moves.Flying.Chatter()
|
||||
'Case 449
|
||||
'Judgment
|
||||
Case 449
|
||||
returnMove = New Moves.Normal.Judgement()
|
||||
Case 450
|
||||
returnMove = New Moves.Bug.BugBite()
|
||||
Case 451
|
||||
|
@ -1212,8 +1212,8 @@
|
|||
returnMove = New Moves.Bug.QuiverDance()
|
||||
Case 484
|
||||
returnMove = New Moves.Steel.HeavySlam()
|
||||
'Case 485
|
||||
'Synchronoise
|
||||
Case 485
|
||||
returnMove = New Moves.Psychic.Synchronoise()
|
||||
Case 486
|
||||
returnMove = New Moves.Electric.ElectroBall()
|
||||
'Case 487
|
||||
|
@ -1228,16 +1228,16 @@
|
|||
returnMove = New Moves.Poison.AcidSpray()
|
||||
Case 492
|
||||
returnMove = New Moves.Dark.FoulPlay()
|
||||
'Case 493
|
||||
'Simple Beam
|
||||
'Case 494
|
||||
'Entertainment
|
||||
Case 493
|
||||
returnMove = New Moves.Normal.SimpleBeam()
|
||||
Case 494
|
||||
returnMove = New Moves.Normal.Entrainment()
|
||||
'Case 495
|
||||
'After You
|
||||
'Case 496
|
||||
'Round
|
||||
'Case 497
|
||||
'Echoed Voice
|
||||
Case 496
|
||||
returnMove = New Moves.Normal.Round()
|
||||
Case 497
|
||||
returnMove = New Moves.Normal.EchoedVoice()
|
||||
Case 498
|
||||
returnMove = New Moves.Normal.ChipAway()
|
||||
Case 499
|
||||
|
@ -1262,20 +1262,20 @@
|
|||
returnMove = New Moves.Steel.ShiftGear()
|
||||
Case 509
|
||||
returnMove = New Moves.Fighting.CircleThrow()
|
||||
'Case 510
|
||||
'Incinerate
|
||||
Case 510
|
||||
returnMove = New Moves.Fire.Incinerate()
|
||||
'Case 511
|
||||
'Quash
|
||||
Case 512
|
||||
returnMove = New Moves.Flying.Acrobatics()
|
||||
'Case 513
|
||||
'Reflect Type
|
||||
Case 513
|
||||
returnMove = New Moves.Normal.ReflectType()
|
||||
'Case 514
|
||||
'Retaliate
|
||||
'Case 515
|
||||
'Final Gambit
|
||||
'Case 516
|
||||
'Bestow
|
||||
Case 515
|
||||
returnMove = New Moves.Fighting.FinalGambit()
|
||||
Case 516
|
||||
returnMove = New Moves.Normal.Bestow()
|
||||
Case 517
|
||||
returnMove = New Moves.Fire.Inferno()
|
||||
Case 518
|
||||
|
@ -1322,8 +1322,8 @@
|
|||
returnMove = New Moves.Grass.CottonGuard()
|
||||
Case 539
|
||||
returnMove = New Moves.Dark.NightDaze()
|
||||
'Case 540
|
||||
'Psystrike
|
||||
Case 540
|
||||
returnMove = New Moves.Psychic.Psystrike()
|
||||
Case 541
|
||||
returnMove = New Moves.Normal.TailSlap()
|
||||
Case 542
|
||||
|
@ -1334,14 +1334,14 @@
|
|||
returnMove = New Moves.Steel.GearGrind()
|
||||
Case 545
|
||||
returnMove = New Moves.Fire.SearingShot()
|
||||
'Case 546
|
||||
'Techno Blast
|
||||
Case 546
|
||||
returnMove = New Moves.Normal.TechnoBlast()
|
||||
'Case 547
|
||||
'Relic Song
|
||||
Case 548
|
||||
returnMove = New Moves.Fighting.SecretSword()
|
||||
'Case 549
|
||||
'Glaciate
|
||||
Case 549
|
||||
returnMove = New Moves.Ice.Glaciate()
|
||||
Case 550
|
||||
returnMove = New Moves.Electric.BoltStrike()
|
||||
Case 551
|
||||
|
@ -1372,10 +1372,10 @@
|
|||
'Rototiller
|
||||
Case 564
|
||||
returnMove = New Moves.Bug.StickyWeb()
|
||||
'Case 565
|
||||
'Fell Stinger
|
||||
'Case 566
|
||||
'Phantom Force
|
||||
Case 565
|
||||
returnMove = New Moves.Bug.FellStinger()
|
||||
Case 566
|
||||
returnMove = New Moves.Ghost.PhantomForce()
|
||||
'Case 567
|
||||
'Trick-or-Treat
|
||||
Case 568
|
||||
|
@ -1392,8 +1392,8 @@
|
|||
returnMove = New Moves.Ice.FreezeDry()
|
||||
Case 574
|
||||
returnMove = New Moves.Fairy.DisarmingVoice()
|
||||
'Case 575
|
||||
'Parting Shot
|
||||
Case 575
|
||||
returnMove = New Moves.Dark.PartingShot()
|
||||
'Case 576
|
||||
'Topsy-Turvy
|
||||
Case 577
|
||||
|
@ -1424,12 +1424,12 @@
|
|||
returnMove = New Moves.Normal.PlayNice()
|
||||
Case 590
|
||||
returnMove = New Moves.Normal.Confide()
|
||||
'Case 591
|
||||
'Diamond Storm
|
||||
Case 591
|
||||
returnMove = New Moves.Rock.DiamondStorm()
|
||||
Case 592
|
||||
returnMove = New Moves.Water.SteamEruption()
|
||||
'Case 593
|
||||
'Hyperspace Hole
|
||||
Case 593
|
||||
returnMove = New Moves.Psychic.HyperspaceHole()
|
||||
Case 594
|
||||
returnMove = New Moves.Water.WaterShuriken()
|
||||
Case 595
|
||||
|
@ -1437,277 +1437,281 @@
|
|||
'Case 596
|
||||
'Spiky Shield
|
||||
'Case 597
|
||||
'Aromatic Mist
|
||||
'Aromatic Mist - Double Battles
|
||||
Case 598
|
||||
returnMove = New Moves.Electric.EerieImpulse()
|
||||
'Case 599
|
||||
'Vemon Drench
|
||||
Case 599
|
||||
returnMove = New Moves.Poison.VenomDrench()
|
||||
'Case 600
|
||||
'Powder
|
||||
'Case 601
|
||||
'Geomancy
|
||||
Case 601
|
||||
returnMove = New Moves.Fairy.Geomancy()
|
||||
'Case 602
|
||||
'Macnetic Flux
|
||||
'Magnetic Flux - Double Battles
|
||||
'Case 603
|
||||
'Happy Hour
|
||||
'Case 604
|
||||
'Electric Terrain
|
||||
Case 605
|
||||
returnMove = New Moves.Fairy.DazzlingGleam()
|
||||
'Case 606
|
||||
'Celebrate
|
||||
Case 606
|
||||
returnMove = New Moves.Normal.Celebrate()
|
||||
'Case 607
|
||||
'Hold Hands
|
||||
Case 608
|
||||
returnMove = New Moves.Fairy.BabyDollEyes()
|
||||
Case 609
|
||||
returnMove = New Moves.Electric.Nuzzle()
|
||||
'Case 610
|
||||
'Hold Back
|
||||
Case 610
|
||||
returnMove = New Moves.Normal.HoldBack()
|
||||
Case 611
|
||||
returnMove = New Moves.Bug.Infestation()
|
||||
Case 612
|
||||
returnMove = New Moves.Fighting.PowerUpPunch()
|
||||
Case 613
|
||||
returnMove = New Moves.Flying.OblivionWing()
|
||||
'Case 614
|
||||
'Thousand Arrows
|
||||
Case 614
|
||||
returnMove = New Moves.Ground.ThousandArrows()
|
||||
Case 615
|
||||
returnMove = New Moves.Ground.ThousandWaves()
|
||||
Case 616
|
||||
returnMove = New Moves.Ground.LandsWrath()
|
||||
'Case 617
|
||||
'Light of Ruin
|
||||
'Case 618
|
||||
'Origin Pulse
|
||||
'Case 619
|
||||
'Precipice Blades
|
||||
'Case 620
|
||||
'Dragon Ascent
|
||||
'Case 621
|
||||
'Hyperspace Fury
|
||||
'Case 622
|
||||
'Breakneck Blitz - Physical
|
||||
'Case 623
|
||||
'Breakneck Blitz - Special
|
||||
'Case 624
|
||||
'All-Out Pummeling - Physical
|
||||
'Case 625
|
||||
'All-Out Pummeling - Special
|
||||
'Case 626
|
||||
'Supersonic Skystrike - Physical
|
||||
'Case 627
|
||||
'Supersonic Skystrike - Special
|
||||
'Case 628
|
||||
'Acid Downpour - Physical
|
||||
'Case 629
|
||||
'Acid Downpour - Special
|
||||
'Case 630
|
||||
'Tectonic Rage - Physical
|
||||
'Case 631
|
||||
'Tectonic Rage - Special
|
||||
'Case 632
|
||||
'Continental Crush - Physical
|
||||
'Case 633
|
||||
'Continental Crush - Special
|
||||
'Case 634
|
||||
'Savage Spin-Out - Physical
|
||||
'Case 635
|
||||
'Savage Spin-Out - Special
|
||||
'Case 636
|
||||
'Never-Ending Nightmare - Physical
|
||||
'Case 637
|
||||
'Never-Ending Nightmare - Special
|
||||
'Case 638
|
||||
'Corkscrew Crash - Physical
|
||||
'Case 639
|
||||
'Corkscrew Crash - Special
|
||||
'Case 640
|
||||
'Inferno Overdrive - Physical
|
||||
'Case 641
|
||||
'Inferno Overdrive - Special
|
||||
'Case 642
|
||||
'Hydro Vortex - Physical
|
||||
'Case 643
|
||||
'Hydro Vortex - Special
|
||||
'Case 644
|
||||
'Bloom Doom - Physical
|
||||
'Case 645
|
||||
'Bloom Doom - Special
|
||||
'Case 646
|
||||
'Gigavolt Havoc - Physical
|
||||
'Case 647
|
||||
'Gigavolt Havoc - Special
|
||||
'Case 648
|
||||
'Shattered Psyche - Physical
|
||||
'Case 649
|
||||
'Shattered Psyche - Special
|
||||
'Case 650
|
||||
'Subzero Slammer - Physical
|
||||
'Case 651
|
||||
'Subzero Slammer - Special
|
||||
'Case 652
|
||||
'Devastating Drake - Physical
|
||||
'Case 653
|
||||
'Devastating Drake - Special
|
||||
'Case 654
|
||||
'Black Hole Eclipse - Physical
|
||||
'Case 655
|
||||
'Black Hole Eclipse - Special
|
||||
'Case 656
|
||||
'Twinkle Tackle - Physical
|
||||
'Case 657
|
||||
'Twinkle Tackle - Special
|
||||
'Case 658
|
||||
'Catastropika
|
||||
'Case 659
|
||||
'Shore Up
|
||||
'Case 660
|
||||
'First Impression
|
||||
'Case 661
|
||||
'Baneful Bunker
|
||||
'Case 662
|
||||
'Spirit Shackle
|
||||
'Case 663
|
||||
'Darkest Lariat
|
||||
'Case 664
|
||||
'Sparkling Aria
|
||||
'Case 665
|
||||
'Ice Hammer
|
||||
'Case 666
|
||||
'Floral Healing
|
||||
'Case 667
|
||||
'High Horsepower
|
||||
'Case 668
|
||||
'Strength Sap
|
||||
'Case 669
|
||||
'Solar Blade
|
||||
'Case 670
|
||||
'Leafage
|
||||
'Case 671
|
||||
'Spotlight
|
||||
'Case 672
|
||||
'Toxic Thread
|
||||
'Case 673
|
||||
'Laser Focus
|
||||
'Case 674
|
||||
'Gear Up
|
||||
'Case 675
|
||||
'Throat Chop
|
||||
'Case 676
|
||||
'Pollen Puff
|
||||
'Case 677
|
||||
'Anchor Shot
|
||||
'Case 678
|
||||
'Psychic Terrain
|
||||
'Case 679
|
||||
'Lunge
|
||||
'Case 680
|
||||
'Fire Lash
|
||||
'Case 681
|
||||
'Power Trip
|
||||
'Case 682
|
||||
'Burn Up
|
||||
'Case 683
|
||||
'Speed Swap
|
||||
'Case 684
|
||||
'Smart Strike
|
||||
'Case 685
|
||||
'Purify
|
||||
'Case 686
|
||||
'Revelation Dance
|
||||
'Case 687
|
||||
'Core Enforcer
|
||||
'Case 688
|
||||
'Trop Kick
|
||||
'Case 689
|
||||
'Instruct
|
||||
'Case 690
|
||||
'Beak Blast
|
||||
'Case 691
|
||||
'Clanging Scales
|
||||
'Case 692
|
||||
'Dragon Hammer
|
||||
'Case 693
|
||||
'Brutal Swing
|
||||
'Case 694
|
||||
'Aurora Veil
|
||||
'Case 695
|
||||
'Sinister Arrow Raid
|
||||
'Case 696
|
||||
'Malicious Moonsault
|
||||
'Case 697
|
||||
'Oceanic Operetta
|
||||
'Case 698
|
||||
'Guardian of Alola
|
||||
'Case 699
|
||||
'Soul-Stealing 7-Star Strike
|
||||
'Case 700
|
||||
'Stoked Sparksurfer
|
||||
'Case 701
|
||||
'Pulverizing Pancake
|
||||
'Case 702
|
||||
'Extreme Evoboost
|
||||
'Case 703
|
||||
'Genesis Supernova
|
||||
'Case 704
|
||||
'Shell Trap
|
||||
'Case 705
|
||||
'Fleur Cannon
|
||||
'Case 706
|
||||
'Psychic Fangs
|
||||
'Case 707
|
||||
'Stomping Tantrum
|
||||
'Case 708
|
||||
'Shadow Bone
|
||||
'Case 709
|
||||
'Accelerock
|
||||
'Case 710
|
||||
'Liquidation
|
||||
'Case 711
|
||||
'Prismatic Laser
|
||||
'Case 712
|
||||
'Spectral Thief
|
||||
'Case 713
|
||||
'Sunsteel Strike
|
||||
'Case 714
|
||||
'Moongeist Beam
|
||||
'Case 715
|
||||
'Tearful Look
|
||||
'Case 716
|
||||
'Zing Zap
|
||||
'Case 717
|
||||
'Nature's Madness
|
||||
'Case 718
|
||||
'Multi-Attack
|
||||
'Case 719
|
||||
'10,000,000 Volt Thunderbolt
|
||||
'Case 720
|
||||
'Mind Blown
|
||||
'Case 721
|
||||
'Plasma Fists
|
||||
'Case 722
|
||||
'Photon Geyser
|
||||
'Case 723
|
||||
'Light That Burns The Sky
|
||||
'Case 724
|
||||
'Searing Sunraze Smash
|
||||
'Case 725
|
||||
'Menacing Moonraze Maelstrom
|
||||
'Case 726
|
||||
'Let's Snuggle Forever
|
||||
'Case 727
|
||||
'Splintered Stormshards
|
||||
'Case 728
|
||||
'Clangorous Soulblaze
|
||||
'Case 729
|
||||
'Blank
|
||||
Case 617
|
||||
returnMove = New Moves.Fairy.LightOfRuin()
|
||||
Case 618
|
||||
returnMove = New Moves.Water.OriginPulse()
|
||||
Case 619
|
||||
returnMove = New Moves.Ground.PrecipiceBlades()
|
||||
Case 620
|
||||
returnMove = New Moves.Flying.DragonAscent()
|
||||
Case 621
|
||||
returnMove = New Moves.Dark.HyperspaceFury()
|
||||
'------------------------------------------------BEGIN Z MOVE STREAK
|
||||
'Case 622
|
||||
'Breakneck Blitz - Physical
|
||||
'Case 623
|
||||
'Breakneck Blitz - Special
|
||||
'Case 624
|
||||
'All-Out Pummeling - Physical
|
||||
'Case 625
|
||||
'All-Out Pummeling - Special
|
||||
'Case 626
|
||||
'Supersonic Skystrike - Physical
|
||||
'Case 627
|
||||
'Supersonic Skystrike - Special
|
||||
'Case 628
|
||||
'Acid Downpour - Physical
|
||||
'Case 629
|
||||
'Acid Downpour - Special
|
||||
'Case 630
|
||||
'Tectonic Rage - Physical
|
||||
'Case 631
|
||||
'Tectonic Rage - Special
|
||||
'Case 632
|
||||
'Continental Crush - Physical
|
||||
'Case 633
|
||||
'Continental Crush - Special
|
||||
'Case 634
|
||||
'Savage Spin-Out - Physical
|
||||
'Case 635
|
||||
'Savage Spin-Out - Special
|
||||
'Case 636
|
||||
'Never-Ending Nightmare - Physical
|
||||
'Case 637
|
||||
'Never-Ending Nightmare - Special
|
||||
'Case 638
|
||||
'Corkscrew Crash - Physical
|
||||
'Case 639
|
||||
'Corkscrew Crash - Special
|
||||
'Case 640
|
||||
'Inferno Overdrive - Physical
|
||||
'Case 641
|
||||
'Inferno Overdrive - Special
|
||||
'Case 642
|
||||
'Hydro Vortex - Physical
|
||||
'Case 643
|
||||
'Hydro Vortex - Special
|
||||
'Case 644
|
||||
'Bloom Doom - Physical
|
||||
'Case 645
|
||||
'Bloom Doom - Special
|
||||
'Case 646
|
||||
'Gigavolt Havoc - Physical
|
||||
'Case 647
|
||||
'Gigavolt Havoc - Special
|
||||
'Case 648
|
||||
'Shattered Psyche - Physical
|
||||
'Case 649
|
||||
'Shattered Psyche - Special
|
||||
'Case 650
|
||||
'Subzero Slammer - Physical
|
||||
'Case 651
|
||||
'Subzero Slammer - Special
|
||||
'Case 652
|
||||
'Devastating Drake - Physical
|
||||
'Case 653
|
||||
'Devastating Drake - Special
|
||||
'Case 654
|
||||
'Black Hole Eclipse - Physical
|
||||
'Case 655
|
||||
'Black Hole Eclipse - Special
|
||||
'Case 656
|
||||
'Twinkle Tackle - Physical
|
||||
'Case 657
|
||||
'Twinkle Tackle - Special
|
||||
'Case 658
|
||||
'Catastropika
|
||||
'------------------------------------------------END Z MOVE STREAK
|
||||
'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 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 671
|
||||
'Spotlight
|
||||
'Case 672
|
||||
'returnMove = New Moves.Poison.ToxicThread()
|
||||
'Case 673
|
||||
'Laser Focus
|
||||
'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 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 683
|
||||
'Speed Swap
|
||||
'Case 684
|
||||
'returnMove = New Moves.Steel.SmartStrike()
|
||||
'Case 685
|
||||
'Purify - Double Battles
|
||||
'Case 686
|
||||
'returnMove = New Moves.Normal.RevelationDance()
|
||||
'Case 687
|
||||
'Core Enforcer
|
||||
'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 695
|
||||
'Sinister Arrow Raid - Z-Move
|
||||
'Case 696
|
||||
'Malicious Moonsault - Z-Move
|
||||
'Case 697
|
||||
'Oceanic Operetta - Z-Move
|
||||
'Case 698
|
||||
'Guardian of Alola - Z-Move
|
||||
'Case 699
|
||||
'Soul-Stealing 7-Star Strike - Z-Move
|
||||
'Case 700
|
||||
'Stoked Sparksurfer - Z-Move
|
||||
'Case 701
|
||||
'Pulverizing Pancake - Z-Move
|
||||
'Case 702
|
||||
'Extreme Evoboost - Z-Move
|
||||
'Case 703
|
||||
'Genesis Supernova - Z-Move
|
||||
'Case 704
|
||||
'Shell Trap
|
||||
'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 712
|
||||
'Spectral Thief
|
||||
'Case 713
|
||||
'returnMove = New Moves.Steel.SunsteelStrike()
|
||||
'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 719
|
||||
'10,000,000 Volt Thunderbolt - Z-Move
|
||||
'Case 720
|
||||
'returnMove = New Moves.Fire.MindBlown()
|
||||
'Case 721
|
||||
'Plasma Fists
|
||||
'Case 722
|
||||
'Photon Geyser
|
||||
'Case 723
|
||||
'Light That Burns The Sky - Z-Move
|
||||
'Case 724
|
||||
'Searing Sunraze Smash - Z-Move
|
||||
'Case 725
|
||||
'Menacing Moonraze Maelstrom - Z-Move
|
||||
'Case 726
|
||||
'Let's Snuggle Forever - Z-Move
|
||||
'Case 727
|
||||
'Splintered Stormshards - Z-Move
|
||||
'Case 728
|
||||
'Clangorous Soulblaze - Z-Move
|
||||
'Case 729
|
||||
'Blank
|
||||
Case 999
|
||||
If GameController.IS_DEBUG_ACTIVE = True Or Core.Player.SandBoxMode = True Then
|
||||
returnMove = New Moves.Special.TheDerpMove()
|
||||
Else
|
||||
returnMove = New Moves.Normal.Pound()
|
||||
End If
|
||||
Case 9999
|
||||
returnMove = New Moves.Fighting.FlyingPress()
|
||||
Case Else
|
||||
'Try to load a GameMode move.
|
||||
Dim gameModeMove As Attack = GameModeAttackLoader.GetAttackByID(ID)
|
||||
|
|
|
@ -0,0 +1,69 @@
|
|||
Namespace BattleSystem.Moves.Bug
|
||||
|
||||
Public Class FellStinger
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Bug)
|
||||
Me.ID = 565
|
||||
Me.OriginalPP = 25
|
||||
Me.CurrentPP = 25
|
||||
Me.MaxPP = 25
|
||||
Me.Power = 50
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Fell Stinger"
|
||||
Me.Description = "When the user knocks out a target with this move, the user's Attack stat rises drastically."
|
||||
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
|
||||
|
||||
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
|
||||
If op.HP = 0 Then
|
||||
BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Attack", 3, "", "move:fellstinger")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -55,7 +55,24 @@
|
|||
Me.AIField2 = AIField.Nothing
|
||||
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.Number = 491 Then
|
||||
Return False
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("But " & p.GetDisplayName() & " can't use the move!"))
|
||||
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
|
||||
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!"))
|
||||
|
|
|
@ -0,0 +1,94 @@
|
|||
Namespace BattleSystem.Moves.Dark
|
||||
|
||||
Public Class HyperspaceFury
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Dark)
|
||||
Me.ID = 621
|
||||
Me.OriginalPP = 25
|
||||
Me.CurrentPP = 25
|
||||
Me.MaxPP = 25
|
||||
Me.Power = 100
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Hyperspace Fury"
|
||||
Me.Description = "Using its many arms, the user unleashes a barrage of attacks that ignore the effects of moves like Protect and Detect. But the user’s Defense stat falls."
|
||||
Me.CriticalChance = 1
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.OneAdjacentTarget
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = False
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = False
|
||||
Me.KingsrockAffected = True
|
||||
Me.CounterAffected = True
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = True
|
||||
Me.ImmunityAffected = True
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = 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
|
||||
Me.UseAccEvasion = False
|
||||
Me.CanHitUnderwater = False
|
||||
Me.CanHitUnderground = False
|
||||
Me.CanHitInMidAir = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Damage
|
||||
Me.AIField2 = AIField.CannotMiss
|
||||
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.Number = 720 And p.AdditionalData = "unbound" Then
|
||||
Return False
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("But " & p.GetDisplayName() & " can't use the move!"))
|
||||
Return True
|
||||
End If
|
||||
End Function
|
||||
|
||||
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.Battle.LowerStat(own, own, BattleScreen, "Defense", 1, "", "move:hyperspacefury")
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Hyperspace Fury lifted " & op.GetDisplayName() & "'s protection!"))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -70,12 +70,18 @@
|
|||
If op.Ability.Name.ToLower() = "multitype" AndAlso op.Item.Name.ToLower().EndsWith(" plate") Then
|
||||
Return Power
|
||||
End If
|
||||
If op.Ability.Name.ToLower() = "rks system" AndAlso op.Item.Name.ToLower().EndsWith(" memory") Then
|
||||
Return Power
|
||||
End If
|
||||
If op.Item.Name.ToLower() = "griseous orb" And op.Number = 487 Then
|
||||
Return Power
|
||||
End If
|
||||
If op.Item.Name.ToLower().EndsWith(" drive") = True AndAlso op.Number = 649 Then
|
||||
Return Power
|
||||
End If
|
||||
If op.Item.Name.ToLower().EndsWith(" mail") = True Then
|
||||
Return Power
|
||||
End If
|
||||
|
||||
Return CInt(Me.Power * 1.5F)
|
||||
End Function
|
||||
|
@ -98,12 +104,18 @@
|
|||
If op.Ability.Name.ToLower() = "multitype" AndAlso op.Item.Name.ToLower().EndsWith(" plate") Then
|
||||
Exit Sub
|
||||
End If
|
||||
If op.Ability.Name.ToLower() = "rks system" AndAlso op.Item.Name.ToLower().EndsWith(" memory") Then
|
||||
Exit Sub
|
||||
End If
|
||||
If op.Item.Name.ToLower() = "griseous orb" And op.Number = 487 Then
|
||||
Exit Sub
|
||||
End If
|
||||
If op.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then
|
||||
Exit Sub
|
||||
End If
|
||||
If op.Item.Name.ToLower().EndsWith(" mail") = True Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
op.OriginalItem = Item.GetItemByID(op.Item.ID)
|
||||
op.OriginalItem.AdditionalData = op.Item.AdditionalData
|
||||
|
|
|
@ -0,0 +1,96 @@
|
|||
Namespace BattleSystem.Moves.Dark
|
||||
|
||||
Public Class PartingShot
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Dark)
|
||||
Me.ID = 575
|
||||
Me.OriginalPP = 20
|
||||
Me.CurrentPP = 20
|
||||
Me.MaxPP = 20
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Parting Shot"
|
||||
Me.Description = "With a parting threat, the user lowers the target's Attack and Sp. Atk stats. Then it switches with a party Pokémon."
|
||||
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 = True
|
||||
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 = True
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = True
|
||||
'#End
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim b As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:partingshot")
|
||||
Dim d As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Special Attack", 1, "", "move:partingshot")
|
||||
If b = False Or d = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveSwitch(own As Boolean, BattleScreen As BattleScreen)
|
||||
If own = True Then
|
||||
If Core.Player.CountFightablePokemon > 1 Then
|
||||
BattleScreen.Battle.SwitchOutOwn(BattleScreen, GetPokemonIndex(BattleScreen, own), -1)
|
||||
End If
|
||||
Else
|
||||
If BattleScreen.IsTrainerBattle = True Or BattleScreen.IsRemoteBattle = True Or BattleScreen.IsPVPBattle = True Then
|
||||
If BattleScreen.Trainer.CountUseablePokemon > 1 Then
|
||||
BattleScreen.Battle.SwitchOutOpp(BattleScreen, GetPokemonIndex(BattleScreen, own))
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function GetPokemonIndex(ByVal BattleScreen As BattleScreen, ByVal own As Boolean) As Integer
|
||||
If own = True Then
|
||||
Dim i As Integer = 0
|
||||
While Core.Player.Pokemons(i).HP <= 0 Or Core.Player.Pokemons(i).Status = Pokemon.StatusProblems.Fainted Or i = BattleScreen.OwnPokemonIndex Or Core.Player.Pokemons(i).IsEgg() = True
|
||||
i += 1
|
||||
End While
|
||||
Return i
|
||||
Else
|
||||
Dim i As Integer = 0
|
||||
While BattleScreen.Trainer.Pokemons(i).HP <= 0 Or BattleScreen.Trainer.Pokemons(i).Status = Pokemon.StatusProblems.Fainted Or i = BattleScreen.OppPokemonIndex Or BattleScreen.Trainer.Pokemons(i).IsEgg() = True
|
||||
i += 1
|
||||
End While
|
||||
Return i
|
||||
End If
|
||||
Return -1
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -75,15 +75,30 @@ Namespace BattleSystem.Moves.Dark
|
|||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower() = "griseous orb" AndAlso op.Number = 487 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If CheckMultitypePlate(p, op) = False Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower().EndsWith(" drive") = True AndAlso op.Number = 649 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower().EndsWith(" plate") = True AndAlso p.Number = 493 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower().EndsWith(" plate") = True AndAlso op.Number = 493 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower().EndsWith(" memory") = True AndAlso p.Number = 773 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower().EndsWith(" memory") = True AndAlso op.Number = 773 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower().EndsWith(" mail") = True Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower().EndsWith(" mail") = True Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If (p.Item IsNot Nothing AndAlso p.Item.IsMegaStone) OrElse (op.Item IsNot Nothing AndAlso op.Item.IsMegaStone) Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
|
@ -105,25 +120,6 @@ Namespace BattleSystem.Moves.Dark
|
|||
End If
|
||||
End Sub
|
||||
|
||||
Private Function CheckMultitypePlate(ByVal p As Pokemon, ByVal op As Pokemon) As Boolean
|
||||
If p.Ability.Name.ToLower() <> "multitype" And op.Ability.Name.ToLower() <> "multitype" Then
|
||||
Return True
|
||||
Else
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower().EndsWith(" plate") = True Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
If Not op.Item Is Nothing Then
|
||||
If op.Item.Name.ToLower().EndsWith(" plate") = True Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
|
|
|
@ -70,12 +70,18 @@
|
|||
If op.Ability.Name.ToLower() = "multitype" AndAlso op.Item.Name.ToLower().EndsWith(" plate") Then
|
||||
Exit Sub
|
||||
End If
|
||||
If op.Ability.Name.ToLower() = "rks system" AndAlso op.Item.Name.ToLower().EndsWith(" memory") Then
|
||||
Exit Sub
|
||||
End If
|
||||
If op.Item.Name.ToLower() = "griseous orb" And op.Number = 487 Then
|
||||
Exit Sub
|
||||
End If
|
||||
If op.Item.Name.ToLower().EndsWith(" drive") = True AndAlso op.Number = 649 Then
|
||||
Exit Sub
|
||||
End If
|
||||
If op.Item.Name.ToLower().EndsWith(" mail") = True Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If p.Item Is Nothing Then
|
||||
Dim ItemID As Integer = op.Item.ID
|
||||
|
|
|
@ -0,0 +1,70 @@
|
|||
Namespace BattleSystem.Moves.Fairy
|
||||
|
||||
Public Class Geomancy
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Fairy)
|
||||
Me.ID = 601
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Geomancy"
|
||||
Me.Description = "The user absorbs energy and sharply raises its Sp. Atk, Sp. Def, and Speed stats on the next turn."
|
||||
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 = False
|
||||
Me.MirrorMoveAffected = False
|
||||
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 = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.CanRaiseSpAttack
|
||||
Me.AIField2 = AIField.CanRaiseSpDefense
|
||||
Me.AIField3 = AIField.CanRaiseSpeed
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim b As Boolean = BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Special Attack", 2, "", "move:geomancy")
|
||||
Dim d As Boolean = BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Special Defense", 2, "", "move:geomancy")
|
||||
Dim f As Boolean = BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Speed", 2, "", "move:geomancy")
|
||||
If b = False And d = False And f = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,73 @@
|
|||
Namespace BattleSystem.Moves.Fairy
|
||||
|
||||
Public Class LightOfRuin
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Fairy)
|
||||
Me.ID = 617
|
||||
Me.OriginalPP = 5
|
||||
Me.CurrentPP = 5
|
||||
Me.MaxPP = 5
|
||||
Me.Power = 140
|
||||
Me.Accuracy = 90
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Light of Ruin"
|
||||
Me.Description = "Drawing power from the Eternal Flower, the user fires a powerful beam of light. This also damages the user quite a lot."
|
||||
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 = True
|
||||
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.Recoil
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveRecoil(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim lastDamage As Integer = BattleScreen.FieldEffects.OwnLastDamage
|
||||
If own = False Then
|
||||
lastDamage = BattleScreen.FieldEffects.OppLastDamage
|
||||
End If
|
||||
Dim recoilDamage As Integer = CInt(Math.Floor(lastDamage / 2))
|
||||
If recoilDamage <= 0 Then
|
||||
recoilDamage = 1
|
||||
End If
|
||||
|
||||
BattleScreen.Battle.InflictRecoil(own, own, BattleScreen, Me, recoilDamage, "", "move:lightofruin")
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,70 @@
|
|||
Namespace BattleSystem.Moves.Fighting
|
||||
|
||||
Public Class FinalGambit
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Fighting)
|
||||
Me.ID = 515
|
||||
Me.OriginalPP = 5
|
||||
Me.CurrentPP = 5
|
||||
Me.MaxPP = 5
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Final Gambit"
|
||||
Me.Description = "The user risks everything to attack its target. The user faints but does damage equal to its 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 = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
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.Selfdestruct
|
||||
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 dmg As Integer = p.HP
|
||||
BattleScreen.Battle.ReduceHP(dmg, own, own, BattleScreen, "", "move:finalgambit")
|
||||
BattleScreen.Battle.ReduceHP(dmg, Not own, own, BattleScreen, "", "move:finalgambit")
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,57 @@
|
|||
Namespace BattleSystem.Moves.Fighting
|
||||
|
||||
Public Class FlyingPress
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Fighting)
|
||||
Me.ID = 9999
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 100
|
||||
Me.Accuracy = 95
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Flying Press"
|
||||
Me.Description = "The user dives down onto the target from the sky. This move is Fighting and Flying type simultaneously."
|
||||
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 = True
|
||||
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
|
|
@ -0,0 +1,76 @@
|
|||
Namespace BattleSystem.Moves.Fire
|
||||
|
||||
Public Class Incinerate
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Fire)
|
||||
Me.ID = 510
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 60
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Incinerate"
|
||||
Me.Description = "The user attacks opposing Pokémon with fire. If a Pokémon is holding a certain item, such as a Berry, the item becomes burned up and unusable."
|
||||
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 = 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.Nothing
|
||||
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
|
||||
|
||||
If Not op.Item Is Nothing Then
|
||||
If op.Item.IsBerry = True OrElse op.Item.Name.ToLower().EndsWith(" gem") Then
|
||||
Dim ItemID As Integer = op.Item.ID
|
||||
BattleScreen.Battle.RemoveHeldItem(Not own, own, BattleScreen, op.GetDisplayName() & "'s " & op.Item.Name & " got burned up!", "move:incinerate")
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,65 @@
|
|||
Namespace BattleSystem.Moves.Flying
|
||||
|
||||
Public Class DragonAscent
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Flying)
|
||||
Me.ID = 620
|
||||
Me.OriginalPP = 5
|
||||
Me.CurrentPP = 5
|
||||
Me.MaxPP = 5
|
||||
Me.Power = 120
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Dragon Ascent"
|
||||
Me.Description = "After soaring upward, the user attacks its target by dropping out of the sky at high speeds. But it lowers its own Defense and Sp. Def stats in the process."
|
||||
Me.CriticalChance = 1
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.OneFoe
|
||||
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
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim b As Boolean = BattleScreen.Battle.LowerStat(own, own, BattleScreen, "Defense", 1, "", "move:dragonascent")
|
||||
Dim d As Boolean = BattleScreen.Battle.LowerStat(own, own, BattleScreen, "Special Defense", 1, "", "move:dragonascent")
|
||||
If b = False And d = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,200 @@
|
|||
Namespace BattleSystem.Moves.Ghost
|
||||
|
||||
Public Class PhantomForce
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Ghost)
|
||||
Me.ID = 566
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 90
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Phantom Force"
|
||||
Me.Description = "The user vanishes somewhere, 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 phantomforce As Integer = BattleScreen.FieldEffects.OwnPhantomForceCounter
|
||||
If own = False Then
|
||||
phantomforce = BattleScreen.FieldEffects.OppPhantomForceCounter
|
||||
End If
|
||||
|
||||
If phantomforce = 0 Then
|
||||
Return False
|
||||
Else
|
||||
Return True
|
||||
End If
|
||||
End Function
|
||||
|
||||
Public Overrides Sub PreAttack(Own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim phantomforce As Integer = BattleScreen.FieldEffects.OwnPhantomForceCounter
|
||||
If Own = False Then
|
||||
phantomforce = BattleScreen.FieldEffects.OppPhantomForceCounter
|
||||
End If
|
||||
|
||||
If phantomforce = 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 phantomforceCounter As Integer = BattleScreen.FieldEffects.OwnPhantomForceCounter
|
||||
|
||||
If Own = False Then
|
||||
phantomforceCounter = BattleScreen.FieldEffects.OppPhantomForceCounter
|
||||
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 Phantom Force!", "move:phantomforce") = True Then
|
||||
hasToCharge = False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If phantomforceCounter = 0 And hasToCharge = True Then
|
||||
If Own = True Then
|
||||
BattleScreen.FieldEffects.OwnPhantomForceCounter = 1
|
||||
Else
|
||||
BattleScreen.FieldEffects.OppPhantomForceCounter = 1
|
||||
End If
|
||||
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " vanished instantly!"))
|
||||
|
||||
Return True
|
||||
Else
|
||||
If Own = True Then
|
||||
BattleScreen.FieldEffects.OwnPhantomForceCounter = 0
|
||||
Else
|
||||
BattleScreen.FieldEffects.OppPhantomForceCounter = 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.OwnPhantomForceCounter = 0
|
||||
Else
|
||||
BattleScreen.FieldEffects.OppPhantomForceCounter = 0
|
||||
End If
|
||||
End Sub
|
||||
Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean
|
||||
Dim PhantomForce As Integer = BattleScreen.FieldEffects.OwnPhantomForceCounter
|
||||
If own = False Then
|
||||
PhantomForce = BattleScreen.FieldEffects.OppPhantomForceCounter
|
||||
End If
|
||||
|
||||
If PhantomForce = 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.OwnPhantomForceCounter = 0
|
||||
Else
|
||||
BattleScreen.FieldEffects.OppPhantomForceCounter = 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("Phantom Force lifted " & op.GetDisplayName() & "'s protection!"))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,72 @@
|
|||
Namespace BattleSystem.Moves.Grass
|
||||
|
||||
Public Class WorrySeed
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Grass)
|
||||
Me.ID = 388
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Worry Seed"
|
||||
Me.Description = "A seed that causes worry is planted on the target. It prevents sleep by making the target's Ability Insomnia."
|
||||
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.IsHealingMove = False
|
||||
Me.HasSecondaryEffect = False
|
||||
Me.RemovesFrozen = False
|
||||
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.ImmunityAffected = True
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
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
|
||||
Dim bannedAbilities() As String = {"insomnia", "truant", "multitype", "stance change", "schooling", "comatose", "shields down", "disguise", "rks system", "battle bond"}
|
||||
If bannedAbilities.Contains(op.Ability.Name.ToLower()) = False Then
|
||||
op.Ability = Ability.GetAbilityByID(15)
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " acquired Insomnia!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,57 @@
|
|||
Namespace BattleSystem.Moves.Ground
|
||||
|
||||
Public Class PrecipiceBlades
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Ground)
|
||||
Me.ID = 619
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 120
|
||||
Me.Accuracy = 85
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Precipice Blades"
|
||||
Me.Description = "The user attacks opposing Pokémon by manifesting the power of the land in fearsome blades of stone."
|
||||
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
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,58 @@
|
|||
Namespace BattleSystem.Moves.Ground
|
||||
|
||||
Public Class ThousandArrows
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Ground)
|
||||
Me.ID = 614
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 90
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Thousand Arrows"
|
||||
Me.Description = "This move also hits opposing Pokémon that are in the air. Those Pokémon are knocked down to the ground."
|
||||
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 = False
|
||||
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.CanHitInMidAir = True
|
||||
'#End
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -52,20 +52,6 @@
|
|||
'#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
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
|
||||
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 Ice Burn!", "move:iceburn") = True Then
|
||||
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "Power Herb pushed the use of Freeze Shock!", "move:freezeshock") = True Then
|
||||
freezeshock = 1
|
||||
End If
|
||||
End If
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
Namespace BattleSystem.Moves.Ice
|
||||
|
||||
Public Class Glaciate
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Ice)
|
||||
Me.ID = 549
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 65
|
||||
Me.Accuracy = 95
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Glaciate"
|
||||
Me.Description = "The user attacks by blowing freezing cold air at opposing Pokémon. This lowers their Speed stat."
|
||||
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 = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = True
|
||||
Me.ImmunityAffected = True
|
||||
Me.RemovesFrozen = False
|
||||
Me.HasSecondaryEffect = 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
|
||||
|
||||
Me.AIField1 = AIField.Damage
|
||||
Me.AIField2 = AIField.LowerSpeed
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Speed", 1, "", "move:glaciate")
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,107 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class Bestow
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Normal)
|
||||
Me.ID = 516
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Bestow"
|
||||
Me.Description = "The user passes its held item to the target when the target isn't holding an item."
|
||||
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 = False
|
||||
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
|
||||
Me.UseAccEvasion = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Support
|
||||
Me.AIField2 = AIField.CannotMiss
|
||||
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
|
||||
|
||||
If p.Item Is Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
If p.Item.IsMegaStone = True Then
|
||||
Exit Sub
|
||||
End If
|
||||
If p.Ability.Name.ToLower() = "multitype" AndAlso p.Item.Name.ToLower().EndsWith(" plate") Then
|
||||
Exit Sub
|
||||
End If
|
||||
If p.Ability.Name.ToLower() = "rks system" AndAlso p.Item.Name.ToLower().EndsWith(" memory") Then
|
||||
Exit Sub
|
||||
End If
|
||||
If p.Item.Name.ToLower() = "griseous orb" And p.Number = 487 Then
|
||||
Exit Sub
|
||||
End If
|
||||
If p.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then
|
||||
Exit Sub
|
||||
End If
|
||||
If p.Item.Name.ToLower().EndsWith(" mail") = True Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If op.Item Is Nothing Then
|
||||
Dim ItemID As Integer = p.Item.ID
|
||||
|
||||
p.OriginalItem = Item.GetItemByID(p.Item.ID)
|
||||
p.OriginalItem.AdditionalData = p.Item.AdditionalData
|
||||
|
||||
If BattleScreen.Battle.RemoveHeldItem(own, own, BattleScreen, op.GetDisplayName() & " received the item " & p.Item.Name & " from " & p.GetDisplayName() & "!", "move:bestow") Then
|
||||
If own = False Then
|
||||
BattleScreen.FieldEffects.StolenItemIDs.Add(ItemID)
|
||||
End If
|
||||
op.Item = Item.GetItemByID(ItemID)
|
||||
End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,65 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class Celebrate
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Normal)
|
||||
Me.ID = 606
|
||||
Me.OriginalPP = 40
|
||||
Me.CurrentPP = 40
|
||||
Me.MaxPP = 40
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Celebrate"
|
||||
Me.Description = "The Pokémon congratulates you on your special day!"
|
||||
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 = False
|
||||
Me.MirrorMoveAffected = False
|
||||
Me.KingsrockAffected = False
|
||||
Me.CounterAffected = False
|
||||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = False
|
||||
Me.ImmunityAffected = False
|
||||
Me.HasSecondaryEffect = False
|
||||
Me.RemovesFrozen = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
Me.UseAccEvasion = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.CannotMiss
|
||||
Me.AIField2 = AIField.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Congratulations, " & Core.Player.Name & "!"))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -73,12 +73,18 @@ Namespace BattleSystem.Moves.Normal
|
|||
If op.Ability.Name.ToLower() = "multitype" AndAlso op.Item.Name.ToLower().EndsWith(" plate") Then
|
||||
Exit Sub
|
||||
End If
|
||||
If op.Ability.Name.ToLower() = "rks system" AndAlso op.Item.Name.ToLower().EndsWith(" memory") Then
|
||||
Exit Sub
|
||||
End If
|
||||
If op.Item.Name.ToLower() = "griseous orb" And op.Number = 487 Then
|
||||
Exit Sub
|
||||
End If
|
||||
If op.Item.Name.ToLower().EndsWith(" drive") = True AndAlso op.Number = 649 Then
|
||||
Exit Sub
|
||||
End If
|
||||
If op.Item.Name.ToLower().EndsWith(" mail") = True Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If p.Item Is Nothing Then
|
||||
Dim ItemID As Integer = op.Item.ID
|
||||
|
|
|
@ -0,0 +1,138 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class EchoedVoice
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Normal)
|
||||
Me.ID = 497
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 40
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Echoed Voice"
|
||||
Me.Description = "The user attacks the target with an echoing voice. If this move is used every turn, its power is increased."
|
||||
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 = True
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = True
|
||||
'#End
|
||||
End Sub
|
||||
|
||||
Public Overrides Function GetBasePower(own As Boolean, BattleScreen As BattleScreen) As Integer
|
||||
Dim echoed As Integer = BattleScreen.FieldEffects.OwnEchoedVoice
|
||||
If own = False Then
|
||||
echoed = BattleScreen.FieldEffects.OppEchoedVoice
|
||||
End If
|
||||
|
||||
Dim p As Integer = Me.Power
|
||||
|
||||
If echoed > 0 Then
|
||||
For i = 1 To echoed
|
||||
p += 40
|
||||
Next
|
||||
End If
|
||||
|
||||
Return p
|
||||
End Function
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim lastMove As Attack = BattleScreen.FieldEffects.OwnLastMove
|
||||
If own = False Then
|
||||
lastMove = BattleScreen.FieldEffects.OppLastMove
|
||||
End If
|
||||
|
||||
If lastMove.ID <> 497 Then
|
||||
If own = True Then
|
||||
BattleScreen.FieldEffects.OwnEchoedVoice = 0
|
||||
Else
|
||||
BattleScreen.FieldEffects.OppEchoedVoice = 0
|
||||
End If
|
||||
Else
|
||||
Dim echoed As Integer = BattleScreen.FieldEffects.OwnEchoedVoice
|
||||
If own = False Then
|
||||
echoed = BattleScreen.FieldEffects.OppEchoedVoice
|
||||
End If
|
||||
|
||||
If echoed < 4 Then
|
||||
If own = True Then
|
||||
BattleScreen.FieldEffects.OwnEchoedVoice += 1
|
||||
Else
|
||||
BattleScreen.FieldEffects.OppEchoedVoice += 1
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ResetCounter(ByVal own As Boolean, ByVal BattleScreen As BattleScreen)
|
||||
If own = True Then
|
||||
BattleScreen.FieldEffects.OwnEchoedVoice = 0
|
||||
Else
|
||||
BattleScreen.FieldEffects.OppEchoedVoice = 0
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveMisses(own As Boolean, BattleScreen As BattleScreen)
|
||||
ResetCounter(own, BattleScreen)
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveProtectedDetected(own As Boolean, BattleScreen As BattleScreen)
|
||||
ResetCounter(own, BattleScreen)
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHasNoEffect(own As Boolean, BattleScreen As BattleScreen)
|
||||
ResetCounter(own, BattleScreen)
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub InflictedFlinch(own As Boolean, BattleScreen As BattleScreen)
|
||||
ResetCounter(own, BattleScreen)
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub IsSleeping(own As Boolean, BattleScreen As BattleScreen)
|
||||
ResetCounter(own, BattleScreen)
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub HurtItselfInConfusion(own As Boolean, BattleScreen As BattleScreen)
|
||||
ResetCounter(own, BattleScreen)
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen)
|
||||
ResetCounter(own, BattleScreen)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,77 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class Entrainment
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Normal)
|
||||
Me.ID = 494
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Entrainment"
|
||||
Me.Description = "The user dances with an odd rhythm that compels the target to mimic it, making the target's Ability the same as the user's."
|
||||
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.IsHealingMove = False
|
||||
Me.HasSecondaryEffect = False
|
||||
Me.RemovesFrozen = False
|
||||
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.ImmunityAffected = True
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#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 bannedAbilitiesOpp() As String = {"simple", "truant", "multitype", "stance change", "schooling", "comatose", "shields down", "disguise", "rks system", "battle bond"}
|
||||
Dim bannedAbilitiesOwn() As String = {"trace", "forecast", "flower gift", "zen mode", "illusion", "imposter", "power of alchemy", "receiver", "disguise", "power construct"}
|
||||
|
||||
If bannedAbilitiesOpp.Contains(op.Ability.Name.ToLower()) = False AndAlso bannedAbilitiesOwn.Contains(p.Ability.Name.ToLower()) = False Then
|
||||
op.Ability = Ability.GetAbilityByID(p.Ability.ID)
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " acquired " & op.Ability.Name() & "!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,82 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class HoldBack
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Normal)
|
||||
Me.ID = 610
|
||||
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 = "Hold Back"
|
||||
Me.Description = "The user holds back when it attacks, and the target is left with at least 1 HP."
|
||||
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.Nothing
|
||||
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 d As Integer = MyBase.GetDamage(Critical, Own, targetPokemon, BattleScreen)
|
||||
|
||||
Dim subst As Integer = BattleScreen.FieldEffects.OppSubstitute
|
||||
If Own = False Then
|
||||
subst = BattleScreen.FieldEffects.OwnSubstitute
|
||||
End If
|
||||
|
||||
If subst = 0 Then
|
||||
Dim op As Pokemon = BattleScreen.OppPokemon
|
||||
If Own = False Then
|
||||
op = BattleScreen.OwnPokemon
|
||||
End If
|
||||
|
||||
If d >= op.HP Then
|
||||
d = op.HP - 1
|
||||
End If
|
||||
End If
|
||||
|
||||
Return d
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -40,13 +40,13 @@
|
|||
Me.RemovesFrozen = False
|
||||
|
||||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = True
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = True
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = True
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = True
|
||||
'#End
|
||||
|
|
|
@ -0,0 +1,110 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class Judgement
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Normal)
|
||||
Me.ID = 449
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 100
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Judgement"
|
||||
Me.Description = "The user releases countless shots of light at the target. This move's type varies depending on the kind of Plate the user is holding."
|
||||
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
|
||||
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
|
||||
|
||||
Dim itemID As Integer = 0
|
||||
If Not p.Item Is Nothing Then
|
||||
itemID = p.Item.ID
|
||||
End If
|
||||
|
||||
Select Case p.Item.ID
|
||||
Case 267
|
||||
Return New Element(Element.Types.Dragon)
|
||||
Case 268
|
||||
Return New Element(Element.Types.Dark)
|
||||
Case 269
|
||||
Return New Element(Element.Types.Ground)
|
||||
Case 270
|
||||
Return New Element(Element.Types.Fighting)
|
||||
Case 271
|
||||
Return New Element(Element.Types.Fire)
|
||||
Case 272
|
||||
Return New Element(Element.Types.Ice)
|
||||
Case 273
|
||||
Return New Element(Element.Types.Bug)
|
||||
Case 274
|
||||
Return New Element(Element.Types.Steel)
|
||||
Case 275
|
||||
Return New Element(Element.Types.Grass)
|
||||
Case 276
|
||||
Return New Element(Element.Types.Psychic)
|
||||
Case 277
|
||||
Return New Element(Element.Types.Fairy)
|
||||
Case 278
|
||||
Return New Element(Element.Types.Flying)
|
||||
Case 279
|
||||
Return New Element(Element.Types.Water)
|
||||
Case 280
|
||||
Return New Element(Element.Types.Ghost)
|
||||
Case 281
|
||||
Return New Element(Element.Types.Rock)
|
||||
Case 282
|
||||
Return New Element(Element.Types.Poison)
|
||||
Case 283
|
||||
Return New Element(Element.Types.Electric)
|
||||
Case Else
|
||||
Return New Element(Element.Types.Normal)
|
||||
End Select
|
||||
|
||||
Return Me.Type
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -74,7 +74,7 @@ Namespace BattleSystem.Moves.Normal
|
|||
BattleScreen.FieldEffects.OppPayDayCounter += coinAmount
|
||||
End If
|
||||
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Coins were scattered anywhere!"))
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("Coins were scattered everywhere!"))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class ReflectType
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Normal)
|
||||
Me.ID = 513
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Reflect Type"
|
||||
Me.Description = "The user reflects the target's type, making it the same type as the target."
|
||||
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 = 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.Support
|
||||
Me.AIField2 = AIField.CannotMiss
|
||||
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
|
||||
p.OriginalType1 = New Element(p.Type1.Type)
|
||||
p.OriginalType2 = New Element(p.Type2.Type)
|
||||
p.Type1 = New Element(op.Type1.Type)
|
||||
p.Type2 = New Element(op.Type2.Type)
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s type changed to match " & op.OriginalName & "'s!"))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,78 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class Round
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Normal)
|
||||
Me.ID = 496
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 60
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Round"
|
||||
Me.Description = "The user attacks the target with a song. Others can join in the Round to increase the power of the attack."
|
||||
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 = True
|
||||
|
||||
Me.IsAffectedBySubstitute = False
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = True
|
||||
'#End
|
||||
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.ID = 496 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.ID = 496 Then
|
||||
Return Me.Power * 2
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Return Me.Power
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,72 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class SimpleBeam
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Normal)
|
||||
Me.ID = 493
|
||||
Me.OriginalPP = 15
|
||||
Me.CurrentPP = 15
|
||||
Me.MaxPP = 15
|
||||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Simple Beam"
|
||||
Me.Description = "The user's mysterious psychic wave changes the target's Ability to Simple."
|
||||
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.IsHealingMove = False
|
||||
Me.HasSecondaryEffect = False
|
||||
Me.RemovesFrozen = False
|
||||
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.ImmunityAffected = True
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
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
|
||||
Dim bannedAbilities() As String = {"simple", "truant", "multitype", "stance change", "schooling", "comatose", "shields down", "disguise", "rks system", "battle bond"}
|
||||
If bannedAbilities.Contains(op.Ability.Name.ToLower()) = False Then
|
||||
op.Ability = Ability.GetAbilityByID(86)
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " acquired Simple!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,84 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class TechnoBlast
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Normal)
|
||||
Me.ID = 546
|
||||
Me.OriginalPP = 5
|
||||
Me.CurrentPP = 5
|
||||
Me.MaxPP = 5
|
||||
Me.Power = 120
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Techno Blast"
|
||||
Me.Description = "The user fires a beam of light at its target. The move's type changes depending on the Drive the user holds."
|
||||
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
|
||||
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
|
||||
|
||||
Dim itemID As Integer = 0
|
||||
If Not p.Item Is Nothing Then
|
||||
itemID = p.Item.ID
|
||||
End If
|
||||
|
||||
Select Case p.Item.ID
|
||||
Case 1996
|
||||
Return New Element(Element.Types.Fire)
|
||||
Case 1997
|
||||
Return New Element(Element.Types.Ice)
|
||||
Case 1998
|
||||
Return New Element(Element.Types.Water)
|
||||
Case 1999
|
||||
Return New Element(Element.Types.Electric)
|
||||
Case Else
|
||||
Return New Element(Element.Types.Normal)
|
||||
End Select
|
||||
|
||||
Return Me.Type
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,72 @@
|
|||
Namespace BattleSystem.Moves.Poison
|
||||
|
||||
Public Class VenomDrench
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Poison)
|
||||
Me.ID = 599
|
||||
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 = "Venom Drench"
|
||||
Me.Description = "Opposing Pokémon are drenched in an odd poisonous liquid. This lowers the Attack, Sp. Atk, and Speed stats of a poisoned target."
|
||||
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 = False
|
||||
Me.KingsrockAffected = False
|
||||
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 = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#End
|
||||
|
||||
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.Status = Pokemon.StatusProblems.Poison OrElse op.Status = Pokemon.StatusProblems.BadPoison Then
|
||||
BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:venomdrench")
|
||||
BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Special Attack", 1, "", "move:venomdrench")
|
||||
BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Speed", 1, "", "move:venomdrench")
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -56,11 +56,11 @@
|
|||
End Sub
|
||||
|
||||
Public Overrides Function GetBasePower(own As Boolean, BattleScreen As BattleScreen) As Integer
|
||||
Dim p As Pokemon = BattleScreen.OppPokemon
|
||||
Dim op As Pokemon = BattleScreen.OppPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OwnPokemon
|
||||
op = BattleScreen.OwnPokemon
|
||||
End If
|
||||
If p.Status = Pokemon.StatusProblems.Poison Then
|
||||
If op.Status = Pokemon.StatusProblems.Poison OrElse op.Status = Pokemon.StatusProblems.BadPoison Then
|
||||
Return 130
|
||||
Else
|
||||
Return Me.Power
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class HyperspaceHole
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 593
|
||||
Me.OriginalPP = 25
|
||||
Me.CurrentPP = 25
|
||||
Me.MaxPP = 25
|
||||
Me.Power = 50
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Hyperspace Hole"
|
||||
Me.Description = "Using a hyperspace hole, the user appears right next to the target and strikes. This also hits a target using a move such as Protect or Detect."
|
||||
Me.CriticalChance = 1
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.OneAdjacentTarget
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = False
|
||||
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 = 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
|
||||
Me.UseAccEvasion = False
|
||||
Me.CanHitUnderwater = False
|
||||
Me.CanHitUnderground = False
|
||||
Me.CanHitInMidAir = False
|
||||
'#End
|
||||
|
||||
Me.AIField1 = AIField.Damage
|
||||
Me.AIField2 = AIField.CannotMiss
|
||||
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("Hyperspace Hole lifted " & op.GetDisplayName() & "'s protection!"))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,61 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Psystrike
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 540
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 100
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Psystrike"
|
||||
Me.Description = "The user materializes an odd psychic wave to attack the target. This attack does physical damage."
|
||||
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.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 Function GetUseDefenseStat(p As Pokemon) As Integer
|
||||
Return p.Defense
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,88 @@
|
|||
Namespace BattleSystem.Moves.Psychic
|
||||
|
||||
Public Class Synchronoise
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Psychic)
|
||||
Me.ID = 485
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 120
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Synchronoise"
|
||||
Me.Description = "Using an odd shock wave, the user inflicts damage on any Pokémon of the same type in the area around it."
|
||||
Me.CriticalChance = 1
|
||||
Me.IsHMMove = False
|
||||
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.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.Nothing
|
||||
End Sub
|
||||
|
||||
Public Overrides Function MoveFailBeforeAttack(Own As Boolean, BattleScreen As BattleScreen) As Boolean
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
Dim op As Pokemon = BattleScreen.OppPokemon
|
||||
If own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
op = BattleScreen.OwnPokemon
|
||||
End If
|
||||
|
||||
If op.Type2.Type = Element.Types.Blank Then
|
||||
'Solo type
|
||||
If op.Type1.Type = p.Type1.Type OrElse op.Type1.Type = p.Type2.Type Then
|
||||
Return False
|
||||
Else
|
||||
Return True
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
Else
|
||||
'Dual type
|
||||
If op.Type1.Type = p.Type1.Type OrElse op.Type1.Type = p.Type2.Type OrElse op.Type2.Type = p.Type1.Type OrElse op.Type2.Type = p.Type2.Type Then
|
||||
Return False
|
||||
Else
|
||||
Return True
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End If
|
||||
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -75,15 +75,30 @@ Namespace BattleSystem.Moves.Psychic
|
|||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower() = "griseous orb" AndAlso op.Number = 487 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If CheckMultitypePlate(p, op) = False Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower().EndsWith(" drive") = True AndAlso op.Number = 649 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower().EndsWith(" plate") = True AndAlso p.Number = 493 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower().EndsWith(" plate") = True AndAlso op.Number = 493 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower().EndsWith(" memory") = True AndAlso p.Number = 773 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower().EndsWith(" memory") = True AndAlso op.Number = 773 Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not p.Item Is Nothing AndAlso p.Item.Name.ToLower().EndsWith(" mail") = True Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If Not op.Item Is Nothing AndAlso op.Item.Name.ToLower().EndsWith(" mail") = True Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
If (p.Item IsNot Nothing AndAlso p.Item.IsMegaStone) OrElse (op.Item IsNot Nothing AndAlso op.Item.IsMegaStone) Then
|
||||
CanSwitchItems = False
|
||||
End If
|
||||
|
@ -105,25 +120,6 @@ Namespace BattleSystem.Moves.Psychic
|
|||
End If
|
||||
End Sub
|
||||
|
||||
Private Function CheckMultitypePlate(ByVal p As Pokemon, ByVal op As Pokemon) As Boolean
|
||||
If p.Ability.Name.ToLower() <> "multitype" And op.Ability.Name.ToLower() <> "multitype" Then
|
||||
Return True
|
||||
Else
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower().EndsWith(" plate") = True Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
If Not op.Item Is Nothing Then
|
||||
If op.Item.Name.ToLower().EndsWith(" plate") = True Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,68 @@
|
|||
Namespace BattleSystem.Moves.Rock
|
||||
|
||||
Public Class DiamondStorm
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Rock)
|
||||
Me.ID = 591
|
||||
Me.OriginalPP = 5
|
||||
Me.CurrentPP = 5
|
||||
Me.MaxPP = 5
|
||||
Me.Power = 100
|
||||
Me.Accuracy = 95
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Diamond Storm"
|
||||
Me.Description = "The user whips up a storm of diamonds to damage opposing Pokémon. This may also sharply raise the user's Defense stat."
|
||||
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
|
||||
|
||||
Me.AIField1 = AIField.Damage
|
||||
Me.AIField2 = AIField.CanRaiseDefense
|
||||
|
||||
Me.EffectChances.Add(50)
|
||||
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.RaiseStat(own, own, BattleScreen, "Defense", 2, "", "move:diamondstorm")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,58 @@
|
|||
Namespace BattleSystem.Moves.Water
|
||||
|
||||
Public Class OriginPulse
|
||||
|
||||
Inherits Attack
|
||||
|
||||
Public Sub New()
|
||||
'#Definitions
|
||||
Me.Type = New Element(Element.Types.Water)
|
||||
Me.ID = 618
|
||||
Me.OriginalPP = 10
|
||||
Me.CurrentPP = 10
|
||||
Me.MaxPP = 10
|
||||
Me.Power = 110
|
||||
Me.Accuracy = 85
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Origin Pulse"
|
||||
Me.Description = "The user attacks opposing Pokémon with countless beams of light that glow a deep and brilliant blue."
|
||||
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 = False
|
||||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = True
|
||||
Me.IsPulseMove = True
|
||||
'#End
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,18 @@
|
|||
Namespace Items.Standard
|
||||
|
||||
<Item(1996, "Burn Drive")>
|
||||
Public Class BurnDrive
|
||||
|
||||
Inherits Item
|
||||
|
||||
Public Overrides ReadOnly Property Description As String = "Makes Techno Blast a Fire-type move if held by Genesect."
|
||||
Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeUsed As Boolean = False
|
||||
|
||||
Public Sub New()
|
||||
_textureRectangle = New Rectangle(0, 312, 24, 24)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,18 @@
|
|||
Namespace Items.Standard
|
||||
|
||||
<Item(1997, "Chill Drive")>
|
||||
Public Class ChillDrive
|
||||
|
||||
Inherits Item
|
||||
|
||||
Public Overrides ReadOnly Property Description As String = "Makes Techno Blast an Ice-type move if held by Genesect."
|
||||
Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeUsed As Boolean = False
|
||||
|
||||
Public Sub New()
|
||||
_textureRectangle = New Rectangle(24, 312, 24, 24)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,18 @@
|
|||
Namespace Items.Standard
|
||||
|
||||
<Item(1998, "Douse Drive")>
|
||||
Public Class DouseDrive
|
||||
|
||||
Inherits Item
|
||||
|
||||
Public Overrides ReadOnly Property Description As String = "Makes Techno Blast a Water-type move if held by Genesect."
|
||||
Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeUsed As Boolean = False
|
||||
|
||||
Public Sub New()
|
||||
_textureRectangle = New Rectangle(48, 312, 24, 24)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -0,0 +1,18 @@
|
|||
Namespace Items.Standard
|
||||
|
||||
<Item(1999, "Shock Drive")>
|
||||
Public Class ShockDrive
|
||||
|
||||
Inherits Item
|
||||
|
||||
Public Overrides ReadOnly Property Description As String = "Makes Techno Blast an Electric-type move if held by Genesect."
|
||||
Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeUsed As Boolean = False
|
||||
|
||||
Public Sub New()
|
||||
_textureRectangle = New Rectangle(72, 312, 24, 24)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
Binary file not shown.
|
@ -20,8 +20,9 @@
|
|||
Dim tutorMove As BattleSystem.Attack = Pokemon.AttackLearns.Values(i)
|
||||
Dim learnLevel As Integer = Pokemon.AttackLearns.Keys(i)
|
||||
|
||||
If learnLevel <= Pokemon.Level Then
|
||||
Dim canLearnMove As Boolean = True
|
||||
'Commented those to test Tutor Gen 6+ behavior
|
||||
'If learnLevel <= Pokemon.Level Then
|
||||
Dim canLearnMove As Boolean = True
|
||||
|
||||
For Each learnedAttack As BattleSystem.Attack In Pokemon.Attacks
|
||||
If learnedAttack.ID = tutorMove.ID Then
|
||||
|
@ -38,7 +39,7 @@
|
|||
If canLearnMove = True Then
|
||||
MovesList.Add(tutorMove)
|
||||
End If
|
||||
End If
|
||||
'End If
|
||||
Next
|
||||
|
||||
Me.MouseVisible = False
|
||||
|
|
Loading…
Reference in New Issue