Terrain final implementation + typos and move fixes
fixed fake-out/first impression working on 2 turns fixed protecting move breaking messages fixed trapping/binding moves and abilities fixed flinch message popping up unnecessarily updated natural gift BP calculation updated some moves' contest category and other stats added roseli, kee, maranga berry effects added alolan pokemon abilities added smacking down effect added terrain as well as its effects replaced polkadot bow (no use) with berserk gene other minor fixes such as typos, captalizations wrapping up other commits
This commit is contained in:
parent
9f7c6ccd68
commit
aedec48f93
|
@ -1121,6 +1121,18 @@
|
|||
WildHasEscaped = False
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
'Prevent turn count from resetting if battle just started
|
||||
If BattleScreen.FieldEffects.OwnTurnCounts = 0 Then
|
||||
HasSwitchedInOwn = False
|
||||
End If
|
||||
If BattleScreen.FieldEffects.OppTurnCounts = 0 Then
|
||||
HasSwitchedInOpp = False
|
||||
End If
|
||||
|
||||
TriggerItemEffect(BattleScreen, True)
|
||||
TriggerItemEffect(BattleScreen, False)
|
||||
|
||||
'Transform Aegislash with Stance Change ability.
|
||||
If p.Ability.Name.ToLower() = "stance change" AndAlso p.Number = 681 Then
|
||||
If p.AdditionalData = "" Then
|
||||
|
@ -1169,7 +1181,7 @@
|
|||
|
||||
If p.Status = Pokemon.StatusProblems.Freeze Then
|
||||
If Core.Random.Next(0, 100) < 20 Then
|
||||
CureStatusProblem(own, own, BattleScreen, p.GetDisplayName() & " thrawed out.", "own defrost")
|
||||
CureStatusProblem(own, own, BattleScreen, p.GetDisplayName() & " thawed out.", "own defrost")
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\effect_ice1", False))
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is frozen solid!"))
|
||||
|
@ -1221,7 +1233,7 @@
|
|||
truantTurn = BattleScreen.FieldEffects.OppTruantRound
|
||||
End If
|
||||
If truantTurn = 1 Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " loafes around."))
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is loafing around."))
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
@ -1297,7 +1309,7 @@
|
|||
p.RemoveVolatileStatus(Pokemon.VolatileStatus.Confusion)
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is confused!"))
|
||||
'Previously 'If Core.Random.Next(0, 2) = 0 Then' (Updated to gen 7's 33% instead of 50%)
|
||||
'Previously 'If Core.Random.Next(0, 2) = 0 Then' (Updated to gen 7's 33% instead of 50%)
|
||||
If Core.Random.Next(0, 3) = 0 Then
|
||||
Dim a As Attack = New ConfusionAttack()
|
||||
Dim damage As Integer = BattleCalculation.CalculateDamage(a, False, True, True, BattleScreen)
|
||||
|
@ -1603,7 +1615,7 @@
|
|||
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
||||
moveWorks = False
|
||||
If oppHealblock > 0 Then
|
||||
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Healblock blocked Volt Absorb!", "healblock")
|
||||
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Heal Block blocked Volt Absorb!", "healblock")
|
||||
Else
|
||||
If op.HP = op.MaxHP Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Volt Absorb made " & moveUsed.Name & " useless!"))
|
||||
|
@ -1628,7 +1640,7 @@
|
|||
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
||||
moveWorks = False
|
||||
If oppHealblock > 0 Then
|
||||
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Healblock blocked Water Absorb!", "healblock")
|
||||
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Heal Block blocked Water Absorb!", "healblock")
|
||||
Else
|
||||
If op.HP = op.MaxHP Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Water Absorb made " & moveUsed.Name & " useless!"))
|
||||
|
@ -1642,7 +1654,7 @@
|
|||
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
||||
moveWorks = False
|
||||
If oppHealblock > 0 Then
|
||||
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Healblock blocked Dry Skin!", "healblock")
|
||||
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Heal Block blocked Dry Skin!", "healblock")
|
||||
Else
|
||||
If op.HP = op.MaxHP Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Dry Skin made " & moveUsed.Name & " useless!"))
|
||||
|
@ -1705,6 +1717,13 @@
|
|||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " prevents damage with its Bulletproof ability!"))
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.PsychicTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Not own, BattleScreen) = True Then
|
||||
If moveUsed.Priority > 0 Then
|
||||
moveWorks = False
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " surrounds itself with Psychic Terrain!"))
|
||||
End If
|
||||
End If
|
||||
|
||||
If moveWorks = True Then
|
||||
If op.HP > 0 And op.Status <> Pokemon.StatusProblems.Fainted Then
|
||||
Dim protect As Integer = BattleScreen.FieldEffects.OppProtectCounter
|
||||
|
@ -1793,7 +1812,7 @@
|
|||
Dim moveList As String() = {"endeavor",
|
||||
"fling",
|
||||
"explosion",
|
||||
"selfdestruct",
|
||||
"self-destruct",
|
||||
"final gambit",
|
||||
"bounce",
|
||||
"dig",
|
||||
|
@ -2007,7 +2026,7 @@
|
|||
Dim PBmoveList As String() = {"secret power",
|
||||
"bug bite",
|
||||
"pluck",
|
||||
"smelling salt",
|
||||
"smelling salts",
|
||||
"wake-up slap",
|
||||
"knock off",
|
||||
"relic song",
|
||||
|
@ -2151,6 +2170,10 @@
|
|||
If moveUsed.MakesContact = True Then
|
||||
LowerStat(own, Not own, BattleScreen, "Speed", 1, "Gooey slowed down " & p.GetDisplayName() & "!", "gooey")
|
||||
End If
|
||||
Case "tangling hair"
|
||||
If moveUsed.MakesContact = True Then
|
||||
LowerStat(own, Not own, BattleScreen, "Speed", 1, "Tangling Hair slowed down " & p.GetDisplayName() & "!", "tangling hair")
|
||||
End If
|
||||
Case "weak armor"
|
||||
If moveUsed.Category = Attack.Categories.Physical Then
|
||||
RaiseStat(Not own, Not own, BattleScreen, "Speed", 2, "Weak Armor causes the Speed to increase!", "weakarmor")
|
||||
|
@ -2259,6 +2282,22 @@
|
|||
End If
|
||||
End If
|
||||
End If
|
||||
Case "kee"
|
||||
If moveUsed.Category = Attack.Categories.Physical Then
|
||||
If AllDamage > 0 Then
|
||||
If RemoveHeldItem(Not own, Not own, BattleScreen, "", "berry:kee") = True Then
|
||||
BattleScreen.Battle.RaiseStat(Not own, Not own, BattleScreen, "Defense", 1, "", "berry:kee")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Case "maranga"
|
||||
If moveUsed.Category = Attack.Categories.Special Then
|
||||
If AllDamage > 0 Then
|
||||
If RemoveHeldItem(Not own, Not own, BattleScreen, "", "berry:maranga") = True Then
|
||||
BattleScreen.Battle.RaiseStat(Not own, Not own, BattleScreen, "Special Defense", 1, "", "berry:maranga")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Select
|
||||
End If
|
||||
End If
|
||||
|
@ -2485,6 +2524,16 @@
|
|||
Return False
|
||||
End If
|
||||
|
||||
If own = False Then
|
||||
If BattleScreen.FieldEffects.OppTurnCounts > BattleScreen.FieldEffects.OwnTurnCounts Then
|
||||
Return False
|
||||
End If
|
||||
Else
|
||||
If BattleScreen.FieldEffects.OwnTurnCounts > BattleScreen.FieldEffects.OppTurnCounts Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
|
||||
If p.HasVolatileStatus(Pokemon.VolatileStatus.Flinch) = True Then
|
||||
Return False
|
||||
End If
|
||||
|
@ -2541,6 +2590,11 @@
|
|||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the burn."))
|
||||
Return False
|
||||
End If
|
||||
|
||||
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
||||
If own = False Then
|
||||
substitute = BattleScreen.FieldEffects.OppSubstitute
|
||||
|
@ -2637,6 +2691,11 @@
|
|||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the freeze."))
|
||||
Return False
|
||||
End If
|
||||
|
||||
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
||||
If own = False Then
|
||||
substitute = BattleScreen.FieldEffects.OppSubstitute
|
||||
|
@ -2749,6 +2808,11 @@
|
|||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the paralysis."))
|
||||
Return False
|
||||
End If
|
||||
|
||||
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
||||
If own = False Then
|
||||
substitute = BattleScreen.FieldEffects.OppSubstitute
|
||||
|
@ -2831,6 +2895,16 @@
|
|||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.ElectricTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("The electricity prevented the sleep."))
|
||||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the sleep."))
|
||||
Return False
|
||||
End If
|
||||
|
||||
Dim SleepTurns As Integer = turnsPreset
|
||||
If SleepTurns < 0 Then
|
||||
SleepTurns = Core.Random.Next(1, 4)
|
||||
|
@ -2973,6 +3047,11 @@
|
|||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the poison."))
|
||||
Return False
|
||||
End If
|
||||
|
||||
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
||||
If own = False Then
|
||||
substitute = BattleScreen.FieldEffects.OppSubstitute
|
||||
|
@ -3083,6 +3162,11 @@
|
|||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the confusion."))
|
||||
Return False
|
||||
End If
|
||||
|
||||
Dim confusionTurns As Integer = Core.Random.Next(1, 5)
|
||||
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
||||
If own = False Then
|
||||
|
@ -4050,9 +4134,9 @@
|
|||
Select Case message
|
||||
Case "" 'Print default message only
|
||||
If cause.StartsWith("berry:") = True Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " ate the " & lostItem.Name & "berry!"))
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " ate the " & lostItem.Name & " Berry!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " lost the item " & lostItem.Name & "!"))
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " lost the " & lostItem.Name & "!"))
|
||||
End If
|
||||
Case "-1" 'Print no message at all
|
||||
'Do nothing
|
||||
|
@ -4060,9 +4144,9 @@
|
|||
BattleScreen.BattleQuery.Add(New TextQueryObject(message))
|
||||
|
||||
If cause.StartsWith("berry:") = True Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " ate the " & lostItem.Name & "berry!"))
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " ate the " & lostItem.Name & " Berry!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " lost the item " & lostItem.Name & "!"))
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " lost the " & lostItem.Name & "!"))
|
||||
End If
|
||||
End Select
|
||||
End If
|
||||
|
@ -4206,6 +4290,38 @@
|
|||
ChangeWeather(own, own, BattleWeather.WeatherTypes.Sunny, turns, BattleScreen, "The sunlight turned harsh!", "drought")
|
||||
Case "air lock"
|
||||
ChangeWeather(own, own, BattleWeather.WeatherTypes.Clear, 0, BattleScreen, "", "airlock")
|
||||
Case "electric surge"
|
||||
If .FieldEffects.ElectricTerrain <= 0 Then
|
||||
.FieldEffects.ElectricTerrain = turns
|
||||
.FieldEffects.GrassyTerrain = 0
|
||||
.FieldEffects.PsychicTerrain = 0
|
||||
.FieldEffects.MistyTerrain = 0
|
||||
.BattleQuery.Add(New TextQueryObject("An electric current runs across the battlefield!"))
|
||||
End If
|
||||
Case "grassy surge"
|
||||
If .FieldEffects.GrassyTerrain <= 0 Then
|
||||
.FieldEffects.ElectricTerrain = 0
|
||||
.FieldEffects.GrassyTerrain = turns
|
||||
.FieldEffects.PsychicTerrain = 0
|
||||
.FieldEffects.MistyTerrain = 0
|
||||
.BattleQuery.Add(New TextQueryObject("Grass grew to cover the battlefield!"))
|
||||
End If
|
||||
Case "misty surge"
|
||||
If .FieldEffects.MistyTerrain <= 0 Then
|
||||
.FieldEffects.ElectricTerrain = 0
|
||||
.FieldEffects.GrassyTerrain = 0
|
||||
.FieldEffects.PsychicTerrain = 0
|
||||
.FieldEffects.MistyTerrain = turns
|
||||
.BattleQuery.Add(New TextQueryObject("Mist swirls around the battlefield!"))
|
||||
End If
|
||||
Case "psychic surge"
|
||||
If .FieldEffects.PsychicTerrain <= 0 Then
|
||||
.FieldEffects.ElectricTerrain = 0
|
||||
.FieldEffects.GrassyTerrain = 0
|
||||
.FieldEffects.PsychicTerrain = turns
|
||||
.FieldEffects.MistyTerrain = 0
|
||||
.BattleQuery.Add(New TextQueryObject("The battlefield got weird!"))
|
||||
End If
|
||||
Case "download"
|
||||
If op.Defense < op.SpDefense Then
|
||||
RaiseStat(own, own, BattleScreen, "Attack", 1, "Download analyzed the foe!", "download")
|
||||
|
@ -4365,6 +4481,62 @@
|
|||
End If
|
||||
End With
|
||||
End Sub
|
||||
|
||||
Public Sub TriggerItemEffect(ByVal BattleScreen As BattleScreen, ByVal own As Boolean)
|
||||
With BattleScreen
|
||||
Dim p, op As Pokemon
|
||||
If own Then
|
||||
p = .OwnPokemon
|
||||
op = .OppPokemon
|
||||
Else
|
||||
p = .OppPokemon
|
||||
op = .OwnPokemon
|
||||
End If
|
||||
If Not p.Item Is Nothing Then
|
||||
If .FieldEffects.CanUseItem(own) = True And .FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||
Select Case p.Item.Name.ToLower()
|
||||
Case "electric seed"
|
||||
If .FieldEffects.ElectricTerrain > 0 And p.StatDefense < 6 Then
|
||||
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
|
||||
.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Electric Seed activated!"))
|
||||
RaiseStat(own, own, BattleScreen, "Defense", 1, "", "item:electricseed")
|
||||
End If
|
||||
End If
|
||||
Case "grassy seed"
|
||||
If .FieldEffects.GrassyTerrain > 0 And p.StatDefense < 6 Then
|
||||
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
|
||||
.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Grassy Seed activated!"))
|
||||
RaiseStat(own, own, BattleScreen, "Defense", 1, "", "item:grassyseed")
|
||||
End If
|
||||
End If
|
||||
Case "misty seed"
|
||||
If .FieldEffects.MistyTerrain > 0 And p.StatSpDefense < 6 Then
|
||||
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
|
||||
.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Misty Seed activated!"))
|
||||
RaiseStat(own, own, BattleScreen, "Special Defense", 1, "", "item:mistyseed")
|
||||
End If
|
||||
End If
|
||||
Case "psychic seed"
|
||||
If .FieldEffects.PsychicTerrain > 0 And p.StatSpDefense < 6 Then
|
||||
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
|
||||
.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Psychic Seed activated!"))
|
||||
RaiseStat(own, own, BattleScreen, "Special Defense", 1, "", "item:psychicseed")
|
||||
End If
|
||||
End If
|
||||
Case "berserk gene"
|
||||
If p.StatAttack <> 6 OrElse p.StatSpAttack <> 6 Then
|
||||
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
|
||||
InflictConfusion(own, own, BattleScreen, p.GetDisplayName() & " went berserk due to the Berserk Gene!", "item:berserkgene")
|
||||
RaiseStat(own, own, BattleScreen, "Attack", 1, "", "item:berserkgene")
|
||||
RaiseStat(own, own, BattleScreen, "Special Attack", 1, "", "item:berserkgene")
|
||||
End If
|
||||
End If
|
||||
End Select
|
||||
End If
|
||||
End If
|
||||
End With
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyForecast(ByVal BattleScreen As BattleScreen)
|
||||
With BattleScreen
|
||||
Dim p As Pokemon = .OwnPokemon
|
||||
|
@ -4522,6 +4694,32 @@
|
|||
End If
|
||||
End If
|
||||
|
||||
'Terrains
|
||||
If .FieldEffects.ElectricTerrain > 0 Then
|
||||
.FieldEffects.ElectricTerrain -= 1
|
||||
If .FieldEffects.ElectricTerrain = 0 Then
|
||||
.BattleQuery.Add(New TextQueryObject("The electricity disappeared from the battlefield."))
|
||||
End If
|
||||
End If
|
||||
If .FieldEffects.GrassyTerrain > 0 Then
|
||||
.FieldEffects.GrassyTerrain -= 1
|
||||
If .FieldEffects.GrassyTerrain = 0 Then
|
||||
.BattleQuery.Add(New TextQueryObject("The grass disappeared from the battlefield."))
|
||||
End If
|
||||
End If
|
||||
If .FieldEffects.MistyTerrain > 0 Then
|
||||
.FieldEffects.MistyTerrain -= 1
|
||||
If .FieldEffects.MistyTerrain = 0 Then
|
||||
.BattleQuery.Add(New TextQueryObject("The mist disappeared from the battlefield."))
|
||||
End If
|
||||
End If
|
||||
If .FieldEffects.PsychicTerrain > 0 Then
|
||||
.FieldEffects.PsychicTerrain -= 1
|
||||
If .FieldEffects.PsychicTerrain = 0 Then
|
||||
.BattleQuery.Add(New TextQueryObject("The weirdness disappeared from the battlefield."))
|
||||
End If
|
||||
End If
|
||||
|
||||
'Water Sport
|
||||
If .FieldEffects.WaterSport > 0 Then
|
||||
.FieldEffects.WaterSport -= 1
|
||||
|
@ -4656,8 +4854,10 @@
|
|||
'Turn count since battle started
|
||||
.FieldEffects.OwnTurnCounts += 1
|
||||
|
||||
'Turn count since pokemon switched in(currently used for Fake Out only)
|
||||
'Turn count since pokemon switched in (currently used for Fake Out, First Impression, Slow Start)
|
||||
.FieldEffects.OwnPokemonTurns += 1
|
||||
|
||||
'Reset turn count for pokemon switching in
|
||||
If HasSwitchedInOwn Then
|
||||
.FieldEffects.OwnPokemonTurns = 0
|
||||
HasSwitchedInOwn = False
|
||||
|
@ -4686,17 +4886,17 @@
|
|||
End If
|
||||
If .FieldEffects.OwnTaunt > 0 Then
|
||||
.FieldEffects.OwnTaunt = 0
|
||||
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the taunt" & Environment.NewLine & "due to Mental Herb!"))
|
||||
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the Taunt" & Environment.NewLine & "due to Mental Herb!"))
|
||||
usedMentalHerb = True
|
||||
End If
|
||||
If .FieldEffects.OwnEncore > 0 Then
|
||||
.FieldEffects.OwnEncore = 0
|
||||
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the encore" & Environment.NewLine & "due to Mental Herb!"))
|
||||
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the Encore" & Environment.NewLine & "due to Mental Herb!"))
|
||||
usedMentalHerb = True
|
||||
End If
|
||||
If .FieldEffects.OwnTorment > 0 Then
|
||||
.FieldEffects.OwnTorment = 0
|
||||
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the torment" & Environment.NewLine & "due to Mental Herb!"))
|
||||
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the Torment" & Environment.NewLine & "due to Mental Herb!"))
|
||||
usedMentalHerb = True
|
||||
End If
|
||||
'Remove disable
|
||||
|
@ -4754,6 +4954,8 @@
|
|||
If Me.PlayerWonBattle(BattleScreen) = True Then
|
||||
Exit Sub
|
||||
End If
|
||||
TriggerItemEffect(BattleScreen, True)
|
||||
TriggerItemEffect(BattleScreen, False)
|
||||
ChangeCameraAngel(0, True, BattleScreen)
|
||||
If IsAfterFaint = True Then
|
||||
Exit Sub
|
||||
|
@ -4840,12 +5042,19 @@
|
|||
If hailAbilities.Contains(.OwnPokemon.Ability.Name.ToLower()) = False Then
|
||||
If .OwnPokemon.HP > 0 Then
|
||||
Dim hailHP As Integer = CInt(.OwnPokemon.MaxHP / 16)
|
||||
ReduceHP(hailHP, True, False, BattleScreen, .OwnPokemon.GetDisplayName() & " took damage from the hailstorm!", "sandstorm")
|
||||
ReduceHP(hailHP, True, False, BattleScreen, .OwnPokemon.GetDisplayName() & " took damage from the hailstorm!", "hail")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
'Grassy Terrain
|
||||
If .FieldEffects.GrassyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(True, BattleScreen) = True Then
|
||||
If .OwnPokemon.HP > 0 Then
|
||||
GainHP(CInt(.OwnPokemon.MaxHP / 16), True, True, BattleScreen, .OwnPokemon.GetDisplayName() & " restored some HP due to the Grassy Terrain!", "grassyterrain")
|
||||
End If
|
||||
End If
|
||||
|
||||
If .OwnPokemon.HP > 0 Then
|
||||
Dim HPChange As Integer = 0 'Use DrySkin/Rain Dish/Hydration/Ice Body
|
||||
Dim HPMessage As String = ""
|
||||
|
@ -5219,21 +5428,21 @@
|
|||
If .FieldEffects.OwnTaunt > 0 And .OwnPokemon.HP > 0 Then 'Taunt
|
||||
.FieldEffects.OwnTaunt -= 1
|
||||
If .FieldEffects.OwnTaunt = 0 Then
|
||||
.BattleQuery.Add(New TextQueryObject("The own taunt effect wore off"))
|
||||
.BattleQuery.Add(New TextQueryObject("The Taunt effect wore off."))
|
||||
End If
|
||||
End If
|
||||
|
||||
If .FieldEffects.OwnMagnetRise > 0 And .OwnPokemon.HP > 0 Then 'Magnetrise
|
||||
.FieldEffects.OwnMagnetRise -= 1
|
||||
If .FieldEffects.OwnMagnetRise = 0 Then
|
||||
.BattleQuery.Add(New TextQueryObject("Own Magnet Rise effect faded."))
|
||||
.BattleQuery.Add(New TextQueryObject("The Magnet Rise effect faded."))
|
||||
End If
|
||||
End If
|
||||
|
||||
If .FieldEffects.OwnHealBlock > 0 Then 'Healblock
|
||||
.FieldEffects.OwnHealBlock -= 1
|
||||
If .FieldEffects.OwnHealBlock = 0 Then
|
||||
.BattleQuery.Add(New TextQueryObject("The effect of the own heal block faded."))
|
||||
.BattleQuery.Add(New TextQueryObject("The effects of Heal Block faded."))
|
||||
End If
|
||||
End If
|
||||
|
||||
|
@ -5283,7 +5492,7 @@
|
|||
If .OwnPokemon.HP > 0 And .OwnPokemon.Status = Pokemon.StatusProblems.None Then
|
||||
If Not .OwnPokemon.Item Is Nothing Then
|
||||
If .OwnPokemon.Item.Name.ToLower() = "flame orb" And .FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
|
||||
InflictBurn(True, True, BattleScreen, "Flame orb inflicts a burn!", "flameorb")
|
||||
InflictBurn(True, True, BattleScreen, "Flame Orb inflicts a burn!", "flameorb")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
@ -5291,7 +5500,7 @@
|
|||
If .OwnPokemon.HP > 0 And .OwnPokemon.Status = Pokemon.StatusProblems.None Then
|
||||
If Not .OwnPokemon.Item Is Nothing Then
|
||||
If .OwnPokemon.Item.Name.ToLower() = "toxic orb" And .FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
|
||||
InflictPoison(True, True, BattleScreen, True, "Toxic orb inflicts a poisoning!", "toxicorb")
|
||||
InflictPoison(True, True, BattleScreen, True, "Toxic Orb inflicts a poisoning!", "toxicorb")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
@ -5399,8 +5608,10 @@
|
|||
'Turn count since battle started
|
||||
.FieldEffects.OppTurnCounts += 1
|
||||
|
||||
'Turn count (Currently used for Fake Out only)
|
||||
'Turn count since pokemon switched in (currently used for Fake Out, First Impression, Slow Start)
|
||||
.FieldEffects.OppPokemonTurns += 1
|
||||
|
||||
'Reset turn count for pokemon switching in
|
||||
If HasSwitchedInOpp Then
|
||||
.FieldEffects.OppPokemonTurns = 0
|
||||
HasSwitchedInOpp = False
|
||||
|
@ -5429,17 +5640,17 @@
|
|||
End If
|
||||
If .FieldEffects.OppTaunt > 0 Then
|
||||
.FieldEffects.OppTaunt = 0
|
||||
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the taunt" & Environment.NewLine & "due to Mental Herb!"))
|
||||
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the Taunt" & Environment.NewLine & "due to Mental Herb!"))
|
||||
usedMentalHerb = True
|
||||
End If
|
||||
If .FieldEffects.OppEncore > 0 Then
|
||||
.FieldEffects.OppEncore = 0
|
||||
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the encore" & Environment.NewLine & "due to Mental Herb!"))
|
||||
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the Encore" & Environment.NewLine & "due to Mental Herb!"))
|
||||
usedMentalHerb = True
|
||||
End If
|
||||
If .FieldEffects.OppTorment > 0 Then
|
||||
.FieldEffects.OppTorment = 0
|
||||
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the torment" & Environment.NewLine & "due to Mental Herb!"))
|
||||
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the Torment" & Environment.NewLine & "due to Mental Herb!"))
|
||||
usedMentalHerb = True
|
||||
End If
|
||||
'Remove disable
|
||||
|
@ -5496,6 +5707,8 @@
|
|||
If IsAfterFaint = True Then
|
||||
Exit Sub
|
||||
End If
|
||||
TriggerItemEffect(BattleScreen, True)
|
||||
TriggerItemEffect(BattleScreen, False)
|
||||
With BattleScreen
|
||||
If .FieldEffects.OppReflect > 0 Then 'Stop reflect
|
||||
.FieldEffects.OppReflect -= 1
|
||||
|
@ -5584,6 +5797,13 @@
|
|||
End If
|
||||
End If
|
||||
|
||||
'Grassy Terrain
|
||||
If .FieldEffects.GrassyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(False, BattleScreen) = True Then
|
||||
If .OppPokemon.HP > 0 Then
|
||||
GainHP(CInt(.OppPokemon.MaxHP / 16), False, False, BattleScreen, .OppPokemon.GetDisplayName() & " restored some HP due to the Grassy Terrain!", "grassyterrain")
|
||||
End If
|
||||
End If
|
||||
|
||||
If .OppPokemon.HP > 0 Then
|
||||
Dim HPChange As Integer = 0 'Use DrySkin/Rain Dish/Hydration/Ice Body
|
||||
Dim HPMessage As String = ""
|
||||
|
@ -5958,7 +6178,7 @@
|
|||
If .FieldEffects.OppTaunt > 0 And .OppPokemon.HP > 0 Then 'Taunt
|
||||
.FieldEffects.OppTaunt -= 1
|
||||
If .FieldEffects.OppTaunt = 0 Then
|
||||
.BattleQuery.Add(New TextQueryObject("The opponent's taunt effect wore off"))
|
||||
.BattleQuery.Add(New TextQueryObject("The opponent's Taunt effect wore off"))
|
||||
End If
|
||||
End If
|
||||
|
||||
|
@ -5972,7 +6192,7 @@
|
|||
If .FieldEffects.OppHealBlock > 0 Then 'Healblock
|
||||
.FieldEffects.OppHealBlock -= 1
|
||||
If .FieldEffects.OppHealBlock = 0 Then
|
||||
.BattleQuery.Add(New TextQueryObject("The effect of the opponent's heal block faded."))
|
||||
.BattleQuery.Add(New TextQueryObject("The effect of the opponent's Heal Block faded."))
|
||||
End If
|
||||
End If
|
||||
|
||||
|
@ -5998,7 +6218,7 @@
|
|||
.FieldEffects.OppFutureSightTurns -= 1
|
||||
If .FieldEffects.OppFutureSightTurns = 0 Then
|
||||
If .OwnPokemon.HP > 0 Then
|
||||
ReduceHP(.FieldEffects.OppFutureSightDamage, True, False, BattleScreen, .OwnPokemon.GetDisplayName() & "took the " & futureSight & " attack!", futureSight.Replace(" ", "").ToLower())
|
||||
ReduceHP(.FieldEffects.OppFutureSightDamage, True, False, BattleScreen, .OwnPokemon.GetDisplayName() & " took the " & futureSight & " attack!", futureSight.Replace(" ", "").ToLower())
|
||||
Else
|
||||
.BattleQuery.Add(New TextQueryObject("The " & futureSight & " failed!"))
|
||||
End If
|
||||
|
@ -6021,7 +6241,7 @@
|
|||
If .OppPokemon.HP > 0 And .OppPokemon.Status <> Pokemon.StatusProblems.Burn Then
|
||||
If Not .OppPokemon.Item Is Nothing Then
|
||||
If .OppPokemon.Item.Name.ToLower() = "flame orb" And .FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||
InflictBurn(False, False, BattleScreen, "Flame orb inflicts a burn!", "flameorb")
|
||||
InflictBurn(False, False, BattleScreen, "Flame Orb inflicts a burn!", "flameorb")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
@ -6029,7 +6249,7 @@
|
|||
If .OppPokemon.HP > 0 And .OppPokemon.Status <> Pokemon.StatusProblems.Poison And .OppPokemon.Status <> Pokemon.StatusProblems.BadPoison Then
|
||||
If Not .OppPokemon.Item Is Nothing Then
|
||||
If .OppPokemon.Item.Name.ToLower() = "toxic orb" And .FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||
InflictPoison(False, False, BattleScreen, True, "Toxic orb inflicts a poisoning!", "toxicorb")
|
||||
InflictPoison(False, False, BattleScreen, True, "Toxic Orb inflicts a poisoning!", "toxicorb")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
@ -6176,6 +6396,7 @@
|
|||
.OwnSleepTurns = 0
|
||||
.OwnTruantRound = 0
|
||||
.OwnTaunt = 0
|
||||
.OwnSmacked = 0
|
||||
.OwnRageCounter = 0
|
||||
.OwnUproar = 0
|
||||
If .OwnUsedBatonPass = False Then .OwnFocusEnergy = 0
|
||||
|
@ -6376,22 +6597,7 @@
|
|||
Dim spikeAffected As Boolean = True
|
||||
Dim rockAffected As Boolean = True
|
||||
|
||||
If p.Type1.Type = Element.Types.Flying Or p.Type2.Type = Element.Types.Flying Or p.Ability.Name.ToLower() = "levitate" And BattleScreen.FieldEffects.CanUseAbility(True, BattleScreen) = True Then
|
||||
spikeAffected = False
|
||||
End If
|
||||
|
||||
If .FieldEffects.Gravity > 0 Then
|
||||
spikeAffected = True
|
||||
Else
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower() = "air ballon" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||
spikeAffected = False
|
||||
End If
|
||||
If p.Item.Name.ToLower() = "iron ball" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||
spikeAffected = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
spikeAffected = BattleScreen.FieldEffects.IsGrounded(True, BattleScreen)
|
||||
|
||||
'Spikes
|
||||
If spikeAffected = True Then
|
||||
|
@ -6413,7 +6619,7 @@
|
|||
If spikeAffected = True Then
|
||||
If .FieldEffects.OppStickyWeb > 0 Then
|
||||
|
||||
LowerStat(True, True, BattleScreen, "Speed", 1, "Your pokemon was caught in a sticky web!", "sticky web")
|
||||
LowerStat(True, True, BattleScreen, "Speed", 1, "Your pokemon was caught in a Sticky Web!", "stickyweb")
|
||||
|
||||
|
||||
End If
|
||||
|
@ -6461,6 +6667,7 @@
|
|||
End If
|
||||
|
||||
TriggerAbilityEffect(BattleScreen, True)
|
||||
TriggerItemEffect(BattleScreen, True)
|
||||
|
||||
If .OwnPokemon.Status = Pokemon.StatusProblems.Sleep Then
|
||||
.FieldEffects.OwnSleepTurns = Core.Random.Next(1, 4)
|
||||
|
@ -6470,7 +6677,7 @@
|
|||
BattleScreen.FieldEffects.OwnHealingWish = False
|
||||
|
||||
If .OwnPokemon.HP < .OwnPokemon.MaxHP Or .OwnPokemon.Status <> Pokemon.StatusProblems.None Then
|
||||
GainHP(.OwnPokemon.MaxHP - .OwnPokemon.HP, True, True, BattleScreen, "The healing wish came true for " & .OwnPokemon.GetDisplayName() & "!", "move:healingwish")
|
||||
GainHP(.OwnPokemon.MaxHP - .OwnPokemon.HP, True, True, BattleScreen, "The Healing Wish came true for " & .OwnPokemon.GetDisplayName() & "!", "move:healingwish")
|
||||
CureStatusProblem(True, True, BattleScreen, "", "move:healingwish")
|
||||
End If
|
||||
End If
|
||||
|
@ -6515,6 +6722,7 @@
|
|||
.OppSleepTurns = 0
|
||||
.OppTruantRound = 0
|
||||
.OppTaunt = 0
|
||||
.OppSmacked = 0
|
||||
.OppRageCounter = 0
|
||||
.OppUproar = 0
|
||||
If .OppUsedBatonPass = False Then .OppFocusEnergy = 0
|
||||
|
@ -6705,22 +6913,7 @@
|
|||
Dim spikeAffected As Boolean = True
|
||||
Dim rockAffected As Boolean = True
|
||||
|
||||
If p.Type1.Type = Element.Types.Flying Or p.Type2.Type = Element.Types.Flying Or p.Ability.Name.ToLower() = "levitate" Then
|
||||
spikeAffected = False
|
||||
End If
|
||||
|
||||
If .FieldEffects.Gravity > 0 Then
|
||||
spikeAffected = True
|
||||
Else
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower() = "air ballon" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||
spikeAffected = False
|
||||
End If
|
||||
If p.Item.Name.ToLower() = "iron ball" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||
spikeAffected = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
spikeAffected = BattleScreen.FieldEffects.IsGrounded(False, BattleScreen)
|
||||
|
||||
If spikeAffected = True Then
|
||||
If .FieldEffects.OwnSpikes > 0 And p.Ability.Name.ToLower() <> "magic guard" Then
|
||||
|
@ -6740,7 +6933,7 @@
|
|||
If spikeAffected = True Then
|
||||
If .FieldEffects.OwnStickyWeb > 0 Then
|
||||
|
||||
LowerStat(False, False, BattleScreen, "Speed", 1, "The opposing pokemon was caught in a sticky web!", "sticky web")
|
||||
LowerStat(False, False, BattleScreen, "Speed", 1, "The opposing pokemon was caught in a Sticky Web!", "stickyweb")
|
||||
|
||||
|
||||
End If
|
||||
|
@ -6785,6 +6978,7 @@
|
|||
End If
|
||||
|
||||
TriggerAbilityEffect(BattleScreen, False)
|
||||
TriggerItemEffect(BattleScreen, False)
|
||||
|
||||
If .OppPokemon.Status = Pokemon.StatusProblems.Sleep Then
|
||||
.FieldEffects.OppSleepTurns = Core.Random.Next(1, 4)
|
||||
|
@ -6794,7 +6988,7 @@
|
|||
BattleScreen.FieldEffects.OppHealingWish = False
|
||||
|
||||
If .OppPokemon.HP < .OppPokemon.MaxHP Or .OppPokemon.Status <> Pokemon.StatusProblems.None Then
|
||||
GainHP(.OppPokemon.MaxHP - .OppPokemon.HP, False, False, BattleScreen, "The healing wish came true for " & .OppPokemon.GetDisplayName() & "!", "move:healingwish")
|
||||
GainHP(.OppPokemon.MaxHP - .OppPokemon.HP, False, False, BattleScreen, "The Healing Wish came true for " & .OppPokemon.GetDisplayName() & "!", "move:healingwish")
|
||||
CureStatusProblem(False, False, BattleScreen, "", "move:healingwish")
|
||||
End If
|
||||
End If
|
||||
|
|
|
@ -33,6 +33,12 @@
|
|||
If moveName = "light screen" Or moveName = "reflect" Then
|
||||
turns = 8
|
||||
End If
|
||||
Case "terrain extender"
|
||||
If moveName = "electric terrain" Or moveName = "grassy terrain" Or moveName = "misty terrain" Or moveName = "psychic terrain" Then
|
||||
turns = 8
|
||||
ElseIf ability = "electric surge" Or ability = "grassy surge" Or ability = "misty surge" Or ability = "psychic surge" Then
|
||||
turns = 8
|
||||
End If
|
||||
End Select
|
||||
End If
|
||||
Return turns
|
||||
|
@ -272,6 +278,14 @@
|
|||
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sandstorm Then
|
||||
speed *= 2
|
||||
End If
|
||||
Case "slush rush"
|
||||
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Hailstorm Then
|
||||
speed *= 2
|
||||
End If
|
||||
Case "surge surfer"
|
||||
If BattleScreen.FieldEffects.ElectricTerrain > 0 Then
|
||||
speed *= 2
|
||||
End If
|
||||
End Select
|
||||
|
||||
Dim grassPledge As Integer = BattleScreen.FieldEffects.OppGrassPledge
|
||||
|
@ -291,11 +305,11 @@
|
|||
|
||||
If p.Ability.Name.ToLower() = "slow start" Then
|
||||
If own = True Then
|
||||
If BattleScreen.FieldEffects.OwnTurnCounts < 5 Then
|
||||
If BattleScreen.FieldEffects.OwnPokemonTurns < 5 Then
|
||||
speed = CInt(speed / 2)
|
||||
End If
|
||||
Else
|
||||
If BattleScreen.FieldEffects.OppTurnCounts < 5 Then
|
||||
If BattleScreen.FieldEffects.OppPokemonTurns < 5 Then
|
||||
speed = CInt(speed / 2)
|
||||
End If
|
||||
End If
|
||||
|
@ -371,11 +385,11 @@
|
|||
|
||||
If p.Ability.Name.ToLower() = "slow start" Then
|
||||
If own = True Then
|
||||
If BattleScreen.FieldEffects.OwnTurnCounts < 5 Then
|
||||
If BattleScreen.FieldEffects.OwnPokemonTurns < 5 Then
|
||||
attack = CInt(attack / 2)
|
||||
End If
|
||||
Else
|
||||
If BattleScreen.FieldEffects.OppTurnCounts < 5 Then
|
||||
If BattleScreen.FieldEffects.OppPokemonTurns < 5 Then
|
||||
attack = CInt(attack / 2)
|
||||
End If
|
||||
End If
|
||||
|
@ -491,7 +505,7 @@
|
|||
result = INIT * ACCM
|
||||
|
||||
If Not op.Item Is Nothing And BattleScreen.FieldEffects.CanUseItem(Not own) = True Then
|
||||
If op.Item.Name.ToLower() = "brightpowder" Or op.Item.Name.ToLower() = "lax incense" Then
|
||||
If op.Item.Name.ToLower() = "bright powder" Or op.Item.Name.ToLower() = "lax incense" Then
|
||||
result *= 0.9F
|
||||
End If
|
||||
End If
|
||||
|
@ -674,31 +688,46 @@
|
|||
op = BattleScreen.OwnPokemon
|
||||
End If
|
||||
|
||||
If p.Type1.Type = Element.Types.Ghost Or p.Type2.Type = Element.Types.Ghost Then
|
||||
Return True
|
||||
End If
|
||||
|
||||
If p.Ability.Name.ToLower() = "run away" Then
|
||||
Return True
|
||||
End If
|
||||
|
||||
If op.Ability.Name.ToLower() = "shadow tag" And p.Ability.Name.ToLower() <> "shadow tag" Then
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower() = "smoke ball" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||
Return True
|
||||
End If
|
||||
End If
|
||||
|
||||
If op.Ability.Name.ToLower() = "shadow tag" And p.Ability.Name.ToLower() <> "shadow tag" And op.HP > 0 Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
If op.Ability.Name.ToLower() = "arena trap" Then
|
||||
Dim magnetRise As Integer = BattleScreen.FieldEffects.OwnMagnetRise
|
||||
If own = False Then
|
||||
magnetRise = BattleScreen.FieldEffects.OppMagnetRise
|
||||
End If
|
||||
|
||||
If p.Type1.Type <> Element.Types.Flying And p.Type2.Type <> Element.Types.Flying And p.Ability.Name.ToLower() <> "levitate" And magnetRise = 0 Then
|
||||
Return False
|
||||
End If
|
||||
If op.Ability.Name.ToLower() = "arena trap" And op.HP > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
If op.Ability.Name.ToLower() = "magnet pull" Then
|
||||
If op.Ability.Name.ToLower() = "magnet pull" And op.HP > 0 Then
|
||||
If p.Type1.Type = Element.Types.Steel Or p.Type2.Type = Element.Types.Steel Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
|
||||
With BattleScreen.FieldEffects
|
||||
If own = True Then
|
||||
If .OwnWrap > 0 Or .OwnBind > 0 Or .OwnClamp > 0 Or .OwnFireSpin > 0 Or .OwnMagmaStorm > 0 Or .OwnSandTomb > 0 Or .OwnWhirlpool > 0 Or .OwnInfestation > 0 Then
|
||||
Return False
|
||||
End If
|
||||
Else
|
||||
If .OppWrap > 0 Or .OppBind > 0 Or .OppClamp > 0 Or .OppFireSpin > 0 Or .OppMagmaStorm > 0 Or .OppSandTomb > 0 Or .OppWhirlpool > 0 Or .OppInfestation > 0 Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
End With
|
||||
|
||||
Dim ingrain As Integer = BattleScreen.FieldEffects.OwnIngrain
|
||||
If own = False Then
|
||||
ingrain = BattleScreen.FieldEffects.OppIngrain
|
||||
|
@ -710,13 +739,6 @@
|
|||
If p.Speed > op.Speed Then
|
||||
Return True
|
||||
Else
|
||||
If Not p.Item Is Nothing And BattleScreen.FieldEffects.CanUseItem(own) = True Then
|
||||
If p.Item.Name.ToLower() = "smoke ball" Then
|
||||
BattleScreen.FieldEffects.RunTries += 1
|
||||
Return True
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim A As Integer = p.Speed
|
||||
Dim B As Integer = op.Speed
|
||||
If B = 0 Then
|
||||
|
@ -772,37 +794,84 @@
|
|||
'Sheer Cold
|
||||
If move.ID = 329 Then
|
||||
If op.IsType(Element.Types.Ice) Then
|
||||
effectiveness = 0
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim _targetHasIronBall As Boolean = False
|
||||
If Not op.Item Is Nothing Then
|
||||
If op.Item.Name.ToLower() = "iron ball" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||
_targetHasIronBall = True
|
||||
End If
|
||||
End If
|
||||
|
||||
If op.Ability.Name.ToLower() = "levitate" And move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground And BattleScreen.FieldEffects.Gravity = 0 And _targetHasIronBall = False Then
|
||||
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
||||
effectiveness = 0.0F
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim ingrain As Integer = BattleScreen.FieldEffects.OppIngrain
|
||||
If own = False Then
|
||||
ingrain = BattleScreen.FieldEffects.OwnIngrain
|
||||
Dim digHit As Boolean = False
|
||||
Dim airHit As Boolean = False
|
||||
Dim regHit As Boolean = False
|
||||
|
||||
'Grounded condition
|
||||
If move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground And BattleScreen.FieldEffects.IsGrounded(Not own, BattleScreen) = False Then
|
||||
Dim targetDig As Boolean = False
|
||||
Dim targetAir As Boolean = False
|
||||
|
||||
With BattleScreen.FieldEffects
|
||||
If own = True Then
|
||||
If .OppDigCounter > 0 Then
|
||||
targetDig = True
|
||||
End If
|
||||
If .OppFlyCounter > 0 Or .OppBounceCounter > 0 Or .OppSkyDropCounter > 0 Then
|
||||
targetAir = True
|
||||
End If
|
||||
Else
|
||||
If .OwnDigCounter > 0 Then
|
||||
targetDig = True
|
||||
End If
|
||||
If .OwnFlyCounter > 0 Or .OwnBounceCounter > 0 Or .OwnSkyDropCounter > 0 Then
|
||||
targetAir = True
|
||||
End If
|
||||
End If
|
||||
End With
|
||||
|
||||
Select Case move.ID
|
||||
Case 89, 90, 222 'Earthquake, Fissure, Magnitude
|
||||
effectiveness = 0.0F
|
||||
If targetDig = True Then
|
||||
digHit = True
|
||||
End If
|
||||
Case 614 'Thousand Arrows
|
||||
airHit = True
|
||||
If targetAir = True Then
|
||||
If own = True Then
|
||||
BattleScreen.FieldEffects.OppFlyCounter = 0
|
||||
BattleScreen.FieldEffects.OppBounceCounter = 0
|
||||
Else
|
||||
BattleScreen.FieldEffects.OwnFlyCounter = 0
|
||||
BattleScreen.FieldEffects.OwnBounceCounter = 0
|
||||
End If
|
||||
End If
|
||||
Case Else
|
||||
effectiveness = 0.0F
|
||||
End Select
|
||||
ElseIf move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground And BattleScreen.FieldEffects.IsGrounded(Not own, BattleScreen) = True Then
|
||||
regHit = True
|
||||
End If
|
||||
|
||||
If move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground Then
|
||||
If BattleScreen.FieldEffects.Gravity = 0 And ingrain = 0 And _targetHasIronBall = False Then
|
||||
Dim magnetRise As Integer = BattleScreen.FieldEffects.OppMagnetRise
|
||||
If own = False Then
|
||||
magnetRise = BattleScreen.FieldEffects.OwnMagnetRise
|
||||
End If
|
||||
If magnetRise > 0 Then
|
||||
effectiveness = 0.0F
|
||||
End If
|
||||
'Grounded hit effectiveness
|
||||
If digHit = True Or airHit = True Or regHit = True Then
|
||||
effectiveness = 1.0F
|
||||
If op.IsType(Element.Types.Electric) Then
|
||||
effectiveness *= 2
|
||||
End If
|
||||
If op.IsType(Element.Types.Fire) Then
|
||||
effectiveness *= 2
|
||||
End If
|
||||
If op.IsType(Element.Types.Poison) Then
|
||||
effectiveness *= 2
|
||||
End If
|
||||
If op.IsType(Element.Types.Rock) Then
|
||||
effectiveness *= 2
|
||||
End If
|
||||
If op.IsType(Element.Types.Steel) Then
|
||||
effectiveness *= 2
|
||||
End If
|
||||
If op.IsType(Element.Types.Bug) Then
|
||||
effectiveness /= 2
|
||||
End If
|
||||
If op.IsType(Element.Types.Grass) Then
|
||||
effectiveness /= 2
|
||||
End If
|
||||
End If
|
||||
|
||||
|
@ -832,7 +901,6 @@
|
|||
End If
|
||||
End If
|
||||
|
||||
|
||||
If op.IsType(Element.Types.Ghost) = True Then
|
||||
Dim CanHitGhost = False
|
||||
Dim Foresight As Integer = 0
|
||||
|
@ -1018,28 +1086,37 @@
|
|||
Return True
|
||||
End If
|
||||
|
||||
If BattleScreen.OwnPokemon.Type1.Type = Element.Types.Ghost Or BattleScreen.OwnPokemon.Type2.Type = Element.Types.Ghost Then
|
||||
Return True
|
||||
End If
|
||||
|
||||
With BattleScreen
|
||||
If Not .OwnPokemon.Item Is Nothing Then
|
||||
If .OwnPokemon.Item.Name.ToLower() = "shed shell" And .FieldEffects.CanUseItem(True) = True And .FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
|
||||
Return True
|
||||
End If
|
||||
End If
|
||||
End With
|
||||
|
||||
If BattleScreen.IsRemoteBattle AndAlso BattleScreen.IsPVPBattle AndAlso Not BattleScreen.IsHost Then
|
||||
If BattleScreen.FieldEffects.ClientCanSwitch = False Then
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
|
||||
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "shadow tag" And BattleScreen.OwnPokemon.Ability.Name.ToLower() <> "shadow tag" Then
|
||||
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "shadow tag" And BattleScreen.OwnPokemon.Ability.Name.ToLower() <> "shadow tag" And BattleScreen.OppPokemon.HP > 0 Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.OwnTrappedCounter > 0 Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "arena trap" Then
|
||||
Dim magnetRise As Integer = BattleScreen.FieldEffects.OwnMagnetRise
|
||||
|
||||
If BattleScreen.OwnPokemon.IsType(Element.Types.Flying) = False And BattleScreen.OwnPokemon.Ability.Name.ToLower() <> "levitate" And magnetRise = 0 Then
|
||||
Return False
|
||||
End If
|
||||
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "arena trap" And BattleScreen.OppPokemon.HP > 0 And BattleScreen.FieldEffects.IsGrounded(True, BattleScreen) = True Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "magnet pull" And BattleScreen.OwnPokemon.IsType(Element.Types.Ghost) = False And BattleScreen.OwnPokemon.IsType(Element.Types.Steel) = True Then
|
||||
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "magnet pull" And BattleScreen.OwnPokemon.IsType(Element.Types.Steel) = True And BattleScreen.OppPokemon.HP > 0 Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
@ -1056,22 +1133,32 @@
|
|||
If BattleScreen.OppPokemon.Status = Pokemon.StatusProblems.Fainted Or BattleScreen.OppPokemon.HP <= 0 Then
|
||||
Return True
|
||||
End If
|
||||
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "shadow tag" And BattleScreen.OppPokemon.Ability.Name.ToLower() <> "shadow tag" Then
|
||||
|
||||
If BattleScreen.OppPokemon.Type1.Type = Element.Types.Ghost Or BattleScreen.OppPokemon.Type2.Type = Element.Types.Ghost Then
|
||||
Return True
|
||||
End If
|
||||
|
||||
With BattleScreen
|
||||
If Not .OppPokemon.Item Is Nothing Then
|
||||
If .OppPokemon.Item.Name.ToLower() = "shed shell" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||
Return True
|
||||
End If
|
||||
End If
|
||||
End With
|
||||
|
||||
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "shadow tag" And BattleScreen.OppPokemon.Ability.Name.ToLower() <> "shadow tag" And BattleScreen.OwnPokemon.HP > 0 Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.OppTrappedCounter > 0 Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "arena trap" Then
|
||||
Dim magnetRise As Integer = BattleScreen.FieldEffects.OppMagnetRise
|
||||
|
||||
If BattleScreen.OppPokemon.IsType(Element.Types.Flying) = False And BattleScreen.OppPokemon.Ability.Name.ToLower() <> "levitate" And magnetRise = 0 Then
|
||||
Return False
|
||||
End If
|
||||
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "arena trap" And BattleScreen.OwnPokemon.HP > 0 And BattleScreen.FieldEffects.IsGrounded(False, BattleScreen) = True Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "magnet pull" And BattleScreen.OppPokemon.IsType(Element.Types.Ghost) = False And BattleScreen.OppPokemon.IsType(Element.Types.Steel) = True Then
|
||||
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "magnet pull" And BattleScreen.OppPokemon.IsType(Element.Types.Steel) = True And BattleScreen.OwnPokemon.HP > 0 Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
@ -1308,10 +1395,6 @@
|
|||
If Attack.IsJawMove = True Then
|
||||
UA = 1.5F
|
||||
End If
|
||||
Case "fur coat"
|
||||
If Attack.Category = Attack.Categories.Physical Then
|
||||
UA = 0.5F
|
||||
End If
|
||||
Case "refrigerate"
|
||||
If Attack.Type.Type = Element.Types.Normal Then
|
||||
UA = 1.2F
|
||||
|
@ -1436,11 +1519,11 @@
|
|||
AM = 1.5F
|
||||
Case "slow start"
|
||||
If Own = True Then
|
||||
If BattleScreen.FieldEffects.OwnTurnCounts < 5 Then
|
||||
If BattleScreen.FieldEffects.OwnPokemonTurns < 5 Then
|
||||
AM = 0.5F
|
||||
End If
|
||||
Else
|
||||
If BattleScreen.FieldEffects.OppTurnCounts < 5 Then
|
||||
If BattleScreen.FieldEffects.OppPokemonTurns < 5 Then
|
||||
AM = 0.5F
|
||||
End If
|
||||
End If
|
||||
|
@ -1580,7 +1663,7 @@
|
|||
DSM = 1.0F
|
||||
End If
|
||||
|
||||
If Attack.Name.ToLower() = "selfdestruct" Or Attack.Name.ToLower() = "explosion" Then
|
||||
If Attack.Name.ToLower() = "self-destruct" Or Attack.Name.ToLower() = "explosion" Then
|
||||
SX = 1.0F
|
||||
End If
|
||||
|
||||
|
@ -1590,6 +1673,10 @@
|
|||
If Op.Number = 132 Then
|
||||
DMod = 1.5F
|
||||
End If
|
||||
Case "eviolite"
|
||||
If Op.IsFullyEvolved = False Then
|
||||
DMod = 1.5F
|
||||
End If
|
||||
End Select
|
||||
End If
|
||||
|
||||
|
@ -1600,6 +1687,15 @@
|
|||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If Op.Ability.Name.ToLower() = "fur coat" And BattleScreen.FieldEffects.CanUseAbility(Not Own, BattleScreen) = True Then
|
||||
DMod = 2.0F
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.GrassyTerrain > 0 And Op.Ability.Name.ToLower() = "grass pelt" And BattleScreen.FieldEffects.CanUseAbility(Not Own, BattleScreen) = True Then
|
||||
DMod = 1.5F
|
||||
End If
|
||||
|
||||
ElseIf Attack.Category = Attack.Categories.Special Then
|
||||
DStat = Attack.GetUseDefenseStat(Op)
|
||||
DSM = GetMultiplierFromStat(Op.StatSpDefense)
|
||||
|
@ -1719,6 +1815,18 @@
|
|||
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Snow Then
|
||||
SR = 1.5F
|
||||
End If
|
||||
Case Element.Types.Electric
|
||||
If BattleScreen.FieldEffects.ElectricTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
|
||||
SR = 1.5F
|
||||
End If
|
||||
Case Element.Types.Grass
|
||||
If BattleScreen.FieldEffects.GrassyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
|
||||
SR = 1.5F
|
||||
End If
|
||||
Case Element.Types.Psychic
|
||||
If BattleScreen.FieldEffects.PsychicTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
|
||||
SR = 1.5F
|
||||
End If
|
||||
End Select
|
||||
|
||||
If p.Ability.Name.ToLower() = "flash fire" Then
|
||||
|
@ -1904,6 +2012,12 @@
|
|||
TRB = 0.5F
|
||||
End If
|
||||
End If
|
||||
Case "roseli"
|
||||
If Attack.Type.Type = Element.Types.Fairy Then
|
||||
If BattleScreen.Battle.RemoveHeldItem(Not Own, Not Own, BattleScreen, "The Roseli Berry weakened the effect of " & Attack.Name & " on " & Op.GetDisplayName() & "!", "berry:roseli") = True Then
|
||||
TRB = 0.5F
|
||||
End If
|
||||
End If
|
||||
End Select
|
||||
End If
|
||||
End If
|
||||
|
@ -1935,6 +2049,19 @@
|
|||
damage = CInt(damage / 2)
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
|
||||
If Attack.Type.Type = Element.Types.Dragon Then
|
||||
damage = CInt(damage / 2)
|
||||
End If
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.GrassyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
|
||||
'Earthquake, Bulldoze, Magnitude
|
||||
If Attack.ID = 89 Or Attack.ID = 523 Or Attack.ID = 222 Then
|
||||
damage = CInt(damage / 2)
|
||||
End If
|
||||
End If
|
||||
|
||||
If Attack.IsOneHitKOMove = True Then
|
||||
damage = Op.HP
|
||||
End If
|
||||
|
|
|
@ -50,7 +50,41 @@
|
|||
|
||||
If y > -1 Then
|
||||
Core.SpriteBatch.Draw(TextureManager.GetTexture("GUI\Battle\WeatherIcons"), New Rectangle(22, Core.windowSize.Height - 90, 176, 68), New Rectangle(x, y, 88, 34), Color.White)
|
||||
Core.SpriteBatch.DrawString(FontManager.MiniFont, t, New Vector2(110 - FontManager.MiniFont.MeasureString(t).X / 2, Core.windowSize.Height - 42), Color.Black)
|
||||
Core.SpriteBatch.DrawString(FontManager.MiniFont, t, New Vector2(110 - FontManager.MiniFont.MeasureString(t).X / 2, Core.windowSize.Height - 44), Color.Black)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub DrawTerrain(ByVal BattleScreen As BattleScreen)
|
||||
Dim y As Integer = -1
|
||||
Dim x As Integer = 0
|
||||
Dim t As String = ""
|
||||
|
||||
With BattleScreen.FieldEffects
|
||||
If .ElectricTerrain > 0 Then
|
||||
x = 352
|
||||
y = 0
|
||||
t = "Electric Terrain"
|
||||
End If
|
||||
If .GrassyTerrain > 0 Then
|
||||
x = 352
|
||||
y = 34
|
||||
t = "Grassy Terrain"
|
||||
End If
|
||||
If .MistyTerrain > 0 Then
|
||||
x = 352
|
||||
y = 68
|
||||
t = "Misty Terrain"
|
||||
End If
|
||||
If .PsychicTerrain > 0 Then
|
||||
x = 352
|
||||
y = 102
|
||||
t = "Psychic Terrain"
|
||||
End If
|
||||
End With
|
||||
|
||||
If y > -1 Then
|
||||
Core.SpriteBatch.Draw(TextureManager.GetTexture("GUI\Battle\WeatherIcons"), New Rectangle(222, Core.windowSize.Height - 90, 176, 68), New Rectangle(x, y, 88, 34), Color.White)
|
||||
Core.SpriteBatch.DrawString(FontManager.MiniFont, t, New Vector2(310 - FontManager.MiniFont.MeasureString(t).X / 2, Core.windowSize.Height - 44), Color.Black)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
@ -268,6 +302,7 @@
|
|||
End Select
|
||||
|
||||
DrawWeather(BattleScreen)
|
||||
DrawTerrain(BattleScreen)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@
|
|||
Public OwnFaint As Boolean = False
|
||||
Public OppFaint As Boolean = False
|
||||
|
||||
'Used for moves like U-turn (self-switch)
|
||||
Public OwnSelfSwitch As Boolean = False
|
||||
Public OppSelfSwitch As Boolean = False
|
||||
|
||||
'Used for lead picking in PvP Battles
|
||||
Public Shared OwnLeadIndex As Integer = 0
|
||||
Public Shared OppLeadIndex As Integer = 0
|
||||
|
@ -284,7 +288,7 @@
|
|||
q3.PassThis = True
|
||||
|
||||
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
||||
Dim q4 As TextQueryObject = New TextQueryObject("GO, " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||
Dim q4 As TextQueryObject = New TextQueryObject("Go, " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||
|
||||
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
||||
|
||||
|
@ -428,7 +432,7 @@
|
|||
q3.PassThis = True
|
||||
|
||||
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
||||
Dim q4 As TextQueryObject = New TextQueryObject("GO, " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||
Dim q4 As TextQueryObject = New TextQueryObject("Go, " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||
|
||||
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
||||
|
||||
|
@ -680,7 +684,7 @@
|
|||
q3.PassThis = True
|
||||
|
||||
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
||||
Dim q4 As TextQueryObject = New TextQueryObject("GO, " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||
Dim q4 As TextQueryObject = New TextQueryObject("Go, " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||
|
||||
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
||||
|
||||
|
|
|
@ -10,13 +10,20 @@
|
|||
Public OwnTruantRound As Integer = 0 'Truant move counter
|
||||
Public OwnImprison As Integer = 0 'Imprison move counter
|
||||
Public OwnTaunt As Integer = 0 'Taunt move counter
|
||||
Public OwnTelekinesis As Integer = 0 'Telekinesis move counter
|
||||
Public OwnRageCounter As Integer = 0 'Rage move counter
|
||||
Public OwnUproar As Integer = 0 'Uproar move counter
|
||||
Public OwnFocusEnergy As Integer = 0 'Focus energy move counter
|
||||
Public OwnEndure As Integer = 0 'Endure move counter
|
||||
Public OwnProtectCounter As Integer = 0 'Protect move counter
|
||||
Public OwnKingsShieldCounter As Integer = 0 'Kings Shield move counter
|
||||
Public OwnSpikyShieldCounter As Integer = 0 'Spiky Shield move counter
|
||||
Public OwnDetectCounter As Integer = 0 'Detect move counter
|
||||
Public OwnBanefulBunkerCounter As Integer = 0 'Baneful Bunker move counter
|
||||
Public OwnCraftyShieldCounter As Integer = 0 'Crafty Shield move counter
|
||||
Public OwnMatBlockCounter As Integer = 0 'Mat Block move counter
|
||||
Public OwnWideGuardCounter As Integer = 0 'Wide Guard move counter
|
||||
Public OwnQuickGuardCounter As Integer = 0 'Quick Guard move counter
|
||||
Public OwnIngrain As Integer = 0 'Ingrain move counter
|
||||
Public OwnSubstitute As Integer = 0 'Substitute HP left
|
||||
Public OwnLuckyChant As Integer = 0 'Lucky chant move counter
|
||||
|
@ -92,6 +99,7 @@
|
|||
Public OwnUsedMoves As New List(Of Integer)
|
||||
Public OwnMagicCoat As Integer = 0
|
||||
Public OwnConsumedItem As Item = Nothing
|
||||
Public OwnSmacked As Integer = 0 'Smack Down effect condition
|
||||
Public OwnPursuit As Boolean = False
|
||||
Public OwnMegaEvolved As Boolean = False
|
||||
Public OwnRoostUsed As Boolean = False 'If roost got used, this is true and will get set false and revert types at the end of a turn.
|
||||
|
@ -134,13 +142,20 @@
|
|||
Public OppImprison As Integer = 0
|
||||
Public OppHealBlock As Integer = 0
|
||||
Public OppTaunt As Integer = 0
|
||||
Public OppTelekinesis As Integer = 0
|
||||
Public OppRageCounter As Integer = 0
|
||||
Public OppUproar As Integer = 0
|
||||
Public OppFocusEnergy As Integer = 0
|
||||
Public OppEndure As Integer = 0
|
||||
Public OppProtectCounter As Integer = 0
|
||||
Public OppKingsShieldCounter As Integer = 0
|
||||
Public OppSpikyShieldCounter As Integer = 0
|
||||
Public OppDetectCounter As Integer = 0
|
||||
Public OppBanefulBunkerCounter As Integer = 0
|
||||
Public OppCraftyShieldCounter As Integer = 0
|
||||
Public OppMatBlockCounter As Integer = 0
|
||||
Public OppWideGuardCounter As Integer = 0
|
||||
Public OppQuickGuardCounter As Integer = 0
|
||||
Public OppIngrain As Integer = 0
|
||||
Public OppSubstitute As Integer = 0
|
||||
Public OppSafeguard As Integer = 0
|
||||
|
@ -204,6 +219,7 @@
|
|||
Public OppPokemonDamagedLastTurn As Boolean = False
|
||||
Public OppMagicCoat As Integer = 0
|
||||
Public OppConsumedItem As Item = Nothing
|
||||
Public OppSmacked As Integer = 0
|
||||
Public OppPursuit As Boolean = False
|
||||
Public OppMegaEvolved As Boolean = False
|
||||
Public OppRoostUsed As Boolean = False
|
||||
|
@ -253,6 +269,11 @@
|
|||
Public Rounds As Integer = 0
|
||||
Public AmuletCoin As Integer = 0
|
||||
|
||||
Public ElectricTerrain As Integer = 0
|
||||
Public GrassyTerrain As Integer = 0
|
||||
Public MistyTerrain As Integer = 0
|
||||
Public PsychicTerrain As Integer = 0
|
||||
|
||||
'Special stuff
|
||||
Public RunTries As Integer = 0
|
||||
Public UsedPokemon As New List(Of Integer)
|
||||
|
@ -325,6 +346,63 @@
|
|||
Return True
|
||||
End Function
|
||||
|
||||
Public Function IsGrounded(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) As Boolean
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
Dim grounded As Boolean = True
|
||||
If own = True Then
|
||||
If p.Type1.Type = Element.Types.Flying Or p.Type2.Type = Element.Types.Flying Or p.Ability.Name.ToLower() = "levitate" And BattleScreen.FieldEffects.CanUseAbility(True, BattleScreen) = True Then
|
||||
grounded = False
|
||||
End If
|
||||
If BattleScreen.FieldEffects.Gravity > 0 Or BattleScreen.FieldEffects.OwnSmacked > 0 Or BattleScreen.FieldEffects.OwnIngrain > 0 Then
|
||||
grounded = True
|
||||
Else
|
||||
If BattleScreen.FieldEffects.OwnTelekinesis > 0 Or BattleScreen.FieldEffects.OwnMagnetRise > 0 Then
|
||||
grounded = False
|
||||
End If
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower() = "air balloon" And BattleScreen.FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
|
||||
grounded = False
|
||||
End If
|
||||
If p.Item.Name.ToLower() = "iron ball" And BattleScreen.FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
|
||||
grounded = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
If OwnBounceCounter > 0 Or OwnDigCounter > 0 Or OwnDiveCounter > 0 Or OwnFlyCounter > 0 Or OwnPhantomForceCounter > 0 Or OwnShadowForceCounter > 0 Or OwnSkyDropCounter > 0 Then
|
||||
grounded = False
|
||||
End If
|
||||
Else
|
||||
p = BattleScreen.OppPokemon
|
||||
If p.Type1.Type = Element.Types.Flying Or p.Type2.Type = Element.Types.Flying Or p.Ability.Name.ToLower() = "levitate" And BattleScreen.FieldEffects.CanUseAbility(True, BattleScreen) = True Then
|
||||
grounded = False
|
||||
End If
|
||||
If BattleScreen.FieldEffects.Gravity > 0 Or BattleScreen.FieldEffects.OppSmacked > 0 Or BattleScreen.FieldEffects.OppIngrain > 0 Then
|
||||
grounded = True
|
||||
Else
|
||||
If BattleScreen.FieldEffects.OppTelekinesis > 0 Or BattleScreen.FieldEffects.OppMagnetRise > 0 Then
|
||||
grounded = False
|
||||
End If
|
||||
If Not p.Item Is Nothing Then
|
||||
If p.Item.Name.ToLower() = "air balloon" And BattleScreen.FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||
grounded = False
|
||||
End If
|
||||
If p.Item.Name.ToLower() = "iron ball" And BattleScreen.FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||
grounded = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
If OppBounceCounter > 0 Or OppDigCounter > 0 Or OppDiveCounter > 0 Or OppFlyCounter > 0 Or OppPhantomForceCounter > 0 Or OppShadowForceCounter > 0 Or OppSkyDropCounter > 0 Then
|
||||
grounded = False
|
||||
End If
|
||||
End If
|
||||
|
||||
If grounded = True Then
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
End Function
|
||||
|
||||
Public Function GetPokemonWeight(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) As Single
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
Dim op As Pokemon = BattleScreen.OppPokemon
|
||||
|
|
|
@ -117,6 +117,10 @@
|
|||
''' </summary>
|
||||
Public Taunted As Integer = 0
|
||||
''' <summary>
|
||||
''' Telekinesis move counter, if true, Pokémon will always be hit.
|
||||
''' </summary>
|
||||
Public Telekinesis As Integer = 0
|
||||
''' <summary>
|
||||
''' If the Pokémon is affected by Embargo.
|
||||
''' </summary>
|
||||
Public Embargo As Integer = 0
|
||||
|
@ -353,6 +357,30 @@
|
|||
''' King's Shield move counter.
|
||||
''' </summary>
|
||||
Public KingsShield As Integer = 0
|
||||
''' <summary>
|
||||
''' Spiky Shield move counter.
|
||||
''' </summary>
|
||||
Public SpikyShield As Integer = 0
|
||||
''' <summary>
|
||||
''' Baneful Bunker move counter.
|
||||
''' </summary>
|
||||
Public BanefulBunker As Integer = 0
|
||||
''' <summary>
|
||||
''' Crafty Shield move counter.
|
||||
''' </summary>
|
||||
Public CraftyShield As Integer = 0
|
||||
''' <summary>
|
||||
''' Mat Block move counter.
|
||||
''' </summary>
|
||||
Public MatBlock As Integer = 0
|
||||
''' <summary>
|
||||
''' Wide Guard move counter.
|
||||
''' </summary>
|
||||
Public WideGuard As Integer = 0
|
||||
''' <summary>
|
||||
''' Quick Guard move counter.
|
||||
''' </summary>
|
||||
Public QuickGuard As Integer = 0
|
||||
|
||||
''' <summary>
|
||||
''' Ingrain move counter.
|
||||
|
@ -375,6 +403,10 @@
|
|||
''' </summary>
|
||||
Public Cursed As Integer = 0
|
||||
''' <summary>
|
||||
''' If the Pokémon is affected by Grounding.
|
||||
''' </summary>
|
||||
Public Smacked As Integer = 0
|
||||
''' <summary>
|
||||
''' Turns until Perish Song faints Pokémon.
|
||||
''' </summary>
|
||||
Public PerishSong As Integer = 0
|
||||
|
@ -436,12 +468,19 @@
|
|||
Me.SleepTurns = 0
|
||||
Me.TruantRound = 0
|
||||
Me.Taunted = 0
|
||||
Me.Telekinesis = 0
|
||||
Me.Rage = 0
|
||||
Me.Uproar = 0
|
||||
Me.Endure = 0
|
||||
Me.Protect = 0
|
||||
Me.Detect = 0
|
||||
Me.KingsShield = 0
|
||||
Me.SpikyShield = 0
|
||||
Me.BanefulBunker = 0
|
||||
Me.CraftyShield = 0
|
||||
Me.MatBlock = 0
|
||||
Me.WideGuard = 0
|
||||
Me.QuickGuard = 0
|
||||
Me.ProtectMoveCounter = 0
|
||||
Me.ToxicRound = 0
|
||||
Me.Nightmare = 0
|
||||
|
@ -495,6 +534,7 @@
|
|||
Me.Bide = 0
|
||||
Me.BideDamage = 0
|
||||
Me.Roost = 0
|
||||
Me.Smacked = 0
|
||||
|
||||
'If Baton Pass is not used to switch, also reset these variables:
|
||||
If BatonPassed = False Then
|
||||
|
|
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 14 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 15 KiB |
|
@ -10999,6 +10999,15 @@
|
|||
<Content Include="Content\GUI\MainMenu\lugiaParticle.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Items\Fossils.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Items\Gems.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Items\Memories.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Localization\Tokens_de.dat">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
@ -26097,6 +26106,10 @@
|
|||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Compile Include="Pokemon\Abilities\Aerilate.vb" />
|
||||
<Compile Include="Pokemon\Abilities\PsychicSurge.vb" />
|
||||
<Compile Include="Pokemon\Abilities\MistySurge.vb" />
|
||||
<Compile Include="Pokemon\Abilities\GrassySurge.vb" />
|
||||
<Compile Include="Pokemon\Abilities\ElectricSurge.vb" />
|
||||
<Compile Include="Pokemon\Abilities\TanglingHair.vb" />
|
||||
<Compile Include="Pokemon\Abilities\SlushRush.vb" />
|
||||
<Compile Include="Pokemon\Abilities\PowerofAlchemy.vb" />
|
||||
|
@ -26116,6 +26129,8 @@
|
|||
<Compile Include="Pokemon\Attacks\Dragon\ClangingScales.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dragon\DragonHammer.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dragon\SpacialRend.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Electric\ElectricTerrain.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fairy\MistyTerrain.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fairy\Geomancy.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fairy\LightOfRuin.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fairy\FleurCannon.vb" />
|
||||
|
@ -26132,6 +26147,7 @@
|
|||
<Compile Include="Pokemon\Attacks\Ghost\ShadowForce.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Ghost\SpiritShackle.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Grass\Leafage.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Grass\GrassyTerrain.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Grass\TropKick.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Grass\SolarBlade.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Grass\Strength Sap.vb" />
|
||||
|
@ -26161,6 +26177,7 @@
|
|||
<Compile Include="Pokemon\Attacks\Psychic\PrismaticLaser.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Psychic\PsychicFangs.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Psychic\HyperspaceHole.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Psychic\PsychicTerrain.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Psychic\Synchronoise.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Psychic\Psystrike.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Rock\DiamondStorm.vb" />
|
||||
|
@ -26172,6 +26189,9 @@
|
|||
<Compile Include="Pokemon\Attacks\Water\OriginPulse.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\Liquidation.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\SparklingAria.vb" />
|
||||
<Compile Include="Pokemon\Items\Berries\MarangaBerry.vb" />
|
||||
<Compile Include="Pokemon\Items\Berries\KeeBerry.vb" />
|
||||
<Compile Include="Pokemon\Items\Berries\RoseliBerry.vb" />
|
||||
<Compile Include="Pokemon\Items\KeyItems\LibertySeaMap.vb" />
|
||||
<Compile Include="Pokemon\Items\Machines\TM171.vb" />
|
||||
<Compile Include="Pokemon\Items\Machines\TM172.vb" />
|
||||
|
@ -26184,6 +26204,12 @@
|
|||
<Compile Include="Pokemon\Items\Machines\TM181.vb" />
|
||||
<Compile Include="Pokemon\Items\Machines\TM174.vb" />
|
||||
<Compile Include="Pokemon\Items\Machines\TM173.vb" />
|
||||
<Compile Include="Pokemon\Items\Medicine\PewterCrunchies.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\PsychicSeed.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\MistySeed.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\GrassySeed.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\ElectricSeed.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\TerrainExtender.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\DouseDrive.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\ChillDrive.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\Snowball.vb" />
|
||||
|
@ -27099,15 +27125,15 @@
|
|||
<Compile Include="Pokemon\Attacks\Bug\StruggleBug.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Bug\Tailglow.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Bug\Twineedle.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Bug\UTurn.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Bug\Xscissor.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Bug\U-Turn.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Bug\XScissor.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\Assurance.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\BeatUp.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\Bite.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\Crunch.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\DarkPulse.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\Embargo.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\FaintAttack.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\FeintAttack.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\FakeTears.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\Flatter.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\Fling.vb" />
|
||||
|
@ -27117,7 +27143,7 @@
|
|||
<Compile Include="Pokemon\Attacks\Dark\Memento.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\NastyPlot.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\NightDaze.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\Nightslash.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\NightSlash.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\Payback.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\Punishment.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Dark\Pursuit.vb" />
|
||||
|
@ -27186,7 +27212,7 @@
|
|||
<Compile Include="Pokemon\Attacks\Fighting\FocusPunch.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fighting\ForcePalm.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fighting\HammerArm.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fighting\HiJumpKick.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fighting\HighJumpKick.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fighting\JumpKick.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fighting\KarateChop.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fighting\LowKick.vb" />
|
||||
|
@ -27299,7 +27325,7 @@
|
|||
<Compile Include="Pokemon\Attacks\Grass\PowerWhip.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Grass\RazorLeaf.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Grass\SeedBomb.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Grass\Seedflare.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Grass\SeedFlare.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Grass\SleepPowder.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Grass\SolarBeam.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Grass\Spore.vb" />
|
||||
|
@ -27322,7 +27348,7 @@
|
|||
<Compile Include="Pokemon\Attacks\Ground\MudBomb.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Ground\MudShot.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Ground\MudSport.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Ground\Sand-Attack.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Ground\SandAttack.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Ground\SandTomb.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Ground\Spikes.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Ice\AuroraBeam.vb" />
|
||||
|
@ -27356,7 +27382,7 @@
|
|||
<Compile Include="Pokemon\Attacks\Normal\BodySlam.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Boomburst.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Captivate.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Charm.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fairy\Charm.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\ChipAway.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\CometPunch.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Confide.vb" />
|
||||
|
@ -27417,7 +27443,7 @@
|
|||
<Compile Include="Pokemon\Attacks\Normal\Mimic.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\MindReader.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Minimize.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Moonlight.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fairy\Moonlight.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\MorningSun.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\NaturalGift.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\NaturePower.vb" />
|
||||
|
@ -27445,7 +27471,7 @@
|
|||
<Compile Include="Pokemon\Attacks\Normal\ScaryFace.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Scratch.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Screech.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Selfdestruct.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Self-Destruct.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Sharpen.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\ShellSmash.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Sing.vb" />
|
||||
|
@ -27455,11 +27481,11 @@
|
|||
<Compile Include="Pokemon\Attacks\Normal\Slam.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Slash.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\SleepTalk.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\SmellingSalt.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\SmokeScreen.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\SmellingSalts.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Smokescreen.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Snatch.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Snore.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Softboiled.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Soft-Boiled.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\SonicBoom.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\SpikeCannon.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\SpitUp.vb" />
|
||||
|
@ -27473,7 +27499,7 @@
|
|||
<Compile Include="Pokemon\Attacks\Normal\Supersonic.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Swagger.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Swallow.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\SweetKiss.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Fairy\SweetKiss.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\SweetScent.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\Swift.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Normal\SwordsDance.vb" />
|
||||
|
@ -27582,7 +27608,7 @@
|
|||
<Compile Include="Pokemon\Attacks\Steel\GyroBall.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Steel\HeavySlam.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Steel\IronDefense.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Steel\Ironhead.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Steel\IronHead.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Steel\IronTail.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Steel\KingsShield.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Steel\MagnetBomb.vb" />
|
||||
|
@ -27595,18 +27621,18 @@
|
|||
<Compile Include="Pokemon\Attacks\Steel\SteelWing.vb" />
|
||||
<Compile Include="Pokemon\Attacks\StruggleAttack.vb" />
|
||||
<Compile Include="Pokemon\Attacks\TheDerpMove.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\Aquajet.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\AquaJet.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\AquaRing.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\Aquatail.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\AquaTail.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\Brine.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\Bubble.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\BubbleBeam.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\Clamp.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\Crabhammer.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\Dive.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\Hydrocannon.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\HydroCannon.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\HydroPump.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\Muddywater.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\MuddyWater.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\Octazooka.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\RainDance.vb" />
|
||||
<Compile Include="Pokemon\Attacks\Water\RazorShell.vb" />
|
||||
|
@ -28135,7 +28161,7 @@
|
|||
<Compile Include="Pokemon\Items\Standard\PinkBow.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\PoisonBarb.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\PokeDoll.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\PolkadotBow.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\BerserkGene.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\PowerAnklet.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\PowerBand.vb" />
|
||||
<Compile Include="Pokemon\Items\Standard\PowerBelt.vb" />
|
||||
|
|
|
@ -459,7 +459,7 @@
|
|||
Case 107
|
||||
returnMove = New Moves.Normal.Minimize()
|
||||
Case 108
|
||||
returnMove = New Moves.Normal.SmokeScreen()
|
||||
returnMove = New Moves.Normal.Smokescreen()
|
||||
Case 109
|
||||
returnMove = New Moves.Ghost.ConfuseRay()
|
||||
Case 110
|
||||
|
@ -483,7 +483,7 @@
|
|||
Case 119
|
||||
returnMove = New Moves.Flying.MirrorMove()
|
||||
Case 120
|
||||
returnMove = New Moves.Normal.Selfdestruct()
|
||||
returnMove = New Moves.Normal.SelfDestruct()
|
||||
Case 121
|
||||
returnMove = New Moves.Normal.EggBomb()
|
||||
Case 122
|
||||
|
@ -513,9 +513,9 @@
|
|||
Case 134
|
||||
returnMove = New Moves.Psychic.Kinesis()
|
||||
Case 135
|
||||
returnMove = New Moves.Normal.Softboiled()
|
||||
returnMove = New Moves.Normal.SoftBoiled()
|
||||
Case 136
|
||||
returnMove = New Moves.Fighting.HiJumpKick()
|
||||
returnMove = New Moves.Fighting.HighJumpKick()
|
||||
Case 137
|
||||
returnMove = New Moves.Normal.Glare()
|
||||
Case 138
|
||||
|
@ -613,9 +613,9 @@
|
|||
Case 184
|
||||
returnMove = New Moves.Normal.ScaryFace()
|
||||
Case 185
|
||||
returnMove = New Moves.Dark.FaintAttack()
|
||||
returnMove = New Moves.Dark.FeintAttack()
|
||||
Case 186
|
||||
returnMove = New Moves.Normal.SweetKiss()
|
||||
returnMove = New Moves.Fairy.SweetKiss()
|
||||
Case 187
|
||||
returnMove = New Moves.Normal.BellyDrum()
|
||||
Case 188
|
||||
|
@ -651,7 +651,7 @@
|
|||
Case 203
|
||||
returnMove = New Moves.Normal.Endure()
|
||||
Case 204
|
||||
returnMove = New Moves.Normal.Charm()
|
||||
returnMove = New Moves.Fairy.Charm()
|
||||
Case 205
|
||||
returnMove = New Moves.Rock.Rollout()
|
||||
Case 206
|
||||
|
@ -715,7 +715,7 @@
|
|||
Case 235
|
||||
returnMove = New Moves.Grass.Synthesis()
|
||||
Case 236
|
||||
returnMove = New Moves.Normal.Moonlight()
|
||||
returnMove = New Moves.Fairy.Moonlight()
|
||||
Case 237
|
||||
returnMove = New Moves.Normal.HiddenPower()
|
||||
Case 238
|
||||
|
@ -773,7 +773,7 @@
|
|||
Case 264
|
||||
returnMove = New Moves.Fighting.FocusPunch()
|
||||
Case 265
|
||||
returnMove = New Moves.Normal.SmellingSalt()
|
||||
returnMove = New Moves.Normal.SmellingSalts()
|
||||
'Case 266
|
||||
'Follow me - Double Battles
|
||||
Case 267
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 60
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Bug Bite"
|
||||
Me.Description = "The user bites the target. If the target is holding a Berry, the user eats it and gains its effect."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 90
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Bug Buzz"
|
||||
Me.Description = "The user vibrates its wings to generate a damaging sound wave. This may also lower the target's Sp. Def stat."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = True
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = True
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Namespace BattleSystem.Moves.Bug
|
||||
|
||||
Public Class Xscissor
|
||||
Public Class XScissor
|
||||
|
||||
Inherits Attack
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 80
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "X-Scissor"
|
||||
Me.Description = "The user slashes at the target by crossing its scythes or claws as if they were a pair of scissors."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 60
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Assurance"
|
||||
Me.Description = "If the target has already taken some damage in the same turn, this attack's power is doubled."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Embargo"
|
||||
Me.Description = "This move prevents the target from using its held item. Its Trainer is also prevented from using items on it."
|
||||
Me.CriticalChance = 0
|
||||
|
|
|
@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Dark
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Fake Tears"
|
||||
Me.Description = "The user feigns crying to fluster the target, harshly lowering its Sp. Def stat."
|
||||
Me.CriticalChance = 0
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Namespace BattleSystem.Moves.Dark
|
||||
|
||||
Public Class FaintAttack
|
||||
Public Class FeintAttack
|
||||
|
||||
Inherits Attack
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
|||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Faint Attack"
|
||||
Me.Name = "Feint Attack"
|
||||
Me.Description = "The user approaches the target disarmingly, then throws a sucker punch. It hits without fail."
|
||||
Me.CriticalChance = 1
|
||||
Me.IsHMMove = False
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Fling"
|
||||
Me.Description = "The user flings its held item at the target to attack. This move's power and effects depend on the item."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Nasty Plot"
|
||||
Me.Description = "The user stimulates its brain by thinking bad thoughts. It sharply raises the user's Sp. Atk."
|
||||
Me.CriticalChance = 0
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Namespace BattleSystem.Moves.Dark
|
||||
|
||||
Public Class Nightslash
|
||||
Public Class NightSlash
|
||||
|
||||
Inherits Attack
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 70
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Night Slash"
|
||||
Me.Description = "The user slashes the target the instant an opportunity arises. Critical hits land more easily."
|
||||
Me.CriticalChance = 2
|
||||
|
|
|
@ -48,14 +48,14 @@
|
|||
|
||||
Me.IsAffectedBySubstitute = True
|
||||
Me.IsOneHitKOMove = False
|
||||
Me.IsWonderGuardAffected = True
|
||||
Me.IsWonderGuardAffected = False
|
||||
'#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
|
||||
If b = False And d = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
End Sub
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 50
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Payback"
|
||||
Me.Description = "If the user moves after the target, this attack's power will be doubled"
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Dark
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Punishment"
|
||||
Me.Description = "This attack's power increases the more the target has powered up with stat changes."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Dark
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Switcheroo"
|
||||
Me.Description = "The user trades held items with the target faster than the eye can follow."
|
||||
Me.CriticalChance = 0
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 130
|
||||
Me.Accuracy = 90
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Draco Meteor"
|
||||
Me.Description = "Comets are summoned down from the sky onto the target. The attack's recoil harshly reduces the user's Sp. Atk stat."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 85
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Dragon Pulse"
|
||||
Me.Description = "The target is attacked with a shock wave generated by the user's gaping mouth."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 100
|
||||
Me.Accuracy = 75
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Dragon Rush"
|
||||
Me.Description = "The user tackles the target while exhibiting overwhelming menace. It may also make the target flinch."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 150
|
||||
Me.Accuracy = 90
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Roar of Time"
|
||||
Me.Description = "The user blasts the target with power that distorts even time. The user can't move on the next turn."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 100
|
||||
Me.Accuracy = 95
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Spacial Rend"
|
||||
Me.Description = "The user tears the target along with the space around it. Critical hits land more easily."
|
||||
Me.CriticalChance = 2
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 80
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Discharge"
|
||||
Me.Description = "The user strikes everything around it by letting loose a flare of electricity. This may also cause paralysis."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Magnet Rise"
|
||||
Me.Description = "The user levitates using electrically generated magnetism for five turns."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
Namespace BattleSystem.Moves.Fairy
|
||||
|
||||
Public Class Charm
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
Namespace BattleSystem.Moves.Fairy
|
||||
|
||||
Public Class Moonlight
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
Namespace BattleSystem.Moves.Fairy
|
||||
|
||||
Public Class SweetKiss
|
||||
|
|
@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Fighting
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Bulk Up"
|
||||
Me.Description = "The user tenses its muscles to bulk up its body, raising both its Attack and Defense stats."
|
||||
Me.CriticalChance = 0
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 120
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Close Combat"
|
||||
Me.Description = "The user fights the target up close without guarding itself. It also cuts the user's Defense and Sp. Def."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 75
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Drain Punch"
|
||||
Me.Description = "An energy-draining punch. The user's HP is restored by half the damage taken by the target."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
Me.IsHealingMove = False
|
||||
Me.IsRecoilMove = False
|
||||
Me.IsPunchingMove = False
|
||||
Me.IsDamagingMove = True
|
||||
Me.IsDamagingMove = False
|
||||
Me.IsProtectMove = False
|
||||
Me.IsSoundMove = False
|
||||
|
||||
|
@ -55,14 +55,23 @@
|
|||
Me.AIField2 = AIField.Selfdestruct
|
||||
End Sub
|
||||
|
||||
Dim dmg As Integer
|
||||
|
||||
Public Overrides Sub PreAttack(Own As Boolean, BattleScreen As BattleScreen)
|
||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||
If Own = False Then
|
||||
p = BattleScreen.OppPokemon
|
||||
End If
|
||||
dmg = p.HP
|
||||
BattleScreen.Battle.ReduceHP(dmg, Own, Own, BattleScreen, p.GetDisplayName() & " risked everything!", "move:finalgambit")
|
||||
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(p.HP, own, own, BattleScreen, "", "move:finalgambit")
|
||||
BattleScreen.Battle.ReduceHP(p.HP, Not own, own, BattleScreen, "", "move:finalgambit")
|
||||
BattleScreen.Battle.ReduceHP(dmg, Not own, own, BattleScreen, "", "move:finalgambit")
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 100
|
||||
Me.Accuracy = 90
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Hammer Arm"
|
||||
Me.Description = "The user swings and hits with its strong and heavy fist. It lowers the user’s Speed, however."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Namespace BattleSystem.Moves.Fighting
|
||||
|
||||
Public Class HiJumpKick
|
||||
Public Class HighJumpKick
|
||||
|
||||
Inherits Attack
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
|||
Me.Accuracy = 90
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Hi Jump Kick"
|
||||
Me.Name = "High Jump Kick"
|
||||
Me.Description = "The target is attacked with a knee kick from a jump. If it misses, the user is hurt instead."
|
||||
Me.CriticalChance = 1
|
||||
Me.IsHMMove = False
|
Binary file not shown.
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 70
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Wake-Up Slap"
|
||||
Me.Description = "This attack inflicts big damage on a sleeping target. It also wakes the target up, however."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 85
|
||||
Me.Accuracy = 90
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Blaze Kick"
|
||||
Me.Description = "The user launches a kick that lands a critical hit more easily. It may also leave the target with a burn."
|
||||
Me.CriticalChance = 2
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 40
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Ember"
|
||||
Me.Description = "The target is attacked with small flames. It may also leave the target with a burn."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 65
|
||||
Me.Accuracy = 95
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Fire Fang"
|
||||
Me.Description = "The user bites with flame cloaked fangs. It may also make the target flinch or leave it burned."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 75
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Fire Punch"
|
||||
Me.Description = "The target is punched with a fiery fist. It may also leave the target with a burn."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 120
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Flare Blitz"
|
||||
Me.Description = "The user cloaks itself in fire and charges at the target. The user sustains serious damage and may leave the target burned."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 120
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Brave Bird"
|
||||
Me.Description = "The user tucks in its wings and charges from a low altitude. The user also takes serious damage."
|
||||
Me.CriticalChance = 1
|
||||
|
|
Binary file not shown.
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Defog"
|
||||
Me.Description = "A strong wind blows away the target's barriers such as Reflect or Light Screen. This also lowers the target's evasiveness."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
If Core.Random.Next(0, 100) < Me.GetEffectChance(0, own, BattleScreen) Then
|
||||
BattleScreen.Battle.InflictConfusion(Not own, own, BattleScreen, "", "move:hurrican")
|
||||
BattleScreen.Battle.InflictConfusion(Not own, own, BattleScreen, "", "move:hurricane")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Roost"
|
||||
Me.Description = "The user lands and rests its body. It restores the user's HP by up to half of its max HP."
|
||||
Me.CriticalChance = 0
|
||||
|
|
|
@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Flying
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Tailwind"
|
||||
Me.Description = "The user whips up a turbulent whirlwind that ups the Speed stat of the user and its allies for four turns."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Ghost
|
|||
Me.Power = 30
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Astonish"
|
||||
Me.Description = "The user attacks the target while shouting in a startling fashion. This may also make the target flinch."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 30
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Lick"
|
||||
Me.Description = "The target is licked with a long tongue, causing damage. It may also leave the target with paralysis."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 60
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Ominous Wind"
|
||||
Me.Description = "The user blasts the target with a gust of repulsive wind. It may also raise all the user's stats at once."
|
||||
Me.CriticalChance = 0
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 70
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Shadow Claw"
|
||||
Me.Description = "The user slashes with a sharp claw made from shadows. Critical hits land more easily."
|
||||
Me.CriticalChance = 2
|
||||
|
|
|
@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Ghost
|
|||
Me.Power = 120
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.Name = "Shadow Force"
|
||||
Me.Description = "The user disappears, then strikes the target on the next turn. This move hits even if the target protects itself."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
Me.Description = "The user releases cotton-like spores that cling to the target, harshly reducing its Speed stat."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.OneAdjacentTarget
|
||||
Me.Target = Targets.AllAdjacentFoes
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
|
Binary file not shown.
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 130
|
||||
Me.Accuracy = 90
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Leaf Storm"
|
||||
Me.Description = "The user whips up a storm of leaves around the target. The attack's recoil harshly lowers the user's Sp. Atk stat."
|
||||
Me.CriticalChance = 1
|
||||
|
|
Binary file not shown.
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 80
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Seed Bomb"
|
||||
Me.Description = "The user slams a barrage of hard-shelled seeds on the target from above."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Namespace BattleSystem.Moves.Grass
|
||||
|
||||
Public Class Seedflare
|
||||
Public Class SeedFlare
|
||||
|
||||
Inherits Attack
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 120
|
||||
Me.Accuracy = 85
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Seed Flare"
|
||||
Me.Description = "The user emits a shock wave from its body to attack its target. It may harshly lower the target's Sp. Def."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -60,11 +60,11 @@
|
|||
op = BattleScreen.OwnPokemon
|
||||
End If
|
||||
|
||||
Dim op_Attack As Integer = BattleCalculation.DetermineBattleAttack(Not own, BattleScreen)
|
||||
Dim b As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:strengthsap")
|
||||
|
||||
Dim op_Attack As Integer = BattleCalculation.DetermineBattleAttack(Not own, BattleScreen)
|
||||
Dim heal As Integer = op_Attack
|
||||
|
||||
Dim b As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:strengthsap")
|
||||
If b = True Then
|
||||
If op.Ability.Name.ToLower() = "liquid ooze" And BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
||||
BattleScreen.Battle.ReduceHP(heal, own, own, BattleScreen, "Liquid Ooze damaged " & p.GetDisplayName() & "!", "liquidooze")
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
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
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 80
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Dig"
|
||||
Me.Description = "The user burrows, then attacks on the second turn. It can also be used to exit dungeons. "
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 90
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Earth Power"
|
||||
Me.Description = "The user makes the ground under the target erupt with power. This may also lower the target's Sp. Def."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 65
|
||||
Me.Accuracy = 85
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Mud Bomb"
|
||||
Me.Description = "The user launches a hard-packed mud ball to attack. This may also lower the target's accuracy."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Sand-Attack"
|
||||
Me.Name = "Sand Attack"
|
||||
Me.Description = "Sand is hurled in the target's face, reducing its accuracy."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
Me.DisabledWhileGravity = False
|
||||
Me.UseEffectiveness = True
|
||||
Me.ImmunityAffected = False
|
||||
Me.ImmunityAffected = True
|
||||
Me.HasSecondaryEffect = False
|
||||
Me.RemovesFrozen = False
|
||||
|
||||
|
@ -53,6 +53,25 @@
|
|||
'#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 own = True Then
|
||||
If BattleScreen.FieldEffects.OppSmacked = 0 Then
|
||||
BattleScreen.FieldEffects.OppSmacked = 1
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " fell straight down."))
|
||||
End If
|
||||
Else
|
||||
If BattleScreen.FieldEffects.OwnSmacked = 0 Then
|
||||
BattleScreen.FieldEffects.OwnSmacked = 1
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " fell straight down."))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Normal
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Acupressure"
|
||||
Me.Description = "The user applies pressure to stress points, sharply boosting one of its or its allies' stats."
|
||||
Me.CriticalChance = 0
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 15
|
||||
Me.Accuracy = 85
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Barrage"
|
||||
Me.Description = "Round objects are hurled at the target to strike two to five times in a row."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -64,40 +64,50 @@
|
|||
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
|
||||
Dim a As Boolean = False
|
||||
Dim b As Boolean = False
|
||||
|
||||
If Not p.Item Is Nothing Then
|
||||
a = True
|
||||
If p.Item.IsMegaStone = True Then
|
||||
b = True
|
||||
End If
|
||||
If p.Ability.Name.ToLower() = "multitype" AndAlso p.Item.Name.ToLower().EndsWith(" plate") Then
|
||||
b = True
|
||||
End If
|
||||
If p.Ability.Name.ToLower() = "rks system" AndAlso p.Item.Name.ToLower().EndsWith(" memory") Then
|
||||
b = True
|
||||
End If
|
||||
'Giratina
|
||||
If p.Item.Name.ToLower() = "griseous orb" And p.Number = 487 Then
|
||||
b = True
|
||||
End If
|
||||
'Genesect
|
||||
If p.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then
|
||||
b = True
|
||||
End If
|
||||
If p.Item.Name.ToLower().EndsWith(" mail") = True Then
|
||||
b = True
|
||||
End If
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If op.Item Is Nothing Then
|
||||
If op.Item Is Nothing And a = True And b = False 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
|
||||
If own = True Then
|
||||
BattleScreen.FieldEffects.StolenItemIDs.Add(ItemID)
|
||||
End If
|
||||
op.Item = Item.GetItemByID(ItemID)
|
||||
End If
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
|
|
@ -26,7 +26,7 @@ Namespace BattleSystem.Moves.Normal
|
|||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = True
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = True
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 70
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Pound"
|
||||
Me.Description = "The target is physically pounded with a long tail or a foreleg, etc."
|
||||
Me.CriticalChance = 1
|
||||
|
|
Binary file not shown.
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 15
|
||||
Me.Accuracy = 85
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Double Slap"
|
||||
Me.Description = "The target is slapped repeatedly, back and forth, two to five times in a row."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 100
|
||||
Me.Accuracy = 75
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Egg Bomb"
|
||||
Me.Description = "A large egg is hurled at the target with maximum force to inflict damage."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Normal
|
|||
Me.Power = 30
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Feint"
|
||||
Me.Description = "An attack that hits a target using Protect or Detect. This also lifts the effects of those moves."
|
||||
Me.CriticalChance = 0
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 150
|
||||
Me.Accuracy = 90
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Giga Impact"
|
||||
Me.Description = "The user charges at the target using every bit of its power. The user can't move on the next turn."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 100
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
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
|
||||
|
|
|
@ -26,7 +26,7 @@ Namespace BattleSystem.Moves.Normal
|
|||
|
||||
'#SpecialDefinitions
|
||||
Me.MakesContact = False
|
||||
Me.ProtectAffected = True
|
||||
Me.ProtectAffected = False
|
||||
Me.MagicCoatAffected = True
|
||||
Me.SnatchAffected = False
|
||||
Me.MirrorMoveAffected = True
|
||||
|
|
|
@ -64,15 +64,19 @@ Namespace BattleSystem.Moves.Normal
|
|||
End If
|
||||
|
||||
If 1999 < itemID And itemID < 2016 Then
|
||||
Return 60
|
||||
Return 80
|
||||
ElseIf 2034 < itemID And itemID < 2052 Then
|
||||
Return 60
|
||||
ElseIf 2015 < itemID And itemID < 2031 Then
|
||||
Return 70
|
||||
ElseIf 2031 < itemID And itemID < 2036 Then
|
||||
Return 80
|
||||
ElseIf 2063 < itemID And itemID < 2065 Then
|
||||
Return 80
|
||||
ElseIf 2015 < itemID And itemID < 2032 Then
|
||||
Return 90
|
||||
ElseIf 2031 < itemID And itemID < 2035 Then
|
||||
Return 100
|
||||
ElseIf 2051 < itemID And itemID < 2064 Then
|
||||
Return 80
|
||||
Return 100
|
||||
ElseIf 2064 < itemID And itemID < 2067 Then
|
||||
Return 100
|
||||
Else
|
||||
Return 0
|
||||
End If
|
||||
|
@ -89,6 +93,7 @@ Namespace BattleSystem.Moves.Normal
|
|||
Return New Element(CType(p.Item, Items.Berry).Type)
|
||||
End If
|
||||
End If
|
||||
|
||||
Return New Element(Element.Types.Normal)
|
||||
End Function
|
||||
|
||||
|
@ -101,18 +106,22 @@ Namespace BattleSystem.Moves.Normal
|
|||
End If
|
||||
|
||||
If p.Item Is Nothing Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Return True
|
||||
Else
|
||||
If p.Item.isBerry = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Return True
|
||||
End If
|
||||
End If
|
||||
|
||||
If op.Ability.Name.ToLower() = "unnerve" And BattleScreen.FieldEffects.CanUseAbility(Not Own, BattleScreen) = True Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Return True
|
||||
End If
|
||||
|
||||
If BattleScreen.FieldEffects.CanUseItem(Own) = False Or BattleScreen.FieldEffects.CanUseOwnItem(Own, BattleScreen) = False Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
|
||||
Return True
|
||||
End If
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
Me.Description = "An attack that makes use of nature’s power. Its effects vary depending on the user’s environment."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
Me.Target = Targets.Self
|
||||
Me.Target = Targets.OneAdjacentTarget
|
||||
Me.Priority = 0
|
||||
Me.TimesToAttack = 1
|
||||
'#End
|
||||
|
|
Binary file not shown.
|
@ -1,6 +1,6 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class Selfdestruct
|
||||
Public Class SelfDestruct
|
||||
|
||||
Inherits Attack
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
|||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Selfdestruct"
|
||||
Me.Name = "Self-Destruct"
|
||||
Me.Description = "The user attacks everything around it by causing an explosion. The user faints upon using this move."
|
||||
Me.CriticalChance = 1
|
||||
Me.IsHMMove = False
|
|
@ -1,6 +1,6 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class SmellingSalt
|
||||
Public Class SmellingSalts
|
||||
|
||||
Inherits Attack
|
||||
|
||||
|
@ -14,8 +14,8 @@
|
|||
Me.Power = 70
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Smelling Salt"
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Smelling Salts"
|
||||
Me.Description = "This attack inflicts double damage on a target with paralysis. It also cures the target's paralysis, however."
|
||||
Me.CriticalChance = 1
|
||||
Me.IsHMMove = False
|
|
@ -1,6 +1,6 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class SmokeScreen
|
||||
Public Class Smokescreen
|
||||
|
||||
Inherits Attack
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
|||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.Name = "Smoke Screen"
|
||||
Me.Name = "Smokescreen"
|
||||
Me.Description = "The user releases an obscuring cloud of smoke or ink. It reduces the target's accuracy."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Namespace BattleSystem.Moves.Normal
|
||||
|
||||
Public Class Softboiled
|
||||
Public Class SoftBoiled
|
||||
|
||||
Inherits Attack
|
||||
|
||||
|
@ -14,8 +14,8 @@
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Softboiled"
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Soft-Boiled"
|
||||
Me.Description = "The user restores its own HP by up to half of its maximum HP. May also be used in the field to heal HP."
|
||||
Me.CriticalChance = 0
|
||||
Me.IsHMMove = False
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 50
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Struggle"
|
||||
Me.Description = "An attack that is used in desperation only if the user has no PP. It also hurts the user slightly."
|
||||
Me.CriticalChance = 0
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 0
|
||||
Me.Category = Categories.Status
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Cute
|
||||
Me.Name = "Substitute"
|
||||
Me.Description = "The user makes a copy of itself using some of its HP. The copy serves as the user’s decoy."
|
||||
Me.CriticalChance = 0
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "ViceGrip"
|
||||
Me.Name = "Vice Grip"
|
||||
Me.Description = "The target is gripped and squeezed from both sides to inflict damage."
|
||||
Me.CriticalChance = 1
|
||||
Me.IsHMMove = False
|
||||
|
|
|
@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Normal
|
|||
Me.Power = 50
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Beauty
|
||||
Me.Name = "Weather Ball"
|
||||
Me.Description = "An attack move that varies in power and type depending on the weather."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Normal
|
|||
Me.Power = 0
|
||||
Me.Accuracy = 100
|
||||
Me.Category = Categories.Special
|
||||
Me.ContestCategory = ContestCategories.Smart
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Wring Out"
|
||||
Me.Description = "The user powerfully wrings the target. The more HP the target has, the greater the move's power."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
Me.Power = 120
|
||||
Me.Accuracy = 80
|
||||
Me.Category = Categories.Physical
|
||||
Me.ContestCategory = ContestCategories.Cool
|
||||
Me.ContestCategory = ContestCategories.Tough
|
||||
Me.Name = "Gunk Shot"
|
||||
Me.Description = "The user shoots filthy garbage at the target to attack. It may also poison the target."
|
||||
Me.CriticalChance = 1
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
Me.AIField1 = AIField.Damage
|
||||
Me.AIField2 = AIField.CanPoison
|
||||
|
||||
Me.EffectChances.Add(30)
|
||||
Me.EffectChances.Add(50)
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue